diff --git a/build.go b/build.go index 5a445f8a9..bae9be432 100644 --- a/build.go +++ b/build.go @@ -198,7 +198,7 @@ type dependencyRepo struct { } var dependencyRepos = []dependencyRepo{ - {path: "protobuf", repo: "https://github.com/gogo/protobuf.git", commit: "v1.0.0"}, + {path: "protobuf", repo: "https://github.com/gogo/protobuf.git", commit: "v1.2.0"}, {path: "xdr", repo: "https://github.com/calmh/xdr.git", commit: "08e072f9cb16"}, } diff --git a/cmd/stdiscosrv/database.pb.go b/cmd/stdiscosrv/database.pb.go index acde0bef5..82bd49025 100644 --- a/cmd/stdiscosrv/database.pb.go +++ b/cmd/stdiscosrv/database.pb.go @@ -1,17 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: database.proto -/* - Package main is a generated protocol buffer package. - - It is generated from these files: - database.proto - - It has these top-level messages: - DatabaseRecord - ReplicationRecord - DatabaseAddress -*/ package main import proto "github.com/gogo/protobuf/proto" @@ -33,37 +22,121 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type DatabaseRecord struct { - Addresses []DatabaseAddress `protobuf:"bytes,1,rep,name=addresses" json:"addresses"` + Addresses []DatabaseAddress `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses"` Misses int32 `protobuf:"varint,2,opt,name=misses,proto3" json:"misses,omitempty"` Seen int64 `protobuf:"varint,3,opt,name=seen,proto3" json:"seen,omitempty"` Missed int64 `protobuf:"varint,4,opt,name=missed,proto3" json:"missed,omitempty"` } -func (m *DatabaseRecord) Reset() { *m = DatabaseRecord{} } -func (m *DatabaseRecord) String() string { return proto.CompactTextString(m) } -func (*DatabaseRecord) ProtoMessage() {} -func (*DatabaseRecord) Descriptor() ([]byte, []int) { return fileDescriptorDatabase, []int{0} } +func (m *DatabaseRecord) Reset() { *m = DatabaseRecord{} } +func (m *DatabaseRecord) String() string { return proto.CompactTextString(m) } +func (*DatabaseRecord) ProtoMessage() {} +func (*DatabaseRecord) Descriptor() ([]byte, []int) { + return fileDescriptor_database_0f49e029703a04f5, []int{0} +} +func (m *DatabaseRecord) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DatabaseRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DatabaseRecord.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 (dst *DatabaseRecord) XXX_Merge(src proto.Message) { + xxx_messageInfo_DatabaseRecord.Merge(dst, src) +} +func (m *DatabaseRecord) XXX_Size() int { + return m.Size() +} +func (m *DatabaseRecord) XXX_DiscardUnknown() { + xxx_messageInfo_DatabaseRecord.DiscardUnknown(m) +} + +var xxx_messageInfo_DatabaseRecord proto.InternalMessageInfo type ReplicationRecord struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Addresses []DatabaseAddress `protobuf:"bytes,2,rep,name=addresses" json:"addresses"` + Addresses []DatabaseAddress `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses"` Seen int64 `protobuf:"varint,3,opt,name=seen,proto3" json:"seen,omitempty"` } -func (m *ReplicationRecord) Reset() { *m = ReplicationRecord{} } -func (m *ReplicationRecord) String() string { return proto.CompactTextString(m) } -func (*ReplicationRecord) ProtoMessage() {} -func (*ReplicationRecord) Descriptor() ([]byte, []int) { return fileDescriptorDatabase, []int{1} } +func (m *ReplicationRecord) Reset() { *m = ReplicationRecord{} } +func (m *ReplicationRecord) String() string { return proto.CompactTextString(m) } +func (*ReplicationRecord) ProtoMessage() {} +func (*ReplicationRecord) Descriptor() ([]byte, []int) { + return fileDescriptor_database_0f49e029703a04f5, []int{1} +} +func (m *ReplicationRecord) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ReplicationRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ReplicationRecord.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 (dst *ReplicationRecord) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReplicationRecord.Merge(dst, src) +} +func (m *ReplicationRecord) XXX_Size() int { + return m.Size() +} +func (m *ReplicationRecord) XXX_DiscardUnknown() { + xxx_messageInfo_ReplicationRecord.DiscardUnknown(m) +} + +var xxx_messageInfo_ReplicationRecord proto.InternalMessageInfo type DatabaseAddress struct { Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` Expires int64 `protobuf:"varint,2,opt,name=expires,proto3" json:"expires,omitempty"` } -func (m *DatabaseAddress) Reset() { *m = DatabaseAddress{} } -func (m *DatabaseAddress) String() string { return proto.CompactTextString(m) } -func (*DatabaseAddress) ProtoMessage() {} -func (*DatabaseAddress) Descriptor() ([]byte, []int) { return fileDescriptorDatabase, []int{2} } +func (m *DatabaseAddress) Reset() { *m = DatabaseAddress{} } +func (m *DatabaseAddress) String() string { return proto.CompactTextString(m) } +func (*DatabaseAddress) ProtoMessage() {} +func (*DatabaseAddress) Descriptor() ([]byte, []int) { + return fileDescriptor_database_0f49e029703a04f5, []int{2} +} +func (m *DatabaseAddress) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DatabaseAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DatabaseAddress.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 (dst *DatabaseAddress) XXX_Merge(src proto.Message) { + xxx_messageInfo_DatabaseAddress.Merge(dst, src) +} +func (m *DatabaseAddress) XXX_Size() int { + return m.Size() +} +func (m *DatabaseAddress) XXX_DiscardUnknown() { + xxx_messageInfo_DatabaseAddress.DiscardUnknown(m) +} + +var xxx_messageInfo_DatabaseAddress proto.InternalMessageInfo func init() { proto.RegisterType((*DatabaseRecord)(nil), "main.DatabaseRecord") @@ -185,24 +258,6 @@ func (m *DatabaseAddress) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func encodeFixed64Database(dAtA []byte, offset int, v uint64) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - dAtA[offset+4] = uint8(v >> 32) - dAtA[offset+5] = uint8(v >> 40) - dAtA[offset+6] = uint8(v >> 48) - dAtA[offset+7] = uint8(v >> 56) - return offset + 8 -} -func encodeFixed32Database(dAtA []byte, offset int, v uint32) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - return offset + 4 -} func encodeVarintDatabase(dAtA []byte, offset int, v uint64) int { for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) @@ -213,6 +268,9 @@ func encodeVarintDatabase(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *DatabaseRecord) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Addresses) > 0 { @@ -234,6 +292,9 @@ func (m *DatabaseRecord) Size() (n int) { } func (m *ReplicationRecord) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Key) @@ -253,6 +314,9 @@ func (m *ReplicationRecord) Size() (n int) { } func (m *DatabaseAddress) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Address) @@ -748,25 +812,25 @@ var ( ErrIntOverflowDatabase = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("database.proto", fileDescriptorDatabase) } +func init() { proto.RegisterFile("database.proto", fileDescriptor_database_0f49e029703a04f5) } -var fileDescriptorDatabase = []byte{ - // 258 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4b, 0x49, 0x2c, 0x49, - 0x4c, 0x4a, 0x2c, 0x4e, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0xc9, 0x4d, 0xcc, 0xcc, - 0x93, 0x52, 0x2e, 0x4a, 0x2d, 0xc8, 0x2f, 0xd6, 0x07, 0x0b, 0x25, 0x95, 0xa6, 0xe9, 0xa7, 0xe7, - 0xa7, 0xe7, 0x83, 0x39, 0x60, 0x16, 0x44, 0xa9, 0x52, 0x3f, 0x23, 0x17, 0x9f, 0x0b, 0x54, 0x77, - 0x50, 0x6a, 0x72, 0x7e, 0x51, 0x8a, 0x90, 0x25, 0x17, 0x67, 0x62, 0x4a, 0x4a, 0x51, 0x6a, 0x71, - 0x71, 0x6a, 0xb1, 0x04, 0xa3, 0x02, 0xb3, 0x06, 0xb7, 0x91, 0xa8, 0x1e, 0xc8, 0x44, 0x3d, 0x98, - 0x42, 0x47, 0x88, 0xb4, 0x13, 0xcb, 0x89, 0x7b, 0xf2, 0x0c, 0x41, 0x08, 0xd5, 0x42, 0x62, 0x5c, - 0x6c, 0xb9, 0x99, 0x60, 0x7d, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x50, 0x9e, 0x90, 0x10, 0x17, - 0x4b, 0x71, 0x6a, 0x6a, 0x9e, 0x04, 0xb3, 0x02, 0xa3, 0x06, 0x73, 0x10, 0x98, 0x0d, 0x57, 0x9b, - 0x22, 0xc1, 0x02, 0x16, 0x85, 0xf2, 0x94, 0x4a, 0xb8, 0x04, 0x83, 0x52, 0x0b, 0x72, 0x32, 0x93, - 0x13, 0x4b, 0x32, 0xf3, 0xf3, 0xa0, 0x6e, 0x12, 0xe0, 0x62, 0xce, 0x4e, 0xad, 0x94, 0x60, 0x54, - 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0x31, 0x51, 0x5d, 0xc9, 0x44, 0x92, 0x2b, 0xb1, 0xb8, 0x46, 0xc9, - 0x95, 0x8b, 0x1f, 0x4d, 0x9f, 0x90, 0x04, 0x17, 0x3b, 0x54, 0x0f, 0xd4, 0x5e, 0x18, 0x17, 0x24, - 0x93, 0x5a, 0x51, 0x90, 0x59, 0x04, 0xf5, 0x27, 0x73, 0x10, 0x8c, 0xeb, 0x24, 0x70, 0xe2, 0xa1, - 0x1c, 0xc3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x98, 0xc4, - 0x06, 0x0e, 0x67, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x13, 0xba, 0x28, 0xc9, 0xa4, 0x01, - 0x00, 0x00, +var fileDescriptor_database_0f49e029703a04f5 = []byte{ + // 270 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x90, 0x41, 0x4a, 0xc4, 0x30, + 0x18, 0x85, 0x9b, 0x49, 0x1d, 0x99, 0x08, 0xa3, 0x06, 0x94, 0x20, 0x12, 0x4b, 0xdd, 0x74, 0xd5, + 0x01, 0x5d, 0xb9, 0x74, 0xd0, 0x0b, 0xe4, 0x06, 0xe9, 0xe4, 0x77, 0x08, 0x3a, 0x4d, 0x49, 0x2a, + 0xe8, 0x29, 0xf4, 0x58, 0x5d, 0xce, 0xd2, 0x95, 0x68, 0x7b, 0x11, 0x69, 0x26, 0x55, 0x14, 0x37, + 0xb3, 0x7b, 0xdf, 0xff, 0xbf, 0x97, 0xbc, 0x84, 0x4c, 0x95, 0xac, 0x65, 0x21, 0x1d, 0xe4, 0x95, + 0x35, 0xb5, 0xa1, 0xf1, 0x4a, 0xea, 0xf2, 0xe4, 0xdc, 0x42, 0x65, 0xdc, 0xcc, 0x8f, 0x8a, 0xc7, + 0xbb, 0xd9, 0xd2, 0x2c, 0x8d, 0x07, 0xaf, 0x36, 0xd6, 0xf4, 0x05, 0x91, 0xe9, 0x4d, 0x48, 0x0b, + 0x58, 0x18, 0xab, 0xe8, 0x15, 0x99, 0x48, 0xa5, 0x2c, 0x38, 0x07, 0x8e, 0xa1, 0x04, 0x67, 0x7b, + 0x17, 0x47, 0x79, 0x7f, 0x62, 0x3e, 0x18, 0xaf, 0x37, 0xeb, 0x79, 0xdc, 0xbc, 0x9f, 0x45, 0xe2, + 0xc7, 0x4d, 0x8f, 0xc9, 0x78, 0xa5, 0x7d, 0x6e, 0x94, 0xa0, 0x6c, 0x47, 0x04, 0xa2, 0x94, 0xc4, + 0x0e, 0xa0, 0x64, 0x38, 0x41, 0x19, 0x16, 0x5e, 0x7f, 0x7b, 0x15, 0x8b, 0xfd, 0x34, 0x50, 0x5a, + 0x93, 0x43, 0x01, 0xd5, 0x83, 0x5e, 0xc8, 0x5a, 0x9b, 0x32, 0x74, 0x3a, 0x20, 0xf8, 0x1e, 0x9e, + 0x19, 0x4a, 0x50, 0x36, 0x11, 0xbd, 0xfc, 0xdd, 0x72, 0xb4, 0x55, 0xcb, 0x7f, 0xda, 0xa4, 0xb7, + 0x64, 0xff, 0x4f, 0x8e, 0x32, 0xb2, 0x1b, 0x32, 0xe1, 0xde, 0x01, 0xfb, 0x0d, 0x3c, 0x55, 0xda, + 0x86, 0x77, 0x62, 0x31, 0xe0, 0xfc, 0xb4, 0xf9, 0xe4, 0x51, 0xd3, 0x72, 0xb4, 0x6e, 0x39, 0xfa, + 0x68, 0x39, 0x7a, 0xed, 0x78, 0xb4, 0xee, 0x78, 0xf4, 0xd6, 0xf1, 0xa8, 0x18, 0xfb, 0x3f, 0xbf, + 0xfc, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x7a, 0xa2, 0xf6, 0x1e, 0xb0, 0x01, 0x00, 0x00, } diff --git a/cmd/stdiscosrv/database.proto b/cmd/stdiscosrv/database.proto index c663b38f6..919cc601e 100644 --- a/cmd/stdiscosrv/database.proto +++ b/cmd/stdiscosrv/database.proto @@ -11,6 +11,9 @@ package main; import "repos/protobuf/gogoproto/gogo.proto"; option (gogoproto.goproto_getters_all) = false; +option (gogoproto.goproto_unkeyed_all) = false; +option (gogoproto.goproto_unrecognized_all) = false; +option (gogoproto.goproto_sizecache_all) = false; message DatabaseRecord { repeated DatabaseAddress addresses = 1 [(gogoproto.nullable) = false]; diff --git a/go.mod b/go.mod index 612aaf410..fe4d5d1b5 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/d4l3k/messagediff v1.2.1 github.com/davecgh/go-spew v1.1.1 // indirect github.com/gobwas/glob v0.0.0-20170212200151-51eb1ee00b6d - github.com/gogo/protobuf v1.0.0 + github.com/gogo/protobuf v1.2.0 github.com/golang/groupcache v0.0.0-20171101203131-84a468cf14b4 github.com/golang/protobuf v0.0.0-20171113180720-1e59b77b52bf // indirect github.com/golang/snappy v0.0.0-20170215233205-553a64147049 // indirect diff --git a/go.sum b/go.sum index 0a4c913b0..b2f7cdec7 100644 --- a/go.sum +++ b/go.sum @@ -18,8 +18,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gobwas/glob v0.0.0-20170212200151-51eb1ee00b6d h1:IngNQgbqr5ZOU0exk395Szrvkzes9Ilk1fmJfkw7d+M= github.com/gobwas/glob v0.0.0-20170212200151-51eb1ee00b6d/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/gogo/protobuf v1.0.0 h1:2jyBKDKU/8v3v2xVR2PtiWQviFUyiaGk2rpfyFT8rTM= -github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0 h1:xU6/SpYbvkNYiptHJYEDRseDLvYE7wSqhYYNy0QSUzI= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/golang/groupcache v0.0.0-20171101203131-84a468cf14b4 h1:6o8aP0LGMKzo3NzwhhX6EJsiJ3ejmj+9yA/3p8Fjjlw= github.com/golang/groupcache v0.0.0-20171101203131-84a468cf14b4/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/protobuf v0.0.0-20171113180720-1e59b77b52bf h1:pFr/u+m8QUBMW/itAczltF3guNRAL7XDs5tD3f6nSD0= @@ -39,8 +39,6 @@ github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/minio/sha256-simd v0.0.0-20171213220625-ad98a36ba0da h1:tazA5y1hWYJO8VSYbU36yBhXeIvruLXMUKu6WBtcJck= -github.com/minio/sha256-simd v0.0.0-20171213220625-ad98a36ba0da/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= github.com/minio/sha256-simd v0.0.0-20190104231041-e529fa194128 h1:hEDK0Zao06IGlO1ada0FLT2g3KEot2vCqFp8gdvJqzM= github.com/minio/sha256-simd v0.0.0-20190104231041-e529fa194128/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= github.com/onsi/ginkgo v0.0.0-20171221013426-6c46eb8334b3 h1:ZN7kHmC0iunA+4UPmERwsuMQan4lUnntO6WX6H1jOO8= diff --git a/lib/db/structs.pb.go b/lib/db/structs.pb.go index 3f98fe8e4..6997e1e99 100644 --- a/lib/db/structs.pb.go +++ b/lib/db/structs.pb.go @@ -1,19 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: structs.proto -/* - Package db is a generated protocol buffer package. - - It is generated from these files: - structs.proto - - It has these top-level messages: - FileVersion - VersionList - FileInfoTruncated - Counts - CountsSet -*/ package db import proto "github.com/gogo/protobuf/proto" @@ -38,23 +25,79 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type FileVersion struct { - Version protocol.Vector `protobuf:"bytes,1,opt,name=version" json:"version"` + Version protocol.Vector `protobuf:"bytes,1,opt,name=version,proto3" json:"version"` Device []byte `protobuf:"bytes,2,opt,name=device,proto3" json:"device,omitempty"` Invalid bool `protobuf:"varint,3,opt,name=invalid,proto3" json:"invalid,omitempty"` } -func (m *FileVersion) Reset() { *m = FileVersion{} } -func (m *FileVersion) String() string { return proto.CompactTextString(m) } -func (*FileVersion) ProtoMessage() {} -func (*FileVersion) Descriptor() ([]byte, []int) { return fileDescriptorStructs, []int{0} } - -type VersionList struct { - Versions []FileVersion `protobuf:"bytes,1,rep,name=versions" json:"versions"` +func (m *FileVersion) Reset() { *m = FileVersion{} } +func (m *FileVersion) String() string { return proto.CompactTextString(m) } +func (*FileVersion) ProtoMessage() {} +func (*FileVersion) Descriptor() ([]byte, []int) { + return fileDescriptor_structs_6691fa5e0cf0de4d, []int{0} +} +func (m *FileVersion) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FileVersion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FileVersion.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 (dst *FileVersion) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileVersion.Merge(dst, src) +} +func (m *FileVersion) XXX_Size() int { + return m.ProtoSize() +} +func (m *FileVersion) XXX_DiscardUnknown() { + xxx_messageInfo_FileVersion.DiscardUnknown(m) } -func (m *VersionList) Reset() { *m = VersionList{} } -func (*VersionList) ProtoMessage() {} -func (*VersionList) Descriptor() ([]byte, []int) { return fileDescriptorStructs, []int{1} } +var xxx_messageInfo_FileVersion proto.InternalMessageInfo + +type VersionList struct { + Versions []FileVersion `protobuf:"bytes,1,rep,name=versions,proto3" json:"versions"` +} + +func (m *VersionList) Reset() { *m = VersionList{} } +func (*VersionList) ProtoMessage() {} +func (*VersionList) Descriptor() ([]byte, []int) { + return fileDescriptor_structs_6691fa5e0cf0de4d, []int{1} +} +func (m *VersionList) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *VersionList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_VersionList.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 (dst *VersionList) XXX_Merge(src proto.Message) { + xxx_messageInfo_VersionList.Merge(dst, src) +} +func (m *VersionList) XXX_Size() int { + return m.ProtoSize() +} +func (m *VersionList) XXX_DiscardUnknown() { + xxx_messageInfo_VersionList.DiscardUnknown(m) +} + +var xxx_messageInfo_VersionList proto.InternalMessageInfo // Must be the same as FileInfo but without the blocks field type FileInfoTruncated struct { @@ -68,7 +111,7 @@ type FileInfoTruncated struct { Deleted bool `protobuf:"varint,6,opt,name=deleted,proto3" json:"deleted,omitempty"` RawInvalid bool `protobuf:"varint,7,opt,name=invalid,proto3" json:"invalid,omitempty"` NoPermissions bool `protobuf:"varint,8,opt,name=no_permissions,json=noPermissions,proto3" json:"no_permissions,omitempty"` - Version protocol.Vector `protobuf:"bytes,9,opt,name=version" json:"version"` + Version protocol.Vector `protobuf:"bytes,9,opt,name=version,proto3" json:"version"` Sequence int64 `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"` RawBlockSize int32 `protobuf:"varint,13,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"` // repeated BlockInfo Blocks = 16 @@ -77,9 +120,37 @@ type FileInfoTruncated struct { LocalFlags uint32 `protobuf:"varint,1000,opt,name=local_flags,json=localFlags,proto3" json:"local_flags,omitempty"` } -func (m *FileInfoTruncated) Reset() { *m = FileInfoTruncated{} } -func (*FileInfoTruncated) ProtoMessage() {} -func (*FileInfoTruncated) Descriptor() ([]byte, []int) { return fileDescriptorStructs, []int{2} } +func (m *FileInfoTruncated) Reset() { *m = FileInfoTruncated{} } +func (*FileInfoTruncated) ProtoMessage() {} +func (*FileInfoTruncated) Descriptor() ([]byte, []int) { + return fileDescriptor_structs_6691fa5e0cf0de4d, []int{2} +} +func (m *FileInfoTruncated) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FileInfoTruncated) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FileInfoTruncated.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 (dst *FileInfoTruncated) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileInfoTruncated.Merge(dst, src) +} +func (m *FileInfoTruncated) XXX_Size() int { + return m.ProtoSize() +} +func (m *FileInfoTruncated) XXX_DiscardUnknown() { + xxx_messageInfo_FileInfoTruncated.DiscardUnknown(m) +} + +var xxx_messageInfo_FileInfoTruncated proto.InternalMessageInfo // For each folder and device we keep one of these to track the current // counts and sequence. We also keep one for the global state of the folder. @@ -94,20 +165,76 @@ type Counts struct { LocalFlags uint32 `protobuf:"varint,18,opt,name=localFlags,proto3" json:"localFlags,omitempty"` } -func (m *Counts) Reset() { *m = Counts{} } -func (m *Counts) String() string { return proto.CompactTextString(m) } -func (*Counts) ProtoMessage() {} -func (*Counts) Descriptor() ([]byte, []int) { return fileDescriptorStructs, []int{3} } +func (m *Counts) Reset() { *m = Counts{} } +func (m *Counts) String() string { return proto.CompactTextString(m) } +func (*Counts) ProtoMessage() {} +func (*Counts) Descriptor() ([]byte, []int) { + return fileDescriptor_structs_6691fa5e0cf0de4d, []int{3} +} +func (m *Counts) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Counts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Counts.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 (dst *Counts) XXX_Merge(src proto.Message) { + xxx_messageInfo_Counts.Merge(dst, src) +} +func (m *Counts) XXX_Size() int { + return m.ProtoSize() +} +func (m *Counts) XXX_DiscardUnknown() { + xxx_messageInfo_Counts.DiscardUnknown(m) +} + +var xxx_messageInfo_Counts proto.InternalMessageInfo type CountsSet struct { - Counts []Counts `protobuf:"bytes,1,rep,name=counts" json:"counts"` + Counts []Counts `protobuf:"bytes,1,rep,name=counts,proto3" json:"counts"` Created int64 `protobuf:"varint,2,opt,name=created,proto3" json:"created,omitempty"` } -func (m *CountsSet) Reset() { *m = CountsSet{} } -func (m *CountsSet) String() string { return proto.CompactTextString(m) } -func (*CountsSet) ProtoMessage() {} -func (*CountsSet) Descriptor() ([]byte, []int) { return fileDescriptorStructs, []int{4} } +func (m *CountsSet) Reset() { *m = CountsSet{} } +func (m *CountsSet) String() string { return proto.CompactTextString(m) } +func (*CountsSet) ProtoMessage() {} +func (*CountsSet) Descriptor() ([]byte, []int) { + return fileDescriptor_structs_6691fa5e0cf0de4d, []int{4} +} +func (m *CountsSet) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CountsSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CountsSet.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 (dst *CountsSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_CountsSet.Merge(dst, src) +} +func (m *CountsSet) XXX_Size() int { + return m.ProtoSize() +} +func (m *CountsSet) XXX_DiscardUnknown() { + xxx_messageInfo_CountsSet.DiscardUnknown(m) +} + +var xxx_messageInfo_CountsSet proto.InternalMessageInfo func init() { proto.RegisterType((*FileVersion)(nil), "db.FileVersion") @@ -403,24 +530,6 @@ func (m *CountsSet) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func encodeFixed64Structs(dAtA []byte, offset int, v uint64) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - dAtA[offset+4] = uint8(v >> 32) - dAtA[offset+5] = uint8(v >> 40) - dAtA[offset+6] = uint8(v >> 48) - dAtA[offset+7] = uint8(v >> 56) - return offset + 8 -} -func encodeFixed32Structs(dAtA []byte, offset int, v uint32) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - return offset + 4 -} func encodeVarintStructs(dAtA []byte, offset int, v uint64) int { for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) @@ -431,6 +540,9 @@ func encodeVarintStructs(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *FileVersion) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Version.ProtoSize() @@ -446,6 +558,9 @@ func (m *FileVersion) ProtoSize() (n int) { } func (m *VersionList) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Versions) > 0 { @@ -458,6 +573,9 @@ func (m *VersionList) ProtoSize() (n int) { } func (m *FileInfoTruncated) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -510,6 +628,9 @@ func (m *FileInfoTruncated) ProtoSize() (n int) { } func (m *Counts) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Files != 0 { @@ -541,6 +662,9 @@ func (m *Counts) ProtoSize() (n int) { } func (m *CountsSet) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Counts) > 0 { @@ -1568,50 +1692,51 @@ var ( ErrIntOverflowStructs = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("structs.proto", fileDescriptorStructs) } +func init() { proto.RegisterFile("structs.proto", fileDescriptor_structs_6691fa5e0cf0de4d) } -var fileDescriptorStructs = []byte{ - // 672 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x4d, 0x6f, 0xdb, 0x38, - 0x10, 0xb5, 0x62, 0xf9, 0x6b, 0x6c, 0x67, 0x13, 0x22, 0x08, 0x04, 0x03, 0x6b, 0x0b, 0x5e, 0x2c, - 0x20, 0xec, 0x41, 0xde, 0x26, 0xb7, 0xf6, 0xa6, 0x06, 0x01, 0x0c, 0x14, 0x6d, 0x41, 0x07, 0x39, - 0x15, 0x30, 0xf4, 0x41, 0x3b, 0x44, 0x64, 0xd1, 0x11, 0xe9, 0x04, 0xca, 0x2f, 0xe9, 0x31, 0x3f, - 0x27, 0xc7, 0x9e, 0x7b, 0x30, 0x52, 0xb7, 0x87, 0xfe, 0x8c, 0x82, 0xa4, 0xa4, 0xa8, 0x39, 0xf5, - 0x36, 0xef, 0x71, 0xc8, 0x79, 0x33, 0xf3, 0x08, 0x7d, 0x2e, 0xd2, 0x4d, 0x28, 0xb8, 0xbb, 0x4e, - 0x99, 0x60, 0x68, 0x2f, 0x0a, 0x06, 0xff, 0xa4, 0x64, 0xcd, 0xf8, 0x44, 0x11, 0xc1, 0x66, 0x31, - 0x59, 0xb2, 0x25, 0x53, 0x40, 0x45, 0x3a, 0x71, 0x70, 0x1c, 0xd3, 0x40, 0xa7, 0x84, 0x2c, 0x9e, - 0x04, 0x64, 0xad, 0xf9, 0xf1, 0x0d, 0x74, 0xcf, 0x69, 0x4c, 0x2e, 0x49, 0xca, 0x29, 0x4b, 0xd0, - 0xff, 0xd0, 0xba, 0xd5, 0xa1, 0x65, 0xd8, 0x86, 0xd3, 0x3d, 0x39, 0x70, 0x8b, 0x4b, 0xee, 0x25, - 0x09, 0x05, 0x4b, 0x3d, 0xf3, 0x71, 0x3b, 0xaa, 0xe1, 0x22, 0x0d, 0x1d, 0x43, 0x33, 0x22, 0xb7, - 0x34, 0x24, 0xd6, 0x9e, 0x6d, 0x38, 0x3d, 0x9c, 0x23, 0x64, 0x41, 0x8b, 0x26, 0xb7, 0x7e, 0x4c, - 0x23, 0xab, 0x6e, 0x1b, 0x4e, 0x1b, 0x17, 0x70, 0x7c, 0x0e, 0xdd, 0xbc, 0xdc, 0x3b, 0xca, 0x05, - 0x7a, 0x05, 0xed, 0xfc, 0x2d, 0x6e, 0x19, 0x76, 0xdd, 0xe9, 0x9e, 0xfc, 0xe5, 0x46, 0x81, 0x5b, - 0x51, 0x95, 0x97, 0x2c, 0xd3, 0x5e, 0x9b, 0x9f, 0x1f, 0x46, 0xb5, 0xf1, 0x93, 0x09, 0x87, 0x32, - 0x6b, 0x9a, 0x2c, 0xd8, 0x45, 0xba, 0x49, 0x42, 0x5f, 0x90, 0x08, 0x21, 0x30, 0x13, 0x7f, 0x45, - 0x94, 0xfc, 0x0e, 0x56, 0x31, 0xfa, 0x0f, 0x4c, 0x91, 0xad, 0xb5, 0xc2, 0xfd, 0x93, 0xe3, 0xe7, - 0x96, 0xca, 0xeb, 0xd9, 0x9a, 0x60, 0x95, 0x23, 0xef, 0x73, 0x7a, 0x4f, 0x94, 0xe8, 0x3a, 0x56, - 0x31, 0xb2, 0xa1, 0xbb, 0x26, 0xe9, 0x8a, 0x72, 0xad, 0xd2, 0xb4, 0x0d, 0xa7, 0x8f, 0xab, 0x14, - 0xfa, 0x1b, 0x60, 0xc5, 0x22, 0xba, 0xa0, 0x24, 0x9a, 0x73, 0xab, 0xa1, 0xee, 0x76, 0x0a, 0x66, - 0x26, 0x87, 0x11, 0x91, 0x98, 0x08, 0x12, 0x59, 0x4d, 0x3d, 0x8c, 0x1c, 0x22, 0xe7, 0x79, 0x4c, - 0x2d, 0x79, 0xe2, 0xed, 0xef, 0xb6, 0x23, 0xc0, 0xfe, 0xdd, 0x54, 0xb3, 0xe5, 0xd8, 0xd0, 0xbf, - 0xb0, 0x9f, 0xb0, 0x79, 0x55, 0x47, 0x5b, 0x3d, 0xd5, 0x4f, 0xd8, 0xc7, 0x8a, 0x92, 0xca, 0x06, - 0x3b, 0x7f, 0xb6, 0xc1, 0x01, 0xb4, 0x39, 0xb9, 0xd9, 0x90, 0x24, 0x24, 0x16, 0x28, 0xe5, 0x25, - 0x46, 0x23, 0xe8, 0x96, 0x7d, 0x25, 0xdc, 0xea, 0xda, 0x86, 0xd3, 0xc0, 0x65, 0xab, 0xef, 0x39, - 0xfa, 0x54, 0x49, 0x08, 0x32, 0xab, 0x67, 0x1b, 0x8e, 0xe9, 0xbd, 0x91, 0x05, 0xbe, 0x6e, 0x47, - 0xa7, 0x4b, 0x2a, 0xae, 0x36, 0x81, 0x1b, 0xb2, 0xd5, 0x84, 0x67, 0x49, 0x28, 0xae, 0x68, 0xb2, - 0xac, 0x44, 0x55, 0x4f, 0xba, 0xb3, 0x2b, 0x96, 0x8a, 0xe9, 0xd9, 0xf3, 0xeb, 0x5e, 0x86, 0x26, - 0x00, 0x41, 0xcc, 0xc2, 0xeb, 0xb9, 0x5a, 0x49, 0x5f, 0x56, 0xf7, 0x0e, 0x76, 0xdb, 0x51, 0x0f, - 0xfb, 0x77, 0x9e, 0x3c, 0x98, 0xd1, 0x7b, 0x82, 0x3b, 0x41, 0x11, 0xca, 0x21, 0xf1, 0x6c, 0x15, - 0xd3, 0xe4, 0x7a, 0x2e, 0xfc, 0x74, 0x49, 0x84, 0x75, 0xa8, 0x7c, 0xd0, 0xcf, 0xd9, 0x0b, 0x45, - 0xca, 0x85, 0xc6, 0x2c, 0xf4, 0xe3, 0xf9, 0x22, 0xf6, 0x97, 0xdc, 0xfa, 0xd9, 0x52, 0x1b, 0x05, - 0xc5, 0x9d, 0x4b, 0x2a, 0xb7, 0xd8, 0x0f, 0x03, 0x9a, 0x6f, 0xd9, 0x26, 0x11, 0x1c, 0x1d, 0x41, - 0x63, 0x41, 0x63, 0xc2, 0x95, 0xb1, 0x1a, 0x58, 0x03, 0xf9, 0x50, 0x44, 0x53, 0x35, 0x56, 0x4a, - 0xb8, 0x32, 0x58, 0x03, 0x57, 0x29, 0x35, 0x5d, 0x5d, 0x9b, 0x2b, 0x4f, 0x35, 0x70, 0x89, 0xab, - 0xb6, 0x30, 0xd5, 0x51, 0x69, 0x8b, 0x23, 0x68, 0x04, 0x99, 0x20, 0x85, 0x95, 0x34, 0xf8, 0x6d, - 0x53, 0xcd, 0x17, 0x9b, 0x1a, 0x40, 0x5b, 0xff, 0xbc, 0xe9, 0x99, 0xea, 0xb9, 0x87, 0x4b, 0x8c, - 0x86, 0x50, 0x69, 0xcd, 0x42, 0x2f, 0x9b, 0x1d, 0x7f, 0x80, 0x8e, 0xee, 0x72, 0x46, 0x04, 0x72, - 0xa0, 0x19, 0x2a, 0x90, 0xff, 0x46, 0x90, 0xbf, 0x51, 0x1f, 0xe7, 0xce, 0xc9, 0xcf, 0xa5, 0xfc, - 0x30, 0x25, 0xf2, 0xd7, 0xa9, 0xc6, 0xeb, 0xb8, 0x80, 0xde, 0xd1, 0xe3, 0xb7, 0x61, 0xed, 0x71, - 0x37, 0x34, 0xbe, 0xec, 0x86, 0xc6, 0xd3, 0x6e, 0x58, 0x7b, 0xf8, 0x3e, 0x34, 0x82, 0xa6, 0xda, - 0xf5, 0xe9, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x08, 0x8f, 0xd2, 0xdf, 0xc4, 0x04, 0x00, 0x00, +var fileDescriptor_structs_6691fa5e0cf0de4d = []byte{ + // 684 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x4f, 0x6b, 0xdb, 0x4e, + 0x10, 0xb5, 0x62, 0xf9, 0xdf, 0xd8, 0xce, 0x2f, 0x59, 0x42, 0x10, 0x86, 0x9f, 0x2c, 0x5c, 0x0a, + 0xa2, 0x07, 0xbb, 0x4d, 0x6e, 0xed, 0xcd, 0x0d, 0x01, 0x43, 0x69, 0xcb, 0x3a, 0xe4, 0x54, 0x30, + 0xfa, 0xb3, 0x76, 0x96, 0xc8, 0x5a, 0x47, 0xbb, 0x4e, 0x70, 0x3e, 0x45, 0x8f, 0x3d, 0xe6, 0xe3, + 0xe4, 0x98, 0x63, 0xe9, 0xc1, 0xa4, 0x76, 0x0f, 0xfd, 0x18, 0x65, 0x77, 0x25, 0x45, 0xcd, 0xa9, + 0xb7, 0x79, 0x6f, 0x67, 0x77, 0xde, 0xcc, 0xbc, 0x85, 0x36, 0x17, 0xc9, 0x32, 0x10, 0xbc, 0xbf, + 0x48, 0x98, 0x60, 0x68, 0x27, 0xf4, 0x3b, 0x2f, 0x12, 0xb2, 0x60, 0x7c, 0xa0, 0x08, 0x7f, 0x39, + 0x1d, 0xcc, 0xd8, 0x8c, 0x29, 0xa0, 0x22, 0x9d, 0xd8, 0x39, 0x8c, 0xa8, 0xaf, 0x53, 0x02, 0x16, + 0x0d, 0x7c, 0xb2, 0xd0, 0x7c, 0xef, 0x0a, 0x9a, 0xa7, 0x34, 0x22, 0xe7, 0x24, 0xe1, 0x94, 0xc5, + 0xe8, 0x35, 0xd4, 0xae, 0x75, 0x68, 0x19, 0x8e, 0xe1, 0x36, 0x8f, 0xf6, 0xfa, 0xd9, 0xa5, 0xfe, + 0x39, 0x09, 0x04, 0x4b, 0x86, 0xe6, 0xfd, 0xba, 0x5b, 0xc2, 0x59, 0x1a, 0x3a, 0x84, 0x6a, 0x48, + 0xae, 0x69, 0x40, 0xac, 0x1d, 0xc7, 0x70, 0x5b, 0x38, 0x45, 0xc8, 0x82, 0x1a, 0x8d, 0xaf, 0xbd, + 0x88, 0x86, 0x56, 0xd9, 0x31, 0xdc, 0x3a, 0xce, 0x60, 0xef, 0x14, 0x9a, 0x69, 0xb9, 0x0f, 0x94, + 0x0b, 0xf4, 0x06, 0xea, 0xe9, 0x5b, 0xdc, 0x32, 0x9c, 0xb2, 0xdb, 0x3c, 0xfa, 0xaf, 0x1f, 0xfa, + 0xfd, 0x82, 0xaa, 0xb4, 0x64, 0x9e, 0xf6, 0xd6, 0xfc, 0x76, 0xd7, 0x2d, 0xf5, 0x1e, 0x4d, 0xd8, + 0x97, 0x59, 0xa3, 0x78, 0xca, 0xce, 0x92, 0x65, 0x1c, 0x78, 0x82, 0x84, 0x08, 0x81, 0x19, 0x7b, + 0x73, 0xa2, 0xe4, 0x37, 0xb0, 0x8a, 0xd1, 0x2b, 0x30, 0xc5, 0x6a, 0xa1, 0x15, 0xee, 0x1e, 0x1d, + 0x3e, 0xb5, 0x94, 0x5f, 0x5f, 0x2d, 0x08, 0x56, 0x39, 0xf2, 0x3e, 0xa7, 0xb7, 0x44, 0x89, 0x2e, + 0x63, 0x15, 0x23, 0x07, 0x9a, 0x0b, 0x92, 0xcc, 0x29, 0xd7, 0x2a, 0x4d, 0xc7, 0x70, 0xdb, 0xb8, + 0x48, 0xa1, 0xff, 0x01, 0xe6, 0x2c, 0xa4, 0x53, 0x4a, 0xc2, 0x09, 0xb7, 0x2a, 0xea, 0x6e, 0x23, + 0x63, 0xc6, 0x72, 0x18, 0x21, 0x89, 0x88, 0x20, 0xa1, 0x55, 0xd5, 0xc3, 0x48, 0x21, 0x72, 0x9f, + 0xc6, 0x54, 0x93, 0x27, 0xc3, 0xdd, 0xcd, 0xba, 0x0b, 0xd8, 0xbb, 0x19, 0x69, 0x36, 0x1f, 0x1b, + 0x7a, 0x09, 0xbb, 0x31, 0x9b, 0x14, 0x75, 0xd4, 0xd5, 0x53, 0xed, 0x98, 0x7d, 0x2e, 0x28, 0x29, + 0x6c, 0xb0, 0xf1, 0x6f, 0x1b, 0xec, 0x40, 0x9d, 0x93, 0xab, 0x25, 0x89, 0x03, 0x62, 0x81, 0x52, + 0x9e, 0x63, 0xd4, 0x85, 0x66, 0xde, 0x57, 0xcc, 0xad, 0xa6, 0x63, 0xb8, 0x15, 0x9c, 0xb7, 0xfa, + 0x91, 0xa3, 0x2f, 0x85, 0x04, 0x7f, 0x65, 0xb5, 0x1c, 0xc3, 0x35, 0x87, 0xef, 0x64, 0x81, 0x1f, + 0xeb, 0xee, 0xf1, 0x8c, 0x8a, 0x8b, 0xa5, 0xdf, 0x0f, 0xd8, 0x7c, 0xc0, 0x57, 0x71, 0x20, 0x2e, + 0x68, 0x3c, 0x2b, 0x44, 0x45, 0x4f, 0xf6, 0xc7, 0x17, 0x2c, 0x11, 0xa3, 0x93, 0xa7, 0xd7, 0x87, + 0x2b, 0x34, 0x00, 0xf0, 0x23, 0x16, 0x5c, 0x4e, 0xd4, 0x4a, 0xda, 0xb2, 0xfa, 0x70, 0x6f, 0xb3, + 0xee, 0xb6, 0xb0, 0x77, 0x33, 0x94, 0x07, 0x63, 0x7a, 0x4b, 0x70, 0xc3, 0xcf, 0x42, 0x39, 0x24, + 0xbe, 0x9a, 0x47, 0x34, 0xbe, 0x9c, 0x08, 0x2f, 0x99, 0x11, 0x61, 0xed, 0x2b, 0x1f, 0xb4, 0x53, + 0xf6, 0x4c, 0x91, 0x72, 0xa1, 0x11, 0x0b, 0xbc, 0x68, 0x32, 0x8d, 0xbc, 0x19, 0xb7, 0x7e, 0xd7, + 0xd4, 0x46, 0x41, 0x71, 0xa7, 0x92, 0x4a, 0x2d, 0xf6, 0xcb, 0x80, 0xea, 0x7b, 0xb6, 0x8c, 0x05, + 0x47, 0x07, 0x50, 0x99, 0xd2, 0x88, 0x70, 0x65, 0xac, 0x0a, 0xd6, 0x40, 0x3e, 0x14, 0xd2, 0x44, + 0x8d, 0x95, 0x12, 0xae, 0x0c, 0x56, 0xc1, 0x45, 0x4a, 0x4d, 0x57, 0xd7, 0xe6, 0xca, 0x53, 0x15, + 0x9c, 0xe3, 0xa2, 0x2d, 0x4c, 0x75, 0x94, 0xdb, 0xe2, 0x00, 0x2a, 0xfe, 0x4a, 0x90, 0xcc, 0x4a, + 0x1a, 0xfc, 0xb5, 0xa9, 0xea, 0xb3, 0x4d, 0x75, 0xa0, 0xae, 0x7f, 0xde, 0xe8, 0x44, 0xf5, 0xdc, + 0xc2, 0x39, 0x46, 0x36, 0x14, 0x5a, 0xb3, 0xd0, 0xf3, 0x66, 0x7b, 0x9f, 0xa0, 0xa1, 0xbb, 0x1c, + 0x13, 0x81, 0x5c, 0xa8, 0x06, 0x0a, 0xa4, 0xbf, 0x11, 0xe4, 0x6f, 0xd4, 0xc7, 0xa9, 0x73, 0xd2, + 0x73, 0x29, 0x3f, 0x48, 0x88, 0xfc, 0x75, 0xaa, 0xf1, 0x32, 0xce, 0xe0, 0xd0, 0xb9, 0xff, 0x69, + 0x97, 0xee, 0x37, 0xb6, 0xf1, 0xb0, 0xb1, 0x8d, 0xc7, 0x8d, 0x5d, 0xfa, 0xba, 0xb5, 0x4b, 0x77, + 0x5b, 0xdb, 0x78, 0xd8, 0xda, 0xa5, 0xef, 0x5b, 0xbb, 0xe4, 0x57, 0xd5, 0xde, 0x8f, 0xff, 0x04, + 0x00, 0x00, 0xff, 0xff, 0x26, 0xe4, 0x54, 0xca, 0xd0, 0x04, 0x00, 0x00, } diff --git a/lib/db/structs.proto b/lib/db/structs.proto index eb82a26b9..adc074e2d 100644 --- a/lib/db/structs.proto +++ b/lib/db/structs.proto @@ -8,6 +8,9 @@ import "lib/protocol/bep.proto"; option (gogoproto.goproto_getters_all) = false; option (gogoproto.sizer_all) = false; option (gogoproto.protosizer_all) = true; +option (gogoproto.goproto_unkeyed_all) = false; +option (gogoproto.goproto_unrecognized_all) = false; +option (gogoproto.goproto_sizecache_all) = false; message FileVersion { protocol.Vector version = 1 [(gogoproto.nullable) = false]; diff --git a/lib/discover/local.pb.go b/lib/discover/local.pb.go index 50b9abae8..f1dce95e0 100644 --- a/lib/discover/local.pb.go +++ b/lib/discover/local.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: local.proto -/* - Package discover is a generated protocol buffer package. - - It is generated from these files: - local.proto - - It has these top-level messages: - Announce -*/ package discover import proto "github.com/gogo/protobuf/proto" @@ -34,14 +25,42 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type Announce struct { ID github_com_syncthing_syncthing_lib_protocol.DeviceID `protobuf:"bytes,1,opt,name=id,proto3,customtype=github.com/syncthing/syncthing/lib/protocol.DeviceID" json:"id"` - Addresses []string `protobuf:"bytes,2,rep,name=addresses" json:"addresses,omitempty"` + Addresses []string `protobuf:"bytes,2,rep,name=addresses,proto3" json:"addresses,omitempty"` InstanceID int64 `protobuf:"varint,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` } -func (m *Announce) Reset() { *m = Announce{} } -func (m *Announce) String() string { return proto.CompactTextString(m) } -func (*Announce) ProtoMessage() {} -func (*Announce) Descriptor() ([]byte, []int) { return fileDescriptorLocal, []int{0} } +func (m *Announce) Reset() { *m = Announce{} } +func (m *Announce) String() string { return proto.CompactTextString(m) } +func (*Announce) ProtoMessage() {} +func (*Announce) Descriptor() ([]byte, []int) { + return fileDescriptor_local_652287d527eec38f, []int{0} +} +func (m *Announce) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Announce) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Announce.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 (dst *Announce) XXX_Merge(src proto.Message) { + xxx_messageInfo_Announce.Merge(dst, src) +} +func (m *Announce) XXX_Size() int { + return m.ProtoSize() +} +func (m *Announce) XXX_DiscardUnknown() { + xxx_messageInfo_Announce.DiscardUnknown(m) +} + +var xxx_messageInfo_Announce proto.InternalMessageInfo func init() { proto.RegisterType((*Announce)(nil), "discover.Announce") @@ -92,24 +111,6 @@ func (m *Announce) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func encodeFixed64Local(dAtA []byte, offset int, v uint64) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - dAtA[offset+4] = uint8(v >> 32) - dAtA[offset+5] = uint8(v >> 40) - dAtA[offset+6] = uint8(v >> 48) - dAtA[offset+7] = uint8(v >> 56) - return offset + 8 -} -func encodeFixed32Local(dAtA []byte, offset int, v uint32) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - return offset + 4 -} func encodeVarintLocal(dAtA []byte, offset int, v uint64) int { for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) @@ -120,6 +121,9 @@ func encodeVarintLocal(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Announce) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.ID.ProtoSize() @@ -382,24 +386,24 @@ var ( ErrIntOverflowLocal = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("local.proto", fileDescriptorLocal) } +func init() { proto.RegisterFile("local.proto", fileDescriptor_local_652287d527eec38f) } -var fileDescriptorLocal = []byte{ - // 241 bytes of a gzipped FileDescriptorProto +var fileDescriptor_local_652287d527eec38f = []byte{ + // 252 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8e, 0x31, 0x4e, 0x84, 0x40, - 0x14, 0x86, 0x19, 0x48, 0xcc, 0xee, 0xac, 0xb1, 0x20, 0x16, 0xc4, 0x98, 0x81, 0x68, 0x43, 0x05, - 0x85, 0x5e, 0x40, 0x42, 0x33, 0x2d, 0x17, 0x30, 0x30, 0xf3, 0x64, 0x5f, 0x82, 0xf3, 0x36, 0x0c, - 0x6c, 0xe2, 0x6d, 0xbc, 0x80, 0xf7, 0xa0, 0xb4, 0xb6, 0x20, 0x3a, 0x5e, 0xc4, 0x04, 0x34, 0x6e, - 0xf7, 0xbd, 0x2f, 0x5f, 0xf2, 0x7e, 0xbe, 0xeb, 0x48, 0xd5, 0x5d, 0x76, 0xe8, 0x69, 0xa0, 0x70, - 0xa3, 0xd1, 0x2a, 0x3a, 0x42, 0x7f, 0x75, 0xdb, 0xc3, 0x81, 0x6c, 0xbe, 0xe8, 0x66, 0x7c, 0xca, - 0x5b, 0x6a, 0x69, 0x39, 0x16, 0x5a, 0xf3, 0x9b, 0x37, 0xc6, 0x37, 0x0f, 0xc6, 0xd0, 0x68, 0x14, - 0x84, 0x15, 0xf7, 0x51, 0x47, 0x2c, 0x61, 0xe9, 0x79, 0x51, 0x4c, 0x73, 0xec, 0x7d, 0xcc, 0xf1, - 0x7d, 0x8b, 0xc3, 0x7e, 0x6c, 0x32, 0x45, 0xcf, 0xb9, 0x7d, 0x31, 0x6a, 0xd8, 0xa3, 0x69, 0x4f, - 0xa8, 0xc3, 0x66, 0x7d, 0xa1, 0xa8, 0xcb, 0x4a, 0x38, 0xa2, 0x02, 0x59, 0xba, 0x39, 0xf6, 0x65, - 0x59, 0xf9, 0xa8, 0xc3, 0x6b, 0xbe, 0xad, 0xb5, 0xee, 0xc1, 0x5a, 0xb0, 0x91, 0x9f, 0x04, 0xe9, - 0xb6, 0xfa, 0x17, 0x61, 0xce, 0x77, 0x68, 0xec, 0x50, 0x1b, 0x05, 0x8f, 0xa8, 0xa3, 0x20, 0x61, - 0x69, 0x50, 0x5c, 0xb8, 0x39, 0xe6, 0xf2, 0x57, 0xcb, 0xb2, 0xe2, 0x7f, 0x89, 0xd4, 0xc5, 0xe5, - 0xf4, 0x25, 0xbc, 0xc9, 0x09, 0xf6, 0xee, 0x04, 0xfb, 0x74, 0xc2, 0x7b, 0xfd, 0x16, 0xac, 0x39, - 0x5b, 0x16, 0xdc, 0xfd, 0x04, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x5a, 0xdf, 0xed, 0x0a, 0x01, 0x00, - 0x00, + 0x14, 0x86, 0x67, 0x20, 0x31, 0xbb, 0xb3, 0xc6, 0x82, 0x8a, 0x18, 0x33, 0x10, 0x6d, 0xa8, 0xa0, + 0xd0, 0x0b, 0x48, 0x68, 0xa6, 0xe5, 0x02, 0x06, 0x66, 0x46, 0xf6, 0x25, 0x38, 0x6f, 0xc3, 0xc0, + 0x26, 0xde, 0xc2, 0x23, 0x78, 0x01, 0xef, 0x41, 0xb9, 0xa5, 0xb1, 0x20, 0x3a, 0x5c, 0xc4, 0x04, + 0x34, 0xda, 0x7d, 0xef, 0xcb, 0x97, 0xbc, 0x9f, 0xed, 0x5a, 0x94, 0x55, 0x9b, 0x1e, 0x3a, 0xec, + 0x31, 0xd8, 0x28, 0xb0, 0x12, 0x8f, 0xba, 0xbb, 0xbc, 0xe9, 0xf4, 0x01, 0x6d, 0xb6, 0xe8, 0x7a, + 0x78, 0xcc, 0x1a, 0x6c, 0x70, 0x39, 0x16, 0x5a, 0xf3, 0xeb, 0x37, 0xca, 0x36, 0xf7, 0xc6, 0xe0, + 0x60, 0xa4, 0x0e, 0x4a, 0xe6, 0x81, 0x0a, 0x69, 0x4c, 0x93, 0xf3, 0x3c, 0x1f, 0xa7, 0x88, 0x7c, + 0x4c, 0xd1, 0x5d, 0x03, 0xfd, 0x7e, 0xa8, 0x53, 0x89, 0x4f, 0x99, 0x7d, 0x36, 0xb2, 0xdf, 0x83, + 0x69, 0xfe, 0x51, 0x0b, 0xf5, 0xfa, 0x42, 0x62, 0x9b, 0x16, 0xfa, 0x08, 0x52, 0x8b, 0xc2, 0x4d, + 0x91, 0x27, 0x8a, 0xd2, 0x03, 0x15, 0x5c, 0xb1, 0x6d, 0xa5, 0x54, 0xa7, 0xad, 0xd5, 0x36, 0xf4, + 0x62, 0x3f, 0xd9, 0x96, 0x7f, 0x22, 0xc8, 0xd8, 0x0e, 0x8c, 0xed, 0x2b, 0x23, 0xf5, 0x03, 0xa8, + 0xd0, 0x8f, 0x69, 0xe2, 0xe7, 0x17, 0x6e, 0x8a, 0x98, 0xf8, 0xd1, 0xa2, 0x28, 0xd9, 0x6f, 0x22, + 0x54, 0x1e, 0x8f, 0x5f, 0x9c, 0x8c, 0x8e, 0xd3, 0x93, 0xe3, 0xf4, 0xd3, 0x71, 0xf2, 0x32, 0x73, + 0xf2, 0x3a, 0x73, 0x7a, 0x9a, 0x39, 0x79, 0x9f, 0x39, 0xa9, 0xcf, 0x96, 0x35, 0xb7, 0xdf, 0x01, + 0x00, 0x00, 0xff, 0xff, 0xbc, 0x46, 0xaf, 0x1d, 0x16, 0x01, 0x00, 0x00, } diff --git a/lib/discover/local.proto b/lib/discover/local.proto index 8028fbdb0..70c48f57e 100644 --- a/lib/discover/local.proto +++ b/lib/discover/local.proto @@ -7,6 +7,9 @@ import "repos/protobuf/gogoproto/gogo.proto"; option (gogoproto.goproto_getters_all) = false; option (gogoproto.sizer_all) = false; option (gogoproto.protosizer_all) = true; +option (gogoproto.goproto_unkeyed_all) = false; +option (gogoproto.goproto_unrecognized_all) = false; +option (gogoproto.goproto_sizecache_all) = false; message Announce { bytes id = 1 [(gogoproto.customname) = "ID", (gogoproto.customtype) = "github.com/syncthing/syncthing/lib/protocol.DeviceID", (gogoproto.nullable) = false]; diff --git a/lib/protocol/bep.pb.go b/lib/protocol/bep.pb.go index 8ff8e5143..d3fbd3289 100644 --- a/lib/protocol/bep.pb.go +++ b/lib/protocol/bep.pb.go @@ -1,31 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: bep.proto -/* - Package protocol is a generated protocol buffer package. - - It is generated from these files: - bep.proto - - It has these top-level messages: - Hello - Header - ClusterConfig - Folder - Device - Index - IndexUpdate - FileInfo - BlockInfo - Vector - Counter - Request - Response - DownloadProgress - FileDownloadProgressUpdate - Ping - Close -*/ package protocol import proto "github.com/gogo/protobuf/proto" @@ -83,7 +58,9 @@ var MessageType_value = map[string]int32{ func (x MessageType) String() string { return proto.EnumName(MessageType_name, int32(x)) } -func (MessageType) EnumDescriptor() ([]byte, []int) { return fileDescriptorBep, []int{0} } +func (MessageType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{0} +} type MessageCompression int32 @@ -104,7 +81,9 @@ var MessageCompression_value = map[string]int32{ func (x MessageCompression) String() string { return proto.EnumName(MessageCompression_name, int32(x)) } -func (MessageCompression) EnumDescriptor() ([]byte, []int) { return fileDescriptorBep, []int{1} } +func (MessageCompression) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{1} +} type Compression int32 @@ -128,15 +107,17 @@ var Compression_value = map[string]int32{ func (x Compression) String() string { return proto.EnumName(Compression_name, int32(x)) } -func (Compression) EnumDescriptor() ([]byte, []int) { return fileDescriptorBep, []int{2} } +func (Compression) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{2} +} type FileInfoType int32 const ( FileInfoTypeFile FileInfoType = 0 FileInfoTypeDirectory FileInfoType = 1 - FileInfoTypeDeprecatedSymlinkFile FileInfoType = 2 - FileInfoTypeDeprecatedSymlinkDirectory FileInfoType = 3 + FileInfoTypeDeprecatedSymlinkFile FileInfoType = 2 // Deprecated: Do not use. + FileInfoTypeDeprecatedSymlinkDirectory FileInfoType = 3 // Deprecated: Do not use. FileInfoTypeSymlink FileInfoType = 4 ) @@ -158,7 +139,9 @@ var FileInfoType_value = map[string]int32{ func (x FileInfoType) String() string { return proto.EnumName(FileInfoType_name, int32(x)) } -func (FileInfoType) EnumDescriptor() ([]byte, []int) { return fileDescriptorBep, []int{3} } +func (FileInfoType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{3} +} type ErrorCode int32 @@ -185,7 +168,9 @@ var ErrorCode_value = map[string]int32{ func (x ErrorCode) String() string { return proto.EnumName(ErrorCode_name, int32(x)) } -func (ErrorCode) EnumDescriptor() ([]byte, []int) { return fileDescriptorBep, []int{4} } +func (ErrorCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{4} +} type FileDownloadProgressUpdateType int32 @@ -207,7 +192,7 @@ func (x FileDownloadProgressUpdateType) String() string { return proto.EnumName(FileDownloadProgressUpdateType_name, int32(x)) } func (FileDownloadProgressUpdateType) EnumDescriptor() ([]byte, []int) { - return fileDescriptorBep, []int{5} + return fileDescriptor_bep_83d45b003aedf660, []int{5} } type Hello struct { @@ -216,29 +201,113 @@ type Hello struct { ClientVersion string `protobuf:"bytes,3,opt,name=client_version,json=clientVersion,proto3" json:"client_version,omitempty"` } -func (m *Hello) Reset() { *m = Hello{} } -func (m *Hello) String() string { return proto.CompactTextString(m) } -func (*Hello) ProtoMessage() {} -func (*Hello) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{0} } +func (m *Hello) Reset() { *m = Hello{} } +func (m *Hello) String() string { return proto.CompactTextString(m) } +func (*Hello) ProtoMessage() {} +func (*Hello) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{0} +} +func (m *Hello) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Hello) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Hello.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 (dst *Hello) XXX_Merge(src proto.Message) { + xxx_messageInfo_Hello.Merge(dst, src) +} +func (m *Hello) XXX_Size() int { + return m.ProtoSize() +} +func (m *Hello) XXX_DiscardUnknown() { + xxx_messageInfo_Hello.DiscardUnknown(m) +} + +var xxx_messageInfo_Hello proto.InternalMessageInfo type Header struct { Type MessageType `protobuf:"varint,1,opt,name=type,proto3,enum=protocol.MessageType" json:"type,omitempty"` Compression MessageCompression `protobuf:"varint,2,opt,name=compression,proto3,enum=protocol.MessageCompression" json:"compression,omitempty"` } -func (m *Header) Reset() { *m = Header{} } -func (m *Header) String() string { return proto.CompactTextString(m) } -func (*Header) ProtoMessage() {} -func (*Header) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{1} } - -type ClusterConfig struct { - Folders []Folder `protobuf:"bytes,1,rep,name=folders" json:"folders"` +func (m *Header) Reset() { *m = Header{} } +func (m *Header) String() string { return proto.CompactTextString(m) } +func (*Header) ProtoMessage() {} +func (*Header) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{1} +} +func (m *Header) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Header.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 (dst *Header) XXX_Merge(src proto.Message) { + xxx_messageInfo_Header.Merge(dst, src) +} +func (m *Header) XXX_Size() int { + return m.ProtoSize() +} +func (m *Header) XXX_DiscardUnknown() { + xxx_messageInfo_Header.DiscardUnknown(m) } -func (m *ClusterConfig) Reset() { *m = ClusterConfig{} } -func (m *ClusterConfig) String() string { return proto.CompactTextString(m) } -func (*ClusterConfig) ProtoMessage() {} -func (*ClusterConfig) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{2} } +var xxx_messageInfo_Header proto.InternalMessageInfo + +type ClusterConfig struct { + Folders []Folder `protobuf:"bytes,1,rep,name=folders,proto3" json:"folders"` +} + +func (m *ClusterConfig) Reset() { *m = ClusterConfig{} } +func (m *ClusterConfig) String() string { return proto.CompactTextString(m) } +func (*ClusterConfig) ProtoMessage() {} +func (*ClusterConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{2} +} +func (m *ClusterConfig) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ClusterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ClusterConfig.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 (dst *ClusterConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_ClusterConfig.Merge(dst, src) +} +func (m *ClusterConfig) XXX_Size() int { + return m.ProtoSize() +} +func (m *ClusterConfig) XXX_DiscardUnknown() { + xxx_messageInfo_ClusterConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_ClusterConfig proto.InternalMessageInfo type Folder struct { ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -248,18 +317,46 @@ type Folder struct { IgnoreDelete bool `protobuf:"varint,5,opt,name=ignore_delete,json=ignoreDelete,proto3" json:"ignore_delete,omitempty"` DisableTempIndexes bool `protobuf:"varint,6,opt,name=disable_temp_indexes,json=disableTempIndexes,proto3" json:"disable_temp_indexes,omitempty"` Paused bool `protobuf:"varint,7,opt,name=paused,proto3" json:"paused,omitempty"` - Devices []Device `protobuf:"bytes,16,rep,name=devices" json:"devices"` + Devices []Device `protobuf:"bytes,16,rep,name=devices,proto3" json:"devices"` } -func (m *Folder) Reset() { *m = Folder{} } -func (m *Folder) String() string { return proto.CompactTextString(m) } -func (*Folder) ProtoMessage() {} -func (*Folder) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{3} } +func (m *Folder) Reset() { *m = Folder{} } +func (m *Folder) String() string { return proto.CompactTextString(m) } +func (*Folder) ProtoMessage() {} +func (*Folder) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{3} +} +func (m *Folder) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Folder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Folder.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 (dst *Folder) XXX_Merge(src proto.Message) { + xxx_messageInfo_Folder.Merge(dst, src) +} +func (m *Folder) XXX_Size() int { + return m.ProtoSize() +} +func (m *Folder) XXX_DiscardUnknown() { + xxx_messageInfo_Folder.DiscardUnknown(m) +} + +var xxx_messageInfo_Folder proto.InternalMessageInfo type Device struct { ID DeviceID `protobuf:"bytes,1,opt,name=id,proto3,customtype=DeviceID" json:"id"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Addresses []string `protobuf:"bytes,3,rep,name=addresses" json:"addresses,omitempty"` + Addresses []string `protobuf:"bytes,3,rep,name=addresses,proto3" json:"addresses,omitempty"` Compression Compression `protobuf:"varint,4,opt,name=compression,proto3,enum=protocol.Compression" json:"compression,omitempty"` CertName string `protobuf:"bytes,5,opt,name=cert_name,json=certName,proto3" json:"cert_name,omitempty"` MaxSequence int64 `protobuf:"varint,6,opt,name=max_sequence,json=maxSequence,proto3" json:"max_sequence,omitempty"` @@ -268,30 +365,114 @@ type Device struct { SkipIntroductionRemovals bool `protobuf:"varint,9,opt,name=skip_introduction_removals,json=skipIntroductionRemovals,proto3" json:"skip_introduction_removals,omitempty"` } -func (m *Device) Reset() { *m = Device{} } -func (m *Device) String() string { return proto.CompactTextString(m) } -func (*Device) ProtoMessage() {} -func (*Device) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{4} } +func (m *Device) Reset() { *m = Device{} } +func (m *Device) String() string { return proto.CompactTextString(m) } +func (*Device) ProtoMessage() {} +func (*Device) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{4} +} +func (m *Device) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Device.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 (dst *Device) XXX_Merge(src proto.Message) { + xxx_messageInfo_Device.Merge(dst, src) +} +func (m *Device) XXX_Size() int { + return m.ProtoSize() +} +func (m *Device) XXX_DiscardUnknown() { + xxx_messageInfo_Device.DiscardUnknown(m) +} + +var xxx_messageInfo_Device proto.InternalMessageInfo type Index struct { Folder string `protobuf:"bytes,1,opt,name=folder,proto3" json:"folder,omitempty"` - Files []FileInfo `protobuf:"bytes,2,rep,name=files" json:"files"` + Files []FileInfo `protobuf:"bytes,2,rep,name=files,proto3" json:"files"` } -func (m *Index) Reset() { *m = Index{} } -func (m *Index) String() string { return proto.CompactTextString(m) } -func (*Index) ProtoMessage() {} -func (*Index) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{5} } +func (m *Index) Reset() { *m = Index{} } +func (m *Index) String() string { return proto.CompactTextString(m) } +func (*Index) ProtoMessage() {} +func (*Index) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{5} +} +func (m *Index) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Index) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Index.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 (dst *Index) XXX_Merge(src proto.Message) { + xxx_messageInfo_Index.Merge(dst, src) +} +func (m *Index) XXX_Size() int { + return m.ProtoSize() +} +func (m *Index) XXX_DiscardUnknown() { + xxx_messageInfo_Index.DiscardUnknown(m) +} + +var xxx_messageInfo_Index proto.InternalMessageInfo type IndexUpdate struct { Folder string `protobuf:"bytes,1,opt,name=folder,proto3" json:"folder,omitempty"` - Files []FileInfo `protobuf:"bytes,2,rep,name=files" json:"files"` + Files []FileInfo `protobuf:"bytes,2,rep,name=files,proto3" json:"files"` } -func (m *IndexUpdate) Reset() { *m = IndexUpdate{} } -func (m *IndexUpdate) String() string { return proto.CompactTextString(m) } -func (*IndexUpdate) ProtoMessage() {} -func (*IndexUpdate) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{6} } +func (m *IndexUpdate) Reset() { *m = IndexUpdate{} } +func (m *IndexUpdate) String() string { return proto.CompactTextString(m) } +func (*IndexUpdate) ProtoMessage() {} +func (*IndexUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{6} +} +func (m *IndexUpdate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IndexUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IndexUpdate.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 (dst *IndexUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_IndexUpdate.Merge(dst, src) +} +func (m *IndexUpdate) XXX_Size() int { + return m.ProtoSize() +} +func (m *IndexUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_IndexUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_IndexUpdate proto.InternalMessageInfo type FileInfo struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` @@ -304,10 +485,10 @@ type FileInfo struct { Deleted bool `protobuf:"varint,6,opt,name=deleted,proto3" json:"deleted,omitempty"` RawInvalid bool `protobuf:"varint,7,opt,name=invalid,proto3" json:"invalid,omitempty"` NoPermissions bool `protobuf:"varint,8,opt,name=no_permissions,json=noPermissions,proto3" json:"no_permissions,omitempty"` - Version Vector `protobuf:"bytes,9,opt,name=version" json:"version"` + Version Vector `protobuf:"bytes,9,opt,name=version,proto3" json:"version"` Sequence int64 `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"` RawBlockSize int32 `protobuf:"varint,13,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"` - Blocks []BlockInfo `protobuf:"bytes,16,rep,name=Blocks" json:"Blocks"` + Blocks []BlockInfo `protobuf:"bytes,16,rep,name=Blocks,proto3" json:"Blocks"` SymlinkTarget string `protobuf:"bytes,17,opt,name=symlink_target,json=symlinkTarget,proto3" json:"symlink_target,omitempty"` // The local_flags fields stores flags that are relevant to the local // host only. It is not part of the protocol, doesn't get sent or @@ -316,9 +497,37 @@ type FileInfo struct { LocalFlags uint32 `protobuf:"varint,1000,opt,name=local_flags,json=localFlags,proto3" json:"local_flags,omitempty"` } -func (m *FileInfo) Reset() { *m = FileInfo{} } -func (*FileInfo) ProtoMessage() {} -func (*FileInfo) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{7} } +func (m *FileInfo) Reset() { *m = FileInfo{} } +func (*FileInfo) ProtoMessage() {} +func (*FileInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{7} +} +func (m *FileInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FileInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FileInfo.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 (dst *FileInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileInfo.Merge(dst, src) +} +func (m *FileInfo) XXX_Size() int { + return m.ProtoSize() +} +func (m *FileInfo) XXX_DiscardUnknown() { + xxx_messageInfo_FileInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_FileInfo proto.InternalMessageInfo type BlockInfo struct { Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` @@ -327,28 +536,112 @@ type BlockInfo struct { WeakHash uint32 `protobuf:"varint,4,opt,name=weak_hash,json=weakHash,proto3" json:"weak_hash,omitempty"` } -func (m *BlockInfo) Reset() { *m = BlockInfo{} } -func (*BlockInfo) ProtoMessage() {} -func (*BlockInfo) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{8} } - -type Vector struct { - Counters []Counter `protobuf:"bytes,1,rep,name=counters" json:"counters"` +func (m *BlockInfo) Reset() { *m = BlockInfo{} } +func (*BlockInfo) ProtoMessage() {} +func (*BlockInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{8} +} +func (m *BlockInfo) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BlockInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BlockInfo.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 (dst *BlockInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockInfo.Merge(dst, src) +} +func (m *BlockInfo) XXX_Size() int { + return m.ProtoSize() +} +func (m *BlockInfo) XXX_DiscardUnknown() { + xxx_messageInfo_BlockInfo.DiscardUnknown(m) } -func (m *Vector) Reset() { *m = Vector{} } -func (m *Vector) String() string { return proto.CompactTextString(m) } -func (*Vector) ProtoMessage() {} -func (*Vector) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{9} } +var xxx_messageInfo_BlockInfo proto.InternalMessageInfo + +type Vector struct { + Counters []Counter `protobuf:"bytes,1,rep,name=counters,proto3" json:"counters"` +} + +func (m *Vector) Reset() { *m = Vector{} } +func (m *Vector) String() string { return proto.CompactTextString(m) } +func (*Vector) ProtoMessage() {} +func (*Vector) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{9} +} +func (m *Vector) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Vector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Vector.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 (dst *Vector) XXX_Merge(src proto.Message) { + xxx_messageInfo_Vector.Merge(dst, src) +} +func (m *Vector) XXX_Size() int { + return m.ProtoSize() +} +func (m *Vector) XXX_DiscardUnknown() { + xxx_messageInfo_Vector.DiscardUnknown(m) +} + +var xxx_messageInfo_Vector proto.InternalMessageInfo type Counter struct { ID ShortID `protobuf:"varint,1,opt,name=id,proto3,customtype=ShortID" json:"id"` Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` } -func (m *Counter) Reset() { *m = Counter{} } -func (m *Counter) String() string { return proto.CompactTextString(m) } -func (*Counter) ProtoMessage() {} -func (*Counter) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{10} } +func (m *Counter) Reset() { *m = Counter{} } +func (m *Counter) String() string { return proto.CompactTextString(m) } +func (*Counter) ProtoMessage() {} +func (*Counter) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{10} +} +func (m *Counter) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Counter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Counter.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 (dst *Counter) XXX_Merge(src proto.Message) { + xxx_messageInfo_Counter.Merge(dst, src) +} +func (m *Counter) XXX_Size() int { + return m.ProtoSize() +} +func (m *Counter) XXX_DiscardUnknown() { + xxx_messageInfo_Counter.DiscardUnknown(m) +} + +var xxx_messageInfo_Counter proto.InternalMessageInfo type Request struct { ID int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` @@ -361,10 +654,38 @@ type Request struct { WeakHash uint32 `protobuf:"varint,8,opt,name=weak_hash,json=weakHash,proto3" json:"weak_hash,omitempty"` } -func (m *Request) Reset() { *m = Request{} } -func (m *Request) String() string { return proto.CompactTextString(m) } -func (*Request) ProtoMessage() {} -func (*Request) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{11} } +func (m *Request) Reset() { *m = Request{} } +func (m *Request) String() string { return proto.CompactTextString(m) } +func (*Request) ProtoMessage() {} +func (*Request) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{11} +} +func (m *Request) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Request.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 (dst *Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_Request.Merge(dst, src) +} +func (m *Request) XXX_Size() int { + return m.ProtoSize() +} +func (m *Request) XXX_DiscardUnknown() { + xxx_messageInfo_Request.DiscardUnknown(m) +} + +var xxx_messageInfo_Request proto.InternalMessageInfo type Response struct { ID int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` @@ -372,49 +693,189 @@ type Response struct { Code ErrorCode `protobuf:"varint,3,opt,name=code,proto3,enum=protocol.ErrorCode" json:"code,omitempty"` } -func (m *Response) Reset() { *m = Response{} } -func (m *Response) String() string { return proto.CompactTextString(m) } -func (*Response) ProtoMessage() {} -func (*Response) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{12} } +func (m *Response) Reset() { *m = Response{} } +func (m *Response) String() string { return proto.CompactTextString(m) } +func (*Response) ProtoMessage() {} +func (*Response) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{12} +} +func (m *Response) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Response.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 (dst *Response) XXX_Merge(src proto.Message) { + xxx_messageInfo_Response.Merge(dst, src) +} +func (m *Response) XXX_Size() int { + return m.ProtoSize() +} +func (m *Response) XXX_DiscardUnknown() { + xxx_messageInfo_Response.DiscardUnknown(m) +} + +var xxx_messageInfo_Response proto.InternalMessageInfo type DownloadProgress struct { Folder string `protobuf:"bytes,1,opt,name=folder,proto3" json:"folder,omitempty"` - Updates []FileDownloadProgressUpdate `protobuf:"bytes,2,rep,name=updates" json:"updates"` + Updates []FileDownloadProgressUpdate `protobuf:"bytes,2,rep,name=updates,proto3" json:"updates"` } -func (m *DownloadProgress) Reset() { *m = DownloadProgress{} } -func (m *DownloadProgress) String() string { return proto.CompactTextString(m) } -func (*DownloadProgress) ProtoMessage() {} -func (*DownloadProgress) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{13} } +func (m *DownloadProgress) Reset() { *m = DownloadProgress{} } +func (m *DownloadProgress) String() string { return proto.CompactTextString(m) } +func (*DownloadProgress) ProtoMessage() {} +func (*DownloadProgress) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{13} +} +func (m *DownloadProgress) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DownloadProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DownloadProgress.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 (dst *DownloadProgress) XXX_Merge(src proto.Message) { + xxx_messageInfo_DownloadProgress.Merge(dst, src) +} +func (m *DownloadProgress) XXX_Size() int { + return m.ProtoSize() +} +func (m *DownloadProgress) XXX_DiscardUnknown() { + xxx_messageInfo_DownloadProgress.DiscardUnknown(m) +} + +var xxx_messageInfo_DownloadProgress proto.InternalMessageInfo type FileDownloadProgressUpdate struct { UpdateType FileDownloadProgressUpdateType `protobuf:"varint,1,opt,name=update_type,json=updateType,proto3,enum=protocol.FileDownloadProgressUpdateType" json:"update_type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Version Vector `protobuf:"bytes,3,opt,name=version" json:"version"` - BlockIndexes []int32 `protobuf:"varint,4,rep,name=block_indexes,json=blockIndexes" json:"block_indexes,omitempty"` + Version Vector `protobuf:"bytes,3,opt,name=version,proto3" json:"version"` + BlockIndexes []int32 `protobuf:"varint,4,rep,name=block_indexes,json=blockIndexes,proto3" json:"block_indexes,omitempty"` } -func (m *FileDownloadProgressUpdate) Reset() { *m = FileDownloadProgressUpdate{} } -func (m *FileDownloadProgressUpdate) String() string { return proto.CompactTextString(m) } -func (*FileDownloadProgressUpdate) ProtoMessage() {} -func (*FileDownloadProgressUpdate) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{14} } +func (m *FileDownloadProgressUpdate) Reset() { *m = FileDownloadProgressUpdate{} } +func (m *FileDownloadProgressUpdate) String() string { return proto.CompactTextString(m) } +func (*FileDownloadProgressUpdate) ProtoMessage() {} +func (*FileDownloadProgressUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{14} +} +func (m *FileDownloadProgressUpdate) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FileDownloadProgressUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FileDownloadProgressUpdate.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 (dst *FileDownloadProgressUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileDownloadProgressUpdate.Merge(dst, src) +} +func (m *FileDownloadProgressUpdate) XXX_Size() int { + return m.ProtoSize() +} +func (m *FileDownloadProgressUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_FileDownloadProgressUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_FileDownloadProgressUpdate proto.InternalMessageInfo type Ping struct { } -func (m *Ping) Reset() { *m = Ping{} } -func (m *Ping) String() string { return proto.CompactTextString(m) } -func (*Ping) ProtoMessage() {} -func (*Ping) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{15} } +func (m *Ping) Reset() { *m = Ping{} } +func (m *Ping) String() string { return proto.CompactTextString(m) } +func (*Ping) ProtoMessage() {} +func (*Ping) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{15} +} +func (m *Ping) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Ping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Ping.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 (dst *Ping) XXX_Merge(src proto.Message) { + xxx_messageInfo_Ping.Merge(dst, src) +} +func (m *Ping) XXX_Size() int { + return m.ProtoSize() +} +func (m *Ping) XXX_DiscardUnknown() { + xxx_messageInfo_Ping.DiscardUnknown(m) +} + +var xxx_messageInfo_Ping proto.InternalMessageInfo type Close struct { Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` } -func (m *Close) Reset() { *m = Close{} } -func (m *Close) String() string { return proto.CompactTextString(m) } -func (*Close) ProtoMessage() {} -func (*Close) Descriptor() ([]byte, []int) { return fileDescriptorBep, []int{16} } +func (m *Close) Reset() { *m = Close{} } +func (m *Close) String() string { return proto.CompactTextString(m) } +func (*Close) ProtoMessage() {} +func (*Close) Descriptor() ([]byte, []int) { + return fileDescriptor_bep_83d45b003aedf660, []int{16} +} +func (m *Close) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Close) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Close.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 (dst *Close) XXX_Merge(src proto.Message) { + xxx_messageInfo_Close.Merge(dst, src) +} +func (m *Close) XXX_Size() int { + return m.ProtoSize() +} +func (m *Close) XXX_DiscardUnknown() { + xxx_messageInfo_Close.DiscardUnknown(m) +} + +var xxx_messageInfo_Close proto.InternalMessageInfo func init() { proto.RegisterType((*Hello)(nil), "protocol.Hello") @@ -1239,24 +1700,6 @@ func (m *Close) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func encodeFixed64Bep(dAtA []byte, offset int, v uint64) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - dAtA[offset+4] = uint8(v >> 32) - dAtA[offset+5] = uint8(v >> 40) - dAtA[offset+6] = uint8(v >> 48) - dAtA[offset+7] = uint8(v >> 56) - return offset + 8 -} -func encodeFixed32Bep(dAtA []byte, offset int, v uint32) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - return offset + 4 -} func encodeVarintBep(dAtA []byte, offset int, v uint64) int { for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) @@ -1267,6 +1710,9 @@ func encodeVarintBep(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Hello) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.DeviceName) @@ -1285,6 +1731,9 @@ func (m *Hello) ProtoSize() (n int) { } func (m *Header) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Type != 0 { @@ -1297,6 +1746,9 @@ func (m *Header) ProtoSize() (n int) { } func (m *ClusterConfig) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Folders) > 0 { @@ -1309,6 +1761,9 @@ func (m *ClusterConfig) ProtoSize() (n int) { } func (m *Folder) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.ID) @@ -1344,6 +1799,9 @@ func (m *Folder) ProtoSize() (n int) { } func (m *Device) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.ID.ProtoSize() @@ -1381,6 +1839,9 @@ func (m *Device) ProtoSize() (n int) { } func (m *Index) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Folder) @@ -1397,6 +1858,9 @@ func (m *Index) ProtoSize() (n int) { } func (m *IndexUpdate) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Folder) @@ -1413,6 +1877,9 @@ func (m *IndexUpdate) ProtoSize() (n int) { } func (m *FileInfo) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Name) @@ -1471,6 +1938,9 @@ func (m *FileInfo) ProtoSize() (n int) { } func (m *BlockInfo) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Offset != 0 { @@ -1490,6 +1960,9 @@ func (m *BlockInfo) ProtoSize() (n int) { } func (m *Vector) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Counters) > 0 { @@ -1502,6 +1975,9 @@ func (m *Vector) ProtoSize() (n int) { } func (m *Counter) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ID != 0 { @@ -1514,6 +1990,9 @@ func (m *Counter) ProtoSize() (n int) { } func (m *Request) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ID != 0 { @@ -1547,6 +2026,9 @@ func (m *Request) ProtoSize() (n int) { } func (m *Response) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ID != 0 { @@ -1563,6 +2045,9 @@ func (m *Response) ProtoSize() (n int) { } func (m *DownloadProgress) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Folder) @@ -1579,6 +2064,9 @@ func (m *DownloadProgress) ProtoSize() (n int) { } func (m *FileDownloadProgressUpdate) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.UpdateType != 0 { @@ -1599,12 +2087,18 @@ func (m *FileDownloadProgressUpdate) ProtoSize() (n int) { } func (m *Ping) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l return n } func (m *Close) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Reason) @@ -3975,6 +4469,17 @@ func (m *FileDownloadProgressUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.BlockIndexes) == 0 { + m.BlockIndexes = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -4251,120 +4756,121 @@ var ( ErrIntOverflowBep = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("bep.proto", fileDescriptorBep) } +func init() { proto.RegisterFile("bep.proto", fileDescriptor_bep_83d45b003aedf660) } -var fileDescriptorBep = []byte{ - // 1787 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x73, 0xdb, 0xc6, - 0x15, 0x17, 0x48, 0x90, 0x04, 0x1f, 0x29, 0x05, 0xda, 0xd8, 0x2a, 0x8a, 0x28, 0x24, 0x4c, 0xdb, - 0xb1, 0xa2, 0x49, 0x6d, 0x37, 0x49, 0xdb, 0x69, 0xa7, 0xed, 0x0c, 0xff, 0x40, 0x32, 0xa7, 0x32, - 0xa8, 0x2e, 0x29, 0xa7, 0xce, 0xa1, 0x18, 0x88, 0x58, 0x4a, 0x18, 0x83, 0x58, 0x16, 0x00, 0x25, - 0x33, 0x1f, 0x81, 0x9f, 0xa0, 0x17, 0xce, 0x64, 0xa6, 0xa7, 0x7e, 0x13, 0x1f, 0xd3, 0x1e, 0x7a, - 0xe8, 0x41, 0xd3, 0xa8, 0x97, 0x1c, 0xfb, 0x09, 0x3a, 0x9d, 0xdd, 0x05, 0x48, 0x50, 0xb2, 0x33, - 0x39, 0xf4, 0x84, 0xdd, 0xf7, 0x7e, 0xbb, 0x8b, 0xf7, 0x7b, 0xbf, 0xf7, 0x76, 0xa1, 0x7c, 0x4a, - 0x26, 0x8f, 0x27, 0x21, 0x8d, 0x29, 0x52, 0xf8, 0x67, 0x48, 0x7d, 0xfd, 0x7e, 0x48, 0x26, 0x34, - 0x7a, 0xc2, 0xe7, 0xa7, 0xd3, 0xd1, 0x93, 0x33, 0x7a, 0x46, 0xf9, 0x84, 0x8f, 0x04, 0xbc, 0x31, - 0x81, 0xc2, 0x33, 0xe2, 0xfb, 0x14, 0xd5, 0xa1, 0xe2, 0x92, 0x0b, 0x6f, 0x48, 0xec, 0xc0, 0x19, - 0x13, 0x4d, 0x32, 0xa4, 0xbd, 0x32, 0x06, 0x61, 0xb2, 0x9c, 0x31, 0x61, 0x80, 0xa1, 0xef, 0x91, - 0x20, 0x16, 0x80, 0x9c, 0x00, 0x08, 0x13, 0x07, 0x3c, 0x84, 0xad, 0x04, 0x70, 0x41, 0xc2, 0xc8, - 0xa3, 0x81, 0x96, 0xe7, 0x98, 0x4d, 0x61, 0x7d, 0x21, 0x8c, 0x8d, 0x08, 0x8a, 0xcf, 0x88, 0xe3, - 0x92, 0x10, 0x7d, 0x0c, 0x72, 0x3c, 0x9b, 0x88, 0xb3, 0xb6, 0x3e, 0xbd, 0xfb, 0x38, 0xfd, 0xf3, - 0xc7, 0xcf, 0x49, 0x14, 0x39, 0x67, 0x64, 0x30, 0x9b, 0x10, 0xcc, 0x21, 0xe8, 0xb7, 0x50, 0x19, - 0xd2, 0xf1, 0x24, 0x24, 0x11, 0xdf, 0x38, 0xc7, 0x57, 0xec, 0xde, 0x5a, 0xd1, 0x5e, 0x61, 0x70, - 0x76, 0x41, 0xa3, 0x09, 0x9b, 0x6d, 0x7f, 0x1a, 0xc5, 0x24, 0x6c, 0xd3, 0x60, 0xe4, 0x9d, 0xa1, - 0xa7, 0x50, 0x1a, 0x51, 0xdf, 0x25, 0x61, 0xa4, 0x49, 0x46, 0x7e, 0xaf, 0xf2, 0xa9, 0xba, 0xda, - 0xec, 0x80, 0x3b, 0x5a, 0xf2, 0x9b, 0xab, 0xfa, 0x06, 0x4e, 0x61, 0x8d, 0xbf, 0xe4, 0xa0, 0x28, - 0x3c, 0x68, 0x07, 0x72, 0x9e, 0x2b, 0x28, 0x6a, 0x15, 0xaf, 0xaf, 0xea, 0xb9, 0x6e, 0x07, 0xe7, - 0x3c, 0x17, 0xdd, 0x81, 0x82, 0xef, 0x9c, 0x12, 0x3f, 0x21, 0x47, 0x4c, 0xd0, 0x07, 0x50, 0x0e, - 0x89, 0xe3, 0xda, 0x34, 0xf0, 0x67, 0x9c, 0x12, 0x05, 0x2b, 0xcc, 0xd0, 0x0b, 0xfc, 0x19, 0xfa, - 0x09, 0x20, 0xef, 0x2c, 0xa0, 0x21, 0xb1, 0x27, 0x24, 0x1c, 0x7b, 0xfc, 0x6f, 0x23, 0x4d, 0xe6, - 0xa8, 0x6d, 0xe1, 0x39, 0x5e, 0x39, 0xd0, 0x7d, 0xd8, 0x4c, 0xe0, 0x2e, 0xf1, 0x49, 0x4c, 0xb4, - 0x02, 0x47, 0x56, 0x85, 0xb1, 0xc3, 0x6d, 0xe8, 0x29, 0xdc, 0x71, 0xbd, 0xc8, 0x39, 0xf5, 0x89, - 0x1d, 0x93, 0xf1, 0xc4, 0xf6, 0x02, 0x97, 0xbc, 0x26, 0x91, 0x56, 0xe4, 0x58, 0x94, 0xf8, 0x06, - 0x64, 0x3c, 0xe9, 0x0a, 0x0f, 0xda, 0x81, 0xe2, 0xc4, 0x99, 0x46, 0xc4, 0xd5, 0x4a, 0x1c, 0x93, - 0xcc, 0x18, 0x4b, 0x42, 0x01, 0x91, 0xa6, 0xde, 0x64, 0xa9, 0xc3, 0x1d, 0x29, 0x4b, 0x09, 0xac, - 0xf1, 0x9f, 0x1c, 0x14, 0x85, 0x07, 0x7d, 0xb4, 0x64, 0xa9, 0xda, 0xda, 0x61, 0xa8, 0x7f, 0x5e, - 0xd5, 0x15, 0xe1, 0xeb, 0x76, 0x32, 0xac, 0x21, 0x90, 0x33, 0x8a, 0xe2, 0x63, 0xb4, 0x0b, 0x65, - 0xc7, 0x75, 0x59, 0xf6, 0x48, 0xa4, 0xe5, 0x8d, 0xfc, 0x5e, 0x19, 0xaf, 0x0c, 0xe8, 0x17, 0xeb, - 0x6a, 0x90, 0x6f, 0xea, 0xe7, 0x5d, 0x32, 0x60, 0xa9, 0x18, 0x92, 0x30, 0x51, 0x70, 0x81, 0x9f, - 0xa7, 0x30, 0x03, 0xd7, 0xef, 0x3d, 0xa8, 0x8e, 0x9d, 0xd7, 0x76, 0x44, 0xfe, 0x34, 0x25, 0xc1, - 0x90, 0x70, 0xba, 0xf2, 0xb8, 0x32, 0x76, 0x5e, 0xf7, 0x13, 0x13, 0xaa, 0x01, 0x78, 0x41, 0x1c, - 0x52, 0x77, 0x3a, 0x24, 0x61, 0xc2, 0x55, 0xc6, 0x82, 0x7e, 0x06, 0x0a, 0x27, 0xdb, 0xf6, 0x5c, - 0x4d, 0x31, 0xa4, 0x3d, 0xb9, 0xa5, 0x27, 0x81, 0x97, 0x38, 0xd5, 0x3c, 0xee, 0x74, 0x88, 0x4b, - 0x1c, 0xdb, 0x75, 0xd1, 0xaf, 0x41, 0x8f, 0x5e, 0x79, 0x2c, 0x51, 0x62, 0xa7, 0xd8, 0xa3, 0x81, - 0x1d, 0x92, 0x31, 0xbd, 0x70, 0xfc, 0x48, 0x2b, 0xf3, 0x63, 0x34, 0x86, 0xe8, 0x66, 0x00, 0x38, - 0xf1, 0x37, 0x7a, 0x50, 0xe0, 0x3b, 0xb2, 0x2c, 0x0a, 0xb1, 0x26, 0xd5, 0x9b, 0xcc, 0xd0, 0x63, - 0x28, 0x8c, 0x3c, 0x9f, 0x44, 0x5a, 0x8e, 0xe7, 0x10, 0x65, 0x94, 0xee, 0xf9, 0xa4, 0x1b, 0x8c, - 0x68, 0x92, 0x45, 0x01, 0x6b, 0x9c, 0x40, 0x85, 0x6f, 0x78, 0x32, 0x71, 0x9d, 0x98, 0xfc, 0xdf, - 0xb6, 0xbd, 0x92, 0x41, 0x49, 0x3d, 0xcb, 0xa4, 0x4b, 0x99, 0xa4, 0xef, 0x27, 0xfd, 0x40, 0x54, - 0xf7, 0xce, 0xed, 0xfd, 0x32, 0x0d, 0x01, 0x81, 0x1c, 0x79, 0x5f, 0x11, 0x5e, 0x4f, 0x79, 0xcc, - 0xc7, 0xc8, 0x80, 0xca, 0xcd, 0x22, 0xda, 0xc4, 0x59, 0x13, 0xfa, 0x10, 0x60, 0x4c, 0x5d, 0x6f, - 0xe4, 0x11, 0xd7, 0x8e, 0xb8, 0x00, 0xf2, 0xb8, 0x9c, 0x5a, 0xfa, 0x48, 0x63, 0x72, 0x67, 0x25, - 0xe4, 0x26, 0xb5, 0x92, 0x4e, 0xd1, 0x1e, 0x94, 0xbc, 0xe0, 0xc2, 0xf1, 0xbd, 0xa4, 0x42, 0x5a, - 0x5b, 0xd7, 0x57, 0x75, 0xc0, 0xce, 0x65, 0x57, 0x58, 0x71, 0xea, 0x66, 0x5d, 0x30, 0xa0, 0x6b, - 0xc5, 0xac, 0xf0, 0xad, 0x36, 0x03, 0x9a, 0x2d, 0xe4, 0xa7, 0x50, 0x4a, 0xbb, 0x24, 0xcb, 0xef, - 0x5a, 0x65, 0xbd, 0x20, 0xc3, 0x98, 0x2e, 0xfb, 0x4f, 0x02, 0x43, 0x3a, 0x28, 0x4b, 0x69, 0x02, - 0xff, 0xf3, 0xe5, 0x9c, 0xf5, 0xe6, 0x65, 0x5c, 0x41, 0xa4, 0x55, 0x0c, 0x69, 0xaf, 0x80, 0x97, - 0xa1, 0x5a, 0xec, 0xb8, 0x15, 0xe0, 0x74, 0xa6, 0x55, 0xb9, 0x36, 0xdf, 0x4b, 0xb5, 0xd9, 0x3f, - 0xa7, 0x61, 0xdc, 0xed, 0xac, 0x56, 0xb4, 0x66, 0xe8, 0x09, 0xc0, 0xa9, 0x4f, 0x87, 0xaf, 0x6c, - 0x4e, 0xf3, 0x26, 0xdb, 0xb1, 0xa5, 0x5e, 0x5f, 0xd5, 0xab, 0xd8, 0xb9, 0x6c, 0x31, 0x47, 0xdf, - 0xfb, 0x8a, 0xe0, 0xf2, 0x69, 0x3a, 0x44, 0x3f, 0x85, 0x22, 0xb7, 0xa7, 0xad, 0xe2, 0xfd, 0x55, - 0x40, 0xdc, 0x9e, 0x11, 0x44, 0x02, 0x64, 0x5c, 0x45, 0xb3, 0xb1, 0xef, 0x05, 0xaf, 0xec, 0xd8, - 0x09, 0xcf, 0x48, 0xac, 0x6d, 0x8b, 0x1b, 0x23, 0xb1, 0x0e, 0xb8, 0x91, 0xe5, 0xd5, 0xa7, 0x43, - 0xc7, 0xb7, 0x47, 0xbe, 0x73, 0x16, 0x69, 0xdf, 0x95, 0x78, 0x62, 0x81, 0xdb, 0x0e, 0x98, 0xe9, - 0x57, 0xf2, 0x9f, 0xbf, 0xae, 0x6f, 0x34, 0x02, 0x28, 0x2f, 0x4f, 0x62, 0xaa, 0xa5, 0xa3, 0x51, - 0x44, 0x62, 0x2e, 0xb1, 0x3c, 0x4e, 0x66, 0x4b, 0xe1, 0xe4, 0x38, 0x47, 0x42, 0x38, 0x08, 0xe4, - 0x73, 0x27, 0x3a, 0xe7, 0x62, 0xaa, 0x62, 0x3e, 0x66, 0xad, 0xe2, 0x92, 0x38, 0xaf, 0x6c, 0xee, - 0x10, 0x52, 0x52, 0x98, 0xe1, 0x99, 0x13, 0x9d, 0x27, 0xe7, 0xfd, 0x06, 0x8a, 0x22, 0x55, 0xe8, - 0x33, 0x50, 0x86, 0x74, 0x1a, 0xc4, 0xab, 0xeb, 0x64, 0x3b, 0xdb, 0x8d, 0xb8, 0x27, 0x89, 0x7d, - 0x09, 0x6c, 0x1c, 0x40, 0x29, 0x71, 0xa1, 0x87, 0xcb, 0x56, 0x29, 0xb7, 0xee, 0xde, 0xc8, 0xca, - 0xfa, 0xfd, 0x72, 0xe1, 0xf8, 0x53, 0xf1, 0xf3, 0x32, 0x16, 0x93, 0xc6, 0xdf, 0x24, 0x28, 0x61, - 0xa6, 0x84, 0x28, 0xce, 0xdc, 0x4c, 0x85, 0xb5, 0x9b, 0x69, 0x55, 0xc3, 0xb9, 0xb5, 0x1a, 0x4e, - 0xcb, 0x30, 0x9f, 0x29, 0xc3, 0x15, 0x73, 0xf2, 0x5b, 0x99, 0x2b, 0xbc, 0x85, 0xb9, 0x62, 0x86, - 0xb9, 0x87, 0xb0, 0x35, 0x0a, 0xe9, 0x98, 0xdf, 0x3d, 0x34, 0x74, 0xc2, 0x59, 0xd2, 0x28, 0x37, - 0x99, 0x75, 0x90, 0x1a, 0xd7, 0x09, 0x56, 0xd6, 0x09, 0x6e, 0xd8, 0xa0, 0x60, 0x12, 0x4d, 0x68, - 0x10, 0x91, 0x77, 0xc6, 0x84, 0x40, 0x76, 0x9d, 0xd8, 0xe1, 0x11, 0x55, 0x31, 0x1f, 0xa3, 0x47, - 0x20, 0x0f, 0xa9, 0x2b, 0xe2, 0xd9, 0xca, 0x4a, 0xd0, 0x0c, 0x43, 0x1a, 0xb6, 0xa9, 0x4b, 0x30, - 0x07, 0x34, 0x26, 0xa0, 0x76, 0xe8, 0x65, 0xe0, 0x53, 0xc7, 0x3d, 0x0e, 0xe9, 0x19, 0xbb, 0x20, - 0xde, 0xd9, 0xe8, 0x3a, 0x50, 0x9a, 0xf2, 0x56, 0x98, 0xb6, 0xba, 0x07, 0xeb, 0xad, 0xe9, 0xe6, - 0x46, 0xa2, 0x6f, 0xa6, 0xf5, 0x9b, 0x2c, 0x6d, 0xfc, 0x43, 0x02, 0xfd, 0xdd, 0x68, 0xd4, 0x85, - 0x8a, 0x40, 0xda, 0x99, 0x37, 0xd1, 0xde, 0x0f, 0x39, 0x88, 0x77, 0x45, 0x98, 0x2e, 0xc7, 0x6f, - 0xbd, 0x50, 0x33, 0xfd, 0x26, 0xff, 0xc3, 0xfa, 0xcd, 0x23, 0xd8, 0x14, 0x0d, 0x20, 0x7d, 0x3e, - 0xc8, 0x46, 0x7e, 0xaf, 0xd0, 0xca, 0xa9, 0x1b, 0xb8, 0x7a, 0x2a, 0xca, 0x8c, 0xdb, 0x1b, 0x45, - 0x90, 0x8f, 0xbd, 0xe0, 0xac, 0x51, 0x87, 0x42, 0xdb, 0xa7, 0x3c, 0x61, 0xc5, 0x90, 0x38, 0x11, - 0x0d, 0x52, 0x1e, 0xc5, 0x6c, 0xff, 0xef, 0x39, 0xa8, 0x64, 0x9e, 0x76, 0xe8, 0x29, 0x6c, 0xb5, - 0x8f, 0x4e, 0xfa, 0x03, 0x13, 0xdb, 0xed, 0x9e, 0x75, 0xd0, 0x3d, 0x54, 0x37, 0xf4, 0xdd, 0xf9, - 0xc2, 0xd0, 0xc6, 0x2b, 0xd0, 0xfa, 0xab, 0xad, 0x0e, 0x85, 0xae, 0xd5, 0x31, 0xff, 0xa0, 0x4a, - 0xfa, 0x9d, 0xf9, 0xc2, 0x50, 0x33, 0x40, 0x71, 0x05, 0x7e, 0x02, 0x55, 0x0e, 0xb0, 0x4f, 0x8e, - 0x3b, 0xcd, 0x81, 0xa9, 0xe6, 0x74, 0x7d, 0xbe, 0x30, 0x76, 0x6e, 0xe2, 0x12, 0xce, 0xef, 0x43, - 0x09, 0x9b, 0xbf, 0x3f, 0x31, 0xfb, 0x03, 0x35, 0xaf, 0xef, 0xcc, 0x17, 0x06, 0xca, 0x00, 0xd3, - 0x92, 0x7a, 0x08, 0x0a, 0x36, 0xfb, 0xc7, 0x3d, 0xab, 0x6f, 0xaa, 0xb2, 0xfe, 0xa3, 0xf9, 0xc2, - 0x78, 0x7f, 0x0d, 0x95, 0xa8, 0xf4, 0xe7, 0xb0, 0xdd, 0xe9, 0x7d, 0x61, 0x1d, 0xf5, 0x9a, 0x1d, - 0xfb, 0x18, 0xf7, 0x0e, 0xb1, 0xd9, 0xef, 0xab, 0x05, 0xbd, 0x3e, 0x5f, 0x18, 0x1f, 0x64, 0xf0, - 0xb7, 0x44, 0xf7, 0x21, 0xc8, 0xc7, 0x5d, 0xeb, 0x50, 0x2d, 0xea, 0xef, 0xcf, 0x17, 0xc6, 0x7b, - 0x19, 0x28, 0x23, 0x95, 0x45, 0xdc, 0x3e, 0xea, 0xf5, 0x4d, 0xb5, 0x74, 0x2b, 0x62, 0x4e, 0xf6, - 0xfe, 0x1f, 0x01, 0xdd, 0x7e, 0xfc, 0xa2, 0x07, 0x20, 0x5b, 0x3d, 0xcb, 0x54, 0x37, 0x44, 0xfc, - 0xb7, 0x11, 0x16, 0x0d, 0x08, 0x6a, 0x40, 0xfe, 0xe8, 0xcb, 0xcf, 0x55, 0x49, 0xff, 0xf1, 0x7c, - 0x61, 0xdc, 0xbd, 0x0d, 0x3a, 0xfa, 0xf2, 0xf3, 0x7d, 0x0a, 0x95, 0xec, 0xc6, 0x0d, 0x50, 0x9e, - 0x9b, 0x83, 0x66, 0xa7, 0x39, 0x68, 0xaa, 0x1b, 0xe2, 0x97, 0x52, 0xf7, 0x73, 0x12, 0x3b, 0xbc, - 0x08, 0x77, 0xa1, 0x60, 0x99, 0x2f, 0x4c, 0xac, 0x4a, 0xfa, 0xf6, 0x7c, 0x61, 0x6c, 0xa6, 0x00, - 0x8b, 0x5c, 0x90, 0x10, 0xd5, 0xa0, 0xd8, 0x3c, 0xfa, 0xa2, 0xf9, 0xb2, 0xaf, 0xe6, 0x74, 0x34, - 0x5f, 0x18, 0x5b, 0xa9, 0xbb, 0xe9, 0x5f, 0x3a, 0xb3, 0x68, 0xff, 0xbf, 0x12, 0x54, 0xb3, 0x17, - 0x3e, 0xaa, 0x81, 0x7c, 0xd0, 0x3d, 0x32, 0xd3, 0xe3, 0xb2, 0x3e, 0x36, 0x46, 0x7b, 0x50, 0xee, - 0x74, 0xb1, 0xd9, 0x1e, 0xf4, 0xf0, 0xcb, 0x34, 0x96, 0x2c, 0xa8, 0xe3, 0x85, 0x5c, 0xe0, 0x33, - 0xf4, 0x4b, 0xa8, 0xf6, 0x5f, 0x3e, 0x3f, 0xea, 0x5a, 0xbf, 0xb3, 0xf9, 0x8e, 0x39, 0xfd, 0xd1, - 0x7c, 0x61, 0xdc, 0x5b, 0x03, 0x93, 0x49, 0x48, 0x86, 0x4e, 0x4c, 0xdc, 0xbe, 0xb8, 0x83, 0x98, - 0x53, 0x91, 0x50, 0x1b, 0xb6, 0xd3, 0xa5, 0xab, 0xc3, 0xf2, 0xfa, 0x27, 0xf3, 0x85, 0xf1, 0xd1, - 0xf7, 0xae, 0x5f, 0x9e, 0xae, 0x48, 0xe8, 0x01, 0x94, 0x92, 0x4d, 0x52, 0x25, 0x65, 0x97, 0x26, - 0x0b, 0xf6, 0xff, 0x2a, 0x41, 0x79, 0xd9, 0xae, 0x18, 0xe1, 0x56, 0xcf, 0x36, 0x31, 0xee, 0xe1, - 0x94, 0x81, 0xa5, 0xd3, 0xa2, 0x7c, 0x88, 0xee, 0x41, 0xe9, 0xd0, 0xb4, 0x4c, 0xdc, 0x6d, 0xa7, - 0x85, 0xb1, 0x84, 0x1c, 0x92, 0x80, 0x84, 0xde, 0x10, 0x7d, 0x0c, 0x55, 0xab, 0x67, 0xf7, 0x4f, - 0xda, 0xcf, 0xd2, 0xd0, 0xf9, 0xf9, 0x99, 0xad, 0xfa, 0xd3, 0xe1, 0x39, 0xe7, 0x73, 0x9f, 0xd5, - 0xd0, 0x8b, 0xe6, 0x51, 0xb7, 0x23, 0xa0, 0x79, 0x5d, 0x9b, 0x2f, 0x8c, 0x3b, 0x4b, 0x68, 0xf2, - 0xe4, 0x61, 0xd8, 0x7d, 0x17, 0x6a, 0xdf, 0xdf, 0x98, 0x90, 0x01, 0xc5, 0xe6, 0xf1, 0xb1, 0x69, - 0x75, 0xd2, 0xbf, 0x5f, 0xf9, 0x9a, 0x93, 0x09, 0x09, 0x5c, 0x86, 0x38, 0xe8, 0xe1, 0x43, 0x73, - 0x90, 0xfe, 0xfc, 0x0a, 0x71, 0x40, 0xd9, 0x03, 0xa0, 0xb5, 0xfb, 0xe6, 0xdb, 0xda, 0xc6, 0x37, - 0xdf, 0xd6, 0x36, 0xde, 0x5c, 0xd7, 0xa4, 0x6f, 0xae, 0x6b, 0xd2, 0xbf, 0xae, 0x6b, 0x1b, 0xdf, - 0x5d, 0xd7, 0xa4, 0xaf, 0xff, 0x5d, 0x93, 0x4e, 0x8b, 0xbc, 0x91, 0x7d, 0xf6, 0xbf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x66, 0x57, 0x60, 0x7e, 0x05, 0x0f, 0x00, 0x00, +var fileDescriptor_bep_83d45b003aedf660 = []byte{ + // 1800 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x6f, 0xdb, 0xc8, + 0x15, 0x17, 0x25, 0xea, 0xdf, 0x93, 0xec, 0xa5, 0x27, 0x89, 0xcb, 0x72, 0xb3, 0x12, 0xa3, 0x24, + 0x1b, 0xad, 0xb1, 0x4d, 0xd2, 0xdd, 0x6d, 0x8b, 0x16, 0x6d, 0x01, 0xfd, 0xa1, 0x1d, 0xa1, 0x8e, + 0xe4, 0x8e, 0xe4, 0x6c, 0xb3, 0x87, 0x12, 0xb4, 0x38, 0x92, 0x89, 0x50, 0x1c, 0x95, 0xa4, 0xec, + 0x68, 0x3f, 0x82, 0x4e, 0x3d, 0xf6, 0x22, 0x60, 0x81, 0x9e, 0xfa, 0x4d, 0x72, 0x4c, 0x7b, 0x28, + 0x8a, 0x1e, 0x8c, 0xae, 0x73, 0xd9, 0x63, 0x3f, 0x41, 0x51, 0xcc, 0x0c, 0x29, 0x51, 0x76, 0xb2, + 0xc8, 0x61, 0x4f, 0x9c, 0x79, 0xef, 0x37, 0x33, 0x7c, 0xbf, 0xf7, 0x7b, 0x6f, 0x06, 0x8a, 0x27, + 0x64, 0xfa, 0x70, 0xea, 0xd3, 0x90, 0xa2, 0x02, 0xff, 0x0c, 0xa9, 0xab, 0xdd, 0xf5, 0xc9, 0x94, + 0x06, 0x8f, 0xf8, 0xfc, 0x64, 0x36, 0x7a, 0x34, 0xa6, 0x63, 0xca, 0x27, 0x7c, 0x24, 0xe0, 0xb5, + 0x29, 0x64, 0x9f, 0x10, 0xd7, 0xa5, 0xa8, 0x0a, 0x25, 0x9b, 0x9c, 0x39, 0x43, 0x62, 0x7a, 0xd6, + 0x84, 0xa8, 0x92, 0x2e, 0xd5, 0x8b, 0x18, 0x84, 0xa9, 0x6b, 0x4d, 0x08, 0x03, 0x0c, 0x5d, 0x87, + 0x78, 0xa1, 0x00, 0xa4, 0x05, 0x40, 0x98, 0x38, 0xe0, 0x3e, 0x6c, 0x47, 0x80, 0x33, 0xe2, 0x07, + 0x0e, 0xf5, 0xd4, 0x0c, 0xc7, 0x6c, 0x09, 0xeb, 0x33, 0x61, 0xac, 0x05, 0x90, 0x7b, 0x42, 0x2c, + 0x9b, 0xf8, 0xe8, 0x13, 0x90, 0xc3, 0xf9, 0x54, 0x9c, 0xb5, 0xfd, 0xd9, 0xad, 0x87, 0xf1, 0x9f, + 0x3f, 0x7c, 0x4a, 0x82, 0xc0, 0x1a, 0x93, 0xc1, 0x7c, 0x4a, 0x30, 0x87, 0xa0, 0xdf, 0x42, 0x69, + 0x48, 0x27, 0x53, 0x9f, 0x04, 0x7c, 0xe3, 0x34, 0x5f, 0x71, 0xfb, 0xda, 0x8a, 0xd6, 0x1a, 0x83, + 0x93, 0x0b, 0x6a, 0x0d, 0xd8, 0x6a, 0xb9, 0xb3, 0x20, 0x24, 0x7e, 0x8b, 0x7a, 0x23, 0x67, 0x8c, + 0x1e, 0x43, 0x7e, 0x44, 0x5d, 0x9b, 0xf8, 0x81, 0x2a, 0xe9, 0x99, 0x7a, 0xe9, 0x33, 0x65, 0xbd, + 0xd9, 0x3e, 0x77, 0x34, 0xe5, 0x57, 0x17, 0xd5, 0x14, 0x8e, 0x61, 0xb5, 0xbf, 0xa6, 0x21, 0x27, + 0x3c, 0x68, 0x17, 0xd2, 0x8e, 0x2d, 0x28, 0x6a, 0xe6, 0x2e, 0x2f, 0xaa, 0xe9, 0x4e, 0x1b, 0xa7, + 0x1d, 0x1b, 0xdd, 0x84, 0xac, 0x6b, 0x9d, 0x10, 0x37, 0x22, 0x47, 0x4c, 0xd0, 0x87, 0x50, 0xf4, + 0x89, 0x65, 0x9b, 0xd4, 0x73, 0xe7, 0x9c, 0x92, 0x02, 0x2e, 0x30, 0x43, 0xcf, 0x73, 0xe7, 0xe8, + 0x27, 0x80, 0x9c, 0xb1, 0x47, 0x7d, 0x62, 0x4e, 0x89, 0x3f, 0x71, 0xf8, 0xdf, 0x06, 0xaa, 0xcc, + 0x51, 0x3b, 0xc2, 0x73, 0xb4, 0x76, 0xa0, 0xbb, 0xb0, 0x15, 0xc1, 0x6d, 0xe2, 0x92, 0x90, 0xa8, + 0x59, 0x8e, 0x2c, 0x0b, 0x63, 0x9b, 0xdb, 0xd0, 0x63, 0xb8, 0x69, 0x3b, 0x81, 0x75, 0xe2, 0x12, + 0x33, 0x24, 0x93, 0xa9, 0xe9, 0x78, 0x36, 0x79, 0x49, 0x02, 0x35, 0xc7, 0xb1, 0x28, 0xf2, 0x0d, + 0xc8, 0x64, 0xda, 0x11, 0x1e, 0xb4, 0x0b, 0xb9, 0xa9, 0x35, 0x0b, 0x88, 0xad, 0xe6, 0x39, 0x26, + 0x9a, 0x31, 0x96, 0x84, 0x02, 0x02, 0x55, 0xb9, 0xca, 0x52, 0x9b, 0x3b, 0x62, 0x96, 0x22, 0x58, + 0xed, 0xbf, 0x69, 0xc8, 0x09, 0x0f, 0xfa, 0x78, 0xc5, 0x52, 0xb9, 0xb9, 0xcb, 0x50, 0xff, 0xbe, + 0xa8, 0x16, 0x84, 0xaf, 0xd3, 0x4e, 0xb0, 0x86, 0x40, 0x4e, 0x28, 0x8a, 0x8f, 0xd1, 0x6d, 0x28, + 0x5a, 0xb6, 0xcd, 0xb2, 0x47, 0x02, 0x35, 0xa3, 0x67, 0xea, 0x45, 0xbc, 0x36, 0xa0, 0x5f, 0x6c, + 0xaa, 0x41, 0xbe, 0xaa, 0x9f, 0x77, 0xc9, 0x80, 0xa5, 0x62, 0x48, 0xfc, 0x48, 0xc1, 0x59, 0x7e, + 0x5e, 0x81, 0x19, 0xb8, 0x7e, 0xef, 0x40, 0x79, 0x62, 0xbd, 0x34, 0x03, 0xf2, 0xa7, 0x19, 0xf1, + 0x86, 0x84, 0xd3, 0x95, 0xc1, 0xa5, 0x89, 0xf5, 0xb2, 0x1f, 0x99, 0x50, 0x05, 0xc0, 0xf1, 0x42, + 0x9f, 0xda, 0xb3, 0x21, 0xf1, 0x23, 0xae, 0x12, 0x16, 0xf4, 0x33, 0x28, 0x70, 0xb2, 0x4d, 0xc7, + 0x56, 0x0b, 0xba, 0x54, 0x97, 0x9b, 0x5a, 0x14, 0x78, 0x9e, 0x53, 0xcd, 0xe3, 0x8e, 0x87, 0x38, + 0xcf, 0xb1, 0x1d, 0x1b, 0xfd, 0x1a, 0xb4, 0xe0, 0x85, 0xc3, 0x12, 0x25, 0x76, 0x0a, 0x1d, 0xea, + 0x99, 0x3e, 0x99, 0xd0, 0x33, 0xcb, 0x0d, 0xd4, 0x22, 0x3f, 0x46, 0x65, 0x88, 0x4e, 0x02, 0x80, + 0x23, 0x7f, 0xad, 0x07, 0x59, 0xbe, 0x23, 0xcb, 0xa2, 0x10, 0x6b, 0x54, 0xbd, 0xd1, 0x0c, 0x3d, + 0x84, 0xec, 0xc8, 0x71, 0x49, 0xa0, 0xa6, 0x79, 0x0e, 0x51, 0x42, 0xe9, 0x8e, 0x4b, 0x3a, 0xde, + 0x88, 0x46, 0x59, 0x14, 0xb0, 0xda, 0x31, 0x94, 0xf8, 0x86, 0xc7, 0x53, 0xdb, 0x0a, 0xc9, 0x0f, + 0xb6, 0xed, 0x85, 0x0c, 0x85, 0xd8, 0xb3, 0x4a, 0xba, 0x94, 0x48, 0xfa, 0x5e, 0xd4, 0x0f, 0x44, + 0x75, 0xef, 0x5e, 0xdf, 0x2f, 0xd1, 0x10, 0x10, 0xc8, 0x81, 0xf3, 0x35, 0xe1, 0xf5, 0x94, 0xc1, + 0x7c, 0x8c, 0x74, 0x28, 0x5d, 0x2d, 0xa2, 0x2d, 0x9c, 0x34, 0xa1, 0x8f, 0x00, 0x26, 0xd4, 0x76, + 0x46, 0x0e, 0xb1, 0xcd, 0x80, 0x0b, 0x20, 0x83, 0x8b, 0xb1, 0xa5, 0x8f, 0x54, 0x26, 0x77, 0x56, + 0x42, 0x76, 0x54, 0x2b, 0xf1, 0x14, 0xd5, 0x21, 0xef, 0x78, 0x67, 0x96, 0xeb, 0x44, 0x15, 0xd2, + 0xdc, 0xbe, 0xbc, 0xa8, 0x02, 0xb6, 0xce, 0x3b, 0xc2, 0x8a, 0x63, 0x37, 0xeb, 0x82, 0x1e, 0xdd, + 0x28, 0xe6, 0x02, 0xdf, 0x6a, 0xcb, 0xa3, 0xc9, 0x42, 0x7e, 0x0c, 0xf9, 0xb8, 0x4b, 0xb2, 0xfc, + 0x6e, 0x54, 0xd6, 0x33, 0x32, 0x0c, 0xe9, 0xaa, 0xff, 0x44, 0x30, 0xa4, 0x41, 0x61, 0x25, 0x4d, + 0xe0, 0x7f, 0xbe, 0x9a, 0xb3, 0xde, 0xbc, 0x8a, 0xcb, 0x0b, 0xd4, 0x92, 0x2e, 0xd5, 0xb3, 0x78, + 0x15, 0x6a, 0x97, 0x1d, 0xb7, 0x06, 0x9c, 0xcc, 0xd5, 0x32, 0xd7, 0xe6, 0x07, 0xb1, 0x36, 0xfb, + 0xa7, 0xd4, 0x0f, 0x3b, 0xed, 0xf5, 0x8a, 0xe6, 0x1c, 0x3d, 0x02, 0x38, 0x71, 0xe9, 0xf0, 0x85, + 0xc9, 0x69, 0xde, 0x62, 0x3b, 0x36, 0x95, 0xcb, 0x8b, 0x6a, 0x19, 0x5b, 0xe7, 0x4d, 0xe6, 0xe8, + 0x3b, 0x5f, 0x13, 0x5c, 0x3c, 0x89, 0x87, 0xe8, 0xa7, 0x90, 0xe3, 0xf6, 0xb8, 0x55, 0xdc, 0x58, + 0x07, 0xc4, 0xed, 0x09, 0x41, 0x44, 0x40, 0xc6, 0x55, 0x30, 0x9f, 0xb8, 0x8e, 0xf7, 0xc2, 0x0c, + 0x2d, 0x7f, 0x4c, 0x42, 0x75, 0x47, 0xdc, 0x18, 0x91, 0x75, 0xc0, 0x8d, 0x2c, 0xaf, 0x2e, 0x1d, + 0x5a, 0xae, 0x39, 0x72, 0xad, 0x71, 0xa0, 0x7e, 0x97, 0xe7, 0x89, 0x05, 0x6e, 0xdb, 0x67, 0xa6, + 0x5f, 0xc9, 0x7f, 0xf9, 0xa6, 0x9a, 0xaa, 0x79, 0x50, 0x5c, 0x9d, 0xc4, 0x54, 0x4b, 0x47, 0xa3, + 0x80, 0x84, 0x5c, 0x62, 0x19, 0x1c, 0xcd, 0x56, 0xc2, 0x49, 0x73, 0x8e, 0x84, 0x70, 0x10, 0xc8, + 0xa7, 0x56, 0x70, 0xca, 0xc5, 0x54, 0xc6, 0x7c, 0xcc, 0x5a, 0xc5, 0x39, 0xb1, 0x5e, 0x98, 0xdc, + 0x21, 0xa4, 0x54, 0x60, 0x86, 0x27, 0x56, 0x70, 0x1a, 0x9d, 0xf7, 0x1b, 0xc8, 0x89, 0x54, 0xa1, + 0xcf, 0xa1, 0x30, 0xa4, 0x33, 0x2f, 0x5c, 0x5f, 0x27, 0x3b, 0xc9, 0x6e, 0xc4, 0x3d, 0x51, 0xec, + 0x2b, 0x60, 0x6d, 0x1f, 0xf2, 0x91, 0x0b, 0xdd, 0x5f, 0xb5, 0x4a, 0xb9, 0x79, 0xeb, 0x4a, 0x56, + 0x36, 0xef, 0x97, 0x33, 0xcb, 0x9d, 0x89, 0x9f, 0x97, 0xb1, 0x98, 0xd4, 0xfe, 0x2e, 0x41, 0x1e, + 0x33, 0x25, 0x04, 0x61, 0xe2, 0x66, 0xca, 0x6e, 0xdc, 0x4c, 0xeb, 0x1a, 0x4e, 0x6f, 0xd4, 0x70, + 0x5c, 0x86, 0x99, 0x44, 0x19, 0xae, 0x99, 0x93, 0xdf, 0xca, 0x5c, 0xf6, 0x2d, 0xcc, 0xe5, 0x12, + 0xcc, 0xdd, 0x87, 0xed, 0x91, 0x4f, 0x27, 0xfc, 0xee, 0xa1, 0xbe, 0xe5, 0xcf, 0xa3, 0x46, 0xb9, + 0xc5, 0xac, 0x83, 0xd8, 0xb8, 0x49, 0x70, 0x61, 0x93, 0xe0, 0x9a, 0x09, 0x05, 0x4c, 0x82, 0x29, + 0xf5, 0x02, 0xf2, 0xce, 0x98, 0x10, 0xc8, 0xb6, 0x15, 0x5a, 0x3c, 0xa2, 0x32, 0xe6, 0x63, 0xf4, + 0x00, 0xe4, 0x21, 0xb5, 0x45, 0x3c, 0xdb, 0x49, 0x09, 0x1a, 0xbe, 0x4f, 0xfd, 0x16, 0xb5, 0x09, + 0xe6, 0x80, 0xda, 0x14, 0x94, 0x36, 0x3d, 0xf7, 0x5c, 0x6a, 0xd9, 0x47, 0x3e, 0x1d, 0xb3, 0x0b, + 0xe2, 0x9d, 0x8d, 0xae, 0x0d, 0xf9, 0x19, 0x6f, 0x85, 0x71, 0xab, 0xbb, 0xb7, 0xd9, 0x9a, 0xae, + 0x6e, 0x24, 0xfa, 0x66, 0x5c, 0xbf, 0xd1, 0xd2, 0xda, 0x3f, 0x25, 0xd0, 0xde, 0x8d, 0x46, 0x1d, + 0x28, 0x09, 0xa4, 0x99, 0x78, 0x13, 0xd5, 0xdf, 0xe7, 0x20, 0xde, 0x15, 0x61, 0xb6, 0x1a, 0xbf, + 0xf5, 0x42, 0x4d, 0xf4, 0x9b, 0xcc, 0xfb, 0xf5, 0x9b, 0x07, 0xb0, 0x25, 0x1a, 0x40, 0xfc, 0x7c, + 0x90, 0xf5, 0x4c, 0x3d, 0xdb, 0x4c, 0x2b, 0x29, 0x5c, 0x3e, 0x11, 0x65, 0xc6, 0xed, 0xb5, 0x1c, + 0xc8, 0x47, 0x8e, 0x37, 0xae, 0x55, 0x21, 0xdb, 0x72, 0x29, 0x4f, 0x58, 0xce, 0x27, 0x56, 0x40, + 0xbd, 0x98, 0x47, 0x31, 0xdb, 0xfb, 0x47, 0x1a, 0x4a, 0x89, 0xa7, 0x1d, 0x7a, 0x0c, 0xdb, 0xad, + 0xc3, 0xe3, 0xfe, 0xc0, 0xc0, 0x66, 0xab, 0xd7, 0xdd, 0xef, 0x1c, 0x28, 0x29, 0xed, 0xf6, 0x62, + 0xa9, 0xab, 0x93, 0x35, 0x68, 0xf3, 0xd5, 0x56, 0x85, 0x6c, 0xa7, 0xdb, 0x36, 0xfe, 0xa0, 0x48, + 0xda, 0xcd, 0xc5, 0x52, 0x57, 0x12, 0x40, 0x71, 0x05, 0x7e, 0x0a, 0x65, 0x0e, 0x30, 0x8f, 0x8f, + 0xda, 0x8d, 0x81, 0xa1, 0xa4, 0x35, 0x6d, 0xb1, 0xd4, 0x77, 0xaf, 0xe2, 0x22, 0xce, 0xef, 0x42, + 0x1e, 0x1b, 0xbf, 0x3f, 0x36, 0xfa, 0x03, 0x25, 0xa3, 0xed, 0x2e, 0x96, 0x3a, 0x4a, 0x00, 0xe3, + 0x92, 0xba, 0x0f, 0x05, 0x6c, 0xf4, 0x8f, 0x7a, 0xdd, 0xbe, 0xa1, 0xc8, 0xda, 0x8f, 0x16, 0x4b, + 0xfd, 0xc6, 0x06, 0x2a, 0x52, 0xe9, 0xcf, 0x61, 0xa7, 0xdd, 0xfb, 0xb2, 0x7b, 0xd8, 0x6b, 0xb4, + 0xcd, 0x23, 0xdc, 0x3b, 0xc0, 0x46, 0xbf, 0xaf, 0x64, 0xb5, 0xea, 0x62, 0xa9, 0x7f, 0x98, 0xc0, + 0x5f, 0x13, 0xdd, 0x47, 0x20, 0x1f, 0x75, 0xba, 0x07, 0x4a, 0x4e, 0xbb, 0xb1, 0x58, 0xea, 0x1f, + 0x24, 0xa0, 0x8c, 0x54, 0x16, 0x71, 0xeb, 0xb0, 0xd7, 0x37, 0x94, 0xfc, 0xb5, 0x88, 0x39, 0xd9, + 0x7b, 0x7f, 0x04, 0x74, 0xfd, 0xf1, 0x8b, 0xee, 0x81, 0xdc, 0xed, 0x75, 0x0d, 0x25, 0x25, 0xe2, + 0xbf, 0x8e, 0xe8, 0x52, 0x8f, 0xa0, 0x1a, 0x64, 0x0e, 0xbf, 0xfa, 0x42, 0x91, 0xb4, 0x1f, 0x2f, + 0x96, 0xfa, 0xad, 0xeb, 0xa0, 0xc3, 0xaf, 0xbe, 0xd8, 0xa3, 0x50, 0x4a, 0x6e, 0x5c, 0x83, 0xc2, + 0x53, 0x63, 0xd0, 0x68, 0x37, 0x06, 0x0d, 0x25, 0x25, 0x7e, 0x29, 0x76, 0x3f, 0x25, 0xa1, 0xc5, + 0x8b, 0xf0, 0x36, 0x64, 0xbb, 0xc6, 0x33, 0x03, 0x2b, 0x92, 0xb6, 0xb3, 0x58, 0xea, 0x5b, 0x31, + 0xa0, 0x4b, 0xce, 0x88, 0x8f, 0x2a, 0x90, 0x6b, 0x1c, 0x7e, 0xd9, 0x78, 0xde, 0x57, 0xd2, 0x1a, + 0x5a, 0x2c, 0xf5, 0xed, 0xd8, 0xdd, 0x70, 0xcf, 0xad, 0x79, 0xb0, 0xf7, 0x3f, 0x09, 0xca, 0xc9, + 0x0b, 0x1f, 0x55, 0x40, 0xde, 0xef, 0x1c, 0x1a, 0xf1, 0x71, 0x49, 0x1f, 0x1b, 0xa3, 0x3a, 0x14, + 0xdb, 0x1d, 0x6c, 0xb4, 0x06, 0x3d, 0xfc, 0x3c, 0x8e, 0x25, 0x09, 0x6a, 0x3b, 0x3e, 0x17, 0xf8, + 0x1c, 0xfd, 0x12, 0xca, 0xfd, 0xe7, 0x4f, 0x0f, 0x3b, 0xdd, 0xdf, 0x99, 0x7c, 0xc7, 0xb4, 0xf6, + 0x60, 0xb1, 0xd4, 0xef, 0x6c, 0x80, 0xc9, 0xd4, 0x27, 0x43, 0x2b, 0x24, 0x76, 0x5f, 0xdc, 0x41, + 0xcc, 0x59, 0x90, 0x50, 0x0b, 0x76, 0xe2, 0xa5, 0xeb, 0xc3, 0x32, 0xda, 0xa7, 0x8b, 0xa5, 0xfe, + 0xf1, 0xf7, 0xae, 0x5f, 0x9d, 0x5e, 0x90, 0xd0, 0x3d, 0xc8, 0x47, 0x9b, 0xc4, 0x4a, 0x4a, 0x2e, + 0x8d, 0x16, 0xec, 0xfd, 0x4d, 0x82, 0xe2, 0xaa, 0x5d, 0x31, 0xc2, 0xbb, 0x3d, 0xd3, 0xc0, 0xb8, + 0x87, 0x63, 0x06, 0x56, 0xce, 0x2e, 0xe5, 0x43, 0x74, 0x07, 0xf2, 0x07, 0x46, 0xd7, 0xc0, 0x9d, + 0x56, 0x5c, 0x18, 0x2b, 0xc8, 0x01, 0xf1, 0x88, 0xef, 0x0c, 0xd1, 0x27, 0x50, 0xee, 0xf6, 0xcc, + 0xfe, 0x71, 0xeb, 0x49, 0x1c, 0x3a, 0x3f, 0x3f, 0xb1, 0x55, 0x7f, 0x36, 0x3c, 0xe5, 0x7c, 0xee, + 0xb1, 0x1a, 0x7a, 0xd6, 0x38, 0xec, 0xb4, 0x05, 0x34, 0xa3, 0xa9, 0x8b, 0xa5, 0x7e, 0x73, 0x05, + 0x8d, 0x9e, 0x3c, 0x0c, 0xbb, 0x67, 0x43, 0xe5, 0xfb, 0x1b, 0x13, 0xd2, 0x21, 0xd7, 0x38, 0x3a, + 0x32, 0xba, 0xed, 0xf8, 0xef, 0xd7, 0xbe, 0xc6, 0x74, 0x4a, 0x3c, 0x9b, 0x21, 0xf6, 0x7b, 0xf8, + 0xc0, 0x18, 0xc4, 0x3f, 0xbf, 0x46, 0xec, 0x53, 0xf6, 0x00, 0x68, 0xd6, 0x5f, 0x7d, 0x5b, 0x49, + 0xbd, 0xfe, 0xb6, 0x92, 0x7a, 0x75, 0x59, 0x91, 0x5e, 0x5f, 0x56, 0xa4, 0xff, 0x5c, 0x56, 0x52, + 0xdf, 0x5d, 0x56, 0xa4, 0x3f, 0xbf, 0xa9, 0xa4, 0xbe, 0x79, 0x53, 0x91, 0x5e, 0xbf, 0xa9, 0xa4, + 0xfe, 0xf5, 0xa6, 0x92, 0x3a, 0xc9, 0xf1, 0xa6, 0xf6, 0xf9, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, + 0x02, 0x4d, 0x9a, 0x1c, 0x11, 0x0f, 0x00, 0x00, } diff --git a/lib/protocol/bep.proto b/lib/protocol/bep.proto index 6e9159b5d..d80d13179 100644 --- a/lib/protocol/bep.proto +++ b/lib/protocol/bep.proto @@ -9,6 +9,9 @@ option (gogoproto.sizer_all) = false; option (gogoproto.protosizer_all) = true; option (gogoproto.goproto_enum_stringer_all) = true; option (gogoproto.goproto_enum_prefix_all) = false; +option (gogoproto.goproto_unkeyed_all) = false; +option (gogoproto.goproto_unrecognized_all) = false; +option (gogoproto.goproto_sizecache_all) = false; // --- Pre-auth --- diff --git a/lib/protocol/deviceid_test.pb.go b/lib/protocol/deviceid_test.pb.go index 325f424ed..d8c12fdf4 100644 --- a/lib/protocol/deviceid_test.pb.go +++ b/lib/protocol/deviceid_test.pb.go @@ -1,16 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: deviceid_test.proto -/* -Package protocol is a generated protocol buffer package. - -It is generated from these files: - deviceid_test.proto - -It has these top-level messages: - TestOldDeviceID - TestNewDeviceID -*/ package protocol import proto "github.com/gogo/protobuf/proto" @@ -35,19 +25,75 @@ type TestOldDeviceID struct { Test []byte `protobuf:"bytes,1,opt,name=test,proto3" json:"test,omitempty"` } -func (m *TestOldDeviceID) Reset() { *m = TestOldDeviceID{} } -func (m *TestOldDeviceID) String() string { return proto.CompactTextString(m) } -func (*TestOldDeviceID) ProtoMessage() {} -func (*TestOldDeviceID) Descriptor() ([]byte, []int) { return fileDescriptorDeviceidTest, []int{0} } +func (m *TestOldDeviceID) Reset() { *m = TestOldDeviceID{} } +func (m *TestOldDeviceID) String() string { return proto.CompactTextString(m) } +func (*TestOldDeviceID) ProtoMessage() {} +func (*TestOldDeviceID) Descriptor() ([]byte, []int) { + return fileDescriptor_deviceid_test_36bcb89b605bdafe, []int{0} +} +func (m *TestOldDeviceID) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TestOldDeviceID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TestOldDeviceID.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 (dst *TestOldDeviceID) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestOldDeviceID.Merge(dst, src) +} +func (m *TestOldDeviceID) XXX_Size() int { + return m.ProtoSize() +} +func (m *TestOldDeviceID) XXX_DiscardUnknown() { + xxx_messageInfo_TestOldDeviceID.DiscardUnknown(m) +} + +var xxx_messageInfo_TestOldDeviceID proto.InternalMessageInfo type TestNewDeviceID struct { Test DeviceID `protobuf:"bytes,1,opt,name=test,proto3,customtype=DeviceID" json:"test"` } -func (m *TestNewDeviceID) Reset() { *m = TestNewDeviceID{} } -func (m *TestNewDeviceID) String() string { return proto.CompactTextString(m) } -func (*TestNewDeviceID) ProtoMessage() {} -func (*TestNewDeviceID) Descriptor() ([]byte, []int) { return fileDescriptorDeviceidTest, []int{1} } +func (m *TestNewDeviceID) Reset() { *m = TestNewDeviceID{} } +func (m *TestNewDeviceID) String() string { return proto.CompactTextString(m) } +func (*TestNewDeviceID) ProtoMessage() {} +func (*TestNewDeviceID) Descriptor() ([]byte, []int) { + return fileDescriptor_deviceid_test_36bcb89b605bdafe, []int{1} +} +func (m *TestNewDeviceID) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TestNewDeviceID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TestNewDeviceID.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 (dst *TestNewDeviceID) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestNewDeviceID.Merge(dst, src) +} +func (m *TestNewDeviceID) XXX_Size() int { + return m.ProtoSize() +} +func (m *TestNewDeviceID) XXX_DiscardUnknown() { + xxx_messageInfo_TestNewDeviceID.DiscardUnknown(m) +} + +var xxx_messageInfo_TestNewDeviceID proto.InternalMessageInfo func init() { proto.RegisterType((*TestOldDeviceID)(nil), "protocol.TestOldDeviceID") @@ -103,24 +149,6 @@ func (m *TestNewDeviceID) MarshalTo(dAtA []byte) (int, error) { return i, nil } -func encodeFixed64DeviceidTest(dAtA []byte, offset int, v uint64) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - dAtA[offset+4] = uint8(v >> 32) - dAtA[offset+5] = uint8(v >> 40) - dAtA[offset+6] = uint8(v >> 48) - dAtA[offset+7] = uint8(v >> 56) - return offset + 8 -} -func encodeFixed32DeviceidTest(dAtA []byte, offset int, v uint32) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - return offset + 4 -} func encodeVarintDeviceidTest(dAtA []byte, offset int, v uint64) int { for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) @@ -131,6 +159,9 @@ func encodeVarintDeviceidTest(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *TestOldDeviceID) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Test) @@ -141,6 +172,9 @@ func (m *TestOldDeviceID) ProtoSize() (n int) { } func (m *TestNewDeviceID) ProtoSize() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Test.ProtoSize() @@ -427,10 +461,10 @@ var ( ErrIntOverflowDeviceidTest = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("deviceid_test.proto", fileDescriptorDeviceidTest) } +func init() { proto.RegisterFile("deviceid_test.proto", fileDescriptor_deviceid_test_36bcb89b605bdafe) } -var fileDescriptorDeviceidTest = []byte{ - // 169 bytes of a gzipped FileDescriptorProto +var fileDescriptor_deviceid_test_36bcb89b605bdafe = []byte{ + // 182 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4e, 0x49, 0x2d, 0xcb, 0x4c, 0x4e, 0xcd, 0x4c, 0x89, 0x2f, 0x49, 0x2d, 0x2e, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53, 0xc9, 0xf9, 0x39, 0x52, 0xca, 0x45, 0xa9, 0x05, 0xf9, 0xc5, 0xfa, 0x60, 0x7e, @@ -438,8 +472,9 @@ var fileDescriptorDeviceidTest = []byte{ 0xf1, 0x87, 0xa4, 0x16, 0x97, 0xf8, 0xe7, 0xa4, 0xb8, 0x80, 0x0d, 0xf3, 0x74, 0x11, 0x12, 0xe2, 0x62, 0x01, 0x99, 0x27, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x13, 0x04, 0x66, 0x2b, 0x99, 0x43, 0x94, 0xf9, 0xa5, 0x96, 0xc3, 0x95, 0xa9, 0x20, 0x2b, 0x73, 0x12, 0x38, 0x71, 0x4f, 0x9e, 0xe1, 0xd6, - 0x3d, 0x79, 0x0e, 0x98, 0x3c, 0x44, 0xa3, 0x93, 0xcc, 0x89, 0x87, 0x72, 0x0c, 0x17, 0x1e, 0xca, + 0x3d, 0x79, 0x0e, 0x98, 0x3c, 0x44, 0xa3, 0x93, 0xc6, 0x89, 0x87, 0x72, 0x0c, 0x17, 0x1e, 0xca, 0x31, 0x9c, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x0c, 0x2f, 0x1e, - 0xc9, 0x31, 0x2c, 0x78, 0x2c, 0xc7, 0x98, 0xc4, 0x06, 0x76, 0x84, 0x31, 0x20, 0x00, 0x00, 0xff, - 0xff, 0x82, 0x8f, 0xec, 0x3e, 0xca, 0x00, 0x00, 0x00, + 0xc9, 0x31, 0x4c, 0x78, 0x2c, 0xc7, 0xb0, 0xe0, 0xb1, 0x1c, 0xe3, 0x85, 0xc7, 0x72, 0x0c, 0x37, + 0x1e, 0xcb, 0x31, 0x24, 0xb1, 0x81, 0x1d, 0x64, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0xe3, 0x96, + 0x3e, 0xc0, 0xd6, 0x00, 0x00, 0x00, } diff --git a/lib/protocol/deviceid_test.proto b/lib/protocol/deviceid_test.proto index bb09c61e1..72b68c79b 100644 --- a/lib/protocol/deviceid_test.proto +++ b/lib/protocol/deviceid_test.proto @@ -10,6 +10,9 @@ option (gogoproto.sizer_all) = false; option (gogoproto.protosizer_all) = true; option (gogoproto.goproto_enum_stringer_all) = false; option (gogoproto.goproto_enum_prefix_all) = false; +option (gogoproto.goproto_unkeyed_all) = false; +option (gogoproto.goproto_unrecognized_all) = false; +option (gogoproto.goproto_sizecache_all) = false; message TestOldDeviceID { bytes test = 1; diff --git a/vendor/github.com/gogo/protobuf/LICENSE b/vendor/github.com/gogo/protobuf/LICENSE index 7be0cc7b6..f57de90da 100644 --- a/vendor/github.com/gogo/protobuf/LICENSE +++ b/vendor/github.com/gogo/protobuf/LICENSE @@ -1,7 +1,6 @@ -Protocol Buffers for Go with Gadgets - Copyright (c) 2013, The GoGo Authors. All rights reserved. -http://github.com/gogo/protobuf + +Protocol Buffers for Go with Gadgets Go support for Protocol Buffers - Google's data interchange format diff --git a/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.pb.go b/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.pb.go new file mode 100644 index 000000000..4bf71202b --- /dev/null +++ b/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.pb.go @@ -0,0 +1,1814 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: internal/conformance_proto/conformance.proto + +package conformance + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" +import types "github.com/gogo/protobuf/types" + +// 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 WireFormat int32 + +const ( + WireFormat_UNSPECIFIED WireFormat = 0 + WireFormat_PROTOBUF WireFormat = 1 + WireFormat_JSON WireFormat = 2 +) + +var WireFormat_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "PROTOBUF", + 2: "JSON", +} +var WireFormat_value = map[string]int32{ + "UNSPECIFIED": 0, + "PROTOBUF": 1, + "JSON": 2, +} + +func (x WireFormat) String() string { + return proto.EnumName(WireFormat_name, int32(x)) +} +func (WireFormat) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_conformance_64c26947649a56a9, []int{0} +} + +type ForeignEnum int32 + +const ( + ForeignEnum_FOREIGN_FOO ForeignEnum = 0 + ForeignEnum_FOREIGN_BAR ForeignEnum = 1 + ForeignEnum_FOREIGN_BAZ ForeignEnum = 2 +) + +var ForeignEnum_name = map[int32]string{ + 0: "FOREIGN_FOO", + 1: "FOREIGN_BAR", + 2: "FOREIGN_BAZ", +} +var ForeignEnum_value = map[string]int32{ + "FOREIGN_FOO": 0, + "FOREIGN_BAR": 1, + "FOREIGN_BAZ": 2, +} + +func (x ForeignEnum) String() string { + return proto.EnumName(ForeignEnum_name, int32(x)) +} +func (ForeignEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_conformance_64c26947649a56a9, []int{1} +} + +type TestAllTypes_NestedEnum int32 + +const ( + TestAllTypes_FOO TestAllTypes_NestedEnum = 0 + TestAllTypes_BAR TestAllTypes_NestedEnum = 1 + TestAllTypes_BAZ TestAllTypes_NestedEnum = 2 + TestAllTypes_NEG TestAllTypes_NestedEnum = -1 +) + +var TestAllTypes_NestedEnum_name = map[int32]string{ + 0: "FOO", + 1: "BAR", + 2: "BAZ", + -1: "NEG", +} +var TestAllTypes_NestedEnum_value = map[string]int32{ + "FOO": 0, + "BAR": 1, + "BAZ": 2, + "NEG": -1, +} + +func (x TestAllTypes_NestedEnum) String() string { + return proto.EnumName(TestAllTypes_NestedEnum_name, int32(x)) +} +func (TestAllTypes_NestedEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_conformance_64c26947649a56a9, []int{2, 0} +} + +// Represents a single test case's input. The testee should: +// +// 1. parse this proto (which should always succeed) +// 2. parse the protobuf or JSON payload in "payload" (which may fail) +// 3. if the parse succeeded, serialize the message in the requested format. +type ConformanceRequest struct { + // The payload (whether protobuf of JSON) is always for a TestAllTypes proto + // (see below). + // + // Types that are valid to be assigned to Payload: + // *ConformanceRequest_ProtobufPayload + // *ConformanceRequest_JsonPayload + Payload isConformanceRequest_Payload `protobuf_oneof:"payload"` + // Which format should the testee serialize its message to? + RequestedOutputFormat WireFormat `protobuf:"varint,3,opt,name=requested_output_format,json=requestedOutputFormat,proto3,enum=conformance.WireFormat" json:"requested_output_format,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConformanceRequest) Reset() { *m = ConformanceRequest{} } +func (m *ConformanceRequest) String() string { return proto.CompactTextString(m) } +func (*ConformanceRequest) ProtoMessage() {} +func (*ConformanceRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_conformance_64c26947649a56a9, []int{0} +} +func (m *ConformanceRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConformanceRequest.Unmarshal(m, b) +} +func (m *ConformanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConformanceRequest.Marshal(b, m, deterministic) +} +func (dst *ConformanceRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConformanceRequest.Merge(dst, src) +} +func (m *ConformanceRequest) XXX_Size() int { + return xxx_messageInfo_ConformanceRequest.Size(m) +} +func (m *ConformanceRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ConformanceRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ConformanceRequest proto.InternalMessageInfo + +type isConformanceRequest_Payload interface { + isConformanceRequest_Payload() +} + +type ConformanceRequest_ProtobufPayload struct { + ProtobufPayload []byte `protobuf:"bytes,1,opt,name=protobuf_payload,json=protobufPayload,proto3,oneof"` +} +type ConformanceRequest_JsonPayload struct { + JsonPayload string `protobuf:"bytes,2,opt,name=json_payload,json=jsonPayload,proto3,oneof"` +} + +func (*ConformanceRequest_ProtobufPayload) isConformanceRequest_Payload() {} +func (*ConformanceRequest_JsonPayload) isConformanceRequest_Payload() {} + +func (m *ConformanceRequest) GetPayload() isConformanceRequest_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *ConformanceRequest) GetProtobufPayload() []byte { + if x, ok := m.GetPayload().(*ConformanceRequest_ProtobufPayload); ok { + return x.ProtobufPayload + } + return nil +} + +func (m *ConformanceRequest) GetJsonPayload() string { + if x, ok := m.GetPayload().(*ConformanceRequest_JsonPayload); ok { + return x.JsonPayload + } + return "" +} + +func (m *ConformanceRequest) GetRequestedOutputFormat() WireFormat { + if m != nil { + return m.RequestedOutputFormat + } + return WireFormat_UNSPECIFIED +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*ConformanceRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _ConformanceRequest_OneofMarshaler, _ConformanceRequest_OneofUnmarshaler, _ConformanceRequest_OneofSizer, []interface{}{ + (*ConformanceRequest_ProtobufPayload)(nil), + (*ConformanceRequest_JsonPayload)(nil), + } +} + +func _ConformanceRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*ConformanceRequest) + // payload + switch x := m.Payload.(type) { + case *ConformanceRequest_ProtobufPayload: + _ = b.EncodeVarint(1<<3 | proto.WireBytes) + _ = b.EncodeRawBytes(x.ProtobufPayload) + case *ConformanceRequest_JsonPayload: + _ = b.EncodeVarint(2<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.JsonPayload) + case nil: + default: + return fmt.Errorf("ConformanceRequest.Payload has unexpected type %T", x) + } + return nil +} + +func _ConformanceRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*ConformanceRequest) + switch tag { + case 1: // payload.protobuf_payload + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeRawBytes(true) + m.Payload = &ConformanceRequest_ProtobufPayload{x} + return true, err + case 2: // payload.json_payload + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Payload = &ConformanceRequest_JsonPayload{x} + return true, err + default: + return false, nil + } +} + +func _ConformanceRequest_OneofSizer(msg proto.Message) (n int) { + m := msg.(*ConformanceRequest) + // payload + switch x := m.Payload.(type) { + case *ConformanceRequest_ProtobufPayload: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.ProtobufPayload))) + n += len(x.ProtobufPayload) + case *ConformanceRequest_JsonPayload: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.JsonPayload))) + n += len(x.JsonPayload) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +// Represents a single test case's output. +type ConformanceResponse struct { + // Types that are valid to be assigned to Result: + // *ConformanceResponse_ParseError + // *ConformanceResponse_SerializeError + // *ConformanceResponse_RuntimeError + // *ConformanceResponse_ProtobufPayload + // *ConformanceResponse_JsonPayload + // *ConformanceResponse_Skipped + Result isConformanceResponse_Result `protobuf_oneof:"result"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConformanceResponse) Reset() { *m = ConformanceResponse{} } +func (m *ConformanceResponse) String() string { return proto.CompactTextString(m) } +func (*ConformanceResponse) ProtoMessage() {} +func (*ConformanceResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_conformance_64c26947649a56a9, []int{1} +} +func (m *ConformanceResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConformanceResponse.Unmarshal(m, b) +} +func (m *ConformanceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConformanceResponse.Marshal(b, m, deterministic) +} +func (dst *ConformanceResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConformanceResponse.Merge(dst, src) +} +func (m *ConformanceResponse) XXX_Size() int { + return xxx_messageInfo_ConformanceResponse.Size(m) +} +func (m *ConformanceResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ConformanceResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ConformanceResponse proto.InternalMessageInfo + +type isConformanceResponse_Result interface { + isConformanceResponse_Result() +} + +type ConformanceResponse_ParseError struct { + ParseError string `protobuf:"bytes,1,opt,name=parse_error,json=parseError,proto3,oneof"` +} +type ConformanceResponse_SerializeError struct { + SerializeError string `protobuf:"bytes,6,opt,name=serialize_error,json=serializeError,proto3,oneof"` +} +type ConformanceResponse_RuntimeError struct { + RuntimeError string `protobuf:"bytes,2,opt,name=runtime_error,json=runtimeError,proto3,oneof"` +} +type ConformanceResponse_ProtobufPayload struct { + ProtobufPayload []byte `protobuf:"bytes,3,opt,name=protobuf_payload,json=protobufPayload,proto3,oneof"` +} +type ConformanceResponse_JsonPayload struct { + JsonPayload string `protobuf:"bytes,4,opt,name=json_payload,json=jsonPayload,proto3,oneof"` +} +type ConformanceResponse_Skipped struct { + Skipped string `protobuf:"bytes,5,opt,name=skipped,proto3,oneof"` +} + +func (*ConformanceResponse_ParseError) isConformanceResponse_Result() {} +func (*ConformanceResponse_SerializeError) isConformanceResponse_Result() {} +func (*ConformanceResponse_RuntimeError) isConformanceResponse_Result() {} +func (*ConformanceResponse_ProtobufPayload) isConformanceResponse_Result() {} +func (*ConformanceResponse_JsonPayload) isConformanceResponse_Result() {} +func (*ConformanceResponse_Skipped) isConformanceResponse_Result() {} + +func (m *ConformanceResponse) GetResult() isConformanceResponse_Result { + if m != nil { + return m.Result + } + return nil +} + +func (m *ConformanceResponse) GetParseError() string { + if x, ok := m.GetResult().(*ConformanceResponse_ParseError); ok { + return x.ParseError + } + return "" +} + +func (m *ConformanceResponse) GetSerializeError() string { + if x, ok := m.GetResult().(*ConformanceResponse_SerializeError); ok { + return x.SerializeError + } + return "" +} + +func (m *ConformanceResponse) GetRuntimeError() string { + if x, ok := m.GetResult().(*ConformanceResponse_RuntimeError); ok { + return x.RuntimeError + } + return "" +} + +func (m *ConformanceResponse) GetProtobufPayload() []byte { + if x, ok := m.GetResult().(*ConformanceResponse_ProtobufPayload); ok { + return x.ProtobufPayload + } + return nil +} + +func (m *ConformanceResponse) GetJsonPayload() string { + if x, ok := m.GetResult().(*ConformanceResponse_JsonPayload); ok { + return x.JsonPayload + } + return "" +} + +func (m *ConformanceResponse) GetSkipped() string { + if x, ok := m.GetResult().(*ConformanceResponse_Skipped); ok { + return x.Skipped + } + return "" +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*ConformanceResponse) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _ConformanceResponse_OneofMarshaler, _ConformanceResponse_OneofUnmarshaler, _ConformanceResponse_OneofSizer, []interface{}{ + (*ConformanceResponse_ParseError)(nil), + (*ConformanceResponse_SerializeError)(nil), + (*ConformanceResponse_RuntimeError)(nil), + (*ConformanceResponse_ProtobufPayload)(nil), + (*ConformanceResponse_JsonPayload)(nil), + (*ConformanceResponse_Skipped)(nil), + } +} + +func _ConformanceResponse_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*ConformanceResponse) + // result + switch x := m.Result.(type) { + case *ConformanceResponse_ParseError: + _ = b.EncodeVarint(1<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.ParseError) + case *ConformanceResponse_SerializeError: + _ = b.EncodeVarint(6<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.SerializeError) + case *ConformanceResponse_RuntimeError: + _ = b.EncodeVarint(2<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.RuntimeError) + case *ConformanceResponse_ProtobufPayload: + _ = b.EncodeVarint(3<<3 | proto.WireBytes) + _ = b.EncodeRawBytes(x.ProtobufPayload) + case *ConformanceResponse_JsonPayload: + _ = b.EncodeVarint(4<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.JsonPayload) + case *ConformanceResponse_Skipped: + _ = b.EncodeVarint(5<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.Skipped) + case nil: + default: + return fmt.Errorf("ConformanceResponse.Result has unexpected type %T", x) + } + return nil +} + +func _ConformanceResponse_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*ConformanceResponse) + switch tag { + case 1: // result.parse_error + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Result = &ConformanceResponse_ParseError{x} + return true, err + case 6: // result.serialize_error + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Result = &ConformanceResponse_SerializeError{x} + return true, err + case 2: // result.runtime_error + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Result = &ConformanceResponse_RuntimeError{x} + return true, err + case 3: // result.protobuf_payload + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeRawBytes(true) + m.Result = &ConformanceResponse_ProtobufPayload{x} + return true, err + case 4: // result.json_payload + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Result = &ConformanceResponse_JsonPayload{x} + return true, err + case 5: // result.skipped + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Result = &ConformanceResponse_Skipped{x} + return true, err + default: + return false, nil + } +} + +func _ConformanceResponse_OneofSizer(msg proto.Message) (n int) { + m := msg.(*ConformanceResponse) + // result + switch x := m.Result.(type) { + case *ConformanceResponse_ParseError: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.ParseError))) + n += len(x.ParseError) + case *ConformanceResponse_SerializeError: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.SerializeError))) + n += len(x.SerializeError) + case *ConformanceResponse_RuntimeError: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.RuntimeError))) + n += len(x.RuntimeError) + case *ConformanceResponse_ProtobufPayload: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.ProtobufPayload))) + n += len(x.ProtobufPayload) + case *ConformanceResponse_JsonPayload: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.JsonPayload))) + n += len(x.JsonPayload) + case *ConformanceResponse_Skipped: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.Skipped))) + n += len(x.Skipped) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +// This proto includes every type of field in both singular and repeated +// forms. +type TestAllTypes struct { + // Singular + OptionalInt32 int32 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32,proto3" json:"optional_int32,omitempty"` + OptionalInt64 int64 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64,proto3" json:"optional_int64,omitempty"` + OptionalUint32 uint32 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32,proto3" json:"optional_uint32,omitempty"` + OptionalUint64 uint64 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64,proto3" json:"optional_uint64,omitempty"` + OptionalSint32 int32 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32,proto3" json:"optional_sint32,omitempty"` + OptionalSint64 int64 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64,proto3" json:"optional_sint64,omitempty"` + OptionalFixed32 uint32 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32,proto3" json:"optional_fixed32,omitempty"` + OptionalFixed64 uint64 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64,proto3" json:"optional_fixed64,omitempty"` + OptionalSfixed32 int32 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32,proto3" json:"optional_sfixed32,omitempty"` + OptionalSfixed64 int64 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64,proto3" json:"optional_sfixed64,omitempty"` + OptionalFloat float32 `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat,proto3" json:"optional_float,omitempty"` + OptionalDouble float64 `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble,proto3" json:"optional_double,omitempty"` + OptionalBool bool `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool,proto3" json:"optional_bool,omitempty"` + OptionalString string `protobuf:"bytes,14,opt,name=optional_string,json=optionalString,proto3" json:"optional_string,omitempty"` + OptionalBytes []byte `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes,proto3" json:"optional_bytes,omitempty"` + OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage,proto3" json:"optional_nested_message,omitempty"` + OptionalForeignMessage *ForeignMessage `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage,proto3" json:"optional_foreign_message,omitempty"` + OptionalNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,proto3,enum=conformance.TestAllTypes_NestedEnum" json:"optional_nested_enum,omitempty"` + OptionalForeignEnum ForeignEnum `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,proto3,enum=conformance.ForeignEnum" json:"optional_foreign_enum,omitempty"` + OptionalStringPiece string `protobuf:"bytes,24,opt,name=optional_string_piece,json=optionalStringPiece,proto3" json:"optional_string_piece,omitempty"` + OptionalCord string `protobuf:"bytes,25,opt,name=optional_cord,json=optionalCord,proto3" json:"optional_cord,omitempty"` + RecursiveMessage *TestAllTypes `protobuf:"bytes,27,opt,name=recursive_message,json=recursiveMessage,proto3" json:"recursive_message,omitempty"` + // Repeated + RepeatedInt32 []int32 `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32,proto3" json:"repeated_int32,omitempty"` + RepeatedInt64 []int64 `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64,proto3" json:"repeated_int64,omitempty"` + RepeatedUint32 []uint32 `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32,proto3" json:"repeated_uint32,omitempty"` + RepeatedUint64 []uint64 `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64,proto3" json:"repeated_uint64,omitempty"` + RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32,proto3" json:"repeated_sint32,omitempty"` + RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64,proto3" json:"repeated_sint64,omitempty"` + RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32,proto3" json:"repeated_fixed32,omitempty"` + RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64,proto3" json:"repeated_fixed64,omitempty"` + RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32,proto3" json:"repeated_sfixed32,omitempty"` + RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64,proto3" json:"repeated_sfixed64,omitempty"` + RepeatedFloat []float32 `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat,proto3" json:"repeated_float,omitempty"` + RepeatedDouble []float64 `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble,proto3" json:"repeated_double,omitempty"` + RepeatedBool []bool `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool,proto3" json:"repeated_bool,omitempty"` + RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString,proto3" json:"repeated_string,omitempty"` + RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes,proto3" json:"repeated_bytes,omitempty"` + RepeatedNestedMessage []*TestAllTypes_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage,proto3" json:"repeated_nested_message,omitempty"` + RepeatedForeignMessage []*ForeignMessage `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage,proto3" json:"repeated_foreign_message,omitempty"` + RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,proto3,enum=conformance.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"` + RepeatedForeignEnum []ForeignEnum `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,proto3,enum=conformance.ForeignEnum" json:"repeated_foreign_enum,omitempty"` + RepeatedStringPiece []string `protobuf:"bytes,54,rep,name=repeated_string_piece,json=repeatedStringPiece,proto3" json:"repeated_string_piece,omitempty"` + RepeatedCord []string `protobuf:"bytes,55,rep,name=repeated_cord,json=repeatedCord,proto3" json:"repeated_cord,omitempty"` + // Map + MapInt32Int32 map[int32]int32 `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32,proto3" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + MapInt64Int64 map[int64]int64 `protobuf:"bytes,57,rep,name=map_int64_int64,json=mapInt64Int64,proto3" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + MapUint32Uint32 map[uint32]uint32 `protobuf:"bytes,58,rep,name=map_uint32_uint32,json=mapUint32Uint32,proto3" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + MapUint64Uint64 map[uint64]uint64 `protobuf:"bytes,59,rep,name=map_uint64_uint64,json=mapUint64Uint64,proto3" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + MapSint32Sint32 map[int32]int32 `protobuf:"bytes,60,rep,name=map_sint32_sint32,json=mapSint32Sint32,proto3" json:"map_sint32_sint32,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"zigzag32,2,opt,name=value,proto3"` + MapSint64Sint64 map[int64]int64 `protobuf:"bytes,61,rep,name=map_sint64_sint64,json=mapSint64Sint64,proto3" json:"map_sint64_sint64,omitempty" protobuf_key:"zigzag64,1,opt,name=key,proto3" protobuf_val:"zigzag64,2,opt,name=value,proto3"` + MapFixed32Fixed32 map[uint32]uint32 `protobuf:"bytes,62,rep,name=map_fixed32_fixed32,json=mapFixed32Fixed32,proto3" json:"map_fixed32_fixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"` + MapFixed64Fixed64 map[uint64]uint64 `protobuf:"bytes,63,rep,name=map_fixed64_fixed64,json=mapFixed64Fixed64,proto3" json:"map_fixed64_fixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` + MapSfixed32Sfixed32 map[int32]int32 `protobuf:"bytes,64,rep,name=map_sfixed32_sfixed32,json=mapSfixed32Sfixed32,proto3" json:"map_sfixed32_sfixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"` + MapSfixed64Sfixed64 map[int64]int64 `protobuf:"bytes,65,rep,name=map_sfixed64_sfixed64,json=mapSfixed64Sfixed64,proto3" json:"map_sfixed64_sfixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` + MapInt32Float map[int32]float32 `protobuf:"bytes,66,rep,name=map_int32_float,json=mapInt32Float,proto3" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"` + MapInt32Double map[int32]float64 `protobuf:"bytes,67,rep,name=map_int32_double,json=mapInt32Double,proto3" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` + MapBoolBool map[bool]bool `protobuf:"bytes,68,rep,name=map_bool_bool,json=mapBoolBool,proto3" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + MapStringString map[string]string `protobuf:"bytes,69,rep,name=map_string_string,json=mapStringString,proto3" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + MapStringBytes map[string][]byte `protobuf:"bytes,70,rep,name=map_string_bytes,json=mapStringBytes,proto3" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + MapStringNestedMessage map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,71,rep,name=map_string_nested_message,json=mapStringNestedMessage,proto3" json:"map_string_nested_message,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + MapStringForeignMessage map[string]*ForeignMessage `protobuf:"bytes,72,rep,name=map_string_foreign_message,json=mapStringForeignMessage,proto3" json:"map_string_foreign_message,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + MapStringNestedEnum map[string]TestAllTypes_NestedEnum `protobuf:"bytes,73,rep,name=map_string_nested_enum,json=mapStringNestedEnum,proto3" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=conformance.TestAllTypes_NestedEnum"` + MapStringForeignEnum map[string]ForeignEnum `protobuf:"bytes,74,rep,name=map_string_foreign_enum,json=mapStringForeignEnum,proto3" json:"map_string_foreign_enum,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=conformance.ForeignEnum"` + // Types that are valid to be assigned to OneofField: + // *TestAllTypes_OneofUint32 + // *TestAllTypes_OneofNestedMessage + // *TestAllTypes_OneofString + // *TestAllTypes_OneofBytes + OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"` + // Well-known types + OptionalBoolWrapper *types.BoolValue `protobuf:"bytes,201,opt,name=optional_bool_wrapper,json=optionalBoolWrapper,proto3" json:"optional_bool_wrapper,omitempty"` + OptionalInt32Wrapper *types.Int32Value `protobuf:"bytes,202,opt,name=optional_int32_wrapper,json=optionalInt32Wrapper,proto3" json:"optional_int32_wrapper,omitempty"` + OptionalInt64Wrapper *types.Int64Value `protobuf:"bytes,203,opt,name=optional_int64_wrapper,json=optionalInt64Wrapper,proto3" json:"optional_int64_wrapper,omitempty"` + OptionalUint32Wrapper *types.UInt32Value `protobuf:"bytes,204,opt,name=optional_uint32_wrapper,json=optionalUint32Wrapper,proto3" json:"optional_uint32_wrapper,omitempty"` + OptionalUint64Wrapper *types.UInt64Value `protobuf:"bytes,205,opt,name=optional_uint64_wrapper,json=optionalUint64Wrapper,proto3" json:"optional_uint64_wrapper,omitempty"` + OptionalFloatWrapper *types.FloatValue `protobuf:"bytes,206,opt,name=optional_float_wrapper,json=optionalFloatWrapper,proto3" json:"optional_float_wrapper,omitempty"` + OptionalDoubleWrapper *types.DoubleValue `protobuf:"bytes,207,opt,name=optional_double_wrapper,json=optionalDoubleWrapper,proto3" json:"optional_double_wrapper,omitempty"` + OptionalStringWrapper *types.StringValue `protobuf:"bytes,208,opt,name=optional_string_wrapper,json=optionalStringWrapper,proto3" json:"optional_string_wrapper,omitempty"` + OptionalBytesWrapper *types.BytesValue `protobuf:"bytes,209,opt,name=optional_bytes_wrapper,json=optionalBytesWrapper,proto3" json:"optional_bytes_wrapper,omitempty"` + RepeatedBoolWrapper []*types.BoolValue `protobuf:"bytes,211,rep,name=repeated_bool_wrapper,json=repeatedBoolWrapper,proto3" json:"repeated_bool_wrapper,omitempty"` + RepeatedInt32Wrapper []*types.Int32Value `protobuf:"bytes,212,rep,name=repeated_int32_wrapper,json=repeatedInt32Wrapper,proto3" json:"repeated_int32_wrapper,omitempty"` + RepeatedInt64Wrapper []*types.Int64Value `protobuf:"bytes,213,rep,name=repeated_int64_wrapper,json=repeatedInt64Wrapper,proto3" json:"repeated_int64_wrapper,omitempty"` + RepeatedUint32Wrapper []*types.UInt32Value `protobuf:"bytes,214,rep,name=repeated_uint32_wrapper,json=repeatedUint32Wrapper,proto3" json:"repeated_uint32_wrapper,omitempty"` + RepeatedUint64Wrapper []*types.UInt64Value `protobuf:"bytes,215,rep,name=repeated_uint64_wrapper,json=repeatedUint64Wrapper,proto3" json:"repeated_uint64_wrapper,omitempty"` + RepeatedFloatWrapper []*types.FloatValue `protobuf:"bytes,216,rep,name=repeated_float_wrapper,json=repeatedFloatWrapper,proto3" json:"repeated_float_wrapper,omitempty"` + RepeatedDoubleWrapper []*types.DoubleValue `protobuf:"bytes,217,rep,name=repeated_double_wrapper,json=repeatedDoubleWrapper,proto3" json:"repeated_double_wrapper,omitempty"` + RepeatedStringWrapper []*types.StringValue `protobuf:"bytes,218,rep,name=repeated_string_wrapper,json=repeatedStringWrapper,proto3" json:"repeated_string_wrapper,omitempty"` + RepeatedBytesWrapper []*types.BytesValue `protobuf:"bytes,219,rep,name=repeated_bytes_wrapper,json=repeatedBytesWrapper,proto3" json:"repeated_bytes_wrapper,omitempty"` + OptionalDuration *types.Duration `protobuf:"bytes,301,opt,name=optional_duration,json=optionalDuration,proto3" json:"optional_duration,omitempty"` + OptionalTimestamp *types.Timestamp `protobuf:"bytes,302,opt,name=optional_timestamp,json=optionalTimestamp,proto3" json:"optional_timestamp,omitempty"` + OptionalFieldMask *types.FieldMask `protobuf:"bytes,303,opt,name=optional_field_mask,json=optionalFieldMask,proto3" json:"optional_field_mask,omitempty"` + OptionalStruct *types.Struct `protobuf:"bytes,304,opt,name=optional_struct,json=optionalStruct,proto3" json:"optional_struct,omitempty"` + OptionalAny *types.Any `protobuf:"bytes,305,opt,name=optional_any,json=optionalAny,proto3" json:"optional_any,omitempty"` + OptionalValue *types.Value `protobuf:"bytes,306,opt,name=optional_value,json=optionalValue,proto3" json:"optional_value,omitempty"` + RepeatedDuration []*types.Duration `protobuf:"bytes,311,rep,name=repeated_duration,json=repeatedDuration,proto3" json:"repeated_duration,omitempty"` + RepeatedTimestamp []*types.Timestamp `protobuf:"bytes,312,rep,name=repeated_timestamp,json=repeatedTimestamp,proto3" json:"repeated_timestamp,omitempty"` + RepeatedFieldmask []*types.FieldMask `protobuf:"bytes,313,rep,name=repeated_fieldmask,json=repeatedFieldmask,proto3" json:"repeated_fieldmask,omitempty"` + RepeatedStruct []*types.Struct `protobuf:"bytes,324,rep,name=repeated_struct,json=repeatedStruct,proto3" json:"repeated_struct,omitempty"` + RepeatedAny []*types.Any `protobuf:"bytes,315,rep,name=repeated_any,json=repeatedAny,proto3" json:"repeated_any,omitempty"` + RepeatedValue []*types.Value `protobuf:"bytes,316,rep,name=repeated_value,json=repeatedValue,proto3" json:"repeated_value,omitempty"` + // Test field-name-to-JSON-name convention. + Fieldname1 int32 `protobuf:"varint,401,opt,name=fieldname1,proto3" json:"fieldname1,omitempty"` + FieldName2 int32 `protobuf:"varint,402,opt,name=field_name2,json=fieldName2,proto3" json:"field_name2,omitempty"` + XFieldName3 int32 `protobuf:"varint,403,opt,name=_field_name3,json=FieldName3,proto3" json:"_field_name3,omitempty"` + Field_Name4_ int32 `protobuf:"varint,404,opt,name=field__name4_,json=fieldName4,proto3" json:"field__name4_,omitempty"` + Field0Name5 int32 `protobuf:"varint,405,opt,name=field0name5,proto3" json:"field0name5,omitempty"` + Field_0Name6 int32 `protobuf:"varint,406,opt,name=field_0_name6,json=field0Name6,proto3" json:"field_0_name6,omitempty"` + FieldName7 int32 `protobuf:"varint,407,opt,name=fieldName7,proto3" json:"fieldName7,omitempty"` + FieldName8 int32 `protobuf:"varint,408,opt,name=FieldName8,proto3" json:"FieldName8,omitempty"` + Field_Name9 int32 `protobuf:"varint,409,opt,name=field_Name9,json=fieldName9,proto3" json:"field_Name9,omitempty"` + Field_Name10 int32 `protobuf:"varint,410,opt,name=Field_Name10,json=FieldName10,proto3" json:"Field_Name10,omitempty"` + FIELD_NAME11 int32 `protobuf:"varint,411,opt,name=FIELD_NAME11,json=FIELDNAME11,proto3" json:"FIELD_NAME11,omitempty"` + FIELDName12 int32 `protobuf:"varint,412,opt,name=FIELD_name12,json=FIELDName12,proto3" json:"FIELD_name12,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TestAllTypes) Reset() { *m = TestAllTypes{} } +func (m *TestAllTypes) String() string { return proto.CompactTextString(m) } +func (*TestAllTypes) ProtoMessage() {} +func (*TestAllTypes) Descriptor() ([]byte, []int) { + return fileDescriptor_conformance_64c26947649a56a9, []int{2} +} +func (m *TestAllTypes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TestAllTypes.Unmarshal(m, b) +} +func (m *TestAllTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TestAllTypes.Marshal(b, m, deterministic) +} +func (dst *TestAllTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestAllTypes.Merge(dst, src) +} +func (m *TestAllTypes) XXX_Size() int { + return xxx_messageInfo_TestAllTypes.Size(m) +} +func (m *TestAllTypes) XXX_DiscardUnknown() { + xxx_messageInfo_TestAllTypes.DiscardUnknown(m) +} + +var xxx_messageInfo_TestAllTypes proto.InternalMessageInfo + +type isTestAllTypes_OneofField interface { + isTestAllTypes_OneofField() +} + +type TestAllTypes_OneofUint32 struct { + OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,proto3,oneof"` +} +type TestAllTypes_OneofNestedMessage struct { + OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,proto3,oneof"` +} +type TestAllTypes_OneofString struct { + OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,proto3,oneof"` +} +type TestAllTypes_OneofBytes struct { + OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,proto3,oneof"` +} + +func (*TestAllTypes_OneofUint32) isTestAllTypes_OneofField() {} +func (*TestAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {} +func (*TestAllTypes_OneofString) isTestAllTypes_OneofField() {} +func (*TestAllTypes_OneofBytes) isTestAllTypes_OneofField() {} + +func (m *TestAllTypes) GetOneofField() isTestAllTypes_OneofField { + if m != nil { + return m.OneofField + } + return nil +} + +func (m *TestAllTypes) GetOptionalInt32() int32 { + if m != nil { + return m.OptionalInt32 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalInt64() int64 { + if m != nil { + return m.OptionalInt64 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalUint32() uint32 { + if m != nil { + return m.OptionalUint32 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalUint64() uint64 { + if m != nil { + return m.OptionalUint64 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalSint32() int32 { + if m != nil { + return m.OptionalSint32 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalSint64() int64 { + if m != nil { + return m.OptionalSint64 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalFixed32() uint32 { + if m != nil { + return m.OptionalFixed32 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalFixed64() uint64 { + if m != nil { + return m.OptionalFixed64 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalSfixed32() int32 { + if m != nil { + return m.OptionalSfixed32 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalSfixed64() int64 { + if m != nil { + return m.OptionalSfixed64 + } + return 0 +} + +func (m *TestAllTypes) GetOptionalFloat() float32 { + if m != nil { + return m.OptionalFloat + } + return 0 +} + +func (m *TestAllTypes) GetOptionalDouble() float64 { + if m != nil { + return m.OptionalDouble + } + return 0 +} + +func (m *TestAllTypes) GetOptionalBool() bool { + if m != nil { + return m.OptionalBool + } + return false +} + +func (m *TestAllTypes) GetOptionalString() string { + if m != nil { + return m.OptionalString + } + return "" +} + +func (m *TestAllTypes) GetOptionalBytes() []byte { + if m != nil { + return m.OptionalBytes + } + return nil +} + +func (m *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage { + if m != nil { + return m.OptionalNestedMessage + } + return nil +} + +func (m *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage { + if m != nil { + return m.OptionalForeignMessage + } + return nil +} + +func (m *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum { + if m != nil { + return m.OptionalNestedEnum + } + return TestAllTypes_FOO +} + +func (m *TestAllTypes) GetOptionalForeignEnum() ForeignEnum { + if m != nil { + return m.OptionalForeignEnum + } + return ForeignEnum_FOREIGN_FOO +} + +func (m *TestAllTypes) GetOptionalStringPiece() string { + if m != nil { + return m.OptionalStringPiece + } + return "" +} + +func (m *TestAllTypes) GetOptionalCord() string { + if m != nil { + return m.OptionalCord + } + return "" +} + +func (m *TestAllTypes) GetRecursiveMessage() *TestAllTypes { + if m != nil { + return m.RecursiveMessage + } + return nil +} + +func (m *TestAllTypes) GetRepeatedInt32() []int32 { + if m != nil { + return m.RepeatedInt32 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedInt64() []int64 { + if m != nil { + return m.RepeatedInt64 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedUint32() []uint32 { + if m != nil { + return m.RepeatedUint32 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedUint64() []uint64 { + if m != nil { + return m.RepeatedUint64 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedSint32() []int32 { + if m != nil { + return m.RepeatedSint32 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedSint64() []int64 { + if m != nil { + return m.RepeatedSint64 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedFixed32() []uint32 { + if m != nil { + return m.RepeatedFixed32 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedFixed64() []uint64 { + if m != nil { + return m.RepeatedFixed64 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedSfixed32() []int32 { + if m != nil { + return m.RepeatedSfixed32 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedSfixed64() []int64 { + if m != nil { + return m.RepeatedSfixed64 + } + return nil +} + +func (m *TestAllTypes) GetRepeatedFloat() []float32 { + if m != nil { + return m.RepeatedFloat + } + return nil +} + +func (m *TestAllTypes) GetRepeatedDouble() []float64 { + if m != nil { + return m.RepeatedDouble + } + return nil +} + +func (m *TestAllTypes) GetRepeatedBool() []bool { + if m != nil { + return m.RepeatedBool + } + return nil +} + +func (m *TestAllTypes) GetRepeatedString() []string { + if m != nil { + return m.RepeatedString + } + return nil +} + +func (m *TestAllTypes) GetRepeatedBytes() [][]byte { + if m != nil { + return m.RepeatedBytes + } + return nil +} + +func (m *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage { + if m != nil { + return m.RepeatedNestedMessage + } + return nil +} + +func (m *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage { + if m != nil { + return m.RepeatedForeignMessage + } + return nil +} + +func (m *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum { + if m != nil { + return m.RepeatedNestedEnum + } + return nil +} + +func (m *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum { + if m != nil { + return m.RepeatedForeignEnum + } + return nil +} + +func (m *TestAllTypes) GetRepeatedStringPiece() []string { + if m != nil { + return m.RepeatedStringPiece + } + return nil +} + +func (m *TestAllTypes) GetRepeatedCord() []string { + if m != nil { + return m.RepeatedCord + } + return nil +} + +func (m *TestAllTypes) GetMapInt32Int32() map[int32]int32 { + if m != nil { + return m.MapInt32Int32 + } + return nil +} + +func (m *TestAllTypes) GetMapInt64Int64() map[int64]int64 { + if m != nil { + return m.MapInt64Int64 + } + return nil +} + +func (m *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 { + if m != nil { + return m.MapUint32Uint32 + } + return nil +} + +func (m *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 { + if m != nil { + return m.MapUint64Uint64 + } + return nil +} + +func (m *TestAllTypes) GetMapSint32Sint32() map[int32]int32 { + if m != nil { + return m.MapSint32Sint32 + } + return nil +} + +func (m *TestAllTypes) GetMapSint64Sint64() map[int64]int64 { + if m != nil { + return m.MapSint64Sint64 + } + return nil +} + +func (m *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 { + if m != nil { + return m.MapFixed32Fixed32 + } + return nil +} + +func (m *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 { + if m != nil { + return m.MapFixed64Fixed64 + } + return nil +} + +func (m *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 { + if m != nil { + return m.MapSfixed32Sfixed32 + } + return nil +} + +func (m *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 { + if m != nil { + return m.MapSfixed64Sfixed64 + } + return nil +} + +func (m *TestAllTypes) GetMapInt32Float() map[int32]float32 { + if m != nil { + return m.MapInt32Float + } + return nil +} + +func (m *TestAllTypes) GetMapInt32Double() map[int32]float64 { + if m != nil { + return m.MapInt32Double + } + return nil +} + +func (m *TestAllTypes) GetMapBoolBool() map[bool]bool { + if m != nil { + return m.MapBoolBool + } + return nil +} + +func (m *TestAllTypes) GetMapStringString() map[string]string { + if m != nil { + return m.MapStringString + } + return nil +} + +func (m *TestAllTypes) GetMapStringBytes() map[string][]byte { + if m != nil { + return m.MapStringBytes + } + return nil +} + +func (m *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage { + if m != nil { + return m.MapStringNestedMessage + } + return nil +} + +func (m *TestAllTypes) GetMapStringForeignMessage() map[string]*ForeignMessage { + if m != nil { + return m.MapStringForeignMessage + } + return nil +} + +func (m *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum { + if m != nil { + return m.MapStringNestedEnum + } + return nil +} + +func (m *TestAllTypes) GetMapStringForeignEnum() map[string]ForeignEnum { + if m != nil { + return m.MapStringForeignEnum + } + return nil +} + +func (m *TestAllTypes) GetOneofUint32() uint32 { + if x, ok := m.GetOneofField().(*TestAllTypes_OneofUint32); ok { + return x.OneofUint32 + } + return 0 +} + +func (m *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage { + if x, ok := m.GetOneofField().(*TestAllTypes_OneofNestedMessage); ok { + return x.OneofNestedMessage + } + return nil +} + +func (m *TestAllTypes) GetOneofString() string { + if x, ok := m.GetOneofField().(*TestAllTypes_OneofString); ok { + return x.OneofString + } + return "" +} + +func (m *TestAllTypes) GetOneofBytes() []byte { + if x, ok := m.GetOneofField().(*TestAllTypes_OneofBytes); ok { + return x.OneofBytes + } + return nil +} + +func (m *TestAllTypes) GetOptionalBoolWrapper() *types.BoolValue { + if m != nil { + return m.OptionalBoolWrapper + } + return nil +} + +func (m *TestAllTypes) GetOptionalInt32Wrapper() *types.Int32Value { + if m != nil { + return m.OptionalInt32Wrapper + } + return nil +} + +func (m *TestAllTypes) GetOptionalInt64Wrapper() *types.Int64Value { + if m != nil { + return m.OptionalInt64Wrapper + } + return nil +} + +func (m *TestAllTypes) GetOptionalUint32Wrapper() *types.UInt32Value { + if m != nil { + return m.OptionalUint32Wrapper + } + return nil +} + +func (m *TestAllTypes) GetOptionalUint64Wrapper() *types.UInt64Value { + if m != nil { + return m.OptionalUint64Wrapper + } + return nil +} + +func (m *TestAllTypes) GetOptionalFloatWrapper() *types.FloatValue { + if m != nil { + return m.OptionalFloatWrapper + } + return nil +} + +func (m *TestAllTypes) GetOptionalDoubleWrapper() *types.DoubleValue { + if m != nil { + return m.OptionalDoubleWrapper + } + return nil +} + +func (m *TestAllTypes) GetOptionalStringWrapper() *types.StringValue { + if m != nil { + return m.OptionalStringWrapper + } + return nil +} + +func (m *TestAllTypes) GetOptionalBytesWrapper() *types.BytesValue { + if m != nil { + return m.OptionalBytesWrapper + } + return nil +} + +func (m *TestAllTypes) GetRepeatedBoolWrapper() []*types.BoolValue { + if m != nil { + return m.RepeatedBoolWrapper + } + return nil +} + +func (m *TestAllTypes) GetRepeatedInt32Wrapper() []*types.Int32Value { + if m != nil { + return m.RepeatedInt32Wrapper + } + return nil +} + +func (m *TestAllTypes) GetRepeatedInt64Wrapper() []*types.Int64Value { + if m != nil { + return m.RepeatedInt64Wrapper + } + return nil +} + +func (m *TestAllTypes) GetRepeatedUint32Wrapper() []*types.UInt32Value { + if m != nil { + return m.RepeatedUint32Wrapper + } + return nil +} + +func (m *TestAllTypes) GetRepeatedUint64Wrapper() []*types.UInt64Value { + if m != nil { + return m.RepeatedUint64Wrapper + } + return nil +} + +func (m *TestAllTypes) GetRepeatedFloatWrapper() []*types.FloatValue { + if m != nil { + return m.RepeatedFloatWrapper + } + return nil +} + +func (m *TestAllTypes) GetRepeatedDoubleWrapper() []*types.DoubleValue { + if m != nil { + return m.RepeatedDoubleWrapper + } + return nil +} + +func (m *TestAllTypes) GetRepeatedStringWrapper() []*types.StringValue { + if m != nil { + return m.RepeatedStringWrapper + } + return nil +} + +func (m *TestAllTypes) GetRepeatedBytesWrapper() []*types.BytesValue { + if m != nil { + return m.RepeatedBytesWrapper + } + return nil +} + +func (m *TestAllTypes) GetOptionalDuration() *types.Duration { + if m != nil { + return m.OptionalDuration + } + return nil +} + +func (m *TestAllTypes) GetOptionalTimestamp() *types.Timestamp { + if m != nil { + return m.OptionalTimestamp + } + return nil +} + +func (m *TestAllTypes) GetOptionalFieldMask() *types.FieldMask { + if m != nil { + return m.OptionalFieldMask + } + return nil +} + +func (m *TestAllTypes) GetOptionalStruct() *types.Struct { + if m != nil { + return m.OptionalStruct + } + return nil +} + +func (m *TestAllTypes) GetOptionalAny() *types.Any { + if m != nil { + return m.OptionalAny + } + return nil +} + +func (m *TestAllTypes) GetOptionalValue() *types.Value { + if m != nil { + return m.OptionalValue + } + return nil +} + +func (m *TestAllTypes) GetRepeatedDuration() []*types.Duration { + if m != nil { + return m.RepeatedDuration + } + return nil +} + +func (m *TestAllTypes) GetRepeatedTimestamp() []*types.Timestamp { + if m != nil { + return m.RepeatedTimestamp + } + return nil +} + +func (m *TestAllTypes) GetRepeatedFieldmask() []*types.FieldMask { + if m != nil { + return m.RepeatedFieldmask + } + return nil +} + +func (m *TestAllTypes) GetRepeatedStruct() []*types.Struct { + if m != nil { + return m.RepeatedStruct + } + return nil +} + +func (m *TestAllTypes) GetRepeatedAny() []*types.Any { + if m != nil { + return m.RepeatedAny + } + return nil +} + +func (m *TestAllTypes) GetRepeatedValue() []*types.Value { + if m != nil { + return m.RepeatedValue + } + return nil +} + +func (m *TestAllTypes) GetFieldname1() int32 { + if m != nil { + return m.Fieldname1 + } + return 0 +} + +func (m *TestAllTypes) GetFieldName2() int32 { + if m != nil { + return m.FieldName2 + } + return 0 +} + +func (m *TestAllTypes) GetXFieldName3() int32 { + if m != nil { + return m.XFieldName3 + } + return 0 +} + +func (m *TestAllTypes) GetField_Name4_() int32 { + if m != nil { + return m.Field_Name4_ + } + return 0 +} + +func (m *TestAllTypes) GetField0Name5() int32 { + if m != nil { + return m.Field0Name5 + } + return 0 +} + +func (m *TestAllTypes) GetField_0Name6() int32 { + if m != nil { + return m.Field_0Name6 + } + return 0 +} + +func (m *TestAllTypes) GetFieldName7() int32 { + if m != nil { + return m.FieldName7 + } + return 0 +} + +func (m *TestAllTypes) GetFieldName8() int32 { + if m != nil { + return m.FieldName8 + } + return 0 +} + +func (m *TestAllTypes) GetField_Name9() int32 { + if m != nil { + return m.Field_Name9 + } + return 0 +} + +func (m *TestAllTypes) GetField_Name10() int32 { + if m != nil { + return m.Field_Name10 + } + return 0 +} + +func (m *TestAllTypes) GetFIELD_NAME11() int32 { + if m != nil { + return m.FIELD_NAME11 + } + return 0 +} + +func (m *TestAllTypes) GetFIELDName12() int32 { + if m != nil { + return m.FIELDName12 + } + return 0 +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*TestAllTypes) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _TestAllTypes_OneofMarshaler, _TestAllTypes_OneofUnmarshaler, _TestAllTypes_OneofSizer, []interface{}{ + (*TestAllTypes_OneofUint32)(nil), + (*TestAllTypes_OneofNestedMessage)(nil), + (*TestAllTypes_OneofString)(nil), + (*TestAllTypes_OneofBytes)(nil), + } +} + +func _TestAllTypes_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*TestAllTypes) + // oneof_field + switch x := m.OneofField.(type) { + case *TestAllTypes_OneofUint32: + _ = b.EncodeVarint(111<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.OneofUint32)) + case *TestAllTypes_OneofNestedMessage: + _ = b.EncodeVarint(112<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.OneofNestedMessage); err != nil { + return err + } + case *TestAllTypes_OneofString: + _ = b.EncodeVarint(113<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.OneofString) + case *TestAllTypes_OneofBytes: + _ = b.EncodeVarint(114<<3 | proto.WireBytes) + _ = b.EncodeRawBytes(x.OneofBytes) + case nil: + default: + return fmt.Errorf("TestAllTypes.OneofField has unexpected type %T", x) + } + return nil +} + +func _TestAllTypes_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*TestAllTypes) + switch tag { + case 111: // oneof_field.oneof_uint32 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.OneofField = &TestAllTypes_OneofUint32{uint32(x)} + return true, err + case 112: // oneof_field.oneof_nested_message + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(TestAllTypes_NestedMessage) + err := b.DecodeMessage(msg) + m.OneofField = &TestAllTypes_OneofNestedMessage{msg} + return true, err + case 113: // oneof_field.oneof_string + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.OneofField = &TestAllTypes_OneofString{x} + return true, err + case 114: // oneof_field.oneof_bytes + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeRawBytes(true) + m.OneofField = &TestAllTypes_OneofBytes{x} + return true, err + default: + return false, nil + } +} + +func _TestAllTypes_OneofSizer(msg proto.Message) (n int) { + m := msg.(*TestAllTypes) + // oneof_field + switch x := m.OneofField.(type) { + case *TestAllTypes_OneofUint32: + n += 2 // tag and wire + n += proto.SizeVarint(uint64(x.OneofUint32)) + case *TestAllTypes_OneofNestedMessage: + s := proto.Size(x.OneofNestedMessage) + n += 2 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *TestAllTypes_OneofString: + n += 2 // tag and wire + n += proto.SizeVarint(uint64(len(x.OneofString))) + n += len(x.OneofString) + case *TestAllTypes_OneofBytes: + n += 2 // tag and wire + n += proto.SizeVarint(uint64(len(x.OneofBytes))) + n += len(x.OneofBytes) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type TestAllTypes_NestedMessage struct { + A int32 `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"` + Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TestAllTypes_NestedMessage) Reset() { *m = TestAllTypes_NestedMessage{} } +func (m *TestAllTypes_NestedMessage) String() string { return proto.CompactTextString(m) } +func (*TestAllTypes_NestedMessage) ProtoMessage() {} +func (*TestAllTypes_NestedMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_conformance_64c26947649a56a9, []int{2, 0} +} +func (m *TestAllTypes_NestedMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TestAllTypes_NestedMessage.Unmarshal(m, b) +} +func (m *TestAllTypes_NestedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TestAllTypes_NestedMessage.Marshal(b, m, deterministic) +} +func (dst *TestAllTypes_NestedMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestAllTypes_NestedMessage.Merge(dst, src) +} +func (m *TestAllTypes_NestedMessage) XXX_Size() int { + return xxx_messageInfo_TestAllTypes_NestedMessage.Size(m) +} +func (m *TestAllTypes_NestedMessage) XXX_DiscardUnknown() { + xxx_messageInfo_TestAllTypes_NestedMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_TestAllTypes_NestedMessage proto.InternalMessageInfo + +func (m *TestAllTypes_NestedMessage) GetA() int32 { + if m != nil { + return m.A + } + return 0 +} + +func (m *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes { + if m != nil { + return m.Corecursive + } + return nil +} + +type ForeignMessage struct { + C int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ForeignMessage) Reset() { *m = ForeignMessage{} } +func (m *ForeignMessage) String() string { return proto.CompactTextString(m) } +func (*ForeignMessage) ProtoMessage() {} +func (*ForeignMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_conformance_64c26947649a56a9, []int{3} +} +func (m *ForeignMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ForeignMessage.Unmarshal(m, b) +} +func (m *ForeignMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ForeignMessage.Marshal(b, m, deterministic) +} +func (dst *ForeignMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_ForeignMessage.Merge(dst, src) +} +func (m *ForeignMessage) XXX_Size() int { + return xxx_messageInfo_ForeignMessage.Size(m) +} +func (m *ForeignMessage) XXX_DiscardUnknown() { + xxx_messageInfo_ForeignMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_ForeignMessage proto.InternalMessageInfo + +func (m *ForeignMessage) GetC() int32 { + if m != nil { + return m.C + } + return 0 +} + +func init() { + proto.RegisterType((*ConformanceRequest)(nil), "conformance.ConformanceRequest") + proto.RegisterType((*ConformanceResponse)(nil), "conformance.ConformanceResponse") + proto.RegisterType((*TestAllTypes)(nil), "conformance.TestAllTypes") + proto.RegisterMapType((map[bool]bool)(nil), "conformance.TestAllTypes.MapBoolBoolEntry") + proto.RegisterMapType((map[uint32]uint32)(nil), "conformance.TestAllTypes.MapFixed32Fixed32Entry") + proto.RegisterMapType((map[uint64]uint64)(nil), "conformance.TestAllTypes.MapFixed64Fixed64Entry") + proto.RegisterMapType((map[int32]float64)(nil), "conformance.TestAllTypes.MapInt32DoubleEntry") + proto.RegisterMapType((map[int32]float32)(nil), "conformance.TestAllTypes.MapInt32FloatEntry") + proto.RegisterMapType((map[int32]int32)(nil), "conformance.TestAllTypes.MapInt32Int32Entry") + proto.RegisterMapType((map[int64]int64)(nil), "conformance.TestAllTypes.MapInt64Int64Entry") + proto.RegisterMapType((map[int32]int32)(nil), "conformance.TestAllTypes.MapSfixed32Sfixed32Entry") + proto.RegisterMapType((map[int64]int64)(nil), "conformance.TestAllTypes.MapSfixed64Sfixed64Entry") + proto.RegisterMapType((map[int32]int32)(nil), "conformance.TestAllTypes.MapSint32Sint32Entry") + proto.RegisterMapType((map[int64]int64)(nil), "conformance.TestAllTypes.MapSint64Sint64Entry") + proto.RegisterMapType((map[string][]byte)(nil), "conformance.TestAllTypes.MapStringBytesEntry") + proto.RegisterMapType((map[string]ForeignEnum)(nil), "conformance.TestAllTypes.MapStringForeignEnumEntry") + proto.RegisterMapType((map[string]*ForeignMessage)(nil), "conformance.TestAllTypes.MapStringForeignMessageEntry") + proto.RegisterMapType((map[string]TestAllTypes_NestedEnum)(nil), "conformance.TestAllTypes.MapStringNestedEnumEntry") + proto.RegisterMapType((map[string]*TestAllTypes_NestedMessage)(nil), "conformance.TestAllTypes.MapStringNestedMessageEntry") + proto.RegisterMapType((map[string]string)(nil), "conformance.TestAllTypes.MapStringStringEntry") + proto.RegisterMapType((map[uint32]uint32)(nil), "conformance.TestAllTypes.MapUint32Uint32Entry") + proto.RegisterMapType((map[uint64]uint64)(nil), "conformance.TestAllTypes.MapUint64Uint64Entry") + proto.RegisterType((*TestAllTypes_NestedMessage)(nil), "conformance.TestAllTypes.NestedMessage") + proto.RegisterType((*ForeignMessage)(nil), "conformance.ForeignMessage") + proto.RegisterEnum("conformance.WireFormat", WireFormat_name, WireFormat_value) + proto.RegisterEnum("conformance.ForeignEnum", ForeignEnum_name, ForeignEnum_value) + proto.RegisterEnum("conformance.TestAllTypes_NestedEnum", TestAllTypes_NestedEnum_name, TestAllTypes_NestedEnum_value) +} + +func init() { + proto.RegisterFile("internal/conformance_proto/conformance.proto", fileDescriptor_conformance_64c26947649a56a9) +} + +var fileDescriptor_conformance_64c26947649a56a9 = []byte{ + // 2611 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x5a, 0x59, 0x73, 0xdb, 0xc8, + 0x11, 0x16, 0x08, 0x5b, 0x92, 0x87, 0x94, 0x44, 0x8d, 0xae, 0xb1, 0xec, 0x5a, 0xc3, 0xf2, 0x3a, + 0xa6, 0x8f, 0x95, 0x75, 0xc0, 0xf0, 0xb1, 0x59, 0xc7, 0xa2, 0x4d, 0xda, 0x72, 0xd6, 0xa2, 0x0b, + 0xb2, 0xd6, 0x55, 0xce, 0x03, 0x03, 0x51, 0x90, 0x8a, 0x6b, 0x12, 0xe0, 0x02, 0xe0, 0x26, 0xca, + 0x63, 0xfe, 0x41, 0xee, 0xf3, 0x2f, 0xe4, 0xac, 0x4a, 0x25, 0xa9, 0xe4, 0x29, 0x95, 0x97, 0xdc, + 0x49, 0xe5, 0x4e, 0x7e, 0x4c, 0x52, 0x73, 0x62, 0x66, 0x08, 0x50, 0xf4, 0x56, 0x2d, 0x25, 0xf6, + 0x7c, 0xf3, 0x75, 0x4f, 0x4f, 0xe3, 0x1b, 0x4d, 0xc3, 0xe0, 0x46, 0x3b, 0x48, 0xfc, 0x28, 0xf0, + 0x3a, 0x37, 0x5b, 0x61, 0x70, 0x18, 0x46, 0x5d, 0x2f, 0x68, 0xf9, 0xcd, 0x5e, 0x14, 0x26, 0xa1, + 0x6c, 0x59, 0x25, 0x16, 0x58, 0x94, 0x4c, 0xcb, 0x67, 0x8f, 0xc2, 0xf0, 0xa8, 0xe3, 0xdf, 0x24, + 0x43, 0xfb, 0xfd, 0xc3, 0x9b, 0x5e, 0x70, 0x4c, 0x71, 0xcb, 0x6f, 0xe9, 0x43, 0x07, 0xfd, 0xc8, + 0x4b, 0xda, 0x61, 0xc0, 0xc6, 0x2d, 0x7d, 0xfc, 0xb0, 0xed, 0x77, 0x0e, 0x9a, 0x5d, 0x2f, 0x7e, + 0xcd, 0x10, 0xe7, 0x75, 0x44, 0x9c, 0x44, 0xfd, 0x56, 0xc2, 0x46, 0x2f, 0xe8, 0xa3, 0x49, 0xbb, + 0xeb, 0xc7, 0x89, 0xd7, 0xed, 0xe5, 0x05, 0xf0, 0xb9, 0xc8, 0xeb, 0xf5, 0xfc, 0x28, 0xa6, 0xe3, + 0x2b, 0xbf, 0x32, 0x00, 0x7c, 0x98, 0xae, 0xc5, 0xf5, 0x3f, 0xea, 0xfb, 0x71, 0x02, 0xaf, 0x83, + 0x32, 0x9f, 0xd1, 0xec, 0x79, 0xc7, 0x9d, 0xd0, 0x3b, 0x40, 0x86, 0x65, 0x54, 0x4a, 0x4f, 0xc6, + 0xdc, 0x19, 0x3e, 0xf2, 0x9c, 0x0e, 0xc0, 0x4b, 0xa0, 0xf4, 0x61, 0x1c, 0x06, 0x02, 0x58, 0xb0, + 0x8c, 0xca, 0x99, 0x27, 0x63, 0x6e, 0x11, 0x5b, 0x39, 0xa8, 0x01, 0x96, 0x22, 0x4a, 0xee, 0x1f, + 0x34, 0xc3, 0x7e, 0xd2, 0xeb, 0x27, 0x4d, 0xe2, 0x35, 0x41, 0xa6, 0x65, 0x54, 0xa6, 0x37, 0x96, + 0x56, 0xe5, 0x34, 0xbf, 0x6c, 0x47, 0x7e, 0x9d, 0x0c, 0xbb, 0x0b, 0x62, 0x5e, 0x83, 0x4c, 0xa3, + 0xe6, 0xea, 0x19, 0x30, 0xc1, 0x1c, 0xae, 0x7c, 0xb1, 0x00, 0xe6, 0x94, 0x45, 0xc4, 0xbd, 0x30, + 0x88, 0x7d, 0x78, 0x11, 0x14, 0x7b, 0x5e, 0x14, 0xfb, 0x4d, 0x3f, 0x8a, 0xc2, 0x88, 0x2c, 0x00, + 0xc7, 0x05, 0x88, 0xb1, 0x86, 0x6d, 0xf0, 0x2a, 0x98, 0x89, 0xfd, 0xa8, 0xed, 0x75, 0xda, 0x5f, + 0xe0, 0xb0, 0x71, 0x06, 0x9b, 0x16, 0x03, 0x14, 0x7a, 0x19, 0x4c, 0x45, 0xfd, 0x00, 0x27, 0x98, + 0x01, 0xf9, 0x3a, 0x4b, 0xcc, 0x4c, 0x61, 0x59, 0xa9, 0x33, 0x47, 0x4d, 0xdd, 0xa9, 0xac, 0xd4, + 0x2d, 0x83, 0x89, 0xf8, 0x75, 0xbb, 0xd7, 0xf3, 0x0f, 0xd0, 0x69, 0x36, 0xce, 0x0d, 0xd5, 0x49, + 0x30, 0x1e, 0xf9, 0x71, 0xbf, 0x93, 0xac, 0xfc, 0xe4, 0x21, 0x28, 0xbd, 0xf0, 0xe3, 0x64, 0xab, + 0xd3, 0x79, 0x71, 0xdc, 0xf3, 0x63, 0x78, 0x19, 0x4c, 0x87, 0x3d, 0x5c, 0x6b, 0x5e, 0xa7, 0xd9, + 0x0e, 0x92, 0xcd, 0x0d, 0x92, 0x80, 0xd3, 0xee, 0x14, 0xb7, 0x6e, 0x63, 0xa3, 0x0e, 0x73, 0x6c, + 0xb2, 0x2e, 0x53, 0x81, 0x39, 0x36, 0xbc, 0x02, 0x66, 0x04, 0xac, 0x4f, 0xe9, 0xf0, 0xaa, 0xa6, + 0x5c, 0x31, 0x7b, 0x8f, 0x58, 0x07, 0x80, 0x8e, 0x4d, 0x56, 0x75, 0x4a, 0x05, 0x6a, 0x8c, 0x31, + 0x65, 0xc4, 0xcb, 0x9b, 0x4d, 0x81, 0xbb, 0x83, 0x8c, 0x31, 0x65, 0xc4, 0x7b, 0x04, 0x55, 0xa0, + 0x63, 0xc3, 0xab, 0xa0, 0x2c, 0x80, 0x87, 0xed, 0xcf, 0xfb, 0x07, 0x9b, 0x1b, 0x68, 0xc2, 0x32, + 0x2a, 0x13, 0xae, 0x20, 0xa8, 0x53, 0xf3, 0x20, 0xd4, 0xb1, 0xd1, 0xa4, 0x65, 0x54, 0xc6, 0x35, + 0xa8, 0x63, 0xc3, 0xeb, 0x60, 0x36, 0x75, 0xcf, 0x69, 0xcf, 0x58, 0x46, 0x65, 0xc6, 0x15, 0x1c, + 0xbb, 0xcc, 0x9e, 0x01, 0x76, 0x6c, 0x04, 0x2c, 0xa3, 0x52, 0xd6, 0xc1, 0x8e, 0xad, 0xa4, 0xfe, + 0xb0, 0x13, 0x7a, 0x09, 0x2a, 0x5a, 0x46, 0xa5, 0x90, 0xa6, 0xbe, 0x8e, 0x8d, 0xca, 0xfa, 0x0f, + 0xc2, 0xfe, 0x7e, 0xc7, 0x47, 0x25, 0xcb, 0xa8, 0x18, 0xe9, 0xfa, 0x1f, 0x11, 0x2b, 0xbc, 0x04, + 0xc4, 0xcc, 0xe6, 0x7e, 0x18, 0x76, 0xd0, 0x94, 0x65, 0x54, 0x26, 0xdd, 0x12, 0x37, 0x56, 0xc3, + 0xb0, 0xa3, 0x66, 0x33, 0x89, 0xda, 0xc1, 0x11, 0x9a, 0xc6, 0x55, 0x25, 0x65, 0x93, 0x58, 0x95, + 0xe8, 0xf6, 0x8f, 0x13, 0x3f, 0x46, 0x33, 0xb8, 0x8c, 0xd3, 0xe8, 0xaa, 0xd8, 0x08, 0x9b, 0x60, + 0x49, 0xc0, 0x02, 0xfa, 0x78, 0x77, 0xfd, 0x38, 0xf6, 0x8e, 0x7c, 0x04, 0x2d, 0xa3, 0x52, 0xdc, + 0xb8, 0xa2, 0x3c, 0xd8, 0x72, 0x89, 0xae, 0xee, 0x10, 0xfc, 0x33, 0x0a, 0x77, 0x17, 0x38, 0x8f, + 0x62, 0x86, 0x7b, 0x00, 0xa5, 0x59, 0x0a, 0x23, 0xbf, 0x7d, 0x14, 0x08, 0x0f, 0x73, 0xc4, 0xc3, + 0x39, 0xc5, 0x43, 0x9d, 0x62, 0x38, 0xeb, 0xa2, 0x48, 0xa6, 0x62, 0x87, 0x1f, 0x80, 0x79, 0x3d, + 0x6e, 0x3f, 0xe8, 0x77, 0xd1, 0x02, 0x51, 0xa3, 0xb7, 0x4f, 0x0a, 0xba, 0x16, 0xf4, 0xbb, 0x2e, + 0x54, 0x23, 0xc6, 0x36, 0xf8, 0x3e, 0x58, 0x18, 0x08, 0x97, 0x10, 0x2f, 0x12, 0x62, 0x94, 0x15, + 0x2b, 0x21, 0x9b, 0xd3, 0x02, 0x25, 0x6c, 0x8e, 0xc4, 0x46, 0x77, 0xab, 0xd9, 0x6b, 0xfb, 0x2d, + 0x1f, 0x21, 0xbc, 0x67, 0xd5, 0xc2, 0x64, 0x21, 0x9d, 0x47, 0xf7, 0xed, 0x39, 0x1e, 0x86, 0x57, + 0xa4, 0x52, 0x68, 0x85, 0xd1, 0x01, 0x3a, 0xcb, 0xf0, 0x46, 0x5a, 0x0e, 0x0f, 0xc3, 0xe8, 0x00, + 0xd6, 0xc1, 0x6c, 0xe4, 0xb7, 0xfa, 0x51, 0xdc, 0xfe, 0xd8, 0x17, 0x69, 0x3d, 0x47, 0xd2, 0x7a, + 0x36, 0x37, 0x07, 0x6e, 0x59, 0xcc, 0xe1, 0xe9, 0xbc, 0x0c, 0xa6, 0x23, 0xbf, 0xe7, 0x7b, 0x38, + 0x8f, 0xf4, 0x61, 0xbe, 0x60, 0x99, 0x58, 0x6d, 0xb8, 0x55, 0xa8, 0x8d, 0x0c, 0x73, 0x6c, 0x64, + 0x59, 0x26, 0x56, 0x1b, 0x09, 0x46, 0xb5, 0x41, 0xc0, 0x98, 0xda, 0x5c, 0xb4, 0x4c, 0xac, 0x36, + 0xdc, 0x9c, 0xaa, 0x8d, 0x02, 0x74, 0x6c, 0xb4, 0x62, 0x99, 0x58, 0x6d, 0x64, 0xa0, 0xc6, 0xc8, + 0xd4, 0xe6, 0x92, 0x65, 0x62, 0xb5, 0xe1, 0xe6, 0xdd, 0x41, 0x46, 0xa6, 0x36, 0x6f, 0x5b, 0x26, + 0x56, 0x1b, 0x19, 0x48, 0xd5, 0x46, 0x00, 0xb9, 0x2c, 0x5c, 0xb6, 0x4c, 0xac, 0x36, 0xdc, 0x2e, + 0xa9, 0x8d, 0x0a, 0x75, 0x6c, 0xf4, 0x09, 0xcb, 0xc4, 0x6a, 0xa3, 0x40, 0xa9, 0xda, 0xa4, 0xee, + 0x39, 0xed, 0x15, 0xcb, 0xc4, 0x6a, 0x23, 0x02, 0x90, 0xd4, 0x46, 0x03, 0x3b, 0x36, 0xaa, 0x58, + 0x26, 0x56, 0x1b, 0x15, 0x4c, 0xd5, 0x26, 0x0d, 0x82, 0xa8, 0xcd, 0x55, 0xcb, 0xc4, 0x6a, 0x23, + 0x42, 0xe0, 0x6a, 0x23, 0x60, 0x4c, 0x6d, 0xae, 0x59, 0x26, 0x56, 0x1b, 0x6e, 0x4e, 0xd5, 0x46, + 0x00, 0x89, 0xda, 0x5c, 0xb7, 0x4c, 0xac, 0x36, 0xdc, 0xc8, 0xd5, 0x26, 0x8d, 0x90, 0xaa, 0xcd, + 0x0d, 0xcb, 0xc4, 0x6a, 0x23, 0xe2, 0x13, 0x6a, 0x93, 0xb2, 0x11, 0xb5, 0x79, 0xc7, 0x32, 0xb1, + 0xda, 0x08, 0x3a, 0xae, 0x36, 0x02, 0xa6, 0xa9, 0xcd, 0x9a, 0x65, 0xbe, 0x91, 0xda, 0x70, 0x9e, + 0x01, 0xb5, 0x49, 0xb3, 0xa4, 0xa9, 0xcd, 0x3a, 0xf1, 0x30, 0x5c, 0x6d, 0x44, 0x32, 0x07, 0xd4, + 0x46, 0x8f, 0x9b, 0x88, 0xc2, 0xa6, 0x65, 0x8e, 0xae, 0x36, 0x6a, 0xc4, 0x5c, 0x6d, 0x06, 0xc2, + 0x25, 0xc4, 0x36, 0x21, 0x1e, 0xa2, 0x36, 0x5a, 0xa0, 0x5c, 0x6d, 0xb4, 0xdd, 0x62, 0x6a, 0xe3, + 0xe0, 0x3d, 0xa3, 0x6a, 0xa3, 0xee, 0x9b, 0x50, 0x1b, 0x31, 0x8f, 0xa8, 0xcd, 0x6d, 0x86, 0x37, + 0xd2, 0x72, 0x20, 0x6a, 0xf3, 0x02, 0xcc, 0x74, 0xbd, 0x1e, 0x15, 0x08, 0x26, 0x13, 0x77, 0x48, + 0x52, 0x6f, 0xe4, 0x67, 0xe0, 0x99, 0xd7, 0x23, 0xda, 0x41, 0x3e, 0x6a, 0x41, 0x12, 0x1d, 0xbb, + 0x53, 0x5d, 0xd9, 0x26, 0xb1, 0x3a, 0x36, 0x53, 0x95, 0xbb, 0xa3, 0xb1, 0x3a, 0x36, 0xf9, 0x50, + 0x58, 0x99, 0x0d, 0xbe, 0x02, 0xb3, 0x98, 0x95, 0xca, 0x0f, 0x57, 0xa1, 0x7b, 0x84, 0x77, 0x75, + 0x28, 0x2f, 0x95, 0x26, 0xfa, 0x49, 0x99, 0x71, 0x78, 0xb2, 0x55, 0xe6, 0x76, 0x6c, 0x2e, 0x5c, + 0xef, 0x8e, 0xc8, 0xed, 0xd8, 0xf4, 0x53, 0xe5, 0xe6, 0x56, 0xce, 0x4d, 0x45, 0x8e, 0x6b, 0xdd, + 0x27, 0x47, 0xe0, 0xa6, 0x02, 0xb8, 0xab, 0xc5, 0x2d, 0x5b, 0x65, 0x6e, 0xc7, 0xe6, 0xf2, 0xf8, + 0xde, 0x88, 0xdc, 0x8e, 0xbd, 0xab, 0xc5, 0x2d, 0x5b, 0xe1, 0x67, 0xc1, 0x1c, 0xe6, 0x66, 0xda, + 0x26, 0x24, 0xf5, 0x3e, 0x61, 0x5f, 0x1b, 0xca, 0xce, 0x74, 0x96, 0xfd, 0xa0, 0xfc, 0x38, 0x50, + 0xd5, 0xae, 0x78, 0x70, 0x6c, 0xa1, 0xc4, 0x9f, 0x1a, 0xd5, 0x83, 0x63, 0xb3, 0x1f, 0x9a, 0x07, + 0x61, 0x87, 0x87, 0x60, 0x81, 0xe4, 0x87, 0x2f, 0x42, 0x28, 0xf8, 0x03, 0xe2, 0x63, 0x63, 0x78, + 0x8e, 0x18, 0x98, 0xff, 0xa4, 0x5e, 0x70, 0xc8, 0xfa, 0x88, 0xea, 0x07, 0xef, 0x04, 0x5f, 0xcb, + 0xd6, 0xc8, 0x7e, 0x1c, 0x9b, 0xff, 0xd4, 0xfd, 0xa4, 0x23, 0xea, 0xf3, 0x4a, 0x0f, 0x8d, 0xea, + 0xa8, 0xcf, 0x2b, 0x39, 0x4e, 0xb4, 0xe7, 0x95, 0x1e, 0x31, 0x2f, 0x41, 0x39, 0x65, 0x65, 0x67, + 0xcc, 0x43, 0x42, 0xfb, 0xce, 0xc9, 0xb4, 0xf4, 0xf4, 0xa1, 0xbc, 0xd3, 0x5d, 0xc5, 0x08, 0x77, + 0x00, 0xf6, 0x44, 0x4e, 0x23, 0x7a, 0x24, 0x3d, 0x22, 0xac, 0xd7, 0x86, 0xb2, 0xe2, 0x73, 0x0a, + 0xff, 0x4f, 0x29, 0x8b, 0xdd, 0xd4, 0x22, 0xca, 0x9d, 0x4a, 0x21, 0x3b, 0xbf, 0x6a, 0xa3, 0x94, + 0x3b, 0x81, 0xd2, 0x4f, 0xa9, 0xdc, 0x25, 0x2b, 0x4f, 0x02, 0xe3, 0xa6, 0x47, 0x5e, 0x7d, 0x84, + 0x24, 0xd0, 0xe9, 0xe4, 0x34, 0x4c, 0x93, 0x20, 0x19, 0x61, 0x0f, 0x9c, 0x95, 0x88, 0xb5, 0x43, + 0xf2, 0x31, 0xf1, 0x70, 0x6b, 0x04, 0x0f, 0xca, 0xb1, 0x48, 0x3d, 0x2d, 0x76, 0x33, 0x07, 0x61, + 0x0c, 0x96, 0x25, 0x8f, 0xfa, 0xa9, 0xf9, 0x84, 0xb8, 0x74, 0x46, 0x70, 0xa9, 0x9e, 0x99, 0xd4, + 0xe7, 0x52, 0x37, 0x7b, 0x14, 0x1e, 0x81, 0xc5, 0xc1, 0x65, 0x92, 0xa3, 0x6f, 0x7b, 0x94, 0x67, + 0x40, 0x5a, 0x06, 0x3e, 0xfa, 0xa4, 0x67, 0x40, 0x1b, 0x81, 0x1f, 0x82, 0xa5, 0x8c, 0xd5, 0x11, + 0x4f, 0x4f, 0x89, 0xa7, 0xcd, 0xd1, 0x97, 0x96, 0xba, 0x9a, 0xef, 0x66, 0x0c, 0xc1, 0x4b, 0xa0, + 0x14, 0x06, 0x7e, 0x78, 0xc8, 0x8f, 0x9b, 0x10, 0x5f, 0xb1, 0x9f, 0x8c, 0xb9, 0x45, 0x62, 0x65, + 0x87, 0xc7, 0x67, 0xc0, 0x3c, 0x05, 0x69, 0x7b, 0xdb, 0x7b, 0xa3, 0xeb, 0xd6, 0x93, 0x31, 0x17, + 0x12, 0x1a, 0x75, 0x2f, 0x45, 0x04, 0xac, 0xda, 0x3f, 0xe2, 0x1d, 0x09, 0x62, 0x65, 0xb5, 0x7b, + 0x11, 0xd0, 0xaf, 0xac, 0x6c, 0x23, 0xd6, 0xde, 0x00, 0xc4, 0x48, 0xab, 0xb0, 0x21, 0x5d, 0x5c, + 0xc8, 0xf3, 0xc8, 0x1a, 0x4f, 0xe8, 0x37, 0x06, 0x09, 0x73, 0x79, 0x95, 0x76, 0xa6, 0x56, 0x79, + 0x4b, 0x64, 0x15, 0x3f, 0x71, 0x1f, 0x78, 0x9d, 0xbe, 0x9f, 0xde, 0x68, 0xb0, 0xe9, 0x25, 0x9d, + 0x07, 0x5d, 0xb0, 0xa8, 0xb6, 0x33, 0x04, 0xe3, 0x6f, 0x0d, 0x76, 0x0b, 0xd4, 0x19, 0x89, 0x34, + 0x50, 0xca, 0x79, 0xa5, 0xe9, 0x91, 0xc3, 0xe9, 0xd8, 0x82, 0xf3, 0x77, 0x43, 0x38, 0x1d, 0x7b, + 0x90, 0xd3, 0xb1, 0x39, 0xe7, 0x9e, 0x74, 0x1f, 0xee, 0xab, 0x81, 0xfe, 0x9e, 0x92, 0x9e, 0x1f, + 0x20, 0xdd, 0x93, 0x22, 0x5d, 0x50, 0xfb, 0x29, 0x79, 0xb4, 0x52, 0xac, 0x7f, 0x18, 0x46, 0xcb, + 0x83, 0x5d, 0x50, 0xbb, 0x2f, 0x59, 0x19, 0x20, 0xfa, 0x2e, 0x58, 0xff, 0x98, 0x97, 0x01, 0xa2, + 0xe1, 0x5a, 0x06, 0x88, 0x2d, 0x2b, 0x54, 0xaa, 0xee, 0x82, 0xf4, 0x4f, 0x79, 0xa1, 0x52, 0x01, + 0xd7, 0x42, 0xa5, 0xc6, 0x2c, 0x5a, 0xf6, 0x30, 0x72, 0xda, 0x3f, 0xe7, 0xd1, 0xd2, 0x7a, 0xd5, + 0x68, 0xa9, 0x31, 0x2b, 0x03, 0xa4, 0x9c, 0x05, 0xeb, 0x5f, 0xf2, 0x32, 0x40, 0x2a, 0x5c, 0xcb, + 0x00, 0xb1, 0x71, 0xce, 0x86, 0xf4, 0x77, 0xb4, 0x52, 0xfc, 0x7f, 0x35, 0x88, 0x62, 0x0c, 0x2d, + 0x7e, 0xf9, 0xfe, 0x24, 0x05, 0xa9, 0xde, 0xae, 0x05, 0xe3, 0xdf, 0x0c, 0x76, 0x29, 0x19, 0x56, + 0xfc, 0xca, 0x1d, 0x3c, 0x87, 0x53, 0x2a, 0xa8, 0xbf, 0x0f, 0xe1, 0x14, 0xc5, 0xaf, 0x5c, 0xd8, + 0xa5, 0x3d, 0xd2, 0xee, 0xed, 0x82, 0xf4, 0x1f, 0x94, 0xf4, 0x84, 0xe2, 0x57, 0xaf, 0xf7, 0x79, + 0xb4, 0x52, 0xac, 0xff, 0x1c, 0x46, 0x2b, 0x8a, 0x5f, 0x6d, 0x06, 0x64, 0x65, 0x40, 0x2d, 0xfe, + 0x7f, 0xe5, 0x65, 0x40, 0x2e, 0x7e, 0xe5, 0xde, 0x9c, 0x15, 0xaa, 0x56, 0xfc, 0xff, 0xce, 0x0b, + 0x55, 0x29, 0x7e, 0xf5, 0x96, 0x9d, 0x45, 0xab, 0x15, 0xff, 0x7f, 0xf2, 0x68, 0x95, 0xe2, 0x57, + 0xaf, 0x6d, 0x59, 0x19, 0x50, 0x8b, 0xff, 0xbf, 0x79, 0x19, 0x90, 0x8b, 0x5f, 0xb9, 0x9b, 0x73, + 0xce, 0xc7, 0x52, 0x0b, 0x94, 0xbf, 0xee, 0x40, 0xdf, 0x2b, 0xb0, 0x96, 0xd2, 0xc0, 0xda, 0x19, + 0x22, 0x6d, 0x8f, 0x72, 0x0b, 0x7c, 0x0a, 0x44, 0x7f, 0xad, 0x29, 0xde, 0x6b, 0xa0, 0xef, 0x17, + 0x72, 0xce, 0x8f, 0x17, 0x1c, 0xe2, 0x0a, 0xff, 0xc2, 0x04, 0x3f, 0x0d, 0xe6, 0xa4, 0x7e, 0x2f, + 0x7f, 0xc7, 0x82, 0x7e, 0x90, 0x47, 0x56, 0xc7, 0x98, 0x67, 0x5e, 0xfc, 0x3a, 0x25, 0x13, 0x26, + 0xb8, 0xa5, 0xb6, 0x50, 0xfb, 0xad, 0x04, 0xfd, 0x90, 0x12, 0x2d, 0x65, 0x6d, 0x42, 0xbf, 0x95, + 0x28, 0xcd, 0xd5, 0x7e, 0x2b, 0x81, 0x77, 0x80, 0x68, 0xc3, 0x35, 0xbd, 0xe0, 0x18, 0xfd, 0x88, + 0xce, 0x9f, 0x1f, 0x98, 0xbf, 0x15, 0x1c, 0xbb, 0x45, 0x0e, 0xdd, 0x0a, 0x8e, 0xe1, 0x7d, 0xa9, + 0x2d, 0xfb, 0x31, 0xde, 0x06, 0xf4, 0x63, 0x3a, 0x77, 0x71, 0x60, 0x2e, 0xdd, 0x25, 0xd1, 0x08, + 0x24, 0x5f, 0xf1, 0xf6, 0xa4, 0x05, 0xca, 0xb7, 0xe7, 0xa7, 0x05, 0xb2, 0xdb, 0xc3, 0xb6, 0x47, + 0xd4, 0xa5, 0xb4, 0x3d, 0x82, 0x28, 0xdd, 0x9e, 0x9f, 0x15, 0x72, 0x14, 0x4e, 0xda, 0x1e, 0x3e, + 0x2d, 0xdd, 0x1e, 0x99, 0x8b, 0x6c, 0x0f, 0xd9, 0x9d, 0x9f, 0xe7, 0x71, 0x49, 0xbb, 0x93, 0xf6, + 0xcf, 0xd8, 0x2c, 0xbc, 0x3b, 0xf2, 0xa3, 0x82, 0x77, 0xe7, 0xd7, 0x94, 0x28, 0x7f, 0x77, 0xa4, + 0xa7, 0x83, 0xed, 0x8e, 0xa0, 0xc0, 0xbb, 0xf3, 0x0b, 0x3a, 0x3f, 0x67, 0x77, 0x38, 0x94, 0xed, + 0x8e, 0x98, 0x49, 0x77, 0xe7, 0x97, 0x74, 0x6e, 0xee, 0xee, 0x70, 0x38, 0xdd, 0x9d, 0x0b, 0x00, + 0x90, 0xf5, 0x07, 0x5e, 0xd7, 0x5f, 0x47, 0x5f, 0x32, 0xc9, 0x1b, 0x1b, 0xc9, 0x04, 0x2d, 0x50, + 0xa4, 0xf5, 0x8b, 0xbf, 0x6e, 0xa0, 0x2f, 0xcb, 0x88, 0x1d, 0x6c, 0x82, 0x17, 0x41, 0xa9, 0x99, + 0x42, 0x36, 0xd1, 0x57, 0x18, 0xa4, 0xce, 0x21, 0x9b, 0x70, 0x05, 0x4c, 0x51, 0x04, 0x81, 0xd8, + 0x4d, 0xf4, 0x55, 0x9d, 0xc6, 0xc6, 0x7f, 0xe3, 0x91, 0x6f, 0x6b, 0x18, 0x72, 0x0b, 0x7d, 0x8d, + 0x22, 0x64, 0x1b, 0xbc, 0xc4, 0x69, 0xd6, 0x08, 0x8f, 0x83, 0xbe, 0xae, 0x80, 0x30, 0x8f, 0x23, + 0x56, 0x84, 0xbf, 0xdd, 0x46, 0xdf, 0xd0, 0x1d, 0xdd, 0xc6, 0x00, 0x11, 0xda, 0x1d, 0xf4, 0x4d, + 0x3d, 0xda, 0x3b, 0xe9, 0x92, 0xf1, 0xd7, 0xbb, 0xe8, 0x5b, 0x3a, 0xc5, 0x5d, 0xb8, 0x02, 0x4a, + 0x75, 0x81, 0x58, 0x5f, 0x43, 0xdf, 0x66, 0x71, 0x08, 0x92, 0xf5, 0x35, 0x82, 0xd9, 0xae, 0xbd, + 0xff, 0xa8, 0xb9, 0xb3, 0xf5, 0xac, 0xb6, 0xbe, 0x8e, 0xbe, 0xc3, 0x31, 0xd8, 0x48, 0x6d, 0x29, + 0x86, 0xe4, 0x7a, 0x03, 0x7d, 0x57, 0xc1, 0x10, 0xdb, 0xf2, 0x2b, 0x30, 0xa5, 0xfe, 0xc5, 0x5c, + 0x02, 0x86, 0xc7, 0x5e, 0xad, 0x19, 0x1e, 0x7c, 0x17, 0x14, 0x5b, 0xa1, 0xe8, 0x8e, 0xa3, 0xc2, + 0x49, 0x9d, 0x74, 0x19, 0xbd, 0xfc, 0x00, 0xc0, 0xc1, 0x6e, 0x17, 0x2c, 0x03, 0xf3, 0xb5, 0x7f, + 0xcc, 0x5c, 0xe0, 0x5f, 0xe1, 0x3c, 0x38, 0x4d, 0x8b, 0xab, 0x40, 0x6c, 0xf4, 0xcb, 0xbd, 0xc2, + 0x1d, 0x23, 0x65, 0x90, 0x3b, 0x5b, 0x32, 0x83, 0x99, 0xc1, 0x60, 0xca, 0x0c, 0x55, 0x30, 0x9f, + 0xd5, 0xc3, 0x92, 0x39, 0xa6, 0x32, 0x38, 0xa6, 0xb2, 0x39, 0x94, 0x5e, 0x95, 0xcc, 0x71, 0x2a, + 0x83, 0xe3, 0xd4, 0x20, 0xc7, 0x40, 0x4f, 0x4a, 0xe6, 0x98, 0xcd, 0xe0, 0x98, 0xcd, 0xe6, 0x50, + 0x7a, 0x4f, 0x32, 0x07, 0xcc, 0xe0, 0x80, 0x32, 0xc7, 0x23, 0xb0, 0x98, 0xdd, 0x61, 0x92, 0x59, + 0x26, 0x32, 0x58, 0x26, 0x72, 0x58, 0xd4, 0x2e, 0x92, 0xcc, 0x32, 0x9e, 0xc1, 0x32, 0x2e, 0xb3, + 0xd4, 0x01, 0xca, 0xeb, 0x13, 0xc9, 0x3c, 0x33, 0x19, 0x3c, 0x33, 0x79, 0x3c, 0x5a, 0x1f, 0x48, + 0xe6, 0x29, 0x67, 0xf0, 0x94, 0x33, 0xab, 0x4d, 0xee, 0xf6, 0x9c, 0x54, 0xaf, 0x05, 0x99, 0x61, + 0x0b, 0xcc, 0x65, 0x34, 0x76, 0x4e, 0xa2, 0x30, 0x64, 0x8a, 0xfb, 0xa0, 0xac, 0x77, 0x71, 0xe4, + 0xf9, 0x93, 0x19, 0xf3, 0x27, 0x33, 0x8a, 0x44, 0xef, 0xd8, 0xc8, 0x1c, 0x67, 0x32, 0x38, 0xce, + 0x0c, 0x2e, 0x43, 0x6f, 0xcd, 0x9c, 0x44, 0x51, 0x92, 0x29, 0x22, 0x70, 0x6e, 0x48, 0xef, 0x25, + 0x83, 0xea, 0x3d, 0x99, 0xea, 0x0d, 0x5e, 0x7c, 0x48, 0x3e, 0x8f, 0xc0, 0xf9, 0x61, 0xcd, 0x97, + 0x0c, 0xa7, 0xeb, 0xaa, 0xd3, 0xa1, 0xef, 0x42, 0x24, 0x47, 0x1d, 0x5a, 0x70, 0x59, 0x4d, 0x97, + 0x0c, 0x27, 0xf7, 0x64, 0x27, 0xa3, 0xbe, 0x1d, 0x91, 0xbc, 0x79, 0xe0, 0x6c, 0x6e, 0xe3, 0x25, + 0xc3, 0xdd, 0xaa, 0xea, 0x2e, 0xff, 0x9d, 0x49, 0xea, 0x62, 0xe5, 0x2e, 0x00, 0x52, 0x8b, 0x68, + 0x02, 0x98, 0xf5, 0x46, 0xa3, 0x3c, 0x86, 0x7f, 0xa9, 0x6e, 0xb9, 0x65, 0x83, 0xfe, 0xf2, 0xaa, + 0x5c, 0xc0, 0xee, 0x76, 0x6a, 0x8f, 0xcb, 0xff, 0xe3, 0xff, 0x19, 0xd5, 0x29, 0xde, 0x3c, 0x21, + 0x07, 0xd8, 0xca, 0x5b, 0x60, 0x5a, 0xeb, 0x6c, 0x95, 0x80, 0xd1, 0xe2, 0x07, 0x4a, 0xeb, 0xda, + 0x2d, 0x00, 0xd2, 0x7f, 0x0c, 0x03, 0x67, 0x40, 0x71, 0x6f, 0x67, 0xf7, 0x79, 0xed, 0xe1, 0x76, + 0x7d, 0xbb, 0xf6, 0xa8, 0x3c, 0x06, 0x4b, 0x60, 0xf2, 0xb9, 0xdb, 0x78, 0xd1, 0xa8, 0xee, 0xd5, + 0xcb, 0x06, 0x9c, 0x04, 0xa7, 0x9e, 0xee, 0x36, 0x76, 0xca, 0x85, 0x6b, 0x0f, 0x40, 0x51, 0x6e, + 0x2c, 0xcd, 0x80, 0x62, 0xbd, 0xe1, 0xd6, 0xb6, 0x1f, 0xef, 0x34, 0x69, 0xa4, 0x92, 0x81, 0x46, + 0xac, 0x18, 0x5e, 0x95, 0x0b, 0xd5, 0x8b, 0xe0, 0x42, 0x2b, 0xec, 0x0e, 0xfc, 0xd9, 0x22, 0x25, + 0x67, 0x7f, 0x9c, 0x58, 0x37, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x5f, 0xc3, 0x66, 0xe3, 0x3d, + 0x25, 0x00, 0x00, +} diff --git a/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.proto b/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.proto new file mode 100644 index 000000000..fc96074ac --- /dev/null +++ b/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.proto @@ -0,0 +1,273 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; +package conformance; +option java_package = "com.google.protobuf.conformance"; + +import "google/protobuf/any.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +// This defines the conformance testing protocol. This protocol exists between +// the conformance test suite itself and the code being tested. For each test, +// the suite will send a ConformanceRequest message and expect a +// ConformanceResponse message. +// +// You can either run the tests in two different ways: +// +// 1. in-process (using the interface in conformance_test.h). +// +// 2. as a sub-process communicating over a pipe. Information about how to +// do this is in conformance_test_runner.cc. +// +// Pros/cons of the two approaches: +// +// - running as a sub-process is much simpler for languages other than C/C++. +// +// - running as a sub-process may be more tricky in unusual environments like +// iOS apps, where fork/stdin/stdout are not available. + +enum WireFormat { + UNSPECIFIED = 0; + PROTOBUF = 1; + JSON = 2; +} + +// Represents a single test case's input. The testee should: +// +// 1. parse this proto (which should always succeed) +// 2. parse the protobuf or JSON payload in "payload" (which may fail) +// 3. if the parse succeeded, serialize the message in the requested format. +message ConformanceRequest { + // The payload (whether protobuf of JSON) is always for a TestAllTypes proto + // (see below). + oneof payload { + bytes protobuf_payload = 1; + string json_payload = 2; + } + + // Which format should the testee serialize its message to? + WireFormat requested_output_format = 3; +} + +// Represents a single test case's output. +message ConformanceResponse { + oneof result { + // This string should be set to indicate parsing failed. The string can + // provide more information about the parse error if it is available. + // + // Setting this string does not necessarily mean the testee failed the + // test. Some of the test cases are intentionally invalid input. + string parse_error = 1; + + // If the input was successfully parsed but errors occurred when + // serializing it to the requested output format, set the error message in + // this field. + string serialize_error = 6; + + // This should be set if some other error occurred. This will always + // indicate that the test failed. The string can provide more information + // about the failure. + string runtime_error = 2; + + // If the input was successfully parsed and the requested output was + // protobuf, serialize it to protobuf and set it in this field. + bytes protobuf_payload = 3; + + // If the input was successfully parsed and the requested output was JSON, + // serialize to JSON and set it in this field. + string json_payload = 4; + + // For when the testee skipped the test, likely because a certain feature + // wasn't supported, like JSON input/output. + string skipped = 5; + } +} + +// This proto includes every type of field in both singular and repeated +// forms. +message TestAllTypes { + message NestedMessage { + int32 a = 1; + TestAllTypes corecursive = 2; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + NEG = -1; // Intentionally negative. + } + + // Singular + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + NestedMessage optional_nested_message = 18; + ForeignMessage optional_foreign_message = 19; + + NestedEnum optional_nested_enum = 21; + ForeignEnum optional_foreign_enum = 22; + + string optional_string_piece = 24 [ctype=STRING_PIECE]; + string optional_cord = 25 [ctype=CORD]; + + TestAllTypes recursive_message = 27; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + + repeated string repeated_string_piece = 54 [ctype=STRING_PIECE]; + repeated string repeated_cord = 55 [ctype=CORD]; + + // Map + map < int32, int32> map_int32_int32 = 56; + map < int64, int64> map_int64_int64 = 57; + map < uint32, uint32> map_uint32_uint32 = 58; + map < uint64, uint64> map_uint64_uint64 = 59; + map < sint32, sint32> map_sint32_sint32 = 60; + map < sint64, sint64> map_sint64_sint64 = 61; + map < fixed32, fixed32> map_fixed32_fixed32 = 62; + map < fixed64, fixed64> map_fixed64_fixed64 = 63; + map map_sfixed32_sfixed32 = 64; + map map_sfixed64_sfixed64 = 65; + map < int32, float> map_int32_float = 66; + map < int32, double> map_int32_double = 67; + map < bool, bool> map_bool_bool = 68; + map < string, string> map_string_string = 69; + map < string, bytes> map_string_bytes = 70; + map < string, NestedMessage> map_string_nested_message = 71; + map < string, ForeignMessage> map_string_foreign_message = 72; + map < string, NestedEnum> map_string_nested_enum = 73; + map < string, ForeignEnum> map_string_foreign_enum = 74; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + } + + // Well-known types + google.protobuf.BoolValue optional_bool_wrapper = 201; + google.protobuf.Int32Value optional_int32_wrapper = 202; + google.protobuf.Int64Value optional_int64_wrapper = 203; + google.protobuf.UInt32Value optional_uint32_wrapper = 204; + google.protobuf.UInt64Value optional_uint64_wrapper = 205; + google.protobuf.FloatValue optional_float_wrapper = 206; + google.protobuf.DoubleValue optional_double_wrapper = 207; + google.protobuf.StringValue optional_string_wrapper = 208; + google.protobuf.BytesValue optional_bytes_wrapper = 209; + + repeated google.protobuf.BoolValue repeated_bool_wrapper = 211; + repeated google.protobuf.Int32Value repeated_int32_wrapper = 212; + repeated google.protobuf.Int64Value repeated_int64_wrapper = 213; + repeated google.protobuf.UInt32Value repeated_uint32_wrapper = 214; + repeated google.protobuf.UInt64Value repeated_uint64_wrapper = 215; + repeated google.protobuf.FloatValue repeated_float_wrapper = 216; + repeated google.protobuf.DoubleValue repeated_double_wrapper = 217; + repeated google.protobuf.StringValue repeated_string_wrapper = 218; + repeated google.protobuf.BytesValue repeated_bytes_wrapper = 219; + + google.protobuf.Duration optional_duration = 301; + google.protobuf.Timestamp optional_timestamp = 302; + google.protobuf.FieldMask optional_field_mask = 303; + google.protobuf.Struct optional_struct = 304; + google.protobuf.Any optional_any = 305; + google.protobuf.Value optional_value = 306; + + repeated google.protobuf.Duration repeated_duration = 311; + repeated google.protobuf.Timestamp repeated_timestamp = 312; + repeated google.protobuf.FieldMask repeated_fieldmask = 313; + repeated google.protobuf.Struct repeated_struct = 324; + repeated google.protobuf.Any repeated_any = 315; + repeated google.protobuf.Value repeated_value = 316; + + // Test field-name-to-JSON-name convention. + int32 fieldname1 = 401; + int32 field_name2 = 402; + int32 _field_name3 = 403; + int32 field__name4_ = 404; + int32 field0name5 = 405; + int32 field_0_name6 = 406; + int32 fieldName7 = 407; + int32 FieldName8 = 408; + int32 field_Name9 = 409; + int32 Field_Name10 = 410; + int32 FIELD_NAME11 = 411; + int32 FIELD_name12 = 412; +} + +message ForeignMessage { + int32 c = 1; +} + +enum ForeignEnum { + FOREIGN_FOO = 0; + FOREIGN_BAR = 1; + FOREIGN_BAZ = 2; +} diff --git a/vendor/github.com/gogo/protobuf/gogoproto/doc.go b/vendor/github.com/gogo/protobuf/gogoproto/doc.go index 147b5ecc6..081c86fa8 100644 --- a/vendor/github.com/gogo/protobuf/gogoproto/doc.go +++ b/vendor/github.com/gogo/protobuf/gogoproto/doc.go @@ -162,7 +162,7 @@ The most complete way to see examples is to look at github.com/gogo/protobuf/test/thetest.proto Gogoprototest is a seperate project, -because we want to keep gogoprotobuf independant of goprotobuf, +because we want to keep gogoprotobuf independent of goprotobuf, but we still want to test it thoroughly. */ diff --git a/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go b/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go index 5765acb15..0057f8e1b 100644 --- a/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go +++ b/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go @@ -1,20 +1,12 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: gogo.proto -/* -Package gogoproto is a generated protocol buffer package. - -It is generated from these files: - gogo.proto - -It has these top-level messages: -*/ -package gogoproto +package gogoproto // import "github.com/gogo/protobuf/gogoproto" import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" -import google_protobuf "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" +import descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -28,7 +20,7 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package var E_GoprotoEnumPrefix = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.EnumOptions)(nil), + ExtendedType: (*descriptor.EnumOptions)(nil), ExtensionType: (*bool)(nil), Field: 62001, Name: "gogoproto.goproto_enum_prefix", @@ -37,7 +29,7 @@ var E_GoprotoEnumPrefix = &proto.ExtensionDesc{ } var E_GoprotoEnumStringer = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.EnumOptions)(nil), + ExtendedType: (*descriptor.EnumOptions)(nil), ExtensionType: (*bool)(nil), Field: 62021, Name: "gogoproto.goproto_enum_stringer", @@ -46,7 +38,7 @@ var E_GoprotoEnumStringer = &proto.ExtensionDesc{ } var E_EnumStringer = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.EnumOptions)(nil), + ExtendedType: (*descriptor.EnumOptions)(nil), ExtensionType: (*bool)(nil), Field: 62022, Name: "gogoproto.enum_stringer", @@ -55,7 +47,7 @@ var E_EnumStringer = &proto.ExtensionDesc{ } var E_EnumCustomname = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.EnumOptions)(nil), + ExtendedType: (*descriptor.EnumOptions)(nil), ExtensionType: (*string)(nil), Field: 62023, Name: "gogoproto.enum_customname", @@ -64,7 +56,7 @@ var E_EnumCustomname = &proto.ExtensionDesc{ } var E_Enumdecl = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.EnumOptions)(nil), + ExtendedType: (*descriptor.EnumOptions)(nil), ExtensionType: (*bool)(nil), Field: 62024, Name: "gogoproto.enumdecl", @@ -73,7 +65,7 @@ var E_Enumdecl = &proto.ExtensionDesc{ } var E_EnumvalueCustomname = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.EnumValueOptions)(nil), + ExtendedType: (*descriptor.EnumValueOptions)(nil), ExtensionType: (*string)(nil), Field: 66001, Name: "gogoproto.enumvalue_customname", @@ -82,7 +74,7 @@ var E_EnumvalueCustomname = &proto.ExtensionDesc{ } var E_GoprotoGettersAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63001, Name: "gogoproto.goproto_getters_all", @@ -91,7 +83,7 @@ var E_GoprotoGettersAll = &proto.ExtensionDesc{ } var E_GoprotoEnumPrefixAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63002, Name: "gogoproto.goproto_enum_prefix_all", @@ -100,7 +92,7 @@ var E_GoprotoEnumPrefixAll = &proto.ExtensionDesc{ } var E_GoprotoStringerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63003, Name: "gogoproto.goproto_stringer_all", @@ -109,7 +101,7 @@ var E_GoprotoStringerAll = &proto.ExtensionDesc{ } var E_VerboseEqualAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63004, Name: "gogoproto.verbose_equal_all", @@ -118,7 +110,7 @@ var E_VerboseEqualAll = &proto.ExtensionDesc{ } var E_FaceAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63005, Name: "gogoproto.face_all", @@ -127,7 +119,7 @@ var E_FaceAll = &proto.ExtensionDesc{ } var E_GostringAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63006, Name: "gogoproto.gostring_all", @@ -136,7 +128,7 @@ var E_GostringAll = &proto.ExtensionDesc{ } var E_PopulateAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63007, Name: "gogoproto.populate_all", @@ -145,7 +137,7 @@ var E_PopulateAll = &proto.ExtensionDesc{ } var E_StringerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63008, Name: "gogoproto.stringer_all", @@ -154,7 +146,7 @@ var E_StringerAll = &proto.ExtensionDesc{ } var E_OnlyoneAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63009, Name: "gogoproto.onlyone_all", @@ -163,7 +155,7 @@ var E_OnlyoneAll = &proto.ExtensionDesc{ } var E_EqualAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63013, Name: "gogoproto.equal_all", @@ -172,7 +164,7 @@ var E_EqualAll = &proto.ExtensionDesc{ } var E_DescriptionAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63014, Name: "gogoproto.description_all", @@ -181,7 +173,7 @@ var E_DescriptionAll = &proto.ExtensionDesc{ } var E_TestgenAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63015, Name: "gogoproto.testgen_all", @@ -190,7 +182,7 @@ var E_TestgenAll = &proto.ExtensionDesc{ } var E_BenchgenAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63016, Name: "gogoproto.benchgen_all", @@ -199,7 +191,7 @@ var E_BenchgenAll = &proto.ExtensionDesc{ } var E_MarshalerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63017, Name: "gogoproto.marshaler_all", @@ -208,7 +200,7 @@ var E_MarshalerAll = &proto.ExtensionDesc{ } var E_UnmarshalerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63018, Name: "gogoproto.unmarshaler_all", @@ -217,7 +209,7 @@ var E_UnmarshalerAll = &proto.ExtensionDesc{ } var E_StableMarshalerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63019, Name: "gogoproto.stable_marshaler_all", @@ -226,7 +218,7 @@ var E_StableMarshalerAll = &proto.ExtensionDesc{ } var E_SizerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63020, Name: "gogoproto.sizer_all", @@ -235,7 +227,7 @@ var E_SizerAll = &proto.ExtensionDesc{ } var E_GoprotoEnumStringerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63021, Name: "gogoproto.goproto_enum_stringer_all", @@ -244,7 +236,7 @@ var E_GoprotoEnumStringerAll = &proto.ExtensionDesc{ } var E_EnumStringerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63022, Name: "gogoproto.enum_stringer_all", @@ -253,7 +245,7 @@ var E_EnumStringerAll = &proto.ExtensionDesc{ } var E_UnsafeMarshalerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63023, Name: "gogoproto.unsafe_marshaler_all", @@ -262,7 +254,7 @@ var E_UnsafeMarshalerAll = &proto.ExtensionDesc{ } var E_UnsafeUnmarshalerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63024, Name: "gogoproto.unsafe_unmarshaler_all", @@ -271,7 +263,7 @@ var E_UnsafeUnmarshalerAll = &proto.ExtensionDesc{ } var E_GoprotoExtensionsMapAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63025, Name: "gogoproto.goproto_extensions_map_all", @@ -280,7 +272,7 @@ var E_GoprotoExtensionsMapAll = &proto.ExtensionDesc{ } var E_GoprotoUnrecognizedAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63026, Name: "gogoproto.goproto_unrecognized_all", @@ -289,7 +281,7 @@ var E_GoprotoUnrecognizedAll = &proto.ExtensionDesc{ } var E_GogoprotoImport = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63027, Name: "gogoproto.gogoproto_import", @@ -298,7 +290,7 @@ var E_GogoprotoImport = &proto.ExtensionDesc{ } var E_ProtosizerAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63028, Name: "gogoproto.protosizer_all", @@ -307,7 +299,7 @@ var E_ProtosizerAll = &proto.ExtensionDesc{ } var E_CompareAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63029, Name: "gogoproto.compare_all", @@ -316,7 +308,7 @@ var E_CompareAll = &proto.ExtensionDesc{ } var E_TypedeclAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63030, Name: "gogoproto.typedecl_all", @@ -325,7 +317,7 @@ var E_TypedeclAll = &proto.ExtensionDesc{ } var E_EnumdeclAll = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63031, Name: "gogoproto.enumdecl_all", @@ -334,7 +326,7 @@ var E_EnumdeclAll = &proto.ExtensionDesc{ } var E_GoprotoRegistration = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FileOptions)(nil), + ExtendedType: (*descriptor.FileOptions)(nil), ExtensionType: (*bool)(nil), Field: 63032, Name: "gogoproto.goproto_registration", @@ -342,8 +334,35 @@ var E_GoprotoRegistration = &proto.ExtensionDesc{ Filename: "gogo.proto", } +var E_MessagenameAll = &proto.ExtensionDesc{ + ExtendedType: (*descriptor.FileOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 63033, + Name: "gogoproto.messagename_all", + Tag: "varint,63033,opt,name=messagename_all,json=messagenameAll", + Filename: "gogo.proto", +} + +var E_GoprotoSizecacheAll = &proto.ExtensionDesc{ + ExtendedType: (*descriptor.FileOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 63034, + Name: "gogoproto.goproto_sizecache_all", + Tag: "varint,63034,opt,name=goproto_sizecache_all,json=goprotoSizecacheAll", + Filename: "gogo.proto", +} + +var E_GoprotoUnkeyedAll = &proto.ExtensionDesc{ + ExtendedType: (*descriptor.FileOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 63035, + Name: "gogoproto.goproto_unkeyed_all", + Tag: "varint,63035,opt,name=goproto_unkeyed_all,json=goprotoUnkeyedAll", + Filename: "gogo.proto", +} + var E_GoprotoGetters = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64001, Name: "gogoproto.goproto_getters", @@ -352,7 +371,7 @@ var E_GoprotoGetters = &proto.ExtensionDesc{ } var E_GoprotoStringer = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64003, Name: "gogoproto.goproto_stringer", @@ -361,7 +380,7 @@ var E_GoprotoStringer = &proto.ExtensionDesc{ } var E_VerboseEqual = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64004, Name: "gogoproto.verbose_equal", @@ -370,7 +389,7 @@ var E_VerboseEqual = &proto.ExtensionDesc{ } var E_Face = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64005, Name: "gogoproto.face", @@ -379,7 +398,7 @@ var E_Face = &proto.ExtensionDesc{ } var E_Gostring = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64006, Name: "gogoproto.gostring", @@ -388,7 +407,7 @@ var E_Gostring = &proto.ExtensionDesc{ } var E_Populate = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64007, Name: "gogoproto.populate", @@ -397,7 +416,7 @@ var E_Populate = &proto.ExtensionDesc{ } var E_Stringer = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 67008, Name: "gogoproto.stringer", @@ -406,7 +425,7 @@ var E_Stringer = &proto.ExtensionDesc{ } var E_Onlyone = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64009, Name: "gogoproto.onlyone", @@ -415,7 +434,7 @@ var E_Onlyone = &proto.ExtensionDesc{ } var E_Equal = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64013, Name: "gogoproto.equal", @@ -424,7 +443,7 @@ var E_Equal = &proto.ExtensionDesc{ } var E_Description = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64014, Name: "gogoproto.description", @@ -433,7 +452,7 @@ var E_Description = &proto.ExtensionDesc{ } var E_Testgen = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64015, Name: "gogoproto.testgen", @@ -442,7 +461,7 @@ var E_Testgen = &proto.ExtensionDesc{ } var E_Benchgen = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64016, Name: "gogoproto.benchgen", @@ -451,7 +470,7 @@ var E_Benchgen = &proto.ExtensionDesc{ } var E_Marshaler = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64017, Name: "gogoproto.marshaler", @@ -460,7 +479,7 @@ var E_Marshaler = &proto.ExtensionDesc{ } var E_Unmarshaler = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64018, Name: "gogoproto.unmarshaler", @@ -469,7 +488,7 @@ var E_Unmarshaler = &proto.ExtensionDesc{ } var E_StableMarshaler = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64019, Name: "gogoproto.stable_marshaler", @@ -478,7 +497,7 @@ var E_StableMarshaler = &proto.ExtensionDesc{ } var E_Sizer = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64020, Name: "gogoproto.sizer", @@ -487,7 +506,7 @@ var E_Sizer = &proto.ExtensionDesc{ } var E_UnsafeMarshaler = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64023, Name: "gogoproto.unsafe_marshaler", @@ -496,7 +515,7 @@ var E_UnsafeMarshaler = &proto.ExtensionDesc{ } var E_UnsafeUnmarshaler = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64024, Name: "gogoproto.unsafe_unmarshaler", @@ -505,7 +524,7 @@ var E_UnsafeUnmarshaler = &proto.ExtensionDesc{ } var E_GoprotoExtensionsMap = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64025, Name: "gogoproto.goproto_extensions_map", @@ -514,7 +533,7 @@ var E_GoprotoExtensionsMap = &proto.ExtensionDesc{ } var E_GoprotoUnrecognized = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64026, Name: "gogoproto.goproto_unrecognized", @@ -523,7 +542,7 @@ var E_GoprotoUnrecognized = &proto.ExtensionDesc{ } var E_Protosizer = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64028, Name: "gogoproto.protosizer", @@ -532,7 +551,7 @@ var E_Protosizer = &proto.ExtensionDesc{ } var E_Compare = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64029, Name: "gogoproto.compare", @@ -541,7 +560,7 @@ var E_Compare = &proto.ExtensionDesc{ } var E_Typedecl = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.MessageOptions)(nil), + ExtendedType: (*descriptor.MessageOptions)(nil), ExtensionType: (*bool)(nil), Field: 64030, Name: "gogoproto.typedecl", @@ -549,8 +568,35 @@ var E_Typedecl = &proto.ExtensionDesc{ Filename: "gogo.proto", } +var E_Messagename = &proto.ExtensionDesc{ + ExtendedType: (*descriptor.MessageOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 64033, + Name: "gogoproto.messagename", + Tag: "varint,64033,opt,name=messagename", + Filename: "gogo.proto", +} + +var E_GoprotoSizecache = &proto.ExtensionDesc{ + ExtendedType: (*descriptor.MessageOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 64034, + Name: "gogoproto.goproto_sizecache", + Tag: "varint,64034,opt,name=goproto_sizecache,json=goprotoSizecache", + Filename: "gogo.proto", +} + +var E_GoprotoUnkeyed = &proto.ExtensionDesc{ + ExtendedType: (*descriptor.MessageOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 64035, + Name: "gogoproto.goproto_unkeyed", + Tag: "varint,64035,opt,name=goproto_unkeyed,json=goprotoUnkeyed", + Filename: "gogo.proto", +} + var E_Nullable = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*bool)(nil), Field: 65001, Name: "gogoproto.nullable", @@ -559,7 +605,7 @@ var E_Nullable = &proto.ExtensionDesc{ } var E_Embed = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*bool)(nil), Field: 65002, Name: "gogoproto.embed", @@ -568,7 +614,7 @@ var E_Embed = &proto.ExtensionDesc{ } var E_Customtype = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*string)(nil), Field: 65003, Name: "gogoproto.customtype", @@ -577,7 +623,7 @@ var E_Customtype = &proto.ExtensionDesc{ } var E_Customname = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*string)(nil), Field: 65004, Name: "gogoproto.customname", @@ -586,7 +632,7 @@ var E_Customname = &proto.ExtensionDesc{ } var E_Jsontag = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*string)(nil), Field: 65005, Name: "gogoproto.jsontag", @@ -595,7 +641,7 @@ var E_Jsontag = &proto.ExtensionDesc{ } var E_Moretags = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*string)(nil), Field: 65006, Name: "gogoproto.moretags", @@ -604,7 +650,7 @@ var E_Moretags = &proto.ExtensionDesc{ } var E_Casttype = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*string)(nil), Field: 65007, Name: "gogoproto.casttype", @@ -613,7 +659,7 @@ var E_Casttype = &proto.ExtensionDesc{ } var E_Castkey = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*string)(nil), Field: 65008, Name: "gogoproto.castkey", @@ -622,7 +668,7 @@ var E_Castkey = &proto.ExtensionDesc{ } var E_Castvalue = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*string)(nil), Field: 65009, Name: "gogoproto.castvalue", @@ -631,7 +677,7 @@ var E_Castvalue = &proto.ExtensionDesc{ } var E_Stdtime = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*bool)(nil), Field: 65010, Name: "gogoproto.stdtime", @@ -640,7 +686,7 @@ var E_Stdtime = &proto.ExtensionDesc{ } var E_Stdduration = &proto.ExtensionDesc{ - ExtendedType: (*google_protobuf.FieldOptions)(nil), + ExtendedType: (*descriptor.FieldOptions)(nil), ExtensionType: (*bool)(nil), Field: 65011, Name: "gogoproto.stdduration", @@ -648,6 +694,15 @@ var E_Stdduration = &proto.ExtensionDesc{ Filename: "gogo.proto", } +var E_Wktpointer = &proto.ExtensionDesc{ + ExtendedType: (*descriptor.FieldOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 65012, + Name: "gogoproto.wktpointer", + Tag: "varint,65012,opt,name=wktpointer", + Filename: "gogo.proto", +} + func init() { proto.RegisterExtension(E_GoprotoEnumPrefix) proto.RegisterExtension(E_GoprotoEnumStringer) @@ -684,6 +739,9 @@ func init() { proto.RegisterExtension(E_TypedeclAll) proto.RegisterExtension(E_EnumdeclAll) proto.RegisterExtension(E_GoprotoRegistration) + proto.RegisterExtension(E_MessagenameAll) + proto.RegisterExtension(E_GoprotoSizecacheAll) + proto.RegisterExtension(E_GoprotoUnkeyedAll) proto.RegisterExtension(E_GoprotoGetters) proto.RegisterExtension(E_GoprotoStringer) proto.RegisterExtension(E_VerboseEqual) @@ -707,6 +765,9 @@ func init() { proto.RegisterExtension(E_Protosizer) proto.RegisterExtension(E_Compare) proto.RegisterExtension(E_Typedecl) + proto.RegisterExtension(E_Messagename) + proto.RegisterExtension(E_GoprotoSizecache) + proto.RegisterExtension(E_GoprotoUnkeyed) proto.RegisterExtension(E_Nullable) proto.RegisterExtension(E_Embed) proto.RegisterExtension(E_Customtype) @@ -718,87 +779,94 @@ func init() { proto.RegisterExtension(E_Castvalue) proto.RegisterExtension(E_Stdtime) proto.RegisterExtension(E_Stdduration) + proto.RegisterExtension(E_Wktpointer) } -func init() { proto.RegisterFile("gogo.proto", fileDescriptorGogo) } +func init() { proto.RegisterFile("gogo.proto", fileDescriptor_gogo_b95f77e237336c7c) } -var fileDescriptorGogo = []byte{ - // 1220 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x98, 0x4b, 0x6f, 0x1c, 0x45, - 0x10, 0x80, 0x85, 0x48, 0x14, 0x6f, 0xd9, 0x8e, 0xf1, 0xda, 0x98, 0x10, 0x81, 0x08, 0x9c, 0x38, - 0xd9, 0xa7, 0x08, 0xa5, 0xad, 0xc8, 0x72, 0x2c, 0xc7, 0x4a, 0x84, 0xc1, 0x98, 0x38, 0xbc, 0x0e, - 0xab, 0xd9, 0xdd, 0xf6, 0x78, 0x60, 0x66, 0x7a, 0x98, 0xe9, 0x89, 0xe2, 0xdc, 0x50, 0x78, 0x08, - 0x21, 0xde, 0x48, 0x90, 0x90, 0x04, 0x38, 0xf0, 0x7e, 0x86, 0xf7, 0x91, 0x0b, 0x8f, 0x2b, 0xff, - 0x81, 0x0b, 0x60, 0xde, 0xbe, 0xf9, 0x82, 0x6a, 0xb6, 0x6a, 0xb6, 0x67, 0xbd, 0x52, 0xf7, 0xde, - 0xc6, 0xeb, 0xfe, 0xbe, 0xad, 0xa9, 0x9a, 0xae, 0xea, 0x59, 0x00, 0x5f, 0xf9, 0x6a, 0x3a, 0x49, - 0x95, 0x56, 0xf5, 0x1a, 0x5e, 0x17, 0x97, 0x07, 0x0f, 0xf9, 0x4a, 0xf9, 0xa1, 0x9c, 0x29, 0xfe, - 0x6a, 0xe6, 0xeb, 0x33, 0x6d, 0x99, 0xb5, 0xd2, 0x20, 0xd1, 0x2a, 0xed, 0x2c, 0x16, 0x77, 0xc1, - 0x04, 0x2d, 0x6e, 0xc8, 0x38, 0x8f, 0x1a, 0x49, 0x2a, 0xd7, 0x83, 0xb3, 0xf5, 0x9b, 0xa6, 0x3b, - 0xe4, 0x34, 0x93, 0xd3, 0x8b, 0x71, 0x1e, 0xdd, 0x9d, 0xe8, 0x40, 0xc5, 0xd9, 0x81, 0xab, 0xbf, - 0x5c, 0x7b, 0xe8, 0x9a, 0xdb, 0x87, 0x56, 0xc7, 0x09, 0xc5, 0xff, 0xad, 0x14, 0xa0, 0x58, 0x85, - 0xeb, 0x2b, 0xbe, 0x4c, 0xa7, 0x41, 0xec, 0xcb, 0xd4, 0x62, 0xfc, 0x9e, 0x8c, 0x13, 0x86, 0xf1, - 0x5e, 0x42, 0xc5, 0x02, 0x8c, 0x0e, 0xe2, 0xfa, 0x81, 0x5c, 0x23, 0xd2, 0x94, 0x2c, 0xc1, 0x58, - 0x21, 0x69, 0xe5, 0x99, 0x56, 0x51, 0xec, 0x45, 0xd2, 0xa2, 0xf9, 0xb1, 0xd0, 0xd4, 0x56, 0xf7, - 0x23, 0xb6, 0x50, 0x52, 0x42, 0xc0, 0x10, 0x7e, 0xd2, 0x96, 0xad, 0xd0, 0x62, 0xf8, 0x89, 0x02, - 0x29, 0xd7, 0x8b, 0xd3, 0x30, 0x89, 0xd7, 0x67, 0xbc, 0x30, 0x97, 0x66, 0x24, 0xb7, 0xf6, 0xf5, - 0x9c, 0xc6, 0x65, 0x2c, 0xfb, 0xf9, 0xfc, 0x9e, 0x22, 0x9c, 0x89, 0x52, 0x60, 0xc4, 0x64, 0x54, - 0xd1, 0x97, 0x5a, 0xcb, 0x34, 0x6b, 0x78, 0x61, 0xbf, 0xf0, 0x8e, 0x07, 0x61, 0x69, 0xbc, 0xb0, - 0x55, 0xad, 0xe2, 0x52, 0x87, 0x9c, 0x0f, 0x43, 0xb1, 0x06, 0x37, 0xf4, 0x79, 0x2a, 0x1c, 0x9c, - 0x17, 0xc9, 0x39, 0xb9, 0xeb, 0xc9, 0x40, 0xed, 0x0a, 0xf0, 0xe7, 0x65, 0x2d, 0x1d, 0x9c, 0xaf, - 0x93, 0xb3, 0x4e, 0x2c, 0x97, 0x14, 0x8d, 0x27, 0x61, 0xfc, 0x8c, 0x4c, 0x9b, 0x2a, 0x93, 0x0d, - 0xf9, 0x68, 0xee, 0x85, 0x0e, 0xba, 0x4b, 0xa4, 0x1b, 0x23, 0x70, 0x11, 0x39, 0x74, 0x1d, 0x81, - 0xa1, 0x75, 0xaf, 0x25, 0x1d, 0x14, 0x97, 0x49, 0xb1, 0x0f, 0xd7, 0x23, 0x3a, 0x0f, 0x23, 0xbe, - 0xea, 0xdc, 0x92, 0x03, 0x7e, 0x85, 0xf0, 0x61, 0x66, 0x48, 0x91, 0xa8, 0x24, 0x0f, 0x3d, 0xed, - 0x12, 0xc1, 0x1b, 0xac, 0x60, 0x86, 0x14, 0x03, 0xa4, 0xf5, 0x4d, 0x56, 0x64, 0x46, 0x3e, 0xe7, - 0x60, 0x58, 0xc5, 0xe1, 0xa6, 0x8a, 0x5d, 0x82, 0x78, 0x8b, 0x0c, 0x40, 0x08, 0x0a, 0x66, 0xa1, - 0xe6, 0x5a, 0x88, 0xb7, 0xb7, 0x78, 0x7b, 0x70, 0x05, 0x96, 0x60, 0x8c, 0x1b, 0x54, 0xa0, 0x62, - 0x07, 0xc5, 0x3b, 0xa4, 0xd8, 0x6f, 0x60, 0x74, 0x1b, 0x5a, 0x66, 0xda, 0x97, 0x2e, 0x92, 0x77, - 0xf9, 0x36, 0x08, 0xa1, 0x54, 0x36, 0x65, 0xdc, 0xda, 0x70, 0x33, 0xbc, 0xc7, 0xa9, 0x64, 0x06, - 0x15, 0x0b, 0x30, 0x1a, 0x79, 0x69, 0xb6, 0xe1, 0x85, 0x4e, 0xe5, 0x78, 0x9f, 0x1c, 0x23, 0x25, - 0x44, 0x19, 0xc9, 0xe3, 0x41, 0x34, 0x1f, 0x70, 0x46, 0x0c, 0x8c, 0xb6, 0x5e, 0xa6, 0xbd, 0x66, - 0x28, 0x1b, 0x83, 0xd8, 0x3e, 0xe4, 0xad, 0xd7, 0x61, 0x97, 0x4d, 0xe3, 0x2c, 0xd4, 0xb2, 0xe0, - 0x9c, 0x93, 0xe6, 0x23, 0xae, 0x74, 0x01, 0x20, 0xfc, 0x00, 0xdc, 0xd8, 0x77, 0x4c, 0x38, 0xc8, - 0x3e, 0x26, 0xd9, 0x54, 0x9f, 0x51, 0x41, 0x2d, 0x61, 0x50, 0xe5, 0x27, 0xdc, 0x12, 0x64, 0x8f, - 0x6b, 0x05, 0x26, 0xf3, 0x38, 0xf3, 0xd6, 0x07, 0xcb, 0xda, 0xa7, 0x9c, 0xb5, 0x0e, 0x5b, 0xc9, - 0xda, 0x29, 0x98, 0x22, 0xe3, 0x60, 0x75, 0xfd, 0x8c, 0x1b, 0x6b, 0x87, 0x5e, 0xab, 0x56, 0xf7, - 0x21, 0x38, 0x58, 0xa6, 0xf3, 0xac, 0x96, 0x71, 0x86, 0x4c, 0x23, 0xf2, 0x12, 0x07, 0xf3, 0x55, - 0x32, 0x73, 0xc7, 0x5f, 0x2c, 0x05, 0xcb, 0x5e, 0x82, 0xf2, 0xfb, 0xe1, 0x00, 0xcb, 0xf3, 0x38, - 0x95, 0x2d, 0xe5, 0xc7, 0xc1, 0x39, 0xd9, 0x76, 0x50, 0x7f, 0xde, 0x53, 0xaa, 0x35, 0x03, 0x47, - 0xf3, 0x09, 0xb8, 0xae, 0x3c, 0xab, 0x34, 0x82, 0x28, 0x51, 0xa9, 0xb6, 0x18, 0xbf, 0xe0, 0x4a, - 0x95, 0xdc, 0x89, 0x02, 0x13, 0x8b, 0xb0, 0xbf, 0xf8, 0xd3, 0xf5, 0x91, 0xfc, 0x92, 0x44, 0xa3, - 0x5d, 0x8a, 0x1a, 0x47, 0x4b, 0x45, 0x89, 0x97, 0xba, 0xf4, 0xbf, 0xaf, 0xb8, 0x71, 0x10, 0x42, - 0x8d, 0x43, 0x6f, 0x26, 0x12, 0xa7, 0xbd, 0x83, 0xe1, 0x6b, 0x6e, 0x1c, 0xcc, 0x90, 0x82, 0x0f, - 0x0c, 0x0e, 0x8a, 0x6f, 0x58, 0xc1, 0x0c, 0x2a, 0xee, 0xe9, 0x0e, 0xda, 0x54, 0xfa, 0x41, 0xa6, - 0x53, 0x0f, 0x57, 0x5b, 0x54, 0xdf, 0x6e, 0x55, 0x0f, 0x61, 0xab, 0x06, 0x2a, 0x4e, 0xc2, 0x58, - 0xcf, 0x11, 0xa3, 0x7e, 0xcb, 0x2e, 0xdb, 0xb2, 0xcc, 0x32, 0xcf, 0x2f, 0x85, 0x8f, 0x6d, 0x53, - 0x33, 0xaa, 0x9e, 0x30, 0xc4, 0x9d, 0x58, 0xf7, 0xea, 0x39, 0xc0, 0x2e, 0x3b, 0xbf, 0x5d, 0x96, - 0xbe, 0x72, 0x0c, 0x10, 0xc7, 0x61, 0xb4, 0x72, 0x06, 0xb0, 0xab, 0x1e, 0x27, 0xd5, 0x88, 0x79, - 0x04, 0x10, 0x87, 0x61, 0x0f, 0xce, 0x73, 0x3b, 0xfe, 0x04, 0xe1, 0xc5, 0x72, 0x71, 0x14, 0x86, - 0x78, 0x8e, 0xdb, 0xd1, 0x27, 0x09, 0x2d, 0x11, 0xc4, 0x79, 0x86, 0xdb, 0xf1, 0xa7, 0x18, 0x67, - 0x04, 0x71, 0xf7, 0x14, 0x7e, 0xf7, 0xcc, 0x1e, 0xea, 0xc3, 0x9c, 0xbb, 0x59, 0xd8, 0x47, 0xc3, - 0xdb, 0x4e, 0x3f, 0x4d, 0x5f, 0xce, 0x84, 0xb8, 0x03, 0xf6, 0x3a, 0x26, 0xfc, 0x59, 0x42, 0x3b, - 0xeb, 0xc5, 0x02, 0x0c, 0x1b, 0x03, 0xdb, 0x8e, 0x3f, 0x47, 0xb8, 0x49, 0x61, 0xe8, 0x34, 0xb0, - 0xed, 0x82, 0xe7, 0x39, 0x74, 0x22, 0x30, 0x6d, 0x3c, 0xab, 0xed, 0xf4, 0x0b, 0x9c, 0x75, 0x46, - 0xc4, 0x1c, 0xd4, 0xca, 0xfe, 0x6b, 0xe7, 0x5f, 0x24, 0xbe, 0xcb, 0x60, 0x06, 0x8c, 0xfe, 0x6f, - 0x57, 0xbc, 0xc4, 0x19, 0x30, 0x28, 0xdc, 0x46, 0xbd, 0x33, 0xdd, 0x6e, 0x7a, 0x99, 0xb7, 0x51, - 0xcf, 0x48, 0xc7, 0x6a, 0x16, 0x6d, 0xd0, 0xae, 0x78, 0x85, 0xab, 0x59, 0xac, 0xc7, 0x30, 0x7a, - 0x87, 0xa4, 0xdd, 0xf1, 0x2a, 0x87, 0xd1, 0x33, 0x23, 0xc5, 0x0a, 0xd4, 0x77, 0x0f, 0x48, 0xbb, - 0xef, 0x35, 0xf2, 0x8d, 0xef, 0x9a, 0x8f, 0xe2, 0x3e, 0x98, 0xea, 0x3f, 0x1c, 0xed, 0xd6, 0x0b, - 0xdb, 0x3d, 0xaf, 0x33, 0xe6, 0x6c, 0x14, 0xa7, 0xba, 0x5d, 0xd6, 0x1c, 0x8c, 0x76, 0xed, 0xc5, - 0xed, 0x6a, 0xa3, 0x35, 0xe7, 0xa2, 0x98, 0x07, 0xe8, 0xce, 0x24, 0xbb, 0xeb, 0x12, 0xb9, 0x0c, - 0x08, 0xb7, 0x06, 0x8d, 0x24, 0x3b, 0x7f, 0x99, 0xb7, 0x06, 0x11, 0xb8, 0x35, 0x78, 0x1a, 0xd9, - 0xe9, 0x2b, 0xbc, 0x35, 0x18, 0x11, 0xb3, 0x30, 0x14, 0xe7, 0x61, 0x88, 0xcf, 0x56, 0xfd, 0xe6, - 0x3e, 0xe3, 0x46, 0x86, 0x6d, 0x86, 0x7f, 0xdd, 0x21, 0x98, 0x01, 0x71, 0x18, 0xf6, 0xca, 0xa8, - 0x29, 0xdb, 0x36, 0xf2, 0xb7, 0x1d, 0xee, 0x27, 0xb8, 0x5a, 0xcc, 0x01, 0x74, 0x5e, 0xa6, 0x31, - 0x0a, 0x1b, 0xfb, 0xfb, 0x4e, 0xe7, 0xbd, 0xde, 0x40, 0xba, 0x82, 0xe2, 0x6d, 0xdc, 0x22, 0xd8, - 0xaa, 0x0a, 0x8a, 0x17, 0xf0, 0x23, 0xb0, 0xef, 0xe1, 0x4c, 0xc5, 0xda, 0xf3, 0x6d, 0xf4, 0x1f, - 0x44, 0xf3, 0x7a, 0x4c, 0x58, 0xa4, 0x52, 0xa9, 0x3d, 0x3f, 0xb3, 0xb1, 0x7f, 0x12, 0x5b, 0x02, - 0x08, 0xb7, 0xbc, 0x4c, 0xbb, 0xdc, 0xf7, 0x5f, 0x0c, 0x33, 0x80, 0x41, 0xe3, 0xf5, 0x23, 0x72, - 0xd3, 0xc6, 0xfe, 0xcd, 0x41, 0xd3, 0x7a, 0x71, 0x14, 0x6a, 0x78, 0x59, 0xfc, 0x0e, 0x61, 0x83, - 0xff, 0x21, 0xb8, 0x4b, 0xe0, 0x37, 0x67, 0xba, 0xad, 0x03, 0x7b, 0xb2, 0xff, 0xa5, 0x4a, 0xf3, - 0x7a, 0x31, 0x0f, 0xc3, 0x99, 0x6e, 0xb7, 0x73, 0x3a, 0xd1, 0x58, 0xf0, 0xff, 0x76, 0xca, 0x97, - 0xdc, 0x92, 0x39, 0xb6, 0x08, 0x13, 0x2d, 0x15, 0xf5, 0x82, 0xc7, 0x60, 0x49, 0x2d, 0xa9, 0x95, - 0x62, 0x17, 0x3d, 0x78, 0x9b, 0x1f, 0xe8, 0x8d, 0xbc, 0x39, 0xdd, 0x52, 0xd1, 0x0c, 0x1e, 0x35, - 0xbb, 0xbf, 0xa0, 0x95, 0x07, 0xcf, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xed, 0x5f, 0x6c, 0x20, - 0x74, 0x13, 0x00, 0x00, +var fileDescriptor_gogo_b95f77e237336c7c = []byte{ + // 1328 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x98, 0x49, 0x6f, 0x1c, 0x45, + 0x14, 0x80, 0x85, 0x48, 0x64, 0x4f, 0x79, 0x8b, 0xc7, 0xc6, 0x84, 0x08, 0x44, 0xe0, 0xc4, 0xc9, + 0x3e, 0x45, 0x28, 0x65, 0x45, 0x96, 0x63, 0x39, 0x56, 0x10, 0x0e, 0xc6, 0x89, 0xc3, 0x76, 0x18, + 0xf5, 0xf4, 0x94, 0xdb, 0x8d, 0xbb, 0xbb, 0x9a, 0xee, 0xea, 0x10, 0xe7, 0x86, 0xc2, 0x22, 0x84, + 0xd8, 0x91, 0x20, 0x21, 0x09, 0x04, 0xc4, 0xbe, 0x86, 0x7d, 0xb9, 0x70, 0x61, 0xb9, 0xf2, 0x1f, + 0xb8, 0x00, 0x66, 0xf7, 0xcd, 0x17, 0xf4, 0xba, 0xdf, 0xeb, 0xa9, 0x69, 0x8f, 0x54, 0x35, 0xb7, + 0xf6, 0xb8, 0xbe, 0x6f, 0xaa, 0xdf, 0xeb, 0x7a, 0xef, 0x4d, 0x33, 0xe6, 0x49, 0x4f, 0x4e, 0xc6, + 0x89, 0x54, 0xb2, 0x5e, 0x83, 0xeb, 0xfc, 0x72, 0xdf, 0x7e, 0x4f, 0x4a, 0x2f, 0x10, 0x53, 0xf9, + 0x5f, 0xcd, 0x6c, 0x75, 0xaa, 0x25, 0x52, 0x37, 0xf1, 0x63, 0x25, 0x93, 0x62, 0x31, 0x3f, 0xc6, + 0xc6, 0x70, 0x71, 0x43, 0x44, 0x59, 0xd8, 0x88, 0x13, 0xb1, 0xea, 0x9f, 0xae, 0x5f, 0x3f, 0x59, + 0x90, 0x93, 0x44, 0x4e, 0xce, 0x47, 0x59, 0x78, 0x47, 0xac, 0x7c, 0x19, 0xa5, 0x7b, 0xaf, 0xfc, + 0x72, 0xf5, 0xfe, 0xab, 0x6e, 0xe9, 0x5f, 0x1e, 0x45, 0x14, 0xfe, 0xb7, 0x94, 0x83, 0x7c, 0x99, + 0x5d, 0xd3, 0xe1, 0x4b, 0x55, 0xe2, 0x47, 0x9e, 0x48, 0x0c, 0xc6, 0xef, 0xd1, 0x38, 0xa6, 0x19, + 0x8f, 0x23, 0xca, 0xe7, 0xd8, 0x50, 0x2f, 0xae, 0x1f, 0xd0, 0x35, 0x28, 0x74, 0xc9, 0x02, 0x1b, + 0xc9, 0x25, 0x6e, 0x96, 0x2a, 0x19, 0x46, 0x4e, 0x28, 0x0c, 0x9a, 0x1f, 0x73, 0x4d, 0x6d, 0x79, + 0x18, 0xb0, 0xb9, 0x92, 0xe2, 0x9c, 0xf5, 0xc3, 0x27, 0x2d, 0xe1, 0x06, 0x06, 0xc3, 0x4f, 0xb8, + 0x91, 0x72, 0x3d, 0x3f, 0xc9, 0xc6, 0xe1, 0xfa, 0x94, 0x13, 0x64, 0x42, 0xdf, 0xc9, 0x4d, 0x5d, + 0x3d, 0x27, 0x61, 0x19, 0xc9, 0x7e, 0x3e, 0xbb, 0x2b, 0xdf, 0xce, 0x58, 0x29, 0xd0, 0xf6, 0xa4, + 0x65, 0xd1, 0x13, 0x4a, 0x89, 0x24, 0x6d, 0x38, 0x41, 0xb7, 0xed, 0x1d, 0xf1, 0x83, 0xd2, 0x78, + 0x6e, 0xb3, 0x33, 0x8b, 0x0b, 0x05, 0x39, 0x1b, 0x04, 0x7c, 0x85, 0x5d, 0xdb, 0xe5, 0xa9, 0xb0, + 0x70, 0x9e, 0x47, 0xe7, 0xf8, 0x8e, 0x27, 0x03, 0xb4, 0x4b, 0x8c, 0x3e, 0x2f, 0x73, 0x69, 0xe1, + 0x7c, 0x19, 0x9d, 0x75, 0x64, 0x29, 0xa5, 0x60, 0xbc, 0x8d, 0x8d, 0x9e, 0x12, 0x49, 0x53, 0xa6, + 0xa2, 0x21, 0x1e, 0xc8, 0x9c, 0xc0, 0x42, 0x77, 0x01, 0x75, 0x23, 0x08, 0xce, 0x03, 0x07, 0xae, + 0x83, 0xac, 0x7f, 0xd5, 0x71, 0x85, 0x85, 0xe2, 0x22, 0x2a, 0xfa, 0x60, 0x3d, 0xa0, 0xb3, 0x6c, + 0xd0, 0x93, 0xc5, 0x2d, 0x59, 0xe0, 0x97, 0x10, 0x1f, 0x20, 0x06, 0x15, 0xb1, 0x8c, 0xb3, 0xc0, + 0x51, 0x36, 0x3b, 0x78, 0x85, 0x14, 0xc4, 0xa0, 0xa2, 0x87, 0xb0, 0xbe, 0x4a, 0x8a, 0x54, 0x8b, + 0xe7, 0x0c, 0x1b, 0x90, 0x51, 0xb0, 0x21, 0x23, 0x9b, 0x4d, 0x5c, 0x46, 0x03, 0x43, 0x04, 0x04, + 0xd3, 0xac, 0x66, 0x9b, 0x88, 0x37, 0x36, 0xe9, 0x78, 0x50, 0x06, 0x16, 0xd8, 0x08, 0x15, 0x28, + 0x5f, 0x46, 0x16, 0x8a, 0x37, 0x51, 0x31, 0xac, 0x61, 0x78, 0x1b, 0x4a, 0xa4, 0xca, 0x13, 0x36, + 0x92, 0xb7, 0xe8, 0x36, 0x10, 0xc1, 0x50, 0x36, 0x45, 0xe4, 0xae, 0xd9, 0x19, 0xde, 0xa6, 0x50, + 0x12, 0x03, 0x8a, 0x39, 0x36, 0x14, 0x3a, 0x49, 0xba, 0xe6, 0x04, 0x56, 0xe9, 0x78, 0x07, 0x1d, + 0x83, 0x25, 0x84, 0x11, 0xc9, 0xa2, 0x5e, 0x34, 0xef, 0x52, 0x44, 0x34, 0x0c, 0x8f, 0x5e, 0xaa, + 0x9c, 0x66, 0x20, 0x1a, 0xbd, 0xd8, 0xde, 0xa3, 0xa3, 0x57, 0xb0, 0x8b, 0xba, 0x71, 0x9a, 0xd5, + 0x52, 0xff, 0x8c, 0x95, 0xe6, 0x7d, 0xca, 0x74, 0x0e, 0x00, 0x7c, 0x0f, 0xbb, 0xae, 0x6b, 0x9b, + 0xb0, 0x90, 0x7d, 0x80, 0xb2, 0x89, 0x2e, 0xad, 0x02, 0x4b, 0x42, 0xaf, 0xca, 0x0f, 0xa9, 0x24, + 0x88, 0x8a, 0x6b, 0x89, 0x8d, 0x67, 0x51, 0xea, 0xac, 0xf6, 0x16, 0xb5, 0x8f, 0x28, 0x6a, 0x05, + 0xdb, 0x11, 0xb5, 0x13, 0x6c, 0x02, 0x8d, 0xbd, 0xe5, 0xf5, 0x63, 0x2a, 0xac, 0x05, 0xbd, 0xd2, + 0x99, 0xdd, 0xfb, 0xd8, 0xbe, 0x32, 0x9c, 0xa7, 0x95, 0x88, 0x52, 0x60, 0x1a, 0xa1, 0x13, 0x5b, + 0x98, 0xaf, 0xa0, 0x99, 0x2a, 0xfe, 0x7c, 0x29, 0x58, 0x74, 0x62, 0x90, 0xdf, 0xcd, 0xf6, 0x92, + 0x3c, 0x8b, 0x12, 0xe1, 0x4a, 0x2f, 0xf2, 0xcf, 0x88, 0x96, 0x85, 0xfa, 0x93, 0x4a, 0xaa, 0x56, + 0x34, 0x1c, 0xcc, 0x47, 0xd9, 0x9e, 0x72, 0x56, 0x69, 0xf8, 0x61, 0x2c, 0x13, 0x65, 0x30, 0x7e, + 0x4a, 0x99, 0x2a, 0xb9, 0xa3, 0x39, 0xc6, 0xe7, 0xd9, 0x70, 0xfe, 0xa7, 0xed, 0x23, 0xf9, 0x19, + 0x8a, 0x86, 0xda, 0x14, 0x16, 0x0e, 0x57, 0x86, 0xb1, 0x93, 0xd8, 0xd4, 0xbf, 0xcf, 0xa9, 0x70, + 0x20, 0x82, 0x85, 0x43, 0x6d, 0xc4, 0x02, 0xba, 0xbd, 0x85, 0xe1, 0x0b, 0x2a, 0x1c, 0xc4, 0xa0, + 0x82, 0x06, 0x06, 0x0b, 0xc5, 0x97, 0xa4, 0x20, 0x06, 0x14, 0x77, 0xb6, 0x1b, 0x6d, 0x22, 0x3c, + 0x3f, 0x55, 0x89, 0x03, 0xab, 0x0d, 0xaa, 0xaf, 0x36, 0x3b, 0x87, 0xb0, 0x65, 0x0d, 0x85, 0x4a, + 0x14, 0x8a, 0x34, 0x75, 0x3c, 0x01, 0x13, 0x87, 0xc5, 0xc6, 0xbe, 0xa6, 0x4a, 0xa4, 0x61, 0xb0, + 0x37, 0x6d, 0x42, 0x84, 0xb0, 0xbb, 0x8e, 0xbb, 0x66, 0xa3, 0xfb, 0xa6, 0xb2, 0xb9, 0xe3, 0xc4, + 0x82, 0x53, 0x9b, 0x7f, 0xb2, 0x68, 0x5d, 0x6c, 0x58, 0x3d, 0x9d, 0xdf, 0x56, 0xe6, 0x9f, 0x95, + 0x82, 0x2c, 0x6a, 0xc8, 0x48, 0x65, 0x9e, 0xaa, 0xdf, 0xb8, 0xc3, 0xb5, 0x58, 0xdc, 0x17, 0xe9, + 0x1e, 0xda, 0xc2, 0xfb, 0xed, 0x1c, 0xa7, 0xf8, 0xed, 0xf0, 0x90, 0x77, 0x0e, 0x3d, 0x66, 0xd9, + 0xd9, 0xad, 0xf2, 0x39, 0xef, 0x98, 0x79, 0xf8, 0x11, 0x36, 0xd4, 0x31, 0xf0, 0x98, 0x55, 0x0f, + 0xa3, 0x6a, 0x50, 0x9f, 0x77, 0xf8, 0x01, 0xb6, 0x0b, 0x86, 0x17, 0x33, 0xfe, 0x08, 0xe2, 0xf9, + 0x72, 0x7e, 0x88, 0xf5, 0xd3, 0xd0, 0x62, 0x46, 0x1f, 0x45, 0xb4, 0x44, 0x00, 0xa7, 0x81, 0xc5, + 0x8c, 0x3f, 0x46, 0x38, 0x21, 0x80, 0xdb, 0x87, 0xf0, 0xbb, 0x27, 0x76, 0x61, 0xd3, 0xa1, 0xd8, + 0x4d, 0xb3, 0x3e, 0x9c, 0x54, 0xcc, 0xf4, 0xe3, 0xf8, 0xe5, 0x44, 0xf0, 0x5b, 0xd9, 0x6e, 0xcb, + 0x80, 0x3f, 0x89, 0x68, 0xb1, 0x9e, 0xcf, 0xb1, 0x01, 0x6d, 0x3a, 0x31, 0xe3, 0x4f, 0x21, 0xae, + 0x53, 0xb0, 0x75, 0x9c, 0x4e, 0xcc, 0x82, 0xa7, 0x69, 0xeb, 0x48, 0x40, 0xd8, 0x68, 0x30, 0x31, + 0xd3, 0xcf, 0x50, 0xd4, 0x09, 0xe1, 0x33, 0xac, 0x56, 0x36, 0x1b, 0x33, 0xff, 0x2c, 0xf2, 0x6d, + 0x06, 0x22, 0xa0, 0x35, 0x3b, 0xb3, 0xe2, 0x39, 0x8a, 0x80, 0x46, 0xc1, 0x31, 0xaa, 0x0e, 0x30, + 0x66, 0xd3, 0xf3, 0x74, 0x8c, 0x2a, 0xf3, 0x0b, 0x64, 0x33, 0xaf, 0xf9, 0x66, 0xc5, 0x0b, 0x94, + 0xcd, 0x7c, 0x3d, 0x6c, 0xa3, 0x3a, 0x11, 0x98, 0x1d, 0x2f, 0xd2, 0x36, 0x2a, 0x03, 0x01, 0x5f, + 0x62, 0xf5, 0x9d, 0xd3, 0x80, 0xd9, 0xf7, 0x12, 0xfa, 0x46, 0x77, 0x0c, 0x03, 0xfc, 0x2e, 0x36, + 0xd1, 0x7d, 0x12, 0x30, 0x5b, 0xcf, 0x6d, 0x55, 0x7e, 0xbb, 0xe9, 0x83, 0x00, 0x3f, 0xd1, 0x6e, + 0x29, 0xfa, 0x14, 0x60, 0xd6, 0x9e, 0xdf, 0xea, 0x2c, 0xdc, 0xfa, 0x10, 0xc0, 0x67, 0x19, 0x6b, + 0x37, 0x60, 0xb3, 0xeb, 0x02, 0xba, 0x34, 0x08, 0x8e, 0x06, 0xf6, 0x5f, 0x33, 0x7f, 0x91, 0x8e, + 0x06, 0x12, 0x70, 0x34, 0xa8, 0xf5, 0x9a, 0xe9, 0x4b, 0x74, 0x34, 0x08, 0x81, 0x27, 0x5b, 0xeb, + 0x6e, 0x66, 0xc3, 0x65, 0x7a, 0xb2, 0x35, 0x8a, 0x1f, 0x63, 0xa3, 0x3b, 0x1a, 0xa2, 0x59, 0xf5, + 0x1a, 0xaa, 0xf6, 0x54, 0xfb, 0xa1, 0xde, 0xbc, 0xb0, 0x19, 0x9a, 0x6d, 0xaf, 0x57, 0x9a, 0x17, + 0xf6, 0x42, 0x3e, 0xcd, 0xfa, 0xa3, 0x2c, 0x08, 0xe0, 0xf0, 0xd4, 0x6f, 0xe8, 0xd2, 0x4d, 0x45, + 0xd0, 0x22, 0xc5, 0xaf, 0xdb, 0x18, 0x1d, 0x02, 0xf8, 0x01, 0xb6, 0x5b, 0x84, 0x4d, 0xd1, 0x32, + 0x91, 0xbf, 0x6d, 0x53, 0xc1, 0x84, 0xd5, 0x7c, 0x86, 0xb1, 0xe2, 0xd5, 0x08, 0x84, 0xd9, 0xc4, + 0xfe, 0xbe, 0x5d, 0xbc, 0xa5, 0xd1, 0x90, 0xb6, 0x20, 0x4f, 0x8a, 0x41, 0xb0, 0xd9, 0x29, 0xc8, + 0x33, 0x72, 0x90, 0xf5, 0xdd, 0x9f, 0xca, 0x48, 0x39, 0x9e, 0x89, 0xfe, 0x03, 0x69, 0x5a, 0x0f, + 0x01, 0x0b, 0x65, 0x22, 0x94, 0xe3, 0xa5, 0x26, 0xf6, 0x4f, 0x64, 0x4b, 0x00, 0x60, 0xd7, 0x49, + 0x95, 0xcd, 0x7d, 0xff, 0x45, 0x30, 0x01, 0xb0, 0x69, 0xb8, 0x5e, 0x17, 0x1b, 0x26, 0xf6, 0x6f, + 0xda, 0x34, 0xae, 0xe7, 0x87, 0x58, 0x0d, 0x2e, 0xf3, 0xb7, 0x4a, 0x26, 0xf8, 0x1f, 0x84, 0xdb, + 0x04, 0x7c, 0x73, 0xaa, 0x5a, 0xca, 0x37, 0x07, 0xfb, 0x5f, 0xcc, 0x34, 0xad, 0xe7, 0xb3, 0x6c, + 0x20, 0x55, 0xad, 0x56, 0x86, 0xf3, 0xa9, 0x01, 0xff, 0x6f, 0xbb, 0x7c, 0x65, 0x51, 0x32, 0x90, + 0xed, 0x07, 0xd7, 0x55, 0x2c, 0xfd, 0x48, 0x89, 0xc4, 0x64, 0xd8, 0x42, 0x83, 0x86, 0x1c, 0x9e, + 0x67, 0x63, 0xae, 0x0c, 0xab, 0xdc, 0x61, 0xb6, 0x20, 0x17, 0xe4, 0x52, 0x5e, 0x67, 0xee, 0xbd, + 0xd9, 0xf3, 0xd5, 0x5a, 0xd6, 0x9c, 0x74, 0x65, 0x38, 0x05, 0xbf, 0x3c, 0xda, 0x2f, 0x54, 0xcb, + 0xdf, 0x21, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xaf, 0x70, 0x4e, 0x83, 0x15, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/gogoproto/gogo.proto b/vendor/github.com/gogo/protobuf/gogoproto/gogo.proto index 7f0997935..b80c85653 100644 --- a/vendor/github.com/gogo/protobuf/gogoproto/gogo.proto +++ b/vendor/github.com/gogo/protobuf/gogoproto/gogo.proto @@ -83,6 +83,10 @@ extend google.protobuf.FileOptions { optional bool enumdecl_all = 63031; optional bool goproto_registration = 63032; + optional bool messagename_all = 63033; + + optional bool goproto_sizecache_all = 63034; + optional bool goproto_unkeyed_all = 63035; } extend google.protobuf.MessageOptions { @@ -115,6 +119,11 @@ extend google.protobuf.MessageOptions { optional bool compare = 64029; optional bool typedecl = 64030; + + optional bool messagename = 64033; + + optional bool goproto_sizecache = 64034; + optional bool goproto_unkeyed = 64035; } extend google.protobuf.FieldOptions { @@ -130,4 +139,6 @@ extend google.protobuf.FieldOptions { optional bool stdtime = 65010; optional bool stdduration = 65011; + optional bool wktpointer = 65012; + } diff --git a/vendor/github.com/gogo/protobuf/gogoproto/helper.go b/vendor/github.com/gogo/protobuf/gogoproto/helper.go index 6b851c562..390d4e4be 100644 --- a/vendor/github.com/gogo/protobuf/gogoproto/helper.go +++ b/vendor/github.com/gogo/protobuf/gogoproto/helper.go @@ -47,6 +47,55 @@ func IsStdDuration(field *google_protobuf.FieldDescriptorProto) bool { return proto.GetBoolExtension(field.Options, E_Stdduration, false) } +func IsStdDouble(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.DoubleValue" +} + +func IsStdFloat(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.FloatValue" +} + +func IsStdInt64(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.Int64Value" +} + +func IsStdUInt64(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.UInt64Value" +} + +func IsStdInt32(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.Int32Value" +} + +func IsStdUInt32(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.UInt32Value" +} + +func IsStdBool(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.BoolValue" +} + +func IsStdString(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.StringValue" +} + +func IsStdBytes(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) && *field.TypeName == ".google.protobuf.BytesValue" +} + +func IsStdType(field *google_protobuf.FieldDescriptorProto) bool { + return (IsStdTime(field) || IsStdDuration(field) || + IsStdDouble(field) || IsStdFloat(field) || + IsStdInt64(field) || IsStdUInt64(field) || + IsStdInt32(field) || IsStdUInt32(field) || + IsStdBool(field) || + IsStdString(field) || IsStdBytes(field)) +} + +func IsWktPtr(field *google_protobuf.FieldDescriptorProto) bool { + return proto.GetBoolExtension(field.Options, E_Wktpointer, false) +} + func NeedsNilCheck(proto3 bool, field *google_protobuf.FieldDescriptorProto) bool { nullable := IsNullable(field) if field.IsMessage() || IsCustomType(field) { @@ -334,9 +383,6 @@ func HasExtensionsMap(file *google_protobuf.FileDescriptorProto, message *google } func HasUnrecognized(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { - if IsProto3(file) { - return false - } return proto.GetBoolExtension(message.Options, E_GoprotoUnrecognized, proto.GetBoolExtension(file.Options, E_GoprotoUnrecognizedAll, true)) } @@ -355,3 +401,15 @@ func HasCompare(file *google_protobuf.FileDescriptorProto, message *google_proto func RegistersGolangProto(file *google_protobuf.FileDescriptorProto) bool { return proto.GetBoolExtension(file.Options, E_GoprotoRegistration, false) } + +func HasMessageName(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { + return proto.GetBoolExtension(message.Options, E_Messagename, proto.GetBoolExtension(file.Options, E_MessagenameAll, false)) +} + +func HasSizecache(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { + return proto.GetBoolExtension(message.Options, E_GoprotoSizecache, proto.GetBoolExtension(file.Options, E_GoprotoSizecacheAll, true)) +} + +func HasUnkeyed(file *google_protobuf.FileDescriptorProto, message *google_protobuf.DescriptorProto) bool { + return proto.GetBoolExtension(message.Options, E_GoprotoUnkeyed, proto.GetBoolExtension(file.Options, E_GoprotoUnkeyedAll, true)) +} diff --git a/vendor/github.com/gogo/protobuf/io/varint.go b/vendor/github.com/gogo/protobuf/io/varint.go index a72e14a58..e81e296e4 100644 --- a/vendor/github.com/gogo/protobuf/io/varint.go +++ b/vendor/github.com/gogo/protobuf/io/varint.go @@ -42,7 +42,7 @@ var ( ) func NewDelimitedWriter(w io.Writer) WriteCloser { - return &varintWriter{w, make([]byte, 10), nil} + return &varintWriter{w, make([]byte, binary.MaxVarintLen64), nil} } type varintWriter struct { @@ -55,26 +55,25 @@ func (this *varintWriter) WriteMsg(msg proto.Message) (err error) { var data []byte if m, ok := msg.(marshaler); ok { n, ok := getSize(m) - if !ok { - data, err = proto.Marshal(msg) + if ok { + if n+binary.MaxVarintLen64 >= len(this.buffer) { + this.buffer = make([]byte, n+binary.MaxVarintLen64) + } + lenOff := binary.PutUvarint(this.buffer, uint64(n)) + _, err = m.MarshalTo(this.buffer[lenOff:]) if err != nil { return err } - } - if n >= len(this.buffer) { - this.buffer = make([]byte, n) - } - _, err = m.MarshalTo(this.buffer) - if err != nil { - return err - } - data = this.buffer[:n] - } else { - data, err = proto.Marshal(msg) - if err != nil { + _, err = this.w.Write(this.buffer[:lenOff+n]) return err } } + + // fallback + data, err = proto.Marshal(msg) + if err != nil { + return err + } length := uint64(len(data)) n := binary.PutUvarint(this.lenBuf, length) _, err = this.w.Write(this.lenBuf[:n]) diff --git a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb.go b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb.go index 57a3a9147..4c39d0a5f 100644 --- a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb.go +++ b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb.go @@ -55,6 +55,8 @@ import ( "github.com/gogo/protobuf/types" ) +const secondInNanos = int64(time.Second / time.Nanosecond) + // Marshaler is a configurable object for converting between // protocol buffer objects and a JSON representation for them. type Marshaler struct { @@ -103,6 +105,9 @@ func defaultResolveAny(typeUrl string) (proto.Message, error) { // way they are marshaled to JSON. Messages that implement this should // also implement JSONPBUnmarshaler so that the custom format can be // parsed. +// +// The JSON marshaling must follow the proto to JSON specification: +// https://developers.google.com/protocol-buffers/docs/proto3#json type JSONPBMarshaler interface { MarshalJSONPB(*Marshaler) ([]byte, error) } @@ -111,12 +116,23 @@ type JSONPBMarshaler interface { // the way they are unmarshaled from JSON. Messages that implement this // should also implement JSONPBMarshaler so that the custom format can be // produced. +// +// The JSON unmarshaling must follow the JSON to proto specification: +// https://developers.google.com/protocol-buffers/docs/proto3#json type JSONPBUnmarshaler interface { UnmarshalJSONPB(*Unmarshaler, []byte) error } // Marshal marshals a protocol buffer into JSON. func (m *Marshaler) Marshal(out io.Writer, pb proto.Message) error { + v := reflect.ValueOf(pb) + if pb == nil || (v.Kind() == reflect.Ptr && v.IsNil()) { + return errors.New("Marshal called with nil") + } + // Check for unset required fields first. + if err := checkRequiredFields(pb); err != nil { + return err + } writer := &errWriter{writer: out} return m.marshalObject(writer, pb, "", "") } @@ -189,13 +205,22 @@ func (m *Marshaler) marshalObject(out *errWriter, v proto.Message, indent, typeU // Any is a bit more involved. return m.marshalAny(out, v, indent) case "Duration": - // "Generated output always contains 3, 6, or 9 fractional digits, + // "Generated output always contains 0, 3, 6, or 9 fractional digits, // depending on required precision." s, ns := s.Field(0).Int(), s.Field(1).Int() - d := time.Duration(s)*time.Second + time.Duration(ns)*time.Nanosecond - x := fmt.Sprintf("%.9f", d.Seconds()) + if ns <= -secondInNanos || ns >= secondInNanos { + return fmt.Errorf("ns out of range (%v, %v)", -secondInNanos, secondInNanos) + } + if (s > 0 && ns < 0) || (s < 0 && ns > 0) { + return errors.New("signs of seconds and nanos do not match") + } + if s < 0 { + ns = -ns + } + x := fmt.Sprintf("%d.%09d", s, ns) x = strings.TrimSuffix(x, "000") x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, ".000") out.write(`"`) out.write(x) out.write(`s"`) @@ -206,13 +231,17 @@ func (m *Marshaler) marshalObject(out *errWriter, v proto.Message, indent, typeU return m.marshalValue(out, &proto.Properties{}, s.Field(0), indent) case "Timestamp": // "RFC 3339, where generated output will always be Z-normalized - // and uses 3, 6 or 9 fractional digits." + // and uses 0, 3, 6 or 9 fractional digits." s, ns := s.Field(0).Int(), s.Field(1).Int() + if ns < 0 || ns >= secondInNanos { + return fmt.Errorf("ns out of range [0, %v)", secondInNanos) + } t := time.Unix(s, ns).UTC() // time.RFC3339Nano isn't exactly right (we need to get 3/6/9 fractional digits). x := t.Format("2006-01-02T15:04:05.000000000") x = strings.TrimSuffix(x, "000") x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, ".000") out.write(`"`) out.write(x) out.write(`Z"`) @@ -306,9 +335,9 @@ func (m *Marshaler) marshalObject(out *errWriter, v proto.Message, indent, typeU m.writeSep(out) } // If the map value is a cast type, it may not implement proto.Message, therefore - // allow the struct tag to declare the underlying message type. Instead of changing - // the signatures of the child types (and because prop.mvalue is not public), use - // CustomType as a passer. + // allow the struct tag to declare the underlying message type. Change the property + // of the child types, use CustomType as a passer. CastType currently property is + // not used in json encoding. if value.Kind() == reflect.Map { if tag := valueField.Tag.Get("protobuf"); tag != "" { for _, v := range strings.Split(tag, ",") { @@ -316,7 +345,7 @@ func (m *Marshaler) marshalObject(out *errWriter, v proto.Message, indent, typeU continue } v = strings.TrimPrefix(v, "castvaluetype=") - prop.CustomType = v + prop.MapValProp.CustomType = v break } } @@ -626,6 +655,7 @@ func (m *Marshaler) marshalValue(out *errWriter, prop *proto.Properties, v refle out.write(m.Indent) } + // TODO handle map key prop properly b, err := json.Marshal(k.Interface()) if err != nil { return err @@ -647,7 +677,11 @@ func (m *Marshaler) marshalValue(out *errWriter, prop *proto.Properties, v refle out.write(` `) } - if err := m.marshalValue(out, prop, v.MapIndex(k), indent+m.Indent); err != nil { + vprop := prop + if prop != nil && prop.MapValProp != nil { + vprop = prop.MapValProp + } + if err := m.marshalValue(out, vprop, v.MapIndex(k), indent+m.Indent); err != nil { return err } } @@ -716,7 +750,10 @@ func (u *Unmarshaler) UnmarshalNext(dec *json.Decoder, pb proto.Message) error { if err := dec.Decode(&inputValue); err != nil { return err } - return u.unmarshalValue(reflect.ValueOf(pb).Elem(), inputValue, nil) + if err := u.unmarshalValue(reflect.ValueOf(pb).Elem(), inputValue, nil); err != nil { + return err + } + return checkRequiredFields(pb) } // Unmarshal unmarshals a JSON object stream into a protocol @@ -836,7 +873,7 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe return nil case "Duration": - unq, err := strconv.Unquote(string(inputValue)) + unq, err := unquote(string(inputValue)) if err != nil { return err } @@ -853,7 +890,7 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe target.Field(1).SetInt(ns) return nil case "Timestamp": - unq, err := strconv.Unquote(string(inputValue)) + unq, err := unquote(string(inputValue)) if err != nil { return err } @@ -886,7 +923,7 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe return fmt.Errorf("bad ListValue: %v", err) } - target.Field(0).Set(reflect.ValueOf(make([]*types.Value, len(s), len(s)))) + target.Field(0).Set(reflect.ValueOf(make([]*types.Value, len(s)))) for i, sv := range s { if err := u.unmarshalValue(target.Field(0).Index(i), sv, prop); err != nil { return err @@ -899,7 +936,7 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe target.Field(0).Set(reflect.ValueOf(&types.Value_NullValue{})) } else if v, err := strconv.ParseFloat(ivStr, 0); err == nil { target.Field(0).Set(reflect.ValueOf(&types.Value_NumberValue{NumberValue: v})) - } else if v, err := strconv.Unquote(ivStr); err == nil { + } else if v, err := unquote(ivStr); err == nil { target.Field(0).Set(reflect.ValueOf(&types.Value_StringValue{StringValue: v})) } else if v, err := strconv.ParseBool(ivStr); err == nil { target.Field(0).Set(reflect.ValueOf(&types.Value_BoolValue{BoolValue: v})) @@ -961,20 +998,23 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe target.Set(reflect.New(targetType.Elem())) target = target.Elem() } + if targetType.Kind() != reflect.Int32 { + return fmt.Errorf("invalid target %q for enum %s", targetType.Kind(), prop.Enum) + } target.SetInt(int64(n)) return nil } + if prop != nil && len(prop.CustomType) > 0 && target.CanAddr() { + if m, ok := target.Addr().Interface().(interface { + UnmarshalJSON([]byte) error + }); ok { + return json.Unmarshal(inputValue, m) + } + } + // Handle nested messages. if targetType.Kind() == reflect.Struct { - if prop != nil && len(prop.CustomType) > 0 && target.CanAddr() { - if m, ok := target.Addr().Interface().(interface { - UnmarshalJSON([]byte) error - }); ok { - return json.Unmarshal(inputValue, m) - } - } - var jsonFields map[string]json.RawMessage if err := json.Unmarshal(inputValue, &jsonFields); err != nil { return err @@ -1114,13 +1154,6 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe } if mp != nil { target.Set(reflect.MakeMap(targetType)) - var keyprop, valprop *proto.Properties - if prop != nil { - // These could still be nil if the protobuf metadata is broken somehow. - // TODO: This won't work because the fields are unexported. - // We should probably just reparse them. - //keyprop, valprop = prop.mkeyprop, prop.mvalprop - } for ks, raw := range mp { // Unmarshal map key. The core json library already decoded the key into a // string, so we handle that specially. Other types were quoted post-serialization. @@ -1129,7 +1162,11 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe k = reflect.ValueOf(ks) } else { k = reflect.New(targetType.Key()).Elem() - if err := u.unmarshalValue(k, json.RawMessage(ks), keyprop); err != nil { + var kprop *proto.Properties + if prop != nil && prop.MapKeyProp != nil { + kprop = prop.MapKeyProp + } + if err := u.unmarshalValue(k, json.RawMessage(ks), kprop); err != nil { return err } } @@ -1140,7 +1177,11 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe // Unmarshal map value. v := reflect.New(targetType.Elem()).Elem() - if err := u.unmarshalValue(v, raw, valprop); err != nil { + var vprop *proto.Properties + if prop != nil && prop.MapValProp != nil { + vprop = prop.MapValProp + } + if err := u.unmarshalValue(v, raw, vprop); err != nil { return err } target.SetMapIndex(k, v) @@ -1149,13 +1190,6 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe return nil } - // 64-bit integers can be encoded as strings. In this case we drop - // the quotes and proceed as normal. - isNum := targetType.Kind() == reflect.Int64 || targetType.Kind() == reflect.Uint64 - if isNum && strings.HasPrefix(string(inputValue), `"`) { - inputValue = inputValue[1 : len(inputValue)-1] - } - // Non-finite numbers can be encoded as strings. isFloat := targetType.Kind() == reflect.Float32 || targetType.Kind() == reflect.Float64 if isFloat { @@ -1165,10 +1199,25 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe } } + // integers & floats can be encoded as strings. In this case we drop + // the quotes and proceed as normal. + isNum := targetType.Kind() == reflect.Int64 || targetType.Kind() == reflect.Uint64 || + targetType.Kind() == reflect.Int32 || targetType.Kind() == reflect.Uint32 || + targetType.Kind() == reflect.Float32 || targetType.Kind() == reflect.Float64 + if isNum && strings.HasPrefix(string(inputValue), `"`) { + inputValue = inputValue[1 : len(inputValue)-1] + } + // Use the encoding/json for parsing other value types. return json.Unmarshal(inputValue, target.Addr().Interface()) } +func unquote(s string) (string, error) { + var ret string + err := json.Unmarshal([]byte(s), &ret) + return ret, err +} + // jsonProperties returns parsed proto.Properties for the field and corrects JSONName attribute. func jsonProperties(f reflect.StructField, origName bool) *proto.Properties { var prop proto.Properties @@ -1218,6 +1267,8 @@ func (s mapKeys) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (s mapKeys) Less(i, j int) bool { if k := s[i].Kind(); k == s[j].Kind() { switch k { + case reflect.String: + return s[i].String() < s[j].String() case reflect.Int32, reflect.Int64: return s[i].Int() < s[j].Int() case reflect.Uint32, reflect.Uint64: @@ -1226,3 +1277,140 @@ func (s mapKeys) Less(i, j int) bool { } return fmt.Sprint(s[i].Interface()) < fmt.Sprint(s[j].Interface()) } + +// checkRequiredFields returns an error if any required field in the given proto message is not set. +// This function is used by both Marshal and Unmarshal. While required fields only exist in a +// proto2 message, a proto3 message can contain proto2 message(s). +func checkRequiredFields(pb proto.Message) error { + // Most well-known type messages do not contain required fields. The "Any" type may contain + // a message that has required fields. + // + // When an Any message is being marshaled, the code will invoked proto.Unmarshal on Any.Value + // field in order to transform that into JSON, and that should have returned an error if a + // required field is not set in the embedded message. + // + // When an Any message is being unmarshaled, the code will have invoked proto.Marshal on the + // embedded message to store the serialized message in Any.Value field, and that should have + // returned an error if a required field is not set. + if _, ok := pb.(isWkt); ok { + return nil + } + + v := reflect.ValueOf(pb) + // Skip message if it is not a struct pointer. + if v.Kind() != reflect.Ptr { + return nil + } + v = v.Elem() + if v.Kind() != reflect.Struct { + return nil + } + + for i := 0; i < v.NumField(); i++ { + field := v.Field(i) + sfield := v.Type().Field(i) + + if sfield.PkgPath != "" { + // blank PkgPath means the field is exported; skip if not exported + continue + } + + if strings.HasPrefix(sfield.Name, "XXX_") { + continue + } + + // Oneof field is an interface implemented by wrapper structs containing the actual oneof + // field, i.e. an interface containing &T{real_value}. + if sfield.Tag.Get("protobuf_oneof") != "" { + if field.Kind() != reflect.Interface { + continue + } + v := field.Elem() + if v.Kind() != reflect.Ptr || v.IsNil() { + continue + } + v = v.Elem() + if v.Kind() != reflect.Struct || v.NumField() < 1 { + continue + } + field = v.Field(0) + sfield = v.Type().Field(0) + } + + protoTag := sfield.Tag.Get("protobuf") + if protoTag == "" { + continue + } + var prop proto.Properties + prop.Init(sfield.Type, sfield.Name, protoTag, &sfield) + + switch field.Kind() { + case reflect.Map: + if field.IsNil() { + continue + } + // Check each map value. + keys := field.MapKeys() + for _, k := range keys { + v := field.MapIndex(k) + if err := checkRequiredFieldsInValue(v); err != nil { + return err + } + } + case reflect.Slice: + // Handle non-repeated type, e.g. bytes. + if !prop.Repeated { + if prop.Required && field.IsNil() { + return fmt.Errorf("required field %q is not set", prop.Name) + } + continue + } + + // Handle repeated type. + if field.IsNil() { + continue + } + // Check each slice item. + for i := 0; i < field.Len(); i++ { + v := field.Index(i) + if err := checkRequiredFieldsInValue(v); err != nil { + return err + } + } + case reflect.Ptr: + if field.IsNil() { + if prop.Required { + return fmt.Errorf("required field %q is not set", prop.Name) + } + continue + } + if err := checkRequiredFieldsInValue(field); err != nil { + return err + } + } + } + + // Handle proto2 extensions. + for _, ext := range proto.RegisteredExtensions(pb) { + if !proto.HasExtension(pb, ext) { + continue + } + ep, err := proto.GetExtension(pb, ext) + if err != nil { + return err + } + err = checkRequiredFieldsInValue(reflect.ValueOf(ep)) + if err != nil { + return err + } + } + + return nil +} + +func checkRequiredFieldsInValue(v reflect.Value) error { + if pm, ok := v.Interface().(proto.Message); ok { + return checkRequiredFields(pm) + } + return nil +} diff --git a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.pb.go b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.pb.go index 0382587b6..9952ddc98 100644 --- a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.pb.go +++ b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.pb.go @@ -1,29 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: more_test_objects.proto -/* -Package jsonpb is a generated protocol buffer package. - -It is generated from these files: - more_test_objects.proto - test_objects.proto - -It has these top-level messages: - Simple3 - SimpleSlice3 - SimpleMap3 - SimpleNull3 - Mappy - Simple - NonFinites - Repeats - Widget - Maps - MsgWithOneof - Real - Complex - KnownTypes -*/ package jsonpb import proto "github.com/gogo/protobuf/proto" @@ -63,16 +40,40 @@ var Numeral_value = map[string]int32{ func (x Numeral) String() string { return proto.EnumName(Numeral_name, int32(x)) } -func (Numeral) EnumDescriptor() ([]byte, []int) { return fileDescriptorMoreTestObjects, []int{0} } - -type Simple3 struct { - Dub float64 `protobuf:"fixed64,1,opt,name=dub,proto3" json:"dub,omitempty"` +func (Numeral) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{0} } -func (m *Simple3) Reset() { *m = Simple3{} } -func (m *Simple3) String() string { return proto.CompactTextString(m) } -func (*Simple3) ProtoMessage() {} -func (*Simple3) Descriptor() ([]byte, []int) { return fileDescriptorMoreTestObjects, []int{0} } +type Simple3 struct { + Dub float64 `protobuf:"fixed64,1,opt,name=dub,proto3" json:"dub,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Simple3) Reset() { *m = Simple3{} } +func (m *Simple3) String() string { return proto.CompactTextString(m) } +func (*Simple3) ProtoMessage() {} +func (*Simple3) Descriptor() ([]byte, []int) { + return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{0} +} +func (m *Simple3) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Simple3.Unmarshal(m, b) +} +func (m *Simple3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Simple3.Marshal(b, m, deterministic) +} +func (dst *Simple3) XXX_Merge(src proto.Message) { + xxx_messageInfo_Simple3.Merge(dst, src) +} +func (m *Simple3) XXX_Size() int { + return xxx_messageInfo_Simple3.Size(m) +} +func (m *Simple3) XXX_DiscardUnknown() { + xxx_messageInfo_Simple3.DiscardUnknown(m) +} + +var xxx_messageInfo_Simple3 proto.InternalMessageInfo func (m *Simple3) GetDub() float64 { if m != nil { @@ -82,13 +83,35 @@ func (m *Simple3) GetDub() float64 { } type SimpleSlice3 struct { - Slices []string `protobuf:"bytes,1,rep,name=slices" json:"slices,omitempty"` + Slices []string `protobuf:"bytes,1,rep,name=slices,proto3" json:"slices,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *SimpleSlice3) Reset() { *m = SimpleSlice3{} } -func (m *SimpleSlice3) String() string { return proto.CompactTextString(m) } -func (*SimpleSlice3) ProtoMessage() {} -func (*SimpleSlice3) Descriptor() ([]byte, []int) { return fileDescriptorMoreTestObjects, []int{1} } +func (m *SimpleSlice3) Reset() { *m = SimpleSlice3{} } +func (m *SimpleSlice3) String() string { return proto.CompactTextString(m) } +func (*SimpleSlice3) ProtoMessage() {} +func (*SimpleSlice3) Descriptor() ([]byte, []int) { + return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{1} +} +func (m *SimpleSlice3) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SimpleSlice3.Unmarshal(m, b) +} +func (m *SimpleSlice3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SimpleSlice3.Marshal(b, m, deterministic) +} +func (dst *SimpleSlice3) XXX_Merge(src proto.Message) { + xxx_messageInfo_SimpleSlice3.Merge(dst, src) +} +func (m *SimpleSlice3) XXX_Size() int { + return xxx_messageInfo_SimpleSlice3.Size(m) +} +func (m *SimpleSlice3) XXX_DiscardUnknown() { + xxx_messageInfo_SimpleSlice3.DiscardUnknown(m) +} + +var xxx_messageInfo_SimpleSlice3 proto.InternalMessageInfo func (m *SimpleSlice3) GetSlices() []string { if m != nil { @@ -98,13 +121,35 @@ func (m *SimpleSlice3) GetSlices() []string { } type SimpleMap3 struct { - Stringy map[string]string `protobuf:"bytes,1,rep,name=stringy" json:"stringy,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Stringy map[string]string `protobuf:"bytes,1,rep,name=stringy,proto3" json:"stringy,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *SimpleMap3) Reset() { *m = SimpleMap3{} } -func (m *SimpleMap3) String() string { return proto.CompactTextString(m) } -func (*SimpleMap3) ProtoMessage() {} -func (*SimpleMap3) Descriptor() ([]byte, []int) { return fileDescriptorMoreTestObjects, []int{2} } +func (m *SimpleMap3) Reset() { *m = SimpleMap3{} } +func (m *SimpleMap3) String() string { return proto.CompactTextString(m) } +func (*SimpleMap3) ProtoMessage() {} +func (*SimpleMap3) Descriptor() ([]byte, []int) { + return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{2} +} +func (m *SimpleMap3) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SimpleMap3.Unmarshal(m, b) +} +func (m *SimpleMap3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SimpleMap3.Marshal(b, m, deterministic) +} +func (dst *SimpleMap3) XXX_Merge(src proto.Message) { + xxx_messageInfo_SimpleMap3.Merge(dst, src) +} +func (m *SimpleMap3) XXX_Size() int { + return xxx_messageInfo_SimpleMap3.Size(m) +} +func (m *SimpleMap3) XXX_DiscardUnknown() { + xxx_messageInfo_SimpleMap3.DiscardUnknown(m) +} + +var xxx_messageInfo_SimpleMap3 proto.InternalMessageInfo func (m *SimpleMap3) GetStringy() map[string]string { if m != nil { @@ -114,13 +159,35 @@ func (m *SimpleMap3) GetStringy() map[string]string { } type SimpleNull3 struct { - Simple *Simple3 `protobuf:"bytes,1,opt,name=simple" json:"simple,omitempty"` + Simple *Simple3 `protobuf:"bytes,1,opt,name=simple,proto3" json:"simple,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *SimpleNull3) Reset() { *m = SimpleNull3{} } -func (m *SimpleNull3) String() string { return proto.CompactTextString(m) } -func (*SimpleNull3) ProtoMessage() {} -func (*SimpleNull3) Descriptor() ([]byte, []int) { return fileDescriptorMoreTestObjects, []int{3} } +func (m *SimpleNull3) Reset() { *m = SimpleNull3{} } +func (m *SimpleNull3) String() string { return proto.CompactTextString(m) } +func (*SimpleNull3) ProtoMessage() {} +func (*SimpleNull3) Descriptor() ([]byte, []int) { + return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{3} +} +func (m *SimpleNull3) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SimpleNull3.Unmarshal(m, b) +} +func (m *SimpleNull3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SimpleNull3.Marshal(b, m, deterministic) +} +func (dst *SimpleNull3) XXX_Merge(src proto.Message) { + xxx_messageInfo_SimpleNull3.Merge(dst, src) +} +func (m *SimpleNull3) XXX_Size() int { + return xxx_messageInfo_SimpleNull3.Size(m) +} +func (m *SimpleNull3) XXX_DiscardUnknown() { + xxx_messageInfo_SimpleNull3.DiscardUnknown(m) +} + +var xxx_messageInfo_SimpleNull3 proto.InternalMessageInfo func (m *SimpleNull3) GetSimple() *Simple3 { if m != nil { @@ -130,22 +197,44 @@ func (m *SimpleNull3) GetSimple() *Simple3 { } type Mappy struct { - Nummy map[int64]int32 `protobuf:"bytes,1,rep,name=nummy" json:"nummy,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - Strry map[string]string `protobuf:"bytes,2,rep,name=strry" json:"strry,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Objjy map[int32]*Simple3 `protobuf:"bytes,3,rep,name=objjy" json:"objjy,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` - Buggy map[int64]string `protobuf:"bytes,4,rep,name=buggy" json:"buggy,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Booly map[bool]bool `protobuf:"bytes,5,rep,name=booly" json:"booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - Enumy map[string]Numeral `protobuf:"bytes,6,rep,name=enumy" json:"enumy,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=jsonpb.Numeral"` - S32Booly map[int32]bool `protobuf:"bytes,7,rep,name=s32booly" json:"s32booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - S64Booly map[int64]bool `protobuf:"bytes,8,rep,name=s64booly" json:"s64booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - U32Booly map[uint32]bool `protobuf:"bytes,9,rep,name=u32booly" json:"u32booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - U64Booly map[uint64]bool `protobuf:"bytes,10,rep,name=u64booly" json:"u64booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Nummy map[int64]int32 `protobuf:"bytes,1,rep,name=nummy,proto3" json:"nummy,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Strry map[string]string `protobuf:"bytes,2,rep,name=strry,proto3" json:"strry,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Objjy map[int32]*Simple3 `protobuf:"bytes,3,rep,name=objjy,proto3" json:"objjy,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Buggy map[int64]string `protobuf:"bytes,4,rep,name=buggy,proto3" json:"buggy,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Booly map[bool]bool `protobuf:"bytes,5,rep,name=booly,proto3" json:"booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Enumy map[string]Numeral `protobuf:"bytes,6,rep,name=enumy,proto3" json:"enumy,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=jsonpb.Numeral"` + S32Booly map[int32]bool `protobuf:"bytes,7,rep,name=s32booly,proto3" json:"s32booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + S64Booly map[int64]bool `protobuf:"bytes,8,rep,name=s64booly,proto3" json:"s64booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + U32Booly map[uint32]bool `protobuf:"bytes,9,rep,name=u32booly,proto3" json:"u32booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + U64Booly map[uint64]bool `protobuf:"bytes,10,rep,name=u64booly,proto3" json:"u64booly,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Mappy) Reset() { *m = Mappy{} } -func (m *Mappy) String() string { return proto.CompactTextString(m) } -func (*Mappy) ProtoMessage() {} -func (*Mappy) Descriptor() ([]byte, []int) { return fileDescriptorMoreTestObjects, []int{4} } +func (m *Mappy) Reset() { *m = Mappy{} } +func (m *Mappy) String() string { return proto.CompactTextString(m) } +func (*Mappy) ProtoMessage() {} +func (*Mappy) Descriptor() ([]byte, []int) { + return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{4} +} +func (m *Mappy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Mappy.Unmarshal(m, b) +} +func (m *Mappy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Mappy.Marshal(b, m, deterministic) +} +func (dst *Mappy) XXX_Merge(src proto.Message) { + xxx_messageInfo_Mappy.Merge(dst, src) +} +func (m *Mappy) XXX_Size() int { + return xxx_messageInfo_Mappy.Size(m) +} +func (m *Mappy) XXX_DiscardUnknown() { + xxx_messageInfo_Mappy.DiscardUnknown(m) +} + +var xxx_messageInfo_Mappy proto.InternalMessageInfo func (m *Mappy) GetNummy() map[int64]int32 { if m != nil { @@ -221,14 +310,27 @@ func init() { proto.RegisterType((*Simple3)(nil), "jsonpb.Simple3") proto.RegisterType((*SimpleSlice3)(nil), "jsonpb.SimpleSlice3") proto.RegisterType((*SimpleMap3)(nil), "jsonpb.SimpleMap3") + proto.RegisterMapType((map[string]string)(nil), "jsonpb.SimpleMap3.StringyEntry") proto.RegisterType((*SimpleNull3)(nil), "jsonpb.SimpleNull3") proto.RegisterType((*Mappy)(nil), "jsonpb.Mappy") + proto.RegisterMapType((map[bool]bool)(nil), "jsonpb.Mappy.BoolyEntry") + proto.RegisterMapType((map[int64]string)(nil), "jsonpb.Mappy.BuggyEntry") + proto.RegisterMapType((map[string]Numeral)(nil), "jsonpb.Mappy.EnumyEntry") + proto.RegisterMapType((map[int64]int32)(nil), "jsonpb.Mappy.NummyEntry") + proto.RegisterMapType((map[int32]*Simple3)(nil), "jsonpb.Mappy.ObjjyEntry") + proto.RegisterMapType((map[int32]bool)(nil), "jsonpb.Mappy.S32boolyEntry") + proto.RegisterMapType((map[int64]bool)(nil), "jsonpb.Mappy.S64boolyEntry") + proto.RegisterMapType((map[string]string)(nil), "jsonpb.Mappy.StrryEntry") + proto.RegisterMapType((map[uint32]bool)(nil), "jsonpb.Mappy.U32boolyEntry") + proto.RegisterMapType((map[uint64]bool)(nil), "jsonpb.Mappy.U64boolyEntry") proto.RegisterEnum("jsonpb.Numeral", Numeral_name, Numeral_value) } -func init() { proto.RegisterFile("more_test_objects.proto", fileDescriptorMoreTestObjects) } +func init() { + proto.RegisterFile("more_test_objects.proto", fileDescriptor_more_test_objects_bef0d79b901f4c4a) +} -var fileDescriptorMoreTestObjects = []byte{ +var fileDescriptor_more_test_objects_bef0d79b901f4c4a = []byte{ // 526 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xdd, 0x6b, 0xdb, 0x3c, 0x14, 0x87, 0x5f, 0x27, 0xf5, 0xd7, 0x49, 0xfb, 0x2e, 0x88, 0xb1, 0x99, 0xf4, 0x62, 0xc5, 0xb0, diff --git a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.pb.go b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.pb.go index 9ff8b2c65..91be0b26f 100644 --- a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.pb.go +++ b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.pb.go @@ -6,19 +6,21 @@ package jsonpb import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" -import google_protobuf "github.com/gogo/protobuf/types" -import google_protobuf1 "github.com/gogo/protobuf/types" -import google_protobuf2 "github.com/gogo/protobuf/types" -import google_protobuf3 "github.com/gogo/protobuf/types" -import google_protobuf4 "github.com/gogo/protobuf/types" // skipping weak import gogoproto "github.com/gogo/protobuf/gogoproto" +import types "github.com/gogo/protobuf/types" // 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 Widget_Color int32 const ( @@ -54,29 +56,60 @@ func (x *Widget_Color) UnmarshalJSON(data []byte) error { *x = Widget_Color(value) return nil } -func (Widget_Color) EnumDescriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{3, 0} } +func (Widget_Color) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{3, 0} +} // Test message for holding primitive types. type Simple struct { - OBool *bool `protobuf:"varint,1,opt,name=o_bool,json=oBool" json:"o_bool,omitempty"` - OInt32 *int32 `protobuf:"varint,2,opt,name=o_int32,json=oInt32" json:"o_int32,omitempty"` - OInt64 *int64 `protobuf:"varint,3,opt,name=o_int64,json=oInt64" json:"o_int64,omitempty"` - OUint32 *uint32 `protobuf:"varint,4,opt,name=o_uint32,json=oUint32" json:"o_uint32,omitempty"` - OUint64 *uint64 `protobuf:"varint,5,opt,name=o_uint64,json=oUint64" json:"o_uint64,omitempty"` - OSint32 *int32 `protobuf:"zigzag32,6,opt,name=o_sint32,json=oSint32" json:"o_sint32,omitempty"` - OSint64 *int64 `protobuf:"zigzag64,7,opt,name=o_sint64,json=oSint64" json:"o_sint64,omitempty"` - OFloat *float32 `protobuf:"fixed32,8,opt,name=o_float,json=oFloat" json:"o_float,omitempty"` - ODouble *float64 `protobuf:"fixed64,9,opt,name=o_double,json=oDouble" json:"o_double,omitempty"` - OString *string `protobuf:"bytes,10,opt,name=o_string,json=oString" json:"o_string,omitempty"` - OBytes []byte `protobuf:"bytes,11,opt,name=o_bytes,json=oBytes" json:"o_bytes,omitempty"` - OCastBytes Bytes `protobuf:"bytes,12,opt,name=o_cast_bytes,json=oCastBytes,casttype=Bytes" json:"o_cast_bytes,omitempty"` - XXX_unrecognized []byte `json:"-"` + OBool *bool `protobuf:"varint,1,opt,name=o_bool,json=oBool" json:"o_bool,omitempty"` + OInt32 *int32 `protobuf:"varint,2,opt,name=o_int32,json=oInt32" json:"o_int32,omitempty"` + OInt32Str *int32 `protobuf:"varint,3,opt,name=o_int32_str,json=oInt32Str" json:"o_int32_str,omitempty"` + OInt64 *int64 `protobuf:"varint,4,opt,name=o_int64,json=oInt64" json:"o_int64,omitempty"` + OInt64Str *int64 `protobuf:"varint,5,opt,name=o_int64_str,json=oInt64Str" json:"o_int64_str,omitempty"` + OUint32 *uint32 `protobuf:"varint,6,opt,name=o_uint32,json=oUint32" json:"o_uint32,omitempty"` + OUint32Str *uint32 `protobuf:"varint,7,opt,name=o_uint32_str,json=oUint32Str" json:"o_uint32_str,omitempty"` + OUint64 *uint64 `protobuf:"varint,8,opt,name=o_uint64,json=oUint64" json:"o_uint64,omitempty"` + OUint64Str *uint64 `protobuf:"varint,9,opt,name=o_uint64_str,json=oUint64Str" json:"o_uint64_str,omitempty"` + OSint32 *int32 `protobuf:"zigzag32,10,opt,name=o_sint32,json=oSint32" json:"o_sint32,omitempty"` + OSint32Str *int32 `protobuf:"zigzag32,11,opt,name=o_sint32_str,json=oSint32Str" json:"o_sint32_str,omitempty"` + OSint64 *int64 `protobuf:"zigzag64,12,opt,name=o_sint64,json=oSint64" json:"o_sint64,omitempty"` + OSint64Str *int64 `protobuf:"zigzag64,13,opt,name=o_sint64_str,json=oSint64Str" json:"o_sint64_str,omitempty"` + OFloat *float32 `protobuf:"fixed32,14,opt,name=o_float,json=oFloat" json:"o_float,omitempty"` + OFloatStr *float32 `protobuf:"fixed32,15,opt,name=o_float_str,json=oFloatStr" json:"o_float_str,omitempty"` + ODouble *float64 `protobuf:"fixed64,16,opt,name=o_double,json=oDouble" json:"o_double,omitempty"` + ODoubleStr *float64 `protobuf:"fixed64,17,opt,name=o_double_str,json=oDoubleStr" json:"o_double_str,omitempty"` + OString *string `protobuf:"bytes,18,opt,name=o_string,json=oString" json:"o_string,omitempty"` + OBytes []byte `protobuf:"bytes,19,opt,name=o_bytes,json=oBytes" json:"o_bytes,omitempty"` + OCastBytes Bytes `protobuf:"bytes,20,opt,name=o_cast_bytes,json=oCastBytes,casttype=Bytes" json:"o_cast_bytes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Simple) Reset() { *m = Simple{} } -func (m *Simple) String() string { return proto.CompactTextString(m) } -func (*Simple) ProtoMessage() {} -func (*Simple) Descriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{0} } +func (m *Simple) Reset() { *m = Simple{} } +func (m *Simple) String() string { return proto.CompactTextString(m) } +func (*Simple) ProtoMessage() {} +func (*Simple) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{0} +} +func (m *Simple) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Simple.Unmarshal(m, b) +} +func (m *Simple) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Simple.Marshal(b, m, deterministic) +} +func (dst *Simple) XXX_Merge(src proto.Message) { + xxx_messageInfo_Simple.Merge(dst, src) +} +func (m *Simple) XXX_Size() int { + return xxx_messageInfo_Simple.Size(m) +} +func (m *Simple) XXX_DiscardUnknown() { + xxx_messageInfo_Simple.DiscardUnknown(m) +} + +var xxx_messageInfo_Simple proto.InternalMessageInfo func (m *Simple) GetOBool() bool { if m != nil && m.OBool != nil { @@ -92,6 +125,13 @@ func (m *Simple) GetOInt32() int32 { return 0 } +func (m *Simple) GetOInt32Str() int32 { + if m != nil && m.OInt32Str != nil { + return *m.OInt32Str + } + return 0 +} + func (m *Simple) GetOInt64() int64 { if m != nil && m.OInt64 != nil { return *m.OInt64 @@ -99,6 +139,13 @@ func (m *Simple) GetOInt64() int64 { return 0 } +func (m *Simple) GetOInt64Str() int64 { + if m != nil && m.OInt64Str != nil { + return *m.OInt64Str + } + return 0 +} + func (m *Simple) GetOUint32() uint32 { if m != nil && m.OUint32 != nil { return *m.OUint32 @@ -106,6 +153,13 @@ func (m *Simple) GetOUint32() uint32 { return 0 } +func (m *Simple) GetOUint32Str() uint32 { + if m != nil && m.OUint32Str != nil { + return *m.OUint32Str + } + return 0 +} + func (m *Simple) GetOUint64() uint64 { if m != nil && m.OUint64 != nil { return *m.OUint64 @@ -113,6 +167,13 @@ func (m *Simple) GetOUint64() uint64 { return 0 } +func (m *Simple) GetOUint64Str() uint64 { + if m != nil && m.OUint64Str != nil { + return *m.OUint64Str + } + return 0 +} + func (m *Simple) GetOSint32() int32 { if m != nil && m.OSint32 != nil { return *m.OSint32 @@ -120,6 +181,13 @@ func (m *Simple) GetOSint32() int32 { return 0 } +func (m *Simple) GetOSint32Str() int32 { + if m != nil && m.OSint32Str != nil { + return *m.OSint32Str + } + return 0 +} + func (m *Simple) GetOSint64() int64 { if m != nil && m.OSint64 != nil { return *m.OSint64 @@ -127,6 +195,13 @@ func (m *Simple) GetOSint64() int64 { return 0 } +func (m *Simple) GetOSint64Str() int64 { + if m != nil && m.OSint64Str != nil { + return *m.OSint64Str + } + return 0 +} + func (m *Simple) GetOFloat() float32 { if m != nil && m.OFloat != nil { return *m.OFloat @@ -134,6 +209,13 @@ func (m *Simple) GetOFloat() float32 { return 0 } +func (m *Simple) GetOFloatStr() float32 { + if m != nil && m.OFloatStr != nil { + return *m.OFloatStr + } + return 0 +} + func (m *Simple) GetODouble() float64 { if m != nil && m.ODouble != nil { return *m.ODouble @@ -141,6 +223,13 @@ func (m *Simple) GetODouble() float64 { return 0 } +func (m *Simple) GetODoubleStr() float64 { + if m != nil && m.ODoubleStr != nil { + return *m.ODoubleStr + } + return 0 +} + func (m *Simple) GetOString() string { if m != nil && m.OString != nil { return *m.OString @@ -164,19 +253,40 @@ func (m *Simple) GetOCastBytes() Bytes { // Test message for holding special non-finites primitives. type NonFinites struct { - FNan *float32 `protobuf:"fixed32,1,opt,name=f_nan,json=fNan" json:"f_nan,omitempty"` - FPinf *float32 `protobuf:"fixed32,2,opt,name=f_pinf,json=fPinf" json:"f_pinf,omitempty"` - FNinf *float32 `protobuf:"fixed32,3,opt,name=f_ninf,json=fNinf" json:"f_ninf,omitempty"` - DNan *float64 `protobuf:"fixed64,4,opt,name=d_nan,json=dNan" json:"d_nan,omitempty"` - DPinf *float64 `protobuf:"fixed64,5,opt,name=d_pinf,json=dPinf" json:"d_pinf,omitempty"` - DNinf *float64 `protobuf:"fixed64,6,opt,name=d_ninf,json=dNinf" json:"d_ninf,omitempty"` - XXX_unrecognized []byte `json:"-"` + FNan *float32 `protobuf:"fixed32,1,opt,name=f_nan,json=fNan" json:"f_nan,omitempty"` + FPinf *float32 `protobuf:"fixed32,2,opt,name=f_pinf,json=fPinf" json:"f_pinf,omitempty"` + FNinf *float32 `protobuf:"fixed32,3,opt,name=f_ninf,json=fNinf" json:"f_ninf,omitempty"` + DNan *float64 `protobuf:"fixed64,4,opt,name=d_nan,json=dNan" json:"d_nan,omitempty"` + DPinf *float64 `protobuf:"fixed64,5,opt,name=d_pinf,json=dPinf" json:"d_pinf,omitempty"` + DNinf *float64 `protobuf:"fixed64,6,opt,name=d_ninf,json=dNinf" json:"d_ninf,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NonFinites) Reset() { *m = NonFinites{} } -func (m *NonFinites) String() string { return proto.CompactTextString(m) } -func (*NonFinites) ProtoMessage() {} -func (*NonFinites) Descriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{1} } +func (m *NonFinites) Reset() { *m = NonFinites{} } +func (m *NonFinites) String() string { return proto.CompactTextString(m) } +func (*NonFinites) ProtoMessage() {} +func (*NonFinites) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{1} +} +func (m *NonFinites) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NonFinites.Unmarshal(m, b) +} +func (m *NonFinites) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NonFinites.Marshal(b, m, deterministic) +} +func (dst *NonFinites) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonFinites.Merge(dst, src) +} +func (m *NonFinites) XXX_Size() int { + return xxx_messageInfo_NonFinites.Size(m) +} +func (m *NonFinites) XXX_DiscardUnknown() { + xxx_messageInfo_NonFinites.DiscardUnknown(m) +} + +var xxx_messageInfo_NonFinites proto.InternalMessageInfo func (m *NonFinites) GetFNan() float32 { if m != nil && m.FNan != nil { @@ -222,24 +332,45 @@ func (m *NonFinites) GetDNinf() float64 { // Test message for holding repeated primitives. type Repeats struct { - RBool []bool `protobuf:"varint,1,rep,name=r_bool,json=rBool" json:"r_bool,omitempty"` - RInt32 []int32 `protobuf:"varint,2,rep,name=r_int32,json=rInt32" json:"r_int32,omitempty"` - RInt64 []int64 `protobuf:"varint,3,rep,name=r_int64,json=rInt64" json:"r_int64,omitempty"` - RUint32 []uint32 `protobuf:"varint,4,rep,name=r_uint32,json=rUint32" json:"r_uint32,omitempty"` - RUint64 []uint64 `protobuf:"varint,5,rep,name=r_uint64,json=rUint64" json:"r_uint64,omitempty"` - RSint32 []int32 `protobuf:"zigzag32,6,rep,name=r_sint32,json=rSint32" json:"r_sint32,omitempty"` - RSint64 []int64 `protobuf:"zigzag64,7,rep,name=r_sint64,json=rSint64" json:"r_sint64,omitempty"` - RFloat []float32 `protobuf:"fixed32,8,rep,name=r_float,json=rFloat" json:"r_float,omitempty"` - RDouble []float64 `protobuf:"fixed64,9,rep,name=r_double,json=rDouble" json:"r_double,omitempty"` - RString []string `protobuf:"bytes,10,rep,name=r_string,json=rString" json:"r_string,omitempty"` - RBytes [][]byte `protobuf:"bytes,11,rep,name=r_bytes,json=rBytes" json:"r_bytes,omitempty"` - XXX_unrecognized []byte `json:"-"` + RBool []bool `protobuf:"varint,1,rep,name=r_bool,json=rBool" json:"r_bool,omitempty"` + RInt32 []int32 `protobuf:"varint,2,rep,name=r_int32,json=rInt32" json:"r_int32,omitempty"` + RInt64 []int64 `protobuf:"varint,3,rep,name=r_int64,json=rInt64" json:"r_int64,omitempty"` + RUint32 []uint32 `protobuf:"varint,4,rep,name=r_uint32,json=rUint32" json:"r_uint32,omitempty"` + RUint64 []uint64 `protobuf:"varint,5,rep,name=r_uint64,json=rUint64" json:"r_uint64,omitempty"` + RSint32 []int32 `protobuf:"zigzag32,6,rep,name=r_sint32,json=rSint32" json:"r_sint32,omitempty"` + RSint64 []int64 `protobuf:"zigzag64,7,rep,name=r_sint64,json=rSint64" json:"r_sint64,omitempty"` + RFloat []float32 `protobuf:"fixed32,8,rep,name=r_float,json=rFloat" json:"r_float,omitempty"` + RDouble []float64 `protobuf:"fixed64,9,rep,name=r_double,json=rDouble" json:"r_double,omitempty"` + RString []string `protobuf:"bytes,10,rep,name=r_string,json=rString" json:"r_string,omitempty"` + RBytes [][]byte `protobuf:"bytes,11,rep,name=r_bytes,json=rBytes" json:"r_bytes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Repeats) Reset() { *m = Repeats{} } -func (m *Repeats) String() string { return proto.CompactTextString(m) } -func (*Repeats) ProtoMessage() {} -func (*Repeats) Descriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{2} } +func (m *Repeats) Reset() { *m = Repeats{} } +func (m *Repeats) String() string { return proto.CompactTextString(m) } +func (*Repeats) ProtoMessage() {} +func (*Repeats) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{2} +} +func (m *Repeats) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Repeats.Unmarshal(m, b) +} +func (m *Repeats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Repeats.Marshal(b, m, deterministic) +} +func (dst *Repeats) XXX_Merge(src proto.Message) { + xxx_messageInfo_Repeats.Merge(dst, src) +} +func (m *Repeats) XXX_Size() int { + return xxx_messageInfo_Repeats.Size(m) +} +func (m *Repeats) XXX_DiscardUnknown() { + xxx_messageInfo_Repeats.DiscardUnknown(m) +} + +var xxx_messageInfo_Repeats proto.InternalMessageInfo func (m *Repeats) GetRBool() []bool { if m != nil { @@ -320,19 +451,40 @@ func (m *Repeats) GetRBytes() [][]byte { // Test message for holding enums and nested messages. type Widget struct { - Color *Widget_Color `protobuf:"varint,1,opt,name=color,enum=jsonpb.Widget_Color" json:"color,omitempty"` - RColor []Widget_Color `protobuf:"varint,2,rep,name=r_color,json=rColor,enum=jsonpb.Widget_Color" json:"r_color,omitempty"` - Simple *Simple `protobuf:"bytes,10,opt,name=simple" json:"simple,omitempty"` - RSimple []*Simple `protobuf:"bytes,11,rep,name=r_simple,json=rSimple" json:"r_simple,omitempty"` - Repeats *Repeats `protobuf:"bytes,20,opt,name=repeats" json:"repeats,omitempty"` - RRepeats []*Repeats `protobuf:"bytes,21,rep,name=r_repeats,json=rRepeats" json:"r_repeats,omitempty"` - XXX_unrecognized []byte `json:"-"` + Color *Widget_Color `protobuf:"varint,1,opt,name=color,enum=jsonpb.Widget_Color" json:"color,omitempty"` + RColor []Widget_Color `protobuf:"varint,2,rep,name=r_color,json=rColor,enum=jsonpb.Widget_Color" json:"r_color,omitempty"` + Simple *Simple `protobuf:"bytes,10,opt,name=simple" json:"simple,omitempty"` + RSimple []*Simple `protobuf:"bytes,11,rep,name=r_simple,json=rSimple" json:"r_simple,omitempty"` + Repeats *Repeats `protobuf:"bytes,20,opt,name=repeats" json:"repeats,omitempty"` + RRepeats []*Repeats `protobuf:"bytes,21,rep,name=r_repeats,json=rRepeats" json:"r_repeats,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Widget) Reset() { *m = Widget{} } -func (m *Widget) String() string { return proto.CompactTextString(m) } -func (*Widget) ProtoMessage() {} -func (*Widget) Descriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{3} } +func (m *Widget) Reset() { *m = Widget{} } +func (m *Widget) String() string { return proto.CompactTextString(m) } +func (*Widget) ProtoMessage() {} +func (*Widget) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{3} +} +func (m *Widget) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Widget.Unmarshal(m, b) +} +func (m *Widget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Widget.Marshal(b, m, deterministic) +} +func (dst *Widget) XXX_Merge(src proto.Message) { + xxx_messageInfo_Widget.Merge(dst, src) +} +func (m *Widget) XXX_Size() int { + return xxx_messageInfo_Widget.Size(m) +} +func (m *Widget) XXX_DiscardUnknown() { + xxx_messageInfo_Widget.DiscardUnknown(m) +} + +var xxx_messageInfo_Widget proto.InternalMessageInfo func (m *Widget) GetColor() Widget_Color { if m != nil && m.Color != nil { @@ -377,15 +529,36 @@ func (m *Widget) GetRRepeats() []*Repeats { } type Maps struct { - MInt64Str map[int64]string `protobuf:"bytes,1,rep,name=m_int64_str,json=mInt64Str" json:"m_int64_str,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - MBoolSimple map[bool]*Simple `protobuf:"bytes,2,rep,name=m_bool_simple,json=mBoolSimple" json:"m_bool_simple,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - XXX_unrecognized []byte `json:"-"` + MInt64Str map[int64]string `protobuf:"bytes,1,rep,name=m_int64_str,json=mInt64Str" json:"m_int64_str,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + MBoolSimple map[bool]*Simple `protobuf:"bytes,2,rep,name=m_bool_simple,json=mBoolSimple" json:"m_bool_simple,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Maps) Reset() { *m = Maps{} } -func (m *Maps) String() string { return proto.CompactTextString(m) } -func (*Maps) ProtoMessage() {} -func (*Maps) Descriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{4} } +func (m *Maps) Reset() { *m = Maps{} } +func (m *Maps) String() string { return proto.CompactTextString(m) } +func (*Maps) ProtoMessage() {} +func (*Maps) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{4} +} +func (m *Maps) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Maps.Unmarshal(m, b) +} +func (m *Maps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Maps.Marshal(b, m, deterministic) +} +func (dst *Maps) XXX_Merge(src proto.Message) { + xxx_messageInfo_Maps.Merge(dst, src) +} +func (m *Maps) XXX_Size() int { + return xxx_messageInfo_Maps.Size(m) +} +func (m *Maps) XXX_DiscardUnknown() { + xxx_messageInfo_Maps.DiscardUnknown(m) +} + +var xxx_messageInfo_Maps proto.InternalMessageInfo func (m *Maps) GetMInt64Str() map[int64]string { if m != nil { @@ -407,14 +580,36 @@ type MsgWithOneof struct { // *MsgWithOneof_Salary // *MsgWithOneof_Country // *MsgWithOneof_HomeAddress - Union isMsgWithOneof_Union `protobuf_oneof:"union"` - XXX_unrecognized []byte `json:"-"` + // *MsgWithOneof_MsgWithRequired + Union isMsgWithOneof_Union `protobuf_oneof:"union"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MsgWithOneof) Reset() { *m = MsgWithOneof{} } -func (m *MsgWithOneof) String() string { return proto.CompactTextString(m) } -func (*MsgWithOneof) ProtoMessage() {} -func (*MsgWithOneof) Descriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{5} } +func (m *MsgWithOneof) Reset() { *m = MsgWithOneof{} } +func (m *MsgWithOneof) String() string { return proto.CompactTextString(m) } +func (*MsgWithOneof) ProtoMessage() {} +func (*MsgWithOneof) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{5} +} +func (m *MsgWithOneof) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MsgWithOneof.Unmarshal(m, b) +} +func (m *MsgWithOneof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MsgWithOneof.Marshal(b, m, deterministic) +} +func (dst *MsgWithOneof) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithOneof.Merge(dst, src) +} +func (m *MsgWithOneof) XXX_Size() int { + return xxx_messageInfo_MsgWithOneof.Size(m) +} +func (m *MsgWithOneof) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithOneof.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgWithOneof proto.InternalMessageInfo type isMsgWithOneof_Union interface { isMsgWithOneof_Union() @@ -432,11 +627,15 @@ type MsgWithOneof_Country struct { type MsgWithOneof_HomeAddress struct { HomeAddress string `protobuf:"bytes,4,opt,name=home_address,json=homeAddress,oneof"` } +type MsgWithOneof_MsgWithRequired struct { + MsgWithRequired *MsgWithRequired `protobuf:"bytes,5,opt,name=msg_with_required,json=msgWithRequired,oneof"` +} -func (*MsgWithOneof_Title) isMsgWithOneof_Union() {} -func (*MsgWithOneof_Salary) isMsgWithOneof_Union() {} -func (*MsgWithOneof_Country) isMsgWithOneof_Union() {} -func (*MsgWithOneof_HomeAddress) isMsgWithOneof_Union() {} +func (*MsgWithOneof_Title) isMsgWithOneof_Union() {} +func (*MsgWithOneof_Salary) isMsgWithOneof_Union() {} +func (*MsgWithOneof_Country) isMsgWithOneof_Union() {} +func (*MsgWithOneof_HomeAddress) isMsgWithOneof_Union() {} +func (*MsgWithOneof_MsgWithRequired) isMsgWithOneof_Union() {} func (m *MsgWithOneof) GetUnion() isMsgWithOneof_Union { if m != nil { @@ -473,6 +672,13 @@ func (m *MsgWithOneof) GetHomeAddress() string { return "" } +func (m *MsgWithOneof) GetMsgWithRequired() *MsgWithRequired { + if x, ok := m.GetUnion().(*MsgWithOneof_MsgWithRequired); ok { + return x.MsgWithRequired + } + return nil +} + // XXX_OneofFuncs is for the internal use of the proto package. func (*MsgWithOneof) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _MsgWithOneof_OneofMarshaler, _MsgWithOneof_OneofUnmarshaler, _MsgWithOneof_OneofSizer, []interface{}{ @@ -480,6 +686,7 @@ func (*MsgWithOneof) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) (*MsgWithOneof_Salary)(nil), (*MsgWithOneof_Country)(nil), (*MsgWithOneof_HomeAddress)(nil), + (*MsgWithOneof_MsgWithRequired)(nil), } } @@ -499,6 +706,11 @@ func _MsgWithOneof_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { case *MsgWithOneof_HomeAddress: _ = b.EncodeVarint(4<<3 | proto.WireBytes) _ = b.EncodeStringBytes(x.HomeAddress) + case *MsgWithOneof_MsgWithRequired: + _ = b.EncodeVarint(5<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.MsgWithRequired); err != nil { + return err + } case nil: default: return fmt.Errorf("MsgWithOneof.Union has unexpected type %T", x) @@ -537,6 +749,14 @@ func _MsgWithOneof_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.B x, err := b.DecodeStringBytes() m.Union = &MsgWithOneof_HomeAddress{x} return true, err + case 5: // union.msg_with_required + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(MsgWithRequired) + err := b.DecodeMessage(msg) + m.Union = &MsgWithOneof_MsgWithRequired{msg} + return true, err default: return false, nil } @@ -547,20 +767,25 @@ func _MsgWithOneof_OneofSizer(msg proto.Message) (n int) { // union switch x := m.Union.(type) { case *MsgWithOneof_Title: - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Title))) n += len(x.Title) case *MsgWithOneof_Salary: - n += proto.SizeVarint(2<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.Salary)) case *MsgWithOneof_Country: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.Country))) n += len(x.Country) case *MsgWithOneof_HomeAddress: - n += proto.SizeVarint(4<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.HomeAddress))) n += len(x.HomeAddress) + case *MsgWithOneof_MsgWithRequired: + s := proto.Size(x.MsgWithRequired) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s case nil: default: panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) @@ -570,14 +795,18 @@ func _MsgWithOneof_OneofSizer(msg proto.Message) (n int) { type Real struct { Value *float64 `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Real) Reset() { *m = Real{} } -func (m *Real) String() string { return proto.CompactTextString(m) } -func (*Real) ProtoMessage() {} -func (*Real) Descriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{6} } +func (m *Real) Reset() { *m = Real{} } +func (m *Real) String() string { return proto.CompactTextString(m) } +func (*Real) ProtoMessage() {} +func (*Real) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{6} +} var extRange_Real = []proto.ExtensionRange{ {Start: 100, End: 536870911}, @@ -586,6 +815,23 @@ var extRange_Real = []proto.ExtensionRange{ func (*Real) ExtensionRangeArray() []proto.ExtensionRange { return extRange_Real } +func (m *Real) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Real.Unmarshal(m, b) +} +func (m *Real) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Real.Marshal(b, m, deterministic) +} +func (dst *Real) XXX_Merge(src proto.Message) { + xxx_messageInfo_Real.Merge(dst, src) +} +func (m *Real) XXX_Size() int { + return xxx_messageInfo_Real.Size(m) +} +func (m *Real) XXX_DiscardUnknown() { + xxx_messageInfo_Real.DiscardUnknown(m) +} + +var xxx_messageInfo_Real proto.InternalMessageInfo func (m *Real) GetValue() float64 { if m != nil && m.Value != nil { @@ -596,14 +842,18 @@ func (m *Real) GetValue() float64 { type Complex struct { Imaginary *float64 `protobuf:"fixed64,1,opt,name=imaginary" json:"imaginary,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Complex) Reset() { *m = Complex{} } -func (m *Complex) String() string { return proto.CompactTextString(m) } -func (*Complex) ProtoMessage() {} -func (*Complex) Descriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{7} } +func (m *Complex) Reset() { *m = Complex{} } +func (m *Complex) String() string { return proto.CompactTextString(m) } +func (*Complex) ProtoMessage() {} +func (*Complex) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{7} +} var extRange_Complex = []proto.ExtensionRange{ {Start: 100, End: 536870911}, @@ -612,6 +862,23 @@ var extRange_Complex = []proto.ExtensionRange{ func (*Complex) ExtensionRangeArray() []proto.ExtensionRange { return extRange_Complex } +func (m *Complex) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Complex.Unmarshal(m, b) +} +func (m *Complex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Complex.Marshal(b, m, deterministic) +} +func (dst *Complex) XXX_Merge(src proto.Message) { + xxx_messageInfo_Complex.Merge(dst, src) +} +func (m *Complex) XXX_Size() int { + return xxx_messageInfo_Complex.Size(m) +} +func (m *Complex) XXX_DiscardUnknown() { + xxx_messageInfo_Complex.DiscardUnknown(m) +} + +var xxx_messageInfo_Complex proto.InternalMessageInfo func (m *Complex) GetImaginary() float64 { if m != nil && m.Imaginary != nil { @@ -630,134 +897,324 @@ var E_Complex_RealExtension = &proto.ExtensionDesc{ } type KnownTypes struct { - An *google_protobuf.Any `protobuf:"bytes,14,opt,name=an" json:"an,omitempty"` - Dur *google_protobuf1.Duration `protobuf:"bytes,1,opt,name=dur" json:"dur,omitempty"` - St *google_protobuf2.Struct `protobuf:"bytes,12,opt,name=st" json:"st,omitempty"` - Ts *google_protobuf3.Timestamp `protobuf:"bytes,2,opt,name=ts" json:"ts,omitempty"` - Lv *google_protobuf2.ListValue `protobuf:"bytes,15,opt,name=lv" json:"lv,omitempty"` - Val *google_protobuf2.Value `protobuf:"bytes,16,opt,name=val" json:"val,omitempty"` - Dbl *google_protobuf4.DoubleValue `protobuf:"bytes,3,opt,name=dbl" json:"dbl,omitempty"` - Flt *google_protobuf4.FloatValue `protobuf:"bytes,4,opt,name=flt" json:"flt,omitempty"` - I64 *google_protobuf4.Int64Value `protobuf:"bytes,5,opt,name=i64" json:"i64,omitempty"` - U64 *google_protobuf4.UInt64Value `protobuf:"bytes,6,opt,name=u64" json:"u64,omitempty"` - I32 *google_protobuf4.Int32Value `protobuf:"bytes,7,opt,name=i32" json:"i32,omitempty"` - U32 *google_protobuf4.UInt32Value `protobuf:"bytes,8,opt,name=u32" json:"u32,omitempty"` - Bool *google_protobuf4.BoolValue `protobuf:"bytes,9,opt,name=bool" json:"bool,omitempty"` - Str *google_protobuf4.StringValue `protobuf:"bytes,10,opt,name=str" json:"str,omitempty"` - Bytes *google_protobuf4.BytesValue `protobuf:"bytes,11,opt,name=bytes" json:"bytes,omitempty"` - XXX_unrecognized []byte `json:"-"` + An *types.Any `protobuf:"bytes,14,opt,name=an" json:"an,omitempty"` + Dur *types.Duration `protobuf:"bytes,1,opt,name=dur" json:"dur,omitempty"` + St *types.Struct `protobuf:"bytes,12,opt,name=st" json:"st,omitempty"` + Ts *types.Timestamp `protobuf:"bytes,2,opt,name=ts" json:"ts,omitempty"` + Lv *types.ListValue `protobuf:"bytes,15,opt,name=lv" json:"lv,omitempty"` + Val *types.Value `protobuf:"bytes,16,opt,name=val" json:"val,omitempty"` + Dbl *types.DoubleValue `protobuf:"bytes,3,opt,name=dbl" json:"dbl,omitempty"` + Flt *types.FloatValue `protobuf:"bytes,4,opt,name=flt" json:"flt,omitempty"` + I64 *types.Int64Value `protobuf:"bytes,5,opt,name=i64" json:"i64,omitempty"` + U64 *types.UInt64Value `protobuf:"bytes,6,opt,name=u64" json:"u64,omitempty"` + I32 *types.Int32Value `protobuf:"bytes,7,opt,name=i32" json:"i32,omitempty"` + U32 *types.UInt32Value `protobuf:"bytes,8,opt,name=u32" json:"u32,omitempty"` + Bool *types.BoolValue `protobuf:"bytes,9,opt,name=bool" json:"bool,omitempty"` + Str *types.StringValue `protobuf:"bytes,10,opt,name=str" json:"str,omitempty"` + Bytes *types.BytesValue `protobuf:"bytes,11,opt,name=bytes" json:"bytes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *KnownTypes) Reset() { *m = KnownTypes{} } -func (m *KnownTypes) String() string { return proto.CompactTextString(m) } -func (*KnownTypes) ProtoMessage() {} -func (*KnownTypes) Descriptor() ([]byte, []int) { return fileDescriptorTestObjects, []int{8} } +func (m *KnownTypes) Reset() { *m = KnownTypes{} } +func (m *KnownTypes) String() string { return proto.CompactTextString(m) } +func (*KnownTypes) ProtoMessage() {} +func (*KnownTypes) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{8} +} +func (m *KnownTypes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KnownTypes.Unmarshal(m, b) +} +func (m *KnownTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KnownTypes.Marshal(b, m, deterministic) +} +func (dst *KnownTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_KnownTypes.Merge(dst, src) +} +func (m *KnownTypes) XXX_Size() int { + return xxx_messageInfo_KnownTypes.Size(m) +} +func (m *KnownTypes) XXX_DiscardUnknown() { + xxx_messageInfo_KnownTypes.DiscardUnknown(m) +} -func (m *KnownTypes) GetAn() *google_protobuf.Any { +var xxx_messageInfo_KnownTypes proto.InternalMessageInfo + +func (m *KnownTypes) GetAn() *types.Any { if m != nil { return m.An } return nil } -func (m *KnownTypes) GetDur() *google_protobuf1.Duration { +func (m *KnownTypes) GetDur() *types.Duration { if m != nil { return m.Dur } return nil } -func (m *KnownTypes) GetSt() *google_protobuf2.Struct { +func (m *KnownTypes) GetSt() *types.Struct { if m != nil { return m.St } return nil } -func (m *KnownTypes) GetTs() *google_protobuf3.Timestamp { +func (m *KnownTypes) GetTs() *types.Timestamp { if m != nil { return m.Ts } return nil } -func (m *KnownTypes) GetLv() *google_protobuf2.ListValue { +func (m *KnownTypes) GetLv() *types.ListValue { if m != nil { return m.Lv } return nil } -func (m *KnownTypes) GetVal() *google_protobuf2.Value { +func (m *KnownTypes) GetVal() *types.Value { if m != nil { return m.Val } return nil } -func (m *KnownTypes) GetDbl() *google_protobuf4.DoubleValue { +func (m *KnownTypes) GetDbl() *types.DoubleValue { if m != nil { return m.Dbl } return nil } -func (m *KnownTypes) GetFlt() *google_protobuf4.FloatValue { +func (m *KnownTypes) GetFlt() *types.FloatValue { if m != nil { return m.Flt } return nil } -func (m *KnownTypes) GetI64() *google_protobuf4.Int64Value { +func (m *KnownTypes) GetI64() *types.Int64Value { if m != nil { return m.I64 } return nil } -func (m *KnownTypes) GetU64() *google_protobuf4.UInt64Value { +func (m *KnownTypes) GetU64() *types.UInt64Value { if m != nil { return m.U64 } return nil } -func (m *KnownTypes) GetI32() *google_protobuf4.Int32Value { +func (m *KnownTypes) GetI32() *types.Int32Value { if m != nil { return m.I32 } return nil } -func (m *KnownTypes) GetU32() *google_protobuf4.UInt32Value { +func (m *KnownTypes) GetU32() *types.UInt32Value { if m != nil { return m.U32 } return nil } -func (m *KnownTypes) GetBool() *google_protobuf4.BoolValue { +func (m *KnownTypes) GetBool() *types.BoolValue { if m != nil { return m.Bool } return nil } -func (m *KnownTypes) GetStr() *google_protobuf4.StringValue { +func (m *KnownTypes) GetStr() *types.StringValue { if m != nil { return m.Str } return nil } -func (m *KnownTypes) GetBytes() *google_protobuf4.BytesValue { +func (m *KnownTypes) GetBytes() *types.BytesValue { if m != nil { return m.Bytes } return nil } +// Test messages for marshaling/unmarshaling required fields. +type MsgWithRequired struct { + Str *string `protobuf:"bytes,1,req,name=str" json:"str,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MsgWithRequired) Reset() { *m = MsgWithRequired{} } +func (m *MsgWithRequired) String() string { return proto.CompactTextString(m) } +func (*MsgWithRequired) ProtoMessage() {} +func (*MsgWithRequired) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{9} +} +func (m *MsgWithRequired) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MsgWithRequired.Unmarshal(m, b) +} +func (m *MsgWithRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MsgWithRequired.Marshal(b, m, deterministic) +} +func (dst *MsgWithRequired) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithRequired.Merge(dst, src) +} +func (m *MsgWithRequired) XXX_Size() int { + return xxx_messageInfo_MsgWithRequired.Size(m) +} +func (m *MsgWithRequired) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithRequired.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgWithRequired proto.InternalMessageInfo + +func (m *MsgWithRequired) GetStr() string { + if m != nil && m.Str != nil { + return *m.Str + } + return "" +} + +type MsgWithIndirectRequired struct { + Subm *MsgWithRequired `protobuf:"bytes,1,opt,name=subm" json:"subm,omitempty"` + MapField map[string]*MsgWithRequired `protobuf:"bytes,2,rep,name=map_field,json=mapField" json:"map_field,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + SliceField []*MsgWithRequired `protobuf:"bytes,3,rep,name=slice_field,json=sliceField" json:"slice_field,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MsgWithIndirectRequired) Reset() { *m = MsgWithIndirectRequired{} } +func (m *MsgWithIndirectRequired) String() string { return proto.CompactTextString(m) } +func (*MsgWithIndirectRequired) ProtoMessage() {} +func (*MsgWithIndirectRequired) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{10} +} +func (m *MsgWithIndirectRequired) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MsgWithIndirectRequired.Unmarshal(m, b) +} +func (m *MsgWithIndirectRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MsgWithIndirectRequired.Marshal(b, m, deterministic) +} +func (dst *MsgWithIndirectRequired) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithIndirectRequired.Merge(dst, src) +} +func (m *MsgWithIndirectRequired) XXX_Size() int { + return xxx_messageInfo_MsgWithIndirectRequired.Size(m) +} +func (m *MsgWithIndirectRequired) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithIndirectRequired.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgWithIndirectRequired proto.InternalMessageInfo + +func (m *MsgWithIndirectRequired) GetSubm() *MsgWithRequired { + if m != nil { + return m.Subm + } + return nil +} + +func (m *MsgWithIndirectRequired) GetMapField() map[string]*MsgWithRequired { + if m != nil { + return m.MapField + } + return nil +} + +func (m *MsgWithIndirectRequired) GetSliceField() []*MsgWithRequired { + if m != nil { + return m.SliceField + } + return nil +} + +type MsgWithRequiredBytes struct { + Byts []byte `protobuf:"bytes,1,req,name=byts" json:"byts,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MsgWithRequiredBytes) Reset() { *m = MsgWithRequiredBytes{} } +func (m *MsgWithRequiredBytes) String() string { return proto.CompactTextString(m) } +func (*MsgWithRequiredBytes) ProtoMessage() {} +func (*MsgWithRequiredBytes) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{11} +} +func (m *MsgWithRequiredBytes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MsgWithRequiredBytes.Unmarshal(m, b) +} +func (m *MsgWithRequiredBytes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MsgWithRequiredBytes.Marshal(b, m, deterministic) +} +func (dst *MsgWithRequiredBytes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithRequiredBytes.Merge(dst, src) +} +func (m *MsgWithRequiredBytes) XXX_Size() int { + return xxx_messageInfo_MsgWithRequiredBytes.Size(m) +} +func (m *MsgWithRequiredBytes) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithRequiredBytes.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgWithRequiredBytes proto.InternalMessageInfo + +func (m *MsgWithRequiredBytes) GetByts() []byte { + if m != nil { + return m.Byts + } + return nil +} + +type MsgWithRequiredWKT struct { + Str *types.StringValue `protobuf:"bytes,1,req,name=str" json:"str,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MsgWithRequiredWKT) Reset() { *m = MsgWithRequiredWKT{} } +func (m *MsgWithRequiredWKT) String() string { return proto.CompactTextString(m) } +func (*MsgWithRequiredWKT) ProtoMessage() {} +func (*MsgWithRequiredWKT) Descriptor() ([]byte, []int) { + return fileDescriptor_test_objects_a7605480de8589c4, []int{12} +} +func (m *MsgWithRequiredWKT) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MsgWithRequiredWKT.Unmarshal(m, b) +} +func (m *MsgWithRequiredWKT) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MsgWithRequiredWKT.Marshal(b, m, deterministic) +} +func (dst *MsgWithRequiredWKT) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithRequiredWKT.Merge(dst, src) +} +func (m *MsgWithRequiredWKT) XXX_Size() int { + return xxx_messageInfo_MsgWithRequiredWKT.Size(m) +} +func (m *MsgWithRequiredWKT) XXX_DiscardUnknown() { + xxx_messageInfo_MsgWithRequiredWKT.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgWithRequiredWKT proto.InternalMessageInfo + +func (m *MsgWithRequiredWKT) GetStr() *types.StringValue { + if m != nil { + return m.Str + } + return nil +} + var E_Name = &proto.ExtensionDesc{ ExtendedType: (*Real)(nil), ExtensionType: (*string)(nil), @@ -767,99 +1224,134 @@ var E_Name = &proto.ExtensionDesc{ Filename: "test_objects.proto", } +var E_Extm = &proto.ExtensionDesc{ + ExtendedType: (*Real)(nil), + ExtensionType: (*MsgWithRequired)(nil), + Field: 125, + Name: "jsonpb.extm", + Tag: "bytes,125,opt,name=extm", + Filename: "test_objects.proto", +} + func init() { proto.RegisterType((*Simple)(nil), "jsonpb.Simple") proto.RegisterType((*NonFinites)(nil), "jsonpb.NonFinites") proto.RegisterType((*Repeats)(nil), "jsonpb.Repeats") proto.RegisterType((*Widget)(nil), "jsonpb.Widget") proto.RegisterType((*Maps)(nil), "jsonpb.Maps") + proto.RegisterMapType((map[bool]*Simple)(nil), "jsonpb.Maps.MBoolSimpleEntry") + proto.RegisterMapType((map[int64]string)(nil), "jsonpb.Maps.MInt64StrEntry") proto.RegisterType((*MsgWithOneof)(nil), "jsonpb.MsgWithOneof") proto.RegisterType((*Real)(nil), "jsonpb.Real") proto.RegisterType((*Complex)(nil), "jsonpb.Complex") proto.RegisterType((*KnownTypes)(nil), "jsonpb.KnownTypes") + proto.RegisterType((*MsgWithRequired)(nil), "jsonpb.MsgWithRequired") + proto.RegisterType((*MsgWithIndirectRequired)(nil), "jsonpb.MsgWithIndirectRequired") + proto.RegisterMapType((map[string]*MsgWithRequired)(nil), "jsonpb.MsgWithIndirectRequired.MapFieldEntry") + proto.RegisterType((*MsgWithRequiredBytes)(nil), "jsonpb.MsgWithRequiredBytes") + proto.RegisterType((*MsgWithRequiredWKT)(nil), "jsonpb.MsgWithRequiredWKT") proto.RegisterEnum("jsonpb.Widget_Color", Widget_Color_name, Widget_Color_value) proto.RegisterExtension(E_Complex_RealExtension) proto.RegisterExtension(E_Name) + proto.RegisterExtension(E_Extm) } -func init() { proto.RegisterFile("test_objects.proto", fileDescriptorTestObjects) } +func init() { proto.RegisterFile("test_objects.proto", fileDescriptor_test_objects_a7605480de8589c4) } -var fileDescriptorTestObjects = []byte{ - // 1206 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x56, 0xcf, 0x72, 0x13, 0xc7, - 0x13, 0x66, 0x77, 0xb5, 0xfa, 0xd3, 0x32, 0x46, 0xbf, 0xc1, 0xc0, 0xa2, 0x1f, 0x09, 0x2a, 0x85, - 0x10, 0x05, 0x82, 0xa8, 0xc8, 0x2a, 0x55, 0x8a, 0xe4, 0x82, 0xb1, 0x09, 0xa9, 0x80, 0x93, 0x1a, - 0x43, 0xc8, 0x4d, 0xb5, 0xf2, 0xae, 0xc4, 0x92, 0xd5, 0x8c, 0x6a, 0x66, 0xd6, 0xa0, 0x4a, 0x0e, - 0x3e, 0xe7, 0x98, 0xca, 0x33, 0xe4, 0x11, 0x72, 0xc8, 0x63, 0xe4, 0x01, 0xf2, 0x20, 0x39, 0xa5, - 0xba, 0x67, 0x57, 0x6b, 0x2c, 0x74, 0xf2, 0x76, 0xf7, 0xf7, 0x7d, 0x9e, 0x99, 0xaf, 0x67, 0x5a, - 0xc0, 0x4c, 0xac, 0xcd, 0x58, 0x4e, 0x5e, 0xc7, 0xc7, 0x46, 0xf7, 0x17, 0x4a, 0x1a, 0xc9, 0xaa, - 0xaf, 0xb5, 0x14, 0x8b, 0x49, 0xfb, 0xfa, 0x4c, 0xca, 0x59, 0x1a, 0xdf, 0xa7, 0xec, 0x24, 0x9b, - 0xde, 0x0f, 0xc5, 0xd2, 0x42, 0xda, 0x1f, 0x9e, 0x2f, 0x45, 0x99, 0x0a, 0x4d, 0x22, 0x45, 0x5e, - 0xbf, 0x71, 0xbe, 0xae, 0x8d, 0xca, 0x8e, 0x4d, 0x5e, 0xbd, 0x79, 0xbe, 0x6a, 0x92, 0x79, 0xac, - 0x4d, 0x38, 0x5f, 0x6c, 0x92, 0x7f, 0xa3, 0xc2, 0xc5, 0x22, 0x56, 0xf9, 0x0a, 0xdb, 0x3b, 0x33, - 0x39, 0x93, 0xf4, 0x79, 0x1f, 0xbf, 0x6c, 0xb6, 0xfb, 0xb7, 0x0b, 0xd5, 0xa3, 0x64, 0xbe, 0x48, - 0x63, 0x76, 0x05, 0xaa, 0x72, 0x3c, 0x91, 0x32, 0x0d, 0x9c, 0x8e, 0xd3, 0xab, 0x73, 0x5f, 0xee, - 0x49, 0x99, 0xb2, 0x6b, 0x50, 0x93, 0xe3, 0x44, 0x98, 0xdd, 0x41, 0xe0, 0x76, 0x9c, 0x9e, 0xcf, - 0xab, 0xf2, 0x1b, 0x8c, 0x56, 0x85, 0xd1, 0x30, 0xf0, 0x3a, 0x4e, 0xcf, 0xb3, 0x85, 0xd1, 0x90, - 0x5d, 0x87, 0xba, 0x1c, 0x67, 0x96, 0x52, 0xe9, 0x38, 0xbd, 0x8b, 0xbc, 0x26, 0x5f, 0x50, 0x58, - 0x96, 0x46, 0xc3, 0xc0, 0xef, 0x38, 0xbd, 0x4a, 0x5e, 0x2a, 0x58, 0xda, 0xb2, 0xaa, 0x1d, 0xa7, - 0xf7, 0x3f, 0x5e, 0x93, 0x47, 0x67, 0x58, 0xda, 0xb2, 0x6a, 0x1d, 0xa7, 0xc7, 0xf2, 0xd2, 0x68, - 0x68, 0x17, 0x31, 0x4d, 0x65, 0x68, 0x82, 0x7a, 0xc7, 0xe9, 0xb9, 0xbc, 0x2a, 0x1f, 0x63, 0x64, - 0x39, 0x91, 0xcc, 0x26, 0x69, 0x1c, 0x34, 0x3a, 0x4e, 0xcf, 0xe1, 0x35, 0xb9, 0x4f, 0x61, 0x2e, - 0x67, 0x54, 0x22, 0x66, 0x01, 0x74, 0x9c, 0x5e, 0x03, 0xe5, 0x28, 0xb4, 0x72, 0x93, 0xa5, 0x89, - 0x75, 0xd0, 0xec, 0x38, 0xbd, 0x2d, 0x5e, 0x95, 0x7b, 0x18, 0xb1, 0xbb, 0xb0, 0x25, 0xc7, 0xc7, - 0xa1, 0x36, 0x79, 0x75, 0x0b, 0xab, 0x7b, 0x8d, 0x7f, 0xff, 0xb9, 0xe9, 0x13, 0x80, 0x83, 0x7c, - 0x14, 0x6a, 0x43, 0xdf, 0xdd, 0xdf, 0x1c, 0x80, 0x43, 0x29, 0x1e, 0x27, 0x22, 0x41, 0xee, 0x65, - 0xf0, 0xa7, 0x63, 0x11, 0x0a, 0x3a, 0x57, 0x97, 0x57, 0xa6, 0x87, 0xa1, 0xc0, 0xd3, 0x9e, 0x8e, - 0x17, 0x89, 0x98, 0xd2, 0xa9, 0xba, 0xdc, 0x9f, 0x7e, 0x9f, 0x88, 0xa9, 0x4d, 0x0b, 0x4c, 0x7b, - 0x79, 0xfa, 0x10, 0xd3, 0x97, 0xc1, 0x8f, 0x48, 0xa2, 0x42, 0x5b, 0xa9, 0x44, 0xb9, 0x44, 0x64, - 0x25, 0x7c, 0xca, 0xfa, 0x51, 0x21, 0x11, 0x59, 0x89, 0x6a, 0x9e, 0x46, 0x89, 0xee, 0x1f, 0x2e, - 0xd4, 0x78, 0xbc, 0x88, 0x43, 0xa3, 0x11, 0xa2, 0x0a, 0xab, 0x3d, 0xb4, 0x5a, 0x15, 0x56, 0xab, - 0x95, 0xd5, 0x1e, 0x5a, 0xad, 0x56, 0x56, 0xab, 0x95, 0xd5, 0x1e, 0x5a, 0xad, 0x56, 0x56, 0xab, - 0xd2, 0x6a, 0x0f, 0xad, 0x56, 0xa5, 0xd5, 0xaa, 0xb4, 0xda, 0x43, 0xab, 0x55, 0x69, 0xb5, 0x2a, - 0xad, 0xf6, 0xd0, 0x6a, 0x75, 0x74, 0x86, 0xb5, 0xb2, 0xda, 0x43, 0xab, 0x55, 0x69, 0xb5, 0x5a, - 0x59, 0xed, 0xa1, 0xd5, 0x6a, 0x65, 0xb5, 0x2a, 0xad, 0xf6, 0xd0, 0x6a, 0x55, 0x5a, 0xad, 0x4a, - 0xab, 0x3d, 0xb4, 0x5a, 0x95, 0x56, 0xab, 0x95, 0xd5, 0x1e, 0x5a, 0xad, 0xac, 0x7b, 0x7f, 0xba, - 0x50, 0x7d, 0x99, 0x44, 0xb3, 0xd8, 0xb0, 0x3b, 0xe0, 0x1f, 0xcb, 0x54, 0x2a, 0x72, 0x6e, 0x7b, - 0xb0, 0xd3, 0xb7, 0xb7, 0xbc, 0x6f, 0xcb, 0xfd, 0x47, 0x58, 0xe3, 0x16, 0xc2, 0xee, 0xa1, 0x9e, - 0x45, 0xe3, 0xe1, 0x6d, 0x42, 0x57, 0x15, 0xfd, 0x65, 0xb7, 0xa1, 0xaa, 0xe9, 0xde, 0x51, 0x0b, - 0x36, 0x07, 0xdb, 0x05, 0xda, 0xde, 0x46, 0x9e, 0x57, 0xd9, 0xa7, 0xf6, 0x40, 0x08, 0x89, 0xeb, - 0x5c, 0x47, 0xe2, 0x01, 0xe5, 0xd0, 0x9a, 0xb2, 0x06, 0x07, 0x3b, 0xa4, 0x79, 0xa9, 0x40, 0xe6, - 0xbe, 0xf3, 0xa2, 0xce, 0x3e, 0x83, 0x86, 0x1a, 0x17, 0xe0, 0x2b, 0x24, 0xbb, 0x06, 0xae, 0xab, - 0xfc, 0xab, 0xfb, 0x31, 0xf8, 0x76, 0xd1, 0x35, 0xf0, 0xf8, 0xc1, 0x7e, 0xeb, 0x02, 0x6b, 0x80, - 0xff, 0x35, 0x3f, 0x38, 0x38, 0x6c, 0x39, 0xac, 0x0e, 0x95, 0xbd, 0xa7, 0x2f, 0x0e, 0x5a, 0x6e, - 0xf7, 0x77, 0x17, 0x2a, 0xcf, 0xc2, 0x85, 0x66, 0x5f, 0x42, 0x73, 0x6e, 0xdb, 0x05, 0xcf, 0x9e, - 0x7a, 0xac, 0x39, 0xf8, 0x7f, 0xa1, 0x8f, 0x90, 0xfe, 0x33, 0xea, 0x9f, 0x23, 0xa3, 0x0e, 0x84, - 0x51, 0x4b, 0xde, 0x98, 0x17, 0x31, 0x7b, 0x08, 0x17, 0xe7, 0xd4, 0x9b, 0xc5, 0xae, 0x5d, 0xa2, - 0x7f, 0xf0, 0x2e, 0x1d, 0xfb, 0xd5, 0x6e, 0xdb, 0x0a, 0x34, 0xe7, 0x65, 0xa6, 0xfd, 0x15, 0x6c, - 0xbf, 0xab, 0xcf, 0x5a, 0xe0, 0xfd, 0x14, 0x2f, 0xc9, 0x46, 0x8f, 0xe3, 0x27, 0xdb, 0x01, 0xff, - 0x24, 0x4c, 0xb3, 0x98, 0xae, 0x5f, 0x83, 0xdb, 0xe0, 0x81, 0xfb, 0x85, 0xd3, 0x3e, 0x84, 0xd6, - 0x79, 0xf9, 0xb3, 0xfc, 0xba, 0xe5, 0xdf, 0x3a, 0xcb, 0x5f, 0x37, 0xa5, 0xd4, 0xeb, 0xfe, 0xea, - 0xc0, 0xd6, 0x33, 0x3d, 0x7b, 0x99, 0x98, 0x57, 0xdf, 0x89, 0x58, 0x4e, 0xd9, 0x55, 0xf0, 0x4d, - 0x62, 0xd2, 0x98, 0xe4, 0x1a, 0x4f, 0x2e, 0x70, 0x1b, 0xb2, 0x00, 0xaa, 0x3a, 0x4c, 0x43, 0xb5, - 0x24, 0x4d, 0xef, 0xc9, 0x05, 0x9e, 0xc7, 0xac, 0x0d, 0xb5, 0x47, 0x32, 0xc3, 0x95, 0xd0, 0xb3, - 0x80, 0x9c, 0x22, 0xc1, 0x3e, 0x82, 0xad, 0x57, 0x72, 0x1e, 0x8f, 0xc3, 0x28, 0x52, 0xb1, 0xd6, - 0xf4, 0x42, 0x20, 0xa0, 0x89, 0xd9, 0x87, 0x36, 0xb9, 0x57, 0x03, 0x3f, 0x13, 0x89, 0x14, 0xdd, - 0xdb, 0x50, 0xe1, 0x71, 0x98, 0x96, 0xdb, 0x77, 0xec, 0x1b, 0x41, 0xc1, 0x9d, 0x7a, 0x3d, 0x6a, - 0x9d, 0x9e, 0x9e, 0x9e, 0xba, 0xdd, 0x37, 0xf8, 0x1f, 0x71, 0x27, 0x6f, 0xd9, 0x0d, 0x68, 0x24, - 0xf3, 0x70, 0x96, 0x08, 0x5c, 0x99, 0x85, 0x97, 0x89, 0x92, 0x32, 0xd8, 0x87, 0x6d, 0x15, 0x87, - 0xe9, 0x38, 0x7e, 0x6b, 0x62, 0xa1, 0x13, 0x29, 0xd8, 0x56, 0xd9, 0x52, 0x61, 0x1a, 0xfc, 0xfc, - 0x6e, 0x4f, 0xe6, 0xf2, 0xfc, 0x22, 0x92, 0x0e, 0x0a, 0x4e, 0xf7, 0x2f, 0x1f, 0xe0, 0x5b, 0x21, - 0xdf, 0x88, 0xe7, 0xcb, 0x45, 0xac, 0xd9, 0x2d, 0x70, 0x43, 0x11, 0x6c, 0x13, 0x75, 0xa7, 0x6f, - 0x47, 0x5c, 0xbf, 0x18, 0x71, 0xfd, 0x87, 0x62, 0xc9, 0xdd, 0x50, 0xb0, 0xbb, 0xe0, 0x45, 0x99, - 0xbd, 0xa5, 0xcd, 0xc1, 0xf5, 0x35, 0xd8, 0x7e, 0x3e, 0x68, 0x39, 0xa2, 0xd8, 0x27, 0xe0, 0x6a, - 0x43, 0x0f, 0x78, 0x73, 0x70, 0x6d, 0x0d, 0x7b, 0x44, 0x43, 0x97, 0xbb, 0x1a, 0x6f, 0xbf, 0x6b, - 0x74, 0xee, 0x6f, 0x7b, 0x0d, 0xf8, 0xbc, 0x98, 0xbf, 0xdc, 0x35, 0x1a, 0xb1, 0xe9, 0x49, 0x70, - 0x69, 0x03, 0xf6, 0x69, 0xa2, 0xcd, 0x0f, 0x78, 0xc2, 0xdc, 0x4d, 0x4f, 0x58, 0x0f, 0xbc, 0x93, - 0x30, 0x0d, 0x5a, 0x04, 0xbe, 0xba, 0x06, 0xb6, 0x40, 0x84, 0xb0, 0x3e, 0x78, 0xd1, 0x24, 0x25, - 0xcf, 0x9b, 0x83, 0x1b, 0xeb, 0xfb, 0xa2, 0x47, 0x2e, 0xc7, 0x47, 0x93, 0x94, 0xdd, 0x03, 0x6f, - 0x9a, 0x1a, 0x6a, 0x01, 0xbc, 0x70, 0xe7, 0xf1, 0xf4, 0x5c, 0xe6, 0xf0, 0x69, 0x6a, 0x10, 0x9e, - 0xe4, 0x83, 0xf8, 0x7d, 0x70, 0xba, 0x42, 0x39, 0x3c, 0x19, 0x0d, 0x71, 0x35, 0xd9, 0x68, 0x48, - 0x53, 0xe5, 0x7d, 0xab, 0x79, 0x71, 0x16, 0x9f, 0x8d, 0x86, 0x24, 0xbf, 0x3b, 0xa0, 0x89, 0xbd, - 0x41, 0x7e, 0x77, 0x50, 0xc8, 0xef, 0x0e, 0x48, 0x7e, 0x77, 0x40, 0x63, 0x7c, 0x93, 0xfc, 0x0a, - 0x9f, 0x11, 0xbe, 0x42, 0x23, 0xac, 0xb1, 0xe1, 0xd0, 0xf1, 0x0e, 0x5b, 0x38, 0xe1, 0x50, 0x1f, - 0x5f, 0x23, 0xd8, 0xa0, 0x6f, 0xc7, 0x42, 0xae, 0xaf, 0x8d, 0x62, 0x9f, 0x83, 0x5f, 0xfe, 0x12, - 0x78, 0xdf, 0x06, 0x68, 0x5c, 0x58, 0x82, 0x45, 0x3e, 0xe8, 0x40, 0x45, 0x84, 0xf3, 0xf8, 0x5c, - 0xe3, 0xff, 0x42, 0x2f, 0x0c, 0x55, 0x7e, 0xf4, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x9a, 0xa6, - 0x21, 0x68, 0x3e, 0x0a, 0x00, 0x00, +var fileDescriptor_test_objects_a7605480de8589c4 = []byte{ + // 1504 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xdb, 0x72, 0xdb, 0x36, + 0x1a, 0x36, 0x49, 0x51, 0x12, 0x7f, 0xf9, 0x14, 0xc4, 0x49, 0x64, 0x6d, 0x36, 0xe1, 0x28, 0xd9, + 0xac, 0x36, 0x59, 0x2b, 0xb3, 0xb2, 0x46, 0x93, 0x4d, 0x7b, 0x13, 0xc7, 0x4e, 0x93, 0x26, 0x71, + 0x3b, 0xb0, 0xd3, 0xf4, 0x4e, 0x43, 0x99, 0x94, 0xc2, 0x94, 0x24, 0x54, 0x00, 0xb2, 0xa3, 0x69, + 0x3b, 0xe3, 0x67, 0xe8, 0xf4, 0x09, 0x7a, 0xd1, 0x47, 0xe8, 0x45, 0xdf, 0xa2, 0xf7, 0x9d, 0x3e, + 0x48, 0xaf, 0x3a, 0xf8, 0x01, 0xea, 0x64, 0x6b, 0xda, 0x2b, 0x09, 0xf8, 0x0e, 0x00, 0x81, 0x0f, + 0x3f, 0x00, 0x44, 0x46, 0x42, 0x76, 0x59, 0xef, 0x7d, 0x74, 0x22, 0x45, 0x73, 0xc8, 0x99, 0x64, + 0xa4, 0xf8, 0x5e, 0xb0, 0x6c, 0xd8, 0xab, 0x6d, 0x0f, 0x18, 0x1b, 0x24, 0xd1, 0x43, 0xec, 0xed, + 0x8d, 0xfa, 0x0f, 0x83, 0x6c, 0xac, 0x29, 0xb5, 0x5b, 0x8b, 0x50, 0x38, 0xe2, 0x81, 0x8c, 0x59, + 0x66, 0xf0, 0x9b, 0x8b, 0xb8, 0x90, 0x7c, 0x74, 0x22, 0x0d, 0x7a, 0x7b, 0x11, 0x95, 0x71, 0x1a, + 0x09, 0x19, 0xa4, 0xc3, 0x65, 0xf6, 0x67, 0x3c, 0x18, 0x0e, 0x23, 0x6e, 0x66, 0x58, 0xdb, 0x1a, + 0xb0, 0x01, 0xc3, 0xbf, 0x0f, 0xd5, 0x3f, 0xdd, 0x5b, 0xff, 0xad, 0x00, 0xc5, 0xa3, 0x38, 0x1d, + 0x26, 0x11, 0xb9, 0x06, 0x45, 0xd6, 0xed, 0x31, 0x96, 0x54, 0x2d, 0xdf, 0x6a, 0x94, 0xa9, 0xcb, + 0xf6, 0x18, 0x4b, 0xc8, 0x0d, 0x28, 0xb1, 0x6e, 0x9c, 0xc9, 0xdd, 0x56, 0xd5, 0xf6, 0xad, 0x86, + 0x4b, 0x8b, 0xec, 0x85, 0x6a, 0x91, 0x5b, 0x50, 0x31, 0x40, 0x57, 0x48, 0x5e, 0x75, 0x10, 0xf4, + 0x34, 0x78, 0x24, 0xf9, 0x44, 0xd8, 0x69, 0x57, 0x0b, 0xbe, 0xd5, 0x70, 0xb4, 0xb0, 0xd3, 0x9e, + 0x08, 0x3b, 0x6d, 0x14, 0xba, 0x08, 0x7a, 0x1a, 0x54, 0xc2, 0x6d, 0x28, 0xb3, 0xee, 0x48, 0x0f, + 0x59, 0xf4, 0xad, 0xc6, 0x1a, 0x2d, 0xb1, 0x37, 0xd8, 0x24, 0x3e, 0xac, 0xe6, 0x10, 0x6a, 0x4b, + 0x08, 0x83, 0x81, 0xe7, 0xc4, 0x9d, 0x76, 0xb5, 0xec, 0x5b, 0x8d, 0x82, 0x11, 0x77, 0xda, 0x53, + 0xb1, 0x19, 0xd8, 0x43, 0x18, 0x0c, 0x3c, 0x11, 0x0b, 0x3d, 0x32, 0xf8, 0x56, 0xe3, 0x0a, 0x2d, + 0xb1, 0xa3, 0x99, 0x91, 0xc5, 0x74, 0xe4, 0x0a, 0xc2, 0x60, 0xe0, 0x39, 0x71, 0xa7, 0x5d, 0x5d, + 0xf5, 0xad, 0x06, 0x31, 0xe2, 0x7c, 0x64, 0x31, 0x1d, 0x79, 0x0d, 0x61, 0x30, 0xf0, 0x64, 0xb1, + 0xfa, 0x09, 0x0b, 0x64, 0x75, 0xdd, 0xb7, 0x1a, 0x36, 0x2d, 0xb2, 0x67, 0xaa, 0xa5, 0x17, 0x0b, + 0x01, 0x54, 0x6e, 0x20, 0xe8, 0x69, 0x70, 0x32, 0x6a, 0xc8, 0x46, 0xbd, 0x24, 0xaa, 0x6e, 0xfa, + 0x56, 0xc3, 0xa2, 0x25, 0xb6, 0x8f, 0x4d, 0x3d, 0xaa, 0x86, 0x50, 0x7b, 0x05, 0x61, 0x30, 0xf0, + 0x74, 0xca, 0x92, 0xc7, 0xd9, 0xa0, 0x4a, 0x7c, 0xab, 0xe1, 0xa9, 0x29, 0x63, 0x53, 0x4f, 0xa8, + 0x37, 0x96, 0x91, 0xa8, 0x5e, 0xf5, 0xad, 0xc6, 0x2a, 0x2d, 0xb2, 0x3d, 0xd5, 0x22, 0x0f, 0x94, + 0xeb, 0x49, 0x20, 0xa4, 0x41, 0xb7, 0x14, 0xba, 0xe7, 0xfd, 0xf1, 0xfb, 0x6d, 0x17, 0x09, 0x14, + 0xd8, 0xd3, 0x40, 0x48, 0xfc, 0x5f, 0xff, 0xde, 0x02, 0x38, 0x64, 0xd9, 0xb3, 0x38, 0x8b, 0x95, + 0xf6, 0x2a, 0xb8, 0xfd, 0x6e, 0x16, 0x64, 0x98, 0x30, 0x9b, 0x16, 0xfa, 0x87, 0x41, 0xa6, 0x72, + 0xd7, 0xef, 0x0e, 0xe3, 0xac, 0x8f, 0xf9, 0xb2, 0xa9, 0xdb, 0xff, 0x3c, 0xce, 0xfa, 0xba, 0x3b, + 0x53, 0xdd, 0x8e, 0xe9, 0x3e, 0x54, 0xdd, 0x57, 0xc1, 0x0d, 0xd1, 0xa2, 0x80, 0x5f, 0x53, 0x08, + 0x8d, 0x45, 0xa8, 0x2d, 0x5c, 0xec, 0x75, 0xc3, 0xdc, 0x22, 0xd4, 0x16, 0x45, 0xd3, 0xad, 0x2c, + 0xea, 0x3f, 0xd9, 0x50, 0xa2, 0xd1, 0x30, 0x0a, 0xa4, 0x50, 0x14, 0x9e, 0x87, 0xde, 0x51, 0xa1, + 0xe7, 0x79, 0xe8, 0xf9, 0x24, 0xf4, 0x8e, 0x0a, 0x3d, 0xd7, 0xa1, 0xcf, 0x81, 0x4e, 0xbb, 0xea, + 0xf8, 0x8e, 0x0a, 0x35, 0xd7, 0xa1, 0xde, 0x86, 0x32, 0xcf, 0x43, 0x5b, 0xf0, 0x1d, 0x15, 0x5a, + 0x6e, 0x42, 0x3b, 0x81, 0x3a, 0xed, 0xaa, 0xeb, 0x3b, 0x2a, 0x92, 0xdc, 0x44, 0x12, 0x21, 0x91, + 0x47, 0xdd, 0x51, 0x81, 0xe3, 0x47, 0x33, 0x2a, 0x13, 0xa7, 0x92, 0xef, 0xa8, 0x38, 0x71, 0x13, + 0x27, 0x9c, 0x84, 0x0e, 0x4b, 0xd9, 0x77, 0x54, 0x58, 0xb8, 0x0e, 0x0b, 0x6a, 0x4c, 0x18, 0x3c, + 0xdf, 0x51, 0x61, 0xe0, 0x26, 0x0c, 0xda, 0x4e, 0x6f, 0x35, 0xf8, 0x8e, 0xda, 0x6a, 0x3e, 0xdd, + 0x6a, 0x6e, 0x36, 0xb3, 0xe2, 0x3b, 0x6a, 0xab, 0xb9, 0xde, 0xbd, 0x9f, 0x6d, 0x28, 0xbe, 0x8d, + 0xc3, 0x41, 0x24, 0xc9, 0x7d, 0x70, 0x4f, 0x58, 0xc2, 0x38, 0xee, 0xdc, 0x7a, 0x6b, 0xab, 0xa9, + 0xeb, 0x5d, 0x53, 0xc3, 0xcd, 0xa7, 0x0a, 0xa3, 0x9a, 0x42, 0x76, 0x94, 0x9f, 0x66, 0xab, 0xc5, + 0x5b, 0xc6, 0x2e, 0x72, 0xfc, 0x25, 0xf7, 0xa0, 0x28, 0xb0, 0x02, 0xe1, 0x91, 0xab, 0xb4, 0xd6, + 0x73, 0xb6, 0xae, 0x4b, 0xd4, 0xa0, 0xe4, 0x3f, 0x7a, 0x41, 0x90, 0xa9, 0xe6, 0x79, 0x91, 0xa9, + 0x16, 0xc8, 0x50, 0x4b, 0x5c, 0x6f, 0x30, 0xc6, 0xb3, 0xd2, 0xda, 0xc8, 0x99, 0x66, 0xdf, 0x69, + 0x8e, 0x93, 0xff, 0x82, 0xc7, 0xbb, 0x39, 0xf9, 0x1a, 0xda, 0x5e, 0x20, 0x97, 0xb9, 0xf9, 0x57, + 0xff, 0x17, 0xb8, 0x7a, 0xd2, 0x25, 0x70, 0xe8, 0xc1, 0xfe, 0xe6, 0x0a, 0xf1, 0xc0, 0xfd, 0x84, + 0x1e, 0x1c, 0x1c, 0x6e, 0x5a, 0xa4, 0x0c, 0x85, 0xbd, 0x57, 0x6f, 0x0e, 0x36, 0xed, 0xfa, 0x0f, + 0x36, 0x14, 0x5e, 0x07, 0x43, 0x41, 0x3e, 0x82, 0x4a, 0x3a, 0x53, 0xea, 0x2c, 0xf4, 0xff, 0x47, + 0xee, 0xaf, 0x28, 0xcd, 0xd7, 0x79, 0xdd, 0x3b, 0xc8, 0x24, 0x1f, 0x53, 0x2f, 0x9d, 0xd4, 0xc1, + 0x27, 0xb0, 0x96, 0x62, 0x36, 0xf3, 0xaf, 0xb6, 0x51, 0xfe, 0xcf, 0x79, 0xb9, 0xca, 0xab, 0xfe, + 0x6c, 0x6d, 0x50, 0x49, 0xa7, 0x3d, 0xb5, 0x8f, 0x61, 0x7d, 0xde, 0x9f, 0x6c, 0x82, 0xf3, 0x55, + 0x34, 0xc6, 0x6d, 0x74, 0xa8, 0xfa, 0x4b, 0xb6, 0xc0, 0x3d, 0x0d, 0x92, 0x51, 0x84, 0xc7, 0xcf, + 0xa3, 0xba, 0xf1, 0xd8, 0x7e, 0x64, 0xd5, 0x0e, 0x61, 0x73, 0xd1, 0x7e, 0x56, 0x5f, 0xd6, 0xfa, + 0xbb, 0xb3, 0xfa, 0x8b, 0x9b, 0x32, 0xf5, 0xab, 0xff, 0x6a, 0xc1, 0xea, 0x6b, 0x31, 0x78, 0x1b, + 0xcb, 0x77, 0x9f, 0x65, 0x11, 0xeb, 0x93, 0xeb, 0xe0, 0xca, 0x58, 0x26, 0x11, 0xda, 0x79, 0xcf, + 0x57, 0xa8, 0x6e, 0x92, 0x2a, 0x14, 0x45, 0x90, 0x04, 0x7c, 0x8c, 0x9e, 0xce, 0xf3, 0x15, 0x6a, + 0xda, 0xa4, 0x06, 0xa5, 0xa7, 0x6c, 0xa4, 0x66, 0x82, 0x65, 0x41, 0x69, 0xf2, 0x0e, 0x72, 0x07, + 0x56, 0xdf, 0xb1, 0x34, 0xea, 0x06, 0x61, 0xc8, 0x23, 0x21, 0xb0, 0x42, 0x28, 0x42, 0x45, 0xf5, + 0x3e, 0xd1, 0x9d, 0xe4, 0x00, 0xae, 0xa4, 0x62, 0xd0, 0x3d, 0x8b, 0xe5, 0xbb, 0x2e, 0x8f, 0xbe, + 0x1e, 0xc5, 0x3c, 0x0a, 0xb1, 0x6a, 0x54, 0x5a, 0x37, 0x26, 0x0b, 0xab, 0xe7, 0x48, 0x0d, 0xfc, + 0x7c, 0x85, 0x6e, 0xa4, 0xf3, 0x5d, 0x7b, 0x25, 0x70, 0x47, 0x59, 0xcc, 0xb2, 0xfa, 0x3d, 0x28, + 0xd0, 0x28, 0x48, 0xa6, 0xab, 0x68, 0xe9, 0x52, 0x83, 0x8d, 0xfb, 0xe5, 0x72, 0xb8, 0x79, 0x7e, + 0x7e, 0x7e, 0x6e, 0xd7, 0xcf, 0xd4, 0xc4, 0xd5, 0x82, 0x7c, 0x20, 0x37, 0xc1, 0x8b, 0xd3, 0x60, + 0x10, 0x67, 0xea, 0x03, 0x35, 0x7d, 0xda, 0x31, 0x95, 0xb4, 0xf6, 0x61, 0x9d, 0x47, 0x41, 0xd2, + 0x8d, 0x3e, 0xc8, 0x28, 0x13, 0x31, 0xcb, 0xc8, 0xea, 0x34, 0x99, 0x41, 0x52, 0xfd, 0x66, 0x3e, + 0xda, 0xc6, 0x9e, 0xae, 0x29, 0xd1, 0x41, 0xae, 0xa9, 0xff, 0xe2, 0x02, 0xbc, 0xcc, 0xd8, 0x59, + 0x76, 0x3c, 0x1e, 0x46, 0x82, 0xdc, 0x05, 0x3b, 0xc8, 0xf0, 0x8e, 0xa9, 0xb4, 0xb6, 0x9a, 0xfa, + 0xcd, 0xd0, 0xcc, 0xdf, 0x0c, 0xcd, 0x27, 0xd9, 0x98, 0xda, 0x41, 0x46, 0x1e, 0x80, 0x13, 0x8e, + 0xf4, 0x61, 0xaf, 0xb4, 0xb6, 0x2f, 0xd0, 0xf6, 0xcd, 0xcb, 0x85, 0x2a, 0x16, 0xf9, 0x37, 0xd8, + 0x42, 0xe2, 0x95, 0xa7, 0xd6, 0x70, 0x91, 0x7b, 0x84, 0xaf, 0x18, 0x6a, 0x0b, 0x55, 0x44, 0x6c, + 0x29, 0x4c, 0x4c, 0x6a, 0x17, 0x88, 0xc7, 0xf9, 0x83, 0x86, 0xda, 0x52, 0x28, 0x6e, 0x72, 0x8a, + 0xd7, 0xdd, 0x65, 0xdc, 0x57, 0xb1, 0x90, 0x5f, 0xa8, 0x15, 0xa6, 0x76, 0x72, 0x4a, 0x1a, 0xe0, + 0x9c, 0x06, 0x09, 0x5e, 0x7f, 0x95, 0xd6, 0xf5, 0x0b, 0x64, 0x4d, 0x54, 0x14, 0xd2, 0x04, 0x27, + 0xec, 0x25, 0x18, 0x9d, 0x4a, 0xeb, 0xe6, 0xc5, 0xef, 0xc2, 0x5a, 0x69, 0xf8, 0x61, 0x2f, 0x21, + 0x3b, 0xe0, 0xf4, 0x13, 0x89, 0x49, 0x52, 0xe7, 0x76, 0x91, 0x8f, 0x55, 0xd7, 0xd0, 0xfb, 0x89, + 0x54, 0xf4, 0x18, 0x8b, 0xfc, 0xe5, 0x74, 0x3c, 0x89, 0x86, 0x1e, 0x77, 0xda, 0x6a, 0x36, 0xa3, + 0x4e, 0x1b, 0x2f, 0xa7, 0xcb, 0x66, 0xf3, 0x66, 0x96, 0x3f, 0xea, 0xb4, 0xd1, 0x7e, 0xb7, 0x85, + 0x8f, 0x9e, 0x25, 0xf6, 0xbb, 0xad, 0xdc, 0x7e, 0xb7, 0x85, 0xf6, 0xbb, 0x2d, 0x7c, 0x05, 0x2d, + 0xb3, 0x9f, 0xf0, 0x47, 0xc8, 0x2f, 0xe0, 0x4d, 0xe8, 0x2d, 0x59, 0x74, 0x55, 0x0a, 0x34, 0x1d, + 0x79, 0xca, 0x5f, 0x15, 0x35, 0x58, 0xe2, 0xaf, 0x6f, 0x17, 0xe3, 0x2f, 0x24, 0x27, 0xff, 0x03, + 0x37, 0xbf, 0x65, 0x2e, 0xff, 0x00, 0xbc, 0x75, 0xb4, 0x40, 0x33, 0xeb, 0x77, 0x60, 0x63, 0xe1, + 0x30, 0xaa, 0x02, 0xa4, 0x4b, 0xa9, 0xdd, 0xf0, 0xd0, 0xb7, 0xfe, 0xa3, 0x0d, 0x37, 0x0c, 0xeb, + 0x45, 0x16, 0xc6, 0x3c, 0x3a, 0x91, 0x13, 0xf6, 0x03, 0x28, 0x88, 0x51, 0x2f, 0x35, 0x49, 0x5e, + 0x76, 0xc2, 0x29, 0x92, 0xc8, 0xa7, 0xe0, 0xa5, 0xc1, 0xb0, 0xdb, 0x8f, 0xa3, 0x24, 0x34, 0xc5, + 0x76, 0x67, 0x41, 0xb1, 0x38, 0x80, 0x2a, 0xc2, 0xcf, 0x14, 0x5f, 0x17, 0xdf, 0x72, 0x6a, 0x9a, + 0xe4, 0x11, 0x54, 0x44, 0x12, 0x9f, 0x44, 0xc6, 0xcd, 0x41, 0xb7, 0xa5, 0xe3, 0x03, 0x72, 0x51, + 0x59, 0x3b, 0x86, 0xb5, 0x39, 0xd3, 0xd9, 0x92, 0xeb, 0xe9, 0x92, 0xbb, 0x33, 0x5f, 0x72, 0x97, + 0xda, 0xce, 0xd4, 0xde, 0xfb, 0xb0, 0xb5, 0x80, 0xea, 0xe7, 0x1c, 0x81, 0x42, 0x6f, 0x2c, 0x05, + 0xae, 0xe7, 0x2a, 0xc5, 0xff, 0xf5, 0x7d, 0x20, 0x0b, 0xdc, 0xb7, 0x2f, 0x8f, 0xf3, 0xed, 0x56, + 0xc4, 0xbf, 0xb3, 0xdd, 0x8f, 0x7d, 0x28, 0x64, 0x41, 0x1a, 0x2d, 0x14, 0xad, 0x6f, 0xf1, 0x2b, + 0x10, 0x79, 0xfc, 0x7f, 0x28, 0x44, 0x1f, 0x64, 0xba, 0xc0, 0xf8, 0xee, 0x2f, 0xb6, 0x4a, 0x49, + 0xbe, 0x74, 0xff, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x40, 0x11, 0x05, 0x86, 0x0d, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.proto b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.proto index a7bdac63c..a05fd3d54 100644 --- a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.proto +++ b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.proto @@ -45,16 +45,24 @@ import weak "gogoproto/gogo.proto"; message Simple { optional bool o_bool = 1; optional int32 o_int32 = 2; - optional int64 o_int64 = 3; - optional uint32 o_uint32 = 4; - optional uint64 o_uint64 = 5; - optional sint32 o_sint32 = 6; - optional sint64 o_sint64 = 7; - optional float o_float = 8; - optional double o_double = 9; - optional string o_string = 10; - optional bytes o_bytes = 11; - optional bytes o_cast_bytes = 12 [(gogoproto.casttype) = "Bytes"]; + optional int32 o_int32_str = 3; + optional int64 o_int64 = 4; + optional int64 o_int64_str = 5; + optional uint32 o_uint32 = 6; + optional uint32 o_uint32_str = 7; + optional uint64 o_uint64 = 8; + optional uint64 o_uint64_str = 9; + optional sint32 o_sint32 = 10; + optional sint32 o_sint32_str = 11; + optional sint64 o_sint64 = 12; + optional sint64 o_sint64_str = 13; + optional float o_float = 14; + optional float o_float_str = 15; + optional double o_double = 16; + optional double o_double_str = 17; + optional string o_string = 18; + optional bytes o_bytes = 19; + optional bytes o_cast_bytes = 20 [(gogoproto.casttype) = "Bytes"]; } // Test message for holding special non-finites primitives. @@ -111,6 +119,7 @@ message MsgWithOneof { int64 salary = 2; string Country = 3; string home_address = 4; + MsgWithRequired msg_with_required = 5; } } @@ -149,3 +158,26 @@ message KnownTypes { optional google.protobuf.StringValue str = 10; optional google.protobuf.BytesValue bytes = 11; } + +// Test messages for marshaling/unmarshaling required fields. +message MsgWithRequired { + required string str = 1; +} + +message MsgWithIndirectRequired { + optional MsgWithRequired subm = 1; + map map_field = 2; + repeated MsgWithRequired slice_field = 3; +} + +message MsgWithRequiredBytes { + required bytes byts = 1; +} + +message MsgWithRequiredWKT { + required google.protobuf.StringValue str = 1; +} + +extend Real { + optional MsgWithRequired extm = 125; +} diff --git a/vendor/github.com/gogo/protobuf/plugin/embedcheck/embedcheck.go b/vendor/github.com/gogo/protobuf/plugin/embedcheck/embedcheck.go index 1cb77cacb..bc68efe12 100644 --- a/vendor/github.com/gogo/protobuf/plugin/embedcheck/embedcheck.go +++ b/vendor/github.com/gogo/protobuf/plugin/embedcheck/embedcheck.go @@ -47,9 +47,10 @@ package embedcheck import ( "fmt" + "os" + "github.com/gogo/protobuf/gogoproto" "github.com/gogo/protobuf/protoc-gen-gogo/generator" - "os" ) type plugin struct { @@ -163,7 +164,7 @@ func (p *plugin) checkOverwrite(message *generator.Descriptor, enablers map[stri desc := p.ObjectNamed(field.GetTypeName()) msg := desc.(*generator.Descriptor) for errStr, enabled := range enablers { - if enabled(msg.File(), msg.DescriptorProto) { + if enabled(msg.File().FileDescriptorProto, msg.DescriptorProto) { fmt.Fprintf(os.Stderr, "WARNING: found non-%v %v with embedded %v %v\n", names, ccTypeName, errStr, fieldname) } } diff --git a/vendor/github.com/gogo/protobuf/plugin/equal/equal.go b/vendor/github.com/gogo/protobuf/plugin/equal/equal.go index 41a2c9704..6358fc99a 100644 --- a/vendor/github.com/gogo/protobuf/plugin/equal/equal.go +++ b/vendor/github.com/gogo/protobuf/plugin/equal/equal.go @@ -292,7 +292,16 @@ func (p *plugin) generateField(file *generator.FileDescriptor, message *generato repeated := field.IsRepeated() ctype := gogoproto.IsCustomType(field) nullable := gogoproto.IsNullable(field) - isDuration := gogoproto.IsStdDuration(field) + isNormal := (gogoproto.IsStdDuration(field) || + gogoproto.IsStdDouble(field) || + gogoproto.IsStdFloat(field) || + gogoproto.IsStdInt64(field) || + gogoproto.IsStdUInt64(field) || + gogoproto.IsStdInt32(field) || + gogoproto.IsStdUInt32(field) || + gogoproto.IsStdBool(field) || + gogoproto.IsStdString(field)) + isBytes := gogoproto.IsStdBytes(field) isTimestamp := gogoproto.IsStdTime(field) // oneof := field.OneofIndex != nil if !repeated { @@ -322,7 +331,7 @@ func (p *plugin) generateField(file *generator.FileDescriptor, message *generato } p.Out() p.P(`}`) - } else if isDuration { + } else if isNormal { if nullable { p.generateNullableField(fieldname, verbose) } else { @@ -336,6 +345,32 @@ func (p *plugin) generateField(file *generator.FileDescriptor, message *generato } p.Out() p.P(`}`) + } else if isBytes { + if nullable { + p.P(`if that1.`, fieldname, ` == nil {`) + p.In() + p.P(`if this.`, fieldname, ` != nil {`) + p.In() + if verbose { + p.P(`return `, p.fmtPkg.Use(), `.Errorf("this.`, fieldname, ` != nil && that1.`, fieldname, ` == nil")`) + } else { + p.P(`return false`) + } + p.Out() + p.P(`}`) + p.Out() + p.P(`} else if !`, p.bytesPkg.Use(), `.Equal(*this.`, fieldname, `, *that1.`, fieldname, `) {`) + } else { + p.P(`if !`, p.bytesPkg.Use(), `.Equal(this.`, fieldname, `, that1.`, fieldname, `) {`) + } + p.In() + if verbose { + p.P(`return `, p.fmtPkg.Use(), `.Errorf("`, fieldname, ` this(%v) Not Equal that(%v)", this.`, fieldname, `, that1.`, fieldname, `)`) + } else { + p.P(`return false`) + } + p.Out() + p.P(`}`) } else { if field.IsMessage() || p.IsGroup(field) { if nullable { @@ -387,12 +422,18 @@ func (p *plugin) generateField(file *generator.FileDescriptor, message *generato } else { p.P(`if !this.`, fieldname, `[i].Equal(that1.`, fieldname, `[i]) {`) } - } else if isDuration { + } else if isNormal { if nullable { p.P(`if dthis, dthat := this.`, fieldname, `[i], that1.`, fieldname, `[i]; (dthis != nil && dthat != nil && *dthis != *dthat) || (dthis != nil && dthat == nil) || (dthis == nil && dthat != nil) {`) } else { p.P(`if this.`, fieldname, `[i] != that1.`, fieldname, `[i] {`) } + } else if isBytes { + if nullable { + p.P(`if !`, p.bytesPkg.Use(), `.Equal(*this.`, fieldname, `[i], *that1.`, fieldname, `[i]) {`) + } else { + p.P(`if !`, p.bytesPkg.Use(), `.Equal(this.`, fieldname, `[i], that1.`, fieldname, `[i]) {`) + } } else { if p.IsMap(field) { m := p.GoMapType(nil, field) @@ -401,6 +442,16 @@ func (p *plugin) generateField(file *generator.FileDescriptor, message *generato nullable, valuegoTyp, valuegoAliasTyp = generator.GoMapValueTypes(field, m.ValueField, valuegoTyp, valuegoAliasTyp) mapValue := m.ValueAliasField + mapValueNormal := (gogoproto.IsStdDuration(mapValue) || + gogoproto.IsStdDouble(mapValue) || + gogoproto.IsStdFloat(mapValue) || + gogoproto.IsStdInt64(mapValue) || + gogoproto.IsStdUInt64(mapValue) || + gogoproto.IsStdInt32(mapValue) || + gogoproto.IsStdUInt32(mapValue) || + gogoproto.IsStdBool(mapValue) || + gogoproto.IsStdString(mapValue)) + mapValueBytes := gogoproto.IsStdBytes(mapValue) if mapValue.IsMessage() || p.IsGroup(mapValue) { if nullable && valuegoTyp == valuegoAliasTyp { p.P(`if !this.`, fieldname, `[i].Equal(that1.`, fieldname, `[i]) {`) @@ -408,14 +459,26 @@ func (p *plugin) generateField(file *generator.FileDescriptor, message *generato // Equal() has a pointer receiver, but map value is a value type a := `this.` + fieldname + `[i]` b := `that1.` + fieldname + `[i]` - if valuegoTyp != valuegoAliasTyp { + if !mapValueNormal && !mapValueBytes && valuegoTyp != valuegoAliasTyp { // cast back to the type that has the generated methods on it a = `(` + valuegoTyp + `)(` + a + `)` b = `(` + valuegoTyp + `)(` + b + `)` } p.P(`a := `, a) p.P(`b := `, b) - if nullable { + if mapValueNormal { + if nullable { + p.P(`if *a != *b {`) + } else { + p.P(`if a != b {`) + } + } else if mapValueBytes { + if nullable { + p.P(`if !`, p.bytesPkg.Use(), `.Equal(*a, *b) {`) + } else { + p.P(`if !`, p.bytesPkg.Use(), `.Equal(a, b) {`) + } + } else if nullable { p.P(`if !a.Equal(b) {`) } else { p.P(`if !(&a).Equal(&b) {`) diff --git a/vendor/github.com/gogo/protobuf/plugin/gostring/gostring.go b/vendor/github.com/gogo/protobuf/plugin/gostring/gostring.go index 2b439469f..6003d65f2 100644 --- a/vendor/github.com/gogo/protobuf/plugin/gostring/gostring.go +++ b/vendor/github.com/gogo/protobuf/plugin/gostring/gostring.go @@ -157,7 +157,7 @@ func (p *gostring) Generate(file *generator.FileDescriptor) { continue } p.atleastOne = true - packageName := file.PackageName() + packageName := file.GoPackageName() ccTypeName := generator.CamelCaseSlice(message.TypeName()) p.P(`func (this *`, ccTypeName, `) GoString() string {`) @@ -225,7 +225,7 @@ func (p *gostring) Generate(file *generator.FileDescriptor) { p.P(`s = append(s, "`, fieldname, `: " + `, mapName, `+ ",\n")`) p.Out() p.P(`}`) - } else if (field.IsMessage() && !gogoproto.IsCustomType(field) && !gogoproto.IsStdTime(field) && !gogoproto.IsStdDuration(field)) || p.IsGroup(field) { + } else if (field.IsMessage() && !gogoproto.IsCustomType(field) && !gogoproto.IsStdType(field)) || p.IsGroup(field) { if nullable || repeated { p.P(`if this.`, fieldname, ` != nil {`) p.In() diff --git a/vendor/github.com/gogo/protobuf/plugin/marshalto/marshalto.go b/vendor/github.com/gogo/protobuf/plugin/marshalto/marshalto.go index 24110cb44..3da7a77ad 100644 --- a/vendor/github.com/gogo/protobuf/plugin/marshalto/marshalto.go +++ b/vendor/github.com/gogo/protobuf/plugin/marshalto/marshalto.go @@ -313,12 +313,39 @@ func (p *marshalto) mapField(numGen NumGen, field *descriptor.FieldDescriptorPro case descriptor.FieldDescriptorProto_TYPE_SINT64: p.callVarint(`(uint64(`, varName, `) << 1) ^ uint64((`, varName, ` >> 63))`) case descriptor.FieldDescriptorProto_TYPE_MESSAGE: - if gogoproto.IsStdTime(field) { + if gogoproto.IsStdTime(kvField) { p.callVarint(p.typesPkg.Use(), `.SizeOfStdTime(*`, varName, `)`) p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdTimeMarshalTo(*`, varName, `, dAtA[i:])`) - } else if gogoproto.IsStdDuration(field) { + } else if gogoproto.IsStdDuration(kvField) { p.callVarint(p.typesPkg.Use(), `.SizeOfStdDuration(*`, varName, `)`) p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdDurationMarshalTo(*`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdDouble(kvField) { + p.callVarint(p.typesPkg.Use(), `.SizeOfStdDouble(*`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdDoubleMarshalTo(*`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdFloat(kvField) { + p.callVarint(p.typesPkg.Use(), `.SizeOfStdFloat(*`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdFloatMarshalTo(*`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdInt64(kvField) { + p.callVarint(p.typesPkg.Use(), `.SizeOfStdInt64(*`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdInt64MarshalTo(*`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdUInt64(kvField) { + p.callVarint(p.typesPkg.Use(), `.SizeOfStdUInt64(*`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdUInt64MarshalTo(*`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdInt32(kvField) { + p.callVarint(p.typesPkg.Use(), `.SizeOfStdInt32(*`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdInt32MarshalTo(*`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdUInt32(kvField) { + p.callVarint(p.typesPkg.Use(), `.SizeOfStdUInt32(*`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdUInt32MarshalTo(*`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdBool(kvField) { + p.callVarint(p.typesPkg.Use(), `.SizeOfStdBool(*`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdBoolMarshalTo(*`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdString(kvField) { + p.callVarint(p.typesPkg.Use(), `.SizeOfStdString(*`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdStringMarshalTo(*`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdBytes(kvField) { + p.callVarint(p.typesPkg.Use(), `.SizeOfStdBytes(*`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdBytesMarshalTo(*`, varName, `, dAtA[i:])`) } else if protoSizer { p.callVarint(varName, `.ProtoSize()`) p.P(`n`, numGen.Next(), `, err := `, varName, `.MarshalTo(dAtA[i:])`) @@ -781,8 +808,7 @@ func (p *marshalto) generateField(proto3 bool, numGen NumGen, file *generator.Fi sum = append(sum, `soz`+p.localName+`(uint64(v))`) case descriptor.FieldDescriptorProto_TYPE_MESSAGE: if valuegoTyp != valuegoAliasTyp && - !gogoproto.IsStdTime(field) && - !gogoproto.IsStdDuration(field) { + !gogoproto.IsStdType(m.ValueAliasField) { if nullable { // cast back to the type that has the generated methods on it accessor = `((` + valuegoTyp + `)(` + accessor + `))` @@ -795,10 +821,28 @@ func (p *marshalto) generateField(proto3 bool, numGen NumGen, file *generator.Fi p.P(`msgSize := 0`) p.P(`if `, accessor, ` != nil {`) p.In() - if gogoproto.IsStdTime(field) { + if gogoproto.IsStdTime(m.ValueAliasField) { p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdTime(*`, accessor, `)`) - } else if gogoproto.IsStdDuration(field) { + } else if gogoproto.IsStdDuration(m.ValueAliasField) { p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdDuration(*`, accessor, `)`) + } else if gogoproto.IsStdDouble(m.ValueAliasField) { + p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdDouble(*`, accessor, `)`) + } else if gogoproto.IsStdFloat(m.ValueAliasField) { + p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdFloat(*`, accessor, `)`) + } else if gogoproto.IsStdInt64(m.ValueAliasField) { + p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdInt64(*`, accessor, `)`) + } else if gogoproto.IsStdUInt64(m.ValueAliasField) { + p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdUInt64(*`, accessor, `)`) + } else if gogoproto.IsStdInt32(m.ValueAliasField) { + p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdInt32(*`, accessor, `)`) + } else if gogoproto.IsStdUInt32(m.ValueAliasField) { + p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdUInt32(*`, accessor, `)`) + } else if gogoproto.IsStdBool(m.ValueAliasField) { + p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdBool(*`, accessor, `)`) + } else if gogoproto.IsStdString(m.ValueAliasField) { + p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdString(*`, accessor, `)`) + } else if gogoproto.IsStdBytes(m.ValueAliasField) { + p.P(`msgSize = `, p.typesPkg.Use(), `.SizeOfStdBytes(*`, accessor, `)`) } else if protoSizer { p.P(`msgSize = `, accessor, `.ProtoSize()`) } else { @@ -828,7 +872,7 @@ func (p *marshalto) generateField(proto3 bool, numGen NumGen, file *generator.Fi p.In() } p.encodeKey(2, wireToType(valuewire)) - p.mapField(numGen, field, m.ValueField, accessor, protoSizer) + p.mapField(numGen, field, m.ValueAliasField, accessor, protoSizer) if nullableMsg || plainBytes { p.Out() p.P(`}`) @@ -852,6 +896,60 @@ func (p *marshalto) generateField(proto3 bool, numGen NumGen, file *generator.Fi } p.callVarint(p.typesPkg.Use(), `.SizeOfStdDuration(`, varName, `)`) p.P(`n, err := `, p.typesPkg.Use(), `.StdDurationMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdDouble(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdDouble(`, varName, `)`) + p.P(`n, err := `, p.typesPkg.Use(), `.StdDoubleMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdFloat(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdFloat(`, varName, `)`) + p.P(`n, err := `, p.typesPkg.Use(), `.StdFloatMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdInt64(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdInt64(`, varName, `)`) + p.P(`n, err := `, p.typesPkg.Use(), `.StdInt64MarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdUInt64(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdUInt64(`, varName, `)`) + p.P(`n, err := `, p.typesPkg.Use(), `.StdUInt64MarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdInt32(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdInt32(`, varName, `)`) + p.P(`n, err := `, p.typesPkg.Use(), `.StdInt32MarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdUInt32(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdUInt32(`, varName, `)`) + p.P(`n, err := `, p.typesPkg.Use(), `.StdUInt32MarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdBool(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdBool(`, varName, `)`) + p.P(`n, err := `, p.typesPkg.Use(), `.StdBoolMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdString(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdString(`, varName, `)`) + p.P(`n, err := `, p.typesPkg.Use(), `.StdStringMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdBytes(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdBytes(`, varName, `)`) + p.P(`n, err := `, p.typesPkg.Use(), `.StdBytesMarshalTo(`, varName, `, dAtA[i:])`) } else if protoSizer { p.callVarint(varName, ".ProtoSize()") p.P(`n, err := `, varName, `.MarshalTo(dAtA[i:])`) @@ -882,6 +980,60 @@ func (p *marshalto) generateField(proto3 bool, numGen NumGen, file *generator.Fi } p.callVarint(p.typesPkg.Use(), `.SizeOfStdDuration(`, varName, `)`) p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdDurationMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdDouble(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdDouble(`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdDoubleMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdFloat(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdFloat(`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdFloatMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdInt64(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdInt64(`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdInt64MarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdUInt64(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdUInt64(`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdUInt64MarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdInt32(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdInt32(`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdInt32MarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdUInt32(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdUInt32(`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdUInt32MarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdBool(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdBool(`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdBoolMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdString(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdString(`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdStringMarshalTo(`, varName, `, dAtA[i:])`) + } else if gogoproto.IsStdBytes(field) { + if gogoproto.IsNullable(field) { + varName = "*" + varName + } + p.callVarint(p.typesPkg.Use(), `.SizeOfStdBytes(`, varName, `)`) + p.P(`n`, numGen.Next(), `, err := `, p.typesPkg.Use(), `.StdBytesMarshalTo(`, varName, `, dAtA[i:])`) } else if protoSizer { p.callVarint(varName, `.ProtoSize()`) p.P(`n`, numGen.Next(), `, err := `, varName, `.MarshalTo(dAtA[i:])`) diff --git a/vendor/github.com/gogo/protobuf/plugin/populate/populate.go b/vendor/github.com/gogo/protobuf/plugin/populate/populate.go index cf61fe9b0..19b9e3e90 100644 --- a/vendor/github.com/gogo/protobuf/plugin/populate/populate.go +++ b/vendor/github.com/gogo/protobuf/plugin/populate/populate.go @@ -182,7 +182,7 @@ func negative(fieldType descriptor.FieldDescriptorProto_Type) bool { return true } -func (p *plugin) getFuncName(goTypName string) string { +func (p *plugin) getFuncName(goTypName string, field *descriptor.FieldDescriptorProto) string { funcName := "NewPopulated" + goTypName goTypNames := strings.Split(goTypName, ".") if len(goTypNames) == 2 { @@ -190,23 +190,43 @@ func (p *plugin) getFuncName(goTypName string) string { } else if len(goTypNames) != 1 { panic(fmt.Errorf("unreachable: too many dots in %v", goTypName)) } - switch funcName { - case "time.NewPopulatedTime": - funcName = p.typesPkg.Use() + ".NewPopulatedStdTime" - case "time.NewPopulatedDuration": - funcName = p.typesPkg.Use() + ".NewPopulatedStdDuration" + if field != nil { + switch { + case gogoproto.IsStdTime(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdTime" + case gogoproto.IsStdDuration(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdDuration" + case gogoproto.IsStdDouble(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdDouble" + case gogoproto.IsStdFloat(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdFloat" + case gogoproto.IsStdInt64(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdInt64" + case gogoproto.IsStdUInt64(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdUInt64" + case gogoproto.IsStdInt32(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdInt32" + case gogoproto.IsStdUInt32(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdUInt32" + case gogoproto.IsStdBool(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdBool" + case gogoproto.IsStdString(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdString" + case gogoproto.IsStdBytes(field): + funcName = p.typesPkg.Use() + ".NewPopulatedStdBytes" + } } return funcName } -func (p *plugin) getFuncCall(goTypName string) string { - funcName := p.getFuncName(goTypName) +func (p *plugin) getFuncCall(goTypName string, field *descriptor.FieldDescriptorProto) string { + funcName := p.getFuncName(goTypName, field) funcCall := funcName + "(r, easy)" return funcCall } func (p *plugin) getCustomFuncCall(goTypName string) string { - funcName := p.getFuncName(goTypName) + funcName := p.getFuncName(goTypName, nil) funcCall := funcName + "(r)" return funcCall } @@ -259,13 +279,13 @@ func (p *plugin) GenerateField(file *generator.FileDescriptor, message *generato if m.ValueField.IsMessage() || p.IsGroup(field) || (m.ValueField.IsBytes() && gogoproto.IsCustomType(field)) { s := `this.` + fieldname + `[` + keyval + `] = ` - if gogoproto.IsStdTime(field) || gogoproto.IsStdDuration(field) { + if gogoproto.IsStdType(field) { valuegoTyp = valuegoAliasTyp } funcCall := p.getCustomFuncCall(goTypName) if !gogoproto.IsCustomType(field) { goTypName = generator.GoTypeToName(valuegoTyp) - funcCall = p.getFuncCall(goTypName) + funcCall = p.getFuncCall(goTypName, m.ValueAliasField) } if !nullable { funcCall = `*` + funcCall @@ -322,7 +342,7 @@ func (p *plugin) GenerateField(file *generator.FileDescriptor, message *generato p.P(`this.`, fieldname, ` = *`, p.varGen.Current()) } } else if field.IsMessage() || p.IsGroup(field) { - funcCall := p.getFuncCall(goTypName) + funcCall := p.getFuncCall(goTypName, field) if field.IsRepeated() { p.P(p.varGen.Next(), ` := r.Intn(5)`) p.P(`this.`, fieldname, ` = make(`, goTyp, `, `, p.varGen.Current(), `)`) @@ -534,7 +554,7 @@ func (p *plugin) Generate(file *generator.FileDescriptor) { p.P(`func NewPopulated`, ccTypeName, `(r randy`, p.localName, `, easy bool) *`, ccTypeName, ` {`) p.In() p.P(`this := &`, ccTypeName, `{}`) - if gogoproto.IsUnion(message.File(), message.DescriptorProto) && len(message.Field) > 0 { + if gogoproto.IsUnion(message.File().FileDescriptorProto, message.DescriptorProto) && len(message.Field) > 0 { p.P(`fieldNum := r.Intn(`, fmt.Sprintf("%d", ranTotal), `)`) p.P(`switch fieldNum {`) k := 0 diff --git a/vendor/github.com/gogo/protobuf/plugin/size/size.go b/vendor/github.com/gogo/protobuf/plugin/size/size.go index 79cd403be..10aa2f449 100644 --- a/vendor/github.com/gogo/protobuf/plugin/size/size.go +++ b/vendor/github.com/gogo/protobuf/plugin/size/size.go @@ -69,6 +69,9 @@ The following message: given to the size plugin, will generate the following code: func (m *B) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.A.Size() @@ -203,18 +206,32 @@ func (p *size) sizeZigZag() { } func (p *size) std(field *descriptor.FieldDescriptorProto, name string) (string, bool) { + ptr := "" + if gogoproto.IsNullable(field) { + ptr = "*" + } if gogoproto.IsStdTime(field) { - if gogoproto.IsNullable(field) { - return p.typesPkg.Use() + `.SizeOfStdTime(*` + name + `)`, true - } else { - return p.typesPkg.Use() + `.SizeOfStdTime(` + name + `)`, true - } + return p.typesPkg.Use() + `.SizeOfStdTime(` + ptr + name + `)`, true } else if gogoproto.IsStdDuration(field) { - if gogoproto.IsNullable(field) { - return p.typesPkg.Use() + `.SizeOfStdDuration(*` + name + `)`, true - } else { - return p.typesPkg.Use() + `.SizeOfStdDuration(` + name + `)`, true - } + return p.typesPkg.Use() + `.SizeOfStdDuration(` + ptr + name + `)`, true + } else if gogoproto.IsStdDouble(field) { + return p.typesPkg.Use() + `.SizeOfStdDouble(` + ptr + name + `)`, true + } else if gogoproto.IsStdFloat(field) { + return p.typesPkg.Use() + `.SizeOfStdFloat(` + ptr + name + `)`, true + } else if gogoproto.IsStdInt64(field) { + return p.typesPkg.Use() + `.SizeOfStdInt64(` + ptr + name + `)`, true + } else if gogoproto.IsStdUInt64(field) { + return p.typesPkg.Use() + `.SizeOfStdUInt64(` + ptr + name + `)`, true + } else if gogoproto.IsStdInt32(field) { + return p.typesPkg.Use() + `.SizeOfStdInt32(` + ptr + name + `)`, true + } else if gogoproto.IsStdUInt32(field) { + return p.typesPkg.Use() + `.SizeOfStdUInt32(` + ptr + name + `)`, true + } else if gogoproto.IsStdBool(field) { + return p.typesPkg.Use() + `.SizeOfStdBool(` + ptr + name + `)`, true + } else if gogoproto.IsStdString(field) { + return p.typesPkg.Use() + `.SizeOfStdString(` + ptr + name + `)`, true + } else if gogoproto.IsStdBytes(field) { + return p.typesPkg.Use() + `.SizeOfStdBytes(` + ptr + name + `)`, true } return "", false } @@ -444,7 +461,7 @@ func (p *size) generateField(proto3 bool, file *generator.FileDescriptor, messag sum = append(sum, strconv.Itoa(valueKeySize)) sum = append(sum, `soz`+p.localName+`(uint64(v))`) case descriptor.FieldDescriptorProto_TYPE_MESSAGE: - stdSizeCall, stdOk := p.std(field, "v") + stdSizeCall, stdOk := p.std(m.ValueAliasField, "v") if nullable { p.P(`l = 0`) p.P(`if v != nil {`) @@ -595,6 +612,11 @@ func (p *size) Generate(file *generator.FileDescriptor) { ccTypeName := generator.CamelCaseSlice(message.TypeName()) p.P(`func (m *`, ccTypeName, `) `, sizeName, `() (n int) {`) p.In() + p.P(`if m == nil {`) + p.In() + p.P(`return 0`) + p.Out() + p.P(`}`) p.P(`var l int`) p.P(`_ = l`) oneofs := make(map[string]struct{}) @@ -650,6 +672,11 @@ func (p *size) Generate(file *generator.FileDescriptor) { ccTypeName := p.OneOfTypeName(message, f) p.P(`func (m *`, ccTypeName, `) `, sizeName, `() (n int) {`) p.In() + p.P(`if m == nil {`) + p.In() + p.P(`return 0`) + p.Out() + p.P(`}`) p.P(`var l int`) p.P(`_ = l`) vanity.TurnOffNullableForNativeTypes(f) diff --git a/vendor/github.com/gogo/protobuf/plugin/union/union.go b/vendor/github.com/gogo/protobuf/plugin/union/union.go index 72edb2498..90def721c 100644 --- a/vendor/github.com/gogo/protobuf/plugin/union/union.go +++ b/vendor/github.com/gogo/protobuf/plugin/union/union.go @@ -184,7 +184,7 @@ func (p *union) Generate(file *generator.FileDescriptor) { goTyp, _ := p.GoType(message, field) obj := p.ObjectNamed(field.GetTypeName()).(*generator.Descriptor) - if gogoproto.IsUnion(obj.File(), obj.DescriptorProto) { + if gogoproto.IsUnion(obj.File().FileDescriptorProto, obj.DescriptorProto) { p.P(`this.`, fieldname, ` = new(`, generator.GoTypeToName(goTyp), `)`) p.P(`if set := this.`, fieldname, `.SetValue(value); set {`) p.In() diff --git a/vendor/github.com/gogo/protobuf/plugin/unmarshal/unmarshal.go b/vendor/github.com/gogo/protobuf/plugin/unmarshal/unmarshal.go index b5d9613df..133bdfe3e 100644 --- a/vendor/github.com/gogo/protobuf/plugin/unmarshal/unmarshal.go +++ b/vendor/github.com/gogo/protobuf/plugin/unmarshal/unmarshal.go @@ -280,6 +280,24 @@ func (p *unmarshal) declareMapField(varName string, nullable bool, customType bo p.P(varName, ` := new(time.Time)`) } else if gogoproto.IsStdDuration(field) { p.P(varName, ` := new(time.Duration)`) + } else if gogoproto.IsStdDouble(field) { + p.P(varName, ` := new(float64)`) + } else if gogoproto.IsStdFloat(field) { + p.P(varName, ` := new(float32)`) + } else if gogoproto.IsStdInt64(field) { + p.P(varName, ` := new(int64)`) + } else if gogoproto.IsStdUInt64(field) { + p.P(varName, ` := new(uint64)`) + } else if gogoproto.IsStdInt32(field) { + p.P(varName, ` := new(int32)`) + } else if gogoproto.IsStdUInt32(field) { + p.P(varName, ` := new(uint32)`) + } else if gogoproto.IsStdBool(field) { + p.P(varName, ` := new(bool)`) + } else if gogoproto.IsStdString(field) { + p.P(varName, ` := new(string)`) + } else if gogoproto.IsStdBytes(field) { + p.P(varName, ` := new([]byte)`) } else { desc := p.ObjectNamed(field.GetTypeName()) msgname := p.TypeName(desc) @@ -383,6 +401,24 @@ func (p *unmarshal) mapField(varName string, customType bool, field *descriptor. p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(`, varName, `, `, buf, `); err != nil {`) } else if gogoproto.IsStdDuration(field) { p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(`, varName, `, `, buf, `); err != nil {`) + } else if gogoproto.IsStdDouble(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdDoubleUnmarshal(`, varName, `, `, buf, `); err != nil {`) + } else if gogoproto.IsStdFloat(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdFloatUnmarshal(`, varName, `, `, buf, `); err != nil {`) + } else if gogoproto.IsStdInt64(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt64Unmarshal(`, varName, `, `, buf, `); err != nil {`) + } else if gogoproto.IsStdUInt64(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt64Unmarshal(`, varName, `, `, buf, `); err != nil {`) + } else if gogoproto.IsStdInt32(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt32Unmarshal(`, varName, `, `, buf, `); err != nil {`) + } else if gogoproto.IsStdUInt32(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt32Unmarshal(`, varName, `, `, buf, `); err != nil {`) + } else if gogoproto.IsStdBool(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdBoolUnmarshal(`, varName, `, `, buf, `); err != nil {`) + } else if gogoproto.IsStdString(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdStringUnmarshal(`, varName, `, `, buf, `); err != nil {`) + } else if gogoproto.IsStdBytes(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdBytesUnmarshal(`, varName, `, `, buf, `); err != nil {`) } else { desc := p.ObjectNamed(field.GetTypeName()) msgname := p.TypeName(desc) @@ -648,6 +684,78 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip p.P(`v := time.Duration(0)`) p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(&v, `, buf, `); err != nil {`) } + } else if gogoproto.IsStdDouble(field) { + if nullable { + p.P(`v := new(float64)`) + p.P(`if err := `, p.typesPkg.Use(), `.StdDoubleUnmarshal(v, `, buf, `); err != nil {`) + } else { + p.P(`v := 0`) + p.P(`if err := `, p.typesPkg.Use(), `.StdDoubleUnmarshal(&v, `, buf, `); err != nil {`) + } + } else if gogoproto.IsStdFloat(field) { + if nullable { + p.P(`v := new(float32)`) + p.P(`if err := `, p.typesPkg.Use(), `.StdFloatUnmarshal(v, `, buf, `); err != nil {`) + } else { + p.P(`v := 0`) + p.P(`if err := `, p.typesPkg.Use(), `.StdFloatUnmarshal(&v, `, buf, `); err != nil {`) + } + } else if gogoproto.IsStdInt64(field) { + if nullable { + p.P(`v := new(int64)`) + p.P(`if err := `, p.typesPkg.Use(), `.StdInt64Unmarshal(v, `, buf, `); err != nil {`) + } else { + p.P(`v := 0`) + p.P(`if err := `, p.typesPkg.Use(), `.StdInt64Unmarshal(&v, `, buf, `); err != nil {`) + } + } else if gogoproto.IsStdUInt64(field) { + if nullable { + p.P(`v := new(uint64)`) + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt64Unmarshal(v, `, buf, `); err != nil {`) + } else { + p.P(`v := 0`) + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt64Unmarshal(&v, `, buf, `); err != nil {`) + } + } else if gogoproto.IsStdInt32(field) { + if nullable { + p.P(`v := new(int32)`) + p.P(`if err := `, p.typesPkg.Use(), `.StdInt32Unmarshal(v, `, buf, `); err != nil {`) + } else { + p.P(`v := 0`) + p.P(`if err := `, p.typesPkg.Use(), `.StdInt32Unmarshal(&v, `, buf, `); err != nil {`) + } + } else if gogoproto.IsStdUInt32(field) { + if nullable { + p.P(`v := new(uint32)`) + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt32Unmarshal(v, `, buf, `); err != nil {`) + } else { + p.P(`v := 0`) + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt32Unmarshal(&v, `, buf, `); err != nil {`) + } + } else if gogoproto.IsStdBool(field) { + if nullable { + p.P(`v := new(bool)`) + p.P(`if err := `, p.typesPkg.Use(), `.StdBoolUnmarshal(v, `, buf, `); err != nil {`) + } else { + p.P(`v := false`) + p.P(`if err := `, p.typesPkg.Use(), `.StdBoolUnmarshal(&v, `, buf, `); err != nil {`) + } + } else if gogoproto.IsStdString(field) { + if nullable { + p.P(`v := new(string)`) + p.P(`if err := `, p.typesPkg.Use(), `.StdStringUnmarshal(v, `, buf, `); err != nil {`) + } else { + p.P(`v := ""`) + p.P(`if err := `, p.typesPkg.Use(), `.StdStringUnmarshal(&v, `, buf, `); err != nil {`) + } + } else if gogoproto.IsStdBytes(field) { + if nullable { + p.P(`v := new([]byte)`) + p.P(`if err := `, p.typesPkg.Use(), `.StdBytesUnmarshal(v, `, buf, `); err != nil {`) + } else { + p.P(`var v []byte`) + p.P(`if err := `, p.typesPkg.Use(), `.StdBytesUnmarshal(&v, `, buf, `); err != nil {`) + } } else { p.P(`v := &`, msgname, `{}`) p.P(`if err := v.Unmarshal(`, buf, `); err != nil {`) @@ -679,7 +787,7 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip } nullable, valuegoTyp, valuegoAliasTyp = generator.GoMapValueTypes(field, m.ValueField, valuegoTyp, valuegoAliasTyp) - if gogoproto.IsStdTime(field) || gogoproto.IsStdDuration(field) { + if gogoproto.IsStdType(field) { valuegoTyp = valuegoAliasTyp } @@ -762,6 +870,60 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip } else { p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, time.Duration(0))`) } + } else if gogoproto.IsStdDouble(field) { + if nullable { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(float64))`) + } else { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, 0)`) + } + } else if gogoproto.IsStdFloat(field) { + if nullable { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(float32))`) + } else { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, 0)`) + } + } else if gogoproto.IsStdInt64(field) { + if nullable { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(int64))`) + } else { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, 0)`) + } + } else if gogoproto.IsStdUInt64(field) { + if nullable { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(uint64))`) + } else { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, 0)`) + } + } else if gogoproto.IsStdInt32(field) { + if nullable { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(int32))`) + } else { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, 0)`) + } + } else if gogoproto.IsStdUInt32(field) { + if nullable { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(uint32))`) + } else { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, 0)`) + } + } else if gogoproto.IsStdBool(field) { + if nullable { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(bool))`) + } else { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, false)`) + } + } else if gogoproto.IsStdString(field) { + if nullable { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(string))`) + } else { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, "")`) + } + } else if gogoproto.IsStdBytes(field) { + if nullable { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new([]byte))`) + } else { + p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, []byte{})`) + } } else if nullable && !gogoproto.IsCustomType(field) { p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, &`, msgname, `{})`) } else { @@ -784,6 +946,60 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip } else { p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(&(`, varName, `),`, buf, `); err != nil {`) } + } else if gogoproto.IsStdDouble(field) { + if nullable { + p.P(`if err := `, p.typesPkg.Use(), `.StdDoubleUnmarshal(`, varName, `,`, buf, `); err != nil {`) + } else { + p.P(`if err := `, p.typesPkg.Use(), `.StdDoubleUnmarshal(&(`, varName, `),`, buf, `); err != nil {`) + } + } else if gogoproto.IsStdFloat(field) { + if nullable { + p.P(`if err := `, p.typesPkg.Use(), `.StdFloatUnmarshal(`, varName, `,`, buf, `); err != nil {`) + } else { + p.P(`if err := `, p.typesPkg.Use(), `.StdFloatUnmarshal(&(`, varName, `),`, buf, `); err != nil {`) + } + } else if gogoproto.IsStdInt64(field) { + if nullable { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt64Unmarshal(`, varName, `,`, buf, `); err != nil {`) + } else { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt64Unmarshal(&(`, varName, `),`, buf, `); err != nil {`) + } + } else if gogoproto.IsStdUInt64(field) { + if nullable { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt64Unmarshal(`, varName, `,`, buf, `); err != nil {`) + } else { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt64Unmarshal(&(`, varName, `),`, buf, `); err != nil {`) + } + } else if gogoproto.IsStdInt32(field) { + if nullable { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt32Unmarshal(`, varName, `,`, buf, `); err != nil {`) + } else { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt32Unmarshal(&(`, varName, `),`, buf, `); err != nil {`) + } + } else if gogoproto.IsStdUInt32(field) { + if nullable { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt32Unmarshal(`, varName, `,`, buf, `); err != nil {`) + } else { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt32Unmarshal(&(`, varName, `),`, buf, `); err != nil {`) + } + } else if gogoproto.IsStdBool(field) { + if nullable { + p.P(`if err := `, p.typesPkg.Use(), `.StdBoolUnmarshal(`, varName, `,`, buf, `); err != nil {`) + } else { + p.P(`if err := `, p.typesPkg.Use(), `.StdBoolUnmarshal(&(`, varName, `),`, buf, `); err != nil {`) + } + } else if gogoproto.IsStdString(field) { + if nullable { + p.P(`if err := `, p.typesPkg.Use(), `.StdStringUnmarshal(`, varName, `,`, buf, `); err != nil {`) + } else { + p.P(`if err := `, p.typesPkg.Use(), `.StdStringUnmarshal(&(`, varName, `),`, buf, `); err != nil {`) + } + } else if gogoproto.IsStdBytes(field) { + if nullable { + p.P(`if err := `, p.typesPkg.Use(), `.StdBytesUnmarshal(`, varName, `,`, buf, `); err != nil {`) + } else { + p.P(`if err := `, p.typesPkg.Use(), `.StdBytesUnmarshal(&(`, varName, `),`, buf, `); err != nil {`) + } } else { p.P(`if err := `, varName, `.Unmarshal(`, buf, `); err != nil {`) } @@ -798,6 +1014,24 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip p.P(`m.`, fieldname, ` = new(time.Time)`) } else if gogoproto.IsStdDuration(field) { p.P(`m.`, fieldname, ` = new(time.Duration)`) + } else if gogoproto.IsStdDouble(field) { + p.P(`m.`, fieldname, ` = new(float64)`) + } else if gogoproto.IsStdFloat(field) { + p.P(`m.`, fieldname, ` = new(float32)`) + } else if gogoproto.IsStdInt64(field) { + p.P(`m.`, fieldname, ` = new(int64)`) + } else if gogoproto.IsStdUInt64(field) { + p.P(`m.`, fieldname, ` = new(uint64)`) + } else if gogoproto.IsStdInt32(field) { + p.P(`m.`, fieldname, ` = new(int32)`) + } else if gogoproto.IsStdUInt32(field) { + p.P(`m.`, fieldname, ` = new(uint32)`) + } else if gogoproto.IsStdBool(field) { + p.P(`m.`, fieldname, ` = new(bool)`) + } else if gogoproto.IsStdString(field) { + p.P(`m.`, fieldname, ` = new(string)`) + } else if gogoproto.IsStdBytes(field) { + p.P(`m.`, fieldname, ` = new([]byte)`) } else { goType, _ := p.GoType(nil, field) // remove the star from the type @@ -809,6 +1043,24 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) } else if gogoproto.IsStdDuration(field) { p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdDouble(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdDoubleUnmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdFloat(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdFloatUnmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdInt64(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt64Unmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdUInt64(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt64Unmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdInt32(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt32Unmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdUInt32(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt32Unmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdBool(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdBoolUnmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdString(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdStringUnmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdBytes(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdBytesUnmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) } else { p.P(`if err := m.`, fieldname, `.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {`) } @@ -821,6 +1073,24 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) } else if gogoproto.IsStdDuration(field) { p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdDouble(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdDoubleUnmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdFloat(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdFloatUnmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdInt64(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt64Unmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdUInt64(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt64Unmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdInt32(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdInt32Unmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdUInt32(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdUInt32Unmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdBool(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdBoolUnmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdString(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdStringUnmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) + } else if gogoproto.IsStdBytes(field) { + p.P(`if err := `, p.typesPkg.Use(), `.StdBytesUnmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`) } else { p.P(`if err := m.`, fieldname, `.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {`) } @@ -1099,6 +1369,34 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) { p.P(`return `, p.ioPkg.Use(), `.ErrUnexpectedEOF`) p.Out() p.P(`}`) + + p.P(`var elementCount int`) + switch *field.Type { + case descriptor.FieldDescriptorProto_TYPE_DOUBLE, descriptor.FieldDescriptorProto_TYPE_FIXED64, descriptor.FieldDescriptorProto_TYPE_SFIXED64: + p.P(`elementCount = packedLen/`, 8) + case descriptor.FieldDescriptorProto_TYPE_FLOAT, descriptor.FieldDescriptorProto_TYPE_FIXED32, descriptor.FieldDescriptorProto_TYPE_SFIXED32: + p.P(`elementCount = packedLen/`, 4) + case descriptor.FieldDescriptorProto_TYPE_INT64, descriptor.FieldDescriptorProto_TYPE_UINT64, descriptor.FieldDescriptorProto_TYPE_INT32, descriptor.FieldDescriptorProto_TYPE_UINT32, descriptor.FieldDescriptorProto_TYPE_SINT32, descriptor.FieldDescriptorProto_TYPE_SINT64: + p.P(`var count int`) + p.P(`for _, integer := range dAtA {`) + p.In() + p.P(`if integer < 128 {`) + p.In() + p.P(`count++`) + p.Out() + p.P(`}`) + p.Out() + p.P(`}`) + p.P(`elementCount = count`) + case descriptor.FieldDescriptorProto_TYPE_BOOL: + p.P(`elementCount = packedLen`) + } + p.P(`if elementCount != 0 && len(m.`, fieldname, `) == 0 {`) + p.In() + p.P(`m.`, fieldname, ` = make([]`, p.noStarOrSliceType(message, field), `, 0, elementCount)`) + p.Out() + p.P(`}`) + p.P(`for iNdEx < postIndex {`) p.In() p.field(file, message, field, fieldname, false) @@ -1124,7 +1422,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) { if !ok { panic("field is required, but no bit registered") } - p.P(`hasFields[`, strconv.Itoa(int(fieldBit/64)), `] |= uint64(`, fmt.Sprintf("0x%08x", 1<<(fieldBit%64)), `)`) + p.P(`hasFields[`, strconv.Itoa(int(fieldBit/64)), `] |= uint64(`, fmt.Sprintf("0x%08x", uint64(1)<<(fieldBit%64)), `)`) } } p.Out() @@ -1213,7 +1511,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) { panic("field is required, but no bit registered") } - p.P(`if hasFields[`, strconv.Itoa(int(fieldBit/64)), `] & uint64(`, fmt.Sprintf("0x%08x", 1<<(fieldBit%64)), `) == 0 {`) + p.P(`if hasFields[`, strconv.Itoa(int(fieldBit/64)), `] & uint64(`, fmt.Sprintf("0x%08x", uint64(1)<<(fieldBit%64)), `) == 0 {`) p.In() if !gogoproto.ImportsGoGoProto(file.FileDescriptorProto) { p.P(`return new(`, protoPkg.Use(), `.RequiredNotSetError)`) diff --git a/vendor/github.com/gogo/protobuf/proto/Makefile b/vendor/github.com/gogo/protobuf/proto/Makefile index 41c717573..00d65f327 100644 --- a/vendor/github.com/gogo/protobuf/proto/Makefile +++ b/vendor/github.com/gogo/protobuf/proto/Makefile @@ -38,6 +38,6 @@ test: install generate-test-pbs generate-test-pbs: make install - make -C testdata - protoc-min-version --version="3.0.0" --proto_path=.:../../../../:../protobuf --gogo_out=Mtestdata/test.proto=github.com/gogo/protobuf/proto/testdata,Mgoogle/protobuf/any.proto=github.com/gogo/protobuf/types:. proto3_proto/proto3.proto + make -C test_proto + make -C proto3_proto make diff --git a/vendor/github.com/gogo/protobuf/proto/clone.go b/vendor/github.com/gogo/protobuf/proto/clone.go index 5d4cba4b5..a26b046d9 100644 --- a/vendor/github.com/gogo/protobuf/proto/clone.go +++ b/vendor/github.com/gogo/protobuf/proto/clone.go @@ -35,22 +35,39 @@ package proto import ( + "fmt" "log" "reflect" "strings" ) // Clone returns a deep copy of a protocol buffer. -func Clone(pb Message) Message { - in := reflect.ValueOf(pb) +func Clone(src Message) Message { + in := reflect.ValueOf(src) if in.IsNil() { - return pb + return src } - out := reflect.New(in.Type().Elem()) - // out is empty so a merge is a deep copy. - mergeStruct(out.Elem(), in.Elem()) - return out.Interface().(Message) + dst := out.Interface().(Message) + Merge(dst, src) + return dst +} + +// Merger is the interface representing objects that can merge messages of the same type. +type Merger interface { + // Merge merges src into this message. + // Required and optional fields that are set in src will be set to that value in dst. + // Elements of repeated fields will be appended. + // + // Merge may panic if called with a different argument type than the receiver. + Merge(src Message) +} + +// generatedMerger is the custom merge method that generated protos will have. +// We must add this method since a generate Merge method will conflict with +// many existing protos that have a Merge data field already defined. +type generatedMerger interface { + XXX_Merge(src Message) } // Merge merges src into dst. @@ -58,17 +75,24 @@ func Clone(pb Message) Message { // Elements of repeated fields will be appended. // Merge panics if src and dst are not the same type, or if dst is nil. func Merge(dst, src Message) { + if m, ok := dst.(Merger); ok { + m.Merge(src) + return + } + in := reflect.ValueOf(src) out := reflect.ValueOf(dst) if out.IsNil() { panic("proto: nil destination") } if in.Type() != out.Type() { - // Explicit test prior to mergeStruct so that mistyped nils will fail - panic("proto: type mismatch") + panic(fmt.Sprintf("proto.Merge(%T, %T) type mismatch", dst, src)) } if in.IsNil() { - // Merging nil into non-nil is a quiet no-op + return // Merge from nil src is a noop + } + if m, ok := dst.(generatedMerger); ok { + m.XXX_Merge(src) return } mergeStruct(out.Elem(), in.Elem()) @@ -89,7 +113,7 @@ func mergeStruct(out, in reflect.Value) { bIn := emIn.GetExtensions() bOut := emOut.GetExtensions() *bOut = append(*bOut, *bIn...) - } else if emIn, ok := extendable(in.Addr().Interface()); ok { + } else if emIn, err := extendable(in.Addr().Interface()); err == nil { emOut, _ := extendable(out.Addr().Interface()) mIn, muIn := emIn.extensionsRead() if mIn != nil { diff --git a/vendor/github.com/gogo/protobuf/proto/custom_gogo.go b/vendor/github.com/gogo/protobuf/proto/custom_gogo.go new file mode 100644 index 000000000..24552483c --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/custom_gogo.go @@ -0,0 +1,39 @@ +// Protocol Buffers for Go with Gadgets +// +// Copyright (c) 2018, The GoGo Authors. All rights reserved. +// http://github.com/gogo/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import "reflect" + +type custom interface { + Marshal() ([]byte, error) + Unmarshal(data []byte) error + Size() int +} + +var customType = reflect.TypeOf((*custom)(nil)).Elem() diff --git a/vendor/github.com/gogo/protobuf/proto/decode.go b/vendor/github.com/gogo/protobuf/proto/decode.go index 737f2731d..d9aa3c42d 100644 --- a/vendor/github.com/gogo/protobuf/proto/decode.go +++ b/vendor/github.com/gogo/protobuf/proto/decode.go @@ -39,8 +39,6 @@ import ( "errors" "fmt" "io" - "os" - "reflect" ) // errOverflow is returned when an integer is too large to be represented. @@ -50,10 +48,6 @@ var errOverflow = errors.New("proto: integer overflow") // wire type is encountered. It does not get returned to user code. var ErrInternalBadWireType = errors.New("proto: internal error: bad wiretype for oneof") -// The fundamental decoders that interpret bytes on the wire. -// Those that take integer types all return uint64 and are -// therefore of type valueDecoder. - // DecodeVarint reads a varint-encoded integer from the slice. // It returns the integer and the number of bytes consumed, or // zero if there is not enough. @@ -267,9 +261,6 @@ func (p *Buffer) DecodeZigzag32() (x uint64, err error) { return } -// These are not ValueDecoders: they produce an array of bytes or a string. -// bytes, embedded messages - // DecodeRawBytes reads a count-delimited byte buffer from the Buffer. // This is the format used for the bytes protocol buffer // type and for embedded messages. @@ -311,81 +302,29 @@ func (p *Buffer) DecodeStringBytes() (s string, err error) { return string(buf), nil } -// Skip the next item in the buffer. Its wire type is decoded and presented as an argument. -// If the protocol buffer has extensions, and the field matches, add it as an extension. -// Otherwise, if the XXX_unrecognized field exists, append the skipped data there. -func (o *Buffer) skipAndSave(t reflect.Type, tag, wire int, base structPointer, unrecField field) error { - oi := o.index - - err := o.skip(t, tag, wire) - if err != nil { - return err - } - - if !unrecField.IsValid() { - return nil - } - - ptr := structPointer_Bytes(base, unrecField) - - // Add the skipped field to struct field - obuf := o.buf - - o.buf = *ptr - o.EncodeVarint(uint64(tag<<3 | wire)) - *ptr = append(o.buf, obuf[oi:o.index]...) - - o.buf = obuf - - return nil -} - -// Skip the next item in the buffer. Its wire type is decoded and presented as an argument. -func (o *Buffer) skip(t reflect.Type, tag, wire int) error { - - var u uint64 - var err error - - switch wire { - case WireVarint: - _, err = o.DecodeVarint() - case WireFixed64: - _, err = o.DecodeFixed64() - case WireBytes: - _, err = o.DecodeRawBytes(false) - case WireFixed32: - _, err = o.DecodeFixed32() - case WireStartGroup: - for { - u, err = o.DecodeVarint() - if err != nil { - break - } - fwire := int(u & 0x7) - if fwire == WireEndGroup { - break - } - ftag := int(u >> 3) - err = o.skip(t, ftag, fwire) - if err != nil { - break - } - } - default: - err = fmt.Errorf("proto: can't skip unknown wire type %d for %s", wire, t) - } - return err -} - // Unmarshaler is the interface representing objects that can -// unmarshal themselves. The method should reset the receiver before -// decoding starts. The argument points to data that may be +// unmarshal themselves. The argument points to data that may be // overwritten, so implementations should not keep references to the // buffer. +// Unmarshal implementations should not clear the receiver. +// Any unmarshaled data should be merged into the receiver. +// Callers of Unmarshal that do not want to retain existing data +// should Reset the receiver before calling Unmarshal. type Unmarshaler interface { Unmarshal([]byte) error } +// newUnmarshaler is the interface representing objects that can +// unmarshal themselves. The semantics are identical to Unmarshaler. +// +// This exists to support protoc-gen-go generated messages. +// The proto package will stop type-asserting to this interface in the future. +// +// DO NOT DEPEND ON THIS. +type newUnmarshaler interface { + XXX_Unmarshal([]byte) error +} + // Unmarshal parses the protocol buffer representation in buf and places the // decoded result in pb. If the struct underlying pb does not match // the data in buf, the results can be unpredictable. @@ -395,7 +334,13 @@ type Unmarshaler interface { // to preserve and append to existing data. func Unmarshal(buf []byte, pb Message) error { pb.Reset() - return UnmarshalMerge(buf, pb) + if u, ok := pb.(newUnmarshaler); ok { + return u.XXX_Unmarshal(buf) + } + if u, ok := pb.(Unmarshaler); ok { + return u.Unmarshal(buf) + } + return NewBuffer(buf).Unmarshal(pb) } // UnmarshalMerge parses the protocol buffer representation in buf and @@ -405,8 +350,16 @@ func Unmarshal(buf []byte, pb Message) error { // UnmarshalMerge merges into existing data in pb. // Most code should use Unmarshal instead. func UnmarshalMerge(buf []byte, pb Message) error { - // If the object can unmarshal itself, let it. + if u, ok := pb.(newUnmarshaler); ok { + return u.XXX_Unmarshal(buf) + } if u, ok := pb.(Unmarshaler); ok { + // NOTE: The history of proto have unfortunately been inconsistent + // whether Unmarshaler should or should not implicitly clear itself. + // Some implementations do, most do not. + // Thus, calling this here may or may not do what people want. + // + // See https://github.com/golang/protobuf/issues/424 return u.Unmarshal(buf) } return NewBuffer(buf).Unmarshal(pb) @@ -422,12 +375,17 @@ func (p *Buffer) DecodeMessage(pb Message) error { } // DecodeGroup reads a tag-delimited group from the Buffer. +// StartGroup tag is already consumed. This function consumes +// EndGroup tag. func (p *Buffer) DecodeGroup(pb Message) error { - typ, base, err := getbase(pb) - if err != nil { - return err + b := p.buf[p.index:] + x, y := findEndGroup(b) + if x < 0 { + return io.ErrUnexpectedEOF } - return p.unmarshalType(typ.Elem(), GetProperties(typ.Elem()), true, base) + err := Unmarshal(b[:x], pb) + p.index += y + return err } // Unmarshal parses the protocol buffer representation in the @@ -438,541 +396,33 @@ func (p *Buffer) DecodeGroup(pb Message) error { // Unlike proto.Unmarshal, this does not reset pb before starting to unmarshal. func (p *Buffer) Unmarshal(pb Message) error { // If the object can unmarshal itself, let it. + if u, ok := pb.(newUnmarshaler); ok { + err := u.XXX_Unmarshal(p.buf[p.index:]) + p.index = len(p.buf) + return err + } if u, ok := pb.(Unmarshaler); ok { + // NOTE: The history of proto have unfortunately been inconsistent + // whether Unmarshaler should or should not implicitly clear itself. + // Some implementations do, most do not. + // Thus, calling this here may or may not do what people want. + // + // See https://github.com/golang/protobuf/issues/424 err := u.Unmarshal(p.buf[p.index:]) p.index = len(p.buf) return err } - typ, base, err := getbase(pb) - if err != nil { - return err - } - - err = p.unmarshalType(typ.Elem(), GetProperties(typ.Elem()), false, base) - - if collectStats { - stats.Decode++ - } - - return err -} - -// unmarshalType does the work of unmarshaling a structure. -func (o *Buffer) unmarshalType(st reflect.Type, prop *StructProperties, is_group bool, base structPointer) error { - var state errorState - required, reqFields := prop.reqCount, uint64(0) - - var err error - for err == nil && o.index < len(o.buf) { - oi := o.index - var u uint64 - u, err = o.DecodeVarint() - if err != nil { - break - } - wire := int(u & 0x7) - if wire == WireEndGroup { - if is_group { - if required > 0 { - // Not enough information to determine the exact field. - // (See below.) - return &RequiredNotSetError{"{Unknown}"} - } - return nil // input is satisfied - } - return fmt.Errorf("proto: %s: wiretype end group for non-group", st) - } - tag := int(u >> 3) - if tag <= 0 { - return fmt.Errorf("proto: %s: illegal tag %d (wire type %d)", st, tag, wire) - } - fieldnum, ok := prop.decoderTags.get(tag) - if !ok { - // Maybe it's an extension? - if prop.extendable { - if e, eok := structPointer_Interface(base, st).(extensionsBytes); eok { - if isExtensionField(e, int32(tag)) { - if err = o.skip(st, tag, wire); err == nil { - ext := e.GetExtensions() - *ext = append(*ext, o.buf[oi:o.index]...) - } - continue - } - } else if e, _ := extendable(structPointer_Interface(base, st)); isExtensionField(e, int32(tag)) { - if err = o.skip(st, tag, wire); err == nil { - extmap := e.extensionsWrite() - ext := extmap[int32(tag)] // may be missing - ext.enc = append(ext.enc, o.buf[oi:o.index]...) - extmap[int32(tag)] = ext - } - continue - } - } - // Maybe it's a oneof? - if prop.oneofUnmarshaler != nil { - m := structPointer_Interface(base, st).(Message) - // First return value indicates whether tag is a oneof field. - ok, err = prop.oneofUnmarshaler(m, tag, wire, o) - if err == ErrInternalBadWireType { - // Map the error to something more descriptive. - // Do the formatting here to save generated code space. - err = fmt.Errorf("bad wiretype for oneof field in %T", m) - } - if ok { - continue - } - } - err = o.skipAndSave(st, tag, wire, base, prop.unrecField) - continue - } - p := prop.Prop[fieldnum] - - if p.dec == nil { - fmt.Fprintf(os.Stderr, "proto: no protobuf decoder for %s.%s\n", st, st.Field(fieldnum).Name) - continue - } - dec := p.dec - if wire != WireStartGroup && wire != p.WireType { - if wire == WireBytes && p.packedDec != nil { - // a packable field - dec = p.packedDec - } else { - err = fmt.Errorf("proto: bad wiretype for field %s.%s: got wiretype %d, want %d", st, st.Field(fieldnum).Name, wire, p.WireType) - continue - } - } - decErr := dec(o, p, base) - if decErr != nil && !state.shouldContinue(decErr, p) { - err = decErr - } - if err == nil && p.Required { - // Successfully decoded a required field. - if tag <= 64 { - // use bitmap for fields 1-64 to catch field reuse. - var mask uint64 = 1 << uint64(tag-1) - if reqFields&mask == 0 { - // new required field - reqFields |= mask - required-- - } - } else { - // This is imprecise. It can be fooled by a required field - // with a tag > 64 that is encoded twice; that's very rare. - // A fully correct implementation would require allocating - // a data structure, which we would like to avoid. - required-- - } - } - } - if err == nil { - if is_group { - return io.ErrUnexpectedEOF - } - if state.err != nil { - return state.err - } - if required > 0 { - // Not enough information to determine the exact field. If we use extra - // CPU, we could determine the field only if the missing required field - // has a tag <= 64 and we check reqFields. - return &RequiredNotSetError{"{Unknown}"} - } - } - return err -} - -// Individual type decoders -// For each, -// u is the decoded value, -// v is a pointer to the field (pointer) in the struct - -// Sizes of the pools to allocate inside the Buffer. -// The goal is modest amortization and allocation -// on at least 16-byte boundaries. -const ( - boolPoolSize = 16 - uint32PoolSize = 8 - uint64PoolSize = 4 -) - -// Decode a bool. -func (o *Buffer) dec_bool(p *Properties, base structPointer) error { - u, err := p.valDec(o) - if err != nil { - return err - } - if len(o.bools) == 0 { - o.bools = make([]bool, boolPoolSize) - } - o.bools[0] = u != 0 - *structPointer_Bool(base, p.field) = &o.bools[0] - o.bools = o.bools[1:] - return nil -} - -func (o *Buffer) dec_proto3_bool(p *Properties, base structPointer) error { - u, err := p.valDec(o) - if err != nil { - return err - } - *structPointer_BoolVal(base, p.field) = u != 0 - return nil -} - -// Decode an int32. -func (o *Buffer) dec_int32(p *Properties, base structPointer) error { - u, err := p.valDec(o) - if err != nil { - return err - } - word32_Set(structPointer_Word32(base, p.field), o, uint32(u)) - return nil -} - -func (o *Buffer) dec_proto3_int32(p *Properties, base structPointer) error { - u, err := p.valDec(o) - if err != nil { - return err - } - word32Val_Set(structPointer_Word32Val(base, p.field), uint32(u)) - return nil -} - -// Decode an int64. -func (o *Buffer) dec_int64(p *Properties, base structPointer) error { - u, err := p.valDec(o) - if err != nil { - return err - } - word64_Set(structPointer_Word64(base, p.field), o, u) - return nil -} - -func (o *Buffer) dec_proto3_int64(p *Properties, base structPointer) error { - u, err := p.valDec(o) - if err != nil { - return err - } - word64Val_Set(structPointer_Word64Val(base, p.field), o, u) - return nil -} - -// Decode a string. -func (o *Buffer) dec_string(p *Properties, base structPointer) error { - s, err := o.DecodeStringBytes() - if err != nil { - return err - } - *structPointer_String(base, p.field) = &s - return nil -} - -func (o *Buffer) dec_proto3_string(p *Properties, base structPointer) error { - s, err := o.DecodeStringBytes() - if err != nil { - return err - } - *structPointer_StringVal(base, p.field) = s - return nil -} - -// Decode a slice of bytes ([]byte). -func (o *Buffer) dec_slice_byte(p *Properties, base structPointer) error { - b, err := o.DecodeRawBytes(true) - if err != nil { - return err - } - *structPointer_Bytes(base, p.field) = b - return nil -} - -// Decode a slice of bools ([]bool). -func (o *Buffer) dec_slice_bool(p *Properties, base structPointer) error { - u, err := p.valDec(o) - if err != nil { - return err - } - v := structPointer_BoolSlice(base, p.field) - *v = append(*v, u != 0) - return nil -} - -// Decode a slice of bools ([]bool) in packed format. -func (o *Buffer) dec_slice_packed_bool(p *Properties, base structPointer) error { - v := structPointer_BoolSlice(base, p.field) - - nn, err := o.DecodeVarint() - if err != nil { - return err - } - nb := int(nn) // number of bytes of encoded bools - fin := o.index + nb - if fin < o.index { - return errOverflow - } - - y := *v - for o.index < fin { - u, err := p.valDec(o) - if err != nil { - return err - } - y = append(y, u != 0) - } - - *v = y - return nil -} - -// Decode a slice of int32s ([]int32). -func (o *Buffer) dec_slice_int32(p *Properties, base structPointer) error { - u, err := p.valDec(o) - if err != nil { - return err - } - structPointer_Word32Slice(base, p.field).Append(uint32(u)) - return nil -} - -// Decode a slice of int32s ([]int32) in packed format. -func (o *Buffer) dec_slice_packed_int32(p *Properties, base structPointer) error { - v := structPointer_Word32Slice(base, p.field) - - nn, err := o.DecodeVarint() - if err != nil { - return err - } - nb := int(nn) // number of bytes of encoded int32s - - fin := o.index + nb - if fin < o.index { - return errOverflow - } - for o.index < fin { - u, err := p.valDec(o) - if err != nil { - return err - } - v.Append(uint32(u)) - } - return nil -} - -// Decode a slice of int64s ([]int64). -func (o *Buffer) dec_slice_int64(p *Properties, base structPointer) error { - u, err := p.valDec(o) - if err != nil { - return err - } - - structPointer_Word64Slice(base, p.field).Append(u) - return nil -} - -// Decode a slice of int64s ([]int64) in packed format. -func (o *Buffer) dec_slice_packed_int64(p *Properties, base structPointer) error { - v := structPointer_Word64Slice(base, p.field) - - nn, err := o.DecodeVarint() - if err != nil { - return err - } - nb := int(nn) // number of bytes of encoded int64s - - fin := o.index + nb - if fin < o.index { - return errOverflow - } - for o.index < fin { - u, err := p.valDec(o) - if err != nil { - return err - } - v.Append(u) - } - return nil -} - -// Decode a slice of strings ([]string). -func (o *Buffer) dec_slice_string(p *Properties, base structPointer) error { - s, err := o.DecodeStringBytes() - if err != nil { - return err - } - v := structPointer_StringSlice(base, p.field) - *v = append(*v, s) - return nil -} - -// Decode a slice of slice of bytes ([][]byte). -func (o *Buffer) dec_slice_slice_byte(p *Properties, base structPointer) error { - b, err := o.DecodeRawBytes(true) - if err != nil { - return err - } - v := structPointer_BytesSlice(base, p.field) - *v = append(*v, b) - return nil -} - -// Decode a map field. -func (o *Buffer) dec_new_map(p *Properties, base structPointer) error { - raw, err := o.DecodeRawBytes(false) - if err != nil { - return err - } - oi := o.index // index at the end of this map entry - o.index -= len(raw) // move buffer back to start of map entry - - mptr := structPointer_NewAt(base, p.field, p.mtype) // *map[K]V - if mptr.Elem().IsNil() { - mptr.Elem().Set(reflect.MakeMap(mptr.Type().Elem())) - } - v := mptr.Elem() // map[K]V - - // Prepare addressable doubly-indirect placeholders for the key and value types. - // See enc_new_map for why. - keyptr := reflect.New(reflect.PtrTo(p.mtype.Key())).Elem() // addressable *K - keybase := toStructPointer(keyptr.Addr()) // **K - - var valbase structPointer - var valptr reflect.Value - switch p.mtype.Elem().Kind() { - case reflect.Slice: - // []byte - var dummy []byte - valptr = reflect.ValueOf(&dummy) // *[]byte - valbase = toStructPointer(valptr) // *[]byte - case reflect.Ptr: - // message; valptr is **Msg; need to allocate the intermediate pointer - valptr = reflect.New(reflect.PtrTo(p.mtype.Elem())).Elem() // addressable *V - valptr.Set(reflect.New(valptr.Type().Elem())) - valbase = toStructPointer(valptr) - default: - // everything else - valptr = reflect.New(reflect.PtrTo(p.mtype.Elem())).Elem() // addressable *V - valbase = toStructPointer(valptr.Addr()) // **V - } - - // Decode. - // This parses a restricted wire format, namely the encoding of a message - // with two fields. See enc_new_map for the format. - for o.index < oi { - // tagcode for key and value properties are always a single byte - // because they have tags 1 and 2. - tagcode := o.buf[o.index] - o.index++ - switch tagcode { - case p.mkeyprop.tagcode[0]: - if err := p.mkeyprop.dec(o, p.mkeyprop, keybase); err != nil { - return err - } - case p.mvalprop.tagcode[0]: - if err := p.mvalprop.dec(o, p.mvalprop, valbase); err != nil { - return err - } - default: - // TODO: Should we silently skip this instead? - return fmt.Errorf("proto: bad map data tag %d", raw[0]) - } - } - keyelem, valelem := keyptr.Elem(), valptr.Elem() - if !keyelem.IsValid() { - keyelem = reflect.Zero(p.mtype.Key()) - } - if !valelem.IsValid() { - valelem = reflect.Zero(p.mtype.Elem()) - } - - v.SetMapIndex(keyelem, valelem) - return nil -} - -// Decode a group. -func (o *Buffer) dec_struct_group(p *Properties, base structPointer) error { - bas := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(bas) { - // allocate new nested message - bas = toStructPointer(reflect.New(p.stype)) - structPointer_SetStructPointer(base, p.field, bas) - } - return o.unmarshalType(p.stype, p.sprop, true, bas) -} - -// Decode an embedded message. -func (o *Buffer) dec_struct_message(p *Properties, base structPointer) (err error) { - raw, e := o.DecodeRawBytes(false) - if e != nil { - return e - } - - bas := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(bas) { - // allocate new nested message - bas = toStructPointer(reflect.New(p.stype)) - structPointer_SetStructPointer(base, p.field, bas) - } - - // If the object can unmarshal itself, let it. - if p.isUnmarshaler { - iv := structPointer_Interface(bas, p.stype) - return iv.(Unmarshaler).Unmarshal(raw) - } - - obuf := o.buf - oi := o.index - o.buf = raw - o.index = 0 - - err = o.unmarshalType(p.stype, p.sprop, false, bas) - o.buf = obuf - o.index = oi - - return err -} - -// Decode a slice of embedded messages. -func (o *Buffer) dec_slice_struct_message(p *Properties, base structPointer) error { - return o.dec_slice_struct(p, false, base) -} - -// Decode a slice of embedded groups. -func (o *Buffer) dec_slice_struct_group(p *Properties, base structPointer) error { - return o.dec_slice_struct(p, true, base) -} - -// Decode a slice of structs ([]*struct). -func (o *Buffer) dec_slice_struct(p *Properties, is_group bool, base structPointer) error { - v := reflect.New(p.stype) - bas := toStructPointer(v) - structPointer_StructPointerSlice(base, p.field).Append(bas) - - if is_group { - err := o.unmarshalType(p.stype, p.sprop, is_group, bas) - return err - } - - raw, err := o.DecodeRawBytes(false) - if err != nil { - return err - } - - // If the object can unmarshal itself, let it. - if p.isUnmarshaler { - iv := v.Interface() - return iv.(Unmarshaler).Unmarshal(raw) - } - - obuf := o.buf - oi := o.index - o.buf = raw - o.index = 0 - - err = o.unmarshalType(p.stype, p.sprop, is_group, bas) - - o.buf = obuf - o.index = oi - + // Slow workaround for messages that aren't Unmarshalers. + // This includes some hand-coded .pb.go files and + // bootstrap protos. + // TODO: fix all of those and then add Unmarshal to + // the Message interface. Then: + // The cast above and code below can be deleted. + // The old unmarshaler can be deleted. + // Clients can call Unmarshal directly (can already do that, actually). + var info InternalMessageInfo + err := info.Unmarshal(pb, p.buf[p.index:]) + p.index = len(p.buf) return err } diff --git a/vendor/github.com/gogo/protobuf/proto/decode_gogo.go b/vendor/github.com/gogo/protobuf/proto/decode_gogo.go deleted file mode 100644 index 6fb74de4c..000000000 --- a/vendor/github.com/gogo/protobuf/proto/decode_gogo.go +++ /dev/null @@ -1,172 +0,0 @@ -// Protocol Buffers for Go with Gadgets -// -// Copyright (c) 2013, The GoGo Authors. All rights reserved. -// http://github.com/gogo/protobuf -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -package proto - -import ( - "reflect" -) - -// Decode a reference to a struct pointer. -func (o *Buffer) dec_ref_struct_message(p *Properties, base structPointer) (err error) { - raw, e := o.DecodeRawBytes(false) - if e != nil { - return e - } - - // If the object can unmarshal itself, let it. - if p.isUnmarshaler { - panic("not supported, since this is a pointer receiver") - } - - obuf := o.buf - oi := o.index - o.buf = raw - o.index = 0 - - bas := structPointer_FieldPointer(base, p.field) - - err = o.unmarshalType(p.stype, p.sprop, false, bas) - o.buf = obuf - o.index = oi - - return err -} - -// Decode a slice of references to struct pointers ([]struct). -func (o *Buffer) dec_slice_ref_struct(p *Properties, is_group bool, base structPointer) error { - newBas := appendStructPointer(base, p.field, p.sstype) - - if is_group { - panic("not supported, maybe in future, if requested.") - } - - raw, err := o.DecodeRawBytes(false) - if err != nil { - return err - } - - // If the object can unmarshal itself, let it. - if p.isUnmarshaler { - panic("not supported, since this is not a pointer receiver.") - } - - obuf := o.buf - oi := o.index - o.buf = raw - o.index = 0 - - err = o.unmarshalType(p.stype, p.sprop, is_group, newBas) - - o.buf = obuf - o.index = oi - - return err -} - -// Decode a slice of references to struct pointers. -func (o *Buffer) dec_slice_ref_struct_message(p *Properties, base structPointer) error { - return o.dec_slice_ref_struct(p, false, base) -} - -func setPtrCustomType(base structPointer, f field, v interface{}) { - if v == nil { - return - } - structPointer_SetStructPointer(base, f, toStructPointer(reflect.ValueOf(v))) -} - -func setCustomType(base structPointer, f field, value interface{}) { - if value == nil { - return - } - v := reflect.ValueOf(value).Elem() - t := reflect.TypeOf(value).Elem() - kind := t.Kind() - switch kind { - case reflect.Slice: - slice := reflect.MakeSlice(t, v.Len(), v.Cap()) - reflect.Copy(slice, v) - oldHeader := structPointer_GetSliceHeader(base, f) - oldHeader.Data = slice.Pointer() - oldHeader.Len = v.Len() - oldHeader.Cap = v.Cap() - default: - size := reflect.TypeOf(value).Elem().Size() - structPointer_Copy(toStructPointer(reflect.ValueOf(value)), structPointer_Add(base, f), int(size)) - } -} - -func (o *Buffer) dec_custom_bytes(p *Properties, base structPointer) error { - b, err := o.DecodeRawBytes(true) - if err != nil { - return err - } - i := reflect.New(p.ctype.Elem()).Interface() - custom := (i).(Unmarshaler) - if err := custom.Unmarshal(b); err != nil { - return err - } - setPtrCustomType(base, p.field, custom) - return nil -} - -func (o *Buffer) dec_custom_ref_bytes(p *Properties, base structPointer) error { - b, err := o.DecodeRawBytes(true) - if err != nil { - return err - } - i := reflect.New(p.ctype).Interface() - custom := (i).(Unmarshaler) - if err := custom.Unmarshal(b); err != nil { - return err - } - if custom != nil { - setCustomType(base, p.field, custom) - } - return nil -} - -// Decode a slice of bytes ([]byte) into a slice of custom types. -func (o *Buffer) dec_custom_slice_bytes(p *Properties, base structPointer) error { - b, err := o.DecodeRawBytes(true) - if err != nil { - return err - } - i := reflect.New(p.ctype.Elem()).Interface() - custom := (i).(Unmarshaler) - if err := custom.Unmarshal(b); err != nil { - return err - } - newBas := appendStructPointer(base, p.field, p.ctype) - - var zero field - setCustomType(newBas, zero, custom) - - return nil -} diff --git a/vendor/github.com/gogo/protobuf/proto/discard.go b/vendor/github.com/gogo/protobuf/proto/discard.go index bd0e3bb4c..fe1bd7d90 100644 --- a/vendor/github.com/gogo/protobuf/proto/discard.go +++ b/vendor/github.com/gogo/protobuf/proto/discard.go @@ -35,8 +35,14 @@ import ( "fmt" "reflect" "strings" + "sync" + "sync/atomic" ) +type generatedDiscarder interface { + XXX_DiscardUnknown() +} + // DiscardUnknown recursively discards all unknown fields from this message // and all embedded messages. // @@ -49,9 +55,202 @@ import ( // For proto2 messages, the unknown fields of message extensions are only // discarded from messages that have been accessed via GetExtension. func DiscardUnknown(m Message) { + if m, ok := m.(generatedDiscarder); ok { + m.XXX_DiscardUnknown() + return + } + // TODO: Dynamically populate a InternalMessageInfo for legacy messages, + // but the master branch has no implementation for InternalMessageInfo, + // so it would be more work to replicate that approach. discardLegacy(m) } +// DiscardUnknown recursively discards all unknown fields. +func (a *InternalMessageInfo) DiscardUnknown(m Message) { + di := atomicLoadDiscardInfo(&a.discard) + if di == nil { + di = getDiscardInfo(reflect.TypeOf(m).Elem()) + atomicStoreDiscardInfo(&a.discard, di) + } + di.discard(toPointer(&m)) +} + +type discardInfo struct { + typ reflect.Type + + initialized int32 // 0: only typ is valid, 1: everything is valid + lock sync.Mutex + + fields []discardFieldInfo + unrecognized field +} + +type discardFieldInfo struct { + field field // Offset of field, guaranteed to be valid + discard func(src pointer) +} + +var ( + discardInfoMap = map[reflect.Type]*discardInfo{} + discardInfoLock sync.Mutex +) + +func getDiscardInfo(t reflect.Type) *discardInfo { + discardInfoLock.Lock() + defer discardInfoLock.Unlock() + di := discardInfoMap[t] + if di == nil { + di = &discardInfo{typ: t} + discardInfoMap[t] = di + } + return di +} + +func (di *discardInfo) discard(src pointer) { + if src.isNil() { + return // Nothing to do. + } + + if atomic.LoadInt32(&di.initialized) == 0 { + di.computeDiscardInfo() + } + + for _, fi := range di.fields { + sfp := src.offset(fi.field) + fi.discard(sfp) + } + + // For proto2 messages, only discard unknown fields in message extensions + // that have been accessed via GetExtension. + if em, err := extendable(src.asPointerTo(di.typ).Interface()); err == nil { + // Ignore lock since DiscardUnknown is not concurrency safe. + emm, _ := em.extensionsRead() + for _, mx := range emm { + if m, ok := mx.value.(Message); ok { + DiscardUnknown(m) + } + } + } + + if di.unrecognized.IsValid() { + *src.offset(di.unrecognized).toBytes() = nil + } +} + +func (di *discardInfo) computeDiscardInfo() { + di.lock.Lock() + defer di.lock.Unlock() + if di.initialized != 0 { + return + } + t := di.typ + n := t.NumField() + + for i := 0; i < n; i++ { + f := t.Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + + dfi := discardFieldInfo{field: toField(&f)} + tf := f.Type + + // Unwrap tf to get its most basic type. + var isPointer, isSlice bool + if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 { + isSlice = true + tf = tf.Elem() + } + if tf.Kind() == reflect.Ptr { + isPointer = true + tf = tf.Elem() + } + if isPointer && isSlice && tf.Kind() != reflect.Struct { + panic(fmt.Sprintf("%v.%s cannot be a slice of pointers to primitive types", t, f.Name)) + } + + switch tf.Kind() { + case reflect.Struct: + switch { + case !isPointer: + panic(fmt.Sprintf("%v.%s cannot be a direct struct value", t, f.Name)) + case isSlice: // E.g., []*pb.T + discardInfo := getDiscardInfo(tf) + dfi.discard = func(src pointer) { + sps := src.getPointerSlice() + for _, sp := range sps { + if !sp.isNil() { + discardInfo.discard(sp) + } + } + } + default: // E.g., *pb.T + discardInfo := getDiscardInfo(tf) + dfi.discard = func(src pointer) { + sp := src.getPointer() + if !sp.isNil() { + discardInfo.discard(sp) + } + } + } + case reflect.Map: + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%v.%s cannot be a pointer to a map or a slice of map values", t, f.Name)) + default: // E.g., map[K]V + if tf.Elem().Kind() == reflect.Ptr { // Proto struct (e.g., *T) + dfi.discard = func(src pointer) { + sm := src.asPointerTo(tf).Elem() + if sm.Len() == 0 { + return + } + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + DiscardUnknown(val.Interface().(Message)) + } + } + } else { + dfi.discard = func(pointer) {} // Noop + } + } + case reflect.Interface: + // Must be oneof field. + switch { + case isPointer || isSlice: + panic(fmt.Sprintf("%v.%s cannot be a pointer to a interface or a slice of interface values", t, f.Name)) + default: // E.g., interface{} + // TODO: Make this faster? + dfi.discard = func(src pointer) { + su := src.asPointerTo(tf).Elem() + if !su.IsNil() { + sv := su.Elem().Elem().Field(0) + if sv.Kind() == reflect.Ptr && sv.IsNil() { + return + } + switch sv.Type().Kind() { + case reflect.Ptr: // Proto struct (e.g., *T) + DiscardUnknown(sv.Interface().(Message)) + } + } + } + } + default: + continue + } + di.fields = append(di.fields, dfi) + } + + di.unrecognized = invalidField + if f, ok := t.FieldByName("XXX_unrecognized"); ok { + if f.Type != reflect.TypeOf([]byte{}) { + panic("expected XXX_unrecognized to be of type []byte") + } + di.unrecognized = toField(&f) + } + + atomic.StoreInt32(&di.initialized, 1) +} + func discardLegacy(m Message) { v := reflect.ValueOf(m) if v.Kind() != reflect.Ptr || v.IsNil() { @@ -139,7 +338,7 @@ func discardLegacy(m Message) { // For proto2 messages, only discard unknown fields in message extensions // that have been accessed via GetExtension. - if em, ok := extendable(m); ok { + if em, err := extendable(m); err == nil { // Ignore lock since discardLegacy is not concurrency safe. emm, _ := em.extensionsRead() for _, mx := range emm { diff --git a/vendor/github.com/gogo/protobuf/proto/duration_gogo.go b/vendor/github.com/gogo/protobuf/proto/duration_gogo.go index 18e2a5f77..e748e1730 100644 --- a/vendor/github.com/gogo/protobuf/proto/duration_gogo.go +++ b/vendor/github.com/gogo/protobuf/proto/duration_gogo.go @@ -47,157 +47,3 @@ func (*duration) String() string { return "duration" } func init() { RegisterType((*duration)(nil), "gogo.protobuf.proto.duration") } - -func (o *Buffer) decDuration() (time.Duration, error) { - b, err := o.DecodeRawBytes(true) - if err != nil { - return 0, err - } - dproto := &duration{} - if err := Unmarshal(b, dproto); err != nil { - return 0, err - } - return durationFromProto(dproto) -} - -func (o *Buffer) dec_duration(p *Properties, base structPointer) error { - d, err := o.decDuration() - if err != nil { - return err - } - word64_Set(structPointer_Word64(base, p.field), o, uint64(d)) - return nil -} - -func (o *Buffer) dec_ref_duration(p *Properties, base structPointer) error { - d, err := o.decDuration() - if err != nil { - return err - } - word64Val_Set(structPointer_Word64Val(base, p.field), o, uint64(d)) - return nil -} - -func (o *Buffer) dec_slice_duration(p *Properties, base structPointer) error { - d, err := o.decDuration() - if err != nil { - return err - } - newBas := appendStructPointer(base, p.field, reflect.SliceOf(reflect.PtrTo(durationType))) - var zero field - setPtrCustomType(newBas, zero, &d) - return nil -} - -func (o *Buffer) dec_slice_ref_duration(p *Properties, base structPointer) error { - d, err := o.decDuration() - if err != nil { - return err - } - structPointer_Word64Slice(base, p.field).Append(uint64(d)) - return nil -} - -func size_duration(p *Properties, base structPointer) (n int) { - structp := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(structp) { - return 0 - } - dur := structPointer_Interface(structp, durationType).(*time.Duration) - d := durationProto(*dur) - size := Size(d) - return size + sizeVarint(uint64(size)) + len(p.tagcode) -} - -func (o *Buffer) enc_duration(p *Properties, base structPointer) error { - structp := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(structp) { - return ErrNil - } - dur := structPointer_Interface(structp, durationType).(*time.Duration) - d := durationProto(*dur) - data, err := Marshal(d) - if err != nil { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - return nil -} - -func size_ref_duration(p *Properties, base structPointer) (n int) { - dur := structPointer_InterfaceAt(base, p.field, durationType).(*time.Duration) - d := durationProto(*dur) - size := Size(d) - return size + sizeVarint(uint64(size)) + len(p.tagcode) -} - -func (o *Buffer) enc_ref_duration(p *Properties, base structPointer) error { - dur := structPointer_InterfaceAt(base, p.field, durationType).(*time.Duration) - d := durationProto(*dur) - data, err := Marshal(d) - if err != nil { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - return nil -} - -func size_slice_duration(p *Properties, base structPointer) (n int) { - pdurs := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(reflect.PtrTo(durationType))).(*[]*time.Duration) - durs := *pdurs - for i := 0; i < len(durs); i++ { - if durs[i] == nil { - return 0 - } - dproto := durationProto(*durs[i]) - size := Size(dproto) - n += len(p.tagcode) + size + sizeVarint(uint64(size)) - } - return n -} - -func (o *Buffer) enc_slice_duration(p *Properties, base structPointer) error { - pdurs := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(reflect.PtrTo(durationType))).(*[]*time.Duration) - durs := *pdurs - for i := 0; i < len(durs); i++ { - if durs[i] == nil { - return errRepeatedHasNil - } - dproto := durationProto(*durs[i]) - data, err := Marshal(dproto) - if err != nil { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - } - return nil -} - -func size_slice_ref_duration(p *Properties, base structPointer) (n int) { - pdurs := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(durationType)).(*[]time.Duration) - durs := *pdurs - for i := 0; i < len(durs); i++ { - dproto := durationProto(durs[i]) - size := Size(dproto) - n += len(p.tagcode) + size + sizeVarint(uint64(size)) - } - return n -} - -func (o *Buffer) enc_slice_ref_duration(p *Properties, base structPointer) error { - pdurs := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(durationType)).(*[]time.Duration) - durs := *pdurs - for i := 0; i < len(durs); i++ { - dproto := durationProto(durs[i]) - data, err := Marshal(dproto) - if err != nil { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - } - return nil -} diff --git a/vendor/github.com/gogo/protobuf/proto/encode.go b/vendor/github.com/gogo/protobuf/proto/encode.go index 8b84d1b22..3abfed2cf 100644 --- a/vendor/github.com/gogo/protobuf/proto/encode.go +++ b/vendor/github.com/gogo/protobuf/proto/encode.go @@ -37,28 +37,9 @@ package proto import ( "errors" - "fmt" "reflect" - "sort" ) -// RequiredNotSetError is the error returned if Marshal is called with -// a protocol buffer struct whose required fields have not -// all been initialized. It is also the error returned if Unmarshal is -// called with an encoded protocol buffer that does not include all the -// required fields. -// -// When printed, RequiredNotSetError reports the first unset required field in a -// message. If the field cannot be precisely determined, it is reported as -// "{Unknown}". -type RequiredNotSetError struct { - field string -} - -func (e *RequiredNotSetError) Error() string { - return fmt.Sprintf("proto: required field %q not set", e.field) -} - var ( // errRepeatedHasNil is the error returned if Marshal is called with // a struct with a repeated field containing a nil element. @@ -82,10 +63,6 @@ var ( const maxVarintBytes = 10 // maximum length of a varint -// maxMarshalSize is the largest allowed size of an encoded protobuf, -// since C++ and Java use signed int32s for the size. -const maxMarshalSize = 1<<31 - 1 - // EncodeVarint returns the varint encoding of x. // This is the format for the // int32, int64, uint32, uint64, bool, and enum @@ -119,18 +96,27 @@ func (p *Buffer) EncodeVarint(x uint64) error { // SizeVarint returns the varint encoding size of an integer. func SizeVarint(x uint64) int { - return sizeVarint(x) -} - -func sizeVarint(x uint64) (n int) { - for { - n++ - x >>= 7 - if x == 0 { - break - } + switch { + case x < 1<<7: + return 1 + case x < 1<<14: + return 2 + case x < 1<<21: + return 3 + case x < 1<<28: + return 4 + case x < 1<<35: + return 5 + case x < 1<<42: + return 6 + case x < 1<<49: + return 7 + case x < 1<<56: + return 8 + case x < 1<<63: + return 9 } - return n + return 10 } // EncodeFixed64 writes a 64-bit integer to the Buffer. @@ -149,10 +135,6 @@ func (p *Buffer) EncodeFixed64(x uint64) error { return nil } -func sizeFixed64(x uint64) int { - return 8 -} - // EncodeFixed32 writes a 32-bit integer to the Buffer. // This is the format for the // fixed32, sfixed32, and float protocol buffer types. @@ -165,20 +147,12 @@ func (p *Buffer) EncodeFixed32(x uint64) error { return nil } -func sizeFixed32(x uint64) int { - return 4 -} - // EncodeZigzag64 writes a zigzag-encoded 64-bit integer // to the Buffer. // This is the format used for the sint64 protocol buffer type. func (p *Buffer) EncodeZigzag64(x uint64) error { // use signed number to get arithmetic right shift. - return p.EncodeVarint((x << 1) ^ uint64((int64(x) >> 63))) -} - -func sizeZigzag64(x uint64) int { - return sizeVarint((x << 1) ^ uint64((int64(x) >> 63))) + return p.EncodeVarint(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } // EncodeZigzag32 writes a zigzag-encoded 32-bit integer @@ -189,10 +163,6 @@ func (p *Buffer) EncodeZigzag32(x uint64) error { return p.EncodeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31)))) } -func sizeZigzag32(x uint64) int { - return sizeVarint(uint64((uint32(x) << 1) ^ uint32((int32(x) >> 31)))) -} - // EncodeRawBytes writes a count-delimited byte buffer to the Buffer. // This is the format used for the bytes protocol buffer // type and for embedded messages. @@ -202,11 +172,6 @@ func (p *Buffer) EncodeRawBytes(b []byte) error { return nil } -func sizeRawBytes(b []byte) int { - return sizeVarint(uint64(len(b))) + - len(b) -} - // EncodeStringBytes writes an encoded string to the Buffer. // This is the format used for the proto2 string type. func (p *Buffer) EncodeStringBytes(s string) error { @@ -215,319 +180,17 @@ func (p *Buffer) EncodeStringBytes(s string) error { return nil } -func sizeStringBytes(s string) int { - return sizeVarint(uint64(len(s))) + - len(s) -} - // Marshaler is the interface representing objects that can marshal themselves. type Marshaler interface { Marshal() ([]byte, error) } -// Marshal takes the protocol buffer -// and encodes it into the wire format, returning the data. -func Marshal(pb Message) ([]byte, error) { - // Can the object marshal itself? - if m, ok := pb.(Marshaler); ok { - return m.Marshal() - } - p := NewBuffer(nil) - err := p.Marshal(pb) - if p.buf == nil && err == nil { - // Return a non-nil slice on success. - return []byte{}, nil - } - return p.buf, err -} - // EncodeMessage writes the protocol buffer to the Buffer, // prefixed by a varint-encoded length. func (p *Buffer) EncodeMessage(pb Message) error { - t, base, err := getbase(pb) - if structPointer_IsNil(base) { - return ErrNil - } - if err == nil { - var state errorState - err = p.enc_len_struct(GetProperties(t.Elem()), base, &state) - } - return err -} - -// Marshal takes the protocol buffer -// and encodes it into the wire format, writing the result to the -// Buffer. -func (p *Buffer) Marshal(pb Message) error { - // Can the object marshal itself? - if m, ok := pb.(Marshaler); ok { - data, err := m.Marshal() - p.buf = append(p.buf, data...) - return err - } - - t, base, err := getbase(pb) - if structPointer_IsNil(base) { - return ErrNil - } - if err == nil { - err = p.enc_struct(GetProperties(t.Elem()), base) - } - - if collectStats { - (stats).Encode++ // Parens are to work around a goimports bug. - } - - if len(p.buf) > maxMarshalSize { - return ErrTooLarge - } - return err -} - -// Size returns the encoded size of a protocol buffer. -func Size(pb Message) (n int) { - // Can the object marshal itself? If so, Size is slow. - // TODO: add Size to Marshaler, or add a Sizer interface. - if m, ok := pb.(Marshaler); ok { - b, _ := m.Marshal() - return len(b) - } - - t, base, err := getbase(pb) - if structPointer_IsNil(base) { - return 0 - } - if err == nil { - n = size_struct(GetProperties(t.Elem()), base) - } - - if collectStats { - (stats).Size++ // Parens are to work around a goimports bug. - } - - return -} - -// Individual type encoders. - -// Encode a bool. -func (o *Buffer) enc_bool(p *Properties, base structPointer) error { - v := *structPointer_Bool(base, p.field) - if v == nil { - return ErrNil - } - x := 0 - if *v { - x = 1 - } - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, uint64(x)) - return nil -} - -func (o *Buffer) enc_proto3_bool(p *Properties, base structPointer) error { - v := *structPointer_BoolVal(base, p.field) - if !v { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, 1) - return nil -} - -func size_bool(p *Properties, base structPointer) int { - v := *structPointer_Bool(base, p.field) - if v == nil { - return 0 - } - return len(p.tagcode) + 1 // each bool takes exactly one byte -} - -func size_proto3_bool(p *Properties, base structPointer) int { - v := *structPointer_BoolVal(base, p.field) - if !v && !p.oneof { - return 0 - } - return len(p.tagcode) + 1 // each bool takes exactly one byte -} - -// Encode an int32. -func (o *Buffer) enc_int32(p *Properties, base structPointer) error { - v := structPointer_Word32(base, p.field) - if word32_IsNil(v) { - return ErrNil - } - x := int32(word32_Get(v)) // permit sign extension to use full 64-bit range - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, uint64(x)) - return nil -} - -func (o *Buffer) enc_proto3_int32(p *Properties, base structPointer) error { - v := structPointer_Word32Val(base, p.field) - x := int32(word32Val_Get(v)) // permit sign extension to use full 64-bit range - if x == 0 { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, uint64(x)) - return nil -} - -func size_int32(p *Properties, base structPointer) (n int) { - v := structPointer_Word32(base, p.field) - if word32_IsNil(v) { - return 0 - } - x := int32(word32_Get(v)) // permit sign extension to use full 64-bit range - n += len(p.tagcode) - n += p.valSize(uint64(x)) - return -} - -func size_proto3_int32(p *Properties, base structPointer) (n int) { - v := structPointer_Word32Val(base, p.field) - x := int32(word32Val_Get(v)) // permit sign extension to use full 64-bit range - if x == 0 && !p.oneof { - return 0 - } - n += len(p.tagcode) - n += p.valSize(uint64(x)) - return -} - -// Encode a uint32. -// Exactly the same as int32, except for no sign extension. -func (o *Buffer) enc_uint32(p *Properties, base structPointer) error { - v := structPointer_Word32(base, p.field) - if word32_IsNil(v) { - return ErrNil - } - x := word32_Get(v) - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, uint64(x)) - return nil -} - -func (o *Buffer) enc_proto3_uint32(p *Properties, base structPointer) error { - v := structPointer_Word32Val(base, p.field) - x := word32Val_Get(v) - if x == 0 { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, uint64(x)) - return nil -} - -func size_uint32(p *Properties, base structPointer) (n int) { - v := structPointer_Word32(base, p.field) - if word32_IsNil(v) { - return 0 - } - x := word32_Get(v) - n += len(p.tagcode) - n += p.valSize(uint64(x)) - return -} - -func size_proto3_uint32(p *Properties, base structPointer) (n int) { - v := structPointer_Word32Val(base, p.field) - x := word32Val_Get(v) - if x == 0 && !p.oneof { - return 0 - } - n += len(p.tagcode) - n += p.valSize(uint64(x)) - return -} - -// Encode an int64. -func (o *Buffer) enc_int64(p *Properties, base structPointer) error { - v := structPointer_Word64(base, p.field) - if word64_IsNil(v) { - return ErrNil - } - x := word64_Get(v) - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, x) - return nil -} - -func (o *Buffer) enc_proto3_int64(p *Properties, base structPointer) error { - v := structPointer_Word64Val(base, p.field) - x := word64Val_Get(v) - if x == 0 { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, x) - return nil -} - -func size_int64(p *Properties, base structPointer) (n int) { - v := structPointer_Word64(base, p.field) - if word64_IsNil(v) { - return 0 - } - x := word64_Get(v) - n += len(p.tagcode) - n += p.valSize(x) - return -} - -func size_proto3_int64(p *Properties, base structPointer) (n int) { - v := structPointer_Word64Val(base, p.field) - x := word64Val_Get(v) - if x == 0 && !p.oneof { - return 0 - } - n += len(p.tagcode) - n += p.valSize(x) - return -} - -// Encode a string. -func (o *Buffer) enc_string(p *Properties, base structPointer) error { - v := *structPointer_String(base, p.field) - if v == nil { - return ErrNil - } - x := *v - o.buf = append(o.buf, p.tagcode...) - o.EncodeStringBytes(x) - return nil -} - -func (o *Buffer) enc_proto3_string(p *Properties, base structPointer) error { - v := *structPointer_StringVal(base, p.field) - if v == "" { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeStringBytes(v) - return nil -} - -func size_string(p *Properties, base structPointer) (n int) { - v := *structPointer_String(base, p.field) - if v == nil { - return 0 - } - x := *v - n += len(p.tagcode) - n += sizeStringBytes(x) - return -} - -func size_proto3_string(p *Properties, base structPointer) (n int) { - v := *structPointer_StringVal(base, p.field) - if v == "" && !p.oneof { - return 0 - } - n += len(p.tagcode) - n += sizeStringBytes(v) - return + siz := Size(pb) + p.EncodeVarint(uint64(siz)) + return p.Marshal(pb) } // All protocol buffer fields are nillable, but be careful. @@ -538,825 +201,3 @@ func isNil(v reflect.Value) bool { } return false } - -// Encode a message struct. -func (o *Buffer) enc_struct_message(p *Properties, base structPointer) error { - var state errorState - structp := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(structp) { - return ErrNil - } - - // Can the object marshal itself? - if p.isMarshaler { - m := structPointer_Interface(structp, p.stype).(Marshaler) - data, err := m.Marshal() - if err != nil && !state.shouldContinue(err, nil) { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - return state.err - } - - o.buf = append(o.buf, p.tagcode...) - return o.enc_len_struct(p.sprop, structp, &state) -} - -func size_struct_message(p *Properties, base structPointer) int { - structp := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(structp) { - return 0 - } - - // Can the object marshal itself? - if p.isMarshaler { - m := structPointer_Interface(structp, p.stype).(Marshaler) - data, _ := m.Marshal() - n0 := len(p.tagcode) - n1 := sizeRawBytes(data) - return n0 + n1 - } - - n0 := len(p.tagcode) - n1 := size_struct(p.sprop, structp) - n2 := sizeVarint(uint64(n1)) // size of encoded length - return n0 + n1 + n2 -} - -// Encode a group struct. -func (o *Buffer) enc_struct_group(p *Properties, base structPointer) error { - var state errorState - b := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(b) { - return ErrNil - } - - o.EncodeVarint(uint64((p.Tag << 3) | WireStartGroup)) - err := o.enc_struct(p.sprop, b) - if err != nil && !state.shouldContinue(err, nil) { - return err - } - o.EncodeVarint(uint64((p.Tag << 3) | WireEndGroup)) - return state.err -} - -func size_struct_group(p *Properties, base structPointer) (n int) { - b := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(b) { - return 0 - } - - n += sizeVarint(uint64((p.Tag << 3) | WireStartGroup)) - n += size_struct(p.sprop, b) - n += sizeVarint(uint64((p.Tag << 3) | WireEndGroup)) - return -} - -// Encode a slice of bools ([]bool). -func (o *Buffer) enc_slice_bool(p *Properties, base structPointer) error { - s := *structPointer_BoolSlice(base, p.field) - l := len(s) - if l == 0 { - return ErrNil - } - for _, x := range s { - o.buf = append(o.buf, p.tagcode...) - v := uint64(0) - if x { - v = 1 - } - p.valEnc(o, v) - } - return nil -} - -func size_slice_bool(p *Properties, base structPointer) int { - s := *structPointer_BoolSlice(base, p.field) - l := len(s) - if l == 0 { - return 0 - } - return l * (len(p.tagcode) + 1) // each bool takes exactly one byte -} - -// Encode a slice of bools ([]bool) in packed format. -func (o *Buffer) enc_slice_packed_bool(p *Properties, base structPointer) error { - s := *structPointer_BoolSlice(base, p.field) - l := len(s) - if l == 0 { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeVarint(uint64(l)) // each bool takes exactly one byte - for _, x := range s { - v := uint64(0) - if x { - v = 1 - } - p.valEnc(o, v) - } - return nil -} - -func size_slice_packed_bool(p *Properties, base structPointer) (n int) { - s := *structPointer_BoolSlice(base, p.field) - l := len(s) - if l == 0 { - return 0 - } - n += len(p.tagcode) - n += sizeVarint(uint64(l)) - n += l // each bool takes exactly one byte - return -} - -// Encode a slice of bytes ([]byte). -func (o *Buffer) enc_slice_byte(p *Properties, base structPointer) error { - s := *structPointer_Bytes(base, p.field) - if s == nil { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(s) - return nil -} - -func (o *Buffer) enc_proto3_slice_byte(p *Properties, base structPointer) error { - s := *structPointer_Bytes(base, p.field) - if len(s) == 0 { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(s) - return nil -} - -func size_slice_byte(p *Properties, base structPointer) (n int) { - s := *structPointer_Bytes(base, p.field) - if s == nil && !p.oneof { - return 0 - } - n += len(p.tagcode) - n += sizeRawBytes(s) - return -} - -func size_proto3_slice_byte(p *Properties, base structPointer) (n int) { - s := *structPointer_Bytes(base, p.field) - if len(s) == 0 && !p.oneof { - return 0 - } - n += len(p.tagcode) - n += sizeRawBytes(s) - return -} - -// Encode a slice of int32s ([]int32). -func (o *Buffer) enc_slice_int32(p *Properties, base structPointer) error { - s := structPointer_Word32Slice(base, p.field) - l := s.Len() - if l == 0 { - return ErrNil - } - for i := 0; i < l; i++ { - o.buf = append(o.buf, p.tagcode...) - x := int32(s.Index(i)) // permit sign extension to use full 64-bit range - p.valEnc(o, uint64(x)) - } - return nil -} - -func size_slice_int32(p *Properties, base structPointer) (n int) { - s := structPointer_Word32Slice(base, p.field) - l := s.Len() - if l == 0 { - return 0 - } - for i := 0; i < l; i++ { - n += len(p.tagcode) - x := int32(s.Index(i)) // permit sign extension to use full 64-bit range - n += p.valSize(uint64(x)) - } - return -} - -// Encode a slice of int32s ([]int32) in packed format. -func (o *Buffer) enc_slice_packed_int32(p *Properties, base structPointer) error { - s := structPointer_Word32Slice(base, p.field) - l := s.Len() - if l == 0 { - return ErrNil - } - // TODO: Reuse a Buffer. - buf := NewBuffer(nil) - for i := 0; i < l; i++ { - x := int32(s.Index(i)) // permit sign extension to use full 64-bit range - p.valEnc(buf, uint64(x)) - } - - o.buf = append(o.buf, p.tagcode...) - o.EncodeVarint(uint64(len(buf.buf))) - o.buf = append(o.buf, buf.buf...) - return nil -} - -func size_slice_packed_int32(p *Properties, base structPointer) (n int) { - s := structPointer_Word32Slice(base, p.field) - l := s.Len() - if l == 0 { - return 0 - } - var bufSize int - for i := 0; i < l; i++ { - x := int32(s.Index(i)) // permit sign extension to use full 64-bit range - bufSize += p.valSize(uint64(x)) - } - - n += len(p.tagcode) - n += sizeVarint(uint64(bufSize)) - n += bufSize - return -} - -// Encode a slice of uint32s ([]uint32). -// Exactly the same as int32, except for no sign extension. -func (o *Buffer) enc_slice_uint32(p *Properties, base structPointer) error { - s := structPointer_Word32Slice(base, p.field) - l := s.Len() - if l == 0 { - return ErrNil - } - for i := 0; i < l; i++ { - o.buf = append(o.buf, p.tagcode...) - x := s.Index(i) - p.valEnc(o, uint64(x)) - } - return nil -} - -func size_slice_uint32(p *Properties, base structPointer) (n int) { - s := structPointer_Word32Slice(base, p.field) - l := s.Len() - if l == 0 { - return 0 - } - for i := 0; i < l; i++ { - n += len(p.tagcode) - x := s.Index(i) - n += p.valSize(uint64(x)) - } - return -} - -// Encode a slice of uint32s ([]uint32) in packed format. -// Exactly the same as int32, except for no sign extension. -func (o *Buffer) enc_slice_packed_uint32(p *Properties, base structPointer) error { - s := structPointer_Word32Slice(base, p.field) - l := s.Len() - if l == 0 { - return ErrNil - } - // TODO: Reuse a Buffer. - buf := NewBuffer(nil) - for i := 0; i < l; i++ { - p.valEnc(buf, uint64(s.Index(i))) - } - - o.buf = append(o.buf, p.tagcode...) - o.EncodeVarint(uint64(len(buf.buf))) - o.buf = append(o.buf, buf.buf...) - return nil -} - -func size_slice_packed_uint32(p *Properties, base structPointer) (n int) { - s := structPointer_Word32Slice(base, p.field) - l := s.Len() - if l == 0 { - return 0 - } - var bufSize int - for i := 0; i < l; i++ { - bufSize += p.valSize(uint64(s.Index(i))) - } - - n += len(p.tagcode) - n += sizeVarint(uint64(bufSize)) - n += bufSize - return -} - -// Encode a slice of int64s ([]int64). -func (o *Buffer) enc_slice_int64(p *Properties, base structPointer) error { - s := structPointer_Word64Slice(base, p.field) - l := s.Len() - if l == 0 { - return ErrNil - } - for i := 0; i < l; i++ { - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, s.Index(i)) - } - return nil -} - -func size_slice_int64(p *Properties, base structPointer) (n int) { - s := structPointer_Word64Slice(base, p.field) - l := s.Len() - if l == 0 { - return 0 - } - for i := 0; i < l; i++ { - n += len(p.tagcode) - n += p.valSize(s.Index(i)) - } - return -} - -// Encode a slice of int64s ([]int64) in packed format. -func (o *Buffer) enc_slice_packed_int64(p *Properties, base structPointer) error { - s := structPointer_Word64Slice(base, p.field) - l := s.Len() - if l == 0 { - return ErrNil - } - // TODO: Reuse a Buffer. - buf := NewBuffer(nil) - for i := 0; i < l; i++ { - p.valEnc(buf, s.Index(i)) - } - - o.buf = append(o.buf, p.tagcode...) - o.EncodeVarint(uint64(len(buf.buf))) - o.buf = append(o.buf, buf.buf...) - return nil -} - -func size_slice_packed_int64(p *Properties, base structPointer) (n int) { - s := structPointer_Word64Slice(base, p.field) - l := s.Len() - if l == 0 { - return 0 - } - var bufSize int - for i := 0; i < l; i++ { - bufSize += p.valSize(s.Index(i)) - } - - n += len(p.tagcode) - n += sizeVarint(uint64(bufSize)) - n += bufSize - return -} - -// Encode a slice of slice of bytes ([][]byte). -func (o *Buffer) enc_slice_slice_byte(p *Properties, base structPointer) error { - ss := *structPointer_BytesSlice(base, p.field) - l := len(ss) - if l == 0 { - return ErrNil - } - for i := 0; i < l; i++ { - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(ss[i]) - } - return nil -} - -func size_slice_slice_byte(p *Properties, base structPointer) (n int) { - ss := *structPointer_BytesSlice(base, p.field) - l := len(ss) - if l == 0 { - return 0 - } - n += l * len(p.tagcode) - for i := 0; i < l; i++ { - n += sizeRawBytes(ss[i]) - } - return -} - -// Encode a slice of strings ([]string). -func (o *Buffer) enc_slice_string(p *Properties, base structPointer) error { - ss := *structPointer_StringSlice(base, p.field) - l := len(ss) - for i := 0; i < l; i++ { - o.buf = append(o.buf, p.tagcode...) - o.EncodeStringBytes(ss[i]) - } - return nil -} - -func size_slice_string(p *Properties, base structPointer) (n int) { - ss := *structPointer_StringSlice(base, p.field) - l := len(ss) - n += l * len(p.tagcode) - for i := 0; i < l; i++ { - n += sizeStringBytes(ss[i]) - } - return -} - -// Encode a slice of message structs ([]*struct). -func (o *Buffer) enc_slice_struct_message(p *Properties, base structPointer) error { - var state errorState - s := structPointer_StructPointerSlice(base, p.field) - l := s.Len() - - for i := 0; i < l; i++ { - structp := s.Index(i) - if structPointer_IsNil(structp) { - return errRepeatedHasNil - } - - // Can the object marshal itself? - if p.isMarshaler { - m := structPointer_Interface(structp, p.stype).(Marshaler) - data, err := m.Marshal() - if err != nil && !state.shouldContinue(err, nil) { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - continue - } - - o.buf = append(o.buf, p.tagcode...) - err := o.enc_len_struct(p.sprop, structp, &state) - if err != nil && !state.shouldContinue(err, nil) { - if err == ErrNil { - return errRepeatedHasNil - } - return err - } - } - return state.err -} - -func size_slice_struct_message(p *Properties, base structPointer) (n int) { - s := structPointer_StructPointerSlice(base, p.field) - l := s.Len() - n += l * len(p.tagcode) - for i := 0; i < l; i++ { - structp := s.Index(i) - if structPointer_IsNil(structp) { - return // return the size up to this point - } - - // Can the object marshal itself? - if p.isMarshaler { - m := structPointer_Interface(structp, p.stype).(Marshaler) - data, _ := m.Marshal() - n += sizeRawBytes(data) - continue - } - - n0 := size_struct(p.sprop, structp) - n1 := sizeVarint(uint64(n0)) // size of encoded length - n += n0 + n1 - } - return -} - -// Encode a slice of group structs ([]*struct). -func (o *Buffer) enc_slice_struct_group(p *Properties, base structPointer) error { - var state errorState - s := structPointer_StructPointerSlice(base, p.field) - l := s.Len() - - for i := 0; i < l; i++ { - b := s.Index(i) - if structPointer_IsNil(b) { - return errRepeatedHasNil - } - - o.EncodeVarint(uint64((p.Tag << 3) | WireStartGroup)) - - err := o.enc_struct(p.sprop, b) - - if err != nil && !state.shouldContinue(err, nil) { - if err == ErrNil { - return errRepeatedHasNil - } - return err - } - - o.EncodeVarint(uint64((p.Tag << 3) | WireEndGroup)) - } - return state.err -} - -func size_slice_struct_group(p *Properties, base structPointer) (n int) { - s := structPointer_StructPointerSlice(base, p.field) - l := s.Len() - - n += l * sizeVarint(uint64((p.Tag<<3)|WireStartGroup)) - n += l * sizeVarint(uint64((p.Tag<<3)|WireEndGroup)) - for i := 0; i < l; i++ { - b := s.Index(i) - if structPointer_IsNil(b) { - return // return size up to this point - } - - n += size_struct(p.sprop, b) - } - return -} - -// Encode an extension map. -func (o *Buffer) enc_map(p *Properties, base structPointer) error { - exts := structPointer_ExtMap(base, p.field) - if err := encodeExtensionsMap(*exts); err != nil { - return err - } - - return o.enc_map_body(*exts) -} - -func (o *Buffer) enc_exts(p *Properties, base structPointer) error { - exts := structPointer_Extensions(base, p.field) - - v, mu := exts.extensionsRead() - if v == nil { - return nil - } - - mu.Lock() - defer mu.Unlock() - if err := encodeExtensionsMap(v); err != nil { - return err - } - - return o.enc_map_body(v) -} - -func (o *Buffer) enc_map_body(v map[int32]Extension) error { - // Fast-path for common cases: zero or one extensions. - if len(v) <= 1 { - for _, e := range v { - o.buf = append(o.buf, e.enc...) - } - return nil - } - - // Sort keys to provide a deterministic encoding. - keys := make([]int, 0, len(v)) - for k := range v { - keys = append(keys, int(k)) - } - sort.Ints(keys) - - for _, k := range keys { - o.buf = append(o.buf, v[int32(k)].enc...) - } - return nil -} - -func size_map(p *Properties, base structPointer) int { - v := structPointer_ExtMap(base, p.field) - return extensionsMapSize(*v) -} - -func size_exts(p *Properties, base structPointer) int { - v := structPointer_Extensions(base, p.field) - return extensionsSize(v) -} - -// Encode a map field. -func (o *Buffer) enc_new_map(p *Properties, base structPointer) error { - var state errorState // XXX: or do we need to plumb this through? - - /* - A map defined as - map map_field = N; - is encoded in the same way as - message MapFieldEntry { - key_type key = 1; - value_type value = 2; - } - repeated MapFieldEntry map_field = N; - */ - - v := structPointer_NewAt(base, p.field, p.mtype).Elem() // map[K]V - if v.Len() == 0 { - return nil - } - - keycopy, valcopy, keybase, valbase := mapEncodeScratch(p.mtype) - - enc := func() error { - if err := p.mkeyprop.enc(o, p.mkeyprop, keybase); err != nil { - return err - } - if err := p.mvalprop.enc(o, p.mvalprop, valbase); err != nil && err != ErrNil { - return err - } - return nil - } - - // Don't sort map keys. It is not required by the spec, and C++ doesn't do it. - for _, key := range v.MapKeys() { - val := v.MapIndex(key) - - keycopy.Set(key) - valcopy.Set(val) - - o.buf = append(o.buf, p.tagcode...) - if err := o.enc_len_thing(enc, &state); err != nil { - return err - } - } - return nil -} - -func size_new_map(p *Properties, base structPointer) int { - v := structPointer_NewAt(base, p.field, p.mtype).Elem() // map[K]V - - keycopy, valcopy, keybase, valbase := mapEncodeScratch(p.mtype) - - n := 0 - for _, key := range v.MapKeys() { - val := v.MapIndex(key) - keycopy.Set(key) - valcopy.Set(val) - - // Tag codes for key and val are the responsibility of the sub-sizer. - keysize := p.mkeyprop.size(p.mkeyprop, keybase) - valsize := p.mvalprop.size(p.mvalprop, valbase) - entry := keysize + valsize - // Add on tag code and length of map entry itself. - n += len(p.tagcode) + sizeVarint(uint64(entry)) + entry - } - return n -} - -// mapEncodeScratch returns a new reflect.Value matching the map's value type, -// and a structPointer suitable for passing to an encoder or sizer. -func mapEncodeScratch(mapType reflect.Type) (keycopy, valcopy reflect.Value, keybase, valbase structPointer) { - // Prepare addressable doubly-indirect placeholders for the key and value types. - // This is needed because the element-type encoders expect **T, but the map iteration produces T. - - keycopy = reflect.New(mapType.Key()).Elem() // addressable K - keyptr := reflect.New(reflect.PtrTo(keycopy.Type())).Elem() // addressable *K - keyptr.Set(keycopy.Addr()) // - keybase = toStructPointer(keyptr.Addr()) // **K - - // Value types are more varied and require special handling. - switch mapType.Elem().Kind() { - case reflect.Slice: - // []byte - var dummy []byte - valcopy = reflect.ValueOf(&dummy).Elem() // addressable []byte - valbase = toStructPointer(valcopy.Addr()) - case reflect.Ptr: - // message; the generated field type is map[K]*Msg (so V is *Msg), - // so we only need one level of indirection. - valcopy = reflect.New(mapType.Elem()).Elem() // addressable V - valbase = toStructPointer(valcopy.Addr()) - default: - // everything else - valcopy = reflect.New(mapType.Elem()).Elem() // addressable V - valptr := reflect.New(reflect.PtrTo(valcopy.Type())).Elem() // addressable *V - valptr.Set(valcopy.Addr()) // - valbase = toStructPointer(valptr.Addr()) // **V - } - return -} - -// Encode a struct. -func (o *Buffer) enc_struct(prop *StructProperties, base structPointer) error { - var state errorState - // Encode fields in tag order so that decoders may use optimizations - // that depend on the ordering. - // https://developers.google.com/protocol-buffers/docs/encoding#order - for _, i := range prop.order { - p := prop.Prop[i] - if p.enc != nil { - err := p.enc(o, p, base) - if err != nil { - if err == ErrNil { - if p.Required && state.err == nil { - state.err = &RequiredNotSetError{p.Name} - } - } else if err == errRepeatedHasNil { - // Give more context to nil values in repeated fields. - return errors.New("repeated field " + p.OrigName + " has nil element") - } else if !state.shouldContinue(err, p) { - return err - } - } - if len(o.buf) > maxMarshalSize { - return ErrTooLarge - } - } - } - - // Do oneof fields. - if prop.oneofMarshaler != nil { - m := structPointer_Interface(base, prop.stype).(Message) - if err := prop.oneofMarshaler(m, o); err == ErrNil { - return errOneofHasNil - } else if err != nil { - return err - } - } - - // Add unrecognized fields at the end. - if prop.unrecField.IsValid() { - v := *structPointer_Bytes(base, prop.unrecField) - if len(o.buf)+len(v) > maxMarshalSize { - return ErrTooLarge - } - if len(v) > 0 { - o.buf = append(o.buf, v...) - } - } - - return state.err -} - -func size_struct(prop *StructProperties, base structPointer) (n int) { - for _, i := range prop.order { - p := prop.Prop[i] - if p.size != nil { - n += p.size(p, base) - } - } - - // Add unrecognized fields at the end. - if prop.unrecField.IsValid() { - v := *structPointer_Bytes(base, prop.unrecField) - n += len(v) - } - - // Factor in any oneof fields. - if prop.oneofSizer != nil { - m := structPointer_Interface(base, prop.stype).(Message) - n += prop.oneofSizer(m) - } - - return -} - -var zeroes [20]byte // longer than any conceivable sizeVarint - -// Encode a struct, preceded by its encoded length (as a varint). -func (o *Buffer) enc_len_struct(prop *StructProperties, base structPointer, state *errorState) error { - return o.enc_len_thing(func() error { return o.enc_struct(prop, base) }, state) -} - -// Encode something, preceded by its encoded length (as a varint). -func (o *Buffer) enc_len_thing(enc func() error, state *errorState) error { - iLen := len(o.buf) - o.buf = append(o.buf, 0, 0, 0, 0) // reserve four bytes for length - iMsg := len(o.buf) - err := enc() - if err != nil && !state.shouldContinue(err, nil) { - return err - } - lMsg := len(o.buf) - iMsg - lLen := sizeVarint(uint64(lMsg)) - switch x := lLen - (iMsg - iLen); { - case x > 0: // actual length is x bytes larger than the space we reserved - // Move msg x bytes right. - o.buf = append(o.buf, zeroes[:x]...) - copy(o.buf[iMsg+x:], o.buf[iMsg:iMsg+lMsg]) - case x < 0: // actual length is x bytes smaller than the space we reserved - // Move msg x bytes left. - copy(o.buf[iMsg+x:], o.buf[iMsg:iMsg+lMsg]) - o.buf = o.buf[:len(o.buf)+x] // x is negative - } - // Encode the length in the reserved space. - o.buf = o.buf[:iLen] - o.EncodeVarint(uint64(lMsg)) - o.buf = o.buf[:len(o.buf)+lMsg] - return state.err -} - -// errorState maintains the first error that occurs and updates that error -// with additional context. -type errorState struct { - err error -} - -// shouldContinue reports whether encoding should continue upon encountering the -// given error. If the error is RequiredNotSetError, shouldContinue returns true -// and, if this is the first appearance of that error, remembers it for future -// reporting. -// -// If prop is not nil, it may update any error with additional context about the -// field with the error. -func (s *errorState) shouldContinue(err error, prop *Properties) bool { - // Ignore unset required fields. - reqNotSet, ok := err.(*RequiredNotSetError) - if !ok { - return false - } - if s.err == nil { - if prop != nil { - err = &RequiredNotSetError{prop.Name + "." + reqNotSet.field} - } - s.err = err - } - return true -} diff --git a/vendor/github.com/gogo/protobuf/proto/encode_gogo.go b/vendor/github.com/gogo/protobuf/proto/encode_gogo.go index 32111b7f4..0f5fb173e 100644 --- a/vendor/github.com/gogo/protobuf/proto/encode_gogo.go +++ b/vendor/github.com/gogo/protobuf/proto/encode_gogo.go @@ -3,11 +3,6 @@ // Copyright (c) 2013, The GoGo Authors. All rights reserved. // http://github.com/gogo/protobuf // -// Go support for Protocol Buffers - Google's data interchange format -// -// Copyright 2010 The Go Authors. All rights reserved. -// http://github.com/golang/protobuf/ -// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -18,9 +13,6 @@ // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -36,315 +28,6 @@ package proto -import ( - "reflect" -) - func NewRequiredNotSetError(field string) *RequiredNotSetError { return &RequiredNotSetError{field} } - -type Sizer interface { - Size() int -} - -func (o *Buffer) enc_ext_slice_byte(p *Properties, base structPointer) error { - s := *structPointer_Bytes(base, p.field) - if s == nil { - return ErrNil - } - o.buf = append(o.buf, s...) - return nil -} - -func size_ext_slice_byte(p *Properties, base structPointer) (n int) { - s := *structPointer_Bytes(base, p.field) - if s == nil { - return 0 - } - n += len(s) - return -} - -// Encode a reference to bool pointer. -func (o *Buffer) enc_ref_bool(p *Properties, base structPointer) error { - v := *structPointer_BoolVal(base, p.field) - x := 0 - if v { - x = 1 - } - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, uint64(x)) - return nil -} - -func size_ref_bool(p *Properties, base structPointer) int { - return len(p.tagcode) + 1 // each bool takes exactly one byte -} - -// Encode a reference to int32 pointer. -func (o *Buffer) enc_ref_int32(p *Properties, base structPointer) error { - v := structPointer_Word32Val(base, p.field) - x := int32(word32Val_Get(v)) - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, uint64(x)) - return nil -} - -func size_ref_int32(p *Properties, base structPointer) (n int) { - v := structPointer_Word32Val(base, p.field) - x := int32(word32Val_Get(v)) - n += len(p.tagcode) - n += p.valSize(uint64(x)) - return -} - -func (o *Buffer) enc_ref_uint32(p *Properties, base structPointer) error { - v := structPointer_Word32Val(base, p.field) - x := word32Val_Get(v) - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, uint64(x)) - return nil -} - -func size_ref_uint32(p *Properties, base structPointer) (n int) { - v := structPointer_Word32Val(base, p.field) - x := word32Val_Get(v) - n += len(p.tagcode) - n += p.valSize(uint64(x)) - return -} - -// Encode a reference to an int64 pointer. -func (o *Buffer) enc_ref_int64(p *Properties, base structPointer) error { - v := structPointer_Word64Val(base, p.field) - x := word64Val_Get(v) - o.buf = append(o.buf, p.tagcode...) - p.valEnc(o, x) - return nil -} - -func size_ref_int64(p *Properties, base structPointer) (n int) { - v := structPointer_Word64Val(base, p.field) - x := word64Val_Get(v) - n += len(p.tagcode) - n += p.valSize(x) - return -} - -// Encode a reference to a string pointer. -func (o *Buffer) enc_ref_string(p *Properties, base structPointer) error { - v := *structPointer_StringVal(base, p.field) - o.buf = append(o.buf, p.tagcode...) - o.EncodeStringBytes(v) - return nil -} - -func size_ref_string(p *Properties, base structPointer) (n int) { - v := *structPointer_StringVal(base, p.field) - n += len(p.tagcode) - n += sizeStringBytes(v) - return -} - -// Encode a reference to a message struct. -func (o *Buffer) enc_ref_struct_message(p *Properties, base structPointer) error { - var state errorState - structp := structPointer_GetRefStructPointer(base, p.field) - if structPointer_IsNil(structp) { - return ErrNil - } - - // Can the object marshal itself? - if p.isMarshaler { - m := structPointer_Interface(structp, p.stype).(Marshaler) - data, err := m.Marshal() - if err != nil && !state.shouldContinue(err, nil) { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - return nil - } - - o.buf = append(o.buf, p.tagcode...) - return o.enc_len_struct(p.sprop, structp, &state) -} - -//TODO this is only copied, please fix this -func size_ref_struct_message(p *Properties, base structPointer) int { - structp := structPointer_GetRefStructPointer(base, p.field) - if structPointer_IsNil(structp) { - return 0 - } - - // Can the object marshal itself? - if p.isMarshaler { - m := structPointer_Interface(structp, p.stype).(Marshaler) - data, _ := m.Marshal() - n0 := len(p.tagcode) - n1 := sizeRawBytes(data) - return n0 + n1 - } - - n0 := len(p.tagcode) - n1 := size_struct(p.sprop, structp) - n2 := sizeVarint(uint64(n1)) // size of encoded length - return n0 + n1 + n2 -} - -// Encode a slice of references to message struct pointers ([]struct). -func (o *Buffer) enc_slice_ref_struct_message(p *Properties, base structPointer) error { - var state errorState - ss := structPointer_StructRefSlice(base, p.field, p.stype.Size()) - l := ss.Len() - for i := 0; i < l; i++ { - structp := ss.Index(i) - if structPointer_IsNil(structp) { - return errRepeatedHasNil - } - - // Can the object marshal itself? - if p.isMarshaler { - m := structPointer_Interface(structp, p.stype).(Marshaler) - data, err := m.Marshal() - if err != nil && !state.shouldContinue(err, nil) { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - continue - } - - o.buf = append(o.buf, p.tagcode...) - err := o.enc_len_struct(p.sprop, structp, &state) - if err != nil && !state.shouldContinue(err, nil) { - if err == ErrNil { - return errRepeatedHasNil - } - return err - } - - } - return state.err -} - -//TODO this is only copied, please fix this -func size_slice_ref_struct_message(p *Properties, base structPointer) (n int) { - ss := structPointer_StructRefSlice(base, p.field, p.stype.Size()) - l := ss.Len() - n += l * len(p.tagcode) - for i := 0; i < l; i++ { - structp := ss.Index(i) - if structPointer_IsNil(structp) { - return // return the size up to this point - } - - // Can the object marshal itself? - if p.isMarshaler { - m := structPointer_Interface(structp, p.stype).(Marshaler) - data, _ := m.Marshal() - n += len(p.tagcode) - n += sizeRawBytes(data) - continue - } - - n0 := size_struct(p.sprop, structp) - n1 := sizeVarint(uint64(n0)) // size of encoded length - n += n0 + n1 - } - return -} - -func (o *Buffer) enc_custom_bytes(p *Properties, base structPointer) error { - i := structPointer_InterfaceRef(base, p.field, p.ctype) - if i == nil { - return ErrNil - } - custom := i.(Marshaler) - data, err := custom.Marshal() - if err != nil { - return err - } - if data == nil { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - return nil -} - -func size_custom_bytes(p *Properties, base structPointer) (n int) { - n += len(p.tagcode) - i := structPointer_InterfaceRef(base, p.field, p.ctype) - if i == nil { - return 0 - } - custom := i.(Marshaler) - data, _ := custom.Marshal() - n += sizeRawBytes(data) - return -} - -func (o *Buffer) enc_custom_ref_bytes(p *Properties, base structPointer) error { - custom := structPointer_InterfaceAt(base, p.field, p.ctype).(Marshaler) - data, err := custom.Marshal() - if err != nil { - return err - } - if data == nil { - return ErrNil - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - return nil -} - -func size_custom_ref_bytes(p *Properties, base structPointer) (n int) { - n += len(p.tagcode) - i := structPointer_InterfaceAt(base, p.field, p.ctype) - if i == nil { - return 0 - } - custom := i.(Marshaler) - data, _ := custom.Marshal() - n += sizeRawBytes(data) - return -} - -func (o *Buffer) enc_custom_slice_bytes(p *Properties, base structPointer) error { - inter := structPointer_InterfaceRef(base, p.field, p.ctype) - if inter == nil { - return ErrNil - } - slice := reflect.ValueOf(inter) - l := slice.Len() - for i := 0; i < l; i++ { - v := slice.Index(i) - custom := v.Interface().(Marshaler) - data, err := custom.Marshal() - if err != nil { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - } - return nil -} - -func size_custom_slice_bytes(p *Properties, base structPointer) (n int) { - inter := structPointer_InterfaceRef(base, p.field, p.ctype) - if inter == nil { - return 0 - } - slice := reflect.ValueOf(inter) - l := slice.Len() - n += l * len(p.tagcode) - for i := 0; i < l; i++ { - v := slice.Index(i) - custom := v.Interface().(Marshaler) - data, _ := custom.Marshal() - n += sizeRawBytes(data) - } - return -} diff --git a/vendor/github.com/gogo/protobuf/proto/equal.go b/vendor/github.com/gogo/protobuf/proto/equal.go index 2ed1cf596..d4db5a1c1 100644 --- a/vendor/github.com/gogo/protobuf/proto/equal.go +++ b/vendor/github.com/gogo/protobuf/proto/equal.go @@ -109,15 +109,6 @@ func equalStruct(v1, v2 reflect.Value) bool { // set/unset mismatch return false } - b1, ok := f1.Interface().(raw) - if ok { - b2 := f2.Interface().(raw) - // RawMessage - if !bytes.Equal(b1.Bytes(), b2.Bytes()) { - return false - } - continue - } f1, f2 = f1.Elem(), f2.Elem() } if !equalAny(f1, f2, sprop.Prop[i]) { @@ -146,11 +137,7 @@ func equalStruct(v1, v2 reflect.Value) bool { u1 := uf.Bytes() u2 := v2.FieldByName("XXX_unrecognized").Bytes() - if !bytes.Equal(u1, u2) { - return false - } - - return true + return bytes.Equal(u1, u2) } // v1 and v2 are known to have the same type. @@ -261,6 +248,15 @@ func equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool { m1, m2 := e1.value, e2.value + if m1 == nil && m2 == nil { + // Both have only encoded form. + if bytes.Equal(e1.enc, e2.enc) { + continue + } + // The bytes are different, but the extensions might still be + // equal. We need to decode them to compare. + } + if m1 != nil && m2 != nil { // Both are unencoded. if !equalAny(reflect.ValueOf(m1), reflect.ValueOf(m2), nil) { @@ -276,8 +272,12 @@ func equalExtMap(base reflect.Type, em1, em2 map[int32]Extension) bool { desc = m[extNum] } if desc == nil { + // If both have only encoded form and the bytes are the same, + // it is handled above. We get here when the bytes are different. + // We don't know how to decode it, so just compare them as byte + // slices. log.Printf("proto: don't know how to compare extension %d of %v", extNum, base) - continue + return false } var err error if m1 == nil { diff --git a/vendor/github.com/gogo/protobuf/proto/extensions.go b/vendor/github.com/gogo/protobuf/proto/extensions.go index 0dfcb538e..44ebd457c 100644 --- a/vendor/github.com/gogo/protobuf/proto/extensions.go +++ b/vendor/github.com/gogo/protobuf/proto/extensions.go @@ -38,6 +38,7 @@ package proto import ( "errors" "fmt" + "io" "reflect" "strconv" "sync" @@ -69,12 +70,6 @@ type extendableProtoV1 interface { ExtensionMap() map[int32]Extension } -type extensionsBytes interface { - Message - ExtensionRangeArray() []ExtensionRange - GetExtensions() *[]byte -} - // extensionAdapter is a wrapper around extendableProtoV1 that implements extendableProto. type extensionAdapter struct { extendableProtoV1 @@ -97,14 +92,31 @@ func (n notLocker) Unlock() {} // extendable returns the extendableProto interface for the given generated proto message. // If the proto message has the old extension format, it returns a wrapper that implements // the extendableProto interface. -func extendable(p interface{}) (extendableProto, bool) { - if ep, ok := p.(extendableProto); ok { - return ep, ok +func extendable(p interface{}) (extendableProto, error) { + switch p := p.(type) { + case extendableProto: + if isNilPtr(p) { + return nil, fmt.Errorf("proto: nil %T is not extendable", p) + } + return p, nil + case extendableProtoV1: + if isNilPtr(p) { + return nil, fmt.Errorf("proto: nil %T is not extendable", p) + } + return extensionAdapter{p}, nil + case extensionsBytes: + return slowExtensionAdapter{p}, nil } - if ep, ok := p.(extendableProtoV1); ok { - return extensionAdapter{ep}, ok - } - return nil, false + // Don't allocate a specific error containing %T: + // this is the hot path for Clone and MarshalText. + return nil, errNotExtendable +} + +var errNotExtendable = errors.New("proto: not an extendable proto.Message") + +func isNilPtr(x interface{}) bool { + v := reflect.ValueOf(x) + return v.Kind() == reflect.Ptr && v.IsNil() } // XXX_InternalExtensions is an internal representation of proto extensions. @@ -149,16 +161,6 @@ func (e *XXX_InternalExtensions) extensionsRead() (map[int32]Extension, sync.Loc return e.p.extensionMap, &e.p.mu } -type extensionRange interface { - Message - ExtensionRangeArray() []ExtensionRange -} - -var extendableProtoType = reflect.TypeOf((*extendableProto)(nil)).Elem() -var extendableProtoV1Type = reflect.TypeOf((*extendableProtoV1)(nil)).Elem() -var extendableBytesType = reflect.TypeOf((*extensionsBytes)(nil)).Elem() -var extensionRangeType = reflect.TypeOf((*extensionRange)(nil)).Elem() - // ExtensionDesc represents an extension specification. // Used in generated code from the protocol compiler. type ExtensionDesc struct { @@ -198,8 +200,8 @@ func SetRawExtension(base Message, id int32, b []byte) { *ext = append(*ext, b...) return } - epb, ok := extendable(base) - if !ok { + epb, err := extendable(base) + if err != nil { return } extmap := epb.extensionsWrite() @@ -207,7 +209,7 @@ func SetRawExtension(base Message, id int32, b []byte) { } // isExtensionField returns true iff the given field number is in an extension range. -func isExtensionField(pb extensionRange, field int32) bool { +func isExtensionField(pb extendableProto, field int32) bool { for _, er := range pb.ExtensionRangeArray() { if er.Start <= field && field <= er.End { return true @@ -223,8 +225,11 @@ func checkExtensionTypes(pb extendableProto, extension *ExtensionDesc) error { if ea, ok := pbi.(extensionAdapter); ok { pbi = ea.extendableProtoV1 } + if ea, ok := pbi.(slowExtensionAdapter); ok { + pbi = ea.extensionsBytes + } if a, b := reflect.TypeOf(pbi), reflect.TypeOf(extension.ExtendedType); a != b { - return errors.New("proto: bad extended type; " + b.String() + " does not extend " + a.String()) + return fmt.Errorf("proto: bad extended type; %v does not extend %v", b, a) } // Check the range. if !isExtensionField(pb, extension.Field) { @@ -269,80 +274,6 @@ func extensionProperties(ed *ExtensionDesc) *Properties { return prop } -// encode encodes any unmarshaled (unencoded) extensions in e. -func encodeExtensions(e *XXX_InternalExtensions) error { - m, mu := e.extensionsRead() - if m == nil { - return nil // fast path - } - mu.Lock() - defer mu.Unlock() - return encodeExtensionsMap(m) -} - -// encode encodes any unmarshaled (unencoded) extensions in e. -func encodeExtensionsMap(m map[int32]Extension) error { - for k, e := range m { - if e.value == nil || e.desc == nil { - // Extension is only in its encoded form. - continue - } - - // We don't skip extensions that have an encoded form set, - // because the extension value may have been mutated after - // the last time this function was called. - - et := reflect.TypeOf(e.desc.ExtensionType) - props := extensionProperties(e.desc) - - p := NewBuffer(nil) - // If e.value has type T, the encoder expects a *struct{ X T }. - // Pass a *T with a zero field and hope it all works out. - x := reflect.New(et) - x.Elem().Set(reflect.ValueOf(e.value)) - if err := props.enc(p, props, toStructPointer(x)); err != nil { - return err - } - e.enc = p.buf - m[k] = e - } - return nil -} - -func extensionsSize(e *XXX_InternalExtensions) (n int) { - m, mu := e.extensionsRead() - if m == nil { - return 0 - } - mu.Lock() - defer mu.Unlock() - return extensionsMapSize(m) -} - -func extensionsMapSize(m map[int32]Extension) (n int) { - for _, e := range m { - if e.value == nil || e.desc == nil { - // Extension is only in its encoded form. - n += len(e.enc) - continue - } - - // We don't skip extensions that have an encoded form set, - // because the extension value may have been mutated after - // the last time this function was called. - - et := reflect.TypeOf(e.desc.ExtensionType) - props := extensionProperties(e.desc) - - // If e.value has type T, the encoder expects a *struct{ X T }. - // Pass a *T with a zero field and hope it all works out. - x := reflect.New(et) - x.Elem().Set(reflect.ValueOf(e.value)) - n += props.size(props, toStructPointer(x)) - } - return -} - // HasExtension returns whether the given extension is present in pb. func HasExtension(pb Message, extension *ExtensionDesc) bool { if epb, doki := pb.(extensionsBytes); doki { @@ -366,8 +297,8 @@ func HasExtension(pb Message, extension *ExtensionDesc) bool { return false } // TODO: Check types, field numbers, etc.? - epb, ok := extendable(pb) - if !ok { + epb, err := extendable(pb) + if err != nil { return false } extmap, mu := epb.extensionsRead() @@ -375,46 +306,26 @@ func HasExtension(pb Message, extension *ExtensionDesc) bool { return false } mu.Lock() - _, ok = extmap[extension.Field] + _, ok := extmap[extension.Field] mu.Unlock() return ok } -func deleteExtension(pb extensionsBytes, theFieldNum int32, offset int) int { - ext := pb.GetExtensions() - for offset < len(*ext) { - tag, n1 := DecodeVarint((*ext)[offset:]) - fieldNum := int32(tag >> 3) - wireType := int(tag & 0x7) - n2, err := size((*ext)[offset+n1:], wireType) - if err != nil { - panic(err) - } - newOffset := offset + n1 + n2 - if fieldNum == theFieldNum { - *ext = append((*ext)[:offset], (*ext)[newOffset:]...) - return offset - } - offset = newOffset - } - return -1 -} - // ClearExtension removes the given extension from pb. func ClearExtension(pb Message, extension *ExtensionDesc) { clearExtension(pb, extension.Field) } func clearExtension(pb Message, fieldNum int32) { - if epb, doki := pb.(extensionsBytes); doki { + if epb, ok := pb.(extensionsBytes); ok { offset := 0 for offset != -1 { offset = deleteExtension(epb, fieldNum, offset) } return } - epb, ok := extendable(pb) - if !ok { + epb, err := extendable(pb) + if err != nil { return } // TODO: Check types, field numbers, etc.? @@ -422,39 +333,33 @@ func clearExtension(pb Message, fieldNum int32) { delete(extmap, fieldNum) } -// GetExtension parses and returns the given extension of pb. -// If the extension is not present and has no default value it returns ErrMissingExtension. +// GetExtension retrieves a proto2 extended field from pb. +// +// If the descriptor is type complete (i.e., ExtensionDesc.ExtensionType is non-nil), +// then GetExtension parses the encoded field and returns a Go value of the specified type. +// If the field is not present, then the default value is returned (if one is specified), +// otherwise ErrMissingExtension is reported. +// +// If the descriptor is not type complete (i.e., ExtensionDesc.ExtensionType is nil), +// then GetExtension returns the raw encoded bytes of the field extension. func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) { if epb, doki := pb.(extensionsBytes); doki { ext := epb.GetExtensions() - o := 0 - for o < len(*ext) { - tag, n := DecodeVarint((*ext)[o:]) - fieldNum := int32(tag >> 3) - wireType := int(tag & 0x7) - l, err := size((*ext)[o+n:], wireType) - if err != nil { - return nil, err - } - if int32(fieldNum) == extension.Field { - v, err := decodeExtension((*ext)[o:o+n+l], extension) - if err != nil { - return nil, err - } - return v, nil - } - o += n + l - } - return defaultExtensionValue(extension) + return decodeExtensionFromBytes(extension, *ext) } - epb, ok := extendable(pb) - if !ok { - return nil, errors.New("proto: not an extendable proto") - } - if err := checkExtensionTypes(epb, extension); err != nil { + + epb, err := extendable(pb) + if err != nil { return nil, err } + if extension.ExtendedType != nil { + // can only check type if this is a complete descriptor + if cerr := checkExtensionTypes(epb, extension); cerr != nil { + return nil, cerr + } + } + emap, mu := epb.extensionsRead() if emap == nil { return defaultExtensionValue(extension) @@ -479,6 +384,11 @@ func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) { return e.value, nil } + if extension.ExtensionType == nil { + // incomplete descriptor + return e.enc, nil + } + v, err := decodeExtension(e.enc, extension) if err != nil { return nil, err @@ -496,6 +406,11 @@ func GetExtension(pb Message, extension *ExtensionDesc) (interface{}, error) { // defaultExtensionValue returns the default value for extension. // If no default for an extension is defined ErrMissingExtension is returned. func defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) { + if extension.ExtensionType == nil { + // incomplete descriptor, so no default + return nil, ErrMissingExtension + } + t := reflect.TypeOf(extension.ExtensionType) props := extensionProperties(extension) @@ -530,31 +445,28 @@ func defaultExtensionValue(extension *ExtensionDesc) (interface{}, error) { // decodeExtension decodes an extension encoded in b. func decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) { - o := NewBuffer(b) - t := reflect.TypeOf(extension.ExtensionType) - - props := extensionProperties(extension) + unmarshal := typeUnmarshaler(t, extension.Tag) // t is a pointer to a struct, pointer to basic type or a slice. - // Allocate a "field" to store the pointer/slice itself; the - // pointer/slice will be stored here. We pass - // the address of this field to props.dec. - // This passes a zero field and a *t and lets props.dec - // interpret it as a *struct{ x t }. + // Allocate space to store the pointer/slice. value := reflect.New(t).Elem() + var err error for { - // Discard wire type and field number varint. It isn't needed. - if _, err := o.DecodeVarint(); err != nil { + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + wire := int(x) & 7 + + b, err = unmarshal(b, valToPointer(value.Addr()), wire) + if err != nil { return nil, err } - if err := props.dec(o, props, toStructPointer(value.Addr())); err != nil { - return nil, err - } - - if o.index >= len(o.buf) { + if len(b) == 0 { break } } @@ -564,9 +476,13 @@ func decodeExtension(b []byte, extension *ExtensionDesc) (interface{}, error) { // GetExtensions returns a slice of the extensions present in pb that are also listed in es. // The returned slice has the same length as es; missing extensions will appear as nil elements. func GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, err error) { + epb, err := extendable(pb) + if err != nil { + return nil, err + } extensions = make([]interface{}, len(es)) for i, e := range es { - extensions[i], err = GetExtension(pb, e) + extensions[i], err = GetExtension(epb, e) if err == ErrMissingExtension { err = nil } @@ -581,9 +497,9 @@ func GetExtensions(pb Message, es []*ExtensionDesc) (extensions []interface{}, e // For non-registered extensions, ExtensionDescs returns an incomplete descriptor containing // just the Field field, which defines the extension's field number. func ExtensionDescs(pb Message) ([]*ExtensionDesc, error) { - epb, ok := extendable(pb) - if !ok { - return nil, fmt.Errorf("proto: %T is not an extendable proto.Message", pb) + epb, err := extendable(pb) + if err != nil { + return nil, err } registeredExtensions := RegisteredExtensions(pb) @@ -610,23 +526,18 @@ func ExtensionDescs(pb Message) ([]*ExtensionDesc, error) { // SetExtension sets the specified extension of pb to the specified value. func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error { - if epb, doki := pb.(extensionsBytes); doki { - ClearExtension(pb, extension) - ext := epb.GetExtensions() - et := reflect.TypeOf(extension.ExtensionType) - props := extensionProperties(extension) - p := NewBuffer(nil) - x := reflect.New(et) - x.Elem().Set(reflect.ValueOf(value)) - if err := props.enc(p, props, toStructPointer(x)); err != nil { + if epb, ok := pb.(extensionsBytes); ok { + newb, err := encodeExtension(extension, value) + if err != nil { return err } - *ext = append(*ext, p.buf...) + bb := epb.GetExtensions() + *bb = append(*bb, newb...) return nil } - epb, ok := extendable(pb) - if !ok { - return errors.New("proto: not an extendable proto") + epb, err := extendable(pb) + if err != nil { + return err } if err := checkExtensionTypes(epb, extension); err != nil { return err @@ -656,8 +567,8 @@ func ClearAllExtensions(pb Message) { *ext = []byte{} return } - epb, ok := extendable(pb) - if !ok { + epb, err := extendable(pb) + if err != nil { return } m := epb.extensionsWrite() diff --git a/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go b/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go index ea6478f00..53ebd8cca 100644 --- a/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go +++ b/vendor/github.com/gogo/protobuf/proto/extensions_gogo.go @@ -32,12 +32,36 @@ import ( "bytes" "errors" "fmt" + "io" "reflect" "sort" "strings" "sync" ) +type extensionsBytes interface { + Message + ExtensionRangeArray() []ExtensionRange + GetExtensions() *[]byte +} + +type slowExtensionAdapter struct { + extensionsBytes +} + +func (s slowExtensionAdapter) extensionsWrite() map[int32]Extension { + panic("Please report a bug to github.com/gogo/protobuf if you see this message: Writing extensions is not supported for extensions stored in a byte slice field.") +} + +func (s slowExtensionAdapter) extensionsRead() (map[int32]Extension, sync.Locker) { + b := s.GetExtensions() + m, err := BytesToExtensionsMap(*b) + if err != nil { + panic(err) + } + return m, notLocker{} +} + func GetBoolExtension(pb Message, extension *ExtensionDesc, ifnotset bool) bool { if reflect.ValueOf(pb).IsNil() { return ifnotset @@ -56,19 +80,28 @@ func GetBoolExtension(pb Message, extension *ExtensionDesc, ifnotset bool) bool } func (this *Extension) Equal(that *Extension) bool { + if err := this.Encode(); err != nil { + return false + } + if err := that.Encode(); err != nil { + return false + } return bytes.Equal(this.enc, that.enc) } func (this *Extension) Compare(that *Extension) int { + if err := this.Encode(); err != nil { + return 1 + } + if err := that.Encode(); err != nil { + return -1 + } return bytes.Compare(this.enc, that.enc) } func SizeOfInternalExtension(m extendableProto) (n int) { - return SizeOfExtensionMap(m.extensionsWrite()) -} - -func SizeOfExtensionMap(m map[int32]Extension) (n int) { - return extensionsMapSize(m) + info := getMarshalInfo(reflect.TypeOf(m)) + return info.sizeV1Extensions(m.extensionsWrite()) } type sortableMapElem struct { @@ -122,28 +155,26 @@ func EncodeInternalExtension(m extendableProto, data []byte) (n int, err error) } func EncodeExtensionMap(m map[int32]Extension, data []byte) (n int, err error) { - if err := encodeExtensionsMap(m); err != nil { - return 0, err + o := 0 + for _, e := range m { + if err := e.Encode(); err != nil { + return 0, err + } + n := copy(data[o:], e.enc) + if n != len(e.enc) { + return 0, io.ErrShortBuffer + } + o += n } - keys := make([]int, 0, len(m)) - for k := range m { - keys = append(keys, int(k)) - } - sort.Ints(keys) - for _, k := range keys { - n += copy(data[n:], m[int32(k)].enc) - } - return n, nil + return o, nil } func GetRawExtension(m map[int32]Extension, id int32) ([]byte, error) { - if m[id].value == nil || m[id].desc == nil { - return m[id].enc, nil - } - if err := encodeExtensionsMap(m); err != nil { + e := m[id] + if err := e.Encode(); err != nil { return nil, err } - return m[id].enc, nil + return e.enc, nil } func size(buf []byte, wire int) (int, error) { @@ -218,35 +249,58 @@ func AppendExtension(e Message, tag int32, buf []byte) { } } -func encodeExtension(e *Extension) error { - if e.value == nil || e.desc == nil { - // Extension is only in its encoded form. - return nil - } - // We don't skip extensions that have an encoded form set, - // because the extension value may have been mutated after - // the last time this function was called. +func encodeExtension(extension *ExtensionDesc, value interface{}) ([]byte, error) { + u := getMarshalInfo(reflect.TypeOf(extension.ExtendedType)) + ei := u.getExtElemInfo(extension) + v := value + p := toAddrPointer(&v, ei.isptr) + siz := ei.sizer(p, SizeVarint(ei.wiretag)) + buf := make([]byte, 0, siz) + return ei.marshaler(buf, p, ei.wiretag, false) +} - et := reflect.TypeOf(e.desc.ExtensionType) - props := extensionProperties(e.desc) - - p := NewBuffer(nil) - // If e.value has type T, the encoder expects a *struct{ X T }. - // Pass a *T with a zero field and hope it all works out. - x := reflect.New(et) - x.Elem().Set(reflect.ValueOf(e.value)) - if err := props.enc(p, props, toStructPointer(x)); err != nil { - return err +func decodeExtensionFromBytes(extension *ExtensionDesc, buf []byte) (interface{}, error) { + o := 0 + for o < len(buf) { + tag, n := DecodeVarint((buf)[o:]) + fieldNum := int32(tag >> 3) + wireType := int(tag & 0x7) + if o+n > len(buf) { + return nil, fmt.Errorf("unable to decode extension") + } + l, err := size((buf)[o+n:], wireType) + if err != nil { + return nil, err + } + if int32(fieldNum) == extension.Field { + if o+n+l > len(buf) { + return nil, fmt.Errorf("unable to decode extension") + } + v, err := decodeExtension((buf)[o:o+n+l], extension) + if err != nil { + return nil, err + } + return v, nil + } + o += n + l + } + return defaultExtensionValue(extension) +} + +func (this *Extension) Encode() error { + if this.enc == nil { + var err error + this.enc, err = encodeExtension(this.desc, this.value) + if err != nil { + return err + } } - e.enc = p.buf return nil } func (this Extension) GoString() string { - if this.enc == nil { - if err := encodeExtension(&this); err != nil { - panic(err) - } + if err := this.Encode(); err != nil { + return fmt.Sprintf("error encoding extension: %v", err) } return fmt.Sprintf("proto.NewExtension(%#v)", this.enc) } @@ -292,3 +346,23 @@ func GetUnsafeExtensionsMap(extendable Message) map[int32]Extension { pb := extendable.(extendableProto) return pb.extensionsWrite() } + +func deleteExtension(pb extensionsBytes, theFieldNum int32, offset int) int { + ext := pb.GetExtensions() + for offset < len(*ext) { + tag, n1 := DecodeVarint((*ext)[offset:]) + fieldNum := int32(tag >> 3) + wireType := int(tag & 0x7) + n2, err := size((*ext)[offset+n1:], wireType) + if err != nil { + panic(err) + } + newOffset := offset + n1 + n2 + if fieldNum == theFieldNum { + *ext = append((*ext)[:offset], (*ext)[newOffset:]...) + return offset + } + offset = newOffset + } + return -1 +} diff --git a/vendor/github.com/gogo/protobuf/proto/lib.go b/vendor/github.com/gogo/protobuf/proto/lib.go index c98d73da4..b2271d0b7 100644 --- a/vendor/github.com/gogo/protobuf/proto/lib.go +++ b/vendor/github.com/gogo/protobuf/proto/lib.go @@ -273,6 +273,67 @@ import ( "sync" ) +// RequiredNotSetError is an error type returned by either Marshal or Unmarshal. +// Marshal reports this when a required field is not initialized. +// Unmarshal reports this when a required field is missing from the wire data. +type RequiredNotSetError struct{ field string } + +func (e *RequiredNotSetError) Error() string { + if e.field == "" { + return fmt.Sprintf("proto: required field not set") + } + return fmt.Sprintf("proto: required field %q not set", e.field) +} +func (e *RequiredNotSetError) RequiredNotSet() bool { + return true +} + +type invalidUTF8Error struct{ field string } + +func (e *invalidUTF8Error) Error() string { + if e.field == "" { + return "proto: invalid UTF-8 detected" + } + return fmt.Sprintf("proto: field %q contains invalid UTF-8", e.field) +} +func (e *invalidUTF8Error) InvalidUTF8() bool { + return true +} + +// errInvalidUTF8 is a sentinel error to identify fields with invalid UTF-8. +// This error should not be exposed to the external API as such errors should +// be recreated with the field information. +var errInvalidUTF8 = &invalidUTF8Error{} + +// isNonFatal reports whether the error is either a RequiredNotSet error +// or a InvalidUTF8 error. +func isNonFatal(err error) bool { + if re, ok := err.(interface{ RequiredNotSet() bool }); ok && re.RequiredNotSet() { + return true + } + if re, ok := err.(interface{ InvalidUTF8() bool }); ok && re.InvalidUTF8() { + return true + } + return false +} + +type nonFatal struct{ E error } + +// Merge merges err into nf and reports whether it was successful. +// Otherwise it returns false for any fatal non-nil errors. +func (nf *nonFatal) Merge(err error) (ok bool) { + if err == nil { + return true // not an error + } + if !isNonFatal(err) { + return false // fatal error + } + if nf.E == nil { + nf.E = err // store first instance of non-fatal error + } + return true +} + // Message is implemented by generated protocol buffer messages. type Message interface { Reset() @@ -309,16 +370,7 @@ type Buffer struct { buf []byte // encode/decode byte stream index int // read point - // pools of basic types to amortize allocation. - bools []bool - uint32s []uint32 - uint64s []uint64 - - // extra pools, only used with pointer_reflect.go - int32s []int32 - int64s []int64 - float32s []float32 - float64s []float64 + deterministic bool } // NewBuffer allocates a new Buffer and initializes its internal data to @@ -343,6 +395,30 @@ func (p *Buffer) SetBuf(s []byte) { // Bytes returns the contents of the Buffer. func (p *Buffer) Bytes() []byte { return p.buf } +// SetDeterministic sets whether to use deterministic serialization. +// +// Deterministic serialization guarantees that for a given binary, equal +// messages will always be serialized to the same bytes. This implies: +// +// - Repeated serialization of a message will return the same bytes. +// - Different processes of the same binary (which may be executing on +// different machines) will serialize equal messages to the same bytes. +// +// Note that the deterministic serialization is NOT canonical across +// languages. It is not guaranteed to remain stable over time. It is unstable +// across different builds with schema changes due to unknown fields. +// Users who need canonical serialization (e.g., persistent storage in a +// canonical form, fingerprinting, etc.) should define their own +// canonicalization specification and implement their own serializer rather +// than relying on this API. +// +// If deterministic serialization is requested, map entries will be sorted +// by keys in lexographical order. This is an implementation detail and +// subject to change. +func (p *Buffer) SetDeterministic(deterministic bool) { + p.deterministic = deterministic +} + /* * Helper routines for simplifying the creation of optional fields of basic type. */ @@ -552,9 +628,11 @@ func SetDefaults(pb Message) { setDefaults(reflect.ValueOf(pb), true, false) } -// v is a pointer to a struct. +// v is a struct. func setDefaults(v reflect.Value, recur, zeros bool) { - v = v.Elem() + if v.Kind() == reflect.Ptr { + v = v.Elem() + } defaultMu.RLock() dm, ok := defaults[v.Type()] @@ -656,8 +734,11 @@ func setDefaults(v reflect.Value, recur, zeros bool) { for _, ni := range dm.nested { f := v.Field(ni) - // f is *T or []*T or map[T]*T + // f is *T or T or []*T or []T switch f.Kind() { + case reflect.Struct: + setDefaults(f, recur, zeros) + case reflect.Ptr: if f.IsNil() { continue @@ -667,7 +748,7 @@ func setDefaults(v reflect.Value, recur, zeros bool) { case reflect.Slice: for i := 0; i < f.Len(); i++ { e := f.Index(i) - if e.IsNil() { + if e.Kind() == reflect.Ptr && e.IsNil() { continue } setDefaults(e, recur, zeros) @@ -739,6 +820,9 @@ func buildDefaultMessage(t reflect.Type) (dm defaultMessage) { func fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMessage bool, err error) { var canHaveDefault bool switch ft.Kind() { + case reflect.Struct: + nestedMessage = true // non-nullable + case reflect.Ptr: if ft.Elem().Kind() == reflect.Struct { nestedMessage = true @@ -748,7 +832,7 @@ func fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMes case reflect.Slice: switch ft.Elem().Kind() { - case reflect.Ptr: + case reflect.Ptr, reflect.Struct: nestedMessage = true // repeated message case reflect.Uint8: canHaveDefault = true // bytes field @@ -831,22 +915,12 @@ func fieldDefault(ft reflect.Type, prop *Properties) (sf *scalarField, nestedMes return sf, false, nil } +// mapKeys returns a sort.Interface to be used for sorting the map keys. // Map fields may have key types of non-float scalars, strings and enums. -// The easiest way to sort them in some deterministic order is to use fmt. -// If this turns out to be inefficient we can always consider other options, -// such as doing a Schwartzian transform. - func mapKeys(vs []reflect.Value) sort.Interface { - s := mapKeySorter{ - vs: vs, - // default Less function: textual comparison - less: func(a, b reflect.Value) bool { - return fmt.Sprint(a.Interface()) < fmt.Sprint(b.Interface()) - }, - } + s := mapKeySorter{vs: vs} - // Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps; - // numeric keys are sorted numerically. + // Type specialization per https://developers.google.com/protocol-buffers/docs/proto#maps. if len(vs) == 0 { return s } @@ -855,6 +929,12 @@ func mapKeys(vs []reflect.Value) sort.Interface { s.less = func(a, b reflect.Value) bool { return a.Int() < b.Int() } case reflect.Uint32, reflect.Uint64: s.less = func(a, b reflect.Value) bool { return a.Uint() < b.Uint() } + case reflect.Bool: + s.less = func(a, b reflect.Value) bool { return !a.Bool() && b.Bool() } // false < true + case reflect.String: + s.less = func(a, b reflect.Value) bool { return a.String() < b.String() } + default: + panic(fmt.Sprintf("unsupported map key type: %v", vs[0].Kind())) } return s @@ -895,3 +975,13 @@ const GoGoProtoPackageIsVersion2 = true // ProtoPackageIsVersion1 is referenced from generated protocol buffer files // to assert that that code is compatible with this version of the proto package. const GoGoProtoPackageIsVersion1 = true + +// InternalMessageInfo is a type used internally by generated .pb.go files. +// This type is not intended to be used by non-generated code. +// This type is not subject to any compatibility guarantee. +type InternalMessageInfo struct { + marshal *marshalInfo + unmarshal *unmarshalInfo + merge *mergeInfo + discard *discardInfo +} diff --git a/vendor/github.com/gogo/protobuf/proto/lib_gogo.go b/vendor/github.com/gogo/protobuf/proto/lib_gogo.go index 4b4f7c909..b3aa39190 100644 --- a/vendor/github.com/gogo/protobuf/proto/lib_gogo.go +++ b/vendor/github.com/gogo/protobuf/proto/lib_gogo.go @@ -33,6 +33,14 @@ import ( "strconv" ) +type Sizer interface { + Size() int +} + +type ProtoSizer interface { + ProtoSize() int +} + func MarshalJSONEnum(m map[int32]string, value int32) ([]byte, error) { s, ok := m[value] if !ok { diff --git a/vendor/github.com/gogo/protobuf/proto/message_set.go b/vendor/github.com/gogo/protobuf/proto/message_set.go index fd982decd..3b6ca41d5 100644 --- a/vendor/github.com/gogo/protobuf/proto/message_set.go +++ b/vendor/github.com/gogo/protobuf/proto/message_set.go @@ -42,6 +42,7 @@ import ( "fmt" "reflect" "sort" + "sync" ) // errNoMessageTypeID occurs when a protocol buffer does not have a message type ID. @@ -94,10 +95,7 @@ func (ms *messageSet) find(pb Message) *_MessageSet_Item { } func (ms *messageSet) Has(pb Message) bool { - if ms.find(pb) != nil { - return true - } - return false + return ms.find(pb) != nil } func (ms *messageSet) Unmarshal(pb Message) error { @@ -150,46 +148,42 @@ func skipVarint(buf []byte) []byte { // MarshalMessageSet encodes the extension map represented by m in the message set wire format. // It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option. func MarshalMessageSet(exts interface{}) ([]byte, error) { - var m map[int32]Extension + return marshalMessageSet(exts, false) +} + +// marshaMessageSet implements above function, with the opt to turn on / off deterministic during Marshal. +func marshalMessageSet(exts interface{}, deterministic bool) ([]byte, error) { switch exts := exts.(type) { case *XXX_InternalExtensions: - if err := encodeExtensions(exts); err != nil { - return nil, err - } - m, _ = exts.extensionsRead() + var u marshalInfo + siz := u.sizeMessageSet(exts) + b := make([]byte, 0, siz) + return u.appendMessageSet(b, exts, deterministic) + case map[int32]Extension: - if err := encodeExtensionsMap(exts); err != nil { - return nil, err + // This is an old-style extension map. + // Wrap it in a new-style XXX_InternalExtensions. + ie := XXX_InternalExtensions{ + p: &struct { + mu sync.Mutex + extensionMap map[int32]Extension + }{ + extensionMap: exts, + }, } - m = exts + + var u marshalInfo + siz := u.sizeMessageSet(&ie) + b := make([]byte, 0, siz) + return u.appendMessageSet(b, &ie, deterministic) + default: return nil, errors.New("proto: not an extension map") } - - // Sort extension IDs to provide a deterministic encoding. - // See also enc_map in encode.go. - ids := make([]int, 0, len(m)) - for id := range m { - ids = append(ids, int(id)) - } - sort.Ints(ids) - - ms := &messageSet{Item: make([]*_MessageSet_Item, 0, len(m))} - for _, id := range ids { - e := m[int32(id)] - // Remove the wire type and field number varint, as well as the length varint. - msg := skipVarint(skipVarint(e.enc)) - - ms.Item = append(ms.Item, &_MessageSet_Item{ - TypeId: Int32(int32(id)), - Message: msg, - }) - } - return Marshal(ms) } // UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format. -// It is called by generated Unmarshal methods on protocol buffer messages with the message_set_wire_format option. +// It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option. func UnmarshalMessageSet(buf []byte, exts interface{}) error { var m map[int32]Extension switch exts := exts.(type) { @@ -235,7 +229,15 @@ func MarshalMessageSetJSON(exts interface{}) ([]byte, error) { var m map[int32]Extension switch exts := exts.(type) { case *XXX_InternalExtensions: - m, _ = exts.extensionsRead() + var mu sync.Locker + m, mu = exts.extensionsRead() + if m != nil { + // Keep the extensions map locked until we're done marshaling to prevent + // races between marshaling and unmarshaling the lazily-{en,de}coded + // values. + mu.Lock() + defer mu.Unlock() + } case map[int32]Extension: m = exts default: @@ -253,15 +255,16 @@ func MarshalMessageSetJSON(exts interface{}) ([]byte, error) { for i, id := range ids { ext := m[id] - if i > 0 { - b.WriteByte(',') - } - msd, ok := messageSetMap[id] if !ok { // Unknown type; we can't render it, so skip it. continue } + + if i > 0 && b.Len() > 1 { + b.WriteByte(',') + } + fmt.Fprintf(&b, `"[%s]":`, msd.name) x := ext.value diff --git a/vendor/github.com/gogo/protobuf/proto/pointer_reflect.go b/vendor/github.com/gogo/protobuf/proto/pointer_reflect.go index fb512e2e1..b6cad9083 100644 --- a/vendor/github.com/gogo/protobuf/proto/pointer_reflect.go +++ b/vendor/github.com/gogo/protobuf/proto/pointer_reflect.go @@ -29,7 +29,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// +build appengine js +// +build purego appengine js // This file contains an implementation of proto field accesses using package reflect. // It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can @@ -38,32 +38,13 @@ package proto import ( - "math" "reflect" + "sync" ) -// A structPointer is a pointer to a struct. -type structPointer struct { - v reflect.Value -} +const unsafeAllowed = false -// toStructPointer returns a structPointer equivalent to the given reflect value. -// The reflect value must itself be a pointer to a struct. -func toStructPointer(v reflect.Value) structPointer { - return structPointer{v} -} - -// IsNil reports whether p is nil. -func structPointer_IsNil(p structPointer) bool { - return p.v.IsNil() -} - -// Interface returns the struct pointer as an interface value. -func structPointer_Interface(p structPointer, _ reflect.Type) interface{} { - return p.v.Interface() -} - -// A field identifies a field in a struct, accessible from a structPointer. +// A field identifies a field in a struct, accessible from a pointer. // In this implementation, a field is identified by the sequence of field indices // passed to reflect's FieldByIndex. type field []int @@ -76,409 +57,301 @@ func toField(f *reflect.StructField) field { // invalidField is an invalid field identifier. var invalidField = field(nil) +// zeroField is a noop when calling pointer.offset. +var zeroField = field([]int{}) + // IsValid reports whether the field identifier is valid. func (f field) IsValid() bool { return f != nil } -// field returns the given field in the struct as a reflect value. -func structPointer_field(p structPointer, f field) reflect.Value { - // Special case: an extension map entry with a value of type T - // passes a *T to the struct-handling code with a zero field, - // expecting that it will be treated as equivalent to *struct{ X T }, - // which has the same memory layout. We have to handle that case - // specially, because reflect will panic if we call FieldByIndex on a - // non-struct. - if f == nil { - return p.v.Elem() - } - - return p.v.Elem().FieldByIndex(f) -} - -// ifield returns the given field in the struct as an interface value. -func structPointer_ifield(p structPointer, f field) interface{} { - return structPointer_field(p, f).Addr().Interface() -} - -// Bytes returns the address of a []byte field in the struct. -func structPointer_Bytes(p structPointer, f field) *[]byte { - return structPointer_ifield(p, f).(*[]byte) -} - -// BytesSlice returns the address of a [][]byte field in the struct. -func structPointer_BytesSlice(p structPointer, f field) *[][]byte { - return structPointer_ifield(p, f).(*[][]byte) -} - -// Bool returns the address of a *bool field in the struct. -func structPointer_Bool(p structPointer, f field) **bool { - return structPointer_ifield(p, f).(**bool) -} - -// BoolVal returns the address of a bool field in the struct. -func structPointer_BoolVal(p structPointer, f field) *bool { - return structPointer_ifield(p, f).(*bool) -} - -// BoolSlice returns the address of a []bool field in the struct. -func structPointer_BoolSlice(p structPointer, f field) *[]bool { - return structPointer_ifield(p, f).(*[]bool) -} - -// String returns the address of a *string field in the struct. -func structPointer_String(p structPointer, f field) **string { - return structPointer_ifield(p, f).(**string) -} - -// StringVal returns the address of a string field in the struct. -func structPointer_StringVal(p structPointer, f field) *string { - return structPointer_ifield(p, f).(*string) -} - -// StringSlice returns the address of a []string field in the struct. -func structPointer_StringSlice(p structPointer, f field) *[]string { - return structPointer_ifield(p, f).(*[]string) -} - -// Extensions returns the address of an extension map field in the struct. -func structPointer_Extensions(p structPointer, f field) *XXX_InternalExtensions { - return structPointer_ifield(p, f).(*XXX_InternalExtensions) -} - -// ExtMap returns the address of an extension map field in the struct. -func structPointer_ExtMap(p structPointer, f field) *map[int32]Extension { - return structPointer_ifield(p, f).(*map[int32]Extension) -} - -// NewAt returns the reflect.Value for a pointer to a field in the struct. -func structPointer_NewAt(p structPointer, f field, typ reflect.Type) reflect.Value { - return structPointer_field(p, f).Addr() -} - -// SetStructPointer writes a *struct field in the struct. -func structPointer_SetStructPointer(p structPointer, f field, q structPointer) { - structPointer_field(p, f).Set(q.v) -} - -// GetStructPointer reads a *struct field in the struct. -func structPointer_GetStructPointer(p structPointer, f field) structPointer { - return structPointer{structPointer_field(p, f)} -} - -// StructPointerSlice the address of a []*struct field in the struct. -func structPointer_StructPointerSlice(p structPointer, f field) structPointerSlice { - return structPointerSlice{structPointer_field(p, f)} -} - -// A structPointerSlice represents the address of a slice of pointers to structs -// (themselves messages or groups). That is, v.Type() is *[]*struct{...}. -type structPointerSlice struct { +// The pointer type is for the table-driven decoder. +// The implementation here uses a reflect.Value of pointer type to +// create a generic pointer. In pointer_unsafe.go we use unsafe +// instead of reflect to implement the same (but faster) interface. +type pointer struct { v reflect.Value } -func (p structPointerSlice) Len() int { return p.v.Len() } -func (p structPointerSlice) Index(i int) structPointer { return structPointer{p.v.Index(i)} } -func (p structPointerSlice) Append(q structPointer) { - p.v.Set(reflect.Append(p.v, q.v)) +// toPointer converts an interface of pointer type to a pointer +// that points to the same target. +func toPointer(i *Message) pointer { + return pointer{v: reflect.ValueOf(*i)} } -var ( - int32Type = reflect.TypeOf(int32(0)) - uint32Type = reflect.TypeOf(uint32(0)) - float32Type = reflect.TypeOf(float32(0)) - int64Type = reflect.TypeOf(int64(0)) - uint64Type = reflect.TypeOf(uint64(0)) - float64Type = reflect.TypeOf(float64(0)) -) - -// A word32 represents a field of type *int32, *uint32, *float32, or *enum. -// That is, v.Type() is *int32, *uint32, *float32, or *enum and v is assignable. -type word32 struct { - v reflect.Value +// toAddrPointer converts an interface to a pointer that points to +// the interface data. +func toAddrPointer(i *interface{}, isptr bool) pointer { + v := reflect.ValueOf(*i) + u := reflect.New(v.Type()) + u.Elem().Set(v) + return pointer{v: u} } -// IsNil reports whether p is nil. -func word32_IsNil(p word32) bool { +// valToPointer converts v to a pointer. v must be of pointer type. +func valToPointer(v reflect.Value) pointer { + return pointer{v: v} +} + +// offset converts from a pointer to a structure to a pointer to +// one of its fields. +func (p pointer) offset(f field) pointer { + return pointer{v: p.v.Elem().FieldByIndex(f).Addr()} +} + +func (p pointer) isNil() bool { return p.v.IsNil() } -// Set sets p to point at a newly allocated word with bits set to x. -func word32_Set(p word32, o *Buffer, x uint32) { - t := p.v.Type().Elem() - switch t { - case int32Type: - if len(o.int32s) == 0 { - o.int32s = make([]int32, uint32PoolSize) - } - o.int32s[0] = int32(x) - p.v.Set(reflect.ValueOf(&o.int32s[0])) - o.int32s = o.int32s[1:] - return - case uint32Type: - if len(o.uint32s) == 0 { - o.uint32s = make([]uint32, uint32PoolSize) - } - o.uint32s[0] = x - p.v.Set(reflect.ValueOf(&o.uint32s[0])) - o.uint32s = o.uint32s[1:] - return - case float32Type: - if len(o.float32s) == 0 { - o.float32s = make([]float32, uint32PoolSize) - } - o.float32s[0] = math.Float32frombits(x) - p.v.Set(reflect.ValueOf(&o.float32s[0])) - o.float32s = o.float32s[1:] - return - } - - // must be enum - p.v.Set(reflect.New(t)) - p.v.Elem().SetInt(int64(int32(x))) -} - -// Get gets the bits pointed at by p, as a uint32. -func word32_Get(p word32) uint32 { - elem := p.v.Elem() - switch elem.Kind() { - case reflect.Int32: - return uint32(elem.Int()) - case reflect.Uint32: - return uint32(elem.Uint()) - case reflect.Float32: - return math.Float32bits(float32(elem.Float())) - } - panic("unreachable") -} - -// Word32 returns a reference to a *int32, *uint32, *float32, or *enum field in the struct. -func structPointer_Word32(p structPointer, f field) word32 { - return word32{structPointer_field(p, f)} -} - -// A word32Val represents a field of type int32, uint32, float32, or enum. -// That is, v.Type() is int32, uint32, float32, or enum and v is assignable. -type word32Val struct { - v reflect.Value -} - -// Set sets *p to x. -func word32Val_Set(p word32Val, x uint32) { - switch p.v.Type() { - case int32Type: - p.v.SetInt(int64(x)) - return - case uint32Type: - p.v.SetUint(uint64(x)) - return - case float32Type: - p.v.SetFloat(float64(math.Float32frombits(x))) - return - } - - // must be enum - p.v.SetInt(int64(int32(x))) -} - -// Get gets the bits pointed at by p, as a uint32. -func word32Val_Get(p word32Val) uint32 { - elem := p.v - switch elem.Kind() { - case reflect.Int32: - return uint32(elem.Int()) - case reflect.Uint32: - return uint32(elem.Uint()) - case reflect.Float32: - return math.Float32bits(float32(elem.Float())) - } - panic("unreachable") -} - -// Word32Val returns a reference to a int32, uint32, float32, or enum field in the struct. -func structPointer_Word32Val(p structPointer, f field) word32Val { - return word32Val{structPointer_field(p, f)} -} - -// A word32Slice is a slice of 32-bit values. -// That is, v.Type() is []int32, []uint32, []float32, or []enum. -type word32Slice struct { - v reflect.Value -} - -func (p word32Slice) Append(x uint32) { - n, m := p.v.Len(), p.v.Cap() +// grow updates the slice s in place to make it one element longer. +// s must be addressable. +// Returns the (addressable) new element. +func grow(s reflect.Value) reflect.Value { + n, m := s.Len(), s.Cap() if n < m { - p.v.SetLen(n + 1) + s.SetLen(n + 1) } else { - t := p.v.Type().Elem() - p.v.Set(reflect.Append(p.v, reflect.Zero(t))) + s.Set(reflect.Append(s, reflect.Zero(s.Type().Elem()))) } - elem := p.v.Index(n) - switch elem.Kind() { - case reflect.Int32: - elem.SetInt(int64(int32(x))) - case reflect.Uint32: - elem.SetUint(uint64(x)) - case reflect.Float32: - elem.SetFloat(float64(math.Float32frombits(x))) + return s.Index(n) +} + +func (p pointer) toInt64() *int64 { + return p.v.Interface().(*int64) +} +func (p pointer) toInt64Ptr() **int64 { + return p.v.Interface().(**int64) +} +func (p pointer) toInt64Slice() *[]int64 { + return p.v.Interface().(*[]int64) +} + +var int32ptr = reflect.TypeOf((*int32)(nil)) + +func (p pointer) toInt32() *int32 { + return p.v.Convert(int32ptr).Interface().(*int32) +} + +// The toInt32Ptr/Slice methods don't work because of enums. +// Instead, we must use set/get methods for the int32ptr/slice case. +/* + func (p pointer) toInt32Ptr() **int32 { + return p.v.Interface().(**int32) +} + func (p pointer) toInt32Slice() *[]int32 { + return p.v.Interface().(*[]int32) +} +*/ +func (p pointer) getInt32Ptr() *int32 { + if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) { + // raw int32 type + return p.v.Elem().Interface().(*int32) } + // an enum + return p.v.Elem().Convert(int32PtrType).Interface().(*int32) +} +func (p pointer) setInt32Ptr(v int32) { + // Allocate value in a *int32. Possibly convert that to a *enum. + // Then assign it to a **int32 or **enum. + // Note: we can convert *int32 to *enum, but we can't convert + // **int32 to **enum! + p.v.Elem().Set(reflect.ValueOf(&v).Convert(p.v.Type().Elem())) } -func (p word32Slice) Len() int { - return p.v.Len() -} - -func (p word32Slice) Index(i int) uint32 { - elem := p.v.Index(i) - switch elem.Kind() { - case reflect.Int32: - return uint32(elem.Int()) - case reflect.Uint32: - return uint32(elem.Uint()) - case reflect.Float32: - return math.Float32bits(float32(elem.Float())) +// getInt32Slice copies []int32 from p as a new slice. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) getInt32Slice() []int32 { + if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) { + // raw int32 type + return p.v.Elem().Interface().([]int32) } - panic("unreachable") + // an enum + // Allocate a []int32, then assign []enum's values into it. + // Note: we can't convert []enum to []int32. + slice := p.v.Elem() + s := make([]int32, slice.Len()) + for i := 0; i < slice.Len(); i++ { + s[i] = int32(slice.Index(i).Int()) + } + return s } -// Word32Slice returns a reference to a []int32, []uint32, []float32, or []enum field in the struct. -func structPointer_Word32Slice(p structPointer, f field) word32Slice { - return word32Slice{structPointer_field(p, f)} -} - -// word64 is like word32 but for 64-bit values. -type word64 struct { - v reflect.Value -} - -func word64_Set(p word64, o *Buffer, x uint64) { - t := p.v.Type().Elem() - switch t { - case int64Type: - if len(o.int64s) == 0 { - o.int64s = make([]int64, uint64PoolSize) - } - o.int64s[0] = int64(x) - p.v.Set(reflect.ValueOf(&o.int64s[0])) - o.int64s = o.int64s[1:] - return - case uint64Type: - if len(o.uint64s) == 0 { - o.uint64s = make([]uint64, uint64PoolSize) - } - o.uint64s[0] = x - p.v.Set(reflect.ValueOf(&o.uint64s[0])) - o.uint64s = o.uint64s[1:] - return - case float64Type: - if len(o.float64s) == 0 { - o.float64s = make([]float64, uint64PoolSize) - } - o.float64s[0] = math.Float64frombits(x) - p.v.Set(reflect.ValueOf(&o.float64s[0])) - o.float64s = o.float64s[1:] +// setInt32Slice copies []int32 into p as a new slice. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) setInt32Slice(v []int32) { + if p.v.Type().Elem().Elem() == reflect.TypeOf(int32(0)) { + // raw int32 type + p.v.Elem().Set(reflect.ValueOf(v)) return } - panic("unreachable") -} - -func word64_IsNil(p word64) bool { - return p.v.IsNil() -} - -func word64_Get(p word64) uint64 { - elem := p.v.Elem() - switch elem.Kind() { - case reflect.Int64: - return uint64(elem.Int()) - case reflect.Uint64: - return elem.Uint() - case reflect.Float64: - return math.Float64bits(elem.Float()) + // an enum + // Allocate a []enum, then assign []int32's values into it. + // Note: we can't convert []enum to []int32. + slice := reflect.MakeSlice(p.v.Type().Elem(), len(v), cap(v)) + for i, x := range v { + slice.Index(i).SetInt(int64(x)) } - panic("unreachable") + p.v.Elem().Set(slice) +} +func (p pointer) appendInt32Slice(v int32) { + grow(p.v.Elem()).SetInt(int64(v)) } -func structPointer_Word64(p structPointer, f field) word64 { - return word64{structPointer_field(p, f)} +func (p pointer) toUint64() *uint64 { + return p.v.Interface().(*uint64) +} +func (p pointer) toUint64Ptr() **uint64 { + return p.v.Interface().(**uint64) +} +func (p pointer) toUint64Slice() *[]uint64 { + return p.v.Interface().(*[]uint64) +} +func (p pointer) toUint32() *uint32 { + return p.v.Interface().(*uint32) +} +func (p pointer) toUint32Ptr() **uint32 { + return p.v.Interface().(**uint32) +} +func (p pointer) toUint32Slice() *[]uint32 { + return p.v.Interface().(*[]uint32) +} +func (p pointer) toBool() *bool { + return p.v.Interface().(*bool) +} +func (p pointer) toBoolPtr() **bool { + return p.v.Interface().(**bool) +} +func (p pointer) toBoolSlice() *[]bool { + return p.v.Interface().(*[]bool) +} +func (p pointer) toFloat64() *float64 { + return p.v.Interface().(*float64) +} +func (p pointer) toFloat64Ptr() **float64 { + return p.v.Interface().(**float64) +} +func (p pointer) toFloat64Slice() *[]float64 { + return p.v.Interface().(*[]float64) +} +func (p pointer) toFloat32() *float32 { + return p.v.Interface().(*float32) +} +func (p pointer) toFloat32Ptr() **float32 { + return p.v.Interface().(**float32) +} +func (p pointer) toFloat32Slice() *[]float32 { + return p.v.Interface().(*[]float32) +} +func (p pointer) toString() *string { + return p.v.Interface().(*string) +} +func (p pointer) toStringPtr() **string { + return p.v.Interface().(**string) +} +func (p pointer) toStringSlice() *[]string { + return p.v.Interface().(*[]string) +} +func (p pointer) toBytes() *[]byte { + return p.v.Interface().(*[]byte) +} +func (p pointer) toBytesSlice() *[][]byte { + return p.v.Interface().(*[][]byte) +} +func (p pointer) toExtensions() *XXX_InternalExtensions { + return p.v.Interface().(*XXX_InternalExtensions) +} +func (p pointer) toOldExtensions() *map[int32]Extension { + return p.v.Interface().(*map[int32]Extension) +} +func (p pointer) getPointer() pointer { + return pointer{v: p.v.Elem()} +} +func (p pointer) setPointer(q pointer) { + p.v.Elem().Set(q.v) +} +func (p pointer) appendPointer(q pointer) { + grow(p.v.Elem()).Set(q.v) } -// word64Val is like word32Val but for 64-bit values. -type word64Val struct { - v reflect.Value +// getPointerSlice copies []*T from p as a new []pointer. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) getPointerSlice() []pointer { + if p.v.IsNil() { + return nil + } + n := p.v.Elem().Len() + s := make([]pointer, n) + for i := 0; i < n; i++ { + s[i] = pointer{v: p.v.Elem().Index(i)} + } + return s } -func word64Val_Set(p word64Val, o *Buffer, x uint64) { - switch p.v.Type() { - case int64Type: - p.v.SetInt(int64(x)) - return - case uint64Type: - p.v.SetUint(x) - return - case float64Type: - p.v.SetFloat(math.Float64frombits(x)) +// setPointerSlice copies []pointer into p as a new []*T. +// This behavior differs from the implementation in pointer_unsafe.go. +func (p pointer) setPointerSlice(v []pointer) { + if v == nil { + p.v.Elem().Set(reflect.New(p.v.Elem().Type()).Elem()) return } - panic("unreachable") -} - -func word64Val_Get(p word64Val) uint64 { - elem := p.v - switch elem.Kind() { - case reflect.Int64: - return uint64(elem.Int()) - case reflect.Uint64: - return elem.Uint() - case reflect.Float64: - return math.Float64bits(elem.Float()) + s := reflect.MakeSlice(p.v.Elem().Type(), 0, len(v)) + for _, p := range v { + s = reflect.Append(s, p.v) } - panic("unreachable") + p.v.Elem().Set(s) } -func structPointer_Word64Val(p structPointer, f field) word64Val { - return word64Val{structPointer_field(p, f)} -} - -type word64Slice struct { - v reflect.Value -} - -func (p word64Slice) Append(x uint64) { - n, m := p.v.Len(), p.v.Cap() - if n < m { - p.v.SetLen(n + 1) - } else { - t := p.v.Type().Elem() - p.v.Set(reflect.Append(p.v, reflect.Zero(t))) - } - elem := p.v.Index(n) - switch elem.Kind() { - case reflect.Int64: - elem.SetInt(int64(int64(x))) - case reflect.Uint64: - elem.SetUint(uint64(x)) - case reflect.Float64: - elem.SetFloat(float64(math.Float64frombits(x))) +// getInterfacePointer returns a pointer that points to the +// interface data of the interface pointed by p. +func (p pointer) getInterfacePointer() pointer { + if p.v.Elem().IsNil() { + return pointer{v: p.v.Elem()} } + return pointer{v: p.v.Elem().Elem().Elem().Field(0).Addr()} // *interface -> interface -> *struct -> struct } -func (p word64Slice) Len() int { - return p.v.Len() +func (p pointer) asPointerTo(t reflect.Type) reflect.Value { + // TODO: check that p.v.Type().Elem() == t? + return p.v } -func (p word64Slice) Index(i int) uint64 { - elem := p.v.Index(i) - switch elem.Kind() { - case reflect.Int64: - return uint64(elem.Int()) - case reflect.Uint64: - return uint64(elem.Uint()) - case reflect.Float64: - return math.Float64bits(float64(elem.Float())) - } - panic("unreachable") +func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} +func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} +func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v +} +func atomicLoadDiscardInfo(p **discardInfo) *discardInfo { + atomicLock.Lock() + defer atomicLock.Unlock() + return *p +} +func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) { + atomicLock.Lock() + defer atomicLock.Unlock() + *p = v } -func structPointer_Word64Slice(p structPointer, f field) word64Slice { - return word64Slice{structPointer_field(p, f)} -} +var atomicLock sync.Mutex diff --git a/vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go b/vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go index 1763a5f22..7ffd3c29d 100644 --- a/vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go +++ b/vendor/github.com/gogo/protobuf/proto/pointer_reflect_gogo.go @@ -1,6 +1,6 @@ // Protocol Buffers for Go with Gadgets // -// Copyright (c) 2016, The GoGo Authors. All rights reserved. +// Copyright (c) 2018, The GoGo Authors. All rights reserved. // http://github.com/gogo/protobuf // // Redistribution and use in source and binary forms, with or without @@ -26,7 +26,11 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// +build appengine js +// +build purego appengine js + +// This file contains an implementation of proto field accesses using package reflect. +// It is slower than the code in pointer_unsafe.go but it avoids package unsafe and can +// be used on App Engine. package proto @@ -34,52 +38,22 @@ import ( "reflect" ) -func structPointer_FieldPointer(p structPointer, f field) structPointer { - panic("not implemented") +// TODO: untested, so probably incorrect. + +func (p pointer) getRef() pointer { + return pointer{v: p.v.Addr()} } -func appendStructPointer(base structPointer, f field, typ reflect.Type) structPointer { - panic("not implemented") +func (p pointer) appendRef(v pointer, typ reflect.Type) { + slice := p.getSlice(typ) + elem := v.asPointerTo(typ).Elem() + newSlice := reflect.Append(slice, elem) + slice.Set(newSlice) } -func structPointer_InterfaceAt(p structPointer, f field, t reflect.Type) interface{} { - panic("not implemented") -} - -func structPointer_InterfaceRef(p structPointer, f field, t reflect.Type) interface{} { - panic("not implemented") -} - -func structPointer_GetRefStructPointer(p structPointer, f field) structPointer { - panic("not implemented") -} - -func structPointer_Add(p structPointer, size field) structPointer { - panic("not implemented") -} - -func structPointer_Len(p structPointer, f field) int { - panic("not implemented") -} - -func structPointer_GetSliceHeader(p structPointer, f field) *reflect.SliceHeader { - panic("not implemented") -} - -func structPointer_Copy(oldptr structPointer, newptr structPointer, size int) { - panic("not implemented") -} - -func structPointer_StructRefSlice(p structPointer, f field, size uintptr) *structRefSlice { - panic("not implemented") -} - -type structRefSlice struct{} - -func (v *structRefSlice) Len() int { - panic("not implemented") -} - -func (v *structRefSlice) Index(i int) structPointer { - panic("not implemented") +func (p pointer) getSlice(typ reflect.Type) reflect.Value { + sliceTyp := reflect.SliceOf(typ) + slice := p.asPointerTo(sliceTyp) + slice = slice.Elem() + return slice } diff --git a/vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go b/vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go index 6b5567d47..d55a335d9 100644 --- a/vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go +++ b/vendor/github.com/gogo/protobuf/proto/pointer_unsafe.go @@ -29,7 +29,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// +build !appengine,!js +// +build !purego,!appengine,!js // This file contains the implementation of the proto field accesses using package unsafe. @@ -37,38 +37,13 @@ package proto import ( "reflect" + "sync/atomic" "unsafe" ) -// NOTE: These type_Foo functions would more idiomatically be methods, -// but Go does not allow methods on pointer types, and we must preserve -// some pointer type for the garbage collector. We use these -// funcs with clunky names as our poor approximation to methods. -// -// An alternative would be -// type structPointer struct { p unsafe.Pointer } -// but that does not registerize as well. +const unsafeAllowed = true -// A structPointer is a pointer to a struct. -type structPointer unsafe.Pointer - -// toStructPointer returns a structPointer equivalent to the given reflect value. -func toStructPointer(v reflect.Value) structPointer { - return structPointer(unsafe.Pointer(v.Pointer())) -} - -// IsNil reports whether p is nil. -func structPointer_IsNil(p structPointer) bool { - return p == nil -} - -// Interface returns the struct pointer, assumed to have element type t, -// as an interface value. -func structPointer_Interface(p structPointer, t reflect.Type) interface{} { - return reflect.NewAt(t, unsafe.Pointer(p)).Interface() -} - -// A field identifies a field in a struct, accessible from a structPointer. +// A field identifies a field in a struct, accessible from a pointer. // In this implementation, a field is identified by its byte offset from the start of the struct. type field uintptr @@ -80,191 +55,254 @@ func toField(f *reflect.StructField) field { // invalidField is an invalid field identifier. const invalidField = ^field(0) +// zeroField is a noop when calling pointer.offset. +const zeroField = field(0) + // IsValid reports whether the field identifier is valid. func (f field) IsValid() bool { - return f != ^field(0) + return f != invalidField } -// Bytes returns the address of a []byte field in the struct. -func structPointer_Bytes(p structPointer, f field) *[]byte { - return (*[]byte)(unsafe.Pointer(uintptr(p) + uintptr(f))) +// The pointer type below is for the new table-driven encoder/decoder. +// The implementation here uses unsafe.Pointer to create a generic pointer. +// In pointer_reflect.go we use reflect instead of unsafe to implement +// the same (but slower) interface. +type pointer struct { + p unsafe.Pointer } -// BytesSlice returns the address of a [][]byte field in the struct. -func structPointer_BytesSlice(p structPointer, f field) *[][]byte { - return (*[][]byte)(unsafe.Pointer(uintptr(p) + uintptr(f))) +// size of pointer +var ptrSize = unsafe.Sizeof(uintptr(0)) + +// toPointer converts an interface of pointer type to a pointer +// that points to the same target. +func toPointer(i *Message) pointer { + // Super-tricky - read pointer out of data word of interface value. + // Saves ~25ns over the equivalent: + // return valToPointer(reflect.ValueOf(*i)) + return pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]} } -// Bool returns the address of a *bool field in the struct. -func structPointer_Bool(p structPointer, f field) **bool { - return (**bool)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// BoolVal returns the address of a bool field in the struct. -func structPointer_BoolVal(p structPointer, f field) *bool { - return (*bool)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// BoolSlice returns the address of a []bool field in the struct. -func structPointer_BoolSlice(p structPointer, f field) *[]bool { - return (*[]bool)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// String returns the address of a *string field in the struct. -func structPointer_String(p structPointer, f field) **string { - return (**string)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// StringVal returns the address of a string field in the struct. -func structPointer_StringVal(p structPointer, f field) *string { - return (*string)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// StringSlice returns the address of a []string field in the struct. -func structPointer_StringSlice(p structPointer, f field) *[]string { - return (*[]string)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// ExtMap returns the address of an extension map field in the struct. -func structPointer_Extensions(p structPointer, f field) *XXX_InternalExtensions { - return (*XXX_InternalExtensions)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -func structPointer_ExtMap(p structPointer, f field) *map[int32]Extension { - return (*map[int32]Extension)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// NewAt returns the reflect.Value for a pointer to a field in the struct. -func structPointer_NewAt(p structPointer, f field, typ reflect.Type) reflect.Value { - return reflect.NewAt(typ, unsafe.Pointer(uintptr(p)+uintptr(f))) -} - -// SetStructPointer writes a *struct field in the struct. -func structPointer_SetStructPointer(p structPointer, f field, q structPointer) { - *(*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f))) = q -} - -// GetStructPointer reads a *struct field in the struct. -func structPointer_GetStructPointer(p structPointer, f field) structPointer { - return *(*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// StructPointerSlice the address of a []*struct field in the struct. -func structPointer_StructPointerSlice(p structPointer, f field) *structPointerSlice { - return (*structPointerSlice)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// A structPointerSlice represents a slice of pointers to structs (themselves submessages or groups). -type structPointerSlice []structPointer - -func (v *structPointerSlice) Len() int { return len(*v) } -func (v *structPointerSlice) Index(i int) structPointer { return (*v)[i] } -func (v *structPointerSlice) Append(p structPointer) { *v = append(*v, p) } - -// A word32 is the address of a "pointer to 32-bit value" field. -type word32 **uint32 - -// IsNil reports whether *v is nil. -func word32_IsNil(p word32) bool { - return *p == nil -} - -// Set sets *v to point at a newly allocated word set to x. -func word32_Set(p word32, o *Buffer, x uint32) { - if len(o.uint32s) == 0 { - o.uint32s = make([]uint32, uint32PoolSize) +// toAddrPointer converts an interface to a pointer that points to +// the interface data. +func toAddrPointer(i *interface{}, isptr bool) pointer { + // Super-tricky - read or get the address of data word of interface value. + if isptr { + // The interface is of pointer type, thus it is a direct interface. + // The data word is the pointer data itself. We take its address. + return pointer{p: unsafe.Pointer(uintptr(unsafe.Pointer(i)) + ptrSize)} } - o.uint32s[0] = x - *p = &o.uint32s[0] - o.uint32s = o.uint32s[1:] + // The interface is not of pointer type. The data word is the pointer + // to the data. + return pointer{p: (*[2]unsafe.Pointer)(unsafe.Pointer(i))[1]} } -// Get gets the value pointed at by *v. -func word32_Get(p word32) uint32 { - return **p +// valToPointer converts v to a pointer. v must be of pointer type. +func valToPointer(v reflect.Value) pointer { + return pointer{p: unsafe.Pointer(v.Pointer())} } -// Word32 returns the address of a *int32, *uint32, *float32, or *enum field in the struct. -func structPointer_Word32(p structPointer, f field) word32 { - return word32((**uint32)(unsafe.Pointer(uintptr(p) + uintptr(f)))) +// offset converts from a pointer to a structure to a pointer to +// one of its fields. +func (p pointer) offset(f field) pointer { + // For safety, we should panic if !f.IsValid, however calling panic causes + // this to no longer be inlineable, which is a serious performance cost. + /* + if !f.IsValid() { + panic("invalid field") + } + */ + return pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))} } -// A word32Val is the address of a 32-bit value field. -type word32Val *uint32 - -// Set sets *p to x. -func word32Val_Set(p word32Val, x uint32) { - *p = x +func (p pointer) isNil() bool { + return p.p == nil } -// Get gets the value pointed at by p. -func word32Val_Get(p word32Val) uint32 { - return *p +func (p pointer) toInt64() *int64 { + return (*int64)(p.p) +} +func (p pointer) toInt64Ptr() **int64 { + return (**int64)(p.p) +} +func (p pointer) toInt64Slice() *[]int64 { + return (*[]int64)(p.p) +} +func (p pointer) toInt32() *int32 { + return (*int32)(p.p) } -// Word32Val returns the address of a *int32, *uint32, *float32, or *enum field in the struct. -func structPointer_Word32Val(p structPointer, f field) word32Val { - return word32Val((*uint32)(unsafe.Pointer(uintptr(p) + uintptr(f)))) -} - -// A word32Slice is a slice of 32-bit values. -type word32Slice []uint32 - -func (v *word32Slice) Append(x uint32) { *v = append(*v, x) } -func (v *word32Slice) Len() int { return len(*v) } -func (v *word32Slice) Index(i int) uint32 { return (*v)[i] } - -// Word32Slice returns the address of a []int32, []uint32, []float32, or []enum field in the struct. -func structPointer_Word32Slice(p structPointer, f field) *word32Slice { - return (*word32Slice)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -// word64 is like word32 but for 64-bit values. -type word64 **uint64 - -func word64_Set(p word64, o *Buffer, x uint64) { - if len(o.uint64s) == 0 { - o.uint64s = make([]uint64, uint64PoolSize) +// See pointer_reflect.go for why toInt32Ptr/Slice doesn't exist. +/* + func (p pointer) toInt32Ptr() **int32 { + return (**int32)(p.p) } - o.uint64s[0] = x - *p = &o.uint64s[0] - o.uint64s = o.uint64s[1:] + func (p pointer) toInt32Slice() *[]int32 { + return (*[]int32)(p.p) + } +*/ +func (p pointer) getInt32Ptr() *int32 { + return *(**int32)(p.p) +} +func (p pointer) setInt32Ptr(v int32) { + *(**int32)(p.p) = &v } -func word64_IsNil(p word64) bool { - return *p == nil +// getInt32Slice loads a []int32 from p. +// The value returned is aliased with the original slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) getInt32Slice() []int32 { + return *(*[]int32)(p.p) } -func word64_Get(p word64) uint64 { - return **p +// setInt32Slice stores a []int32 to p. +// The value set is aliased with the input slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) setInt32Slice(v []int32) { + *(*[]int32)(p.p) = v } -func structPointer_Word64(p structPointer, f field) word64 { - return word64((**uint64)(unsafe.Pointer(uintptr(p) + uintptr(f)))) +// TODO: Can we get rid of appendInt32Slice and use setInt32Slice instead? +func (p pointer) appendInt32Slice(v int32) { + s := (*[]int32)(p.p) + *s = append(*s, v) } -// word64Val is like word32Val but for 64-bit values. -type word64Val *uint64 - -func word64Val_Set(p word64Val, o *Buffer, x uint64) { - *p = x +func (p pointer) toUint64() *uint64 { + return (*uint64)(p.p) +} +func (p pointer) toUint64Ptr() **uint64 { + return (**uint64)(p.p) +} +func (p pointer) toUint64Slice() *[]uint64 { + return (*[]uint64)(p.p) +} +func (p pointer) toUint32() *uint32 { + return (*uint32)(p.p) +} +func (p pointer) toUint32Ptr() **uint32 { + return (**uint32)(p.p) +} +func (p pointer) toUint32Slice() *[]uint32 { + return (*[]uint32)(p.p) +} +func (p pointer) toBool() *bool { + return (*bool)(p.p) +} +func (p pointer) toBoolPtr() **bool { + return (**bool)(p.p) +} +func (p pointer) toBoolSlice() *[]bool { + return (*[]bool)(p.p) +} +func (p pointer) toFloat64() *float64 { + return (*float64)(p.p) +} +func (p pointer) toFloat64Ptr() **float64 { + return (**float64)(p.p) +} +func (p pointer) toFloat64Slice() *[]float64 { + return (*[]float64)(p.p) +} +func (p pointer) toFloat32() *float32 { + return (*float32)(p.p) +} +func (p pointer) toFloat32Ptr() **float32 { + return (**float32)(p.p) +} +func (p pointer) toFloat32Slice() *[]float32 { + return (*[]float32)(p.p) +} +func (p pointer) toString() *string { + return (*string)(p.p) +} +func (p pointer) toStringPtr() **string { + return (**string)(p.p) +} +func (p pointer) toStringSlice() *[]string { + return (*[]string)(p.p) +} +func (p pointer) toBytes() *[]byte { + return (*[]byte)(p.p) +} +func (p pointer) toBytesSlice() *[][]byte { + return (*[][]byte)(p.p) +} +func (p pointer) toExtensions() *XXX_InternalExtensions { + return (*XXX_InternalExtensions)(p.p) +} +func (p pointer) toOldExtensions() *map[int32]Extension { + return (*map[int32]Extension)(p.p) } -func word64Val_Get(p word64Val) uint64 { - return *p +// getPointerSlice loads []*T from p as a []pointer. +// The value returned is aliased with the original slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) getPointerSlice() []pointer { + // Super-tricky - p should point to a []*T where T is a + // message type. We load it as []pointer. + return *(*[]pointer)(p.p) } -func structPointer_Word64Val(p structPointer, f field) word64Val { - return word64Val((*uint64)(unsafe.Pointer(uintptr(p) + uintptr(f)))) +// setPointerSlice stores []pointer into p as a []*T. +// The value set is aliased with the input slice. +// This behavior differs from the implementation in pointer_reflect.go. +func (p pointer) setPointerSlice(v []pointer) { + // Super-tricky - p should point to a []*T where T is a + // message type. We store it as []pointer. + *(*[]pointer)(p.p) = v } -// word64Slice is like word32Slice but for 64-bit values. -type word64Slice []uint64 - -func (v *word64Slice) Append(x uint64) { *v = append(*v, x) } -func (v *word64Slice) Len() int { return len(*v) } -func (v *word64Slice) Index(i int) uint64 { return (*v)[i] } - -func structPointer_Word64Slice(p structPointer, f field) *word64Slice { - return (*word64Slice)(unsafe.Pointer(uintptr(p) + uintptr(f))) +// getPointer loads the pointer at p and returns it. +func (p pointer) getPointer() pointer { + return pointer{p: *(*unsafe.Pointer)(p.p)} +} + +// setPointer stores the pointer q at p. +func (p pointer) setPointer(q pointer) { + *(*unsafe.Pointer)(p.p) = q.p +} + +// append q to the slice pointed to by p. +func (p pointer) appendPointer(q pointer) { + s := (*[]unsafe.Pointer)(p.p) + *s = append(*s, q.p) +} + +// getInterfacePointer returns a pointer that points to the +// interface data of the interface pointed by p. +func (p pointer) getInterfacePointer() pointer { + // Super-tricky - read pointer out of data word of interface value. + return pointer{p: (*(*[2]unsafe.Pointer)(p.p))[1]} +} + +// asPointerTo returns a reflect.Value that is a pointer to an +// object of type t stored at p. +func (p pointer) asPointerTo(t reflect.Type) reflect.Value { + return reflect.NewAt(t, p.p) +} + +func atomicLoadUnmarshalInfo(p **unmarshalInfo) *unmarshalInfo { + return (*unmarshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreUnmarshalInfo(p **unmarshalInfo, v *unmarshalInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} +func atomicLoadMarshalInfo(p **marshalInfo) *marshalInfo { + return (*marshalInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreMarshalInfo(p **marshalInfo, v *marshalInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} +func atomicLoadMergeInfo(p **mergeInfo) *mergeInfo { + return (*mergeInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreMergeInfo(p **mergeInfo, v *mergeInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) +} +func atomicLoadDiscardInfo(p **discardInfo) *discardInfo { + return (*discardInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(p)))) +} +func atomicStoreDiscardInfo(p **discardInfo, v *discardInfo) { + atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(p)), unsafe.Pointer(v)) } diff --git a/vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go b/vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go index f156a29f0..aca8eed02 100644 --- a/vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go +++ b/vendor/github.com/gogo/protobuf/proto/pointer_unsafe_gogo.go @@ -1,6 +1,6 @@ // Protocol Buffers for Go with Gadgets // -// Copyright (c) 2013, The GoGo Authors. All rights reserved. +// Copyright (c) 2018, The GoGo Authors. All rights reserved. // http://github.com/gogo/protobuf // // Redistribution and use in source and binary forms, with or without @@ -26,7 +26,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// +build !appengine,!js +// +build !purego,!appengine,!js // This file contains the implementation of the proto field accesses using package unsafe. @@ -37,92 +37,20 @@ import ( "unsafe" ) -func structPointer_InterfaceAt(p structPointer, f field, t reflect.Type) interface{} { - point := unsafe.Pointer(uintptr(p) + uintptr(f)) - r := reflect.NewAt(t, point) - return r.Interface() +func (p pointer) getRef() pointer { + return pointer{p: (unsafe.Pointer)(&p.p)} } -func structPointer_InterfaceRef(p structPointer, f field, t reflect.Type) interface{} { - point := unsafe.Pointer(uintptr(p) + uintptr(f)) - r := reflect.NewAt(t, point) - if r.Elem().IsNil() { - return nil - } - return r.Elem().Interface() +func (p pointer) appendRef(v pointer, typ reflect.Type) { + slice := p.getSlice(typ) + elem := v.asPointerTo(typ).Elem() + newSlice := reflect.Append(slice, elem) + slice.Set(newSlice) } -func copyUintPtr(oldptr, newptr uintptr, size int) { - oldbytes := make([]byte, 0) - oldslice := (*reflect.SliceHeader)(unsafe.Pointer(&oldbytes)) - oldslice.Data = oldptr - oldslice.Len = size - oldslice.Cap = size - newbytes := make([]byte, 0) - newslice := (*reflect.SliceHeader)(unsafe.Pointer(&newbytes)) - newslice.Data = newptr - newslice.Len = size - newslice.Cap = size - copy(newbytes, oldbytes) -} - -func structPointer_Copy(oldptr structPointer, newptr structPointer, size int) { - copyUintPtr(uintptr(oldptr), uintptr(newptr), size) -} - -func appendStructPointer(base structPointer, f field, typ reflect.Type) structPointer { - size := typ.Elem().Size() - - oldHeader := structPointer_GetSliceHeader(base, f) - oldSlice := reflect.NewAt(typ, unsafe.Pointer(oldHeader)).Elem() - newLen := oldHeader.Len + 1 - newSlice := reflect.MakeSlice(typ, newLen, newLen) - reflect.Copy(newSlice, oldSlice) - bas := toStructPointer(newSlice) - oldHeader.Data = uintptr(bas) - oldHeader.Len = newLen - oldHeader.Cap = newLen - - return structPointer(unsafe.Pointer(uintptr(unsafe.Pointer(bas)) + uintptr(uintptr(newLen-1)*size))) -} - -func structPointer_FieldPointer(p structPointer, f field) structPointer { - return structPointer(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -func structPointer_GetRefStructPointer(p structPointer, f field) structPointer { - return structPointer((*structPointer)(unsafe.Pointer(uintptr(p) + uintptr(f)))) -} - -func structPointer_GetSliceHeader(p structPointer, f field) *reflect.SliceHeader { - return (*reflect.SliceHeader)(unsafe.Pointer(uintptr(p) + uintptr(f))) -} - -func structPointer_Add(p structPointer, size field) structPointer { - return structPointer(unsafe.Pointer(uintptr(p) + uintptr(size))) -} - -func structPointer_Len(p structPointer, f field) int { - return len(*(*[]interface{})(unsafe.Pointer(structPointer_GetRefStructPointer(p, f)))) -} - -func structPointer_StructRefSlice(p structPointer, f field, size uintptr) *structRefSlice { - return &structRefSlice{p: p, f: f, size: size} -} - -// A structRefSlice represents a slice of structs (themselves submessages or groups). -type structRefSlice struct { - p structPointer - f field - size uintptr -} - -func (v *structRefSlice) Len() int { - return structPointer_Len(v.p, v.f) -} - -func (v *structRefSlice) Index(i int) structPointer { - ss := structPointer_GetStructPointer(v.p, v.f) - ss1 := structPointer_GetRefStructPointer(ss, 0) - return structPointer_Add(ss1, field(uintptr(i)*v.size)) +func (p pointer) getSlice(typ reflect.Type) reflect.Value { + sliceTyp := reflect.SliceOf(typ) + slice := p.asPointerTo(sliceTyp) + slice = slice.Elem() + return slice } diff --git a/vendor/github.com/gogo/protobuf/proto/properties.go b/vendor/github.com/gogo/protobuf/proto/properties.go index 2a69e8862..04dcb8d9e 100644 --- a/vendor/github.com/gogo/protobuf/proto/properties.go +++ b/vendor/github.com/gogo/protobuf/proto/properties.go @@ -63,42 +63,6 @@ const ( WireFixed32 = 5 ) -const startSize = 10 // initial slice/string sizes - -// Encoders are defined in encode.go -// An encoder outputs the full representation of a field, including its -// tag and encoder type. -type encoder func(p *Buffer, prop *Properties, base structPointer) error - -// A valueEncoder encodes a single integer in a particular encoding. -type valueEncoder func(o *Buffer, x uint64) error - -// Sizers are defined in encode.go -// A sizer returns the encoded size of a field, including its tag and encoder -// type. -type sizer func(prop *Properties, base structPointer) int - -// A valueSizer returns the encoded size of a single integer in a particular -// encoding. -type valueSizer func(x uint64) int - -// Decoders are defined in decode.go -// A decoder creates a value from its wire representation. -// Unrecognized subelements are saved in unrec. -type decoder func(p *Buffer, prop *Properties, base structPointer) error - -// A valueDecoder decodes a single integer in a particular encoding. -type valueDecoder func(o *Buffer) (x uint64, err error) - -// A oneofMarshaler does the marshaling for all oneof fields in a message. -type oneofMarshaler func(Message, *Buffer) error - -// A oneofUnmarshaler does the unmarshaling for a oneof field in a message. -type oneofUnmarshaler func(Message, int, int, *Buffer) (bool, error) - -// A oneofSizer does the sizing for all oneof fields in a message. -type oneofSizer func(Message) int - // tagMap is an optimization over map[int]int for typical protocol buffer // use-cases. Encoded protocol buffers are often in tag order with small tag // numbers. @@ -145,13 +109,6 @@ type StructProperties struct { decoderTags tagMap // map from proto tag to struct field number decoderOrigNames map[string]int // map from original name to struct field number order []int // list of struct field numbers in tag order - unrecField field // field id of the XXX_unrecognized []byte field - extendable bool // is this an extendable proto - - oneofMarshaler oneofMarshaler - oneofUnmarshaler oneofUnmarshaler - oneofSizer oneofSizer - stype reflect.Type // OneofTypes contains information about the oneof fields in this message. // It is keyed by the original name of a field. @@ -187,7 +144,7 @@ type Properties struct { Repeated bool Packed bool // relevant for repeated primitives only Enum string // set for enum types only - proto3 bool // whether this is known to be a proto3 field; set for []byte only + proto3 bool // whether this is known to be a proto3 field oneof bool // whether this is a oneof field Default string // default value @@ -196,37 +153,21 @@ type Properties struct { CastType string StdTime bool StdDuration bool + WktPointer bool - enc encoder - valEnc valueEncoder // set for bool and numeric types only - field field - tagcode []byte // encoding of EncodeVarint((Tag<<3)|WireType) - tagbuf [8]byte - stype reflect.Type // set for struct types only - sstype reflect.Type // set for slices of structs types only - ctype reflect.Type // set for custom types only - sprop *StructProperties // set for struct types only - isMarshaler bool - isUnmarshaler bool + stype reflect.Type // set for struct types only + ctype reflect.Type // set for custom types only + sprop *StructProperties // set for struct types only - mtype reflect.Type // set for map types only - mkeyprop *Properties // set for map types only - mvalprop *Properties // set for map types only - - size sizer - valSize valueSizer // set for bool and numeric types only - - dec decoder - valDec valueDecoder // set for bool and numeric types only - - // If this is a packable field, this will be the decoder for the packed version of the field. - packedDec decoder + mtype reflect.Type // set for map types only + MapKeyProp *Properties // set for map types only + MapValProp *Properties // set for map types only } // String formats the properties in the protobuf struct field tag style. func (p *Properties) String() string { s := p.Wire - s = "," + s += "," s += strconv.Itoa(p.Tag) if p.Required { s += ",req" @@ -272,29 +213,14 @@ func (p *Properties) Parse(s string) { switch p.Wire { case "varint": p.WireType = WireVarint - p.valEnc = (*Buffer).EncodeVarint - p.valDec = (*Buffer).DecodeVarint - p.valSize = sizeVarint case "fixed32": p.WireType = WireFixed32 - p.valEnc = (*Buffer).EncodeFixed32 - p.valDec = (*Buffer).DecodeFixed32 - p.valSize = sizeFixed32 case "fixed64": p.WireType = WireFixed64 - p.valEnc = (*Buffer).EncodeFixed64 - p.valDec = (*Buffer).DecodeFixed64 - p.valSize = sizeFixed64 case "zigzag32": p.WireType = WireVarint - p.valEnc = (*Buffer).EncodeZigzag32 - p.valDec = (*Buffer).DecodeZigzag32 - p.valSize = sizeZigzag32 case "zigzag64": p.WireType = WireVarint - p.valEnc = (*Buffer).EncodeZigzag64 - p.valDec = (*Buffer).DecodeZigzag64 - p.valSize = sizeZigzag64 case "bytes", "group": p.WireType = WireBytes // no numeric converter for non-numeric types @@ -309,6 +235,7 @@ func (p *Properties) Parse(s string) { return } +outer: for i := 2; i < len(fields); i++ { f := fields[i] switch { @@ -336,7 +263,7 @@ func (p *Properties) Parse(s string) { if i+1 < len(fields) { // Commas aren't escaped, and def is always last. p.Default += "," + strings.Join(fields[i+1:], ",") - break + break outer } case strings.HasPrefix(f, "embedded="): p.OrigName = strings.Split(f, "=")[1] @@ -348,301 +275,58 @@ func (p *Properties) Parse(s string) { p.StdTime = true case f == "stdduration": p.StdDuration = true + case f == "wktptr": + p.WktPointer = true } } } -func logNoSliceEnc(t1, t2 reflect.Type) { - fmt.Fprintf(os.Stderr, "proto: no slice oenc for %T = []%T\n", t1, t2) -} - var protoMessageType = reflect.TypeOf((*Message)(nil)).Elem() -// Initialize the fields for encoding and decoding. -func (p *Properties) setEncAndDec(typ reflect.Type, f *reflect.StructField, lockGetProp bool) { - p.enc = nil - p.dec = nil - p.size = nil +// setFieldProps initializes the field properties for submessages and maps. +func (p *Properties) setFieldProps(typ reflect.Type, f *reflect.StructField, lockGetProp bool) { isMap := typ.Kind() == reflect.Map if len(p.CustomType) > 0 && !isMap { - p.setCustomEncAndDec(typ) + p.ctype = typ p.setTag(lockGetProp) return } if p.StdTime && !isMap { - p.setTimeEncAndDec(typ) p.setTag(lockGetProp) return } if p.StdDuration && !isMap { - p.setDurationEncAndDec(typ) + p.setTag(lockGetProp) + return + } + if p.WktPointer && !isMap { p.setTag(lockGetProp) return } switch t1 := typ; t1.Kind() { - default: - fmt.Fprintf(os.Stderr, "proto: no coders for %v\n", t1) - - // proto3 scalar types - - case reflect.Bool: - if p.proto3 { - p.enc = (*Buffer).enc_proto3_bool - p.dec = (*Buffer).dec_proto3_bool - p.size = size_proto3_bool - } else { - p.enc = (*Buffer).enc_ref_bool - p.dec = (*Buffer).dec_proto3_bool - p.size = size_ref_bool - } - case reflect.Int32: - if p.proto3 { - p.enc = (*Buffer).enc_proto3_int32 - p.dec = (*Buffer).dec_proto3_int32 - p.size = size_proto3_int32 - } else { - p.enc = (*Buffer).enc_ref_int32 - p.dec = (*Buffer).dec_proto3_int32 - p.size = size_ref_int32 - } - case reflect.Uint32: - if p.proto3 { - p.enc = (*Buffer).enc_proto3_uint32 - p.dec = (*Buffer).dec_proto3_int32 // can reuse - p.size = size_proto3_uint32 - } else { - p.enc = (*Buffer).enc_ref_uint32 - p.dec = (*Buffer).dec_proto3_int32 // can reuse - p.size = size_ref_uint32 - } - case reflect.Int64, reflect.Uint64: - if p.proto3 { - p.enc = (*Buffer).enc_proto3_int64 - p.dec = (*Buffer).dec_proto3_int64 - p.size = size_proto3_int64 - } else { - p.enc = (*Buffer).enc_ref_int64 - p.dec = (*Buffer).dec_proto3_int64 - p.size = size_ref_int64 - } - case reflect.Float32: - if p.proto3 { - p.enc = (*Buffer).enc_proto3_uint32 // can just treat them as bits - p.dec = (*Buffer).dec_proto3_int32 - p.size = size_proto3_uint32 - } else { - p.enc = (*Buffer).enc_ref_uint32 // can just treat them as bits - p.dec = (*Buffer).dec_proto3_int32 - p.size = size_ref_uint32 - } - case reflect.Float64: - if p.proto3 { - p.enc = (*Buffer).enc_proto3_int64 // can just treat them as bits - p.dec = (*Buffer).dec_proto3_int64 - p.size = size_proto3_int64 - } else { - p.enc = (*Buffer).enc_ref_int64 // can just treat them as bits - p.dec = (*Buffer).dec_proto3_int64 - p.size = size_ref_int64 - } - case reflect.String: - if p.proto3 { - p.enc = (*Buffer).enc_proto3_string - p.dec = (*Buffer).dec_proto3_string - p.size = size_proto3_string - } else { - p.enc = (*Buffer).enc_ref_string - p.dec = (*Buffer).dec_proto3_string - p.size = size_ref_string - } case reflect.Struct: p.stype = typ - p.isMarshaler = isMarshaler(typ) - p.isUnmarshaler = isUnmarshaler(typ) - if p.Wire == "bytes" { - p.enc = (*Buffer).enc_ref_struct_message - p.dec = (*Buffer).dec_ref_struct_message - p.size = size_ref_struct_message - } else { - fmt.Fprintf(os.Stderr, "proto: no coders for struct %T\n", typ) - } - case reflect.Ptr: - switch t2 := t1.Elem(); t2.Kind() { - default: - fmt.Fprintf(os.Stderr, "proto: no encoder function for %v -> %v\n", t1, t2) - break - case reflect.Bool: - p.enc = (*Buffer).enc_bool - p.dec = (*Buffer).dec_bool - p.size = size_bool - case reflect.Int32: - p.enc = (*Buffer).enc_int32 - p.dec = (*Buffer).dec_int32 - p.size = size_int32 - case reflect.Uint32: - p.enc = (*Buffer).enc_uint32 - p.dec = (*Buffer).dec_int32 // can reuse - p.size = size_uint32 - case reflect.Int64, reflect.Uint64: - p.enc = (*Buffer).enc_int64 - p.dec = (*Buffer).dec_int64 - p.size = size_int64 - case reflect.Float32: - p.enc = (*Buffer).enc_uint32 // can just treat them as bits - p.dec = (*Buffer).dec_int32 - p.size = size_uint32 - case reflect.Float64: - p.enc = (*Buffer).enc_int64 // can just treat them as bits - p.dec = (*Buffer).dec_int64 - p.size = size_int64 - case reflect.String: - p.enc = (*Buffer).enc_string - p.dec = (*Buffer).dec_string - p.size = size_string - case reflect.Struct: + if t1.Elem().Kind() == reflect.Struct { p.stype = t1.Elem() - p.isMarshaler = isMarshaler(t1) - p.isUnmarshaler = isUnmarshaler(t1) - if p.Wire == "bytes" { - p.enc = (*Buffer).enc_struct_message - p.dec = (*Buffer).dec_struct_message - p.size = size_struct_message - } else { - p.enc = (*Buffer).enc_struct_group - p.dec = (*Buffer).dec_struct_group - p.size = size_struct_group - } } - case reflect.Slice: switch t2 := t1.Elem(); t2.Kind() { - default: - logNoSliceEnc(t1, t2) - break - case reflect.Bool: - if p.Packed { - p.enc = (*Buffer).enc_slice_packed_bool - p.size = size_slice_packed_bool - } else { - p.enc = (*Buffer).enc_slice_bool - p.size = size_slice_bool - } - p.dec = (*Buffer).dec_slice_bool - p.packedDec = (*Buffer).dec_slice_packed_bool - case reflect.Int32: - if p.Packed { - p.enc = (*Buffer).enc_slice_packed_int32 - p.size = size_slice_packed_int32 - } else { - p.enc = (*Buffer).enc_slice_int32 - p.size = size_slice_int32 - } - p.dec = (*Buffer).dec_slice_int32 - p.packedDec = (*Buffer).dec_slice_packed_int32 - case reflect.Uint32: - if p.Packed { - p.enc = (*Buffer).enc_slice_packed_uint32 - p.size = size_slice_packed_uint32 - } else { - p.enc = (*Buffer).enc_slice_uint32 - p.size = size_slice_uint32 - } - p.dec = (*Buffer).dec_slice_int32 - p.packedDec = (*Buffer).dec_slice_packed_int32 - case reflect.Int64, reflect.Uint64: - if p.Packed { - p.enc = (*Buffer).enc_slice_packed_int64 - p.size = size_slice_packed_int64 - } else { - p.enc = (*Buffer).enc_slice_int64 - p.size = size_slice_int64 - } - p.dec = (*Buffer).dec_slice_int64 - p.packedDec = (*Buffer).dec_slice_packed_int64 - case reflect.Uint8: - p.dec = (*Buffer).dec_slice_byte - if p.proto3 { - p.enc = (*Buffer).enc_proto3_slice_byte - p.size = size_proto3_slice_byte - } else { - p.enc = (*Buffer).enc_slice_byte - p.size = size_slice_byte - } - case reflect.Float32, reflect.Float64: - switch t2.Bits() { - case 32: - // can just treat them as bits - if p.Packed { - p.enc = (*Buffer).enc_slice_packed_uint32 - p.size = size_slice_packed_uint32 - } else { - p.enc = (*Buffer).enc_slice_uint32 - p.size = size_slice_uint32 - } - p.dec = (*Buffer).dec_slice_int32 - p.packedDec = (*Buffer).dec_slice_packed_int32 - case 64: - // can just treat them as bits - if p.Packed { - p.enc = (*Buffer).enc_slice_packed_int64 - p.size = size_slice_packed_int64 - } else { - p.enc = (*Buffer).enc_slice_int64 - p.size = size_slice_int64 - } - p.dec = (*Buffer).dec_slice_int64 - p.packedDec = (*Buffer).dec_slice_packed_int64 - default: - logNoSliceEnc(t1, t2) - break - } - case reflect.String: - p.enc = (*Buffer).enc_slice_string - p.dec = (*Buffer).dec_slice_string - p.size = size_slice_string case reflect.Ptr: switch t3 := t2.Elem(); t3.Kind() { - default: - fmt.Fprintf(os.Stderr, "proto: no ptr oenc for %T -> %T -> %T\n", t1, t2, t3) - break case reflect.Struct: - p.stype = t2.Elem() - p.isMarshaler = isMarshaler(t2) - p.isUnmarshaler = isUnmarshaler(t2) - if p.Wire == "bytes" { - p.enc = (*Buffer).enc_slice_struct_message - p.dec = (*Buffer).dec_slice_struct_message - p.size = size_slice_struct_message - } else { - p.enc = (*Buffer).enc_slice_struct_group - p.dec = (*Buffer).dec_slice_struct_group - p.size = size_slice_struct_group - } - } - case reflect.Slice: - switch t2.Elem().Kind() { - default: - fmt.Fprintf(os.Stderr, "proto: no slice elem oenc for %T -> %T -> %T\n", t1, t2, t2.Elem()) - break - case reflect.Uint8: - p.enc = (*Buffer).enc_slice_slice_byte - p.dec = (*Buffer).dec_slice_slice_byte - p.size = size_slice_slice_byte + p.stype = t3 } case reflect.Struct: - p.setSliceOfNonPointerStructs(t1) + p.stype = t2 } case reflect.Map: - p.enc = (*Buffer).enc_new_map - p.dec = (*Buffer).dec_new_map - p.size = size_new_map p.mtype = t1 - p.mkeyprop = &Properties{} - p.mkeyprop.init(reflect.PtrTo(p.mtype.Key()), "Key", f.Tag.Get("protobuf_key"), nil, lockGetProp) - p.mvalprop = &Properties{} + p.MapKeyProp = &Properties{} + p.MapKeyProp.init(reflect.PtrTo(p.mtype.Key()), "Key", f.Tag.Get("protobuf_key"), nil, lockGetProp) + p.MapValProp = &Properties{} vtype := p.mtype.Elem() if vtype.Kind() != reflect.Ptr && vtype.Kind() != reflect.Slice { // The value type is not a message (*T) or bytes ([]byte), @@ -650,29 +334,16 @@ func (p *Properties) setEncAndDec(typ reflect.Type, f *reflect.StructField, lock vtype = reflect.PtrTo(vtype) } - p.mvalprop.CustomType = p.CustomType - p.mvalprop.StdDuration = p.StdDuration - p.mvalprop.StdTime = p.StdTime - p.mvalprop.init(vtype, "Value", f.Tag.Get("protobuf_val"), nil, lockGetProp) + p.MapValProp.CustomType = p.CustomType + p.MapValProp.StdDuration = p.StdDuration + p.MapValProp.StdTime = p.StdTime + p.MapValProp.WktPointer = p.WktPointer + p.MapValProp.init(vtype, "Value", f.Tag.Get("protobuf_val"), nil, lockGetProp) } p.setTag(lockGetProp) } func (p *Properties) setTag(lockGetProp bool) { - // precalculate tag code - wire := p.WireType - if p.Packed { - wire = WireBytes - } - x := uint32(p.Tag)<<3 | uint32(wire) - i := 0 - for i = 0; x > 127; i++ { - p.tagbuf[i] = 0x80 | uint8(x&0x7F) - x >>= 7 - } - p.tagbuf[i] = uint8(x) - p.tagcode = p.tagbuf[0 : i+1] - if p.stype != nil { if lockGetProp { p.sprop = GetProperties(p.stype) @@ -683,20 +354,9 @@ func (p *Properties) setTag(lockGetProp bool) { } var ( - marshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem() - unmarshalerType = reflect.TypeOf((*Unmarshaler)(nil)).Elem() + marshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem() ) -// isMarshaler reports whether type t implements Marshaler. -func isMarshaler(t reflect.Type) bool { - return t.Implements(marshalerType) -} - -// isUnmarshaler reports whether type t implements Unmarshaler. -func isUnmarshaler(t reflect.Type) bool { - return t.Implements(unmarshalerType) -} - // Init populates the properties from a protocol buffer struct tag. func (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) { p.init(typ, name, tag, f, true) @@ -706,14 +366,11 @@ func (p *Properties) init(typ reflect.Type, name, tag string, f *reflect.StructF // "bytes,49,opt,def=hello!" p.Name = name p.OrigName = name - if f != nil { - p.field = toField(f) - } if tag == "" { return } p.Parse(tag) - p.setEncAndDec(typ, f, lockGetProp) + p.setFieldProps(typ, f, lockGetProp) } var ( @@ -763,10 +420,6 @@ func getPropertiesLocked(t reflect.Type) *StructProperties { propertiesMap[t] = prop // build properties - prop.extendable = reflect.PtrTo(t).Implements(extendableProtoType) || - reflect.PtrTo(t).Implements(extendableProtoV1Type) || - reflect.PtrTo(t).Implements(extendableBytesType) - prop.unrecField = invalidField prop.Prop = make([]*Properties, t.NumField()) prop.order = make([]int, t.NumField()) @@ -777,23 +430,6 @@ func getPropertiesLocked(t reflect.Type) *StructProperties { name := f.Name p.init(f.Type, name, f.Tag.Get("protobuf"), &f, false) - if f.Name == "XXX_InternalExtensions" { // special case - p.enc = (*Buffer).enc_exts - p.dec = nil // not needed - p.size = size_exts - } else if f.Name == "XXX_extensions" { // special case - if len(f.Tag.Get("protobuf")) > 0 { - p.enc = (*Buffer).enc_ext_slice_byte - p.dec = nil // not needed - p.size = size_ext_slice_byte - } else { - p.enc = (*Buffer).enc_map - p.dec = nil // not needed - p.size = size_map - } - } else if f.Name == "XXX_unrecognized" { // special case - prop.unrecField = toField(&f) - } oneof := f.Tag.Get("protobuf_oneof") // special case if oneof != "" { isOneofMessage = true @@ -809,9 +445,6 @@ func getPropertiesLocked(t reflect.Type) *StructProperties { } print("\n") } - if p.enc == nil && !strings.HasPrefix(f.Name, "XXX_") && oneof == "" { - fmt.Fprintln(os.Stderr, "proto: no encoder for", f.Name, f.Type.String(), "[GetProperties]") - } } // Re-order prop.order. @@ -822,8 +455,7 @@ func getPropertiesLocked(t reflect.Type) *StructProperties { } if om, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); isOneofMessage && ok { var oots []interface{} - prop.oneofMarshaler, prop.oneofUnmarshaler, prop.oneofSizer, oots = om.XXX_OneofFuncs() - prop.stype = t + _, _, _, oots = om.XXX_OneofFuncs() // Interpret oneof metadata. prop.OneofTypes = make(map[string]*OneofProperties) @@ -873,30 +505,6 @@ func getPropertiesLocked(t reflect.Type) *StructProperties { return prop } -// Return the Properties object for the x[0]'th field of the structure. -func propByIndex(t reflect.Type, x []int) *Properties { - if len(x) != 1 { - fmt.Fprintf(os.Stderr, "proto: field index dimension %d (not 1) for type %s\n", len(x), t) - return nil - } - prop := GetProperties(t) - return prop.Prop[x[0]] -} - -// Get the address and type of a pointer to a struct from an interface. -func getbase(pb Message) (t reflect.Type, b structPointer, err error) { - if pb == nil { - err = ErrNil - return - } - // get the reflect type of the pointer to the struct. - t = reflect.TypeOf(pb) - // get the address of the struct. - value := reflect.ValueOf(pb) - b = toStructPointer(value) - return -} - // A global registry of enum types. // The generated code will register the generated maps by calling RegisterEnum. @@ -925,20 +533,42 @@ func EnumValueMap(enumType string) map[string]int32 { // A registry of all linked message types. // The string is a fully-qualified proto name ("pkg.Message"). var ( - protoTypes = make(map[string]reflect.Type) - revProtoTypes = make(map[reflect.Type]string) + protoTypedNils = make(map[string]Message) // a map from proto names to typed nil pointers + protoMapTypes = make(map[string]reflect.Type) // a map from proto names to map types + revProtoTypes = make(map[reflect.Type]string) ) // RegisterType is called from generated code and maps from the fully qualified // proto name to the type (pointer to struct) of the protocol buffer. func RegisterType(x Message, name string) { - if _, ok := protoTypes[name]; ok { + if _, ok := protoTypedNils[name]; ok { // TODO: Some day, make this a panic. log.Printf("proto: duplicate proto type registered: %s", name) return } t := reflect.TypeOf(x) - protoTypes[name] = t + if v := reflect.ValueOf(x); v.Kind() == reflect.Ptr && v.Pointer() == 0 { + // Generated code always calls RegisterType with nil x. + // This check is just for extra safety. + protoTypedNils[name] = x + } else { + protoTypedNils[name] = reflect.Zero(t).Interface().(Message) + } + revProtoTypes[t] = name +} + +// RegisterMapType is called from generated code and maps from the fully qualified +// proto name to the native map type of the proto map definition. +func RegisterMapType(x interface{}, name string) { + if reflect.TypeOf(x).Kind() != reflect.Map { + panic(fmt.Sprintf("RegisterMapType(%T, %q); want map", x, name)) + } + if _, ok := protoMapTypes[name]; ok { + log.Printf("proto: duplicate proto type registered: %s", name) + return + } + t := reflect.TypeOf(x) + protoMapTypes[name] = t revProtoTypes[t] = name } @@ -954,7 +584,14 @@ func MessageName(x Message) string { } // MessageType returns the message type (pointer to struct) for a named message. -func MessageType(name string) reflect.Type { return protoTypes[name] } +// The type is not guaranteed to implement proto.Message if the name refers to a +// map entry. +func MessageType(name string) reflect.Type { + if t, ok := protoTypedNils[name]; ok { + return reflect.TypeOf(t) + } + return protoMapTypes[name] +} // A registry of all linked proto files. var ( diff --git a/vendor/github.com/gogo/protobuf/proto/properties_gogo.go b/vendor/github.com/gogo/protobuf/proto/properties_gogo.go index b6b7176c5..40ea3dd93 100644 --- a/vendor/github.com/gogo/protobuf/proto/properties_gogo.go +++ b/vendor/github.com/gogo/protobuf/proto/properties_gogo.go @@ -1,6 +1,6 @@ // Protocol Buffers for Go with Gadgets // -// Copyright (c) 2013, The GoGo Authors. All rights reserved. +// Copyright (c) 2018, The GoGo Authors. All rights reserved. // http://github.com/gogo/protobuf // // Redistribution and use in source and binary forms, with or without @@ -29,83 +29,8 @@ package proto import ( - "fmt" - "os" "reflect" ) -func (p *Properties) setCustomEncAndDec(typ reflect.Type) { - p.ctype = typ - if p.Repeated { - p.enc = (*Buffer).enc_custom_slice_bytes - p.dec = (*Buffer).dec_custom_slice_bytes - p.size = size_custom_slice_bytes - } else if typ.Kind() == reflect.Ptr { - p.enc = (*Buffer).enc_custom_bytes - p.dec = (*Buffer).dec_custom_bytes - p.size = size_custom_bytes - } else { - p.enc = (*Buffer).enc_custom_ref_bytes - p.dec = (*Buffer).dec_custom_ref_bytes - p.size = size_custom_ref_bytes - } -} - -func (p *Properties) setDurationEncAndDec(typ reflect.Type) { - if p.Repeated { - if typ.Elem().Kind() == reflect.Ptr { - p.enc = (*Buffer).enc_slice_duration - p.dec = (*Buffer).dec_slice_duration - p.size = size_slice_duration - } else { - p.enc = (*Buffer).enc_slice_ref_duration - p.dec = (*Buffer).dec_slice_ref_duration - p.size = size_slice_ref_duration - } - } else if typ.Kind() == reflect.Ptr { - p.enc = (*Buffer).enc_duration - p.dec = (*Buffer).dec_duration - p.size = size_duration - } else { - p.enc = (*Buffer).enc_ref_duration - p.dec = (*Buffer).dec_ref_duration - p.size = size_ref_duration - } -} - -func (p *Properties) setTimeEncAndDec(typ reflect.Type) { - if p.Repeated { - if typ.Elem().Kind() == reflect.Ptr { - p.enc = (*Buffer).enc_slice_time - p.dec = (*Buffer).dec_slice_time - p.size = size_slice_time - } else { - p.enc = (*Buffer).enc_slice_ref_time - p.dec = (*Buffer).dec_slice_ref_time - p.size = size_slice_ref_time - } - } else if typ.Kind() == reflect.Ptr { - p.enc = (*Buffer).enc_time - p.dec = (*Buffer).dec_time - p.size = size_time - } else { - p.enc = (*Buffer).enc_ref_time - p.dec = (*Buffer).dec_ref_time - p.size = size_ref_time - } - -} - -func (p *Properties) setSliceOfNonPointerStructs(typ reflect.Type) { - t2 := typ.Elem() - p.sstype = typ - p.stype = t2 - p.isMarshaler = isMarshaler(t2) - p.isUnmarshaler = isUnmarshaler(t2) - p.enc = (*Buffer).enc_slice_ref_struct_message - p.dec = (*Buffer).dec_slice_ref_struct_message - p.size = size_slice_ref_struct_message - if p.Wire != "bytes" { - fmt.Fprintf(os.Stderr, "proto: no ptr oenc for %T -> %T \n", typ, t2) - } -} +var sizerType = reflect.TypeOf((*Sizer)(nil)).Elem() +var protosizerType = reflect.TypeOf((*ProtoSizer)(nil)).Elem() diff --git a/vendor/github.com/gogo/protobuf/proto/proto3_proto/Makefile b/vendor/github.com/gogo/protobuf/proto/proto3_proto/Makefile new file mode 100644 index 000000000..158782f0a --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/proto3_proto/Makefile @@ -0,0 +1,7 @@ +regenerate: + go install github.com/gogo/protobuf/protoc-min-version + protoc-min-version --version="3.0.0" --gogo_out=\ + Mtest_proto/test.proto=github.com/gogo/protobuf/proto/test_proto,\ + Mgoogle/protobuf/any.proto=github.com/gogo/protobuf/types:. \ + --proto_path=../../protobuf:../:. proto3.proto + diff --git a/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.pb.go b/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.pb.go index 5c6aff77d..d896fa977 100644 --- a/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.pb.go +++ b/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.pb.go @@ -1,26 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: proto3_proto/proto3.proto +// source: proto3.proto -/* -Package proto3_proto is a generated protocol buffer package. - -It is generated from these files: - proto3_proto/proto3.proto - -It has these top-level messages: - Message - Nested - MessageWithMap - IntMap - IntMaps -*/ package proto3_proto import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" -import google_protobuf "github.com/gogo/protobuf/types" -import testdata "github.com/gogo/protobuf/proto/testdata" +import test_proto "github.com/gogo/protobuf/proto/test_proto" +import types "github.com/gogo/protobuf/types" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -58,33 +45,58 @@ var Message_Humour_value = map[string]int32{ func (x Message_Humour) String() string { return proto.EnumName(Message_Humour_name, int32(x)) } -func (Message_Humour) EnumDescriptor() ([]byte, []int) { return fileDescriptorProto3, []int{0, 0} } - -type Message struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Hilarity Message_Humour `protobuf:"varint,2,opt,name=hilarity,proto3,enum=proto3_proto.Message_Humour" json:"hilarity,omitempty"` - HeightInCm uint32 `protobuf:"varint,3,opt,name=height_in_cm,json=heightInCm,proto3" json:"height_in_cm,omitempty"` - Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` - ResultCount int64 `protobuf:"varint,7,opt,name=result_count,json=resultCount,proto3" json:"result_count,omitempty"` - TrueScotsman bool `protobuf:"varint,8,opt,name=true_scotsman,json=trueScotsman,proto3" json:"true_scotsman,omitempty"` - Score float32 `protobuf:"fixed32,9,opt,name=score,proto3" json:"score,omitempty"` - Key []uint64 `protobuf:"varint,5,rep,packed,name=key" json:"key,omitempty"` - ShortKey []int32 `protobuf:"varint,19,rep,packed,name=short_key,json=shortKey" json:"short_key,omitempty"` - Nested *Nested `protobuf:"bytes,6,opt,name=nested" json:"nested,omitempty"` - RFunny []Message_Humour `protobuf:"varint,16,rep,packed,name=r_funny,json=rFunny,enum=proto3_proto.Message_Humour" json:"r_funny,omitempty"` - Terrain map[string]*Nested `protobuf:"bytes,10,rep,name=terrain" json:"terrain,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` - Proto2Field *testdata.SubDefaults `protobuf:"bytes,11,opt,name=proto2_field,json=proto2Field" json:"proto2_field,omitempty"` - Proto2Value map[string]*testdata.SubDefaults `protobuf:"bytes,13,rep,name=proto2_value,json=proto2Value" json:"proto2_value,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` - Anything *google_protobuf.Any `protobuf:"bytes,14,opt,name=anything" json:"anything,omitempty"` - ManyThings []*google_protobuf.Any `protobuf:"bytes,15,rep,name=many_things,json=manyThings" json:"many_things,omitempty"` - Submessage *Message `protobuf:"bytes,17,opt,name=submessage" json:"submessage,omitempty"` - Children []*Message `protobuf:"bytes,18,rep,name=children" json:"children,omitempty"` +func (Message_Humour) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_proto3_648c710522dc372e, []int{0, 0} } -func (m *Message) Reset() { *m = Message{} } -func (m *Message) String() string { return proto.CompactTextString(m) } -func (*Message) ProtoMessage() {} -func (*Message) Descriptor() ([]byte, []int) { return fileDescriptorProto3, []int{0} } +type Message struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Hilarity Message_Humour `protobuf:"varint,2,opt,name=hilarity,proto3,enum=proto3_proto.Message_Humour" json:"hilarity,omitempty"` + HeightInCm uint32 `protobuf:"varint,3,opt,name=height_in_cm,json=heightInCm,proto3" json:"height_in_cm,omitempty"` + Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` + ResultCount int64 `protobuf:"varint,7,opt,name=result_count,json=resultCount,proto3" json:"result_count,omitempty"` + TrueScotsman bool `protobuf:"varint,8,opt,name=true_scotsman,json=trueScotsman,proto3" json:"true_scotsman,omitempty"` + Score float32 `protobuf:"fixed32,9,opt,name=score,proto3" json:"score,omitempty"` + Key []uint64 `protobuf:"varint,5,rep,packed,name=key,proto3" json:"key,omitempty"` + ShortKey []int32 `protobuf:"varint,19,rep,packed,name=short_key,json=shortKey,proto3" json:"short_key,omitempty"` + Nested *Nested `protobuf:"bytes,6,opt,name=nested,proto3" json:"nested,omitempty"` + RFunny []Message_Humour `protobuf:"varint,16,rep,packed,name=r_funny,json=rFunny,proto3,enum=proto3_proto.Message_Humour" json:"r_funny,omitempty"` + Terrain map[string]*Nested `protobuf:"bytes,10,rep,name=terrain,proto3" json:"terrain,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Proto2Field *test_proto.SubDefaults `protobuf:"bytes,11,opt,name=proto2_field,json=proto2Field,proto3" json:"proto2_field,omitempty"` + Proto2Value map[string]*test_proto.SubDefaults `protobuf:"bytes,13,rep,name=proto2_value,json=proto2Value,proto3" json:"proto2_value,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Anything *types.Any `protobuf:"bytes,14,opt,name=anything,proto3" json:"anything,omitempty"` + ManyThings []*types.Any `protobuf:"bytes,15,rep,name=many_things,json=manyThings,proto3" json:"many_things,omitempty"` + Submessage *Message `protobuf:"bytes,17,opt,name=submessage,proto3" json:"submessage,omitempty"` + Children []*Message `protobuf:"bytes,18,rep,name=children,proto3" json:"children,omitempty"` + StringMap map[string]string `protobuf:"bytes,20,rep,name=string_map,json=stringMap,proto3" json:"string_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Message) Reset() { *m = Message{} } +func (m *Message) String() string { return proto.CompactTextString(m) } +func (*Message) ProtoMessage() {} +func (*Message) Descriptor() ([]byte, []int) { + return fileDescriptor_proto3_648c710522dc372e, []int{0} +} +func (m *Message) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Message.Unmarshal(m, b) +} +func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Message.Marshal(b, m, deterministic) +} +func (dst *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(dst, src) +} +func (m *Message) XXX_Size() int { + return xxx_messageInfo_Message.Size(m) +} +func (m *Message) XXX_DiscardUnknown() { + xxx_messageInfo_Message.DiscardUnknown(m) +} + +var xxx_messageInfo_Message proto.InternalMessageInfo func (m *Message) GetName() string { if m != nil { @@ -170,28 +182,28 @@ func (m *Message) GetTerrain() map[string]*Nested { return nil } -func (m *Message) GetProto2Field() *testdata.SubDefaults { +func (m *Message) GetProto2Field() *test_proto.SubDefaults { if m != nil { return m.Proto2Field } return nil } -func (m *Message) GetProto2Value() map[string]*testdata.SubDefaults { +func (m *Message) GetProto2Value() map[string]*test_proto.SubDefaults { if m != nil { return m.Proto2Value } return nil } -func (m *Message) GetAnything() *google_protobuf.Any { +func (m *Message) GetAnything() *types.Any { if m != nil { return m.Anything } return nil } -func (m *Message) GetManyThings() []*google_protobuf.Any { +func (m *Message) GetManyThings() []*types.Any { if m != nil { return m.ManyThings } @@ -212,15 +224,44 @@ func (m *Message) GetChildren() []*Message { return nil } -type Nested struct { - Bunny string `protobuf:"bytes,1,opt,name=bunny,proto3" json:"bunny,omitempty"` - Cute bool `protobuf:"varint,2,opt,name=cute,proto3" json:"cute,omitempty"` +func (m *Message) GetStringMap() map[string]string { + if m != nil { + return m.StringMap + } + return nil } -func (m *Nested) Reset() { *m = Nested{} } -func (m *Nested) String() string { return proto.CompactTextString(m) } -func (*Nested) ProtoMessage() {} -func (*Nested) Descriptor() ([]byte, []int) { return fileDescriptorProto3, []int{1} } +type Nested struct { + Bunny string `protobuf:"bytes,1,opt,name=bunny,proto3" json:"bunny,omitempty"` + Cute bool `protobuf:"varint,2,opt,name=cute,proto3" json:"cute,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Nested) Reset() { *m = Nested{} } +func (m *Nested) String() string { return proto.CompactTextString(m) } +func (*Nested) ProtoMessage() {} +func (*Nested) Descriptor() ([]byte, []int) { + return fileDescriptor_proto3_648c710522dc372e, []int{1} +} +func (m *Nested) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Nested.Unmarshal(m, b) +} +func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Nested.Marshal(b, m, deterministic) +} +func (dst *Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nested.Merge(dst, src) +} +func (m *Nested) XXX_Size() int { + return xxx_messageInfo_Nested.Size(m) +} +func (m *Nested) XXX_DiscardUnknown() { + xxx_messageInfo_Nested.DiscardUnknown(m) +} + +var xxx_messageInfo_Nested proto.InternalMessageInfo func (m *Nested) GetBunny() string { if m != nil { @@ -237,13 +278,35 @@ func (m *Nested) GetCute() bool { } type MessageWithMap struct { - ByteMapping map[bool][]byte `protobuf:"bytes,1,rep,name=byte_mapping,json=byteMapping" json:"byte_mapping,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ByteMapping map[bool][]byte `protobuf:"bytes,1,rep,name=byte_mapping,json=byteMapping,proto3" json:"byte_mapping,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } -func (m *MessageWithMap) String() string { return proto.CompactTextString(m) } -func (*MessageWithMap) ProtoMessage() {} -func (*MessageWithMap) Descriptor() ([]byte, []int) { return fileDescriptorProto3, []int{2} } +func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } +func (m *MessageWithMap) String() string { return proto.CompactTextString(m) } +func (*MessageWithMap) ProtoMessage() {} +func (*MessageWithMap) Descriptor() ([]byte, []int) { + return fileDescriptor_proto3_648c710522dc372e, []int{2} +} +func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MessageWithMap.Unmarshal(m, b) +} +func (m *MessageWithMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MessageWithMap.Marshal(b, m, deterministic) +} +func (dst *MessageWithMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageWithMap.Merge(dst, src) +} +func (m *MessageWithMap) XXX_Size() int { + return xxx_messageInfo_MessageWithMap.Size(m) +} +func (m *MessageWithMap) XXX_DiscardUnknown() { + xxx_messageInfo_MessageWithMap.DiscardUnknown(m) +} + +var xxx_messageInfo_MessageWithMap proto.InternalMessageInfo func (m *MessageWithMap) GetByteMapping() map[bool][]byte { if m != nil { @@ -253,13 +316,35 @@ func (m *MessageWithMap) GetByteMapping() map[bool][]byte { } type IntMap struct { - Rtt map[int32]int32 `protobuf:"bytes,1,rep,name=rtt" json:"rtt,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Rtt map[int32]int32 `protobuf:"bytes,1,rep,name=rtt,proto3" json:"rtt,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *IntMap) Reset() { *m = IntMap{} } -func (m *IntMap) String() string { return proto.CompactTextString(m) } -func (*IntMap) ProtoMessage() {} -func (*IntMap) Descriptor() ([]byte, []int) { return fileDescriptorProto3, []int{3} } +func (m *IntMap) Reset() { *m = IntMap{} } +func (m *IntMap) String() string { return proto.CompactTextString(m) } +func (*IntMap) ProtoMessage() {} +func (*IntMap) Descriptor() ([]byte, []int) { + return fileDescriptor_proto3_648c710522dc372e, []int{3} +} +func (m *IntMap) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IntMap.Unmarshal(m, b) +} +func (m *IntMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IntMap.Marshal(b, m, deterministic) +} +func (dst *IntMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_IntMap.Merge(dst, src) +} +func (m *IntMap) XXX_Size() int { + return xxx_messageInfo_IntMap.Size(m) +} +func (m *IntMap) XXX_DiscardUnknown() { + xxx_messageInfo_IntMap.DiscardUnknown(m) +} + +var xxx_messageInfo_IntMap proto.InternalMessageInfo func (m *IntMap) GetRtt() map[int32]int32 { if m != nil { @@ -269,13 +354,35 @@ func (m *IntMap) GetRtt() map[int32]int32 { } type IntMaps struct { - Maps []*IntMap `protobuf:"bytes,1,rep,name=maps" json:"maps,omitempty"` + Maps []*IntMap `protobuf:"bytes,1,rep,name=maps,proto3" json:"maps,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *IntMaps) Reset() { *m = IntMaps{} } -func (m *IntMaps) String() string { return proto.CompactTextString(m) } -func (*IntMaps) ProtoMessage() {} -func (*IntMaps) Descriptor() ([]byte, []int) { return fileDescriptorProto3, []int{4} } +func (m *IntMaps) Reset() { *m = IntMaps{} } +func (m *IntMaps) String() string { return proto.CompactTextString(m) } +func (*IntMaps) ProtoMessage() {} +func (*IntMaps) Descriptor() ([]byte, []int) { + return fileDescriptor_proto3_648c710522dc372e, []int{4} +} +func (m *IntMaps) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IntMaps.Unmarshal(m, b) +} +func (m *IntMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IntMaps.Marshal(b, m, deterministic) +} +func (dst *IntMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_IntMaps.Merge(dst, src) +} +func (m *IntMaps) XXX_Size() int { + return xxx_messageInfo_IntMaps.Size(m) +} +func (m *IntMaps) XXX_DiscardUnknown() { + xxx_messageInfo_IntMaps.DiscardUnknown(m) +} + +var xxx_messageInfo_IntMaps proto.InternalMessageInfo func (m *IntMaps) GetMaps() []*IntMap { if m != nil { @@ -284,63 +391,221 @@ func (m *IntMaps) GetMaps() []*IntMap { return nil } +type TestUTF8 struct { + Scalar string `protobuf:"bytes,1,opt,name=scalar,proto3" json:"scalar,omitempty"` + Vector []string `protobuf:"bytes,2,rep,name=vector,proto3" json:"vector,omitempty"` + // Types that are valid to be assigned to Oneof: + // *TestUTF8_Field + Oneof isTestUTF8_Oneof `protobuf_oneof:"oneof"` + MapKey map[string]int64 `protobuf:"bytes,4,rep,name=map_key,json=mapKey,proto3" json:"map_key,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + MapValue map[int64]string `protobuf:"bytes,5,rep,name=map_value,json=mapValue,proto3" json:"map_value,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TestUTF8) Reset() { *m = TestUTF8{} } +func (m *TestUTF8) String() string { return proto.CompactTextString(m) } +func (*TestUTF8) ProtoMessage() {} +func (*TestUTF8) Descriptor() ([]byte, []int) { + return fileDescriptor_proto3_648c710522dc372e, []int{5} +} +func (m *TestUTF8) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TestUTF8.Unmarshal(m, b) +} +func (m *TestUTF8) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TestUTF8.Marshal(b, m, deterministic) +} +func (dst *TestUTF8) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestUTF8.Merge(dst, src) +} +func (m *TestUTF8) XXX_Size() int { + return xxx_messageInfo_TestUTF8.Size(m) +} +func (m *TestUTF8) XXX_DiscardUnknown() { + xxx_messageInfo_TestUTF8.DiscardUnknown(m) +} + +var xxx_messageInfo_TestUTF8 proto.InternalMessageInfo + +type isTestUTF8_Oneof interface { + isTestUTF8_Oneof() +} + +type TestUTF8_Field struct { + Field string `protobuf:"bytes,3,opt,name=field,proto3,oneof"` +} + +func (*TestUTF8_Field) isTestUTF8_Oneof() {} + +func (m *TestUTF8) GetOneof() isTestUTF8_Oneof { + if m != nil { + return m.Oneof + } + return nil +} + +func (m *TestUTF8) GetScalar() string { + if m != nil { + return m.Scalar + } + return "" +} + +func (m *TestUTF8) GetVector() []string { + if m != nil { + return m.Vector + } + return nil +} + +func (m *TestUTF8) GetField() string { + if x, ok := m.GetOneof().(*TestUTF8_Field); ok { + return x.Field + } + return "" +} + +func (m *TestUTF8) GetMapKey() map[string]int64 { + if m != nil { + return m.MapKey + } + return nil +} + +func (m *TestUTF8) GetMapValue() map[int64]string { + if m != nil { + return m.MapValue + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*TestUTF8) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _TestUTF8_OneofMarshaler, _TestUTF8_OneofUnmarshaler, _TestUTF8_OneofSizer, []interface{}{ + (*TestUTF8_Field)(nil), + } +} + +func _TestUTF8_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*TestUTF8) + // oneof + switch x := m.Oneof.(type) { + case *TestUTF8_Field: + _ = b.EncodeVarint(3<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.Field) + case nil: + default: + return fmt.Errorf("TestUTF8.Oneof has unexpected type %T", x) + } + return nil +} + +func _TestUTF8_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*TestUTF8) + switch tag { + case 3: // oneof.field + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Oneof = &TestUTF8_Field{x} + return true, err + default: + return false, nil + } +} + +func _TestUTF8_OneofSizer(msg proto.Message) (n int) { + m := msg.(*TestUTF8) + // oneof + switch x := m.Oneof.(type) { + case *TestUTF8_Field: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.Field))) + n += len(x.Field) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + func init() { proto.RegisterType((*Message)(nil), "proto3_proto.Message") + proto.RegisterMapType((map[string]*test_proto.SubDefaults)(nil), "proto3_proto.Message.Proto2ValueEntry") + proto.RegisterMapType((map[string]string)(nil), "proto3_proto.Message.StringMapEntry") + proto.RegisterMapType((map[string]*Nested)(nil), "proto3_proto.Message.TerrainEntry") proto.RegisterType((*Nested)(nil), "proto3_proto.Nested") proto.RegisterType((*MessageWithMap)(nil), "proto3_proto.MessageWithMap") + proto.RegisterMapType((map[bool][]byte)(nil), "proto3_proto.MessageWithMap.ByteMappingEntry") proto.RegisterType((*IntMap)(nil), "proto3_proto.IntMap") + proto.RegisterMapType((map[int32]int32)(nil), "proto3_proto.IntMap.RttEntry") proto.RegisterType((*IntMaps)(nil), "proto3_proto.IntMaps") + proto.RegisterType((*TestUTF8)(nil), "proto3_proto.TestUTF8") + proto.RegisterMapType((map[string]int64)(nil), "proto3_proto.TestUTF8.MapKeyEntry") + proto.RegisterMapType((map[int64]string)(nil), "proto3_proto.TestUTF8.MapValueEntry") proto.RegisterEnum("proto3_proto.Message_Humour", Message_Humour_name, Message_Humour_value) } -func init() { proto.RegisterFile("proto3_proto/proto3.proto", fileDescriptorProto3) } +func init() { proto.RegisterFile("proto3.proto", fileDescriptor_proto3_648c710522dc372e) } -var fileDescriptorProto3 = []byte{ - // 733 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x53, 0x6d, 0x6f, 0xf3, 0x34, - 0x14, 0x25, 0x4d, 0x5f, 0xd2, 0x9b, 0x74, 0x0b, 0x5e, 0x91, 0xbc, 0x02, 0x52, 0x28, 0x12, 0x8a, - 0x78, 0x49, 0xa1, 0xd3, 0xd0, 0x84, 0x10, 0x68, 0x1b, 0x9b, 0xa8, 0xd6, 0x95, 0xca, 0xdd, 0x98, - 0xf8, 0x14, 0xa5, 0xad, 0xdb, 0x46, 0x34, 0x4e, 0x49, 0x1c, 0xa4, 0xfc, 0x1d, 0xfe, 0x28, 0x8f, - 0x6c, 0xa7, 0x5d, 0x36, 0x65, 0xcf, 0xf3, 0x29, 0xf6, 0xf1, 0xb9, 0xf7, 0x9c, 0x1c, 0x5f, 0xc3, - 0xe9, 0x2e, 0x89, 0x79, 0x7c, 0xe6, 0xcb, 0xcf, 0x40, 0x6d, 0x3c, 0xf9, 0x41, 0x56, 0xf9, 0xa8, - 0x77, 0xba, 0x8e, 0xe3, 0xf5, 0x96, 0x2a, 0xca, 0x3c, 0x5b, 0x0d, 0x02, 0x96, 0x2b, 0x62, 0xef, - 0x84, 0xd3, 0x94, 0x2f, 0x03, 0x1e, 0x0c, 0xc4, 0x42, 0x81, 0xfd, 0xff, 0x5b, 0xd0, 0xba, 0xa7, - 0x69, 0x1a, 0xac, 0x29, 0x42, 0x50, 0x67, 0x41, 0x44, 0xb1, 0xe6, 0x68, 0x6e, 0x9b, 0xc8, 0x35, - 0xba, 0x00, 0x63, 0x13, 0x6e, 0x83, 0x24, 0xe4, 0x39, 0xae, 0x39, 0x9a, 0x7b, 0x34, 0xfc, 0xcc, - 0x2b, 0x0b, 0x7a, 0x45, 0xb1, 0xf7, 0x7b, 0x16, 0xc5, 0x59, 0x42, 0x0e, 0x6c, 0xe4, 0x80, 0xb5, - 0xa1, 0xe1, 0x7a, 0xc3, 0xfd, 0x90, 0xf9, 0x8b, 0x08, 0xeb, 0x8e, 0xe6, 0x76, 0x08, 0x28, 0x6c, - 0xc4, 0xae, 0x23, 0xa1, 0x27, 0xec, 0xe0, 0xba, 0xa3, 0xb9, 0x16, 0x91, 0x6b, 0xf4, 0x05, 0x58, - 0x09, 0x4d, 0xb3, 0x2d, 0xf7, 0x17, 0x71, 0xc6, 0x38, 0x6e, 0x39, 0x9a, 0xab, 0x13, 0x53, 0x61, - 0xd7, 0x02, 0x42, 0x5f, 0x42, 0x87, 0x27, 0x19, 0xf5, 0xd3, 0x45, 0xcc, 0xd3, 0x28, 0x60, 0xd8, - 0x70, 0x34, 0xd7, 0x20, 0x96, 0x00, 0x67, 0x05, 0x86, 0xba, 0xd0, 0x48, 0x17, 0x71, 0x42, 0x71, - 0xdb, 0xd1, 0xdc, 0x1a, 0x51, 0x1b, 0x64, 0x83, 0xfe, 0x37, 0xcd, 0x71, 0xc3, 0xd1, 0xdd, 0x3a, - 0x11, 0x4b, 0xf4, 0x29, 0xb4, 0xd3, 0x4d, 0x9c, 0x70, 0x5f, 0xe0, 0x27, 0x8e, 0xee, 0x36, 0x88, - 0x21, 0x81, 0x3b, 0x9a, 0xa3, 0x6f, 0xa1, 0xc9, 0x68, 0xca, 0xe9, 0x12, 0x37, 0x1d, 0xcd, 0x35, - 0x87, 0xdd, 0x97, 0xbf, 0x3e, 0x91, 0x67, 0xa4, 0xe0, 0xa0, 0x73, 0x68, 0x25, 0xfe, 0x2a, 0x63, - 0x2c, 0xc7, 0xb6, 0xa3, 0x7f, 0x30, 0xa9, 0x66, 0x72, 0x2b, 0xb8, 0xe8, 0x67, 0x68, 0x71, 0x9a, - 0x24, 0x41, 0xc8, 0x30, 0x38, 0xba, 0x6b, 0x0e, 0xfb, 0xd5, 0x65, 0x0f, 0x8a, 0x74, 0xc3, 0x78, - 0x92, 0x93, 0x7d, 0x09, 0xba, 0x00, 0x75, 0xff, 0x43, 0x7f, 0x15, 0xd2, 0xed, 0x12, 0x9b, 0xd2, - 0xe8, 0x27, 0xde, 0xfe, 0xae, 0xbd, 0x59, 0x36, 0xff, 0x8d, 0xae, 0x82, 0x6c, 0xcb, 0x53, 0x62, - 0x2a, 0xea, 0xad, 0x60, 0xa2, 0xd1, 0xa1, 0xf2, 0xdf, 0x60, 0x9b, 0x51, 0xdc, 0x91, 0xe2, 0x5f, - 0x55, 0x8b, 0x4f, 0x25, 0xf3, 0x4f, 0x41, 0x54, 0x06, 0x8a, 0x56, 0x12, 0x41, 0xdf, 0x83, 0x11, - 0xb0, 0x9c, 0x6f, 0x42, 0xb6, 0xc6, 0x47, 0x45, 0x52, 0x6a, 0x0e, 0xbd, 0xfd, 0x1c, 0x7a, 0x97, - 0x2c, 0x27, 0x07, 0x16, 0x3a, 0x07, 0x33, 0x0a, 0x58, 0xee, 0xcb, 0x5d, 0x8a, 0x8f, 0xa5, 0x76, - 0x75, 0x11, 0x08, 0xe2, 0x83, 0xe4, 0xa1, 0x73, 0x80, 0x34, 0x9b, 0x47, 0xca, 0x14, 0xfe, 0xb8, - 0xf8, 0xd7, 0x2a, 0xc7, 0xa4, 0x44, 0x44, 0x3f, 0x80, 0xb1, 0xd8, 0x84, 0xdb, 0x65, 0x42, 0x19, - 0x46, 0x52, 0xea, 0x8d, 0xa2, 0x03, 0xad, 0x37, 0x05, 0xab, 0x1c, 0xf8, 0x7e, 0x72, 0xd4, 0xd3, - 0x90, 0x93, 0xf3, 0x35, 0x34, 0x54, 0x70, 0xb5, 0xf7, 0xcc, 0x86, 0xa2, 0xfc, 0x54, 0xbb, 0xd0, - 0x7a, 0x8f, 0x60, 0xbf, 0x4e, 0xb1, 0xa2, 0xeb, 0x37, 0x2f, 0xbb, 0xbe, 0x71, 0x91, 0xcf, 0x6d, - 0xfb, 0xbf, 0x42, 0x53, 0x0d, 0x14, 0x32, 0xa1, 0xf5, 0x38, 0xb9, 0x9b, 0xfc, 0xf1, 0x34, 0xb1, - 0x3f, 0x42, 0x06, 0xd4, 0xa7, 0x8f, 0x93, 0x99, 0xad, 0xa1, 0x0e, 0xb4, 0x67, 0xe3, 0xcb, 0xe9, - 0xec, 0x61, 0x74, 0x7d, 0x67, 0xd7, 0xd0, 0x31, 0x98, 0x57, 0xa3, 0xf1, 0xd8, 0xbf, 0xba, 0x1c, - 0x8d, 0x6f, 0xfe, 0xb2, 0xf5, 0xfe, 0x10, 0x9a, 0xca, 0xac, 0x78, 0x33, 0x73, 0x39, 0xbe, 0xca, - 0x8f, 0xda, 0x88, 0x57, 0xba, 0xc8, 0xb8, 0x32, 0x64, 0x10, 0xb9, 0xee, 0xff, 0xa7, 0xc1, 0x51, - 0x91, 0xd9, 0x53, 0xc8, 0x37, 0xf7, 0xc1, 0x0e, 0x4d, 0xc1, 0x9a, 0xe7, 0x9c, 0xfa, 0x51, 0xb0, - 0xdb, 0x89, 0x39, 0xd0, 0x64, 0xce, 0xdf, 0x55, 0xe6, 0x5c, 0xd4, 0x78, 0x57, 0x39, 0xa7, 0xf7, - 0x8a, 0x5f, 0x4c, 0xd5, 0xfc, 0x19, 0xe9, 0xfd, 0x02, 0xf6, 0x6b, 0x42, 0x39, 0x30, 0x43, 0x05, - 0xd6, 0x2d, 0x07, 0x66, 0x95, 0x93, 0xf9, 0x07, 0x9a, 0x23, 0xc6, 0x85, 0xb7, 0x01, 0xe8, 0x09, - 0xe7, 0x85, 0xa5, 0xcf, 0x5f, 0x5a, 0x52, 0x14, 0x8f, 0x70, 0xae, 0x2c, 0x08, 0x66, 0xef, 0x47, - 0x30, 0xf6, 0x40, 0x59, 0xb2, 0x51, 0x21, 0xd9, 0x28, 0x4b, 0x9e, 0x41, 0x4b, 0xf5, 0x4b, 0x91, - 0x0b, 0xf5, 0x28, 0xd8, 0xa5, 0x85, 0x68, 0xb7, 0x4a, 0x94, 0x48, 0xc6, 0xbc, 0xa9, 0x8e, 0xde, - 0x05, 0x00, 0x00, 0xff, 0xff, 0x75, 0x38, 0xad, 0x84, 0xe4, 0x05, 0x00, 0x00, +var fileDescriptor_proto3_648c710522dc372e = []byte{ + // 891 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0xff, 0x8e, 0xdb, 0x44, + 0x10, 0xae, 0xe3, 0xfc, 0x70, 0x26, 0xc9, 0x35, 0x2c, 0x69, 0x59, 0x02, 0x48, 0x26, 0x20, 0x64, + 0x21, 0xea, 0x83, 0x54, 0x87, 0x8e, 0xb6, 0x02, 0xdd, 0x1d, 0x3d, 0x35, 0xba, 0x4b, 0x88, 0x36, + 0x39, 0x4e, 0xfc, 0x65, 0x6d, 0x72, 0x9b, 0xc4, 0x22, 0x5e, 0x07, 0xef, 0xba, 0x92, 0x5f, 0x80, + 0x07, 0xe1, 0x95, 0x78, 0x21, 0xb4, 0xbb, 0xce, 0xd5, 0xa9, 0x5c, 0xee, 0x2f, 0xef, 0x7c, 0xfe, + 0x66, 0xbe, 0xd9, 0x99, 0xd9, 0x81, 0xf6, 0x2e, 0x89, 0x65, 0xfc, 0xdc, 0xd7, 0x1f, 0x94, 0x5b, + 0x81, 0xfe, 0xf4, 0x3f, 0x5d, 0xc7, 0xf1, 0x7a, 0xcb, 0x8e, 0xb5, 0xb5, 0x48, 0x57, 0xc7, 0x94, + 0x67, 0x86, 0xd8, 0x7f, 0x22, 0x99, 0x90, 0x86, 0x76, 0xac, 0x8e, 0x06, 0x1e, 0xfc, 0xdd, 0x84, + 0xc6, 0x98, 0x09, 0x41, 0xd7, 0x0c, 0x21, 0xa8, 0x72, 0x1a, 0x31, 0x6c, 0xb9, 0x96, 0xd7, 0x24, + 0xfa, 0x8c, 0x4e, 0xc1, 0xd9, 0x84, 0x5b, 0x9a, 0x84, 0x32, 0xc3, 0x15, 0xd7, 0xf2, 0x8e, 0x86, + 0x9f, 0xfb, 0x45, 0x49, 0x3f, 0x77, 0xf6, 0xdf, 0xa4, 0x51, 0x9c, 0x26, 0xe4, 0x9e, 0x8d, 0x5c, + 0x68, 0x6f, 0x58, 0xb8, 0xde, 0xc8, 0x20, 0xe4, 0xc1, 0x32, 0xc2, 0xb6, 0x6b, 0x79, 0x1d, 0x02, + 0x06, 0x1b, 0xf1, 0x8b, 0x48, 0xe9, 0xdd, 0x51, 0x49, 0x71, 0xd5, 0xb5, 0xbc, 0x36, 0xd1, 0x67, + 0xf4, 0x25, 0xb4, 0x13, 0x26, 0xd2, 0xad, 0x0c, 0x96, 0x71, 0xca, 0x25, 0x6e, 0xb8, 0x96, 0x67, + 0x93, 0x96, 0xc1, 0x2e, 0x14, 0x84, 0xbe, 0x82, 0x8e, 0x4c, 0x52, 0x16, 0x88, 0x65, 0x2c, 0x45, + 0x44, 0x39, 0x76, 0x5c, 0xcb, 0x73, 0x48, 0x5b, 0x81, 0xb3, 0x1c, 0x43, 0x3d, 0xa8, 0x89, 0x65, + 0x9c, 0x30, 0xdc, 0x74, 0x2d, 0xaf, 0x42, 0x8c, 0x81, 0xba, 0x60, 0xff, 0xc9, 0x32, 0x5c, 0x73, + 0x6d, 0xaf, 0x4a, 0xd4, 0x11, 0x7d, 0x06, 0x4d, 0xb1, 0x89, 0x13, 0x19, 0x28, 0xfc, 0x63, 0xd7, + 0xf6, 0x6a, 0xc4, 0xd1, 0xc0, 0x15, 0xcb, 0xd0, 0x77, 0x50, 0xe7, 0x4c, 0x48, 0x76, 0x87, 0xeb, + 0xae, 0xe5, 0xb5, 0x86, 0xbd, 0xc3, 0xab, 0x4f, 0xf4, 0x3f, 0x92, 0x73, 0xd0, 0x09, 0x34, 0x92, + 0x60, 0x95, 0x72, 0x9e, 0xe1, 0xae, 0x6b, 0x3f, 0x58, 0xa9, 0x7a, 0x72, 0xa9, 0xb8, 0xe8, 0x15, + 0x34, 0x24, 0x4b, 0x12, 0x1a, 0x72, 0x0c, 0xae, 0xed, 0xb5, 0x86, 0x83, 0x72, 0xb7, 0xb9, 0x21, + 0xbd, 0xe6, 0x32, 0xc9, 0xc8, 0xde, 0x05, 0xbd, 0xc8, 0xe7, 0x61, 0x18, 0xac, 0x42, 0xb6, 0xbd, + 0xc3, 0x2d, 0x9d, 0xe8, 0x27, 0xfe, 0xbb, 0x6e, 0xfb, 0xb3, 0x74, 0xf1, 0x2b, 0x5b, 0xd1, 0x74, + 0x2b, 0x05, 0x69, 0x19, 0xf2, 0xa5, 0xe2, 0xa2, 0xd1, 0xbd, 0xef, 0x5b, 0xba, 0x4d, 0x19, 0xee, + 0x68, 0xf9, 0x6f, 0xca, 0xe5, 0xa7, 0x9a, 0xf9, 0xbb, 0x22, 0x9a, 0x14, 0xf2, 0x50, 0x1a, 0x41, + 0xdf, 0x83, 0x43, 0x79, 0x26, 0x37, 0x21, 0x5f, 0xe3, 0xa3, 0xbc, 0x56, 0x66, 0x16, 0xfd, 0xfd, + 0x2c, 0xfa, 0x67, 0x3c, 0x23, 0xf7, 0x2c, 0x74, 0x02, 0xad, 0x88, 0xf2, 0x2c, 0xd0, 0x96, 0xc0, + 0x8f, 0xb5, 0x76, 0xb9, 0x13, 0x28, 0xe2, 0x5c, 0xf3, 0xd0, 0x09, 0x80, 0x48, 0x17, 0x91, 0x49, + 0x0a, 0x7f, 0xa4, 0xa5, 0x9e, 0x94, 0x66, 0x4c, 0x0a, 0x44, 0xf4, 0x03, 0x38, 0xcb, 0x4d, 0xb8, + 0xbd, 0x4b, 0x18, 0xc7, 0x48, 0x4b, 0x7d, 0xc0, 0xe9, 0x9e, 0x86, 0x2e, 0x00, 0x84, 0x4c, 0x42, + 0xbe, 0x0e, 0x22, 0xba, 0xc3, 0x3d, 0xed, 0xf4, 0x75, 0x79, 0x6d, 0x66, 0x9a, 0x37, 0xa6, 0x3b, + 0x53, 0x99, 0xa6, 0xd8, 0xdb, 0xfd, 0x29, 0xb4, 0x8b, 0x7d, 0xdb, 0x0f, 0xa0, 0x79, 0x61, 0x7a, + 0x00, 0xbf, 0x85, 0x9a, 0xa9, 0x7e, 0xe5, 0x7f, 0x46, 0xcc, 0x50, 0x5e, 0x54, 0x4e, 0xad, 0xfe, + 0x2d, 0x74, 0xdf, 0x6f, 0x45, 0x49, 0xd4, 0x67, 0x87, 0x51, 0x3f, 0x38, 0x0f, 0x85, 0xc0, 0xaf, + 0xe0, 0xe8, 0xf0, 0x1e, 0x25, 0x61, 0x7b, 0xc5, 0xb0, 0xcd, 0x82, 0xf7, 0xe0, 0x17, 0xa8, 0x9b, + 0xb9, 0x46, 0x2d, 0x68, 0xdc, 0x4c, 0xae, 0x26, 0xbf, 0xdd, 0x4e, 0xba, 0x8f, 0x90, 0x03, 0xd5, + 0xe9, 0xcd, 0x64, 0xd6, 0xb5, 0x50, 0x07, 0x9a, 0xb3, 0xeb, 0xb3, 0xe9, 0x6c, 0x3e, 0xba, 0xb8, + 0xea, 0x56, 0xd0, 0x63, 0x68, 0x9d, 0x8f, 0xae, 0xaf, 0x83, 0xf3, 0xb3, 0xd1, 0xf5, 0xeb, 0x3f, + 0xba, 0xf6, 0x60, 0x08, 0x75, 0x73, 0x59, 0x25, 0xb2, 0xd0, 0xaf, 0xc8, 0x08, 0x1b, 0x43, 0x2d, + 0x8b, 0x65, 0x2a, 0x8d, 0xb2, 0x43, 0xf4, 0x79, 0xf0, 0x8f, 0x05, 0x47, 0x79, 0x0f, 0x6e, 0x43, + 0xb9, 0x19, 0xd3, 0x1d, 0x9a, 0x42, 0x7b, 0x91, 0x49, 0xa6, 0x7a, 0xb6, 0x53, 0xc3, 0x68, 0xe9, + 0xbe, 0x3d, 0x2b, 0xed, 0x5b, 0xee, 0xe3, 0x9f, 0x67, 0x92, 0x8d, 0x0d, 0x3f, 0x1f, 0xed, 0xc5, + 0x3b, 0xa4, 0xff, 0x33, 0x74, 0xdf, 0x27, 0x14, 0x2b, 0xe3, 0x94, 0x54, 0xa6, 0x5d, 0xac, 0xcc, + 0x5f, 0x50, 0x1f, 0x71, 0xa9, 0x72, 0x3b, 0x06, 0x3b, 0x91, 0x32, 0x4f, 0xe9, 0x8b, 0xc3, 0x94, + 0x0c, 0xc5, 0x27, 0x52, 0x9a, 0x14, 0x14, 0xb3, 0xff, 0x23, 0x38, 0x7b, 0xa0, 0x28, 0x59, 0x2b, + 0x91, 0xac, 0x15, 0x25, 0x9f, 0x43, 0xc3, 0xc4, 0x13, 0xc8, 0x83, 0x6a, 0x44, 0x77, 0x22, 0x17, + 0xed, 0x95, 0x89, 0x12, 0xcd, 0x18, 0xfc, 0x5b, 0x01, 0x67, 0xce, 0x84, 0xbc, 0x99, 0x5f, 0x9e, + 0xa2, 0xa7, 0x50, 0x17, 0x4b, 0xba, 0xa5, 0x49, 0xde, 0x84, 0xdc, 0x52, 0xf8, 0x5b, 0xb6, 0x94, + 0x71, 0x82, 0x2b, 0xae, 0xad, 0x70, 0x63, 0xa1, 0xa7, 0x50, 0x33, 0xfb, 0x47, 0x6d, 0xf9, 0xe6, + 0x9b, 0x47, 0xc4, 0x98, 0xe8, 0x25, 0x34, 0x22, 0xba, 0xd3, 0xcb, 0xb5, 0x5a, 0xb6, 0xdc, 0xf6, + 0x82, 0xfe, 0x98, 0xee, 0xae, 0x58, 0x66, 0xee, 0x5e, 0x8f, 0xb4, 0x81, 0xce, 0xa0, 0xa9, 0x9c, + 0xcd, 0x25, 0x6b, 0x65, 0x0f, 0xb0, 0xe8, 0x5e, 0x58, 0x4d, 0x4e, 0x94, 0x9b, 0xfd, 0x9f, 0xa0, + 0x55, 0x88, 0xfc, 0xd0, 0x44, 0xdb, 0xc5, 0xf7, 0xf0, 0x12, 0x3a, 0x07, 0x51, 0x8b, 0xce, 0xf6, + 0x03, 0xcf, 0xe1, 0xbc, 0x01, 0xb5, 0x98, 0xb3, 0x78, 0xb5, 0xa8, 0x9b, 0x7c, 0xff, 0x0b, 0x00, + 0x00, 0xff, 0xff, 0x0e, 0x22, 0xea, 0x15, 0xb6, 0x07, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.proto b/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.proto index 85a36818f..6adea22fd 100644 --- a/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.proto +++ b/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.proto @@ -32,7 +32,7 @@ syntax = "proto3"; import "google/protobuf/any.proto"; -import "testdata/test.proto"; +import "test_proto/test.proto"; package proto3_proto; @@ -58,14 +58,16 @@ message Message { repeated Humour r_funny = 16; map terrain = 10; - testdata.SubDefaults proto2_field = 11; - map proto2_value = 13; + test_proto.SubDefaults proto2_field = 11; + map proto2_value = 13; google.protobuf.Any anything = 14; repeated google.protobuf.Any many_things = 15; Message submessage = 17; repeated Message children = 18; + + map string_map = 20; } message Nested { @@ -84,4 +86,12 @@ message IntMap { message IntMaps { repeated IntMap maps = 1; -} \ No newline at end of file +} + +message TestUTF8 { + string scalar = 1; + repeated string vector = 2; + oneof oneof { string field = 3; } + map map_key = 4; + map map_value = 5; +} diff --git a/vendor/github.com/gogo/protobuf/proto/table_marshal.go b/vendor/github.com/gogo/protobuf/proto/table_marshal.go new file mode 100644 index 000000000..ba58c49a4 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/table_marshal.go @@ -0,0 +1,3006 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "errors" + "fmt" + "math" + "reflect" + "sort" + "strconv" + "strings" + "sync" + "sync/atomic" + "unicode/utf8" +) + +// a sizer takes a pointer to a field and the size of its tag, computes the size of +// the encoded data. +type sizer func(pointer, int) int + +// a marshaler takes a byte slice, a pointer to a field, and its tag (in wire format), +// marshals the field to the end of the slice, returns the slice and error (if any). +type marshaler func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) + +// marshalInfo is the information used for marshaling a message. +type marshalInfo struct { + typ reflect.Type + fields []*marshalFieldInfo + unrecognized field // offset of XXX_unrecognized + extensions field // offset of XXX_InternalExtensions + v1extensions field // offset of XXX_extensions + sizecache field // offset of XXX_sizecache + initialized int32 // 0 -- only typ is set, 1 -- fully initialized + messageset bool // uses message set wire format + hasmarshaler bool // has custom marshaler + sync.RWMutex // protect extElems map, also for initialization + extElems map[int32]*marshalElemInfo // info of extension elements + + hassizer bool // has custom sizer + hasprotosizer bool // has custom protosizer + + bytesExtensions field // offset of XXX_extensions where the field type is []byte +} + +// marshalFieldInfo is the information used for marshaling a field of a message. +type marshalFieldInfo struct { + field field + wiretag uint64 // tag in wire format + tagsize int // size of tag in wire format + sizer sizer + marshaler marshaler + isPointer bool + required bool // field is required + name string // name of the field, for error reporting + oneofElems map[reflect.Type]*marshalElemInfo // info of oneof elements +} + +// marshalElemInfo is the information used for marshaling an extension or oneof element. +type marshalElemInfo struct { + wiretag uint64 // tag in wire format + tagsize int // size of tag in wire format + sizer sizer + marshaler marshaler + isptr bool // elem is pointer typed, thus interface of this type is a direct interface (extension only) +} + +var ( + marshalInfoMap = map[reflect.Type]*marshalInfo{} + marshalInfoLock sync.Mutex + + uint8SliceType = reflect.TypeOf(([]uint8)(nil)).Kind() +) + +// getMarshalInfo returns the information to marshal a given type of message. +// The info it returns may not necessarily initialized. +// t is the type of the message (NOT the pointer to it). +func getMarshalInfo(t reflect.Type) *marshalInfo { + marshalInfoLock.Lock() + u, ok := marshalInfoMap[t] + if !ok { + u = &marshalInfo{typ: t} + marshalInfoMap[t] = u + } + marshalInfoLock.Unlock() + return u +} + +// Size is the entry point from generated code, +// and should be ONLY called by generated code. +// It computes the size of encoded data of msg. +// a is a pointer to a place to store cached marshal info. +func (a *InternalMessageInfo) Size(msg Message) int { + u := getMessageMarshalInfo(msg, a) + ptr := toPointer(&msg) + if ptr.isNil() { + // We get here if msg is a typed nil ((*SomeMessage)(nil)), + // so it satisfies the interface, and msg == nil wouldn't + // catch it. We don't want crash in this case. + return 0 + } + return u.size(ptr) +} + +// Marshal is the entry point from generated code, +// and should be ONLY called by generated code. +// It marshals msg to the end of b. +// a is a pointer to a place to store cached marshal info. +func (a *InternalMessageInfo) Marshal(b []byte, msg Message, deterministic bool) ([]byte, error) { + u := getMessageMarshalInfo(msg, a) + ptr := toPointer(&msg) + if ptr.isNil() { + // We get here if msg is a typed nil ((*SomeMessage)(nil)), + // so it satisfies the interface, and msg == nil wouldn't + // catch it. We don't want crash in this case. + return b, ErrNil + } + return u.marshal(b, ptr, deterministic) +} + +func getMessageMarshalInfo(msg interface{}, a *InternalMessageInfo) *marshalInfo { + // u := a.marshal, but atomically. + // We use an atomic here to ensure memory consistency. + u := atomicLoadMarshalInfo(&a.marshal) + if u == nil { + // Get marshal information from type of message. + t := reflect.ValueOf(msg).Type() + if t.Kind() != reflect.Ptr { + panic(fmt.Sprintf("cannot handle non-pointer message type %v", t)) + } + u = getMarshalInfo(t.Elem()) + // Store it in the cache for later users. + // a.marshal = u, but atomically. + atomicStoreMarshalInfo(&a.marshal, u) + } + return u +} + +// size is the main function to compute the size of the encoded data of a message. +// ptr is the pointer to the message. +func (u *marshalInfo) size(ptr pointer) int { + if atomic.LoadInt32(&u.initialized) == 0 { + u.computeMarshalInfo() + } + + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + if u.hasmarshaler { + // Uses the message's Size method if available + if u.hassizer { + s := ptr.asPointerTo(u.typ).Interface().(Sizer) + return s.Size() + } + // Uses the message's ProtoSize method if available + if u.hasprotosizer { + s := ptr.asPointerTo(u.typ).Interface().(ProtoSizer) + return s.ProtoSize() + } + + m := ptr.asPointerTo(u.typ).Interface().(Marshaler) + b, _ := m.Marshal() + return len(b) + } + + n := 0 + for _, f := range u.fields { + if f.isPointer && ptr.offset(f.field).getPointer().isNil() { + // nil pointer always marshals to nothing + continue + } + n += f.sizer(ptr.offset(f.field), f.tagsize) + } + if u.extensions.IsValid() { + e := ptr.offset(u.extensions).toExtensions() + if u.messageset { + n += u.sizeMessageSet(e) + } else { + n += u.sizeExtensions(e) + } + } + if u.v1extensions.IsValid() { + m := *ptr.offset(u.v1extensions).toOldExtensions() + n += u.sizeV1Extensions(m) + } + if u.bytesExtensions.IsValid() { + s := *ptr.offset(u.bytesExtensions).toBytes() + n += len(s) + } + if u.unrecognized.IsValid() { + s := *ptr.offset(u.unrecognized).toBytes() + n += len(s) + } + + // cache the result for use in marshal + if u.sizecache.IsValid() { + atomic.StoreInt32(ptr.offset(u.sizecache).toInt32(), int32(n)) + } + return n +} + +// cachedsize gets the size from cache. If there is no cache (i.e. message is not generated), +// fall back to compute the size. +func (u *marshalInfo) cachedsize(ptr pointer) int { + if u.sizecache.IsValid() { + return int(atomic.LoadInt32(ptr.offset(u.sizecache).toInt32())) + } + return u.size(ptr) +} + +// marshal is the main function to marshal a message. It takes a byte slice and appends +// the encoded data to the end of the slice, returns the slice and error (if any). +// ptr is the pointer to the message. +// If deterministic is true, map is marshaled in deterministic order. +func (u *marshalInfo) marshal(b []byte, ptr pointer, deterministic bool) ([]byte, error) { + if atomic.LoadInt32(&u.initialized) == 0 { + u.computeMarshalInfo() + } + + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + if u.hasmarshaler { + m := ptr.asPointerTo(u.typ).Interface().(Marshaler) + b1, err := m.Marshal() + b = append(b, b1...) + return b, err + } + + var err, errLater error + // The old marshaler encodes extensions at beginning. + if u.extensions.IsValid() { + e := ptr.offset(u.extensions).toExtensions() + if u.messageset { + b, err = u.appendMessageSet(b, e, deterministic) + } else { + b, err = u.appendExtensions(b, e, deterministic) + } + if err != nil { + return b, err + } + } + if u.v1extensions.IsValid() { + m := *ptr.offset(u.v1extensions).toOldExtensions() + b, err = u.appendV1Extensions(b, m, deterministic) + if err != nil { + return b, err + } + } + if u.bytesExtensions.IsValid() { + s := *ptr.offset(u.bytesExtensions).toBytes() + b = append(b, s...) + } + for _, f := range u.fields { + if f.required { + if f.isPointer && ptr.offset(f.field).getPointer().isNil() { + // Required field is not set. + // We record the error but keep going, to give a complete marshaling. + if errLater == nil { + errLater = &RequiredNotSetError{f.name} + } + continue + } + } + if f.isPointer && ptr.offset(f.field).getPointer().isNil() { + // nil pointer always marshals to nothing + continue + } + b, err = f.marshaler(b, ptr.offset(f.field), f.wiretag, deterministic) + if err != nil { + if err1, ok := err.(*RequiredNotSetError); ok { + // Required field in submessage is not set. + // We record the error but keep going, to give a complete marshaling. + if errLater == nil { + errLater = &RequiredNotSetError{f.name + "." + err1.field} + } + continue + } + if err == errRepeatedHasNil { + err = errors.New("proto: repeated field " + f.name + " has nil element") + } + if err == errInvalidUTF8 { + if errLater == nil { + fullName := revProtoTypes[reflect.PtrTo(u.typ)] + "." + f.name + errLater = &invalidUTF8Error{fullName} + } + continue + } + return b, err + } + } + if u.unrecognized.IsValid() { + s := *ptr.offset(u.unrecognized).toBytes() + b = append(b, s...) + } + return b, errLater +} + +// computeMarshalInfo initializes the marshal info. +func (u *marshalInfo) computeMarshalInfo() { + u.Lock() + defer u.Unlock() + if u.initialized != 0 { // non-atomic read is ok as it is protected by the lock + return + } + + t := u.typ + u.unrecognized = invalidField + u.extensions = invalidField + u.v1extensions = invalidField + u.bytesExtensions = invalidField + u.sizecache = invalidField + isOneofMessage := false + + if reflect.PtrTo(t).Implements(sizerType) { + u.hassizer = true + } + if reflect.PtrTo(t).Implements(protosizerType) { + u.hasprotosizer = true + } + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + if reflect.PtrTo(t).Implements(marshalerType) { + u.hasmarshaler = true + atomic.StoreInt32(&u.initialized, 1) + return + } + + n := t.NumField() + + // deal with XXX fields first + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + if f.Tag.Get("protobuf_oneof") != "" { + isOneofMessage = true + } + if !strings.HasPrefix(f.Name, "XXX_") { + continue + } + switch f.Name { + case "XXX_sizecache": + u.sizecache = toField(&f) + case "XXX_unrecognized": + u.unrecognized = toField(&f) + case "XXX_InternalExtensions": + u.extensions = toField(&f) + u.messageset = f.Tag.Get("protobuf_messageset") == "1" + case "XXX_extensions": + if f.Type.Kind() == reflect.Map { + u.v1extensions = toField(&f) + } else { + u.bytesExtensions = toField(&f) + } + case "XXX_NoUnkeyedLiteral": + // nothing to do + default: + panic("unknown XXX field: " + f.Name) + } + n-- + } + + // get oneof implementers + var oneofImplementers []interface{} + // gogo: isOneofMessage is needed for embedded oneof messages, without a marshaler and unmarshaler + if m, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(oneofMessage); ok && isOneofMessage { + _, _, _, oneofImplementers = m.XXX_OneofFuncs() + } + + // normal fields + fields := make([]marshalFieldInfo, n) // batch allocation + u.fields = make([]*marshalFieldInfo, 0, n) + for i, j := 0, 0; i < t.NumField(); i++ { + f := t.Field(i) + + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + field := &fields[j] + j++ + field.name = f.Name + u.fields = append(u.fields, field) + if f.Tag.Get("protobuf_oneof") != "" { + field.computeOneofFieldInfo(&f, oneofImplementers) + continue + } + if f.Tag.Get("protobuf") == "" { + // field has no tag (not in generated message), ignore it + u.fields = u.fields[:len(u.fields)-1] + j-- + continue + } + field.computeMarshalFieldInfo(&f) + } + + // fields are marshaled in tag order on the wire. + sort.Sort(byTag(u.fields)) + + atomic.StoreInt32(&u.initialized, 1) +} + +// helper for sorting fields by tag +type byTag []*marshalFieldInfo + +func (a byTag) Len() int { return len(a) } +func (a byTag) Swap(i, j int) { a[i], a[j] = a[j], a[i] } +func (a byTag) Less(i, j int) bool { return a[i].wiretag < a[j].wiretag } + +// getExtElemInfo returns the information to marshal an extension element. +// The info it returns is initialized. +func (u *marshalInfo) getExtElemInfo(desc *ExtensionDesc) *marshalElemInfo { + // get from cache first + u.RLock() + e, ok := u.extElems[desc.Field] + u.RUnlock() + if ok { + return e + } + + t := reflect.TypeOf(desc.ExtensionType) // pointer or slice to basic type or struct + tags := strings.Split(desc.Tag, ",") + tag, err := strconv.Atoi(tags[1]) + if err != nil { + panic("tag is not an integer") + } + wt := wiretype(tags[0]) + sizr, marshalr := typeMarshaler(t, tags, false, false) + e = &marshalElemInfo{ + wiretag: uint64(tag)<<3 | wt, + tagsize: SizeVarint(uint64(tag) << 3), + sizer: sizr, + marshaler: marshalr, + isptr: t.Kind() == reflect.Ptr, + } + + // update cache + u.Lock() + if u.extElems == nil { + u.extElems = make(map[int32]*marshalElemInfo) + } + u.extElems[desc.Field] = e + u.Unlock() + return e +} + +// computeMarshalFieldInfo fills up the information to marshal a field. +func (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) { + // parse protobuf tag of the field. + // tag has format of "bytes,49,opt,name=foo,def=hello!" + tags := strings.Split(f.Tag.Get("protobuf"), ",") + if tags[0] == "" { + return + } + tag, err := strconv.Atoi(tags[1]) + if err != nil { + panic("tag is not an integer") + } + wt := wiretype(tags[0]) + if tags[2] == "req" { + fi.required = true + } + fi.setTag(f, tag, wt) + fi.setMarshaler(f, tags) +} + +func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) { + fi.field = toField(f) + fi.wiretag = 1<<31 - 1 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire. + fi.isPointer = true + fi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f) + fi.oneofElems = make(map[reflect.Type]*marshalElemInfo) + + ityp := f.Type // interface type + for _, o := range oneofImplementers { + t := reflect.TypeOf(o) + if !t.Implements(ityp) { + continue + } + sf := t.Elem().Field(0) // oneof implementer is a struct with a single field + tags := strings.Split(sf.Tag.Get("protobuf"), ",") + tag, err := strconv.Atoi(tags[1]) + if err != nil { + panic("tag is not an integer") + } + wt := wiretype(tags[0]) + sizr, marshalr := typeMarshaler(sf.Type, tags, false, true) // oneof should not omit any zero value + fi.oneofElems[t.Elem()] = &marshalElemInfo{ + wiretag: uint64(tag)<<3 | wt, + tagsize: SizeVarint(uint64(tag) << 3), + sizer: sizr, + marshaler: marshalr, + } + } +} + +type oneofMessage interface { + XXX_OneofFuncs() (func(Message, *Buffer) error, func(Message, int, int, *Buffer) (bool, error), func(Message) int, []interface{}) +} + +// wiretype returns the wire encoding of the type. +func wiretype(encoding string) uint64 { + switch encoding { + case "fixed32": + return WireFixed32 + case "fixed64": + return WireFixed64 + case "varint", "zigzag32", "zigzag64": + return WireVarint + case "bytes": + return WireBytes + case "group": + return WireStartGroup + } + panic("unknown wire type " + encoding) +} + +// setTag fills up the tag (in wire format) and its size in the info of a field. +func (fi *marshalFieldInfo) setTag(f *reflect.StructField, tag int, wt uint64) { + fi.field = toField(f) + fi.wiretag = uint64(tag)<<3 | wt + fi.tagsize = SizeVarint(uint64(tag) << 3) +} + +// setMarshaler fills up the sizer and marshaler in the info of a field. +func (fi *marshalFieldInfo) setMarshaler(f *reflect.StructField, tags []string) { + switch f.Type.Kind() { + case reflect.Map: + // map field + fi.isPointer = true + fi.sizer, fi.marshaler = makeMapMarshaler(f) + return + case reflect.Ptr, reflect.Slice: + fi.isPointer = true + } + fi.sizer, fi.marshaler = typeMarshaler(f.Type, tags, true, false) +} + +// typeMarshaler returns the sizer and marshaler of a given field. +// t is the type of the field. +// tags is the generated "protobuf" tag of the field. +// If nozero is true, zero value is not marshaled to the wire. +// If oneof is true, it is a oneof field. +func typeMarshaler(t reflect.Type, tags []string, nozero, oneof bool) (sizer, marshaler) { + encoding := tags[0] + + pointer := false + slice := false + if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 { + slice = true + t = t.Elem() + } + if t.Kind() == reflect.Ptr { + pointer = true + t = t.Elem() + } + + packed := false + proto3 := false + ctype := false + isTime := false + isDuration := false + isWktPointer := false + validateUTF8 := true + for i := 2; i < len(tags); i++ { + if tags[i] == "packed" { + packed = true + } + if tags[i] == "proto3" { + proto3 = true + } + if strings.HasPrefix(tags[i], "customtype=") { + ctype = true + } + if tags[i] == "stdtime" { + isTime = true + } + if tags[i] == "stdduration" { + isDuration = true + } + if tags[i] == "wktptr" { + isWktPointer = true + } + } + validateUTF8 = validateUTF8 && proto3 + if !proto3 && !pointer && !slice { + nozero = false + } + + if ctype { + if reflect.PtrTo(t).Implements(customType) { + if slice { + return makeMessageRefSliceMarshaler(getMarshalInfo(t)) + } + if pointer { + return makeCustomPtrMarshaler(getMarshalInfo(t)) + } + return makeCustomMarshaler(getMarshalInfo(t)) + } else { + panic(fmt.Sprintf("custom type: type: %v, does not implement the proto.custom interface", t)) + } + } + + if isTime { + if pointer { + if slice { + return makeTimePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeTimePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeTimeSliceMarshaler(getMarshalInfo(t)) + } + return makeTimeMarshaler(getMarshalInfo(t)) + } + + if isDuration { + if pointer { + if slice { + return makeDurationPtrSliceMarshaler(getMarshalInfo(t)) + } + return makeDurationPtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeDurationSliceMarshaler(getMarshalInfo(t)) + } + return makeDurationMarshaler(getMarshalInfo(t)) + } + + if isWktPointer { + switch t.Kind() { + case reflect.Float64: + if pointer { + if slice { + return makeStdDoubleValuePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeStdDoubleValuePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeStdDoubleValueSliceMarshaler(getMarshalInfo(t)) + } + return makeStdDoubleValueMarshaler(getMarshalInfo(t)) + case reflect.Float32: + if pointer { + if slice { + return makeStdFloatValuePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeStdFloatValuePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeStdFloatValueSliceMarshaler(getMarshalInfo(t)) + } + return makeStdFloatValueMarshaler(getMarshalInfo(t)) + case reflect.Int64: + if pointer { + if slice { + return makeStdInt64ValuePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeStdInt64ValuePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeStdInt64ValueSliceMarshaler(getMarshalInfo(t)) + } + return makeStdInt64ValueMarshaler(getMarshalInfo(t)) + case reflect.Uint64: + if pointer { + if slice { + return makeStdUInt64ValuePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeStdUInt64ValuePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeStdUInt64ValueSliceMarshaler(getMarshalInfo(t)) + } + return makeStdUInt64ValueMarshaler(getMarshalInfo(t)) + case reflect.Int32: + if pointer { + if slice { + return makeStdInt32ValuePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeStdInt32ValuePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeStdInt32ValueSliceMarshaler(getMarshalInfo(t)) + } + return makeStdInt32ValueMarshaler(getMarshalInfo(t)) + case reflect.Uint32: + if pointer { + if slice { + return makeStdUInt32ValuePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeStdUInt32ValuePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeStdUInt32ValueSliceMarshaler(getMarshalInfo(t)) + } + return makeStdUInt32ValueMarshaler(getMarshalInfo(t)) + case reflect.Bool: + if pointer { + if slice { + return makeStdBoolValuePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeStdBoolValuePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeStdBoolValueSliceMarshaler(getMarshalInfo(t)) + } + return makeStdBoolValueMarshaler(getMarshalInfo(t)) + case reflect.String: + if pointer { + if slice { + return makeStdStringValuePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeStdStringValuePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeStdStringValueSliceMarshaler(getMarshalInfo(t)) + } + return makeStdStringValueMarshaler(getMarshalInfo(t)) + case uint8SliceType: + if pointer { + if slice { + return makeStdBytesValuePtrSliceMarshaler(getMarshalInfo(t)) + } + return makeStdBytesValuePtrMarshaler(getMarshalInfo(t)) + } + if slice { + return makeStdBytesValueSliceMarshaler(getMarshalInfo(t)) + } + return makeStdBytesValueMarshaler(getMarshalInfo(t)) + default: + panic(fmt.Sprintf("unknown wktpointer type %#v", t)) + } + } + + switch t.Kind() { + case reflect.Bool: + if pointer { + return sizeBoolPtr, appendBoolPtr + } + if slice { + if packed { + return sizeBoolPackedSlice, appendBoolPackedSlice + } + return sizeBoolSlice, appendBoolSlice + } + if nozero { + return sizeBoolValueNoZero, appendBoolValueNoZero + } + return sizeBoolValue, appendBoolValue + case reflect.Uint32: + switch encoding { + case "fixed32": + if pointer { + return sizeFixed32Ptr, appendFixed32Ptr + } + if slice { + if packed { + return sizeFixed32PackedSlice, appendFixed32PackedSlice + } + return sizeFixed32Slice, appendFixed32Slice + } + if nozero { + return sizeFixed32ValueNoZero, appendFixed32ValueNoZero + } + return sizeFixed32Value, appendFixed32Value + case "varint": + if pointer { + return sizeVarint32Ptr, appendVarint32Ptr + } + if slice { + if packed { + return sizeVarint32PackedSlice, appendVarint32PackedSlice + } + return sizeVarint32Slice, appendVarint32Slice + } + if nozero { + return sizeVarint32ValueNoZero, appendVarint32ValueNoZero + } + return sizeVarint32Value, appendVarint32Value + } + case reflect.Int32: + switch encoding { + case "fixed32": + if pointer { + return sizeFixedS32Ptr, appendFixedS32Ptr + } + if slice { + if packed { + return sizeFixedS32PackedSlice, appendFixedS32PackedSlice + } + return sizeFixedS32Slice, appendFixedS32Slice + } + if nozero { + return sizeFixedS32ValueNoZero, appendFixedS32ValueNoZero + } + return sizeFixedS32Value, appendFixedS32Value + case "varint": + if pointer { + return sizeVarintS32Ptr, appendVarintS32Ptr + } + if slice { + if packed { + return sizeVarintS32PackedSlice, appendVarintS32PackedSlice + } + return sizeVarintS32Slice, appendVarintS32Slice + } + if nozero { + return sizeVarintS32ValueNoZero, appendVarintS32ValueNoZero + } + return sizeVarintS32Value, appendVarintS32Value + case "zigzag32": + if pointer { + return sizeZigzag32Ptr, appendZigzag32Ptr + } + if slice { + if packed { + return sizeZigzag32PackedSlice, appendZigzag32PackedSlice + } + return sizeZigzag32Slice, appendZigzag32Slice + } + if nozero { + return sizeZigzag32ValueNoZero, appendZigzag32ValueNoZero + } + return sizeZigzag32Value, appendZigzag32Value + } + case reflect.Uint64: + switch encoding { + case "fixed64": + if pointer { + return sizeFixed64Ptr, appendFixed64Ptr + } + if slice { + if packed { + return sizeFixed64PackedSlice, appendFixed64PackedSlice + } + return sizeFixed64Slice, appendFixed64Slice + } + if nozero { + return sizeFixed64ValueNoZero, appendFixed64ValueNoZero + } + return sizeFixed64Value, appendFixed64Value + case "varint": + if pointer { + return sizeVarint64Ptr, appendVarint64Ptr + } + if slice { + if packed { + return sizeVarint64PackedSlice, appendVarint64PackedSlice + } + return sizeVarint64Slice, appendVarint64Slice + } + if nozero { + return sizeVarint64ValueNoZero, appendVarint64ValueNoZero + } + return sizeVarint64Value, appendVarint64Value + } + case reflect.Int64: + switch encoding { + case "fixed64": + if pointer { + return sizeFixedS64Ptr, appendFixedS64Ptr + } + if slice { + if packed { + return sizeFixedS64PackedSlice, appendFixedS64PackedSlice + } + return sizeFixedS64Slice, appendFixedS64Slice + } + if nozero { + return sizeFixedS64ValueNoZero, appendFixedS64ValueNoZero + } + return sizeFixedS64Value, appendFixedS64Value + case "varint": + if pointer { + return sizeVarintS64Ptr, appendVarintS64Ptr + } + if slice { + if packed { + return sizeVarintS64PackedSlice, appendVarintS64PackedSlice + } + return sizeVarintS64Slice, appendVarintS64Slice + } + if nozero { + return sizeVarintS64ValueNoZero, appendVarintS64ValueNoZero + } + return sizeVarintS64Value, appendVarintS64Value + case "zigzag64": + if pointer { + return sizeZigzag64Ptr, appendZigzag64Ptr + } + if slice { + if packed { + return sizeZigzag64PackedSlice, appendZigzag64PackedSlice + } + return sizeZigzag64Slice, appendZigzag64Slice + } + if nozero { + return sizeZigzag64ValueNoZero, appendZigzag64ValueNoZero + } + return sizeZigzag64Value, appendZigzag64Value + } + case reflect.Float32: + if pointer { + return sizeFloat32Ptr, appendFloat32Ptr + } + if slice { + if packed { + return sizeFloat32PackedSlice, appendFloat32PackedSlice + } + return sizeFloat32Slice, appendFloat32Slice + } + if nozero { + return sizeFloat32ValueNoZero, appendFloat32ValueNoZero + } + return sizeFloat32Value, appendFloat32Value + case reflect.Float64: + if pointer { + return sizeFloat64Ptr, appendFloat64Ptr + } + if slice { + if packed { + return sizeFloat64PackedSlice, appendFloat64PackedSlice + } + return sizeFloat64Slice, appendFloat64Slice + } + if nozero { + return sizeFloat64ValueNoZero, appendFloat64ValueNoZero + } + return sizeFloat64Value, appendFloat64Value + case reflect.String: + if validateUTF8 { + if pointer { + return sizeStringPtr, appendUTF8StringPtr + } + if slice { + return sizeStringSlice, appendUTF8StringSlice + } + if nozero { + return sizeStringValueNoZero, appendUTF8StringValueNoZero + } + return sizeStringValue, appendUTF8StringValue + } + if pointer { + return sizeStringPtr, appendStringPtr + } + if slice { + return sizeStringSlice, appendStringSlice + } + if nozero { + return sizeStringValueNoZero, appendStringValueNoZero + } + return sizeStringValue, appendStringValue + case reflect.Slice: + if slice { + return sizeBytesSlice, appendBytesSlice + } + if oneof { + // Oneof bytes field may also have "proto3" tag. + // We want to marshal it as a oneof field. Do this + // check before the proto3 check. + return sizeBytesOneof, appendBytesOneof + } + if proto3 { + return sizeBytes3, appendBytes3 + } + return sizeBytes, appendBytes + case reflect.Struct: + switch encoding { + case "group": + if slice { + return makeGroupSliceMarshaler(getMarshalInfo(t)) + } + return makeGroupMarshaler(getMarshalInfo(t)) + case "bytes": + if pointer { + if slice { + return makeMessageSliceMarshaler(getMarshalInfo(t)) + } + return makeMessageMarshaler(getMarshalInfo(t)) + } else { + if slice { + return makeMessageRefSliceMarshaler(getMarshalInfo(t)) + } + return makeMessageRefMarshaler(getMarshalInfo(t)) + } + } + } + panic(fmt.Sprintf("unknown or mismatched type: type: %v, wire type: %v", t, encoding)) +} + +// Below are functions to size/marshal a specific type of a field. +// They are stored in the field's info, and called by function pointers. +// They have type sizer or marshaler. + +func sizeFixed32Value(_ pointer, tagsize int) int { + return 4 + tagsize +} +func sizeFixed32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint32() + if v == 0 { + return 0 + } + return 4 + tagsize +} +func sizeFixed32Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint32Ptr() + if p == nil { + return 0 + } + return 4 + tagsize +} +func sizeFixed32Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + return (4 + tagsize) * len(s) +} +func sizeFixed32PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return 0 + } + return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize +} +func sizeFixedS32Value(_ pointer, tagsize int) int { + return 4 + tagsize +} +func sizeFixedS32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + if v == 0 { + return 0 + } + return 4 + tagsize +} +func sizeFixedS32Ptr(ptr pointer, tagsize int) int { + p := ptr.getInt32Ptr() + if p == nil { + return 0 + } + return 4 + tagsize +} +func sizeFixedS32Slice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + return (4 + tagsize) * len(s) +} +func sizeFixedS32PackedSlice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + if len(s) == 0 { + return 0 + } + return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize +} +func sizeFloat32Value(_ pointer, tagsize int) int { + return 4 + tagsize +} +func sizeFloat32ValueNoZero(ptr pointer, tagsize int) int { + v := math.Float32bits(*ptr.toFloat32()) + if v == 0 { + return 0 + } + return 4 + tagsize +} +func sizeFloat32Ptr(ptr pointer, tagsize int) int { + p := *ptr.toFloat32Ptr() + if p == nil { + return 0 + } + return 4 + tagsize +} +func sizeFloat32Slice(ptr pointer, tagsize int) int { + s := *ptr.toFloat32Slice() + return (4 + tagsize) * len(s) +} +func sizeFloat32PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toFloat32Slice() + if len(s) == 0 { + return 0 + } + return 4*len(s) + SizeVarint(uint64(4*len(s))) + tagsize +} +func sizeFixed64Value(_ pointer, tagsize int) int { + return 8 + tagsize +} +func sizeFixed64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint64() + if v == 0 { + return 0 + } + return 8 + tagsize +} +func sizeFixed64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint64Ptr() + if p == nil { + return 0 + } + return 8 + tagsize +} +func sizeFixed64Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + return (8 + tagsize) * len(s) +} +func sizeFixed64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return 0 + } + return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize +} +func sizeFixedS64Value(_ pointer, tagsize int) int { + return 8 + tagsize +} +func sizeFixedS64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + if v == 0 { + return 0 + } + return 8 + tagsize +} +func sizeFixedS64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toInt64Ptr() + if p == nil { + return 0 + } + return 8 + tagsize +} +func sizeFixedS64Slice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + return (8 + tagsize) * len(s) +} +func sizeFixedS64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return 0 + } + return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize +} +func sizeFloat64Value(_ pointer, tagsize int) int { + return 8 + tagsize +} +func sizeFloat64ValueNoZero(ptr pointer, tagsize int) int { + v := math.Float64bits(*ptr.toFloat64()) + if v == 0 { + return 0 + } + return 8 + tagsize +} +func sizeFloat64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toFloat64Ptr() + if p == nil { + return 0 + } + return 8 + tagsize +} +func sizeFloat64Slice(ptr pointer, tagsize int) int { + s := *ptr.toFloat64Slice() + return (8 + tagsize) * len(s) +} +func sizeFloat64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toFloat64Slice() + if len(s) == 0 { + return 0 + } + return 8*len(s) + SizeVarint(uint64(8*len(s))) + tagsize +} +func sizeVarint32Value(ptr pointer, tagsize int) int { + v := *ptr.toUint32() + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarint32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint32() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarint32Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint32Ptr() + if p == nil { + return 0 + } + return SizeVarint(uint64(*p)) + tagsize +} +func sizeVarint32Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + tagsize + } + return n +} +func sizeVarint32PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeVarintS32Value(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS32Ptr(ptr pointer, tagsize int) int { + p := ptr.getInt32Ptr() + if p == nil { + return 0 + } + return SizeVarint(uint64(*p)) + tagsize +} +func sizeVarintS32Slice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + tagsize + } + return n +} +func sizeVarintS32PackedSlice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeVarint64Value(ptr pointer, tagsize int) int { + v := *ptr.toUint64() + return SizeVarint(v) + tagsize +} +func sizeVarint64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toUint64() + if v == 0 { + return 0 + } + return SizeVarint(v) + tagsize +} +func sizeVarint64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toUint64Ptr() + if p == nil { + return 0 + } + return SizeVarint(*p) + tagsize +} +func sizeVarint64Slice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + n := 0 + for _, v := range s { + n += SizeVarint(v) + tagsize + } + return n +} +func sizeVarint64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(v) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeVarintS64Value(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v)) + tagsize +} +func sizeVarintS64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toInt64Ptr() + if p == nil { + return 0 + } + return SizeVarint(uint64(*p)) + tagsize +} +func sizeVarintS64Slice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + tagsize + } + return n +} +func sizeVarintS64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeZigzag32Value(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize +} +func sizeZigzag32ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt32() + if v == 0 { + return 0 + } + return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize +} +func sizeZigzag32Ptr(ptr pointer, tagsize int) int { + p := ptr.getInt32Ptr() + if p == nil { + return 0 + } + v := *p + return SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize +} +func sizeZigzag32Slice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + tagsize + } + return n +} +func sizeZigzag32PackedSlice(ptr pointer, tagsize int) int { + s := ptr.getInt32Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31)))) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeZigzag64Value(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize +} +func sizeZigzag64ValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toInt64() + if v == 0 { + return 0 + } + return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize +} +func sizeZigzag64Ptr(ptr pointer, tagsize int) int { + p := *ptr.toInt64Ptr() + if p == nil { + return 0 + } + v := *p + return SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize +} +func sizeZigzag64Slice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v<<1)^uint64((int64(v)>>63))) + tagsize + } + return n +} +func sizeZigzag64PackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return 0 + } + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63))) + } + return n + SizeVarint(uint64(n)) + tagsize +} +func sizeBoolValue(_ pointer, tagsize int) int { + return 1 + tagsize +} +func sizeBoolValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toBool() + if !v { + return 0 + } + return 1 + tagsize +} +func sizeBoolPtr(ptr pointer, tagsize int) int { + p := *ptr.toBoolPtr() + if p == nil { + return 0 + } + return 1 + tagsize +} +func sizeBoolSlice(ptr pointer, tagsize int) int { + s := *ptr.toBoolSlice() + return (1 + tagsize) * len(s) +} +func sizeBoolPackedSlice(ptr pointer, tagsize int) int { + s := *ptr.toBoolSlice() + if len(s) == 0 { + return 0 + } + return len(s) + SizeVarint(uint64(len(s))) + tagsize +} +func sizeStringValue(ptr pointer, tagsize int) int { + v := *ptr.toString() + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeStringValueNoZero(ptr pointer, tagsize int) int { + v := *ptr.toString() + if v == "" { + return 0 + } + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeStringPtr(ptr pointer, tagsize int) int { + p := *ptr.toStringPtr() + if p == nil { + return 0 + } + v := *p + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeStringSlice(ptr pointer, tagsize int) int { + s := *ptr.toStringSlice() + n := 0 + for _, v := range s { + n += len(v) + SizeVarint(uint64(len(v))) + tagsize + } + return n +} +func sizeBytes(ptr pointer, tagsize int) int { + v := *ptr.toBytes() + if v == nil { + return 0 + } + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeBytes3(ptr pointer, tagsize int) int { + v := *ptr.toBytes() + if len(v) == 0 { + return 0 + } + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeBytesOneof(ptr pointer, tagsize int) int { + v := *ptr.toBytes() + return len(v) + SizeVarint(uint64(len(v))) + tagsize +} +func sizeBytesSlice(ptr pointer, tagsize int) int { + s := *ptr.toBytesSlice() + n := 0 + for _, v := range s { + n += len(v) + SizeVarint(uint64(len(v))) + tagsize + } + return n +} + +// appendFixed32 appends an encoded fixed32 to b. +func appendFixed32(b []byte, v uint32) []byte { + b = append(b, + byte(v), + byte(v>>8), + byte(v>>16), + byte(v>>24)) + return b +} + +// appendFixed64 appends an encoded fixed64 to b. +func appendFixed64(b []byte, v uint64) []byte { + b = append(b, + byte(v), + byte(v>>8), + byte(v>>16), + byte(v>>24), + byte(v>>32), + byte(v>>40), + byte(v>>48), + byte(v>>56)) + return b +} + +// appendVarint appends an encoded varint to b. +func appendVarint(b []byte, v uint64) []byte { + // TODO: make 1-byte (maybe 2-byte) case inline-able, once we + // have non-leaf inliner. + switch { + case v < 1<<7: + b = append(b, byte(v)) + case v < 1<<14: + b = append(b, + byte(v&0x7f|0x80), + byte(v>>7)) + case v < 1<<21: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte(v>>14)) + case v < 1<<28: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte(v>>21)) + case v < 1<<35: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte(v>>28)) + case v < 1<<42: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte(v>>35)) + case v < 1<<49: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte(v>>42)) + case v < 1<<56: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte(v>>49)) + case v < 1<<63: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte(v>>56)) + default: + b = append(b, + byte(v&0x7f|0x80), + byte((v>>7)&0x7f|0x80), + byte((v>>14)&0x7f|0x80), + byte((v>>21)&0x7f|0x80), + byte((v>>28)&0x7f|0x80), + byte((v>>35)&0x7f|0x80), + byte((v>>42)&0x7f|0x80), + byte((v>>49)&0x7f|0x80), + byte((v>>56)&0x7f|0x80), + 1) + } + return b +} + +func appendFixed32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFixed32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFixed32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, *p) + return b, nil +} +func appendFixed32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + } + return b, nil +} +func appendFixed32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(4*len(s))) + for _, v := range s { + b = appendFixed32(b, v) + } + return b, nil +} +func appendFixedS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(v)) + return b, nil +} +func appendFixedS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(v)) + return b, nil +} +func appendFixedS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := ptr.getInt32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(*p)) + return b, nil +} +func appendFixedS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed32(b, uint32(v)) + } + return b, nil +} +func appendFixedS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(4*len(s))) + for _, v := range s { + b = appendFixed32(b, uint32(v)) + } + return b, nil +} +func appendFloat32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float32bits(*ptr.toFloat32()) + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFloat32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float32bits(*ptr.toFloat32()) + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, v) + return b, nil +} +func appendFloat32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toFloat32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed32(b, math.Float32bits(*p)) + return b, nil +} +func appendFloat32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed32(b, math.Float32bits(v)) + } + return b, nil +} +func appendFloat32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(4*len(s))) + for _, v := range s { + b = appendFixed32(b, math.Float32bits(v)) + } + return b, nil +} +func appendFixed64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFixed64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFixed64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, *p) + return b, nil +} +func appendFixed64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + } + return b, nil +} +func appendFixed64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(8*len(s))) + for _, v := range s { + b = appendFixed64(b, v) + } + return b, nil +} +func appendFixedS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(v)) + return b, nil +} +func appendFixedS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(v)) + return b, nil +} +func appendFixedS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toInt64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(*p)) + return b, nil +} +func appendFixedS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed64(b, uint64(v)) + } + return b, nil +} +func appendFixedS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(8*len(s))) + for _, v := range s { + b = appendFixed64(b, uint64(v)) + } + return b, nil +} +func appendFloat64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float64bits(*ptr.toFloat64()) + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFloat64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := math.Float64bits(*ptr.toFloat64()) + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, v) + return b, nil +} +func appendFloat64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toFloat64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendFixed64(b, math.Float64bits(*p)) + return b, nil +} +func appendFloat64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendFixed64(b, math.Float64bits(v)) + } + return b, nil +} +func appendFloat64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toFloat64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(8*len(s))) + for _, v := range s { + b = appendFixed64(b, math.Float64bits(v)) + } + return b, nil +} +func appendVarint32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarint32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarint32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(*p)) + return b, nil +} +func appendVarint32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarint32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarintS32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := ptr.getInt32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(*p)) + return b, nil +} +func appendVarintS32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarintS32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarint64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + b = appendVarint(b, wiretag) + b = appendVarint(b, v) + return b, nil +} +func appendVarint64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toUint64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, v) + return b, nil +} +func appendVarint64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toUint64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, *p) + return b, nil +} +func appendVarint64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, v) + } + return b, nil +} +func appendVarint64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toUint64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(v) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, v) + } + return b, nil +} +func appendVarintS64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + return b, nil +} +func appendVarintS64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toInt64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(*p)) + return b, nil +} +func appendVarintS64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendVarintS64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v)) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v)) + } + return b, nil +} +func appendZigzag32Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + return b, nil +} +func appendZigzag32ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt32() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + return b, nil +} +func appendZigzag32Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := ptr.getInt32Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + v := *p + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + return b, nil +} +func appendZigzag32Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + } + return b, nil +} +func appendZigzag32PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := ptr.getInt32Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31)))) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64((uint32(v)<<1)^uint32((int32(v)>>31)))) + } + return b, nil +} +func appendZigzag64Value(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + return b, nil +} +func appendZigzag64ValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toInt64() + if v == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + return b, nil +} +func appendZigzag64Ptr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toInt64Ptr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + v := *p + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + return b, nil +} +func appendZigzag64Slice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + } + return b, nil +} +func appendZigzag64PackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toInt64Slice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + // compute size + n := 0 + for _, v := range s { + n += SizeVarint(uint64(v<<1) ^ uint64((int64(v) >> 63))) + } + b = appendVarint(b, uint64(n)) + for _, v := range s { + b = appendVarint(b, uint64(v<<1)^uint64((int64(v)>>63))) + } + return b, nil +} +func appendBoolValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBool() + b = appendVarint(b, wiretag) + if v { + b = append(b, 1) + } else { + b = append(b, 0) + } + return b, nil +} +func appendBoolValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBool() + if !v { + return b, nil + } + b = appendVarint(b, wiretag) + b = append(b, 1) + return b, nil +} + +func appendBoolPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toBoolPtr() + if p == nil { + return b, nil + } + b = appendVarint(b, wiretag) + if *p { + b = append(b, 1) + } else { + b = append(b, 0) + } + return b, nil +} +func appendBoolSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toBoolSlice() + for _, v := range s { + b = appendVarint(b, wiretag) + if v { + b = append(b, 1) + } else { + b = append(b, 0) + } + } + return b, nil +} +func appendBoolPackedSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toBoolSlice() + if len(s) == 0 { + return b, nil + } + b = appendVarint(b, wiretag&^7|WireBytes) + b = appendVarint(b, uint64(len(s))) + for _, v := range s { + if v { + b = append(b, 1) + } else { + b = append(b, 0) + } + } + return b, nil +} +func appendStringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toString() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendStringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toString() + if v == "" { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendStringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + p := *ptr.toStringPtr() + if p == nil { + return b, nil + } + v := *p + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendStringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toStringSlice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + } + return b, nil +} +func appendUTF8StringValue(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + v := *ptr.toString() + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendUTF8StringValueNoZero(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + v := *ptr.toString() + if v == "" { + return b, nil + } + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendUTF8StringPtr(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + p := *ptr.toStringPtr() + if p == nil { + return b, nil + } + v := *p + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendUTF8StringSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + var invalidUTF8 bool + s := *ptr.toStringSlice() + for _, v := range s { + if !utf8.ValidString(v) { + invalidUTF8 = true + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + } + if invalidUTF8 { + return b, errInvalidUTF8 + } + return b, nil +} +func appendBytes(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBytes() + if v == nil { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendBytes3(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBytes() + if len(v) == 0 { + return b, nil + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendBytesOneof(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + v := *ptr.toBytes() + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + return b, nil +} +func appendBytesSlice(b []byte, ptr pointer, wiretag uint64, _ bool) ([]byte, error) { + s := *ptr.toBytesSlice() + for _, v := range s { + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(v))) + b = append(b, v...) + } + return b, nil +} + +// makeGroupMarshaler returns the sizer and marshaler for a group. +// u is the marshal info of the underlying message. +func makeGroupMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + p := ptr.getPointer() + if p.isNil() { + return 0 + } + return u.size(p) + 2*tagsize + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + p := ptr.getPointer() + if p.isNil() { + return b, nil + } + var err error + b = appendVarint(b, wiretag) // start group + b, err = u.marshal(b, p, deterministic) + b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group + return b, err + } +} + +// makeGroupSliceMarshaler returns the sizer and marshaler for a group slice. +// u is the marshal info of the underlying message. +func makeGroupSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getPointerSlice() + n := 0 + for _, v := range s { + if v.isNil() { + continue + } + n += u.size(v) + 2*tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getPointerSlice() + var err error + var nerr nonFatal + for _, v := range s { + if v.isNil() { + return b, errRepeatedHasNil + } + b = appendVarint(b, wiretag) // start group + b, err = u.marshal(b, v, deterministic) + b = appendVarint(b, wiretag+(WireEndGroup-WireStartGroup)) // end group + if !nerr.Merge(err) { + if err == ErrNil { + err = errRepeatedHasNil + } + return b, err + } + } + return b, nerr.E + } +} + +// makeMessageMarshaler returns the sizer and marshaler for a message field. +// u is the marshal info of the message. +func makeMessageMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + p := ptr.getPointer() + if p.isNil() { + return 0 + } + siz := u.size(p) + return siz + SizeVarint(uint64(siz)) + tagsize + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + p := ptr.getPointer() + if p.isNil() { + return b, nil + } + b = appendVarint(b, wiretag) + siz := u.cachedsize(p) + b = appendVarint(b, uint64(siz)) + return u.marshal(b, p, deterministic) + } +} + +// makeMessageSliceMarshaler returns the sizer and marshaler for a message slice. +// u is the marshal info of the message. +func makeMessageSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getPointerSlice() + n := 0 + for _, v := range s { + if v.isNil() { + continue + } + siz := u.size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getPointerSlice() + var err error + var nerr nonFatal + for _, v := range s { + if v.isNil() { + return b, errRepeatedHasNil + } + b = appendVarint(b, wiretag) + siz := u.cachedsize(v) + b = appendVarint(b, uint64(siz)) + b, err = u.marshal(b, v, deterministic) + + if !nerr.Merge(err) { + if err == ErrNil { + err = errRepeatedHasNil + } + return b, err + } + } + return b, nerr.E + } +} + +// makeMapMarshaler returns the sizer and marshaler for a map field. +// f is the pointer to the reflect data structure of the field. +func makeMapMarshaler(f *reflect.StructField) (sizer, marshaler) { + // figure out key and value type + t := f.Type + keyType := t.Key() + valType := t.Elem() + tags := strings.Split(f.Tag.Get("protobuf"), ",") + keyTags := strings.Split(f.Tag.Get("protobuf_key"), ",") + valTags := strings.Split(f.Tag.Get("protobuf_val"), ",") + stdOptions := false + for _, t := range tags { + if strings.HasPrefix(t, "customtype=") { + valTags = append(valTags, t) + } + if t == "stdtime" { + valTags = append(valTags, t) + stdOptions = true + } + if t == "stdduration" { + valTags = append(valTags, t) + stdOptions = true + } + if t == "wktptr" { + valTags = append(valTags, t) + } + } + keySizer, keyMarshaler := typeMarshaler(keyType, keyTags, false, false) // don't omit zero value in map + valSizer, valMarshaler := typeMarshaler(valType, valTags, false, false) // don't omit zero value in map + keyWireTag := 1<<3 | wiretype(keyTags[0]) + valWireTag := 2<<3 | wiretype(valTags[0]) + + // We create an interface to get the addresses of the map key and value. + // If value is pointer-typed, the interface is a direct interface, the + // idata itself is the value. Otherwise, the idata is the pointer to the + // value. + // Key cannot be pointer-typed. + valIsPtr := valType.Kind() == reflect.Ptr + + // If value is a message with nested maps, calling + // valSizer in marshal may be quadratic. We should use + // cached version in marshal (but not in size). + // If value is not message type, we don't have size cache, + // but it cannot be nested either. Just use valSizer. + valCachedSizer := valSizer + if valIsPtr && !stdOptions && valType.Elem().Kind() == reflect.Struct { + u := getMarshalInfo(valType.Elem()) + valCachedSizer = func(ptr pointer, tagsize int) int { + // Same as message sizer, but use cache. + p := ptr.getPointer() + if p.isNil() { + return 0 + } + siz := u.cachedsize(p) + return siz + SizeVarint(uint64(siz)) + tagsize + } + } + return func(ptr pointer, tagsize int) int { + m := ptr.asPointerTo(t).Elem() // the map + n := 0 + for _, k := range m.MapKeys() { + ki := k.Interface() + vi := m.MapIndex(k).Interface() + kaddr := toAddrPointer(&ki, false) // pointer to key + vaddr := toAddrPointer(&vi, valIsPtr) // pointer to value + siz := keySizer(kaddr, 1) + valSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, tag uint64, deterministic bool) ([]byte, error) { + m := ptr.asPointerTo(t).Elem() // the map + var err error + keys := m.MapKeys() + if len(keys) > 1 && deterministic { + sort.Sort(mapKeys(keys)) + } + + var nerr nonFatal + for _, k := range keys { + ki := k.Interface() + vi := m.MapIndex(k).Interface() + kaddr := toAddrPointer(&ki, false) // pointer to key + vaddr := toAddrPointer(&vi, valIsPtr) // pointer to value + b = appendVarint(b, tag) + siz := keySizer(kaddr, 1) + valCachedSizer(vaddr, 1) // tag of key = 1 (size=1), tag of val = 2 (size=1) + b = appendVarint(b, uint64(siz)) + b, err = keyMarshaler(b, kaddr, keyWireTag, deterministic) + if !nerr.Merge(err) { + return b, err + } + b, err = valMarshaler(b, vaddr, valWireTag, deterministic) + if err != ErrNil && !nerr.Merge(err) { // allow nil value in map + return b, err + } + } + return b, nerr.E + } +} + +// makeOneOfMarshaler returns the sizer and marshaler for a oneof field. +// fi is the marshal info of the field. +// f is the pointer to the reflect data structure of the field. +func makeOneOfMarshaler(fi *marshalFieldInfo, f *reflect.StructField) (sizer, marshaler) { + // Oneof field is an interface. We need to get the actual data type on the fly. + t := f.Type + return func(ptr pointer, _ int) int { + p := ptr.getInterfacePointer() + if p.isNil() { + return 0 + } + v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct + telem := v.Type() + e := fi.oneofElems[telem] + return e.sizer(p, e.tagsize) + }, + func(b []byte, ptr pointer, _ uint64, deterministic bool) ([]byte, error) { + p := ptr.getInterfacePointer() + if p.isNil() { + return b, nil + } + v := ptr.asPointerTo(t).Elem().Elem().Elem() // *interface -> interface -> *struct -> struct + telem := v.Type() + if telem.Field(0).Type.Kind() == reflect.Ptr && p.getPointer().isNil() { + return b, errOneofHasNil + } + e := fi.oneofElems[telem] + return e.marshaler(b, p, e.wiretag, deterministic) + } +} + +// sizeExtensions computes the size of encoded data for a XXX_InternalExtensions field. +func (u *marshalInfo) sizeExtensions(ext *XXX_InternalExtensions) int { + m, mu := ext.extensionsRead() + if m == nil { + return 0 + } + mu.Lock() + + n := 0 + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + n += len(e.enc) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr) + n += ei.sizer(p, ei.tagsize) + } + mu.Unlock() + return n +} + +// appendExtensions marshals a XXX_InternalExtensions field to the end of byte slice b. +func (u *marshalInfo) appendExtensions(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) { + m, mu := ext.extensionsRead() + if m == nil { + return b, nil + } + mu.Lock() + defer mu.Unlock() + + var err error + var nerr nonFatal + + // Fast-path for common cases: zero or one extensions. + // Don't bother sorting the keys. + if len(m) <= 1 { + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + b = append(b, e.enc...) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr) + b, err = ei.marshaler(b, p, ei.wiretag, deterministic) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E + } + + // Sort the keys to provide a deterministic encoding. + // Not sure this is required, but the old code does it. + keys := make([]int, 0, len(m)) + for k := range m { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + for _, k := range keys { + e := m[int32(k)] + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + b = append(b, e.enc...) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr) + b, err = ei.marshaler(b, p, ei.wiretag, deterministic) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E +} + +// message set format is: +// message MessageSet { +// repeated group Item = 1 { +// required int32 type_id = 2; +// required string message = 3; +// }; +// } + +// sizeMessageSet computes the size of encoded data for a XXX_InternalExtensions field +// in message set format (above). +func (u *marshalInfo) sizeMessageSet(ext *XXX_InternalExtensions) int { + m, mu := ext.extensionsRead() + if m == nil { + return 0 + } + mu.Lock() + + n := 0 + for id, e := range m { + n += 2 // start group, end group. tag = 1 (size=1) + n += SizeVarint(uint64(id)) + 1 // type_id, tag = 2 (size=1) + + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint + siz := len(msgWithLen) + n += siz + 1 // message, tag = 3 (size=1) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr) + n += ei.sizer(p, 1) // message, tag = 3 (size=1) + } + mu.Unlock() + return n +} + +// appendMessageSet marshals a XXX_InternalExtensions field in message set format (above) +// to the end of byte slice b. +func (u *marshalInfo) appendMessageSet(b []byte, ext *XXX_InternalExtensions, deterministic bool) ([]byte, error) { + m, mu := ext.extensionsRead() + if m == nil { + return b, nil + } + mu.Lock() + defer mu.Unlock() + + var err error + var nerr nonFatal + + // Fast-path for common cases: zero or one extensions. + // Don't bother sorting the keys. + if len(m) <= 1 { + for id, e := range m { + b = append(b, 1<<3|WireStartGroup) + b = append(b, 2<<3|WireVarint) + b = appendVarint(b, uint64(id)) + + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint + b = append(b, 3<<3|WireBytes) + b = append(b, msgWithLen...) + b = append(b, 1<<3|WireEndGroup) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr) + b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic) + if !nerr.Merge(err) { + return b, err + } + b = append(b, 1<<3|WireEndGroup) + } + return b, nerr.E + } + + // Sort the keys to provide a deterministic encoding. + keys := make([]int, 0, len(m)) + for k := range m { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + for _, id := range keys { + e := m[int32(id)] + b = append(b, 1<<3|WireStartGroup) + b = append(b, 2<<3|WireVarint) + b = appendVarint(b, uint64(id)) + + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + msgWithLen := skipVarint(e.enc) // skip old tag, but leave the length varint + b = append(b, 3<<3|WireBytes) + b = append(b, msgWithLen...) + b = append(b, 1<<3|WireEndGroup) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr) + b, err = ei.marshaler(b, p, 3<<3|WireBytes, deterministic) + b = append(b, 1<<3|WireEndGroup) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E +} + +// sizeV1Extensions computes the size of encoded data for a V1-API extension field. +func (u *marshalInfo) sizeV1Extensions(m map[int32]Extension) int { + if m == nil { + return 0 + } + + n := 0 + for _, e := range m { + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + n += len(e.enc) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr) + n += ei.sizer(p, ei.tagsize) + } + return n +} + +// appendV1Extensions marshals a V1-API extension field to the end of byte slice b. +func (u *marshalInfo) appendV1Extensions(b []byte, m map[int32]Extension, deterministic bool) ([]byte, error) { + if m == nil { + return b, nil + } + + // Sort the keys to provide a deterministic encoding. + keys := make([]int, 0, len(m)) + for k := range m { + keys = append(keys, int(k)) + } + sort.Ints(keys) + + var err error + var nerr nonFatal + for _, k := range keys { + e := m[int32(k)] + if e.value == nil || e.desc == nil { + // Extension is only in its encoded form. + b = append(b, e.enc...) + continue + } + + // We don't skip extensions that have an encoded form set, + // because the extension value may have been mutated after + // the last time this function was called. + + ei := u.getExtElemInfo(e.desc) + v := e.value + p := toAddrPointer(&v, ei.isptr) + b, err = ei.marshaler(b, p, ei.wiretag, deterministic) + if !nerr.Merge(err) { + return b, err + } + } + return b, nerr.E +} + +// newMarshaler is the interface representing objects that can marshal themselves. +// +// This exists to support protoc-gen-go generated messages. +// The proto package will stop type-asserting to this interface in the future. +// +// DO NOT DEPEND ON THIS. +type newMarshaler interface { + XXX_Size() int + XXX_Marshal(b []byte, deterministic bool) ([]byte, error) +} + +// Size returns the encoded size of a protocol buffer message. +// This is the main entry point. +func Size(pb Message) int { + if m, ok := pb.(newMarshaler); ok { + return m.XXX_Size() + } + if m, ok := pb.(Marshaler); ok { + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + b, _ := m.Marshal() + return len(b) + } + // in case somehow we didn't generate the wrapper + if pb == nil { + return 0 + } + var info InternalMessageInfo + return info.Size(pb) +} + +// Marshal takes a protocol buffer message +// and encodes it into the wire format, returning the data. +// This is the main entry point. +func Marshal(pb Message) ([]byte, error) { + if m, ok := pb.(newMarshaler); ok { + siz := m.XXX_Size() + b := make([]byte, 0, siz) + return m.XXX_Marshal(b, false) + } + if m, ok := pb.(Marshaler); ok { + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + return m.Marshal() + } + // in case somehow we didn't generate the wrapper + if pb == nil { + return nil, ErrNil + } + var info InternalMessageInfo + siz := info.Size(pb) + b := make([]byte, 0, siz) + return info.Marshal(b, pb, false) +} + +// Marshal takes a protocol buffer message +// and encodes it into the wire format, writing the result to the +// Buffer. +// This is an alternative entry point. It is not necessary to use +// a Buffer for most applications. +func (p *Buffer) Marshal(pb Message) error { + var err error + if p.deterministic { + if _, ok := pb.(Marshaler); ok { + return fmt.Errorf("proto: deterministic not supported by the Marshal method of %T", pb) + } + } + if m, ok := pb.(newMarshaler); ok { + siz := m.XXX_Size() + p.grow(siz) // make sure buf has enough capacity + p.buf, err = m.XXX_Marshal(p.buf, p.deterministic) + return err + } + if m, ok := pb.(Marshaler); ok { + // If the message can marshal itself, let it do it, for compatibility. + // NOTE: This is not efficient. + var b []byte + b, err = m.Marshal() + p.buf = append(p.buf, b...) + return err + } + // in case somehow we didn't generate the wrapper + if pb == nil { + return ErrNil + } + var info InternalMessageInfo + siz := info.Size(pb) + p.grow(siz) // make sure buf has enough capacity + p.buf, err = info.Marshal(p.buf, pb, p.deterministic) + return err +} + +// grow grows the buffer's capacity, if necessary, to guarantee space for +// another n bytes. After grow(n), at least n bytes can be written to the +// buffer without another allocation. +func (p *Buffer) grow(n int) { + need := len(p.buf) + n + if need <= cap(p.buf) { + return + } + newCap := len(p.buf) * 2 + if newCap < need { + newCap = need + } + p.buf = append(make([]byte, 0, newCap), p.buf...) +} diff --git a/vendor/github.com/gogo/protobuf/proto/table_marshal_gogo.go b/vendor/github.com/gogo/protobuf/proto/table_marshal_gogo.go new file mode 100644 index 000000000..997f57c1e --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/table_marshal_gogo.go @@ -0,0 +1,388 @@ +// Protocol Buffers for Go with Gadgets +// +// Copyright (c) 2018, The GoGo Authors. All rights reserved. +// http://github.com/gogo/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "reflect" + "time" +) + +// makeMessageRefMarshaler differs a bit from makeMessageMarshaler +// It marshal a message T instead of a *T +func makeMessageRefMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + siz := u.size(ptr) + return siz + SizeVarint(uint64(siz)) + tagsize + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + b = appendVarint(b, wiretag) + siz := u.cachedsize(ptr) + b = appendVarint(b, uint64(siz)) + return u.marshal(b, ptr, deterministic) + } +} + +// makeMessageRefSliceMarshaler differs quite a lot from makeMessageSliceMarshaler +// It marshals a slice of messages []T instead of []*T +func makeMessageRefSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + e := elem.Interface() + v := toAddrPointer(&e, false) + siz := u.size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + var err, errreq error + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + e := elem.Interface() + v := toAddrPointer(&e, false) + b = appendVarint(b, wiretag) + siz := u.size(v) + b = appendVarint(b, uint64(siz)) + b, err = u.marshal(b, v, deterministic) + + if err != nil { + if _, ok := err.(*RequiredNotSetError); ok { + // Required field in submessage is not set. + // We record the error but keep going, to give a complete marshaling. + if errreq == nil { + errreq = err + } + continue + } + if err == ErrNil { + err = errRepeatedHasNil + } + return b, err + } + } + + return b, errreq + } +} + +func makeCustomPtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + m := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(custom) + siz := m.Size() + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + m := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(custom) + siz := m.Size() + buf, err := m.Marshal() + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + return b, nil + } +} + +func makeCustomMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + m := ptr.asPointerTo(u.typ).Interface().(custom) + siz := m.Size() + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + m := ptr.asPointerTo(u.typ).Interface().(custom) + siz := m.Size() + buf, err := m.Marshal() + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + return b, nil + } +} + +func makeTimeMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*time.Time) + ts, err := timestampProto(*t) + if err != nil { + return 0 + } + siz := Size(ts) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*time.Time) + ts, err := timestampProto(*t) + if err != nil { + return nil, err + } + buf, err := Marshal(ts) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeTimePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Time) + ts, err := timestampProto(*t) + if err != nil { + return 0 + } + siz := Size(ts) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Time) + ts, err := timestampProto(*t) + if err != nil { + return nil, err + } + buf, err := Marshal(ts) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeTimeSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(time.Time) + ts, err := timestampProto(t) + if err != nil { + return 0 + } + siz := Size(ts) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(time.Time) + ts, err := timestampProto(t) + if err != nil { + return nil, err + } + siz := Size(ts) + buf, err := Marshal(ts) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeTimePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*time.Time) + ts, err := timestampProto(*t) + if err != nil { + return 0 + } + siz := Size(ts) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*time.Time) + ts, err := timestampProto(*t) + if err != nil { + return nil, err + } + siz := Size(ts) + buf, err := Marshal(ts) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeDurationMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + d := ptr.asPointerTo(u.typ).Interface().(*time.Duration) + dur := durationProto(*d) + siz := Size(dur) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + d := ptr.asPointerTo(u.typ).Interface().(*time.Duration) + dur := durationProto(*d) + buf, err := Marshal(dur) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeDurationPtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + d := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Duration) + dur := durationProto(*d) + siz := Size(dur) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + d := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*time.Duration) + dur := durationProto(*d) + buf, err := Marshal(dur) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeDurationSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + d := elem.Interface().(time.Duration) + dur := durationProto(d) + siz := Size(dur) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + d := elem.Interface().(time.Duration) + dur := durationProto(d) + siz := Size(dur) + buf, err := Marshal(dur) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeDurationPtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + d := elem.Interface().(*time.Duration) + dur := durationProto(*d) + siz := Size(dur) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + d := elem.Interface().(*time.Duration) + dur := durationProto(*d) + siz := Size(dur) + buf, err := Marshal(dur) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} diff --git a/vendor/github.com/gogo/protobuf/proto/table_merge.go b/vendor/github.com/gogo/protobuf/proto/table_merge.go new file mode 100644 index 000000000..f520106e0 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/table_merge.go @@ -0,0 +1,657 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "fmt" + "reflect" + "strings" + "sync" + "sync/atomic" +) + +// Merge merges the src message into dst. +// This assumes that dst and src of the same type and are non-nil. +func (a *InternalMessageInfo) Merge(dst, src Message) { + mi := atomicLoadMergeInfo(&a.merge) + if mi == nil { + mi = getMergeInfo(reflect.TypeOf(dst).Elem()) + atomicStoreMergeInfo(&a.merge, mi) + } + mi.merge(toPointer(&dst), toPointer(&src)) +} + +type mergeInfo struct { + typ reflect.Type + + initialized int32 // 0: only typ is valid, 1: everything is valid + lock sync.Mutex + + fields []mergeFieldInfo + unrecognized field // Offset of XXX_unrecognized +} + +type mergeFieldInfo struct { + field field // Offset of field, guaranteed to be valid + + // isPointer reports whether the value in the field is a pointer. + // This is true for the following situations: + // * Pointer to struct + // * Pointer to basic type (proto2 only) + // * Slice (first value in slice header is a pointer) + // * String (first value in string header is a pointer) + isPointer bool + + // basicWidth reports the width of the field assuming that it is directly + // embedded in the struct (as is the case for basic types in proto3). + // The possible values are: + // 0: invalid + // 1: bool + // 4: int32, uint32, float32 + // 8: int64, uint64, float64 + basicWidth int + + // Where dst and src are pointers to the types being merged. + merge func(dst, src pointer) +} + +var ( + mergeInfoMap = map[reflect.Type]*mergeInfo{} + mergeInfoLock sync.Mutex +) + +func getMergeInfo(t reflect.Type) *mergeInfo { + mergeInfoLock.Lock() + defer mergeInfoLock.Unlock() + mi := mergeInfoMap[t] + if mi == nil { + mi = &mergeInfo{typ: t} + mergeInfoMap[t] = mi + } + return mi +} + +// merge merges src into dst assuming they are both of type *mi.typ. +func (mi *mergeInfo) merge(dst, src pointer) { + if dst.isNil() { + panic("proto: nil destination") + } + if src.isNil() { + return // Nothing to do. + } + + if atomic.LoadInt32(&mi.initialized) == 0 { + mi.computeMergeInfo() + } + + for _, fi := range mi.fields { + sfp := src.offset(fi.field) + + // As an optimization, we can avoid the merge function call cost + // if we know for sure that the source will have no effect + // by checking if it is the zero value. + if unsafeAllowed { + if fi.isPointer && sfp.getPointer().isNil() { // Could be slice or string + continue + } + if fi.basicWidth > 0 { + switch { + case fi.basicWidth == 1 && !*sfp.toBool(): + continue + case fi.basicWidth == 4 && *sfp.toUint32() == 0: + continue + case fi.basicWidth == 8 && *sfp.toUint64() == 0: + continue + } + } + } + + dfp := dst.offset(fi.field) + fi.merge(dfp, sfp) + } + + // TODO: Make this faster? + out := dst.asPointerTo(mi.typ).Elem() + in := src.asPointerTo(mi.typ).Elem() + if emIn, err := extendable(in.Addr().Interface()); err == nil { + emOut, _ := extendable(out.Addr().Interface()) + mIn, muIn := emIn.extensionsRead() + if mIn != nil { + mOut := emOut.extensionsWrite() + muIn.Lock() + mergeExtension(mOut, mIn) + muIn.Unlock() + } + } + + if mi.unrecognized.IsValid() { + if b := *src.offset(mi.unrecognized).toBytes(); len(b) > 0 { + *dst.offset(mi.unrecognized).toBytes() = append([]byte(nil), b...) + } + } +} + +func (mi *mergeInfo) computeMergeInfo() { + mi.lock.Lock() + defer mi.lock.Unlock() + if mi.initialized != 0 { + return + } + t := mi.typ + n := t.NumField() + + props := GetProperties(t) + for i := 0; i < n; i++ { + f := t.Field(i) + if strings.HasPrefix(f.Name, "XXX_") { + continue + } + + mfi := mergeFieldInfo{field: toField(&f)} + tf := f.Type + + // As an optimization, we can avoid the merge function call cost + // if we know for sure that the source will have no effect + // by checking if it is the zero value. + if unsafeAllowed { + switch tf.Kind() { + case reflect.Ptr, reflect.Slice, reflect.String: + // As a special case, we assume slices and strings are pointers + // since we know that the first field in the SliceSlice or + // StringHeader is a data pointer. + mfi.isPointer = true + case reflect.Bool: + mfi.basicWidth = 1 + case reflect.Int32, reflect.Uint32, reflect.Float32: + mfi.basicWidth = 4 + case reflect.Int64, reflect.Uint64, reflect.Float64: + mfi.basicWidth = 8 + } + } + + // Unwrap tf to get at its most basic type. + var isPointer, isSlice bool + if tf.Kind() == reflect.Slice && tf.Elem().Kind() != reflect.Uint8 { + isSlice = true + tf = tf.Elem() + } + if tf.Kind() == reflect.Ptr { + isPointer = true + tf = tf.Elem() + } + if isPointer && isSlice && tf.Kind() != reflect.Struct { + panic("both pointer and slice for basic type in " + tf.Name()) + } + + switch tf.Kind() { + case reflect.Int32: + switch { + case isSlice: // E.g., []int32 + mfi.merge = func(dst, src pointer) { + // NOTE: toInt32Slice is not defined (see pointer_reflect.go). + /* + sfsp := src.toInt32Slice() + if *sfsp != nil { + dfsp := dst.toInt32Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []int64{} + } + } + */ + sfs := src.getInt32Slice() + if sfs != nil { + dfs := dst.getInt32Slice() + dfs = append(dfs, sfs...) + if dfs == nil { + dfs = []int32{} + } + dst.setInt32Slice(dfs) + } + } + case isPointer: // E.g., *int32 + mfi.merge = func(dst, src pointer) { + // NOTE: toInt32Ptr is not defined (see pointer_reflect.go). + /* + sfpp := src.toInt32Ptr() + if *sfpp != nil { + dfpp := dst.toInt32Ptr() + if *dfpp == nil { + *dfpp = Int32(**sfpp) + } else { + **dfpp = **sfpp + } + } + */ + sfp := src.getInt32Ptr() + if sfp != nil { + dfp := dst.getInt32Ptr() + if dfp == nil { + dst.setInt32Ptr(*sfp) + } else { + *dfp = *sfp + } + } + } + default: // E.g., int32 + mfi.merge = func(dst, src pointer) { + if v := *src.toInt32(); v != 0 { + *dst.toInt32() = v + } + } + } + case reflect.Int64: + switch { + case isSlice: // E.g., []int64 + mfi.merge = func(dst, src pointer) { + sfsp := src.toInt64Slice() + if *sfsp != nil { + dfsp := dst.toInt64Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []int64{} + } + } + } + case isPointer: // E.g., *int64 + mfi.merge = func(dst, src pointer) { + sfpp := src.toInt64Ptr() + if *sfpp != nil { + dfpp := dst.toInt64Ptr() + if *dfpp == nil { + *dfpp = Int64(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., int64 + mfi.merge = func(dst, src pointer) { + if v := *src.toInt64(); v != 0 { + *dst.toInt64() = v + } + } + } + case reflect.Uint32: + switch { + case isSlice: // E.g., []uint32 + mfi.merge = func(dst, src pointer) { + sfsp := src.toUint32Slice() + if *sfsp != nil { + dfsp := dst.toUint32Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []uint32{} + } + } + } + case isPointer: // E.g., *uint32 + mfi.merge = func(dst, src pointer) { + sfpp := src.toUint32Ptr() + if *sfpp != nil { + dfpp := dst.toUint32Ptr() + if *dfpp == nil { + *dfpp = Uint32(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., uint32 + mfi.merge = func(dst, src pointer) { + if v := *src.toUint32(); v != 0 { + *dst.toUint32() = v + } + } + } + case reflect.Uint64: + switch { + case isSlice: // E.g., []uint64 + mfi.merge = func(dst, src pointer) { + sfsp := src.toUint64Slice() + if *sfsp != nil { + dfsp := dst.toUint64Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []uint64{} + } + } + } + case isPointer: // E.g., *uint64 + mfi.merge = func(dst, src pointer) { + sfpp := src.toUint64Ptr() + if *sfpp != nil { + dfpp := dst.toUint64Ptr() + if *dfpp == nil { + *dfpp = Uint64(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., uint64 + mfi.merge = func(dst, src pointer) { + if v := *src.toUint64(); v != 0 { + *dst.toUint64() = v + } + } + } + case reflect.Float32: + switch { + case isSlice: // E.g., []float32 + mfi.merge = func(dst, src pointer) { + sfsp := src.toFloat32Slice() + if *sfsp != nil { + dfsp := dst.toFloat32Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []float32{} + } + } + } + case isPointer: // E.g., *float32 + mfi.merge = func(dst, src pointer) { + sfpp := src.toFloat32Ptr() + if *sfpp != nil { + dfpp := dst.toFloat32Ptr() + if *dfpp == nil { + *dfpp = Float32(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., float32 + mfi.merge = func(dst, src pointer) { + if v := *src.toFloat32(); v != 0 { + *dst.toFloat32() = v + } + } + } + case reflect.Float64: + switch { + case isSlice: // E.g., []float64 + mfi.merge = func(dst, src pointer) { + sfsp := src.toFloat64Slice() + if *sfsp != nil { + dfsp := dst.toFloat64Slice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []float64{} + } + } + } + case isPointer: // E.g., *float64 + mfi.merge = func(dst, src pointer) { + sfpp := src.toFloat64Ptr() + if *sfpp != nil { + dfpp := dst.toFloat64Ptr() + if *dfpp == nil { + *dfpp = Float64(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., float64 + mfi.merge = func(dst, src pointer) { + if v := *src.toFloat64(); v != 0 { + *dst.toFloat64() = v + } + } + } + case reflect.Bool: + switch { + case isSlice: // E.g., []bool + mfi.merge = func(dst, src pointer) { + sfsp := src.toBoolSlice() + if *sfsp != nil { + dfsp := dst.toBoolSlice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []bool{} + } + } + } + case isPointer: // E.g., *bool + mfi.merge = func(dst, src pointer) { + sfpp := src.toBoolPtr() + if *sfpp != nil { + dfpp := dst.toBoolPtr() + if *dfpp == nil { + *dfpp = Bool(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., bool + mfi.merge = func(dst, src pointer) { + if v := *src.toBool(); v { + *dst.toBool() = v + } + } + } + case reflect.String: + switch { + case isSlice: // E.g., []string + mfi.merge = func(dst, src pointer) { + sfsp := src.toStringSlice() + if *sfsp != nil { + dfsp := dst.toStringSlice() + *dfsp = append(*dfsp, *sfsp...) + if *dfsp == nil { + *dfsp = []string{} + } + } + } + case isPointer: // E.g., *string + mfi.merge = func(dst, src pointer) { + sfpp := src.toStringPtr() + if *sfpp != nil { + dfpp := dst.toStringPtr() + if *dfpp == nil { + *dfpp = String(**sfpp) + } else { + **dfpp = **sfpp + } + } + } + default: // E.g., string + mfi.merge = func(dst, src pointer) { + if v := *src.toString(); v != "" { + *dst.toString() = v + } + } + } + case reflect.Slice: + isProto3 := props.Prop[i].proto3 + switch { + case isPointer: + panic("bad pointer in byte slice case in " + tf.Name()) + case tf.Elem().Kind() != reflect.Uint8: + panic("bad element kind in byte slice case in " + tf.Name()) + case isSlice: // E.g., [][]byte + mfi.merge = func(dst, src pointer) { + sbsp := src.toBytesSlice() + if *sbsp != nil { + dbsp := dst.toBytesSlice() + for _, sb := range *sbsp { + if sb == nil { + *dbsp = append(*dbsp, nil) + } else { + *dbsp = append(*dbsp, append([]byte{}, sb...)) + } + } + if *dbsp == nil { + *dbsp = [][]byte{} + } + } + } + default: // E.g., []byte + mfi.merge = func(dst, src pointer) { + sbp := src.toBytes() + if *sbp != nil { + dbp := dst.toBytes() + if !isProto3 || len(*sbp) > 0 { + *dbp = append([]byte{}, *sbp...) + } + } + } + } + case reflect.Struct: + switch { + case !isPointer: + mergeInfo := getMergeInfo(tf) + mfi.merge = func(dst, src pointer) { + mergeInfo.merge(dst, src) + } + case isSlice: // E.g., []*pb.T + mergeInfo := getMergeInfo(tf) + mfi.merge = func(dst, src pointer) { + sps := src.getPointerSlice() + if sps != nil { + dps := dst.getPointerSlice() + for _, sp := range sps { + var dp pointer + if !sp.isNil() { + dp = valToPointer(reflect.New(tf)) + mergeInfo.merge(dp, sp) + } + dps = append(dps, dp) + } + if dps == nil { + dps = []pointer{} + } + dst.setPointerSlice(dps) + } + } + default: // E.g., *pb.T + mergeInfo := getMergeInfo(tf) + mfi.merge = func(dst, src pointer) { + sp := src.getPointer() + if !sp.isNil() { + dp := dst.getPointer() + if dp.isNil() { + dp = valToPointer(reflect.New(tf)) + dst.setPointer(dp) + } + mergeInfo.merge(dp, sp) + } + } + } + case reflect.Map: + switch { + case isPointer || isSlice: + panic("bad pointer or slice in map case in " + tf.Name()) + default: // E.g., map[K]V + mfi.merge = func(dst, src pointer) { + sm := src.asPointerTo(tf).Elem() + if sm.Len() == 0 { + return + } + dm := dst.asPointerTo(tf).Elem() + if dm.IsNil() { + dm.Set(reflect.MakeMap(tf)) + } + + switch tf.Elem().Kind() { + case reflect.Ptr: // Proto struct (e.g., *T) + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + val = reflect.ValueOf(Clone(val.Interface().(Message))) + dm.SetMapIndex(key, val) + } + case reflect.Slice: // E.g. Bytes type (e.g., []byte) + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + val = reflect.ValueOf(append([]byte{}, val.Bytes()...)) + dm.SetMapIndex(key, val) + } + default: // Basic type (e.g., string) + for _, key := range sm.MapKeys() { + val := sm.MapIndex(key) + dm.SetMapIndex(key, val) + } + } + } + } + case reflect.Interface: + // Must be oneof field. + switch { + case isPointer || isSlice: + panic("bad pointer or slice in interface case in " + tf.Name()) + default: // E.g., interface{} + // TODO: Make this faster? + mfi.merge = func(dst, src pointer) { + su := src.asPointerTo(tf).Elem() + if !su.IsNil() { + du := dst.asPointerTo(tf).Elem() + typ := su.Elem().Type() + if du.IsNil() || du.Elem().Type() != typ { + du.Set(reflect.New(typ.Elem())) // Initialize interface if empty + } + sv := su.Elem().Elem().Field(0) + if sv.Kind() == reflect.Ptr && sv.IsNil() { + return + } + dv := du.Elem().Elem().Field(0) + if dv.Kind() == reflect.Ptr && dv.IsNil() { + dv.Set(reflect.New(sv.Type().Elem())) // Initialize proto message if empty + } + switch sv.Type().Kind() { + case reflect.Ptr: // Proto struct (e.g., *T) + Merge(dv.Interface().(Message), sv.Interface().(Message)) + case reflect.Slice: // E.g. Bytes type (e.g., []byte) + dv.Set(reflect.ValueOf(append([]byte{}, sv.Bytes()...))) + default: // Basic type (e.g., string) + dv.Set(sv) + } + } + } + } + default: + panic(fmt.Sprintf("merger not found for type:%s", tf)) + } + mi.fields = append(mi.fields, mfi) + } + + mi.unrecognized = invalidField + if f, ok := t.FieldByName("XXX_unrecognized"); ok { + if f.Type != reflect.TypeOf([]byte{}) { + panic("expected XXX_unrecognized to be of type []byte") + } + mi.unrecognized = toField(&f) + } + + atomic.StoreInt32(&mi.initialized, 1) +} diff --git a/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go b/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go new file mode 100644 index 000000000..e6b15c76c --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go @@ -0,0 +1,2245 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2016 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "errors" + "fmt" + "io" + "math" + "reflect" + "strconv" + "strings" + "sync" + "sync/atomic" + "unicode/utf8" +) + +// Unmarshal is the entry point from the generated .pb.go files. +// This function is not intended to be used by non-generated code. +// This function is not subject to any compatibility guarantee. +// msg contains a pointer to a protocol buffer struct. +// b is the data to be unmarshaled into the protocol buffer. +// a is a pointer to a place to store cached unmarshal information. +func (a *InternalMessageInfo) Unmarshal(msg Message, b []byte) error { + // Load the unmarshal information for this message type. + // The atomic load ensures memory consistency. + u := atomicLoadUnmarshalInfo(&a.unmarshal) + if u == nil { + // Slow path: find unmarshal info for msg, update a with it. + u = getUnmarshalInfo(reflect.TypeOf(msg).Elem()) + atomicStoreUnmarshalInfo(&a.unmarshal, u) + } + // Then do the unmarshaling. + err := u.unmarshal(toPointer(&msg), b) + return err +} + +type unmarshalInfo struct { + typ reflect.Type // type of the protobuf struct + + // 0 = only typ field is initialized + // 1 = completely initialized + initialized int32 + lock sync.Mutex // prevents double initialization + dense []unmarshalFieldInfo // fields indexed by tag # + sparse map[uint64]unmarshalFieldInfo // fields indexed by tag # + reqFields []string // names of required fields + reqMask uint64 // 1< 0 { + // Read tag and wire type. + // Special case 1 and 2 byte varints. + var x uint64 + if b[0] < 128 { + x = uint64(b[0]) + b = b[1:] + } else if len(b) >= 2 && b[1] < 128 { + x = uint64(b[0]&0x7f) + uint64(b[1])<<7 + b = b[2:] + } else { + var n int + x, n = decodeVarint(b) + if n == 0 { + return io.ErrUnexpectedEOF + } + b = b[n:] + } + tag := x >> 3 + wire := int(x) & 7 + + // Dispatch on the tag to one of the unmarshal* functions below. + var f unmarshalFieldInfo + if tag < uint64(len(u.dense)) { + f = u.dense[tag] + } else { + f = u.sparse[tag] + } + if fn := f.unmarshal; fn != nil { + var err error + b, err = fn(b, m.offset(f.field), wire) + if err == nil { + reqMask |= f.reqMask + continue + } + if r, ok := err.(*RequiredNotSetError); ok { + // Remember this error, but keep parsing. We need to produce + // a full parse even if a required field is missing. + if errLater == nil { + errLater = r + } + reqMask |= f.reqMask + continue + } + if err != errInternalBadWireType { + if err == errInvalidUTF8 { + if errLater == nil { + fullName := revProtoTypes[reflect.PtrTo(u.typ)] + "." + f.name + errLater = &invalidUTF8Error{fullName} + } + continue + } + return err + } + // Fragments with bad wire type are treated as unknown fields. + } + + // Unknown tag. + if !u.unrecognized.IsValid() { + // Don't keep unrecognized data; just skip it. + var err error + b, err = skipField(b, wire) + if err != nil { + return err + } + continue + } + // Keep unrecognized data around. + // maybe in extensions, maybe in the unrecognized field. + z := m.offset(u.unrecognized).toBytes() + var emap map[int32]Extension + var e Extension + for _, r := range u.extensionRanges { + if uint64(r.Start) <= tag && tag <= uint64(r.End) { + if u.extensions.IsValid() { + mp := m.offset(u.extensions).toExtensions() + emap = mp.extensionsWrite() + e = emap[int32(tag)] + z = &e.enc + break + } + if u.oldExtensions.IsValid() { + p := m.offset(u.oldExtensions).toOldExtensions() + emap = *p + if emap == nil { + emap = map[int32]Extension{} + *p = emap + } + e = emap[int32(tag)] + z = &e.enc + break + } + if u.bytesExtensions.IsValid() { + z = m.offset(u.bytesExtensions).toBytes() + break + } + panic("no extensions field available") + } + } + // Use wire type to skip data. + var err error + b0 := b + b, err = skipField(b, wire) + if err != nil { + return err + } + *z = encodeVarint(*z, tag<<3|uint64(wire)) + *z = append(*z, b0[:len(b0)-len(b)]...) + + if emap != nil { + emap[int32(tag)] = e + } + } + if reqMask != u.reqMask && errLater == nil { + // A required field of this message is missing. + for _, n := range u.reqFields { + if reqMask&1 == 0 { + errLater = &RequiredNotSetError{n} + } + reqMask >>= 1 + } + } + return errLater +} + +// computeUnmarshalInfo fills in u with information for use +// in unmarshaling protocol buffers of type u.typ. +func (u *unmarshalInfo) computeUnmarshalInfo() { + u.lock.Lock() + defer u.lock.Unlock() + if u.initialized != 0 { + return + } + t := u.typ + n := t.NumField() + + // Set up the "not found" value for the unrecognized byte buffer. + // This is the default for proto3. + u.unrecognized = invalidField + u.extensions = invalidField + u.oldExtensions = invalidField + u.bytesExtensions = invalidField + + // List of the generated type and offset for each oneof field. + type oneofField struct { + ityp reflect.Type // interface type of oneof field + field field // offset in containing message + } + var oneofFields []oneofField + + for i := 0; i < n; i++ { + f := t.Field(i) + if f.Name == "XXX_unrecognized" { + // The byte slice used to hold unrecognized input is special. + if f.Type != reflect.TypeOf(([]byte)(nil)) { + panic("bad type for XXX_unrecognized field: " + f.Type.Name()) + } + u.unrecognized = toField(&f) + continue + } + if f.Name == "XXX_InternalExtensions" { + // Ditto here. + if f.Type != reflect.TypeOf(XXX_InternalExtensions{}) { + panic("bad type for XXX_InternalExtensions field: " + f.Type.Name()) + } + u.extensions = toField(&f) + if f.Tag.Get("protobuf_messageset") == "1" { + u.isMessageSet = true + } + continue + } + if f.Name == "XXX_extensions" { + // An older form of the extensions field. + if f.Type == reflect.TypeOf((map[int32]Extension)(nil)) { + u.oldExtensions = toField(&f) + continue + } else if f.Type == reflect.TypeOf(([]byte)(nil)) { + u.bytesExtensions = toField(&f) + continue + } + panic("bad type for XXX_extensions field: " + f.Type.Name()) + } + if f.Name == "XXX_NoUnkeyedLiteral" || f.Name == "XXX_sizecache" { + continue + } + + oneof := f.Tag.Get("protobuf_oneof") + if oneof != "" { + oneofFields = append(oneofFields, oneofField{f.Type, toField(&f)}) + // The rest of oneof processing happens below. + continue + } + + tags := f.Tag.Get("protobuf") + tagArray := strings.Split(tags, ",") + if len(tagArray) < 2 { + panic("protobuf tag not enough fields in " + t.Name() + "." + f.Name + ": " + tags) + } + tag, err := strconv.Atoi(tagArray[1]) + if err != nil { + panic("protobuf tag field not an integer: " + tagArray[1]) + } + + name := "" + for _, tag := range tagArray[3:] { + if strings.HasPrefix(tag, "name=") { + name = tag[5:] + } + } + + // Extract unmarshaling function from the field (its type and tags). + unmarshal := fieldUnmarshaler(&f) + + // Required field? + var reqMask uint64 + if tagArray[2] == "req" { + bit := len(u.reqFields) + u.reqFields = append(u.reqFields, name) + reqMask = uint64(1) << uint(bit) + // TODO: if we have more than 64 required fields, we end up + // not verifying that all required fields are present. + // Fix this, perhaps using a count of required fields? + } + + // Store the info in the correct slot in the message. + u.setTag(tag, toField(&f), unmarshal, reqMask, name) + } + + // Find any types associated with oneof fields. + // TODO: XXX_OneofFuncs returns more info than we need. Get rid of some of it? + fn := reflect.Zero(reflect.PtrTo(t)).MethodByName("XXX_OneofFuncs") + // gogo: len(oneofFields) > 0 is needed for embedded oneof messages, without a marshaler and unmarshaler + if fn.IsValid() && len(oneofFields) > 0 { + res := fn.Call(nil)[3] // last return value from XXX_OneofFuncs: []interface{} + for i := res.Len() - 1; i >= 0; i-- { + v := res.Index(i) // interface{} + tptr := reflect.ValueOf(v.Interface()).Type() // *Msg_X + typ := tptr.Elem() // Msg_X + + f := typ.Field(0) // oneof implementers have one field + baseUnmarshal := fieldUnmarshaler(&f) + tags := strings.Split(f.Tag.Get("protobuf"), ",") + fieldNum, err := strconv.Atoi(tags[1]) + if err != nil { + panic("protobuf tag field not an integer: " + tags[1]) + } + var name string + for _, tag := range tags { + if strings.HasPrefix(tag, "name=") { + name = strings.TrimPrefix(tag, "name=") + break + } + } + + // Find the oneof field that this struct implements. + // Might take O(n^2) to process all of the oneofs, but who cares. + for _, of := range oneofFields { + if tptr.Implements(of.ityp) { + // We have found the corresponding interface for this struct. + // That lets us know where this struct should be stored + // when we encounter it during unmarshaling. + unmarshal := makeUnmarshalOneof(typ, of.ityp, baseUnmarshal) + u.setTag(fieldNum, of.field, unmarshal, 0, name) + } + } + } + } + + // Get extension ranges, if any. + fn = reflect.Zero(reflect.PtrTo(t)).MethodByName("ExtensionRangeArray") + if fn.IsValid() { + if !u.extensions.IsValid() && !u.oldExtensions.IsValid() && !u.bytesExtensions.IsValid() { + panic("a message with extensions, but no extensions field in " + t.Name()) + } + u.extensionRanges = fn.Call(nil)[0].Interface().([]ExtensionRange) + } + + // Explicitly disallow tag 0. This will ensure we flag an error + // when decoding a buffer of all zeros. Without this code, we + // would decode and skip an all-zero buffer of even length. + // [0 0] is [tag=0/wiretype=varint varint-encoded-0]. + u.setTag(0, zeroField, func(b []byte, f pointer, w int) ([]byte, error) { + return nil, fmt.Errorf("proto: %s: illegal tag 0 (wire type %d)", t, w) + }, 0, "") + + // Set mask for required field check. + u.reqMask = uint64(1)<= 0 && (tag < 16 || tag < 2*n) { // TODO: what are the right numbers here? + for len(u.dense) <= tag { + u.dense = append(u.dense, unmarshalFieldInfo{}) + } + u.dense[tag] = i + return + } + if u.sparse == nil { + u.sparse = map[uint64]unmarshalFieldInfo{} + } + u.sparse[uint64(tag)] = i +} + +// fieldUnmarshaler returns an unmarshaler for the given field. +func fieldUnmarshaler(f *reflect.StructField) unmarshaler { + if f.Type.Kind() == reflect.Map { + return makeUnmarshalMap(f) + } + return typeUnmarshaler(f.Type, f.Tag.Get("protobuf")) +} + +// typeUnmarshaler returns an unmarshaler for the given field type / field tag pair. +func typeUnmarshaler(t reflect.Type, tags string) unmarshaler { + tagArray := strings.Split(tags, ",") + encoding := tagArray[0] + name := "unknown" + ctype := false + isTime := false + isDuration := false + isWktPointer := false + proto3 := false + validateUTF8 := true + for _, tag := range tagArray[3:] { + if strings.HasPrefix(tag, "name=") { + name = tag[5:] + } + if tag == "proto3" { + proto3 = true + } + if strings.HasPrefix(tag, "customtype=") { + ctype = true + } + if tag == "stdtime" { + isTime = true + } + if tag == "stdduration" { + isDuration = true + } + if tag == "wktptr" { + isWktPointer = true + } + } + validateUTF8 = validateUTF8 && proto3 + + // Figure out packaging (pointer, slice, or both) + slice := false + pointer := false + if t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8 { + slice = true + t = t.Elem() + } + if t.Kind() == reflect.Ptr { + pointer = true + t = t.Elem() + } + + if ctype { + if reflect.PtrTo(t).Implements(customType) { + if slice { + return makeUnmarshalCustomSlice(getUnmarshalInfo(t), name) + } + if pointer { + return makeUnmarshalCustomPtr(getUnmarshalInfo(t), name) + } + return makeUnmarshalCustom(getUnmarshalInfo(t), name) + } else { + panic(fmt.Sprintf("custom type: type: %v, does not implement the proto.custom interface", t)) + } + } + + if isTime { + if pointer { + if slice { + return makeUnmarshalTimePtrSlice(getUnmarshalInfo(t), name) + } + return makeUnmarshalTimePtr(getUnmarshalInfo(t), name) + } + if slice { + return makeUnmarshalTimeSlice(getUnmarshalInfo(t), name) + } + return makeUnmarshalTime(getUnmarshalInfo(t), name) + } + + if isDuration { + if pointer { + if slice { + return makeUnmarshalDurationPtrSlice(getUnmarshalInfo(t), name) + } + return makeUnmarshalDurationPtr(getUnmarshalInfo(t), name) + } + if slice { + return makeUnmarshalDurationSlice(getUnmarshalInfo(t), name) + } + return makeUnmarshalDuration(getUnmarshalInfo(t), name) + } + + if isWktPointer { + switch t.Kind() { + case reflect.Float64: + if pointer { + if slice { + return makeStdDoubleValuePtrSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdDoubleValuePtrUnmarshaler(getUnmarshalInfo(t), name) + } + if slice { + return makeStdDoubleValueSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdDoubleValueUnmarshaler(getUnmarshalInfo(t), name) + case reflect.Float32: + if pointer { + if slice { + return makeStdFloatValuePtrSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdFloatValuePtrUnmarshaler(getUnmarshalInfo(t), name) + } + if slice { + return makeStdFloatValueSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdFloatValueUnmarshaler(getUnmarshalInfo(t), name) + case reflect.Int64: + if pointer { + if slice { + return makeStdInt64ValuePtrSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdInt64ValuePtrUnmarshaler(getUnmarshalInfo(t), name) + } + if slice { + return makeStdInt64ValueSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdInt64ValueUnmarshaler(getUnmarshalInfo(t), name) + case reflect.Uint64: + if pointer { + if slice { + return makeStdUInt64ValuePtrSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdUInt64ValuePtrUnmarshaler(getUnmarshalInfo(t), name) + } + if slice { + return makeStdUInt64ValueSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdUInt64ValueUnmarshaler(getUnmarshalInfo(t), name) + case reflect.Int32: + if pointer { + if slice { + return makeStdInt32ValuePtrSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdInt32ValuePtrUnmarshaler(getUnmarshalInfo(t), name) + } + if slice { + return makeStdInt32ValueSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdInt32ValueUnmarshaler(getUnmarshalInfo(t), name) + case reflect.Uint32: + if pointer { + if slice { + return makeStdUInt32ValuePtrSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdUInt32ValuePtrUnmarshaler(getUnmarshalInfo(t), name) + } + if slice { + return makeStdUInt32ValueSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdUInt32ValueUnmarshaler(getUnmarshalInfo(t), name) + case reflect.Bool: + if pointer { + if slice { + return makeStdBoolValuePtrSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdBoolValuePtrUnmarshaler(getUnmarshalInfo(t), name) + } + if slice { + return makeStdBoolValueSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdBoolValueUnmarshaler(getUnmarshalInfo(t), name) + case reflect.String: + if pointer { + if slice { + return makeStdStringValuePtrSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdStringValuePtrUnmarshaler(getUnmarshalInfo(t), name) + } + if slice { + return makeStdStringValueSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdStringValueUnmarshaler(getUnmarshalInfo(t), name) + case uint8SliceType: + if pointer { + if slice { + return makeStdBytesValuePtrSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdBytesValuePtrUnmarshaler(getUnmarshalInfo(t), name) + } + if slice { + return makeStdBytesValueSliceUnmarshaler(getUnmarshalInfo(t), name) + } + return makeStdBytesValueUnmarshaler(getUnmarshalInfo(t), name) + default: + panic(fmt.Sprintf("unknown wktpointer type %#v", t)) + } + } + + // We'll never have both pointer and slice for basic types. + if pointer && slice && t.Kind() != reflect.Struct { + panic("both pointer and slice for basic type in " + t.Name()) + } + + switch t.Kind() { + case reflect.Bool: + if pointer { + return unmarshalBoolPtr + } + if slice { + return unmarshalBoolSlice + } + return unmarshalBoolValue + case reflect.Int32: + switch encoding { + case "fixed32": + if pointer { + return unmarshalFixedS32Ptr + } + if slice { + return unmarshalFixedS32Slice + } + return unmarshalFixedS32Value + case "varint": + // this could be int32 or enum + if pointer { + return unmarshalInt32Ptr + } + if slice { + return unmarshalInt32Slice + } + return unmarshalInt32Value + case "zigzag32": + if pointer { + return unmarshalSint32Ptr + } + if slice { + return unmarshalSint32Slice + } + return unmarshalSint32Value + } + case reflect.Int64: + switch encoding { + case "fixed64": + if pointer { + return unmarshalFixedS64Ptr + } + if slice { + return unmarshalFixedS64Slice + } + return unmarshalFixedS64Value + case "varint": + if pointer { + return unmarshalInt64Ptr + } + if slice { + return unmarshalInt64Slice + } + return unmarshalInt64Value + case "zigzag64": + if pointer { + return unmarshalSint64Ptr + } + if slice { + return unmarshalSint64Slice + } + return unmarshalSint64Value + } + case reflect.Uint32: + switch encoding { + case "fixed32": + if pointer { + return unmarshalFixed32Ptr + } + if slice { + return unmarshalFixed32Slice + } + return unmarshalFixed32Value + case "varint": + if pointer { + return unmarshalUint32Ptr + } + if slice { + return unmarshalUint32Slice + } + return unmarshalUint32Value + } + case reflect.Uint64: + switch encoding { + case "fixed64": + if pointer { + return unmarshalFixed64Ptr + } + if slice { + return unmarshalFixed64Slice + } + return unmarshalFixed64Value + case "varint": + if pointer { + return unmarshalUint64Ptr + } + if slice { + return unmarshalUint64Slice + } + return unmarshalUint64Value + } + case reflect.Float32: + if pointer { + return unmarshalFloat32Ptr + } + if slice { + return unmarshalFloat32Slice + } + return unmarshalFloat32Value + case reflect.Float64: + if pointer { + return unmarshalFloat64Ptr + } + if slice { + return unmarshalFloat64Slice + } + return unmarshalFloat64Value + case reflect.Map: + panic("map type in typeUnmarshaler in " + t.Name()) + case reflect.Slice: + if pointer { + panic("bad pointer in slice case in " + t.Name()) + } + if slice { + return unmarshalBytesSlice + } + return unmarshalBytesValue + case reflect.String: + if validateUTF8 { + if pointer { + return unmarshalUTF8StringPtr + } + if slice { + return unmarshalUTF8StringSlice + } + return unmarshalUTF8StringValue + } + if pointer { + return unmarshalStringPtr + } + if slice { + return unmarshalStringSlice + } + return unmarshalStringValue + case reflect.Struct: + // message or group field + if !pointer { + switch encoding { + case "bytes": + if slice { + return makeUnmarshalMessageSlice(getUnmarshalInfo(t), name) + } + return makeUnmarshalMessage(getUnmarshalInfo(t), name) + } + } + switch encoding { + case "bytes": + if slice { + return makeUnmarshalMessageSlicePtr(getUnmarshalInfo(t), name) + } + return makeUnmarshalMessagePtr(getUnmarshalInfo(t), name) + case "group": + if slice { + return makeUnmarshalGroupSlicePtr(getUnmarshalInfo(t), name) + } + return makeUnmarshalGroupPtr(getUnmarshalInfo(t), name) + } + } + panic(fmt.Sprintf("unmarshaler not found type:%s encoding:%s", t, encoding)) +} + +// Below are all the unmarshalers for individual fields of various types. + +func unmarshalInt64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + *f.toInt64() = v + return b, nil +} + +func unmarshalInt64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + *f.toInt64Ptr() = &v + return b, nil +} + +func unmarshalInt64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + s := f.toInt64Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x) + s := f.toInt64Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalSint64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + *f.toInt64() = v + return b, nil +} + +func unmarshalSint64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + *f.toInt64Ptr() = &v + return b, nil +} + +func unmarshalSint64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + s := f.toInt64Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int64(x>>1) ^ int64(x)<<63>>63 + s := f.toInt64Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalUint64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + *f.toUint64() = v + return b, nil +} + +func unmarshalUint64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + *f.toUint64Ptr() = &v + return b, nil +} + +func unmarshalUint64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + s := f.toUint64Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint64(x) + s := f.toUint64Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalInt32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + *f.toInt32() = v + return b, nil +} + +func unmarshalInt32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + f.setInt32Ptr(v) + return b, nil +} + +func unmarshalInt32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + f.appendInt32Slice(v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x) + f.appendInt32Slice(v) + return b, nil +} + +func unmarshalSint32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + *f.toInt32() = v + return b, nil +} + +func unmarshalSint32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + f.setInt32Ptr(v) + return b, nil +} + +func unmarshalSint32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + f.appendInt32Slice(v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := int32(x>>1) ^ int32(x)<<31>>31 + f.appendInt32Slice(v) + return b, nil +} + +func unmarshalUint32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + *f.toUint32() = v + return b, nil +} + +func unmarshalUint32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + *f.toUint32Ptr() = &v + return b, nil +} + +func unmarshalUint32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + s := f.toUint32Slice() + *s = append(*s, v) + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + v := uint32(x) + s := f.toUint32Slice() + *s = append(*s, v) + return b, nil +} + +func unmarshalFixed64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + *f.toUint64() = v + return b[8:], nil +} + +func unmarshalFixed64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + *f.toUint64Ptr() = &v + return b[8:], nil +} + +func unmarshalFixed64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + s := f.toUint64Slice() + *s = append(*s, v) + b = b[8:] + } + return res, nil + } + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 + s := f.toUint64Slice() + *s = append(*s, v) + return b[8:], nil +} + +func unmarshalFixedS64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + *f.toInt64() = v + return b[8:], nil +} + +func unmarshalFixedS64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + *f.toInt64Ptr() = &v + return b[8:], nil +} + +func unmarshalFixedS64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + s := f.toInt64Slice() + *s = append(*s, v) + b = b[8:] + } + return res, nil + } + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := int64(b[0]) | int64(b[1])<<8 | int64(b[2])<<16 | int64(b[3])<<24 | int64(b[4])<<32 | int64(b[5])<<40 | int64(b[6])<<48 | int64(b[7])<<56 + s := f.toInt64Slice() + *s = append(*s, v) + return b[8:], nil +} + +func unmarshalFixed32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + *f.toUint32() = v + return b[4:], nil +} + +func unmarshalFixed32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + *f.toUint32Ptr() = &v + return b[4:], nil +} + +func unmarshalFixed32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + s := f.toUint32Slice() + *s = append(*s, v) + b = b[4:] + } + return res, nil + } + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24 + s := f.toUint32Slice() + *s = append(*s, v) + return b[4:], nil +} + +func unmarshalFixedS32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + *f.toInt32() = v + return b[4:], nil +} + +func unmarshalFixedS32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + f.setInt32Ptr(v) + return b[4:], nil +} + +func unmarshalFixedS32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + f.appendInt32Slice(v) + b = b[4:] + } + return res, nil + } + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24 + f.appendInt32Slice(v) + return b[4:], nil +} + +func unmarshalBoolValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + // Note: any length varint is allowed, even though any sane + // encoder will use one byte. + // See https://github.com/golang/protobuf/issues/76 + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + // TODO: check if x>1? Tests seem to indicate no. + v := x != 0 + *f.toBool() = v + return b[n:], nil +} + +func unmarshalBoolPtr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + v := x != 0 + *f.toBoolPtr() = &v + return b[n:], nil +} + +func unmarshalBoolSlice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + x, n = decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + v := x != 0 + s := f.toBoolSlice() + *s = append(*s, v) + b = b[n:] + } + return res, nil + } + if w != WireVarint { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + v := x != 0 + s := f.toBoolSlice() + *s = append(*s, v) + return b[n:], nil +} + +func unmarshalFloat64Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + *f.toFloat64() = v + return b[8:], nil +} + +func unmarshalFloat64Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + *f.toFloat64Ptr() = &v + return b[8:], nil +} + +func unmarshalFloat64Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + s := f.toFloat64Slice() + *s = append(*s, v) + b = b[8:] + } + return res, nil + } + if w != WireFixed64 { + return b, errInternalBadWireType + } + if len(b) < 8 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float64frombits(uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56) + s := f.toFloat64Slice() + *s = append(*s, v) + return b[8:], nil +} + +func unmarshalFloat32Value(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + *f.toFloat32() = v + return b[4:], nil +} + +func unmarshalFloat32Ptr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + *f.toFloat32Ptr() = &v + return b[4:], nil +} + +func unmarshalFloat32Slice(b []byte, f pointer, w int) ([]byte, error) { + if w == WireBytes { // packed + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + res := b[x:] + b = b[:x] + for len(b) > 0 { + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + s := f.toFloat32Slice() + *s = append(*s, v) + b = b[4:] + } + return res, nil + } + if w != WireFixed32 { + return b, errInternalBadWireType + } + if len(b) < 4 { + return nil, io.ErrUnexpectedEOF + } + v := math.Float32frombits(uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24) + s := f.toFloat32Slice() + *s = append(*s, v) + return b[4:], nil +} + +func unmarshalStringValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toString() = v + return b[x:], nil +} + +func unmarshalStringPtr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toStringPtr() = &v + return b[x:], nil +} + +func unmarshalStringSlice(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + s := f.toStringSlice() + *s = append(*s, v) + return b[x:], nil +} + +func unmarshalUTF8StringValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toString() = v + if !utf8.ValidString(v) { + return b[x:], errInvalidUTF8 + } + return b[x:], nil +} + +func unmarshalUTF8StringPtr(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + *f.toStringPtr() = &v + if !utf8.ValidString(v) { + return b[x:], errInvalidUTF8 + } + return b[x:], nil +} + +func unmarshalUTF8StringSlice(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := string(b[:x]) + s := f.toStringSlice() + *s = append(*s, v) + if !utf8.ValidString(v) { + return b[x:], errInvalidUTF8 + } + return b[x:], nil +} + +var emptyBuf [0]byte + +func unmarshalBytesValue(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + // The use of append here is a trick which avoids the zeroing + // that would be required if we used a make/copy pair. + // We append to emptyBuf instead of nil because we want + // a non-nil result even when the length is 0. + v := append(emptyBuf[:], b[:x]...) + *f.toBytes() = v + return b[x:], nil +} + +func unmarshalBytesSlice(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := append(emptyBuf[:], b[:x]...) + s := f.toBytesSlice() + *s = append(*s, v) + return b[x:], nil +} + +func makeUnmarshalMessagePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + // First read the message field to see if something is there. + // The semantics of multiple submessages are weird. Instead of + // the last one winning (as it is for all other fields), multiple + // submessages are merged. + v := f.getPointer() + if v.isNil() { + v = valToPointer(reflect.New(sub.typ)) + f.setPointer(v) + } + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + return b[x:], err + } +} + +func makeUnmarshalMessageSlicePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return b, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := valToPointer(reflect.New(sub.typ)) + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + f.appendPointer(v) + return b[x:], err + } +} + +func makeUnmarshalGroupPtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireStartGroup { + return b, errInternalBadWireType + } + x, y := findEndGroup(b) + if x < 0 { + return nil, io.ErrUnexpectedEOF + } + v := f.getPointer() + if v.isNil() { + v = valToPointer(reflect.New(sub.typ)) + f.setPointer(v) + } + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + return b[y:], err + } +} + +func makeUnmarshalGroupSlicePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireStartGroup { + return b, errInternalBadWireType + } + x, y := findEndGroup(b) + if x < 0 { + return nil, io.ErrUnexpectedEOF + } + v := valToPointer(reflect.New(sub.typ)) + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + f.appendPointer(v) + return b[y:], err + } +} + +func makeUnmarshalMap(f *reflect.StructField) unmarshaler { + t := f.Type + kt := t.Key() + vt := t.Elem() + tagArray := strings.Split(f.Tag.Get("protobuf"), ",") + valTags := strings.Split(f.Tag.Get("protobuf_val"), ",") + for _, t := range tagArray { + if strings.HasPrefix(t, "customtype=") { + valTags = append(valTags, t) + } + if t == "stdtime" { + valTags = append(valTags, t) + } + if t == "stdduration" { + valTags = append(valTags, t) + } + if t == "wktptr" { + valTags = append(valTags, t) + } + } + unmarshalKey := typeUnmarshaler(kt, f.Tag.Get("protobuf_key")) + unmarshalVal := typeUnmarshaler(vt, strings.Join(valTags, ",")) + return func(b []byte, f pointer, w int) ([]byte, error) { + // The map entry is a submessage. Figure out how big it is. + if w != WireBytes { + return nil, fmt.Errorf("proto: bad wiretype for map field: got %d want %d", w, WireBytes) + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + r := b[x:] // unused data to return + b = b[:x] // data for map entry + + // Note: we could use #keys * #values ~= 200 functions + // to do map decoding without reflection. Probably not worth it. + // Maps will be somewhat slow. Oh well. + + // Read key and value from data. + var nerr nonFatal + k := reflect.New(kt) + v := reflect.New(vt) + for len(b) > 0 { + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + wire := int(x) & 7 + b = b[n:] + + var err error + switch x >> 3 { + case 1: + b, err = unmarshalKey(b, valToPointer(k), wire) + case 2: + b, err = unmarshalVal(b, valToPointer(v), wire) + default: + err = errInternalBadWireType // skip unknown tag + } + + if nerr.Merge(err) { + continue + } + if err != errInternalBadWireType { + return nil, err + } + + // Skip past unknown fields. + b, err = skipField(b, wire) + if err != nil { + return nil, err + } + } + + // Get map, allocate if needed. + m := f.asPointerTo(t).Elem() // an addressable map[K]T + if m.IsNil() { + m.Set(reflect.MakeMap(t)) + } + + // Insert into map. + m.SetMapIndex(k.Elem(), v.Elem()) + + return r, nerr.E + } +} + +// makeUnmarshalOneof makes an unmarshaler for oneof fields. +// for: +// message Msg { +// oneof F { +// int64 X = 1; +// float64 Y = 2; +// } +// } +// typ is the type of the concrete entry for a oneof case (e.g. Msg_X). +// ityp is the interface type of the oneof field (e.g. isMsg_F). +// unmarshal is the unmarshaler for the base type of the oneof case (e.g. int64). +// Note that this function will be called once for each case in the oneof. +func makeUnmarshalOneof(typ, ityp reflect.Type, unmarshal unmarshaler) unmarshaler { + sf := typ.Field(0) + field0 := toField(&sf) + return func(b []byte, f pointer, w int) ([]byte, error) { + // Allocate holder for value. + v := reflect.New(typ) + + // Unmarshal data into holder. + // We unmarshal into the first field of the holder object. + var err error + var nerr nonFatal + b, err = unmarshal(b, valToPointer(v).offset(field0), w) + if !nerr.Merge(err) { + return nil, err + } + + // Write pointer to holder into target field. + f.asPointerTo(ityp).Elem().Set(v) + + return b, nerr.E + } +} + +// Error used by decode internally. +var errInternalBadWireType = errors.New("proto: internal error: bad wiretype") + +// skipField skips past a field of type wire and returns the remaining bytes. +func skipField(b []byte, wire int) ([]byte, error) { + switch wire { + case WireVarint: + _, k := decodeVarint(b) + if k == 0 { + return b, io.ErrUnexpectedEOF + } + b = b[k:] + case WireFixed32: + if len(b) < 4 { + return b, io.ErrUnexpectedEOF + } + b = b[4:] + case WireFixed64: + if len(b) < 8 { + return b, io.ErrUnexpectedEOF + } + b = b[8:] + case WireBytes: + m, k := decodeVarint(b) + if k == 0 || uint64(len(b)-k) < m { + return b, io.ErrUnexpectedEOF + } + b = b[uint64(k)+m:] + case WireStartGroup: + _, i := findEndGroup(b) + if i == -1 { + return b, io.ErrUnexpectedEOF + } + b = b[i:] + default: + return b, fmt.Errorf("proto: can't skip unknown wire type %d", wire) + } + return b, nil +} + +// findEndGroup finds the index of the next EndGroup tag. +// Groups may be nested, so the "next" EndGroup tag is the first +// unpaired EndGroup. +// findEndGroup returns the indexes of the start and end of the EndGroup tag. +// Returns (-1,-1) if it can't find one. +func findEndGroup(b []byte) (int, int) { + depth := 1 + i := 0 + for { + x, n := decodeVarint(b[i:]) + if n == 0 { + return -1, -1 + } + j := i + i += n + switch x & 7 { + case WireVarint: + _, k := decodeVarint(b[i:]) + if k == 0 { + return -1, -1 + } + i += k + case WireFixed32: + if len(b)-4 < i { + return -1, -1 + } + i += 4 + case WireFixed64: + if len(b)-8 < i { + return -1, -1 + } + i += 8 + case WireBytes: + m, k := decodeVarint(b[i:]) + if k == 0 { + return -1, -1 + } + i += k + if uint64(len(b)-i) < m { + return -1, -1 + } + i += int(m) + case WireStartGroup: + depth++ + case WireEndGroup: + depth-- + if depth == 0 { + return j, i + } + default: + return -1, -1 + } + } +} + +// encodeVarint appends a varint-encoded integer to b and returns the result. +func encodeVarint(b []byte, x uint64) []byte { + for x >= 1<<7 { + b = append(b, byte(x&0x7f|0x80)) + x >>= 7 + } + return append(b, byte(x)) +} + +// decodeVarint reads a varint-encoded integer from b. +// Returns the decoded integer and the number of bytes read. +// If there is an error, it returns 0,0. +func decodeVarint(b []byte) (uint64, int) { + var x, y uint64 + if len(b) <= 0 { + goto bad + } + x = uint64(b[0]) + if x < 0x80 { + return x, 1 + } + x -= 0x80 + + if len(b) <= 1 { + goto bad + } + y = uint64(b[1]) + x += y << 7 + if y < 0x80 { + return x, 2 + } + x -= 0x80 << 7 + + if len(b) <= 2 { + goto bad + } + y = uint64(b[2]) + x += y << 14 + if y < 0x80 { + return x, 3 + } + x -= 0x80 << 14 + + if len(b) <= 3 { + goto bad + } + y = uint64(b[3]) + x += y << 21 + if y < 0x80 { + return x, 4 + } + x -= 0x80 << 21 + + if len(b) <= 4 { + goto bad + } + y = uint64(b[4]) + x += y << 28 + if y < 0x80 { + return x, 5 + } + x -= 0x80 << 28 + + if len(b) <= 5 { + goto bad + } + y = uint64(b[5]) + x += y << 35 + if y < 0x80 { + return x, 6 + } + x -= 0x80 << 35 + + if len(b) <= 6 { + goto bad + } + y = uint64(b[6]) + x += y << 42 + if y < 0x80 { + return x, 7 + } + x -= 0x80 << 42 + + if len(b) <= 7 { + goto bad + } + y = uint64(b[7]) + x += y << 49 + if y < 0x80 { + return x, 8 + } + x -= 0x80 << 49 + + if len(b) <= 8 { + goto bad + } + y = uint64(b[8]) + x += y << 56 + if y < 0x80 { + return x, 9 + } + x -= 0x80 << 56 + + if len(b) <= 9 { + goto bad + } + y = uint64(b[9]) + x += y << 63 + if y < 2 { + return x, 10 + } + +bad: + return 0, 0 +} diff --git a/vendor/github.com/gogo/protobuf/proto/table_unmarshal_gogo.go b/vendor/github.com/gogo/protobuf/proto/table_unmarshal_gogo.go new file mode 100644 index 000000000..00d6c7ad9 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/table_unmarshal_gogo.go @@ -0,0 +1,385 @@ +// Protocol Buffers for Go with Gadgets +// +// Copyright (c) 2018, The GoGo Authors. All rights reserved. +// http://github.com/gogo/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "io" + "reflect" +) + +func makeUnmarshalMessage(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + // First read the message field to see if something is there. + // The semantics of multiple submessages are weird. Instead of + // the last one winning (as it is for all other fields), multiple + // submessages are merged. + v := f // gogo: changed from v := f.getPointer() + if v.isNil() { + v = valToPointer(reflect.New(sub.typ)) + f.setPointer(v) + } + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + return b[x:], err + } +} + +func makeUnmarshalMessageSlice(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + v := valToPointer(reflect.New(sub.typ)) + err := sub.unmarshal(v, b[:x]) + if err != nil { + if r, ok := err.(*RequiredNotSetError); ok { + r.field = name + "." + r.field + } else { + return nil, err + } + } + f.appendRef(v, sub.typ) // gogo: changed from f.appendPointer(v) + return b[x:], err + } +} + +func makeUnmarshalCustomPtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.New(sub.typ)) + m := s.Interface().(custom) + if err := m.Unmarshal(b[:x]); err != nil { + return nil, err + } + return b[x:], nil + } +} + +func makeUnmarshalCustomSlice(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := reflect.New(sub.typ) + c := m.Interface().(custom) + if err := c.Unmarshal(b[:x]); err != nil { + return nil, err + } + v := valToPointer(m) + f.appendRef(v, sub.typ) + return b[x:], nil + } +} + +func makeUnmarshalCustom(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + + m := f.asPointerTo(sub.typ).Interface().(custom) + if err := m.Unmarshal(b[:x]); err != nil { + return nil, err + } + return b[x:], nil + } +} + +func makeUnmarshalTime(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := ×tamp{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + t, err := timestampFromProto(m) + if err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(t)) + return b[x:], nil + } +} + +func makeUnmarshalTimePtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := ×tamp{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + t, err := timestampFromProto(m) + if err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&t)) + return b[x:], nil + } +} + +func makeUnmarshalTimePtrSlice(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := ×tamp{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + t, err := timestampFromProto(m) + if err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&t)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeUnmarshalTimeSlice(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := ×tamp{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + t, err := timestampFromProto(m) + if err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(t)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeUnmarshalDurationPtr(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &duration{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + d, err := durationFromProto(m) + if err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&d)) + return b[x:], nil + } +} + +func makeUnmarshalDuration(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &duration{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + d, err := durationFromProto(m) + if err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(d)) + return b[x:], nil + } +} + +func makeUnmarshalDurationPtrSlice(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &duration{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + d, err := durationFromProto(m) + if err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&d)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeUnmarshalDurationSlice(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &duration{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + d, err := durationFromProto(m) + if err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(d)) + slice.Set(newSlice) + return b[x:], nil + } +} diff --git a/vendor/github.com/gogo/protobuf/proto/testdata/Makefile b/vendor/github.com/gogo/protobuf/proto/test_proto/Makefile similarity index 95% rename from vendor/github.com/gogo/protobuf/proto/testdata/Makefile rename to vendor/github.com/gogo/protobuf/proto/test_proto/Makefile index 31d83277c..e71c21a90 100644 --- a/vendor/github.com/gogo/protobuf/proto/testdata/Makefile +++ b/vendor/github.com/gogo/protobuf/proto/test_proto/Makefile @@ -33,5 +33,5 @@ all: regenerate regenerate: go install github.com/gogo/protobuf/protoc-min-version - protoc-min-version --version="3.0.0" --gogo_out=. test.proto + protoc-min-version --version="3.0.0" --gogo_out=paths=source_relative:. test.proto diff --git a/vendor/github.com/gogo/protobuf/proto/test_proto/test.pb.go b/vendor/github.com/gogo/protobuf/proto/test_proto/test.pb.go new file mode 100644 index 000000000..a535feb9d --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/test_proto/test.pb.go @@ -0,0 +1,5268 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: test.proto + +package test_proto // import "github.com/gogo/protobuf/proto/test_proto" + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +// 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 FOO int32 + +const ( + FOO_FOO1 FOO = 1 +) + +var FOO_name = map[int32]string{ + 1: "FOO1", +} +var FOO_value = map[string]int32{ + "FOO1": 1, +} + +func (x FOO) Enum() *FOO { + p := new(FOO) + *p = x + return p +} +func (x FOO) String() string { + return proto.EnumName(FOO_name, int32(x)) +} +func (x *FOO) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(FOO_value, data, "FOO") + if err != nil { + return err + } + *x = FOO(value) + return nil +} +func (FOO) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{0} +} + +// An enum, for completeness. +type GoTest_KIND int32 + +const ( + GoTest_VOID GoTest_KIND = 0 + // Basic types + GoTest_BOOL GoTest_KIND = 1 + GoTest_BYTES GoTest_KIND = 2 + GoTest_FINGERPRINT GoTest_KIND = 3 + GoTest_FLOAT GoTest_KIND = 4 + GoTest_INT GoTest_KIND = 5 + GoTest_STRING GoTest_KIND = 6 + GoTest_TIME GoTest_KIND = 7 + // Groupings + GoTest_TUPLE GoTest_KIND = 8 + GoTest_ARRAY GoTest_KIND = 9 + GoTest_MAP GoTest_KIND = 10 + // Table types + GoTest_TABLE GoTest_KIND = 11 + // Functions + GoTest_FUNCTION GoTest_KIND = 12 +) + +var GoTest_KIND_name = map[int32]string{ + 0: "VOID", + 1: "BOOL", + 2: "BYTES", + 3: "FINGERPRINT", + 4: "FLOAT", + 5: "INT", + 6: "STRING", + 7: "TIME", + 8: "TUPLE", + 9: "ARRAY", + 10: "MAP", + 11: "TABLE", + 12: "FUNCTION", +} +var GoTest_KIND_value = map[string]int32{ + "VOID": 0, + "BOOL": 1, + "BYTES": 2, + "FINGERPRINT": 3, + "FLOAT": 4, + "INT": 5, + "STRING": 6, + "TIME": 7, + "TUPLE": 8, + "ARRAY": 9, + "MAP": 10, + "TABLE": 11, + "FUNCTION": 12, +} + +func (x GoTest_KIND) Enum() *GoTest_KIND { + p := new(GoTest_KIND) + *p = x + return p +} +func (x GoTest_KIND) String() string { + return proto.EnumName(GoTest_KIND_name, int32(x)) +} +func (x *GoTest_KIND) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(GoTest_KIND_value, data, "GoTest_KIND") + if err != nil { + return err + } + *x = GoTest_KIND(value) + return nil +} +func (GoTest_KIND) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{2, 0} +} + +type MyMessage_Color int32 + +const ( + MyMessage_RED MyMessage_Color = 0 + MyMessage_GREEN MyMessage_Color = 1 + MyMessage_BLUE MyMessage_Color = 2 +) + +var MyMessage_Color_name = map[int32]string{ + 0: "RED", + 1: "GREEN", + 2: "BLUE", +} +var MyMessage_Color_value = map[string]int32{ + "RED": 0, + "GREEN": 1, + "BLUE": 2, +} + +func (x MyMessage_Color) Enum() *MyMessage_Color { + p := new(MyMessage_Color) + *p = x + return p +} +func (x MyMessage_Color) String() string { + return proto.EnumName(MyMessage_Color_name, int32(x)) +} +func (x *MyMessage_Color) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(MyMessage_Color_value, data, "MyMessage_Color") + if err != nil { + return err + } + *x = MyMessage_Color(value) + return nil +} +func (MyMessage_Color) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{13, 0} +} + +type DefaultsMessage_DefaultsEnum int32 + +const ( + DefaultsMessage_ZERO DefaultsMessage_DefaultsEnum = 0 + DefaultsMessage_ONE DefaultsMessage_DefaultsEnum = 1 + DefaultsMessage_TWO DefaultsMessage_DefaultsEnum = 2 +) + +var DefaultsMessage_DefaultsEnum_name = map[int32]string{ + 0: "ZERO", + 1: "ONE", + 2: "TWO", +} +var DefaultsMessage_DefaultsEnum_value = map[string]int32{ + "ZERO": 0, + "ONE": 1, + "TWO": 2, +} + +func (x DefaultsMessage_DefaultsEnum) Enum() *DefaultsMessage_DefaultsEnum { + p := new(DefaultsMessage_DefaultsEnum) + *p = x + return p +} +func (x DefaultsMessage_DefaultsEnum) String() string { + return proto.EnumName(DefaultsMessage_DefaultsEnum_name, int32(x)) +} +func (x *DefaultsMessage_DefaultsEnum) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(DefaultsMessage_DefaultsEnum_value, data, "DefaultsMessage_DefaultsEnum") + if err != nil { + return err + } + *x = DefaultsMessage_DefaultsEnum(value) + return nil +} +func (DefaultsMessage_DefaultsEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{16, 0} +} + +type Defaults_Color int32 + +const ( + Defaults_RED Defaults_Color = 0 + Defaults_GREEN Defaults_Color = 1 + Defaults_BLUE Defaults_Color = 2 +) + +var Defaults_Color_name = map[int32]string{ + 0: "RED", + 1: "GREEN", + 2: "BLUE", +} +var Defaults_Color_value = map[string]int32{ + "RED": 0, + "GREEN": 1, + "BLUE": 2, +} + +func (x Defaults_Color) Enum() *Defaults_Color { + p := new(Defaults_Color) + *p = x + return p +} +func (x Defaults_Color) String() string { + return proto.EnumName(Defaults_Color_name, int32(x)) +} +func (x *Defaults_Color) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(Defaults_Color_value, data, "Defaults_Color") + if err != nil { + return err + } + *x = Defaults_Color(value) + return nil +} +func (Defaults_Color) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{21, 0} +} + +type RepeatedEnum_Color int32 + +const ( + RepeatedEnum_RED RepeatedEnum_Color = 1 +) + +var RepeatedEnum_Color_name = map[int32]string{ + 1: "RED", +} +var RepeatedEnum_Color_value = map[string]int32{ + "RED": 1, +} + +func (x RepeatedEnum_Color) Enum() *RepeatedEnum_Color { + p := new(RepeatedEnum_Color) + *p = x + return p +} +func (x RepeatedEnum_Color) String() string { + return proto.EnumName(RepeatedEnum_Color_name, int32(x)) +} +func (x *RepeatedEnum_Color) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(RepeatedEnum_Color_value, data, "RepeatedEnum_Color") + if err != nil { + return err + } + *x = RepeatedEnum_Color(value) + return nil +} +func (RepeatedEnum_Color) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{23, 0} +} + +type GoEnum struct { + Foo *FOO `protobuf:"varint,1,req,name=foo,enum=test_proto.FOO" json:"foo,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoEnum) Reset() { *m = GoEnum{} } +func (m *GoEnum) String() string { return proto.CompactTextString(m) } +func (*GoEnum) ProtoMessage() {} +func (*GoEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{0} +} +func (m *GoEnum) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoEnum.Unmarshal(m, b) +} +func (m *GoEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoEnum.Marshal(b, m, deterministic) +} +func (dst *GoEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoEnum.Merge(dst, src) +} +func (m *GoEnum) XXX_Size() int { + return xxx_messageInfo_GoEnum.Size(m) +} +func (m *GoEnum) XXX_DiscardUnknown() { + xxx_messageInfo_GoEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_GoEnum proto.InternalMessageInfo + +func (m *GoEnum) GetFoo() FOO { + if m != nil && m.Foo != nil { + return *m.Foo + } + return FOO_FOO1 +} + +type GoTestField struct { + Label *string `protobuf:"bytes,1,req,name=Label" json:"Label,omitempty"` + Type *string `protobuf:"bytes,2,req,name=Type" json:"Type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoTestField) Reset() { *m = GoTestField{} } +func (m *GoTestField) String() string { return proto.CompactTextString(m) } +func (*GoTestField) ProtoMessage() {} +func (*GoTestField) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{1} +} +func (m *GoTestField) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoTestField.Unmarshal(m, b) +} +func (m *GoTestField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoTestField.Marshal(b, m, deterministic) +} +func (dst *GoTestField) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTestField.Merge(dst, src) +} +func (m *GoTestField) XXX_Size() int { + return xxx_messageInfo_GoTestField.Size(m) +} +func (m *GoTestField) XXX_DiscardUnknown() { + xxx_messageInfo_GoTestField.DiscardUnknown(m) +} + +var xxx_messageInfo_GoTestField proto.InternalMessageInfo + +func (m *GoTestField) GetLabel() string { + if m != nil && m.Label != nil { + return *m.Label + } + return "" +} + +func (m *GoTestField) GetType() string { + if m != nil && m.Type != nil { + return *m.Type + } + return "" +} + +type GoTest struct { + // Some typical parameters + Kind *GoTest_KIND `protobuf:"varint,1,req,name=Kind,enum=test_proto.GoTest_KIND" json:"Kind,omitempty"` + Table *string `protobuf:"bytes,2,opt,name=Table" json:"Table,omitempty"` + Param *int32 `protobuf:"varint,3,opt,name=Param" json:"Param,omitempty"` + // Required, repeated and optional foreign fields. + RequiredField *GoTestField `protobuf:"bytes,4,req,name=RequiredField" json:"RequiredField,omitempty"` + RepeatedField []*GoTestField `protobuf:"bytes,5,rep,name=RepeatedField" json:"RepeatedField,omitempty"` + OptionalField *GoTestField `protobuf:"bytes,6,opt,name=OptionalField" json:"OptionalField,omitempty"` + // Required fields of all basic types + F_BoolRequired *bool `protobuf:"varint,10,req,name=F_Bool_required,json=FBoolRequired" json:"F_Bool_required,omitempty"` + F_Int32Required *int32 `protobuf:"varint,11,req,name=F_Int32_required,json=FInt32Required" json:"F_Int32_required,omitempty"` + F_Int64Required *int64 `protobuf:"varint,12,req,name=F_Int64_required,json=FInt64Required" json:"F_Int64_required,omitempty"` + F_Fixed32Required *uint32 `protobuf:"fixed32,13,req,name=F_Fixed32_required,json=FFixed32Required" json:"F_Fixed32_required,omitempty"` + F_Fixed64Required *uint64 `protobuf:"fixed64,14,req,name=F_Fixed64_required,json=FFixed64Required" json:"F_Fixed64_required,omitempty"` + F_Uint32Required *uint32 `protobuf:"varint,15,req,name=F_Uint32_required,json=FUint32Required" json:"F_Uint32_required,omitempty"` + F_Uint64Required *uint64 `protobuf:"varint,16,req,name=F_Uint64_required,json=FUint64Required" json:"F_Uint64_required,omitempty"` + F_FloatRequired *float32 `protobuf:"fixed32,17,req,name=F_Float_required,json=FFloatRequired" json:"F_Float_required,omitempty"` + F_DoubleRequired *float64 `protobuf:"fixed64,18,req,name=F_Double_required,json=FDoubleRequired" json:"F_Double_required,omitempty"` + F_StringRequired *string `protobuf:"bytes,19,req,name=F_String_required,json=FStringRequired" json:"F_String_required,omitempty"` + F_BytesRequired []byte `protobuf:"bytes,101,req,name=F_Bytes_required,json=FBytesRequired" json:"F_Bytes_required,omitempty"` + F_Sint32Required *int32 `protobuf:"zigzag32,102,req,name=F_Sint32_required,json=FSint32Required" json:"F_Sint32_required,omitempty"` + F_Sint64Required *int64 `protobuf:"zigzag64,103,req,name=F_Sint64_required,json=FSint64Required" json:"F_Sint64_required,omitempty"` + F_Sfixed32Required *int32 `protobuf:"fixed32,104,req,name=F_Sfixed32_required,json=FSfixed32Required" json:"F_Sfixed32_required,omitempty"` + F_Sfixed64Required *int64 `protobuf:"fixed64,105,req,name=F_Sfixed64_required,json=FSfixed64Required" json:"F_Sfixed64_required,omitempty"` + // Repeated fields of all basic types + F_BoolRepeated []bool `protobuf:"varint,20,rep,name=F_Bool_repeated,json=FBoolRepeated" json:"F_Bool_repeated,omitempty"` + F_Int32Repeated []int32 `protobuf:"varint,21,rep,name=F_Int32_repeated,json=FInt32Repeated" json:"F_Int32_repeated,omitempty"` + F_Int64Repeated []int64 `protobuf:"varint,22,rep,name=F_Int64_repeated,json=FInt64Repeated" json:"F_Int64_repeated,omitempty"` + F_Fixed32Repeated []uint32 `protobuf:"fixed32,23,rep,name=F_Fixed32_repeated,json=FFixed32Repeated" json:"F_Fixed32_repeated,omitempty"` + F_Fixed64Repeated []uint64 `protobuf:"fixed64,24,rep,name=F_Fixed64_repeated,json=FFixed64Repeated" json:"F_Fixed64_repeated,omitempty"` + F_Uint32Repeated []uint32 `protobuf:"varint,25,rep,name=F_Uint32_repeated,json=FUint32Repeated" json:"F_Uint32_repeated,omitempty"` + F_Uint64Repeated []uint64 `protobuf:"varint,26,rep,name=F_Uint64_repeated,json=FUint64Repeated" json:"F_Uint64_repeated,omitempty"` + F_FloatRepeated []float32 `protobuf:"fixed32,27,rep,name=F_Float_repeated,json=FFloatRepeated" json:"F_Float_repeated,omitempty"` + F_DoubleRepeated []float64 `protobuf:"fixed64,28,rep,name=F_Double_repeated,json=FDoubleRepeated" json:"F_Double_repeated,omitempty"` + F_StringRepeated []string `protobuf:"bytes,29,rep,name=F_String_repeated,json=FStringRepeated" json:"F_String_repeated,omitempty"` + F_BytesRepeated [][]byte `protobuf:"bytes,201,rep,name=F_Bytes_repeated,json=FBytesRepeated" json:"F_Bytes_repeated,omitempty"` + F_Sint32Repeated []int32 `protobuf:"zigzag32,202,rep,name=F_Sint32_repeated,json=FSint32Repeated" json:"F_Sint32_repeated,omitempty"` + F_Sint64Repeated []int64 `protobuf:"zigzag64,203,rep,name=F_Sint64_repeated,json=FSint64Repeated" json:"F_Sint64_repeated,omitempty"` + F_Sfixed32Repeated []int32 `protobuf:"fixed32,204,rep,name=F_Sfixed32_repeated,json=FSfixed32Repeated" json:"F_Sfixed32_repeated,omitempty"` + F_Sfixed64Repeated []int64 `protobuf:"fixed64,205,rep,name=F_Sfixed64_repeated,json=FSfixed64Repeated" json:"F_Sfixed64_repeated,omitempty"` + // Optional fields of all basic types + F_BoolOptional *bool `protobuf:"varint,30,opt,name=F_Bool_optional,json=FBoolOptional" json:"F_Bool_optional,omitempty"` + F_Int32Optional *int32 `protobuf:"varint,31,opt,name=F_Int32_optional,json=FInt32Optional" json:"F_Int32_optional,omitempty"` + F_Int64Optional *int64 `protobuf:"varint,32,opt,name=F_Int64_optional,json=FInt64Optional" json:"F_Int64_optional,omitempty"` + F_Fixed32Optional *uint32 `protobuf:"fixed32,33,opt,name=F_Fixed32_optional,json=FFixed32Optional" json:"F_Fixed32_optional,omitempty"` + F_Fixed64Optional *uint64 `protobuf:"fixed64,34,opt,name=F_Fixed64_optional,json=FFixed64Optional" json:"F_Fixed64_optional,omitempty"` + F_Uint32Optional *uint32 `protobuf:"varint,35,opt,name=F_Uint32_optional,json=FUint32Optional" json:"F_Uint32_optional,omitempty"` + F_Uint64Optional *uint64 `protobuf:"varint,36,opt,name=F_Uint64_optional,json=FUint64Optional" json:"F_Uint64_optional,omitempty"` + F_FloatOptional *float32 `protobuf:"fixed32,37,opt,name=F_Float_optional,json=FFloatOptional" json:"F_Float_optional,omitempty"` + F_DoubleOptional *float64 `protobuf:"fixed64,38,opt,name=F_Double_optional,json=FDoubleOptional" json:"F_Double_optional,omitempty"` + F_StringOptional *string `protobuf:"bytes,39,opt,name=F_String_optional,json=FStringOptional" json:"F_String_optional,omitempty"` + F_BytesOptional []byte `protobuf:"bytes,301,opt,name=F_Bytes_optional,json=FBytesOptional" json:"F_Bytes_optional,omitempty"` + F_Sint32Optional *int32 `protobuf:"zigzag32,302,opt,name=F_Sint32_optional,json=FSint32Optional" json:"F_Sint32_optional,omitempty"` + F_Sint64Optional *int64 `protobuf:"zigzag64,303,opt,name=F_Sint64_optional,json=FSint64Optional" json:"F_Sint64_optional,omitempty"` + F_Sfixed32Optional *int32 `protobuf:"fixed32,304,opt,name=F_Sfixed32_optional,json=FSfixed32Optional" json:"F_Sfixed32_optional,omitempty"` + F_Sfixed64Optional *int64 `protobuf:"fixed64,305,opt,name=F_Sfixed64_optional,json=FSfixed64Optional" json:"F_Sfixed64_optional,omitempty"` + // Default-valued fields of all basic types + F_BoolDefaulted *bool `protobuf:"varint,40,opt,name=F_Bool_defaulted,json=FBoolDefaulted,def=1" json:"F_Bool_defaulted,omitempty"` + F_Int32Defaulted *int32 `protobuf:"varint,41,opt,name=F_Int32_defaulted,json=FInt32Defaulted,def=32" json:"F_Int32_defaulted,omitempty"` + F_Int64Defaulted *int64 `protobuf:"varint,42,opt,name=F_Int64_defaulted,json=FInt64Defaulted,def=64" json:"F_Int64_defaulted,omitempty"` + F_Fixed32Defaulted *uint32 `protobuf:"fixed32,43,opt,name=F_Fixed32_defaulted,json=FFixed32Defaulted,def=320" json:"F_Fixed32_defaulted,omitempty"` + F_Fixed64Defaulted *uint64 `protobuf:"fixed64,44,opt,name=F_Fixed64_defaulted,json=FFixed64Defaulted,def=640" json:"F_Fixed64_defaulted,omitempty"` + F_Uint32Defaulted *uint32 `protobuf:"varint,45,opt,name=F_Uint32_defaulted,json=FUint32Defaulted,def=3200" json:"F_Uint32_defaulted,omitempty"` + F_Uint64Defaulted *uint64 `protobuf:"varint,46,opt,name=F_Uint64_defaulted,json=FUint64Defaulted,def=6400" json:"F_Uint64_defaulted,omitempty"` + F_FloatDefaulted *float32 `protobuf:"fixed32,47,opt,name=F_Float_defaulted,json=FFloatDefaulted,def=314159" json:"F_Float_defaulted,omitempty"` + F_DoubleDefaulted *float64 `protobuf:"fixed64,48,opt,name=F_Double_defaulted,json=FDoubleDefaulted,def=271828" json:"F_Double_defaulted,omitempty"` + F_StringDefaulted *string `protobuf:"bytes,49,opt,name=F_String_defaulted,json=FStringDefaulted,def=hello, \"world!\"\n" json:"F_String_defaulted,omitempty"` + F_BytesDefaulted []byte `protobuf:"bytes,401,opt,name=F_Bytes_defaulted,json=FBytesDefaulted,def=Bignose" json:"F_Bytes_defaulted,omitempty"` + F_Sint32Defaulted *int32 `protobuf:"zigzag32,402,opt,name=F_Sint32_defaulted,json=FSint32Defaulted,def=-32" json:"F_Sint32_defaulted,omitempty"` + F_Sint64Defaulted *int64 `protobuf:"zigzag64,403,opt,name=F_Sint64_defaulted,json=FSint64Defaulted,def=-64" json:"F_Sint64_defaulted,omitempty"` + F_Sfixed32Defaulted *int32 `protobuf:"fixed32,404,opt,name=F_Sfixed32_defaulted,json=FSfixed32Defaulted,def=-32" json:"F_Sfixed32_defaulted,omitempty"` + F_Sfixed64Defaulted *int64 `protobuf:"fixed64,405,opt,name=F_Sfixed64_defaulted,json=FSfixed64Defaulted,def=-64" json:"F_Sfixed64_defaulted,omitempty"` + // Packed repeated fields (no string or bytes). + F_BoolRepeatedPacked []bool `protobuf:"varint,50,rep,packed,name=F_Bool_repeated_packed,json=FBoolRepeatedPacked" json:"F_Bool_repeated_packed,omitempty"` + F_Int32RepeatedPacked []int32 `protobuf:"varint,51,rep,packed,name=F_Int32_repeated_packed,json=FInt32RepeatedPacked" json:"F_Int32_repeated_packed,omitempty"` + F_Int64RepeatedPacked []int64 `protobuf:"varint,52,rep,packed,name=F_Int64_repeated_packed,json=FInt64RepeatedPacked" json:"F_Int64_repeated_packed,omitempty"` + F_Fixed32RepeatedPacked []uint32 `protobuf:"fixed32,53,rep,packed,name=F_Fixed32_repeated_packed,json=FFixed32RepeatedPacked" json:"F_Fixed32_repeated_packed,omitempty"` + F_Fixed64RepeatedPacked []uint64 `protobuf:"fixed64,54,rep,packed,name=F_Fixed64_repeated_packed,json=FFixed64RepeatedPacked" json:"F_Fixed64_repeated_packed,omitempty"` + F_Uint32RepeatedPacked []uint32 `protobuf:"varint,55,rep,packed,name=F_Uint32_repeated_packed,json=FUint32RepeatedPacked" json:"F_Uint32_repeated_packed,omitempty"` + F_Uint64RepeatedPacked []uint64 `protobuf:"varint,56,rep,packed,name=F_Uint64_repeated_packed,json=FUint64RepeatedPacked" json:"F_Uint64_repeated_packed,omitempty"` + F_FloatRepeatedPacked []float32 `protobuf:"fixed32,57,rep,packed,name=F_Float_repeated_packed,json=FFloatRepeatedPacked" json:"F_Float_repeated_packed,omitempty"` + F_DoubleRepeatedPacked []float64 `protobuf:"fixed64,58,rep,packed,name=F_Double_repeated_packed,json=FDoubleRepeatedPacked" json:"F_Double_repeated_packed,omitempty"` + F_Sint32RepeatedPacked []int32 `protobuf:"zigzag32,502,rep,packed,name=F_Sint32_repeated_packed,json=FSint32RepeatedPacked" json:"F_Sint32_repeated_packed,omitempty"` + F_Sint64RepeatedPacked []int64 `protobuf:"zigzag64,503,rep,packed,name=F_Sint64_repeated_packed,json=FSint64RepeatedPacked" json:"F_Sint64_repeated_packed,omitempty"` + F_Sfixed32RepeatedPacked []int32 `protobuf:"fixed32,504,rep,packed,name=F_Sfixed32_repeated_packed,json=FSfixed32RepeatedPacked" json:"F_Sfixed32_repeated_packed,omitempty"` + F_Sfixed64RepeatedPacked []int64 `protobuf:"fixed64,505,rep,packed,name=F_Sfixed64_repeated_packed,json=FSfixed64RepeatedPacked" json:"F_Sfixed64_repeated_packed,omitempty"` + Requiredgroup *GoTest_RequiredGroup `protobuf:"group,70,req,name=RequiredGroup,json=requiredgroup" json:"requiredgroup,omitempty"` + Repeatedgroup []*GoTest_RepeatedGroup `protobuf:"group,80,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"` + Optionalgroup *GoTest_OptionalGroup `protobuf:"group,90,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoTest) Reset() { *m = GoTest{} } +func (m *GoTest) String() string { return proto.CompactTextString(m) } +func (*GoTest) ProtoMessage() {} +func (*GoTest) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{2} +} +func (m *GoTest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoTest.Unmarshal(m, b) +} +func (m *GoTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoTest.Marshal(b, m, deterministic) +} +func (dst *GoTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTest.Merge(dst, src) +} +func (m *GoTest) XXX_Size() int { + return xxx_messageInfo_GoTest.Size(m) +} +func (m *GoTest) XXX_DiscardUnknown() { + xxx_messageInfo_GoTest.DiscardUnknown(m) +} + +var xxx_messageInfo_GoTest proto.InternalMessageInfo + +const Default_GoTest_F_BoolDefaulted bool = true +const Default_GoTest_F_Int32Defaulted int32 = 32 +const Default_GoTest_F_Int64Defaulted int64 = 64 +const Default_GoTest_F_Fixed32Defaulted uint32 = 320 +const Default_GoTest_F_Fixed64Defaulted uint64 = 640 +const Default_GoTest_F_Uint32Defaulted uint32 = 3200 +const Default_GoTest_F_Uint64Defaulted uint64 = 6400 +const Default_GoTest_F_FloatDefaulted float32 = 314159 +const Default_GoTest_F_DoubleDefaulted float64 = 271828 +const Default_GoTest_F_StringDefaulted string = "hello, \"world!\"\n" + +var Default_GoTest_F_BytesDefaulted []byte = []byte("Bignose") + +const Default_GoTest_F_Sint32Defaulted int32 = -32 +const Default_GoTest_F_Sint64Defaulted int64 = -64 +const Default_GoTest_F_Sfixed32Defaulted int32 = -32 +const Default_GoTest_F_Sfixed64Defaulted int64 = -64 + +func (m *GoTest) GetKind() GoTest_KIND { + if m != nil && m.Kind != nil { + return *m.Kind + } + return GoTest_VOID +} + +func (m *GoTest) GetTable() string { + if m != nil && m.Table != nil { + return *m.Table + } + return "" +} + +func (m *GoTest) GetParam() int32 { + if m != nil && m.Param != nil { + return *m.Param + } + return 0 +} + +func (m *GoTest) GetRequiredField() *GoTestField { + if m != nil { + return m.RequiredField + } + return nil +} + +func (m *GoTest) GetRepeatedField() []*GoTestField { + if m != nil { + return m.RepeatedField + } + return nil +} + +func (m *GoTest) GetOptionalField() *GoTestField { + if m != nil { + return m.OptionalField + } + return nil +} + +func (m *GoTest) GetF_BoolRequired() bool { + if m != nil && m.F_BoolRequired != nil { + return *m.F_BoolRequired + } + return false +} + +func (m *GoTest) GetF_Int32Required() int32 { + if m != nil && m.F_Int32Required != nil { + return *m.F_Int32Required + } + return 0 +} + +func (m *GoTest) GetF_Int64Required() int64 { + if m != nil && m.F_Int64Required != nil { + return *m.F_Int64Required + } + return 0 +} + +func (m *GoTest) GetF_Fixed32Required() uint32 { + if m != nil && m.F_Fixed32Required != nil { + return *m.F_Fixed32Required + } + return 0 +} + +func (m *GoTest) GetF_Fixed64Required() uint64 { + if m != nil && m.F_Fixed64Required != nil { + return *m.F_Fixed64Required + } + return 0 +} + +func (m *GoTest) GetF_Uint32Required() uint32 { + if m != nil && m.F_Uint32Required != nil { + return *m.F_Uint32Required + } + return 0 +} + +func (m *GoTest) GetF_Uint64Required() uint64 { + if m != nil && m.F_Uint64Required != nil { + return *m.F_Uint64Required + } + return 0 +} + +func (m *GoTest) GetF_FloatRequired() float32 { + if m != nil && m.F_FloatRequired != nil { + return *m.F_FloatRequired + } + return 0 +} + +func (m *GoTest) GetF_DoubleRequired() float64 { + if m != nil && m.F_DoubleRequired != nil { + return *m.F_DoubleRequired + } + return 0 +} + +func (m *GoTest) GetF_StringRequired() string { + if m != nil && m.F_StringRequired != nil { + return *m.F_StringRequired + } + return "" +} + +func (m *GoTest) GetF_BytesRequired() []byte { + if m != nil { + return m.F_BytesRequired + } + return nil +} + +func (m *GoTest) GetF_Sint32Required() int32 { + if m != nil && m.F_Sint32Required != nil { + return *m.F_Sint32Required + } + return 0 +} + +func (m *GoTest) GetF_Sint64Required() int64 { + if m != nil && m.F_Sint64Required != nil { + return *m.F_Sint64Required + } + return 0 +} + +func (m *GoTest) GetF_Sfixed32Required() int32 { + if m != nil && m.F_Sfixed32Required != nil { + return *m.F_Sfixed32Required + } + return 0 +} + +func (m *GoTest) GetF_Sfixed64Required() int64 { + if m != nil && m.F_Sfixed64Required != nil { + return *m.F_Sfixed64Required + } + return 0 +} + +func (m *GoTest) GetF_BoolRepeated() []bool { + if m != nil { + return m.F_BoolRepeated + } + return nil +} + +func (m *GoTest) GetF_Int32Repeated() []int32 { + if m != nil { + return m.F_Int32Repeated + } + return nil +} + +func (m *GoTest) GetF_Int64Repeated() []int64 { + if m != nil { + return m.F_Int64Repeated + } + return nil +} + +func (m *GoTest) GetF_Fixed32Repeated() []uint32 { + if m != nil { + return m.F_Fixed32Repeated + } + return nil +} + +func (m *GoTest) GetF_Fixed64Repeated() []uint64 { + if m != nil { + return m.F_Fixed64Repeated + } + return nil +} + +func (m *GoTest) GetF_Uint32Repeated() []uint32 { + if m != nil { + return m.F_Uint32Repeated + } + return nil +} + +func (m *GoTest) GetF_Uint64Repeated() []uint64 { + if m != nil { + return m.F_Uint64Repeated + } + return nil +} + +func (m *GoTest) GetF_FloatRepeated() []float32 { + if m != nil { + return m.F_FloatRepeated + } + return nil +} + +func (m *GoTest) GetF_DoubleRepeated() []float64 { + if m != nil { + return m.F_DoubleRepeated + } + return nil +} + +func (m *GoTest) GetF_StringRepeated() []string { + if m != nil { + return m.F_StringRepeated + } + return nil +} + +func (m *GoTest) GetF_BytesRepeated() [][]byte { + if m != nil { + return m.F_BytesRepeated + } + return nil +} + +func (m *GoTest) GetF_Sint32Repeated() []int32 { + if m != nil { + return m.F_Sint32Repeated + } + return nil +} + +func (m *GoTest) GetF_Sint64Repeated() []int64 { + if m != nil { + return m.F_Sint64Repeated + } + return nil +} + +func (m *GoTest) GetF_Sfixed32Repeated() []int32 { + if m != nil { + return m.F_Sfixed32Repeated + } + return nil +} + +func (m *GoTest) GetF_Sfixed64Repeated() []int64 { + if m != nil { + return m.F_Sfixed64Repeated + } + return nil +} + +func (m *GoTest) GetF_BoolOptional() bool { + if m != nil && m.F_BoolOptional != nil { + return *m.F_BoolOptional + } + return false +} + +func (m *GoTest) GetF_Int32Optional() int32 { + if m != nil && m.F_Int32Optional != nil { + return *m.F_Int32Optional + } + return 0 +} + +func (m *GoTest) GetF_Int64Optional() int64 { + if m != nil && m.F_Int64Optional != nil { + return *m.F_Int64Optional + } + return 0 +} + +func (m *GoTest) GetF_Fixed32Optional() uint32 { + if m != nil && m.F_Fixed32Optional != nil { + return *m.F_Fixed32Optional + } + return 0 +} + +func (m *GoTest) GetF_Fixed64Optional() uint64 { + if m != nil && m.F_Fixed64Optional != nil { + return *m.F_Fixed64Optional + } + return 0 +} + +func (m *GoTest) GetF_Uint32Optional() uint32 { + if m != nil && m.F_Uint32Optional != nil { + return *m.F_Uint32Optional + } + return 0 +} + +func (m *GoTest) GetF_Uint64Optional() uint64 { + if m != nil && m.F_Uint64Optional != nil { + return *m.F_Uint64Optional + } + return 0 +} + +func (m *GoTest) GetF_FloatOptional() float32 { + if m != nil && m.F_FloatOptional != nil { + return *m.F_FloatOptional + } + return 0 +} + +func (m *GoTest) GetF_DoubleOptional() float64 { + if m != nil && m.F_DoubleOptional != nil { + return *m.F_DoubleOptional + } + return 0 +} + +func (m *GoTest) GetF_StringOptional() string { + if m != nil && m.F_StringOptional != nil { + return *m.F_StringOptional + } + return "" +} + +func (m *GoTest) GetF_BytesOptional() []byte { + if m != nil { + return m.F_BytesOptional + } + return nil +} + +func (m *GoTest) GetF_Sint32Optional() int32 { + if m != nil && m.F_Sint32Optional != nil { + return *m.F_Sint32Optional + } + return 0 +} + +func (m *GoTest) GetF_Sint64Optional() int64 { + if m != nil && m.F_Sint64Optional != nil { + return *m.F_Sint64Optional + } + return 0 +} + +func (m *GoTest) GetF_Sfixed32Optional() int32 { + if m != nil && m.F_Sfixed32Optional != nil { + return *m.F_Sfixed32Optional + } + return 0 +} + +func (m *GoTest) GetF_Sfixed64Optional() int64 { + if m != nil && m.F_Sfixed64Optional != nil { + return *m.F_Sfixed64Optional + } + return 0 +} + +func (m *GoTest) GetF_BoolDefaulted() bool { + if m != nil && m.F_BoolDefaulted != nil { + return *m.F_BoolDefaulted + } + return Default_GoTest_F_BoolDefaulted +} + +func (m *GoTest) GetF_Int32Defaulted() int32 { + if m != nil && m.F_Int32Defaulted != nil { + return *m.F_Int32Defaulted + } + return Default_GoTest_F_Int32Defaulted +} + +func (m *GoTest) GetF_Int64Defaulted() int64 { + if m != nil && m.F_Int64Defaulted != nil { + return *m.F_Int64Defaulted + } + return Default_GoTest_F_Int64Defaulted +} + +func (m *GoTest) GetF_Fixed32Defaulted() uint32 { + if m != nil && m.F_Fixed32Defaulted != nil { + return *m.F_Fixed32Defaulted + } + return Default_GoTest_F_Fixed32Defaulted +} + +func (m *GoTest) GetF_Fixed64Defaulted() uint64 { + if m != nil && m.F_Fixed64Defaulted != nil { + return *m.F_Fixed64Defaulted + } + return Default_GoTest_F_Fixed64Defaulted +} + +func (m *GoTest) GetF_Uint32Defaulted() uint32 { + if m != nil && m.F_Uint32Defaulted != nil { + return *m.F_Uint32Defaulted + } + return Default_GoTest_F_Uint32Defaulted +} + +func (m *GoTest) GetF_Uint64Defaulted() uint64 { + if m != nil && m.F_Uint64Defaulted != nil { + return *m.F_Uint64Defaulted + } + return Default_GoTest_F_Uint64Defaulted +} + +func (m *GoTest) GetF_FloatDefaulted() float32 { + if m != nil && m.F_FloatDefaulted != nil { + return *m.F_FloatDefaulted + } + return Default_GoTest_F_FloatDefaulted +} + +func (m *GoTest) GetF_DoubleDefaulted() float64 { + if m != nil && m.F_DoubleDefaulted != nil { + return *m.F_DoubleDefaulted + } + return Default_GoTest_F_DoubleDefaulted +} + +func (m *GoTest) GetF_StringDefaulted() string { + if m != nil && m.F_StringDefaulted != nil { + return *m.F_StringDefaulted + } + return Default_GoTest_F_StringDefaulted +} + +func (m *GoTest) GetF_BytesDefaulted() []byte { + if m != nil && m.F_BytesDefaulted != nil { + return m.F_BytesDefaulted + } + return append([]byte(nil), Default_GoTest_F_BytesDefaulted...) +} + +func (m *GoTest) GetF_Sint32Defaulted() int32 { + if m != nil && m.F_Sint32Defaulted != nil { + return *m.F_Sint32Defaulted + } + return Default_GoTest_F_Sint32Defaulted +} + +func (m *GoTest) GetF_Sint64Defaulted() int64 { + if m != nil && m.F_Sint64Defaulted != nil { + return *m.F_Sint64Defaulted + } + return Default_GoTest_F_Sint64Defaulted +} + +func (m *GoTest) GetF_Sfixed32Defaulted() int32 { + if m != nil && m.F_Sfixed32Defaulted != nil { + return *m.F_Sfixed32Defaulted + } + return Default_GoTest_F_Sfixed32Defaulted +} + +func (m *GoTest) GetF_Sfixed64Defaulted() int64 { + if m != nil && m.F_Sfixed64Defaulted != nil { + return *m.F_Sfixed64Defaulted + } + return Default_GoTest_F_Sfixed64Defaulted +} + +func (m *GoTest) GetF_BoolRepeatedPacked() []bool { + if m != nil { + return m.F_BoolRepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Int32RepeatedPacked() []int32 { + if m != nil { + return m.F_Int32RepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Int64RepeatedPacked() []int64 { + if m != nil { + return m.F_Int64RepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Fixed32RepeatedPacked() []uint32 { + if m != nil { + return m.F_Fixed32RepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Fixed64RepeatedPacked() []uint64 { + if m != nil { + return m.F_Fixed64RepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Uint32RepeatedPacked() []uint32 { + if m != nil { + return m.F_Uint32RepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Uint64RepeatedPacked() []uint64 { + if m != nil { + return m.F_Uint64RepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_FloatRepeatedPacked() []float32 { + if m != nil { + return m.F_FloatRepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_DoubleRepeatedPacked() []float64 { + if m != nil { + return m.F_DoubleRepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Sint32RepeatedPacked() []int32 { + if m != nil { + return m.F_Sint32RepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Sint64RepeatedPacked() []int64 { + if m != nil { + return m.F_Sint64RepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Sfixed32RepeatedPacked() []int32 { + if m != nil { + return m.F_Sfixed32RepeatedPacked + } + return nil +} + +func (m *GoTest) GetF_Sfixed64RepeatedPacked() []int64 { + if m != nil { + return m.F_Sfixed64RepeatedPacked + } + return nil +} + +func (m *GoTest) GetRequiredgroup() *GoTest_RequiredGroup { + if m != nil { + return m.Requiredgroup + } + return nil +} + +func (m *GoTest) GetRepeatedgroup() []*GoTest_RepeatedGroup { + if m != nil { + return m.Repeatedgroup + } + return nil +} + +func (m *GoTest) GetOptionalgroup() *GoTest_OptionalGroup { + if m != nil { + return m.Optionalgroup + } + return nil +} + +// Required, repeated, and optional groups. +type GoTest_RequiredGroup struct { + RequiredField *string `protobuf:"bytes,71,req,name=RequiredField" json:"RequiredField,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoTest_RequiredGroup) Reset() { *m = GoTest_RequiredGroup{} } +func (m *GoTest_RequiredGroup) String() string { return proto.CompactTextString(m) } +func (*GoTest_RequiredGroup) ProtoMessage() {} +func (*GoTest_RequiredGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{2, 0} +} +func (m *GoTest_RequiredGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoTest_RequiredGroup.Unmarshal(m, b) +} +func (m *GoTest_RequiredGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoTest_RequiredGroup.Marshal(b, m, deterministic) +} +func (dst *GoTest_RequiredGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTest_RequiredGroup.Merge(dst, src) +} +func (m *GoTest_RequiredGroup) XXX_Size() int { + return xxx_messageInfo_GoTest_RequiredGroup.Size(m) +} +func (m *GoTest_RequiredGroup) XXX_DiscardUnknown() { + xxx_messageInfo_GoTest_RequiredGroup.DiscardUnknown(m) +} + +var xxx_messageInfo_GoTest_RequiredGroup proto.InternalMessageInfo + +func (m *GoTest_RequiredGroup) GetRequiredField() string { + if m != nil && m.RequiredField != nil { + return *m.RequiredField + } + return "" +} + +type GoTest_RepeatedGroup struct { + RequiredField *string `protobuf:"bytes,81,req,name=RequiredField" json:"RequiredField,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoTest_RepeatedGroup) Reset() { *m = GoTest_RepeatedGroup{} } +func (m *GoTest_RepeatedGroup) String() string { return proto.CompactTextString(m) } +func (*GoTest_RepeatedGroup) ProtoMessage() {} +func (*GoTest_RepeatedGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{2, 1} +} +func (m *GoTest_RepeatedGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoTest_RepeatedGroup.Unmarshal(m, b) +} +func (m *GoTest_RepeatedGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoTest_RepeatedGroup.Marshal(b, m, deterministic) +} +func (dst *GoTest_RepeatedGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTest_RepeatedGroup.Merge(dst, src) +} +func (m *GoTest_RepeatedGroup) XXX_Size() int { + return xxx_messageInfo_GoTest_RepeatedGroup.Size(m) +} +func (m *GoTest_RepeatedGroup) XXX_DiscardUnknown() { + xxx_messageInfo_GoTest_RepeatedGroup.DiscardUnknown(m) +} + +var xxx_messageInfo_GoTest_RepeatedGroup proto.InternalMessageInfo + +func (m *GoTest_RepeatedGroup) GetRequiredField() string { + if m != nil && m.RequiredField != nil { + return *m.RequiredField + } + return "" +} + +type GoTest_OptionalGroup struct { + RequiredField *string `protobuf:"bytes,91,req,name=RequiredField" json:"RequiredField,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoTest_OptionalGroup) Reset() { *m = GoTest_OptionalGroup{} } +func (m *GoTest_OptionalGroup) String() string { return proto.CompactTextString(m) } +func (*GoTest_OptionalGroup) ProtoMessage() {} +func (*GoTest_OptionalGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{2, 2} +} +func (m *GoTest_OptionalGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoTest_OptionalGroup.Unmarshal(m, b) +} +func (m *GoTest_OptionalGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoTest_OptionalGroup.Marshal(b, m, deterministic) +} +func (dst *GoTest_OptionalGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTest_OptionalGroup.Merge(dst, src) +} +func (m *GoTest_OptionalGroup) XXX_Size() int { + return xxx_messageInfo_GoTest_OptionalGroup.Size(m) +} +func (m *GoTest_OptionalGroup) XXX_DiscardUnknown() { + xxx_messageInfo_GoTest_OptionalGroup.DiscardUnknown(m) +} + +var xxx_messageInfo_GoTest_OptionalGroup proto.InternalMessageInfo + +func (m *GoTest_OptionalGroup) GetRequiredField() string { + if m != nil && m.RequiredField != nil { + return *m.RequiredField + } + return "" +} + +// For testing a group containing a required field. +type GoTestRequiredGroupField struct { + Group *GoTestRequiredGroupField_Group `protobuf:"group,1,req,name=Group,json=group" json:"group,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoTestRequiredGroupField) Reset() { *m = GoTestRequiredGroupField{} } +func (m *GoTestRequiredGroupField) String() string { return proto.CompactTextString(m) } +func (*GoTestRequiredGroupField) ProtoMessage() {} +func (*GoTestRequiredGroupField) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{3} +} +func (m *GoTestRequiredGroupField) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoTestRequiredGroupField.Unmarshal(m, b) +} +func (m *GoTestRequiredGroupField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoTestRequiredGroupField.Marshal(b, m, deterministic) +} +func (dst *GoTestRequiredGroupField) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTestRequiredGroupField.Merge(dst, src) +} +func (m *GoTestRequiredGroupField) XXX_Size() int { + return xxx_messageInfo_GoTestRequiredGroupField.Size(m) +} +func (m *GoTestRequiredGroupField) XXX_DiscardUnknown() { + xxx_messageInfo_GoTestRequiredGroupField.DiscardUnknown(m) +} + +var xxx_messageInfo_GoTestRequiredGroupField proto.InternalMessageInfo + +func (m *GoTestRequiredGroupField) GetGroup() *GoTestRequiredGroupField_Group { + if m != nil { + return m.Group + } + return nil +} + +type GoTestRequiredGroupField_Group struct { + Field *int32 `protobuf:"varint,2,req,name=Field" json:"Field,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoTestRequiredGroupField_Group) Reset() { *m = GoTestRequiredGroupField_Group{} } +func (m *GoTestRequiredGroupField_Group) String() string { return proto.CompactTextString(m) } +func (*GoTestRequiredGroupField_Group) ProtoMessage() {} +func (*GoTestRequiredGroupField_Group) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{3, 0} +} +func (m *GoTestRequiredGroupField_Group) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoTestRequiredGroupField_Group.Unmarshal(m, b) +} +func (m *GoTestRequiredGroupField_Group) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoTestRequiredGroupField_Group.Marshal(b, m, deterministic) +} +func (dst *GoTestRequiredGroupField_Group) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTestRequiredGroupField_Group.Merge(dst, src) +} +func (m *GoTestRequiredGroupField_Group) XXX_Size() int { + return xxx_messageInfo_GoTestRequiredGroupField_Group.Size(m) +} +func (m *GoTestRequiredGroupField_Group) XXX_DiscardUnknown() { + xxx_messageInfo_GoTestRequiredGroupField_Group.DiscardUnknown(m) +} + +var xxx_messageInfo_GoTestRequiredGroupField_Group proto.InternalMessageInfo + +func (m *GoTestRequiredGroupField_Group) GetField() int32 { + if m != nil && m.Field != nil { + return *m.Field + } + return 0 +} + +// For testing skipping of unrecognized fields. +// Numbers are all big, larger than tag numbers in GoTestField, +// the message used in the corresponding test. +type GoSkipTest struct { + SkipInt32 *int32 `protobuf:"varint,11,req,name=skip_int32,json=skipInt32" json:"skip_int32,omitempty"` + SkipFixed32 *uint32 `protobuf:"fixed32,12,req,name=skip_fixed32,json=skipFixed32" json:"skip_fixed32,omitempty"` + SkipFixed64 *uint64 `protobuf:"fixed64,13,req,name=skip_fixed64,json=skipFixed64" json:"skip_fixed64,omitempty"` + SkipString *string `protobuf:"bytes,14,req,name=skip_string,json=skipString" json:"skip_string,omitempty"` + Skipgroup *GoSkipTest_SkipGroup `protobuf:"group,15,req,name=SkipGroup,json=skipgroup" json:"skipgroup,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoSkipTest) Reset() { *m = GoSkipTest{} } +func (m *GoSkipTest) String() string { return proto.CompactTextString(m) } +func (*GoSkipTest) ProtoMessage() {} +func (*GoSkipTest) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{4} +} +func (m *GoSkipTest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoSkipTest.Unmarshal(m, b) +} +func (m *GoSkipTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoSkipTest.Marshal(b, m, deterministic) +} +func (dst *GoSkipTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoSkipTest.Merge(dst, src) +} +func (m *GoSkipTest) XXX_Size() int { + return xxx_messageInfo_GoSkipTest.Size(m) +} +func (m *GoSkipTest) XXX_DiscardUnknown() { + xxx_messageInfo_GoSkipTest.DiscardUnknown(m) +} + +var xxx_messageInfo_GoSkipTest proto.InternalMessageInfo + +func (m *GoSkipTest) GetSkipInt32() int32 { + if m != nil && m.SkipInt32 != nil { + return *m.SkipInt32 + } + return 0 +} + +func (m *GoSkipTest) GetSkipFixed32() uint32 { + if m != nil && m.SkipFixed32 != nil { + return *m.SkipFixed32 + } + return 0 +} + +func (m *GoSkipTest) GetSkipFixed64() uint64 { + if m != nil && m.SkipFixed64 != nil { + return *m.SkipFixed64 + } + return 0 +} + +func (m *GoSkipTest) GetSkipString() string { + if m != nil && m.SkipString != nil { + return *m.SkipString + } + return "" +} + +func (m *GoSkipTest) GetSkipgroup() *GoSkipTest_SkipGroup { + if m != nil { + return m.Skipgroup + } + return nil +} + +type GoSkipTest_SkipGroup struct { + GroupInt32 *int32 `protobuf:"varint,16,req,name=group_int32,json=groupInt32" json:"group_int32,omitempty"` + GroupString *string `protobuf:"bytes,17,req,name=group_string,json=groupString" json:"group_string,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GoSkipTest_SkipGroup) Reset() { *m = GoSkipTest_SkipGroup{} } +func (m *GoSkipTest_SkipGroup) String() string { return proto.CompactTextString(m) } +func (*GoSkipTest_SkipGroup) ProtoMessage() {} +func (*GoSkipTest_SkipGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{4, 0} +} +func (m *GoSkipTest_SkipGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GoSkipTest_SkipGroup.Unmarshal(m, b) +} +func (m *GoSkipTest_SkipGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GoSkipTest_SkipGroup.Marshal(b, m, deterministic) +} +func (dst *GoSkipTest_SkipGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoSkipTest_SkipGroup.Merge(dst, src) +} +func (m *GoSkipTest_SkipGroup) XXX_Size() int { + return xxx_messageInfo_GoSkipTest_SkipGroup.Size(m) +} +func (m *GoSkipTest_SkipGroup) XXX_DiscardUnknown() { + xxx_messageInfo_GoSkipTest_SkipGroup.DiscardUnknown(m) +} + +var xxx_messageInfo_GoSkipTest_SkipGroup proto.InternalMessageInfo + +func (m *GoSkipTest_SkipGroup) GetGroupInt32() int32 { + if m != nil && m.GroupInt32 != nil { + return *m.GroupInt32 + } + return 0 +} + +func (m *GoSkipTest_SkipGroup) GetGroupString() string { + if m != nil && m.GroupString != nil { + return *m.GroupString + } + return "" +} + +// For testing packed/non-packed decoder switching. +// A serialized instance of one should be deserializable as the other. +type NonPackedTest struct { + A []int32 `protobuf:"varint,1,rep,name=a" json:"a,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NonPackedTest) Reset() { *m = NonPackedTest{} } +func (m *NonPackedTest) String() string { return proto.CompactTextString(m) } +func (*NonPackedTest) ProtoMessage() {} +func (*NonPackedTest) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{5} +} +func (m *NonPackedTest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NonPackedTest.Unmarshal(m, b) +} +func (m *NonPackedTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NonPackedTest.Marshal(b, m, deterministic) +} +func (dst *NonPackedTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonPackedTest.Merge(dst, src) +} +func (m *NonPackedTest) XXX_Size() int { + return xxx_messageInfo_NonPackedTest.Size(m) +} +func (m *NonPackedTest) XXX_DiscardUnknown() { + xxx_messageInfo_NonPackedTest.DiscardUnknown(m) +} + +var xxx_messageInfo_NonPackedTest proto.InternalMessageInfo + +func (m *NonPackedTest) GetA() []int32 { + if m != nil { + return m.A + } + return nil +} + +type PackedTest struct { + B []int32 `protobuf:"varint,1,rep,packed,name=b" json:"b,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PackedTest) Reset() { *m = PackedTest{} } +func (m *PackedTest) String() string { return proto.CompactTextString(m) } +func (*PackedTest) ProtoMessage() {} +func (*PackedTest) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{6} +} +func (m *PackedTest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PackedTest.Unmarshal(m, b) +} +func (m *PackedTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PackedTest.Marshal(b, m, deterministic) +} +func (dst *PackedTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PackedTest.Merge(dst, src) +} +func (m *PackedTest) XXX_Size() int { + return xxx_messageInfo_PackedTest.Size(m) +} +func (m *PackedTest) XXX_DiscardUnknown() { + xxx_messageInfo_PackedTest.DiscardUnknown(m) +} + +var xxx_messageInfo_PackedTest proto.InternalMessageInfo + +func (m *PackedTest) GetB() []int32 { + if m != nil { + return m.B + } + return nil +} + +type MaxTag struct { + // Maximum possible tag number. + LastField *string `protobuf:"bytes,536870911,opt,name=last_field,json=lastField" json:"last_field,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MaxTag) Reset() { *m = MaxTag{} } +func (m *MaxTag) String() string { return proto.CompactTextString(m) } +func (*MaxTag) ProtoMessage() {} +func (*MaxTag) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{7} +} +func (m *MaxTag) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MaxTag.Unmarshal(m, b) +} +func (m *MaxTag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MaxTag.Marshal(b, m, deterministic) +} +func (dst *MaxTag) XXX_Merge(src proto.Message) { + xxx_messageInfo_MaxTag.Merge(dst, src) +} +func (m *MaxTag) XXX_Size() int { + return xxx_messageInfo_MaxTag.Size(m) +} +func (m *MaxTag) XXX_DiscardUnknown() { + xxx_messageInfo_MaxTag.DiscardUnknown(m) +} + +var xxx_messageInfo_MaxTag proto.InternalMessageInfo + +func (m *MaxTag) GetLastField() string { + if m != nil && m.LastField != nil { + return *m.LastField + } + return "" +} + +type OldMessage struct { + Nested *OldMessage_Nested `protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"` + Num *int32 `protobuf:"varint,2,opt,name=num" json:"num,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OldMessage) Reset() { *m = OldMessage{} } +func (m *OldMessage) String() string { return proto.CompactTextString(m) } +func (*OldMessage) ProtoMessage() {} +func (*OldMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{8} +} +func (m *OldMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OldMessage.Unmarshal(m, b) +} +func (m *OldMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OldMessage.Marshal(b, m, deterministic) +} +func (dst *OldMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldMessage.Merge(dst, src) +} +func (m *OldMessage) XXX_Size() int { + return xxx_messageInfo_OldMessage.Size(m) +} +func (m *OldMessage) XXX_DiscardUnknown() { + xxx_messageInfo_OldMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_OldMessage proto.InternalMessageInfo + +func (m *OldMessage) GetNested() *OldMessage_Nested { + if m != nil { + return m.Nested + } + return nil +} + +func (m *OldMessage) GetNum() int32 { + if m != nil && m.Num != nil { + return *m.Num + } + return 0 +} + +type OldMessage_Nested struct { + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OldMessage_Nested) Reset() { *m = OldMessage_Nested{} } +func (m *OldMessage_Nested) String() string { return proto.CompactTextString(m) } +func (*OldMessage_Nested) ProtoMessage() {} +func (*OldMessage_Nested) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{8, 0} +} +func (m *OldMessage_Nested) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OldMessage_Nested.Unmarshal(m, b) +} +func (m *OldMessage_Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OldMessage_Nested.Marshal(b, m, deterministic) +} +func (dst *OldMessage_Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldMessage_Nested.Merge(dst, src) +} +func (m *OldMessage_Nested) XXX_Size() int { + return xxx_messageInfo_OldMessage_Nested.Size(m) +} +func (m *OldMessage_Nested) XXX_DiscardUnknown() { + xxx_messageInfo_OldMessage_Nested.DiscardUnknown(m) +} + +var xxx_messageInfo_OldMessage_Nested proto.InternalMessageInfo + +func (m *OldMessage_Nested) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +// NewMessage is wire compatible with OldMessage; +// imagine it as a future version. +type NewMessage struct { + Nested *NewMessage_Nested `protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"` + // This is an int32 in OldMessage. + Num *int64 `protobuf:"varint,2,opt,name=num" json:"num,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NewMessage) Reset() { *m = NewMessage{} } +func (m *NewMessage) String() string { return proto.CompactTextString(m) } +func (*NewMessage) ProtoMessage() {} +func (*NewMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{9} +} +func (m *NewMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NewMessage.Unmarshal(m, b) +} +func (m *NewMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NewMessage.Marshal(b, m, deterministic) +} +func (dst *NewMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_NewMessage.Merge(dst, src) +} +func (m *NewMessage) XXX_Size() int { + return xxx_messageInfo_NewMessage.Size(m) +} +func (m *NewMessage) XXX_DiscardUnknown() { + xxx_messageInfo_NewMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_NewMessage proto.InternalMessageInfo + +func (m *NewMessage) GetNested() *NewMessage_Nested { + if m != nil { + return m.Nested + } + return nil +} + +func (m *NewMessage) GetNum() int64 { + if m != nil && m.Num != nil { + return *m.Num + } + return 0 +} + +type NewMessage_Nested struct { + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + FoodGroup *string `protobuf:"bytes,2,opt,name=food_group,json=foodGroup" json:"food_group,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NewMessage_Nested) Reset() { *m = NewMessage_Nested{} } +func (m *NewMessage_Nested) String() string { return proto.CompactTextString(m) } +func (*NewMessage_Nested) ProtoMessage() {} +func (*NewMessage_Nested) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{9, 0} +} +func (m *NewMessage_Nested) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NewMessage_Nested.Unmarshal(m, b) +} +func (m *NewMessage_Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NewMessage_Nested.Marshal(b, m, deterministic) +} +func (dst *NewMessage_Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_NewMessage_Nested.Merge(dst, src) +} +func (m *NewMessage_Nested) XXX_Size() int { + return xxx_messageInfo_NewMessage_Nested.Size(m) +} +func (m *NewMessage_Nested) XXX_DiscardUnknown() { + xxx_messageInfo_NewMessage_Nested.DiscardUnknown(m) +} + +var xxx_messageInfo_NewMessage_Nested proto.InternalMessageInfo + +func (m *NewMessage_Nested) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *NewMessage_Nested) GetFoodGroup() string { + if m != nil && m.FoodGroup != nil { + return *m.FoodGroup + } + return "" +} + +type InnerMessage struct { + Host *string `protobuf:"bytes,1,req,name=host" json:"host,omitempty"` + Port *int32 `protobuf:"varint,2,opt,name=port,def=4000" json:"port,omitempty"` + Connected *bool `protobuf:"varint,3,opt,name=connected" json:"connected,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InnerMessage) Reset() { *m = InnerMessage{} } +func (m *InnerMessage) String() string { return proto.CompactTextString(m) } +func (*InnerMessage) ProtoMessage() {} +func (*InnerMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{10} +} +func (m *InnerMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InnerMessage.Unmarshal(m, b) +} +func (m *InnerMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InnerMessage.Marshal(b, m, deterministic) +} +func (dst *InnerMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_InnerMessage.Merge(dst, src) +} +func (m *InnerMessage) XXX_Size() int { + return xxx_messageInfo_InnerMessage.Size(m) +} +func (m *InnerMessage) XXX_DiscardUnknown() { + xxx_messageInfo_InnerMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_InnerMessage proto.InternalMessageInfo + +const Default_InnerMessage_Port int32 = 4000 + +func (m *InnerMessage) GetHost() string { + if m != nil && m.Host != nil { + return *m.Host + } + return "" +} + +func (m *InnerMessage) GetPort() int32 { + if m != nil && m.Port != nil { + return *m.Port + } + return Default_InnerMessage_Port +} + +func (m *InnerMessage) GetConnected() bool { + if m != nil && m.Connected != nil { + return *m.Connected + } + return false +} + +type OtherMessage struct { + Key *int64 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` + Weight *float32 `protobuf:"fixed32,3,opt,name=weight" json:"weight,omitempty"` + Inner *InnerMessage `protobuf:"bytes,4,opt,name=inner" json:"inner,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + proto.XXX_InternalExtensions `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OtherMessage) Reset() { *m = OtherMessage{} } +func (m *OtherMessage) String() string { return proto.CompactTextString(m) } +func (*OtherMessage) ProtoMessage() {} +func (*OtherMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{11} +} + +var extRange_OtherMessage = []proto.ExtensionRange{ + {Start: 100, End: 536870911}, +} + +func (*OtherMessage) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_OtherMessage +} +func (m *OtherMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OtherMessage.Unmarshal(m, b) +} +func (m *OtherMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OtherMessage.Marshal(b, m, deterministic) +} +func (dst *OtherMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherMessage.Merge(dst, src) +} +func (m *OtherMessage) XXX_Size() int { + return xxx_messageInfo_OtherMessage.Size(m) +} +func (m *OtherMessage) XXX_DiscardUnknown() { + xxx_messageInfo_OtherMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_OtherMessage proto.InternalMessageInfo + +func (m *OtherMessage) GetKey() int64 { + if m != nil && m.Key != nil { + return *m.Key + } + return 0 +} + +func (m *OtherMessage) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *OtherMessage) GetWeight() float32 { + if m != nil && m.Weight != nil { + return *m.Weight + } + return 0 +} + +func (m *OtherMessage) GetInner() *InnerMessage { + if m != nil { + return m.Inner + } + return nil +} + +type RequiredInnerMessage struct { + LeoFinallyWonAnOscar *InnerMessage `protobuf:"bytes,1,req,name=leo_finally_won_an_oscar,json=leoFinallyWonAnOscar" json:"leo_finally_won_an_oscar,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RequiredInnerMessage) Reset() { *m = RequiredInnerMessage{} } +func (m *RequiredInnerMessage) String() string { return proto.CompactTextString(m) } +func (*RequiredInnerMessage) ProtoMessage() {} +func (*RequiredInnerMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{12} +} +func (m *RequiredInnerMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RequiredInnerMessage.Unmarshal(m, b) +} +func (m *RequiredInnerMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RequiredInnerMessage.Marshal(b, m, deterministic) +} +func (dst *RequiredInnerMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequiredInnerMessage.Merge(dst, src) +} +func (m *RequiredInnerMessage) XXX_Size() int { + return xxx_messageInfo_RequiredInnerMessage.Size(m) +} +func (m *RequiredInnerMessage) XXX_DiscardUnknown() { + xxx_messageInfo_RequiredInnerMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_RequiredInnerMessage proto.InternalMessageInfo + +func (m *RequiredInnerMessage) GetLeoFinallyWonAnOscar() *InnerMessage { + if m != nil { + return m.LeoFinallyWonAnOscar + } + return nil +} + +type MyMessage struct { + Count *int32 `protobuf:"varint,1,req,name=count" json:"count,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + Quote *string `protobuf:"bytes,3,opt,name=quote" json:"quote,omitempty"` + Pet []string `protobuf:"bytes,4,rep,name=pet" json:"pet,omitempty"` + Inner *InnerMessage `protobuf:"bytes,5,opt,name=inner" json:"inner,omitempty"` + Others []*OtherMessage `protobuf:"bytes,6,rep,name=others" json:"others,omitempty"` + WeMustGoDeeper *RequiredInnerMessage `protobuf:"bytes,13,opt,name=we_must_go_deeper,json=weMustGoDeeper" json:"we_must_go_deeper,omitempty"` + RepInner []*InnerMessage `protobuf:"bytes,12,rep,name=rep_inner,json=repInner" json:"rep_inner,omitempty"` + Bikeshed *MyMessage_Color `protobuf:"varint,7,opt,name=bikeshed,enum=test_proto.MyMessage_Color" json:"bikeshed,omitempty"` + Somegroup *MyMessage_SomeGroup `protobuf:"group,8,opt,name=SomeGroup,json=somegroup" json:"somegroup,omitempty"` + // This field becomes [][]byte in the generated code. + RepBytes [][]byte `protobuf:"bytes,10,rep,name=rep_bytes,json=repBytes" json:"rep_bytes,omitempty"` + Bigfloat *float64 `protobuf:"fixed64,11,opt,name=bigfloat" json:"bigfloat,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + proto.XXX_InternalExtensions `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MyMessage) Reset() { *m = MyMessage{} } +func (m *MyMessage) String() string { return proto.CompactTextString(m) } +func (*MyMessage) ProtoMessage() {} +func (*MyMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{13} +} + +var extRange_MyMessage = []proto.ExtensionRange{ + {Start: 100, End: 536870911}, +} + +func (*MyMessage) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_MyMessage +} +func (m *MyMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MyMessage.Unmarshal(m, b) +} +func (m *MyMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MyMessage.Marshal(b, m, deterministic) +} +func (dst *MyMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyMessage.Merge(dst, src) +} +func (m *MyMessage) XXX_Size() int { + return xxx_messageInfo_MyMessage.Size(m) +} +func (m *MyMessage) XXX_DiscardUnknown() { + xxx_messageInfo_MyMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_MyMessage proto.InternalMessageInfo + +func (m *MyMessage) GetCount() int32 { + if m != nil && m.Count != nil { + return *m.Count + } + return 0 +} + +func (m *MyMessage) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *MyMessage) GetQuote() string { + if m != nil && m.Quote != nil { + return *m.Quote + } + return "" +} + +func (m *MyMessage) GetPet() []string { + if m != nil { + return m.Pet + } + return nil +} + +func (m *MyMessage) GetInner() *InnerMessage { + if m != nil { + return m.Inner + } + return nil +} + +func (m *MyMessage) GetOthers() []*OtherMessage { + if m != nil { + return m.Others + } + return nil +} + +func (m *MyMessage) GetWeMustGoDeeper() *RequiredInnerMessage { + if m != nil { + return m.WeMustGoDeeper + } + return nil +} + +func (m *MyMessage) GetRepInner() []*InnerMessage { + if m != nil { + return m.RepInner + } + return nil +} + +func (m *MyMessage) GetBikeshed() MyMessage_Color { + if m != nil && m.Bikeshed != nil { + return *m.Bikeshed + } + return MyMessage_RED +} + +func (m *MyMessage) GetSomegroup() *MyMessage_SomeGroup { + if m != nil { + return m.Somegroup + } + return nil +} + +func (m *MyMessage) GetRepBytes() [][]byte { + if m != nil { + return m.RepBytes + } + return nil +} + +func (m *MyMessage) GetBigfloat() float64 { + if m != nil && m.Bigfloat != nil { + return *m.Bigfloat + } + return 0 +} + +type MyMessage_SomeGroup struct { + GroupField *int32 `protobuf:"varint,9,opt,name=group_field,json=groupField" json:"group_field,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MyMessage_SomeGroup) Reset() { *m = MyMessage_SomeGroup{} } +func (m *MyMessage_SomeGroup) String() string { return proto.CompactTextString(m) } +func (*MyMessage_SomeGroup) ProtoMessage() {} +func (*MyMessage_SomeGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{13, 0} +} +func (m *MyMessage_SomeGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MyMessage_SomeGroup.Unmarshal(m, b) +} +func (m *MyMessage_SomeGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MyMessage_SomeGroup.Marshal(b, m, deterministic) +} +func (dst *MyMessage_SomeGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyMessage_SomeGroup.Merge(dst, src) +} +func (m *MyMessage_SomeGroup) XXX_Size() int { + return xxx_messageInfo_MyMessage_SomeGroup.Size(m) +} +func (m *MyMessage_SomeGroup) XXX_DiscardUnknown() { + xxx_messageInfo_MyMessage_SomeGroup.DiscardUnknown(m) +} + +var xxx_messageInfo_MyMessage_SomeGroup proto.InternalMessageInfo + +func (m *MyMessage_SomeGroup) GetGroupField() int32 { + if m != nil && m.GroupField != nil { + return *m.GroupField + } + return 0 +} + +type Ext struct { + Data *string `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` + MapField map[int32]int32 `protobuf:"bytes,2,rep,name=map_field,json=mapField" json:"map_field,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Ext) Reset() { *m = Ext{} } +func (m *Ext) String() string { return proto.CompactTextString(m) } +func (*Ext) ProtoMessage() {} +func (*Ext) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{14} +} +func (m *Ext) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Ext.Unmarshal(m, b) +} +func (m *Ext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Ext.Marshal(b, m, deterministic) +} +func (dst *Ext) XXX_Merge(src proto.Message) { + xxx_messageInfo_Ext.Merge(dst, src) +} +func (m *Ext) XXX_Size() int { + return xxx_messageInfo_Ext.Size(m) +} +func (m *Ext) XXX_DiscardUnknown() { + xxx_messageInfo_Ext.DiscardUnknown(m) +} + +var xxx_messageInfo_Ext proto.InternalMessageInfo + +func (m *Ext) GetData() string { + if m != nil && m.Data != nil { + return *m.Data + } + return "" +} + +func (m *Ext) GetMapField() map[int32]int32 { + if m != nil { + return m.MapField + } + return nil +} + +var E_Ext_More = &proto.ExtensionDesc{ + ExtendedType: (*MyMessage)(nil), + ExtensionType: (*Ext)(nil), + Field: 103, + Name: "test_proto.Ext.more", + Tag: "bytes,103,opt,name=more", + Filename: "test.proto", +} + +var E_Ext_Text = &proto.ExtensionDesc{ + ExtendedType: (*MyMessage)(nil), + ExtensionType: (*string)(nil), + Field: 104, + Name: "test_proto.Ext.text", + Tag: "bytes,104,opt,name=text", + Filename: "test.proto", +} + +var E_Ext_Number = &proto.ExtensionDesc{ + ExtendedType: (*MyMessage)(nil), + ExtensionType: (*int32)(nil), + Field: 105, + Name: "test_proto.Ext.number", + Tag: "varint,105,opt,name=number", + Filename: "test.proto", +} + +type ComplexExtension struct { + First *int32 `protobuf:"varint,1,opt,name=first" json:"first,omitempty"` + Second *int32 `protobuf:"varint,2,opt,name=second" json:"second,omitempty"` + Third []int32 `protobuf:"varint,3,rep,name=third" json:"third,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ComplexExtension) Reset() { *m = ComplexExtension{} } +func (m *ComplexExtension) String() string { return proto.CompactTextString(m) } +func (*ComplexExtension) ProtoMessage() {} +func (*ComplexExtension) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{15} +} +func (m *ComplexExtension) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ComplexExtension.Unmarshal(m, b) +} +func (m *ComplexExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ComplexExtension.Marshal(b, m, deterministic) +} +func (dst *ComplexExtension) XXX_Merge(src proto.Message) { + xxx_messageInfo_ComplexExtension.Merge(dst, src) +} +func (m *ComplexExtension) XXX_Size() int { + return xxx_messageInfo_ComplexExtension.Size(m) +} +func (m *ComplexExtension) XXX_DiscardUnknown() { + xxx_messageInfo_ComplexExtension.DiscardUnknown(m) +} + +var xxx_messageInfo_ComplexExtension proto.InternalMessageInfo + +func (m *ComplexExtension) GetFirst() int32 { + if m != nil && m.First != nil { + return *m.First + } + return 0 +} + +func (m *ComplexExtension) GetSecond() int32 { + if m != nil && m.Second != nil { + return *m.Second + } + return 0 +} + +func (m *ComplexExtension) GetThird() []int32 { + if m != nil { + return m.Third + } + return nil +} + +type DefaultsMessage struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + proto.XXX_InternalExtensions `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DefaultsMessage) Reset() { *m = DefaultsMessage{} } +func (m *DefaultsMessage) String() string { return proto.CompactTextString(m) } +func (*DefaultsMessage) ProtoMessage() {} +func (*DefaultsMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{16} +} + +var extRange_DefaultsMessage = []proto.ExtensionRange{ + {Start: 100, End: 536870911}, +} + +func (*DefaultsMessage) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_DefaultsMessage +} +func (m *DefaultsMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DefaultsMessage.Unmarshal(m, b) +} +func (m *DefaultsMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DefaultsMessage.Marshal(b, m, deterministic) +} +func (dst *DefaultsMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_DefaultsMessage.Merge(dst, src) +} +func (m *DefaultsMessage) XXX_Size() int { + return xxx_messageInfo_DefaultsMessage.Size(m) +} +func (m *DefaultsMessage) XXX_DiscardUnknown() { + xxx_messageInfo_DefaultsMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_DefaultsMessage proto.InternalMessageInfo + +type MyMessageSet struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + proto.XXX_InternalExtensions `protobuf_messageset:"1" json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MyMessageSet) Reset() { *m = MyMessageSet{} } +func (m *MyMessageSet) String() string { return proto.CompactTextString(m) } +func (*MyMessageSet) ProtoMessage() {} +func (*MyMessageSet) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{17} +} + +func (m *MyMessageSet) MarshalJSON() ([]byte, error) { + return proto.MarshalMessageSetJSON(&m.XXX_InternalExtensions) +} +func (m *MyMessageSet) UnmarshalJSON(buf []byte) error { + return proto.UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions) +} + +var extRange_MyMessageSet = []proto.ExtensionRange{ + {Start: 100, End: 2147483646}, +} + +func (*MyMessageSet) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_MyMessageSet +} +func (m *MyMessageSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MyMessageSet.Unmarshal(m, b) +} +func (m *MyMessageSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MyMessageSet.Marshal(b, m, deterministic) +} +func (dst *MyMessageSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyMessageSet.Merge(dst, src) +} +func (m *MyMessageSet) XXX_Size() int { + return xxx_messageInfo_MyMessageSet.Size(m) +} +func (m *MyMessageSet) XXX_DiscardUnknown() { + xxx_messageInfo_MyMessageSet.DiscardUnknown(m) +} + +var xxx_messageInfo_MyMessageSet proto.InternalMessageInfo + +type Empty struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Empty) Reset() { *m = Empty{} } +func (m *Empty) String() string { return proto.CompactTextString(m) } +func (*Empty) ProtoMessage() {} +func (*Empty) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{18} +} +func (m *Empty) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Empty.Unmarshal(m, b) +} +func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Empty.Marshal(b, m, deterministic) +} +func (dst *Empty) XXX_Merge(src proto.Message) { + xxx_messageInfo_Empty.Merge(dst, src) +} +func (m *Empty) XXX_Size() int { + return xxx_messageInfo_Empty.Size(m) +} +func (m *Empty) XXX_DiscardUnknown() { + xxx_messageInfo_Empty.DiscardUnknown(m) +} + +var xxx_messageInfo_Empty proto.InternalMessageInfo + +type MessageList struct { + Message []*MessageList_Message `protobuf:"group,1,rep,name=Message,json=message" json:"message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MessageList) Reset() { *m = MessageList{} } +func (m *MessageList) String() string { return proto.CompactTextString(m) } +func (*MessageList) ProtoMessage() {} +func (*MessageList) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{19} +} +func (m *MessageList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MessageList.Unmarshal(m, b) +} +func (m *MessageList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MessageList.Marshal(b, m, deterministic) +} +func (dst *MessageList) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageList.Merge(dst, src) +} +func (m *MessageList) XXX_Size() int { + return xxx_messageInfo_MessageList.Size(m) +} +func (m *MessageList) XXX_DiscardUnknown() { + xxx_messageInfo_MessageList.DiscardUnknown(m) +} + +var xxx_messageInfo_MessageList proto.InternalMessageInfo + +func (m *MessageList) GetMessage() []*MessageList_Message { + if m != nil { + return m.Message + } + return nil +} + +type MessageList_Message struct { + Name *string `protobuf:"bytes,2,req,name=name" json:"name,omitempty"` + Count *int32 `protobuf:"varint,3,req,name=count" json:"count,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MessageList_Message) Reset() { *m = MessageList_Message{} } +func (m *MessageList_Message) String() string { return proto.CompactTextString(m) } +func (*MessageList_Message) ProtoMessage() {} +func (*MessageList_Message) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{19, 0} +} +func (m *MessageList_Message) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MessageList_Message.Unmarshal(m, b) +} +func (m *MessageList_Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MessageList_Message.Marshal(b, m, deterministic) +} +func (dst *MessageList_Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageList_Message.Merge(dst, src) +} +func (m *MessageList_Message) XXX_Size() int { + return xxx_messageInfo_MessageList_Message.Size(m) +} +func (m *MessageList_Message) XXX_DiscardUnknown() { + xxx_messageInfo_MessageList_Message.DiscardUnknown(m) +} + +var xxx_messageInfo_MessageList_Message proto.InternalMessageInfo + +func (m *MessageList_Message) GetName() string { + if m != nil && m.Name != nil { + return *m.Name + } + return "" +} + +func (m *MessageList_Message) GetCount() int32 { + if m != nil && m.Count != nil { + return *m.Count + } + return 0 +} + +type Strings struct { + StringField *string `protobuf:"bytes,1,opt,name=string_field,json=stringField" json:"string_field,omitempty"` + BytesField []byte `protobuf:"bytes,2,opt,name=bytes_field,json=bytesField" json:"bytes_field,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Strings) Reset() { *m = Strings{} } +func (m *Strings) String() string { return proto.CompactTextString(m) } +func (*Strings) ProtoMessage() {} +func (*Strings) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{20} +} +func (m *Strings) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Strings.Unmarshal(m, b) +} +func (m *Strings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Strings.Marshal(b, m, deterministic) +} +func (dst *Strings) XXX_Merge(src proto.Message) { + xxx_messageInfo_Strings.Merge(dst, src) +} +func (m *Strings) XXX_Size() int { + return xxx_messageInfo_Strings.Size(m) +} +func (m *Strings) XXX_DiscardUnknown() { + xxx_messageInfo_Strings.DiscardUnknown(m) +} + +var xxx_messageInfo_Strings proto.InternalMessageInfo + +func (m *Strings) GetStringField() string { + if m != nil && m.StringField != nil { + return *m.StringField + } + return "" +} + +func (m *Strings) GetBytesField() []byte { + if m != nil { + return m.BytesField + } + return nil +} + +type Defaults struct { + // Default-valued fields of all basic types. + // Same as GoTest, but copied here to make testing easier. + F_Bool *bool `protobuf:"varint,1,opt,name=F_Bool,json=FBool,def=1" json:"F_Bool,omitempty"` + F_Int32 *int32 `protobuf:"varint,2,opt,name=F_Int32,json=FInt32,def=32" json:"F_Int32,omitempty"` + F_Int64 *int64 `protobuf:"varint,3,opt,name=F_Int64,json=FInt64,def=64" json:"F_Int64,omitempty"` + F_Fixed32 *uint32 `protobuf:"fixed32,4,opt,name=F_Fixed32,json=FFixed32,def=320" json:"F_Fixed32,omitempty"` + F_Fixed64 *uint64 `protobuf:"fixed64,5,opt,name=F_Fixed64,json=FFixed64,def=640" json:"F_Fixed64,omitempty"` + F_Uint32 *uint32 `protobuf:"varint,6,opt,name=F_Uint32,json=FUint32,def=3200" json:"F_Uint32,omitempty"` + F_Uint64 *uint64 `protobuf:"varint,7,opt,name=F_Uint64,json=FUint64,def=6400" json:"F_Uint64,omitempty"` + F_Float *float32 `protobuf:"fixed32,8,opt,name=F_Float,json=FFloat,def=314159" json:"F_Float,omitempty"` + F_Double *float64 `protobuf:"fixed64,9,opt,name=F_Double,json=FDouble,def=271828" json:"F_Double,omitempty"` + F_String *string `protobuf:"bytes,10,opt,name=F_String,json=FString,def=hello, \"world!\"\n" json:"F_String,omitempty"` + F_Bytes []byte `protobuf:"bytes,11,opt,name=F_Bytes,json=FBytes,def=Bignose" json:"F_Bytes,omitempty"` + F_Sint32 *int32 `protobuf:"zigzag32,12,opt,name=F_Sint32,json=FSint32,def=-32" json:"F_Sint32,omitempty"` + F_Sint64 *int64 `protobuf:"zigzag64,13,opt,name=F_Sint64,json=FSint64,def=-64" json:"F_Sint64,omitempty"` + F_Enum *Defaults_Color `protobuf:"varint,14,opt,name=F_Enum,json=FEnum,enum=test_proto.Defaults_Color,def=1" json:"F_Enum,omitempty"` + // More fields with crazy defaults. + F_Pinf *float32 `protobuf:"fixed32,15,opt,name=F_Pinf,json=FPinf,def=inf" json:"F_Pinf,omitempty"` + F_Ninf *float32 `protobuf:"fixed32,16,opt,name=F_Ninf,json=FNinf,def=-inf" json:"F_Ninf,omitempty"` + F_Nan *float32 `protobuf:"fixed32,17,opt,name=F_Nan,json=FNan,def=nan" json:"F_Nan,omitempty"` + // Sub-message. + Sub *SubDefaults `protobuf:"bytes,18,opt,name=sub" json:"sub,omitempty"` + // Redundant but explicit defaults. + StrZero *string `protobuf:"bytes,19,opt,name=str_zero,json=strZero,def=" json:"str_zero,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Defaults) Reset() { *m = Defaults{} } +func (m *Defaults) String() string { return proto.CompactTextString(m) } +func (*Defaults) ProtoMessage() {} +func (*Defaults) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{21} +} +func (m *Defaults) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Defaults.Unmarshal(m, b) +} +func (m *Defaults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Defaults.Marshal(b, m, deterministic) +} +func (dst *Defaults) XXX_Merge(src proto.Message) { + xxx_messageInfo_Defaults.Merge(dst, src) +} +func (m *Defaults) XXX_Size() int { + return xxx_messageInfo_Defaults.Size(m) +} +func (m *Defaults) XXX_DiscardUnknown() { + xxx_messageInfo_Defaults.DiscardUnknown(m) +} + +var xxx_messageInfo_Defaults proto.InternalMessageInfo + +const Default_Defaults_F_Bool bool = true +const Default_Defaults_F_Int32 int32 = 32 +const Default_Defaults_F_Int64 int64 = 64 +const Default_Defaults_F_Fixed32 uint32 = 320 +const Default_Defaults_F_Fixed64 uint64 = 640 +const Default_Defaults_F_Uint32 uint32 = 3200 +const Default_Defaults_F_Uint64 uint64 = 6400 +const Default_Defaults_F_Float float32 = 314159 +const Default_Defaults_F_Double float64 = 271828 +const Default_Defaults_F_String string = "hello, \"world!\"\n" + +var Default_Defaults_F_Bytes []byte = []byte("Bignose") + +const Default_Defaults_F_Sint32 int32 = -32 +const Default_Defaults_F_Sint64 int64 = -64 +const Default_Defaults_F_Enum Defaults_Color = Defaults_GREEN + +var Default_Defaults_F_Pinf float32 = float32(math.Inf(1)) +var Default_Defaults_F_Ninf float32 = float32(math.Inf(-1)) +var Default_Defaults_F_Nan float32 = float32(math.NaN()) + +func (m *Defaults) GetF_Bool() bool { + if m != nil && m.F_Bool != nil { + return *m.F_Bool + } + return Default_Defaults_F_Bool +} + +func (m *Defaults) GetF_Int32() int32 { + if m != nil && m.F_Int32 != nil { + return *m.F_Int32 + } + return Default_Defaults_F_Int32 +} + +func (m *Defaults) GetF_Int64() int64 { + if m != nil && m.F_Int64 != nil { + return *m.F_Int64 + } + return Default_Defaults_F_Int64 +} + +func (m *Defaults) GetF_Fixed32() uint32 { + if m != nil && m.F_Fixed32 != nil { + return *m.F_Fixed32 + } + return Default_Defaults_F_Fixed32 +} + +func (m *Defaults) GetF_Fixed64() uint64 { + if m != nil && m.F_Fixed64 != nil { + return *m.F_Fixed64 + } + return Default_Defaults_F_Fixed64 +} + +func (m *Defaults) GetF_Uint32() uint32 { + if m != nil && m.F_Uint32 != nil { + return *m.F_Uint32 + } + return Default_Defaults_F_Uint32 +} + +func (m *Defaults) GetF_Uint64() uint64 { + if m != nil && m.F_Uint64 != nil { + return *m.F_Uint64 + } + return Default_Defaults_F_Uint64 +} + +func (m *Defaults) GetF_Float() float32 { + if m != nil && m.F_Float != nil { + return *m.F_Float + } + return Default_Defaults_F_Float +} + +func (m *Defaults) GetF_Double() float64 { + if m != nil && m.F_Double != nil { + return *m.F_Double + } + return Default_Defaults_F_Double +} + +func (m *Defaults) GetF_String() string { + if m != nil && m.F_String != nil { + return *m.F_String + } + return Default_Defaults_F_String +} + +func (m *Defaults) GetF_Bytes() []byte { + if m != nil && m.F_Bytes != nil { + return m.F_Bytes + } + return append([]byte(nil), Default_Defaults_F_Bytes...) +} + +func (m *Defaults) GetF_Sint32() int32 { + if m != nil && m.F_Sint32 != nil { + return *m.F_Sint32 + } + return Default_Defaults_F_Sint32 +} + +func (m *Defaults) GetF_Sint64() int64 { + if m != nil && m.F_Sint64 != nil { + return *m.F_Sint64 + } + return Default_Defaults_F_Sint64 +} + +func (m *Defaults) GetF_Enum() Defaults_Color { + if m != nil && m.F_Enum != nil { + return *m.F_Enum + } + return Default_Defaults_F_Enum +} + +func (m *Defaults) GetF_Pinf() float32 { + if m != nil && m.F_Pinf != nil { + return *m.F_Pinf + } + return Default_Defaults_F_Pinf +} + +func (m *Defaults) GetF_Ninf() float32 { + if m != nil && m.F_Ninf != nil { + return *m.F_Ninf + } + return Default_Defaults_F_Ninf +} + +func (m *Defaults) GetF_Nan() float32 { + if m != nil && m.F_Nan != nil { + return *m.F_Nan + } + return Default_Defaults_F_Nan +} + +func (m *Defaults) GetSub() *SubDefaults { + if m != nil { + return m.Sub + } + return nil +} + +func (m *Defaults) GetStrZero() string { + if m != nil && m.StrZero != nil { + return *m.StrZero + } + return "" +} + +type SubDefaults struct { + N *int64 `protobuf:"varint,1,opt,name=n,def=7" json:"n,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubDefaults) Reset() { *m = SubDefaults{} } +func (m *SubDefaults) String() string { return proto.CompactTextString(m) } +func (*SubDefaults) ProtoMessage() {} +func (*SubDefaults) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{22} +} +func (m *SubDefaults) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubDefaults.Unmarshal(m, b) +} +func (m *SubDefaults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubDefaults.Marshal(b, m, deterministic) +} +func (dst *SubDefaults) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubDefaults.Merge(dst, src) +} +func (m *SubDefaults) XXX_Size() int { + return xxx_messageInfo_SubDefaults.Size(m) +} +func (m *SubDefaults) XXX_DiscardUnknown() { + xxx_messageInfo_SubDefaults.DiscardUnknown(m) +} + +var xxx_messageInfo_SubDefaults proto.InternalMessageInfo + +const Default_SubDefaults_N int64 = 7 + +func (m *SubDefaults) GetN() int64 { + if m != nil && m.N != nil { + return *m.N + } + return Default_SubDefaults_N +} + +type RepeatedEnum struct { + Color []RepeatedEnum_Color `protobuf:"varint,1,rep,name=color,enum=test_proto.RepeatedEnum_Color" json:"color,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RepeatedEnum) Reset() { *m = RepeatedEnum{} } +func (m *RepeatedEnum) String() string { return proto.CompactTextString(m) } +func (*RepeatedEnum) ProtoMessage() {} +func (*RepeatedEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{23} +} +func (m *RepeatedEnum) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RepeatedEnum.Unmarshal(m, b) +} +func (m *RepeatedEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RepeatedEnum.Marshal(b, m, deterministic) +} +func (dst *RepeatedEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepeatedEnum.Merge(dst, src) +} +func (m *RepeatedEnum) XXX_Size() int { + return xxx_messageInfo_RepeatedEnum.Size(m) +} +func (m *RepeatedEnum) XXX_DiscardUnknown() { + xxx_messageInfo_RepeatedEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_RepeatedEnum proto.InternalMessageInfo + +func (m *RepeatedEnum) GetColor() []RepeatedEnum_Color { + if m != nil { + return m.Color + } + return nil +} + +type MoreRepeated struct { + Bools []bool `protobuf:"varint,1,rep,name=bools" json:"bools,omitempty"` + BoolsPacked []bool `protobuf:"varint,2,rep,packed,name=bools_packed,json=boolsPacked" json:"bools_packed,omitempty"` + Ints []int32 `protobuf:"varint,3,rep,name=ints" json:"ints,omitempty"` + IntsPacked []int32 `protobuf:"varint,4,rep,packed,name=ints_packed,json=intsPacked" json:"ints_packed,omitempty"` + Int64SPacked []int64 `protobuf:"varint,7,rep,packed,name=int64s_packed,json=int64sPacked" json:"int64s_packed,omitempty"` + Strings []string `protobuf:"bytes,5,rep,name=strings" json:"strings,omitempty"` + Fixeds []uint32 `protobuf:"fixed32,6,rep,name=fixeds" json:"fixeds,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MoreRepeated) Reset() { *m = MoreRepeated{} } +func (m *MoreRepeated) String() string { return proto.CompactTextString(m) } +func (*MoreRepeated) ProtoMessage() {} +func (*MoreRepeated) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{24} +} +func (m *MoreRepeated) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MoreRepeated.Unmarshal(m, b) +} +func (m *MoreRepeated) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MoreRepeated.Marshal(b, m, deterministic) +} +func (dst *MoreRepeated) XXX_Merge(src proto.Message) { + xxx_messageInfo_MoreRepeated.Merge(dst, src) +} +func (m *MoreRepeated) XXX_Size() int { + return xxx_messageInfo_MoreRepeated.Size(m) +} +func (m *MoreRepeated) XXX_DiscardUnknown() { + xxx_messageInfo_MoreRepeated.DiscardUnknown(m) +} + +var xxx_messageInfo_MoreRepeated proto.InternalMessageInfo + +func (m *MoreRepeated) GetBools() []bool { + if m != nil { + return m.Bools + } + return nil +} + +func (m *MoreRepeated) GetBoolsPacked() []bool { + if m != nil { + return m.BoolsPacked + } + return nil +} + +func (m *MoreRepeated) GetInts() []int32 { + if m != nil { + return m.Ints + } + return nil +} + +func (m *MoreRepeated) GetIntsPacked() []int32 { + if m != nil { + return m.IntsPacked + } + return nil +} + +func (m *MoreRepeated) GetInt64SPacked() []int64 { + if m != nil { + return m.Int64SPacked + } + return nil +} + +func (m *MoreRepeated) GetStrings() []string { + if m != nil { + return m.Strings + } + return nil +} + +func (m *MoreRepeated) GetFixeds() []uint32 { + if m != nil { + return m.Fixeds + } + return nil +} + +type GroupOld struct { + G *GroupOld_G `protobuf:"group,101,opt,name=G,json=g" json:"g,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupOld) Reset() { *m = GroupOld{} } +func (m *GroupOld) String() string { return proto.CompactTextString(m) } +func (*GroupOld) ProtoMessage() {} +func (*GroupOld) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{25} +} +func (m *GroupOld) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupOld.Unmarshal(m, b) +} +func (m *GroupOld) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupOld.Marshal(b, m, deterministic) +} +func (dst *GroupOld) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupOld.Merge(dst, src) +} +func (m *GroupOld) XXX_Size() int { + return xxx_messageInfo_GroupOld.Size(m) +} +func (m *GroupOld) XXX_DiscardUnknown() { + xxx_messageInfo_GroupOld.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupOld proto.InternalMessageInfo + +func (m *GroupOld) GetG() *GroupOld_G { + if m != nil { + return m.G + } + return nil +} + +type GroupOld_G struct { + X *int32 `protobuf:"varint,2,opt,name=x" json:"x,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupOld_G) Reset() { *m = GroupOld_G{} } +func (m *GroupOld_G) String() string { return proto.CompactTextString(m) } +func (*GroupOld_G) ProtoMessage() {} +func (*GroupOld_G) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{25, 0} +} +func (m *GroupOld_G) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupOld_G.Unmarshal(m, b) +} +func (m *GroupOld_G) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupOld_G.Marshal(b, m, deterministic) +} +func (dst *GroupOld_G) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupOld_G.Merge(dst, src) +} +func (m *GroupOld_G) XXX_Size() int { + return xxx_messageInfo_GroupOld_G.Size(m) +} +func (m *GroupOld_G) XXX_DiscardUnknown() { + xxx_messageInfo_GroupOld_G.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupOld_G proto.InternalMessageInfo + +func (m *GroupOld_G) GetX() int32 { + if m != nil && m.X != nil { + return *m.X + } + return 0 +} + +type GroupNew struct { + G *GroupNew_G `protobuf:"group,101,opt,name=G,json=g" json:"g,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupNew) Reset() { *m = GroupNew{} } +func (m *GroupNew) String() string { return proto.CompactTextString(m) } +func (*GroupNew) ProtoMessage() {} +func (*GroupNew) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{26} +} +func (m *GroupNew) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupNew.Unmarshal(m, b) +} +func (m *GroupNew) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupNew.Marshal(b, m, deterministic) +} +func (dst *GroupNew) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupNew.Merge(dst, src) +} +func (m *GroupNew) XXX_Size() int { + return xxx_messageInfo_GroupNew.Size(m) +} +func (m *GroupNew) XXX_DiscardUnknown() { + xxx_messageInfo_GroupNew.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupNew proto.InternalMessageInfo + +func (m *GroupNew) GetG() *GroupNew_G { + if m != nil { + return m.G + } + return nil +} + +type GroupNew_G struct { + X *int32 `protobuf:"varint,2,opt,name=x" json:"x,omitempty"` + Y *int32 `protobuf:"varint,3,opt,name=y" json:"y,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupNew_G) Reset() { *m = GroupNew_G{} } +func (m *GroupNew_G) String() string { return proto.CompactTextString(m) } +func (*GroupNew_G) ProtoMessage() {} +func (*GroupNew_G) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{26, 0} +} +func (m *GroupNew_G) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupNew_G.Unmarshal(m, b) +} +func (m *GroupNew_G) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupNew_G.Marshal(b, m, deterministic) +} +func (dst *GroupNew_G) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupNew_G.Merge(dst, src) +} +func (m *GroupNew_G) XXX_Size() int { + return xxx_messageInfo_GroupNew_G.Size(m) +} +func (m *GroupNew_G) XXX_DiscardUnknown() { + xxx_messageInfo_GroupNew_G.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupNew_G proto.InternalMessageInfo + +func (m *GroupNew_G) GetX() int32 { + if m != nil && m.X != nil { + return *m.X + } + return 0 +} + +func (m *GroupNew_G) GetY() int32 { + if m != nil && m.Y != nil { + return *m.Y + } + return 0 +} + +type FloatingPoint struct { + F *float64 `protobuf:"fixed64,1,req,name=f" json:"f,omitempty"` + Exact *bool `protobuf:"varint,2,opt,name=exact" json:"exact,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } +func (m *FloatingPoint) String() string { return proto.CompactTextString(m) } +func (*FloatingPoint) ProtoMessage() {} +func (*FloatingPoint) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{27} +} +func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FloatingPoint.Unmarshal(m, b) +} +func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FloatingPoint.Marshal(b, m, deterministic) +} +func (dst *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(dst, src) +} +func (m *FloatingPoint) XXX_Size() int { + return xxx_messageInfo_FloatingPoint.Size(m) +} +func (m *FloatingPoint) XXX_DiscardUnknown() { + xxx_messageInfo_FloatingPoint.DiscardUnknown(m) +} + +var xxx_messageInfo_FloatingPoint proto.InternalMessageInfo + +func (m *FloatingPoint) GetF() float64 { + if m != nil && m.F != nil { + return *m.F + } + return 0 +} + +func (m *FloatingPoint) GetExact() bool { + if m != nil && m.Exact != nil { + return *m.Exact + } + return false +} + +type MessageWithMap struct { + NameMapping map[int32]string `protobuf:"bytes,1,rep,name=name_mapping,json=nameMapping" json:"name_mapping,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + MsgMapping map[int64]*FloatingPoint `protobuf:"bytes,2,rep,name=msg_mapping,json=msgMapping" json:"msg_mapping,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ByteMapping map[bool][]byte `protobuf:"bytes,3,rep,name=byte_mapping,json=byteMapping" json:"byte_mapping,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + StrToStr map[string]string `protobuf:"bytes,4,rep,name=str_to_str,json=strToStr" json:"str_to_str,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } +func (m *MessageWithMap) String() string { return proto.CompactTextString(m) } +func (*MessageWithMap) ProtoMessage() {} +func (*MessageWithMap) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{28} +} +func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MessageWithMap.Unmarshal(m, b) +} +func (m *MessageWithMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MessageWithMap.Marshal(b, m, deterministic) +} +func (dst *MessageWithMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageWithMap.Merge(dst, src) +} +func (m *MessageWithMap) XXX_Size() int { + return xxx_messageInfo_MessageWithMap.Size(m) +} +func (m *MessageWithMap) XXX_DiscardUnknown() { + xxx_messageInfo_MessageWithMap.DiscardUnknown(m) +} + +var xxx_messageInfo_MessageWithMap proto.InternalMessageInfo + +func (m *MessageWithMap) GetNameMapping() map[int32]string { + if m != nil { + return m.NameMapping + } + return nil +} + +func (m *MessageWithMap) GetMsgMapping() map[int64]*FloatingPoint { + if m != nil { + return m.MsgMapping + } + return nil +} + +func (m *MessageWithMap) GetByteMapping() map[bool][]byte { + if m != nil { + return m.ByteMapping + } + return nil +} + +func (m *MessageWithMap) GetStrToStr() map[string]string { + if m != nil { + return m.StrToStr + } + return nil +} + +type Oneof struct { + // Types that are valid to be assigned to Union: + // *Oneof_F_Bool + // *Oneof_F_Int32 + // *Oneof_F_Int64 + // *Oneof_F_Fixed32 + // *Oneof_F_Fixed64 + // *Oneof_F_Uint32 + // *Oneof_F_Uint64 + // *Oneof_F_Float + // *Oneof_F_Double + // *Oneof_F_String + // *Oneof_F_Bytes + // *Oneof_F_Sint32 + // *Oneof_F_Sint64 + // *Oneof_F_Enum + // *Oneof_F_Message + // *Oneof_FGroup + // *Oneof_F_Largest_Tag + Union isOneof_Union `protobuf_oneof:"union"` + // Types that are valid to be assigned to Tormato: + // *Oneof_Value + Tormato isOneof_Tormato `protobuf_oneof:"tormato"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Oneof) Reset() { *m = Oneof{} } +func (m *Oneof) String() string { return proto.CompactTextString(m) } +func (*Oneof) ProtoMessage() {} +func (*Oneof) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{29} +} +func (m *Oneof) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Oneof.Unmarshal(m, b) +} +func (m *Oneof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Oneof.Marshal(b, m, deterministic) +} +func (dst *Oneof) XXX_Merge(src proto.Message) { + xxx_messageInfo_Oneof.Merge(dst, src) +} +func (m *Oneof) XXX_Size() int { + return xxx_messageInfo_Oneof.Size(m) +} +func (m *Oneof) XXX_DiscardUnknown() { + xxx_messageInfo_Oneof.DiscardUnknown(m) +} + +var xxx_messageInfo_Oneof proto.InternalMessageInfo + +type isOneof_Union interface { + isOneof_Union() +} +type isOneof_Tormato interface { + isOneof_Tormato() +} + +type Oneof_F_Bool struct { + F_Bool bool `protobuf:"varint,1,opt,name=F_Bool,json=FBool,oneof"` +} +type Oneof_F_Int32 struct { + F_Int32 int32 `protobuf:"varint,2,opt,name=F_Int32,json=FInt32,oneof"` +} +type Oneof_F_Int64 struct { + F_Int64 int64 `protobuf:"varint,3,opt,name=F_Int64,json=FInt64,oneof"` +} +type Oneof_F_Fixed32 struct { + F_Fixed32 uint32 `protobuf:"fixed32,4,opt,name=F_Fixed32,json=FFixed32,oneof"` +} +type Oneof_F_Fixed64 struct { + F_Fixed64 uint64 `protobuf:"fixed64,5,opt,name=F_Fixed64,json=FFixed64,oneof"` +} +type Oneof_F_Uint32 struct { + F_Uint32 uint32 `protobuf:"varint,6,opt,name=F_Uint32,json=FUint32,oneof"` +} +type Oneof_F_Uint64 struct { + F_Uint64 uint64 `protobuf:"varint,7,opt,name=F_Uint64,json=FUint64,oneof"` +} +type Oneof_F_Float struct { + F_Float float32 `protobuf:"fixed32,8,opt,name=F_Float,json=FFloat,oneof"` +} +type Oneof_F_Double struct { + F_Double float64 `protobuf:"fixed64,9,opt,name=F_Double,json=FDouble,oneof"` +} +type Oneof_F_String struct { + F_String string `protobuf:"bytes,10,opt,name=F_String,json=FString,oneof"` +} +type Oneof_F_Bytes struct { + F_Bytes []byte `protobuf:"bytes,11,opt,name=F_Bytes,json=FBytes,oneof"` +} +type Oneof_F_Sint32 struct { + F_Sint32 int32 `protobuf:"zigzag32,12,opt,name=F_Sint32,json=FSint32,oneof"` +} +type Oneof_F_Sint64 struct { + F_Sint64 int64 `protobuf:"zigzag64,13,opt,name=F_Sint64,json=FSint64,oneof"` +} +type Oneof_F_Enum struct { + F_Enum MyMessage_Color `protobuf:"varint,14,opt,name=F_Enum,json=FEnum,enum=test_proto.MyMessage_Color,oneof"` +} +type Oneof_F_Message struct { + F_Message *GoTestField `protobuf:"bytes,15,opt,name=F_Message,json=FMessage,oneof"` +} +type Oneof_FGroup struct { + FGroup *Oneof_F_Group `protobuf:"group,16,opt,name=F_Group,json=fGroup,oneof"` +} +type Oneof_F_Largest_Tag struct { + F_Largest_Tag int32 `protobuf:"varint,536870911,opt,name=F_Largest_Tag,json=FLargestTag,oneof"` +} +type Oneof_Value struct { + Value int32 `protobuf:"varint,100,opt,name=value,oneof"` +} + +func (*Oneof_F_Bool) isOneof_Union() {} +func (*Oneof_F_Int32) isOneof_Union() {} +func (*Oneof_F_Int64) isOneof_Union() {} +func (*Oneof_F_Fixed32) isOneof_Union() {} +func (*Oneof_F_Fixed64) isOneof_Union() {} +func (*Oneof_F_Uint32) isOneof_Union() {} +func (*Oneof_F_Uint64) isOneof_Union() {} +func (*Oneof_F_Float) isOneof_Union() {} +func (*Oneof_F_Double) isOneof_Union() {} +func (*Oneof_F_String) isOneof_Union() {} +func (*Oneof_F_Bytes) isOneof_Union() {} +func (*Oneof_F_Sint32) isOneof_Union() {} +func (*Oneof_F_Sint64) isOneof_Union() {} +func (*Oneof_F_Enum) isOneof_Union() {} +func (*Oneof_F_Message) isOneof_Union() {} +func (*Oneof_FGroup) isOneof_Union() {} +func (*Oneof_F_Largest_Tag) isOneof_Union() {} +func (*Oneof_Value) isOneof_Tormato() {} + +func (m *Oneof) GetUnion() isOneof_Union { + if m != nil { + return m.Union + } + return nil +} +func (m *Oneof) GetTormato() isOneof_Tormato { + if m != nil { + return m.Tormato + } + return nil +} + +func (m *Oneof) GetF_Bool() bool { + if x, ok := m.GetUnion().(*Oneof_F_Bool); ok { + return x.F_Bool + } + return false +} + +func (m *Oneof) GetF_Int32() int32 { + if x, ok := m.GetUnion().(*Oneof_F_Int32); ok { + return x.F_Int32 + } + return 0 +} + +func (m *Oneof) GetF_Int64() int64 { + if x, ok := m.GetUnion().(*Oneof_F_Int64); ok { + return x.F_Int64 + } + return 0 +} + +func (m *Oneof) GetF_Fixed32() uint32 { + if x, ok := m.GetUnion().(*Oneof_F_Fixed32); ok { + return x.F_Fixed32 + } + return 0 +} + +func (m *Oneof) GetF_Fixed64() uint64 { + if x, ok := m.GetUnion().(*Oneof_F_Fixed64); ok { + return x.F_Fixed64 + } + return 0 +} + +func (m *Oneof) GetF_Uint32() uint32 { + if x, ok := m.GetUnion().(*Oneof_F_Uint32); ok { + return x.F_Uint32 + } + return 0 +} + +func (m *Oneof) GetF_Uint64() uint64 { + if x, ok := m.GetUnion().(*Oneof_F_Uint64); ok { + return x.F_Uint64 + } + return 0 +} + +func (m *Oneof) GetF_Float() float32 { + if x, ok := m.GetUnion().(*Oneof_F_Float); ok { + return x.F_Float + } + return 0 +} + +func (m *Oneof) GetF_Double() float64 { + if x, ok := m.GetUnion().(*Oneof_F_Double); ok { + return x.F_Double + } + return 0 +} + +func (m *Oneof) GetF_String() string { + if x, ok := m.GetUnion().(*Oneof_F_String); ok { + return x.F_String + } + return "" +} + +func (m *Oneof) GetF_Bytes() []byte { + if x, ok := m.GetUnion().(*Oneof_F_Bytes); ok { + return x.F_Bytes + } + return nil +} + +func (m *Oneof) GetF_Sint32() int32 { + if x, ok := m.GetUnion().(*Oneof_F_Sint32); ok { + return x.F_Sint32 + } + return 0 +} + +func (m *Oneof) GetF_Sint64() int64 { + if x, ok := m.GetUnion().(*Oneof_F_Sint64); ok { + return x.F_Sint64 + } + return 0 +} + +func (m *Oneof) GetF_Enum() MyMessage_Color { + if x, ok := m.GetUnion().(*Oneof_F_Enum); ok { + return x.F_Enum + } + return MyMessage_RED +} + +func (m *Oneof) GetF_Message() *GoTestField { + if x, ok := m.GetUnion().(*Oneof_F_Message); ok { + return x.F_Message + } + return nil +} + +func (m *Oneof) GetFGroup() *Oneof_F_Group { + if x, ok := m.GetUnion().(*Oneof_FGroup); ok { + return x.FGroup + } + return nil +} + +func (m *Oneof) GetF_Largest_Tag() int32 { + if x, ok := m.GetUnion().(*Oneof_F_Largest_Tag); ok { + return x.F_Largest_Tag + } + return 0 +} + +func (m *Oneof) GetValue() int32 { + if x, ok := m.GetTormato().(*Oneof_Value); ok { + return x.Value + } + return 0 +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*Oneof) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _Oneof_OneofMarshaler, _Oneof_OneofUnmarshaler, _Oneof_OneofSizer, []interface{}{ + (*Oneof_F_Bool)(nil), + (*Oneof_F_Int32)(nil), + (*Oneof_F_Int64)(nil), + (*Oneof_F_Fixed32)(nil), + (*Oneof_F_Fixed64)(nil), + (*Oneof_F_Uint32)(nil), + (*Oneof_F_Uint64)(nil), + (*Oneof_F_Float)(nil), + (*Oneof_F_Double)(nil), + (*Oneof_F_String)(nil), + (*Oneof_F_Bytes)(nil), + (*Oneof_F_Sint32)(nil), + (*Oneof_F_Sint64)(nil), + (*Oneof_F_Enum)(nil), + (*Oneof_F_Message)(nil), + (*Oneof_FGroup)(nil), + (*Oneof_F_Largest_Tag)(nil), + (*Oneof_Value)(nil), + } +} + +func _Oneof_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*Oneof) + // union + switch x := m.Union.(type) { + case *Oneof_F_Bool: + t := uint64(0) + if x.F_Bool { + t = 1 + } + _ = b.EncodeVarint(1<<3 | proto.WireVarint) + _ = b.EncodeVarint(t) + case *Oneof_F_Int32: + _ = b.EncodeVarint(2<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.F_Int32)) + case *Oneof_F_Int64: + _ = b.EncodeVarint(3<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.F_Int64)) + case *Oneof_F_Fixed32: + _ = b.EncodeVarint(4<<3 | proto.WireFixed32) + _ = b.EncodeFixed32(uint64(x.F_Fixed32)) + case *Oneof_F_Fixed64: + _ = b.EncodeVarint(5<<3 | proto.WireFixed64) + _ = b.EncodeFixed64(uint64(x.F_Fixed64)) + case *Oneof_F_Uint32: + _ = b.EncodeVarint(6<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.F_Uint32)) + case *Oneof_F_Uint64: + _ = b.EncodeVarint(7<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.F_Uint64)) + case *Oneof_F_Float: + _ = b.EncodeVarint(8<<3 | proto.WireFixed32) + _ = b.EncodeFixed32(uint64(math.Float32bits(x.F_Float))) + case *Oneof_F_Double: + _ = b.EncodeVarint(9<<3 | proto.WireFixed64) + _ = b.EncodeFixed64(math.Float64bits(x.F_Double)) + case *Oneof_F_String: + _ = b.EncodeVarint(10<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.F_String) + case *Oneof_F_Bytes: + _ = b.EncodeVarint(11<<3 | proto.WireBytes) + _ = b.EncodeRawBytes(x.F_Bytes) + case *Oneof_F_Sint32: + _ = b.EncodeVarint(12<<3 | proto.WireVarint) + _ = b.EncodeZigzag32(uint64(x.F_Sint32)) + case *Oneof_F_Sint64: + _ = b.EncodeVarint(13<<3 | proto.WireVarint) + _ = b.EncodeZigzag64(uint64(x.F_Sint64)) + case *Oneof_F_Enum: + _ = b.EncodeVarint(14<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.F_Enum)) + case *Oneof_F_Message: + _ = b.EncodeVarint(15<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.F_Message); err != nil { + return err + } + case *Oneof_FGroup: + _ = b.EncodeVarint(16<<3 | proto.WireStartGroup) + if err := b.Marshal(x.FGroup); err != nil { + return err + } + _ = b.EncodeVarint(16<<3 | proto.WireEndGroup) + case *Oneof_F_Largest_Tag: + _ = b.EncodeVarint(536870911<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.F_Largest_Tag)) + case nil: + default: + return fmt.Errorf("Oneof.Union has unexpected type %T", x) + } + // tormato + switch x := m.Tormato.(type) { + case *Oneof_Value: + _ = b.EncodeVarint(100<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.Value)) + case nil: + default: + return fmt.Errorf("Oneof.Tormato has unexpected type %T", x) + } + return nil +} + +func _Oneof_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*Oneof) + switch tag { + case 1: // union.F_Bool + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Union = &Oneof_F_Bool{x != 0} + return true, err + case 2: // union.F_Int32 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Union = &Oneof_F_Int32{int32(x)} + return true, err + case 3: // union.F_Int64 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Union = &Oneof_F_Int64{int64(x)} + return true, err + case 4: // union.F_Fixed32 + if wire != proto.WireFixed32 { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeFixed32() + m.Union = &Oneof_F_Fixed32{uint32(x)} + return true, err + case 5: // union.F_Fixed64 + if wire != proto.WireFixed64 { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeFixed64() + m.Union = &Oneof_F_Fixed64{x} + return true, err + case 6: // union.F_Uint32 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Union = &Oneof_F_Uint32{uint32(x)} + return true, err + case 7: // union.F_Uint64 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Union = &Oneof_F_Uint64{x} + return true, err + case 8: // union.F_Float + if wire != proto.WireFixed32 { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeFixed32() + m.Union = &Oneof_F_Float{math.Float32frombits(uint32(x))} + return true, err + case 9: // union.F_Double + if wire != proto.WireFixed64 { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeFixed64() + m.Union = &Oneof_F_Double{math.Float64frombits(x)} + return true, err + case 10: // union.F_String + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Union = &Oneof_F_String{x} + return true, err + case 11: // union.F_Bytes + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeRawBytes(true) + m.Union = &Oneof_F_Bytes{x} + return true, err + case 12: // union.F_Sint32 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeZigzag32() + m.Union = &Oneof_F_Sint32{int32(x)} + return true, err + case 13: // union.F_Sint64 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeZigzag64() + m.Union = &Oneof_F_Sint64{int64(x)} + return true, err + case 14: // union.F_Enum + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Union = &Oneof_F_Enum{MyMessage_Color(x)} + return true, err + case 15: // union.F_Message + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(GoTestField) + err := b.DecodeMessage(msg) + m.Union = &Oneof_F_Message{msg} + return true, err + case 16: // union.f_group + if wire != proto.WireStartGroup { + return true, proto.ErrInternalBadWireType + } + msg := new(Oneof_F_Group) + err := b.DecodeGroup(msg) + m.Union = &Oneof_FGroup{msg} + return true, err + case 536870911: // union.F_Largest_Tag + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Union = &Oneof_F_Largest_Tag{int32(x)} + return true, err + case 100: // tormato.value + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Tormato = &Oneof_Value{int32(x)} + return true, err + default: + return false, nil + } +} + +func _Oneof_OneofSizer(msg proto.Message) (n int) { + m := msg.(*Oneof) + // union + switch x := m.Union.(type) { + case *Oneof_F_Bool: + n += 1 // tag and wire + n += 1 + case *Oneof_F_Int32: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.F_Int32)) + case *Oneof_F_Int64: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.F_Int64)) + case *Oneof_F_Fixed32: + n += 1 // tag and wire + n += 4 + case *Oneof_F_Fixed64: + n += 1 // tag and wire + n += 8 + case *Oneof_F_Uint32: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.F_Uint32)) + case *Oneof_F_Uint64: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.F_Uint64)) + case *Oneof_F_Float: + n += 1 // tag and wire + n += 4 + case *Oneof_F_Double: + n += 1 // tag and wire + n += 8 + case *Oneof_F_String: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.F_String))) + n += len(x.F_String) + case *Oneof_F_Bytes: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.F_Bytes))) + n += len(x.F_Bytes) + case *Oneof_F_Sint32: + n += 1 // tag and wire + n += proto.SizeVarint(uint64((uint32(x.F_Sint32) << 1) ^ uint32((int32(x.F_Sint32) >> 31)))) + case *Oneof_F_Sint64: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(uint64(x.F_Sint64<<1) ^ uint64((int64(x.F_Sint64) >> 63)))) + case *Oneof_F_Enum: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.F_Enum)) + case *Oneof_F_Message: + s := proto.Size(x.F_Message) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *Oneof_FGroup: + n += 2 // tag and wire + n += proto.Size(x.FGroup) + n += 2 // tag and wire + case *Oneof_F_Largest_Tag: + n += 5 // tag and wire + n += proto.SizeVarint(uint64(x.F_Largest_Tag)) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + // tormato + switch x := m.Tormato.(type) { + case *Oneof_Value: + n += 2 // tag and wire + n += proto.SizeVarint(uint64(x.Value)) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type Oneof_F_Group struct { + X *int32 `protobuf:"varint,17,opt,name=x" json:"x,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Oneof_F_Group) Reset() { *m = Oneof_F_Group{} } +func (m *Oneof_F_Group) String() string { return proto.CompactTextString(m) } +func (*Oneof_F_Group) ProtoMessage() {} +func (*Oneof_F_Group) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{29, 0} +} +func (m *Oneof_F_Group) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Oneof_F_Group.Unmarshal(m, b) +} +func (m *Oneof_F_Group) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Oneof_F_Group.Marshal(b, m, deterministic) +} +func (dst *Oneof_F_Group) XXX_Merge(src proto.Message) { + xxx_messageInfo_Oneof_F_Group.Merge(dst, src) +} +func (m *Oneof_F_Group) XXX_Size() int { + return xxx_messageInfo_Oneof_F_Group.Size(m) +} +func (m *Oneof_F_Group) XXX_DiscardUnknown() { + xxx_messageInfo_Oneof_F_Group.DiscardUnknown(m) +} + +var xxx_messageInfo_Oneof_F_Group proto.InternalMessageInfo + +func (m *Oneof_F_Group) GetX() int32 { + if m != nil && m.X != nil { + return *m.X + } + return 0 +} + +type Communique struct { + MakeMeCry *bool `protobuf:"varint,1,opt,name=make_me_cry,json=makeMeCry" json:"make_me_cry,omitempty"` + // This is a oneof, called "union". + // + // Types that are valid to be assigned to Union: + // *Communique_Number + // *Communique_Name + // *Communique_Data + // *Communique_TempC + // *Communique_Col + // *Communique_Msg + Union isCommunique_Union `protobuf_oneof:"union"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Communique) Reset() { *m = Communique{} } +func (m *Communique) String() string { return proto.CompactTextString(m) } +func (*Communique) ProtoMessage() {} +func (*Communique) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{30} +} +func (m *Communique) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Communique.Unmarshal(m, b) +} +func (m *Communique) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Communique.Marshal(b, m, deterministic) +} +func (dst *Communique) XXX_Merge(src proto.Message) { + xxx_messageInfo_Communique.Merge(dst, src) +} +func (m *Communique) XXX_Size() int { + return xxx_messageInfo_Communique.Size(m) +} +func (m *Communique) XXX_DiscardUnknown() { + xxx_messageInfo_Communique.DiscardUnknown(m) +} + +var xxx_messageInfo_Communique proto.InternalMessageInfo + +type isCommunique_Union interface { + isCommunique_Union() +} + +type Communique_Number struct { + Number int32 `protobuf:"varint,5,opt,name=number,oneof"` +} +type Communique_Name struct { + Name string `protobuf:"bytes,6,opt,name=name,oneof"` +} +type Communique_Data struct { + Data []byte `protobuf:"bytes,7,opt,name=data,oneof"` +} +type Communique_TempC struct { + TempC float64 `protobuf:"fixed64,8,opt,name=temp_c,json=tempC,oneof"` +} +type Communique_Col struct { + Col MyMessage_Color `protobuf:"varint,9,opt,name=col,enum=test_proto.MyMessage_Color,oneof"` +} +type Communique_Msg struct { + Msg *Strings `protobuf:"bytes,10,opt,name=msg,oneof"` +} + +func (*Communique_Number) isCommunique_Union() {} +func (*Communique_Name) isCommunique_Union() {} +func (*Communique_Data) isCommunique_Union() {} +func (*Communique_TempC) isCommunique_Union() {} +func (*Communique_Col) isCommunique_Union() {} +func (*Communique_Msg) isCommunique_Union() {} + +func (m *Communique) GetUnion() isCommunique_Union { + if m != nil { + return m.Union + } + return nil +} + +func (m *Communique) GetMakeMeCry() bool { + if m != nil && m.MakeMeCry != nil { + return *m.MakeMeCry + } + return false +} + +func (m *Communique) GetNumber() int32 { + if x, ok := m.GetUnion().(*Communique_Number); ok { + return x.Number + } + return 0 +} + +func (m *Communique) GetName() string { + if x, ok := m.GetUnion().(*Communique_Name); ok { + return x.Name + } + return "" +} + +func (m *Communique) GetData() []byte { + if x, ok := m.GetUnion().(*Communique_Data); ok { + return x.Data + } + return nil +} + +func (m *Communique) GetTempC() float64 { + if x, ok := m.GetUnion().(*Communique_TempC); ok { + return x.TempC + } + return 0 +} + +func (m *Communique) GetCol() MyMessage_Color { + if x, ok := m.GetUnion().(*Communique_Col); ok { + return x.Col + } + return MyMessage_RED +} + +func (m *Communique) GetMsg() *Strings { + if x, ok := m.GetUnion().(*Communique_Msg); ok { + return x.Msg + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*Communique) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _Communique_OneofMarshaler, _Communique_OneofUnmarshaler, _Communique_OneofSizer, []interface{}{ + (*Communique_Number)(nil), + (*Communique_Name)(nil), + (*Communique_Data)(nil), + (*Communique_TempC)(nil), + (*Communique_Col)(nil), + (*Communique_Msg)(nil), + } +} + +func _Communique_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*Communique) + // union + switch x := m.Union.(type) { + case *Communique_Number: + _ = b.EncodeVarint(5<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.Number)) + case *Communique_Name: + _ = b.EncodeVarint(6<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.Name) + case *Communique_Data: + _ = b.EncodeVarint(7<<3 | proto.WireBytes) + _ = b.EncodeRawBytes(x.Data) + case *Communique_TempC: + _ = b.EncodeVarint(8<<3 | proto.WireFixed64) + _ = b.EncodeFixed64(math.Float64bits(x.TempC)) + case *Communique_Col: + _ = b.EncodeVarint(9<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.Col)) + case *Communique_Msg: + _ = b.EncodeVarint(10<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Msg); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("Communique.Union has unexpected type %T", x) + } + return nil +} + +func _Communique_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*Communique) + switch tag { + case 5: // union.number + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Union = &Communique_Number{int32(x)} + return true, err + case 6: // union.name + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Union = &Communique_Name{x} + return true, err + case 7: // union.data + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeRawBytes(true) + m.Union = &Communique_Data{x} + return true, err + case 8: // union.temp_c + if wire != proto.WireFixed64 { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeFixed64() + m.Union = &Communique_TempC{math.Float64frombits(x)} + return true, err + case 9: // union.col + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Union = &Communique_Col{MyMessage_Color(x)} + return true, err + case 10: // union.msg + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(Strings) + err := b.DecodeMessage(msg) + m.Union = &Communique_Msg{msg} + return true, err + default: + return false, nil + } +} + +func _Communique_OneofSizer(msg proto.Message) (n int) { + m := msg.(*Communique) + // union + switch x := m.Union.(type) { + case *Communique_Number: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.Number)) + case *Communique_Name: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.Name))) + n += len(x.Name) + case *Communique_Data: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.Data))) + n += len(x.Data) + case *Communique_TempC: + n += 1 // tag and wire + n += 8 + case *Communique_Col: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.Col)) + case *Communique_Msg: + s := proto.Size(x.Msg) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type TestUTF8 struct { + Scalar *string `protobuf:"bytes,1,opt,name=scalar" json:"scalar,omitempty"` + Vector []string `protobuf:"bytes,2,rep,name=vector" json:"vector,omitempty"` + // Types that are valid to be assigned to Oneof: + // *TestUTF8_Field + Oneof isTestUTF8_Oneof `protobuf_oneof:"oneof"` + MapKey map[string]int64 `protobuf:"bytes,4,rep,name=map_key,json=mapKey" json:"map_key,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + MapValue map[int64]string `protobuf:"bytes,5,rep,name=map_value,json=mapValue" json:"map_value,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TestUTF8) Reset() { *m = TestUTF8{} } +func (m *TestUTF8) String() string { return proto.CompactTextString(m) } +func (*TestUTF8) ProtoMessage() {} +func (*TestUTF8) Descriptor() ([]byte, []int) { + return fileDescriptor_test_9a2a288ec56ee1d1, []int{31} +} +func (m *TestUTF8) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TestUTF8.Unmarshal(m, b) +} +func (m *TestUTF8) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TestUTF8.Marshal(b, m, deterministic) +} +func (dst *TestUTF8) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestUTF8.Merge(dst, src) +} +func (m *TestUTF8) XXX_Size() int { + return xxx_messageInfo_TestUTF8.Size(m) +} +func (m *TestUTF8) XXX_DiscardUnknown() { + xxx_messageInfo_TestUTF8.DiscardUnknown(m) +} + +var xxx_messageInfo_TestUTF8 proto.InternalMessageInfo + +type isTestUTF8_Oneof interface { + isTestUTF8_Oneof() +} + +type TestUTF8_Field struct { + Field string `protobuf:"bytes,3,opt,name=field,oneof"` +} + +func (*TestUTF8_Field) isTestUTF8_Oneof() {} + +func (m *TestUTF8) GetOneof() isTestUTF8_Oneof { + if m != nil { + return m.Oneof + } + return nil +} + +func (m *TestUTF8) GetScalar() string { + if m != nil && m.Scalar != nil { + return *m.Scalar + } + return "" +} + +func (m *TestUTF8) GetVector() []string { + if m != nil { + return m.Vector + } + return nil +} + +func (m *TestUTF8) GetField() string { + if x, ok := m.GetOneof().(*TestUTF8_Field); ok { + return x.Field + } + return "" +} + +func (m *TestUTF8) GetMapKey() map[string]int64 { + if m != nil { + return m.MapKey + } + return nil +} + +func (m *TestUTF8) GetMapValue() map[int64]string { + if m != nil { + return m.MapValue + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*TestUTF8) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _TestUTF8_OneofMarshaler, _TestUTF8_OneofUnmarshaler, _TestUTF8_OneofSizer, []interface{}{ + (*TestUTF8_Field)(nil), + } +} + +func _TestUTF8_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*TestUTF8) + // oneof + switch x := m.Oneof.(type) { + case *TestUTF8_Field: + _ = b.EncodeVarint(3<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.Field) + case nil: + default: + return fmt.Errorf("TestUTF8.Oneof has unexpected type %T", x) + } + return nil +} + +func _TestUTF8_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*TestUTF8) + switch tag { + case 3: // oneof.field + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Oneof = &TestUTF8_Field{x} + return true, err + default: + return false, nil + } +} + +func _TestUTF8_OneofSizer(msg proto.Message) (n int) { + m := msg.(*TestUTF8) + // oneof + switch x := m.Oneof.(type) { + case *TestUTF8_Field: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.Field))) + n += len(x.Field) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +var E_Greeting = &proto.ExtensionDesc{ + ExtendedType: (*MyMessage)(nil), + ExtensionType: ([]string)(nil), + Field: 106, + Name: "test_proto.greeting", + Tag: "bytes,106,rep,name=greeting", + Filename: "test.proto", +} + +var E_Complex = &proto.ExtensionDesc{ + ExtendedType: (*OtherMessage)(nil), + ExtensionType: (*ComplexExtension)(nil), + Field: 200, + Name: "test_proto.complex", + Tag: "bytes,200,opt,name=complex", + Filename: "test.proto", +} + +var E_RComplex = &proto.ExtensionDesc{ + ExtendedType: (*OtherMessage)(nil), + ExtensionType: ([]*ComplexExtension)(nil), + Field: 201, + Name: "test_proto.r_complex", + Tag: "bytes,201,rep,name=r_complex,json=rComplex", + Filename: "test.proto", +} + +var E_NoDefaultDouble = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*float64)(nil), + Field: 101, + Name: "test_proto.no_default_double", + Tag: "fixed64,101,opt,name=no_default_double,json=noDefaultDouble", + Filename: "test.proto", +} + +var E_NoDefaultFloat = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*float32)(nil), + Field: 102, + Name: "test_proto.no_default_float", + Tag: "fixed32,102,opt,name=no_default_float,json=noDefaultFloat", + Filename: "test.proto", +} + +var E_NoDefaultInt32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int32)(nil), + Field: 103, + Name: "test_proto.no_default_int32", + Tag: "varint,103,opt,name=no_default_int32,json=noDefaultInt32", + Filename: "test.proto", +} + +var E_NoDefaultInt64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int64)(nil), + Field: 104, + Name: "test_proto.no_default_int64", + Tag: "varint,104,opt,name=no_default_int64,json=noDefaultInt64", + Filename: "test.proto", +} + +var E_NoDefaultUint32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*uint32)(nil), + Field: 105, + Name: "test_proto.no_default_uint32", + Tag: "varint,105,opt,name=no_default_uint32,json=noDefaultUint32", + Filename: "test.proto", +} + +var E_NoDefaultUint64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*uint64)(nil), + Field: 106, + Name: "test_proto.no_default_uint64", + Tag: "varint,106,opt,name=no_default_uint64,json=noDefaultUint64", + Filename: "test.proto", +} + +var E_NoDefaultSint32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int32)(nil), + Field: 107, + Name: "test_proto.no_default_sint32", + Tag: "zigzag32,107,opt,name=no_default_sint32,json=noDefaultSint32", + Filename: "test.proto", +} + +var E_NoDefaultSint64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int64)(nil), + Field: 108, + Name: "test_proto.no_default_sint64", + Tag: "zigzag64,108,opt,name=no_default_sint64,json=noDefaultSint64", + Filename: "test.proto", +} + +var E_NoDefaultFixed32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*uint32)(nil), + Field: 109, + Name: "test_proto.no_default_fixed32", + Tag: "fixed32,109,opt,name=no_default_fixed32,json=noDefaultFixed32", + Filename: "test.proto", +} + +var E_NoDefaultFixed64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*uint64)(nil), + Field: 110, + Name: "test_proto.no_default_fixed64", + Tag: "fixed64,110,opt,name=no_default_fixed64,json=noDefaultFixed64", + Filename: "test.proto", +} + +var E_NoDefaultSfixed32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int32)(nil), + Field: 111, + Name: "test_proto.no_default_sfixed32", + Tag: "fixed32,111,opt,name=no_default_sfixed32,json=noDefaultSfixed32", + Filename: "test.proto", +} + +var E_NoDefaultSfixed64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int64)(nil), + Field: 112, + Name: "test_proto.no_default_sfixed64", + Tag: "fixed64,112,opt,name=no_default_sfixed64,json=noDefaultSfixed64", + Filename: "test.proto", +} + +var E_NoDefaultBool = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*bool)(nil), + Field: 113, + Name: "test_proto.no_default_bool", + Tag: "varint,113,opt,name=no_default_bool,json=noDefaultBool", + Filename: "test.proto", +} + +var E_NoDefaultString = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*string)(nil), + Field: 114, + Name: "test_proto.no_default_string", + Tag: "bytes,114,opt,name=no_default_string,json=noDefaultString", + Filename: "test.proto", +} + +var E_NoDefaultBytes = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: ([]byte)(nil), + Field: 115, + Name: "test_proto.no_default_bytes", + Tag: "bytes,115,opt,name=no_default_bytes,json=noDefaultBytes", + Filename: "test.proto", +} + +var E_NoDefaultEnum = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*DefaultsMessage_DefaultsEnum)(nil), + Field: 116, + Name: "test_proto.no_default_enum", + Tag: "varint,116,opt,name=no_default_enum,json=noDefaultEnum,enum=test_proto.DefaultsMessage_DefaultsEnum", + Filename: "test.proto", +} + +var E_DefaultDouble = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*float64)(nil), + Field: 201, + Name: "test_proto.default_double", + Tag: "fixed64,201,opt,name=default_double,json=defaultDouble,def=3.1415", + Filename: "test.proto", +} + +var E_DefaultFloat = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*float32)(nil), + Field: 202, + Name: "test_proto.default_float", + Tag: "fixed32,202,opt,name=default_float,json=defaultFloat,def=3.14", + Filename: "test.proto", +} + +var E_DefaultInt32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int32)(nil), + Field: 203, + Name: "test_proto.default_int32", + Tag: "varint,203,opt,name=default_int32,json=defaultInt32,def=42", + Filename: "test.proto", +} + +var E_DefaultInt64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int64)(nil), + Field: 204, + Name: "test_proto.default_int64", + Tag: "varint,204,opt,name=default_int64,json=defaultInt64,def=43", + Filename: "test.proto", +} + +var E_DefaultUint32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*uint32)(nil), + Field: 205, + Name: "test_proto.default_uint32", + Tag: "varint,205,opt,name=default_uint32,json=defaultUint32,def=44", + Filename: "test.proto", +} + +var E_DefaultUint64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*uint64)(nil), + Field: 206, + Name: "test_proto.default_uint64", + Tag: "varint,206,opt,name=default_uint64,json=defaultUint64,def=45", + Filename: "test.proto", +} + +var E_DefaultSint32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int32)(nil), + Field: 207, + Name: "test_proto.default_sint32", + Tag: "zigzag32,207,opt,name=default_sint32,json=defaultSint32,def=46", + Filename: "test.proto", +} + +var E_DefaultSint64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int64)(nil), + Field: 208, + Name: "test_proto.default_sint64", + Tag: "zigzag64,208,opt,name=default_sint64,json=defaultSint64,def=47", + Filename: "test.proto", +} + +var E_DefaultFixed32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*uint32)(nil), + Field: 209, + Name: "test_proto.default_fixed32", + Tag: "fixed32,209,opt,name=default_fixed32,json=defaultFixed32,def=48", + Filename: "test.proto", +} + +var E_DefaultFixed64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*uint64)(nil), + Field: 210, + Name: "test_proto.default_fixed64", + Tag: "fixed64,210,opt,name=default_fixed64,json=defaultFixed64,def=49", + Filename: "test.proto", +} + +var E_DefaultSfixed32 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int32)(nil), + Field: 211, + Name: "test_proto.default_sfixed32", + Tag: "fixed32,211,opt,name=default_sfixed32,json=defaultSfixed32,def=50", + Filename: "test.proto", +} + +var E_DefaultSfixed64 = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*int64)(nil), + Field: 212, + Name: "test_proto.default_sfixed64", + Tag: "fixed64,212,opt,name=default_sfixed64,json=defaultSfixed64,def=51", + Filename: "test.proto", +} + +var E_DefaultBool = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*bool)(nil), + Field: 213, + Name: "test_proto.default_bool", + Tag: "varint,213,opt,name=default_bool,json=defaultBool,def=1", + Filename: "test.proto", +} + +var E_DefaultString = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*string)(nil), + Field: 214, + Name: "test_proto.default_string", + Tag: "bytes,214,opt,name=default_string,json=defaultString,def=Hello, string,def=foo", + Filename: "test.proto", +} + +var E_DefaultBytes = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: ([]byte)(nil), + Field: 215, + Name: "test_proto.default_bytes", + Tag: "bytes,215,opt,name=default_bytes,json=defaultBytes,def=Hello, bytes", + Filename: "test.proto", +} + +var E_DefaultEnum = &proto.ExtensionDesc{ + ExtendedType: (*DefaultsMessage)(nil), + ExtensionType: (*DefaultsMessage_DefaultsEnum)(nil), + Field: 216, + Name: "test_proto.default_enum", + Tag: "varint,216,opt,name=default_enum,json=defaultEnum,enum=test_proto.DefaultsMessage_DefaultsEnum,def=1", + Filename: "test.proto", +} + +var E_X201 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 201, + Name: "test_proto.x201", + Tag: "bytes,201,opt,name=x201", + Filename: "test.proto", +} + +var E_X202 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 202, + Name: "test_proto.x202", + Tag: "bytes,202,opt,name=x202", + Filename: "test.proto", +} + +var E_X203 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 203, + Name: "test_proto.x203", + Tag: "bytes,203,opt,name=x203", + Filename: "test.proto", +} + +var E_X204 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 204, + Name: "test_proto.x204", + Tag: "bytes,204,opt,name=x204", + Filename: "test.proto", +} + +var E_X205 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 205, + Name: "test_proto.x205", + Tag: "bytes,205,opt,name=x205", + Filename: "test.proto", +} + +var E_X206 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 206, + Name: "test_proto.x206", + Tag: "bytes,206,opt,name=x206", + Filename: "test.proto", +} + +var E_X207 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 207, + Name: "test_proto.x207", + Tag: "bytes,207,opt,name=x207", + Filename: "test.proto", +} + +var E_X208 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 208, + Name: "test_proto.x208", + Tag: "bytes,208,opt,name=x208", + Filename: "test.proto", +} + +var E_X209 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 209, + Name: "test_proto.x209", + Tag: "bytes,209,opt,name=x209", + Filename: "test.proto", +} + +var E_X210 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 210, + Name: "test_proto.x210", + Tag: "bytes,210,opt,name=x210", + Filename: "test.proto", +} + +var E_X211 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 211, + Name: "test_proto.x211", + Tag: "bytes,211,opt,name=x211", + Filename: "test.proto", +} + +var E_X212 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 212, + Name: "test_proto.x212", + Tag: "bytes,212,opt,name=x212", + Filename: "test.proto", +} + +var E_X213 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 213, + Name: "test_proto.x213", + Tag: "bytes,213,opt,name=x213", + Filename: "test.proto", +} + +var E_X214 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 214, + Name: "test_proto.x214", + Tag: "bytes,214,opt,name=x214", + Filename: "test.proto", +} + +var E_X215 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 215, + Name: "test_proto.x215", + Tag: "bytes,215,opt,name=x215", + Filename: "test.proto", +} + +var E_X216 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 216, + Name: "test_proto.x216", + Tag: "bytes,216,opt,name=x216", + Filename: "test.proto", +} + +var E_X217 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 217, + Name: "test_proto.x217", + Tag: "bytes,217,opt,name=x217", + Filename: "test.proto", +} + +var E_X218 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 218, + Name: "test_proto.x218", + Tag: "bytes,218,opt,name=x218", + Filename: "test.proto", +} + +var E_X219 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 219, + Name: "test_proto.x219", + Tag: "bytes,219,opt,name=x219", + Filename: "test.proto", +} + +var E_X220 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 220, + Name: "test_proto.x220", + Tag: "bytes,220,opt,name=x220", + Filename: "test.proto", +} + +var E_X221 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 221, + Name: "test_proto.x221", + Tag: "bytes,221,opt,name=x221", + Filename: "test.proto", +} + +var E_X222 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 222, + Name: "test_proto.x222", + Tag: "bytes,222,opt,name=x222", + Filename: "test.proto", +} + +var E_X223 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 223, + Name: "test_proto.x223", + Tag: "bytes,223,opt,name=x223", + Filename: "test.proto", +} + +var E_X224 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 224, + Name: "test_proto.x224", + Tag: "bytes,224,opt,name=x224", + Filename: "test.proto", +} + +var E_X225 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 225, + Name: "test_proto.x225", + Tag: "bytes,225,opt,name=x225", + Filename: "test.proto", +} + +var E_X226 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 226, + Name: "test_proto.x226", + Tag: "bytes,226,opt,name=x226", + Filename: "test.proto", +} + +var E_X227 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 227, + Name: "test_proto.x227", + Tag: "bytes,227,opt,name=x227", + Filename: "test.proto", +} + +var E_X228 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 228, + Name: "test_proto.x228", + Tag: "bytes,228,opt,name=x228", + Filename: "test.proto", +} + +var E_X229 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 229, + Name: "test_proto.x229", + Tag: "bytes,229,opt,name=x229", + Filename: "test.proto", +} + +var E_X230 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 230, + Name: "test_proto.x230", + Tag: "bytes,230,opt,name=x230", + Filename: "test.proto", +} + +var E_X231 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 231, + Name: "test_proto.x231", + Tag: "bytes,231,opt,name=x231", + Filename: "test.proto", +} + +var E_X232 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 232, + Name: "test_proto.x232", + Tag: "bytes,232,opt,name=x232", + Filename: "test.proto", +} + +var E_X233 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 233, + Name: "test_proto.x233", + Tag: "bytes,233,opt,name=x233", + Filename: "test.proto", +} + +var E_X234 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 234, + Name: "test_proto.x234", + Tag: "bytes,234,opt,name=x234", + Filename: "test.proto", +} + +var E_X235 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 235, + Name: "test_proto.x235", + Tag: "bytes,235,opt,name=x235", + Filename: "test.proto", +} + +var E_X236 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 236, + Name: "test_proto.x236", + Tag: "bytes,236,opt,name=x236", + Filename: "test.proto", +} + +var E_X237 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 237, + Name: "test_proto.x237", + Tag: "bytes,237,opt,name=x237", + Filename: "test.proto", +} + +var E_X238 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 238, + Name: "test_proto.x238", + Tag: "bytes,238,opt,name=x238", + Filename: "test.proto", +} + +var E_X239 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 239, + Name: "test_proto.x239", + Tag: "bytes,239,opt,name=x239", + Filename: "test.proto", +} + +var E_X240 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 240, + Name: "test_proto.x240", + Tag: "bytes,240,opt,name=x240", + Filename: "test.proto", +} + +var E_X241 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 241, + Name: "test_proto.x241", + Tag: "bytes,241,opt,name=x241", + Filename: "test.proto", +} + +var E_X242 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 242, + Name: "test_proto.x242", + Tag: "bytes,242,opt,name=x242", + Filename: "test.proto", +} + +var E_X243 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 243, + Name: "test_proto.x243", + Tag: "bytes,243,opt,name=x243", + Filename: "test.proto", +} + +var E_X244 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 244, + Name: "test_proto.x244", + Tag: "bytes,244,opt,name=x244", + Filename: "test.proto", +} + +var E_X245 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 245, + Name: "test_proto.x245", + Tag: "bytes,245,opt,name=x245", + Filename: "test.proto", +} + +var E_X246 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 246, + Name: "test_proto.x246", + Tag: "bytes,246,opt,name=x246", + Filename: "test.proto", +} + +var E_X247 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 247, + Name: "test_proto.x247", + Tag: "bytes,247,opt,name=x247", + Filename: "test.proto", +} + +var E_X248 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 248, + Name: "test_proto.x248", + Tag: "bytes,248,opt,name=x248", + Filename: "test.proto", +} + +var E_X249 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 249, + Name: "test_proto.x249", + Tag: "bytes,249,opt,name=x249", + Filename: "test.proto", +} + +var E_X250 = &proto.ExtensionDesc{ + ExtendedType: (*MyMessageSet)(nil), + ExtensionType: (*Empty)(nil), + Field: 250, + Name: "test_proto.x250", + Tag: "bytes,250,opt,name=x250", + Filename: "test.proto", +} + +func init() { + proto.RegisterType((*GoEnum)(nil), "test_proto.GoEnum") + proto.RegisterType((*GoTestField)(nil), "test_proto.GoTestField") + proto.RegisterType((*GoTest)(nil), "test_proto.GoTest") + proto.RegisterType((*GoTest_RequiredGroup)(nil), "test_proto.GoTest.RequiredGroup") + proto.RegisterType((*GoTest_RepeatedGroup)(nil), "test_proto.GoTest.RepeatedGroup") + proto.RegisterType((*GoTest_OptionalGroup)(nil), "test_proto.GoTest.OptionalGroup") + proto.RegisterType((*GoTestRequiredGroupField)(nil), "test_proto.GoTestRequiredGroupField") + proto.RegisterType((*GoTestRequiredGroupField_Group)(nil), "test_proto.GoTestRequiredGroupField.Group") + proto.RegisterType((*GoSkipTest)(nil), "test_proto.GoSkipTest") + proto.RegisterType((*GoSkipTest_SkipGroup)(nil), "test_proto.GoSkipTest.SkipGroup") + proto.RegisterType((*NonPackedTest)(nil), "test_proto.NonPackedTest") + proto.RegisterType((*PackedTest)(nil), "test_proto.PackedTest") + proto.RegisterType((*MaxTag)(nil), "test_proto.MaxTag") + proto.RegisterType((*OldMessage)(nil), "test_proto.OldMessage") + proto.RegisterType((*OldMessage_Nested)(nil), "test_proto.OldMessage.Nested") + proto.RegisterType((*NewMessage)(nil), "test_proto.NewMessage") + proto.RegisterType((*NewMessage_Nested)(nil), "test_proto.NewMessage.Nested") + proto.RegisterType((*InnerMessage)(nil), "test_proto.InnerMessage") + proto.RegisterType((*OtherMessage)(nil), "test_proto.OtherMessage") + proto.RegisterType((*RequiredInnerMessage)(nil), "test_proto.RequiredInnerMessage") + proto.RegisterType((*MyMessage)(nil), "test_proto.MyMessage") + proto.RegisterType((*MyMessage_SomeGroup)(nil), "test_proto.MyMessage.SomeGroup") + proto.RegisterType((*Ext)(nil), "test_proto.Ext") + proto.RegisterMapType((map[int32]int32)(nil), "test_proto.Ext.MapFieldEntry") + proto.RegisterType((*ComplexExtension)(nil), "test_proto.ComplexExtension") + proto.RegisterType((*DefaultsMessage)(nil), "test_proto.DefaultsMessage") + proto.RegisterType((*MyMessageSet)(nil), "test_proto.MyMessageSet") + proto.RegisterType((*Empty)(nil), "test_proto.Empty") + proto.RegisterType((*MessageList)(nil), "test_proto.MessageList") + proto.RegisterType((*MessageList_Message)(nil), "test_proto.MessageList.Message") + proto.RegisterType((*Strings)(nil), "test_proto.Strings") + proto.RegisterType((*Defaults)(nil), "test_proto.Defaults") + proto.RegisterType((*SubDefaults)(nil), "test_proto.SubDefaults") + proto.RegisterType((*RepeatedEnum)(nil), "test_proto.RepeatedEnum") + proto.RegisterType((*MoreRepeated)(nil), "test_proto.MoreRepeated") + proto.RegisterType((*GroupOld)(nil), "test_proto.GroupOld") + proto.RegisterType((*GroupOld_G)(nil), "test_proto.GroupOld.G") + proto.RegisterType((*GroupNew)(nil), "test_proto.GroupNew") + proto.RegisterType((*GroupNew_G)(nil), "test_proto.GroupNew.G") + proto.RegisterType((*FloatingPoint)(nil), "test_proto.FloatingPoint") + proto.RegisterType((*MessageWithMap)(nil), "test_proto.MessageWithMap") + proto.RegisterMapType((map[bool][]byte)(nil), "test_proto.MessageWithMap.ByteMappingEntry") + proto.RegisterMapType((map[int64]*FloatingPoint)(nil), "test_proto.MessageWithMap.MsgMappingEntry") + proto.RegisterMapType((map[int32]string)(nil), "test_proto.MessageWithMap.NameMappingEntry") + proto.RegisterMapType((map[string]string)(nil), "test_proto.MessageWithMap.StrToStrEntry") + proto.RegisterType((*Oneof)(nil), "test_proto.Oneof") + proto.RegisterType((*Oneof_F_Group)(nil), "test_proto.Oneof.F_Group") + proto.RegisterType((*Communique)(nil), "test_proto.Communique") + proto.RegisterType((*TestUTF8)(nil), "test_proto.TestUTF8") + proto.RegisterMapType((map[string]int64)(nil), "test_proto.TestUTF8.MapKeyEntry") + proto.RegisterMapType((map[int64]string)(nil), "test_proto.TestUTF8.MapValueEntry") + proto.RegisterEnum("test_proto.FOO", FOO_name, FOO_value) + proto.RegisterEnum("test_proto.GoTest_KIND", GoTest_KIND_name, GoTest_KIND_value) + proto.RegisterEnum("test_proto.MyMessage_Color", MyMessage_Color_name, MyMessage_Color_value) + proto.RegisterEnum("test_proto.DefaultsMessage_DefaultsEnum", DefaultsMessage_DefaultsEnum_name, DefaultsMessage_DefaultsEnum_value) + proto.RegisterEnum("test_proto.Defaults_Color", Defaults_Color_name, Defaults_Color_value) + proto.RegisterEnum("test_proto.RepeatedEnum_Color", RepeatedEnum_Color_name, RepeatedEnum_Color_value) + proto.RegisterExtension(E_Ext_More) + proto.RegisterExtension(E_Ext_Text) + proto.RegisterExtension(E_Ext_Number) + proto.RegisterExtension(E_Greeting) + proto.RegisterExtension(E_Complex) + proto.RegisterExtension(E_RComplex) + proto.RegisterExtension(E_NoDefaultDouble) + proto.RegisterExtension(E_NoDefaultFloat) + proto.RegisterExtension(E_NoDefaultInt32) + proto.RegisterExtension(E_NoDefaultInt64) + proto.RegisterExtension(E_NoDefaultUint32) + proto.RegisterExtension(E_NoDefaultUint64) + proto.RegisterExtension(E_NoDefaultSint32) + proto.RegisterExtension(E_NoDefaultSint64) + proto.RegisterExtension(E_NoDefaultFixed32) + proto.RegisterExtension(E_NoDefaultFixed64) + proto.RegisterExtension(E_NoDefaultSfixed32) + proto.RegisterExtension(E_NoDefaultSfixed64) + proto.RegisterExtension(E_NoDefaultBool) + proto.RegisterExtension(E_NoDefaultString) + proto.RegisterExtension(E_NoDefaultBytes) + proto.RegisterExtension(E_NoDefaultEnum) + proto.RegisterExtension(E_DefaultDouble) + proto.RegisterExtension(E_DefaultFloat) + proto.RegisterExtension(E_DefaultInt32) + proto.RegisterExtension(E_DefaultInt64) + proto.RegisterExtension(E_DefaultUint32) + proto.RegisterExtension(E_DefaultUint64) + proto.RegisterExtension(E_DefaultSint32) + proto.RegisterExtension(E_DefaultSint64) + proto.RegisterExtension(E_DefaultFixed32) + proto.RegisterExtension(E_DefaultFixed64) + proto.RegisterExtension(E_DefaultSfixed32) + proto.RegisterExtension(E_DefaultSfixed64) + proto.RegisterExtension(E_DefaultBool) + proto.RegisterExtension(E_DefaultString) + proto.RegisterExtension(E_DefaultBytes) + proto.RegisterExtension(E_DefaultEnum) + proto.RegisterExtension(E_X201) + proto.RegisterExtension(E_X202) + proto.RegisterExtension(E_X203) + proto.RegisterExtension(E_X204) + proto.RegisterExtension(E_X205) + proto.RegisterExtension(E_X206) + proto.RegisterExtension(E_X207) + proto.RegisterExtension(E_X208) + proto.RegisterExtension(E_X209) + proto.RegisterExtension(E_X210) + proto.RegisterExtension(E_X211) + proto.RegisterExtension(E_X212) + proto.RegisterExtension(E_X213) + proto.RegisterExtension(E_X214) + proto.RegisterExtension(E_X215) + proto.RegisterExtension(E_X216) + proto.RegisterExtension(E_X217) + proto.RegisterExtension(E_X218) + proto.RegisterExtension(E_X219) + proto.RegisterExtension(E_X220) + proto.RegisterExtension(E_X221) + proto.RegisterExtension(E_X222) + proto.RegisterExtension(E_X223) + proto.RegisterExtension(E_X224) + proto.RegisterExtension(E_X225) + proto.RegisterExtension(E_X226) + proto.RegisterExtension(E_X227) + proto.RegisterExtension(E_X228) + proto.RegisterExtension(E_X229) + proto.RegisterExtension(E_X230) + proto.RegisterExtension(E_X231) + proto.RegisterExtension(E_X232) + proto.RegisterExtension(E_X233) + proto.RegisterExtension(E_X234) + proto.RegisterExtension(E_X235) + proto.RegisterExtension(E_X236) + proto.RegisterExtension(E_X237) + proto.RegisterExtension(E_X238) + proto.RegisterExtension(E_X239) + proto.RegisterExtension(E_X240) + proto.RegisterExtension(E_X241) + proto.RegisterExtension(E_X242) + proto.RegisterExtension(E_X243) + proto.RegisterExtension(E_X244) + proto.RegisterExtension(E_X245) + proto.RegisterExtension(E_X246) + proto.RegisterExtension(E_X247) + proto.RegisterExtension(E_X248) + proto.RegisterExtension(E_X249) + proto.RegisterExtension(E_X250) +} + +func init() { proto.RegisterFile("test.proto", fileDescriptor_test_9a2a288ec56ee1d1) } + +var fileDescriptor_test_9a2a288ec56ee1d1 = []byte{ + // 4787 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x5a, 0xd9, 0x73, 0x1b, 0x47, + 0x7a, 0xd7, 0x0c, 0xee, 0x0f, 0x20, 0x31, 0x6c, 0xd1, 0x12, 0x44, 0x59, 0xd2, 0x08, 0x7b, 0x18, + 0x96, 0x6c, 0x8a, 0x04, 0x86, 0x90, 0x04, 0xc7, 0x8e, 0x75, 0x10, 0x34, 0x4b, 0x22, 0x21, 0x0f, + 0x69, 0x3b, 0xab, 0x3c, 0xa0, 0x40, 0x62, 0x00, 0x62, 0x05, 0xcc, 0xc0, 0xc0, 0x60, 0x45, 0x26, + 0x95, 0x2a, 0x3f, 0xa6, 0x2a, 0x4f, 0xd9, 0x24, 0x55, 0x79, 0xcf, 0x4b, 0x5e, 0x72, 0x3d, 0x24, + 0x7f, 0x43, 0x7c, 0xad, 0x77, 0xd7, 0x7b, 0x25, 0xd9, 0x64, 0x73, 0xdf, 0xd9, 0xdc, 0x7b, 0xe4, + 0xc5, 0xa9, 0xfe, 0xba, 0x67, 0xa6, 0x67, 0x00, 0x35, 0xc9, 0x27, 0x4c, 0x77, 0xff, 0xbe, 0x5f, + 0x5f, 0xbf, 0xf9, 0xbe, 0xaf, 0x1b, 0x03, 0xe0, 0x5a, 0x63, 0x77, 0x79, 0x38, 0x72, 0x5c, 0x87, + 0xe0, 0x73, 0x13, 0x9f, 0x8b, 0xd7, 0x21, 0xb9, 0xe1, 0xac, 0xdb, 0x93, 0x01, 0xb9, 0x0a, 0xb1, + 0x8e, 0xe3, 0x14, 0x14, 0x5d, 0x2d, 0xcd, 0x97, 0xf3, 0xcb, 0x01, 0x66, 0xb9, 0xde, 0x68, 0x98, + 0xb4, 0xad, 0x78, 0x13, 0xb2, 0x1b, 0xce, 0xae, 0x35, 0x76, 0xeb, 0x3d, 0xab, 0xdf, 0x26, 0x8b, + 0x90, 0x78, 0xd8, 0xda, 0xb3, 0xfa, 0x68, 0x93, 0x31, 0x59, 0x81, 0x10, 0x88, 0xef, 0x1e, 0x0d, + 0xad, 0x82, 0x8a, 0x95, 0xf8, 0x5c, 0xfc, 0xc3, 0x22, 0xed, 0x86, 0x5a, 0x92, 0xeb, 0x10, 0x7f, + 0xd0, 0xb3, 0xdb, 0xbc, 0x9f, 0xf3, 0x62, 0x3f, 0x0c, 0xb1, 0xfc, 0x60, 0x73, 0xfb, 0xbe, 0x89, + 0x20, 0xda, 0xc3, 0x6e, 0x6b, 0xaf, 0x4f, 0xc9, 0x14, 0xda, 0x03, 0x16, 0x68, 0xed, 0xa3, 0xd6, + 0xa8, 0x35, 0x28, 0xc4, 0x74, 0xa5, 0x94, 0x30, 0x59, 0x81, 0xbc, 0x0a, 0x73, 0xa6, 0xf5, 0xee, + 0xa4, 0x37, 0xb2, 0xda, 0x38, 0xbc, 0x42, 0x5c, 0x57, 0x4b, 0xd9, 0x59, 0x3d, 0x60, 0xb3, 0x19, + 0x46, 0x33, 0xf3, 0xa1, 0xd5, 0x72, 0x3d, 0xf3, 0x84, 0x1e, 0x3b, 0xc6, 0x5c, 0x40, 0x53, 0xf3, + 0xc6, 0xd0, 0xed, 0x39, 0x76, 0xab, 0xcf, 0xcc, 0x93, 0xba, 0x22, 0x35, 0x0f, 0xa1, 0xc9, 0x17, + 0x21, 0x5f, 0x6f, 0xde, 0x75, 0x9c, 0x7e, 0x73, 0xc4, 0x47, 0x55, 0x00, 0x5d, 0x2d, 0xa5, 0xcd, + 0xb9, 0x3a, 0xad, 0xf5, 0x86, 0x4a, 0x4a, 0xa0, 0xd5, 0x9b, 0x9b, 0xb6, 0x5b, 0x29, 0x07, 0xc0, + 0xac, 0xae, 0x96, 0x12, 0xe6, 0x7c, 0x1d, 0xab, 0xa7, 0x90, 0x55, 0x23, 0x40, 0xe6, 0x74, 0xb5, + 0x14, 0x63, 0xc8, 0xaa, 0xe1, 0x23, 0x5f, 0x02, 0x52, 0x6f, 0xd6, 0x7b, 0x87, 0x56, 0x5b, 0x64, + 0x9d, 0xd3, 0xd5, 0x52, 0xca, 0xd4, 0xea, 0xbc, 0x61, 0x06, 0x5a, 0x64, 0x9e, 0xd7, 0xd5, 0x52, + 0xd2, 0x43, 0x0b, 0xdc, 0xd7, 0x60, 0xa1, 0xde, 0x7c, 0xab, 0x17, 0x1e, 0x70, 0x5e, 0x57, 0x4b, + 0x73, 0x66, 0xbe, 0xce, 0xea, 0xa7, 0xb1, 0x22, 0xb1, 0xa6, 0xab, 0xa5, 0x38, 0xc7, 0x0a, 0xbc, + 0x38, 0xbb, 0x7a, 0xdf, 0x69, 0xb9, 0x01, 0x74, 0x41, 0x57, 0x4b, 0xaa, 0x39, 0x5f, 0xc7, 0xea, + 0x30, 0xeb, 0x7d, 0x67, 0xb2, 0xd7, 0xb7, 0x02, 0x28, 0xd1, 0xd5, 0x92, 0x62, 0xe6, 0xeb, 0xac, + 0x3e, 0x8c, 0xdd, 0x71, 0x47, 0x3d, 0xbb, 0x1b, 0x60, 0xcf, 0xa2, 0x8e, 0xf3, 0x75, 0x56, 0x1f, + 0x1e, 0xc1, 0xdd, 0x23, 0xd7, 0x1a, 0x07, 0x50, 0x4b, 0x57, 0x4b, 0x39, 0x73, 0xbe, 0x8e, 0xd5, + 0x11, 0xd6, 0xc8, 0x1a, 0x74, 0x74, 0xb5, 0xb4, 0x40, 0x59, 0x67, 0xac, 0xc1, 0x4e, 0x64, 0x0d, + 0xba, 0xba, 0x5a, 0x22, 0x1c, 0x2b, 0xac, 0xc1, 0x32, 0x9c, 0xad, 0x37, 0x77, 0x3a, 0xd1, 0x8d, + 0x3b, 0xd0, 0xd5, 0x52, 0xde, 0x5c, 0xa8, 0x7b, 0x2d, 0xb3, 0xf0, 0x22, 0x7b, 0x4f, 0x57, 0x4b, + 0x9a, 0x8f, 0x17, 0xf8, 0x45, 0x4d, 0x32, 0xa9, 0x17, 0x16, 0xf5, 0x98, 0xa0, 0x49, 0x56, 0x19, + 0xd6, 0x24, 0x07, 0x3e, 0xa7, 0xc7, 0x44, 0x4d, 0x46, 0x90, 0xd8, 0x3d, 0x47, 0x9e, 0xd3, 0x63, + 0xa2, 0x26, 0x39, 0x32, 0xa2, 0x49, 0x8e, 0x3d, 0xaf, 0xc7, 0xc2, 0x9a, 0x9c, 0x42, 0x8b, 0xcc, + 0x05, 0x3d, 0x16, 0xd6, 0x24, 0x47, 0x87, 0x35, 0xc9, 0xc1, 0x17, 0xf4, 0x58, 0x48, 0x93, 0x51, + 0xac, 0x48, 0xbc, 0xa4, 0xc7, 0x42, 0x9a, 0x14, 0x67, 0xe7, 0x69, 0x92, 0x43, 0x2f, 0xea, 0x31, + 0x51, 0x93, 0x22, 0xab, 0xaf, 0x49, 0x0e, 0x7d, 0x5e, 0x8f, 0x85, 0x34, 0x29, 0x62, 0x7d, 0x4d, + 0x72, 0xec, 0x25, 0x3d, 0x16, 0xd2, 0x24, 0xc7, 0xbe, 0x28, 0x6a, 0x92, 0x43, 0xdf, 0x57, 0xf4, + 0x98, 0x28, 0x4a, 0x0e, 0xbd, 0x1e, 0x12, 0x25, 0xc7, 0x7e, 0x40, 0xb1, 0xa2, 0x2a, 0xa3, 0x60, + 0x71, 0x15, 0x3e, 0xa4, 0x60, 0x51, 0x96, 0x1c, 0x7c, 0x23, 0x22, 0x4b, 0x0e, 0xff, 0x88, 0xc2, + 0xc3, 0xba, 0x9c, 0x36, 0x10, 0xf9, 0x3f, 0xa6, 0x06, 0x61, 0x61, 0x72, 0x83, 0x40, 0x98, 0x0e, + 0x77, 0xa2, 0x85, 0xcb, 0xba, 0xe2, 0x0b, 0xd3, 0xf3, 0xac, 0xa2, 0x30, 0x7d, 0xe0, 0x15, 0x0c, + 0x19, 0x5c, 0x98, 0x53, 0xc8, 0xaa, 0x11, 0x20, 0x75, 0x5d, 0x09, 0x84, 0xe9, 0x23, 0x43, 0xc2, + 0xf4, 0xb1, 0x57, 0x75, 0x45, 0x14, 0xe6, 0x0c, 0xb4, 0xc8, 0x5c, 0xd4, 0x15, 0x51, 0x98, 0x3e, + 0x5a, 0x14, 0xa6, 0x0f, 0xfe, 0x9c, 0xae, 0x08, 0xc2, 0x9c, 0xc6, 0x8a, 0xc4, 0x9f, 0xd7, 0x15, + 0x41, 0x98, 0xe1, 0xd9, 0x31, 0x61, 0xfa, 0xd0, 0x2f, 0xe8, 0x4a, 0x20, 0xcc, 0x30, 0x2b, 0x17, + 0xa6, 0x0f, 0xfd, 0xa2, 0xae, 0x08, 0xc2, 0x0c, 0x63, 0xb9, 0x30, 0x7d, 0xec, 0x0b, 0x18, 0xa7, + 0x3d, 0x61, 0xfa, 0x58, 0x41, 0x98, 0x3e, 0xf4, 0x77, 0x68, 0x4c, 0xf7, 0x85, 0xe9, 0x43, 0x45, + 0x61, 0xfa, 0xd8, 0xdf, 0xa5, 0xd8, 0x40, 0x98, 0xd3, 0x60, 0x71, 0x15, 0x7e, 0x8f, 0x82, 0x03, + 0x61, 0xfa, 0xe0, 0xb0, 0x30, 0x7d, 0xf8, 0xef, 0x53, 0xb8, 0x28, 0xcc, 0x59, 0x06, 0x22, 0xff, + 0x1f, 0x50, 0x03, 0x51, 0x98, 0xbe, 0xc1, 0x32, 0x4e, 0x93, 0x0a, 0xb3, 0x6d, 0x75, 0x5a, 0x93, + 0x3e, 0x95, 0x71, 0x89, 0x2a, 0xb3, 0x16, 0x77, 0x47, 0x13, 0x8b, 0xce, 0xd5, 0x71, 0xfa, 0xf7, + 0xbd, 0x36, 0xb2, 0x4c, 0x87, 0xcf, 0x04, 0x1a, 0x18, 0xbc, 0x48, 0x15, 0x5a, 0x53, 0x2b, 0x65, + 0x33, 0xcf, 0x54, 0x3a, 0x8d, 0xaf, 0x1a, 0x02, 0xfe, 0x1a, 0xd5, 0x69, 0x4d, 0xad, 0x1a, 0x0c, + 0x5f, 0x35, 0x02, 0x7c, 0x85, 0x4e, 0xc0, 0x13, 0x6b, 0x60, 0x71, 0x9d, 0xaa, 0xb5, 0x16, 0xab, + 0x94, 0x57, 0xcc, 0x05, 0x4f, 0xb2, 0xb3, 0x8c, 0x42, 0xdd, 0xbc, 0x44, 0x45, 0x5b, 0x8b, 0x55, + 0x0d, 0xdf, 0x48, 0xec, 0xa9, 0x4c, 0x85, 0xce, 0xa5, 0x1b, 0xd8, 0xbc, 0x4c, 0xb5, 0x5b, 0x8b, + 0x57, 0xca, 0x2b, 0x2b, 0xa6, 0xc6, 0x15, 0x3c, 0xc3, 0x26, 0xd4, 0xcf, 0x32, 0xd5, 0x70, 0x2d, + 0x5e, 0x35, 0x7c, 0x9b, 0x70, 0x3f, 0x0b, 0x9e, 0x94, 0x03, 0x93, 0x1b, 0x54, 0xcb, 0xb5, 0x64, + 0x65, 0xd5, 0x58, 0x5d, 0xbb, 0x6d, 0xe6, 0x99, 0xa6, 0x03, 0x1b, 0x83, 0xf6, 0xc3, 0x45, 0x1d, + 0x18, 0xad, 0x50, 0x55, 0xd7, 0x92, 0xe5, 0x9b, 0xab, 0xb7, 0xca, 0xb7, 0x4c, 0x8d, 0xab, 0x3b, + 0xb0, 0x7a, 0x8d, 0x5a, 0x71, 0x79, 0x07, 0x56, 0xab, 0x54, 0xdf, 0x35, 0xed, 0xc0, 0xea, 0xf7, + 0x9d, 0x97, 0xf4, 0xe2, 0x53, 0x67, 0xd4, 0x6f, 0x5f, 0x2d, 0x82, 0xa9, 0x71, 0xc5, 0x8b, 0xbd, + 0x2e, 0x78, 0x92, 0x0f, 0xcc, 0x7f, 0x95, 0x66, 0xac, 0xb9, 0x5a, 0xea, 0x6e, 0xaf, 0x6b, 0x3b, + 0x63, 0xcb, 0xcc, 0x33, 0xf1, 0x47, 0xd6, 0x64, 0x27, 0xba, 0x8e, 0x5f, 0xa5, 0x66, 0x0b, 0xb5, + 0xd8, 0xcb, 0x95, 0x32, 0xed, 0x69, 0xd6, 0x3a, 0xee, 0x44, 0xd7, 0xf1, 0xd7, 0xa8, 0x0d, 0xa9, + 0xc5, 0x5e, 0xae, 0x1a, 0xdc, 0x46, 0x5c, 0xc7, 0x2a, 0x2c, 0x0a, 0xef, 0x42, 0x60, 0xf5, 0xeb, + 0xd4, 0x2a, 0xcf, 0x7a, 0x22, 0xfe, 0x1b, 0x31, 0xd3, 0x2e, 0xd4, 0xdb, 0x6f, 0x50, 0x3b, 0x8d, + 0xf5, 0x46, 0xfc, 0x17, 0x23, 0xb0, 0xbb, 0x09, 0xe7, 0x22, 0xb9, 0x44, 0x73, 0xd8, 0xda, 0x7f, + 0x62, 0xb5, 0x0b, 0x65, 0x9a, 0x52, 0xdc, 0x55, 0x35, 0xc5, 0x3c, 0x1b, 0x4a, 0x2b, 0x1e, 0x61, + 0x33, 0xb9, 0x0d, 0xe7, 0xa3, 0xc9, 0x85, 0x67, 0x59, 0xa1, 0x39, 0x06, 0x5a, 0x2e, 0x86, 0xf3, + 0x8c, 0x88, 0xa9, 0x10, 0x54, 0x3c, 0x53, 0x83, 0x26, 0x1d, 0x81, 0x69, 0x10, 0x5b, 0xb8, 0xe9, + 0xab, 0x70, 0x61, 0x3a, 0xfd, 0xf0, 0x8c, 0xd7, 0x68, 0x16, 0x82, 0xc6, 0xe7, 0xa2, 0x99, 0xc8, + 0x94, 0xf9, 0x8c, 0xbe, 0xab, 0x34, 0x2d, 0x11, 0xcd, 0xa7, 0x7a, 0x7f, 0x05, 0x0a, 0x53, 0x09, + 0x8a, 0x67, 0x7d, 0x93, 0xe6, 0x29, 0x68, 0xfd, 0x5c, 0x24, 0x57, 0x89, 0x1a, 0xcf, 0xe8, 0xfa, + 0x16, 0x4d, 0x5c, 0x04, 0xe3, 0xa9, 0x9e, 0x71, 0xc9, 0xc2, 0x29, 0x8c, 0x67, 0x7b, 0x9b, 0x66, + 0x32, 0x7c, 0xc9, 0x42, 0xd9, 0x8c, 0xd8, 0x6f, 0x24, 0xa7, 0xf1, 0x6c, 0x6b, 0x34, 0xb5, 0xe1, + 0xfd, 0x86, 0xd3, 0x1b, 0x6e, 0xfc, 0x33, 0xd4, 0x78, 0x67, 0xf6, 0x8c, 0x7f, 0x14, 0xa3, 0x49, + 0x09, 0xb7, 0xde, 0x99, 0x35, 0x65, 0xdf, 0x7a, 0xc6, 0x94, 0x7f, 0x4c, 0xad, 0x89, 0x60, 0x3d, + 0x35, 0xe7, 0xd7, 0x61, 0x69, 0x46, 0xbe, 0xe2, 0xd9, 0xff, 0x84, 0xda, 0xe7, 0xd1, 0xfe, 0xfc, + 0x54, 0xea, 0x32, 0xcd, 0x30, 0x63, 0x04, 0x3f, 0xa5, 0x0c, 0x5a, 0x88, 0x61, 0x6a, 0x0c, 0x75, + 0x98, 0xf3, 0xf2, 0xf1, 0xee, 0xc8, 0x99, 0x0c, 0x0b, 0x75, 0x5d, 0x2d, 0x41, 0x59, 0x9f, 0x71, + 0x3a, 0xf6, 0xd2, 0xf3, 0x0d, 0x8a, 0x33, 0xc3, 0x66, 0x8c, 0x87, 0x31, 0x33, 0x9e, 0x47, 0x7a, + 0xec, 0x99, 0x3c, 0x0c, 0xe7, 0xf3, 0x08, 0x66, 0x94, 0xc7, 0x0b, 0x77, 0x8c, 0xe7, 0xb1, 0xae, + 0x3c, 0x83, 0xc7, 0x0b, 0x7e, 0x9c, 0x27, 0x64, 0xb6, 0xb4, 0x16, 0x9c, 0xc9, 0xb1, 0x9d, 0x7c, + 0x3e, 0x7a, 0x48, 0xdf, 0xc0, 0xd3, 0x55, 0xb8, 0x92, 0x99, 0x09, 0xc3, 0x9b, 0x36, 0x7b, 0xf3, + 0x19, 0x66, 0xa1, 0xd1, 0x4c, 0x9b, 0xfd, 0xfc, 0x0c, 0xb3, 0xe2, 0x6f, 0x2a, 0x10, 0x7f, 0xb0, + 0xb9, 0x7d, 0x9f, 0xa4, 0x21, 0xfe, 0x76, 0x63, 0xf3, 0xbe, 0x76, 0x86, 0x3e, 0xdd, 0x6d, 0x34, + 0x1e, 0x6a, 0x0a, 0xc9, 0x40, 0xe2, 0xee, 0x97, 0x76, 0xd7, 0x77, 0x34, 0x95, 0xe4, 0x21, 0x5b, + 0xdf, 0xdc, 0xde, 0x58, 0x37, 0x1f, 0x99, 0x9b, 0xdb, 0xbb, 0x5a, 0x8c, 0xb6, 0xd5, 0x1f, 0x36, + 0xee, 0xec, 0x6a, 0x71, 0x92, 0x82, 0x18, 0xad, 0x4b, 0x10, 0x80, 0xe4, 0xce, 0xae, 0xb9, 0xb9, + 0xbd, 0xa1, 0x25, 0x29, 0xcb, 0xee, 0xe6, 0xd6, 0xba, 0x96, 0xa2, 0xc8, 0xdd, 0xb7, 0x1e, 0x3d, + 0x5c, 0xd7, 0xd2, 0xf4, 0xf1, 0x8e, 0x69, 0xde, 0xf9, 0x92, 0x96, 0xa1, 0x46, 0x5b, 0x77, 0x1e, + 0x69, 0x80, 0xcd, 0x77, 0xee, 0x3e, 0x5c, 0xd7, 0xb2, 0x24, 0x07, 0xe9, 0xfa, 0x5b, 0xdb, 0xf7, + 0x76, 0x37, 0x1b, 0xdb, 0x5a, 0xae, 0xf8, 0x8b, 0x50, 0x60, 0xcb, 0x1c, 0x5a, 0x45, 0x76, 0x65, + 0xf0, 0x3a, 0x24, 0xd8, 0xde, 0x28, 0xa8, 0x95, 0x6b, 0xd3, 0x7b, 0x33, 0x6d, 0xb4, 0xcc, 0x76, + 0x89, 0x19, 0x2e, 0x5d, 0x82, 0x04, 0x5b, 0xa7, 0x45, 0x48, 0xb0, 0xf5, 0x51, 0xf1, 0x2a, 0x81, + 0x15, 0x8a, 0xbf, 0xa5, 0x02, 0x6c, 0x38, 0x3b, 0x4f, 0x7a, 0x43, 0xbc, 0xb8, 0xb9, 0x04, 0x30, + 0x7e, 0xd2, 0x1b, 0x36, 0xf1, 0x0d, 0xe4, 0x97, 0x0e, 0x19, 0x5a, 0x83, 0xbe, 0x97, 0x5c, 0x85, + 0x1c, 0x36, 0xf3, 0x57, 0x04, 0xef, 0x1a, 0x52, 0x66, 0x96, 0xd6, 0x71, 0x27, 0x19, 0x86, 0x54, + 0x0d, 0xbc, 0x62, 0x48, 0x0a, 0x90, 0xaa, 0x41, 0xae, 0x00, 0x16, 0x9b, 0x63, 0x8c, 0xa6, 0x78, + 0xad, 0x90, 0x31, 0xb1, 0x5f, 0x16, 0x5f, 0xc9, 0x6b, 0x80, 0x7d, 0xb2, 0x99, 0xe7, 0x67, 0xbd, + 0x25, 0xde, 0x80, 0x97, 0xe9, 0x03, 0x9b, 0x6f, 0x60, 0xb2, 0xd4, 0x80, 0x8c, 0x5f, 0x4f, 0x7b, + 0xc3, 0x5a, 0x3e, 0x27, 0x0d, 0xe7, 0x04, 0x58, 0xe5, 0x4f, 0x8a, 0x01, 0xf8, 0x78, 0x16, 0x70, + 0x3c, 0xcc, 0x88, 0x0d, 0xa8, 0x78, 0x09, 0xe6, 0xb6, 0x1d, 0x9b, 0xbd, 0xc7, 0xb8, 0x4e, 0x39, + 0x50, 0x5a, 0x05, 0x05, 0xcf, 0xbf, 0x4a, 0xab, 0x78, 0x19, 0x40, 0x68, 0xd3, 0x40, 0xd9, 0x63, + 0x6d, 0xe8, 0x0f, 0x94, 0xbd, 0xe2, 0x75, 0x48, 0x6e, 0xb5, 0x0e, 0x77, 0x5b, 0x5d, 0x72, 0x15, + 0xa0, 0xdf, 0x1a, 0xbb, 0xcd, 0x0e, 0xee, 0xc4, 0x67, 0x9f, 0x7d, 0xf6, 0x99, 0x82, 0xc9, 0x74, + 0x86, 0xd6, 0xb2, 0x1d, 0x19, 0x03, 0x34, 0xfa, 0xed, 0x2d, 0x6b, 0x3c, 0x6e, 0x75, 0x2d, 0xb2, + 0x06, 0x49, 0xdb, 0x1a, 0xd3, 0xe8, 0xab, 0xe0, 0x5d, 0xd3, 0x25, 0x71, 0x1d, 0x02, 0xdc, 0xf2, + 0x36, 0x82, 0x4c, 0x0e, 0x26, 0x1a, 0xc4, 0xec, 0xc9, 0x00, 0x6f, 0xd4, 0x12, 0x26, 0x7d, 0x5c, + 0x7a, 0x1e, 0x92, 0x0c, 0x43, 0x08, 0xc4, 0xed, 0xd6, 0xc0, 0x2a, 0xb0, 0x9e, 0xf1, 0xb9, 0xf8, + 0x55, 0x05, 0x60, 0xdb, 0x7a, 0x7a, 0xa2, 0x5e, 0x03, 0x9c, 0xa4, 0xd7, 0x18, 0xeb, 0xf5, 0x15, + 0x59, 0xaf, 0x54, 0x6d, 0x1d, 0xc7, 0x69, 0x37, 0xd9, 0x46, 0xb3, 0xeb, 0xbf, 0x0c, 0xad, 0xc1, + 0x9d, 0x2b, 0x3e, 0x86, 0xdc, 0xa6, 0x6d, 0x5b, 0x23, 0x6f, 0x54, 0x04, 0xe2, 0x07, 0xce, 0xd8, + 0xe5, 0x37, 0x91, 0xf8, 0x4c, 0x0a, 0x10, 0x1f, 0x3a, 0x23, 0x97, 0xcd, 0xb4, 0x16, 0x37, 0x56, + 0x56, 0x56, 0x4c, 0xac, 0x21, 0xcf, 0x43, 0x66, 0xdf, 0xb1, 0x6d, 0x6b, 0x9f, 0x4e, 0x23, 0x86, + 0x47, 0xc7, 0xa0, 0xa2, 0xf8, 0xcb, 0x0a, 0xe4, 0x1a, 0xee, 0x41, 0x40, 0xae, 0x41, 0xec, 0x89, + 0x75, 0x84, 0xc3, 0x8b, 0x99, 0xf4, 0x91, 0xbe, 0x30, 0x5f, 0x69, 0xf5, 0x27, 0xec, 0x5e, 0x32, + 0x67, 0xb2, 0x02, 0x39, 0x07, 0xc9, 0xa7, 0x56, 0xaf, 0x7b, 0xe0, 0x22, 0xa7, 0x6a, 0xf2, 0x12, + 0x59, 0x86, 0x44, 0x8f, 0x0e, 0xb6, 0x10, 0xc7, 0x15, 0x2b, 0x88, 0x2b, 0x26, 0xce, 0xc2, 0x64, + 0xb0, 0x6b, 0xe9, 0x74, 0x5b, 0x7b, 0xef, 0xbd, 0xf7, 0xde, 0x53, 0x8b, 0x07, 0xb0, 0xe8, 0xbd, + 0xc4, 0xa1, 0xe9, 0x3e, 0x82, 0x42, 0xdf, 0x72, 0x9a, 0x9d, 0x9e, 0xdd, 0xea, 0xf7, 0x8f, 0x9a, + 0x4f, 0x1d, 0xbb, 0xd9, 0xb2, 0x9b, 0xce, 0x78, 0xbf, 0x35, 0xc2, 0x25, 0x90, 0x75, 0xb2, 0xd8, + 0xb7, 0x9c, 0x3a, 0x33, 0x7c, 0xc7, 0xb1, 0xef, 0xd8, 0x0d, 0x6a, 0x55, 0xfc, 0x34, 0x0e, 0x99, + 0xad, 0x23, 0x8f, 0x7f, 0x11, 0x12, 0xfb, 0xce, 0xc4, 0x66, 0xeb, 0x99, 0x30, 0x59, 0xc1, 0xdf, + 0x27, 0x55, 0xd8, 0xa7, 0x45, 0x48, 0xbc, 0x3b, 0x71, 0x5c, 0x0b, 0xa7, 0x9c, 0x31, 0x59, 0x81, + 0xae, 0xd8, 0xd0, 0x72, 0x0b, 0x71, 0xbc, 0xa6, 0xa0, 0x8f, 0xc1, 0x1a, 0x24, 0x4e, 0xb4, 0x06, + 0x64, 0x05, 0x92, 0x0e, 0xdd, 0x83, 0x71, 0x21, 0x89, 0xf7, 0xb0, 0x21, 0x03, 0x71, 0x77, 0x4c, + 0x8e, 0x23, 0x0f, 0x60, 0xe1, 0xa9, 0xd5, 0x1c, 0x4c, 0xc6, 0x6e, 0xb3, 0xeb, 0x34, 0xdb, 0x96, + 0x35, 0xb4, 0x46, 0x85, 0x39, 0xec, 0x2d, 0xe4, 0x21, 0x66, 0x2d, 0xa8, 0x39, 0xff, 0xd4, 0xda, + 0x9a, 0x8c, 0xdd, 0x0d, 0xe7, 0x3e, 0xda, 0x91, 0x35, 0xc8, 0x8c, 0x2c, 0xea, 0x17, 0xe8, 0x90, + 0x73, 0xd3, 0x23, 0x08, 0x19, 0xa7, 0x47, 0xd6, 0x10, 0x2b, 0xc8, 0x4d, 0x48, 0xef, 0xf5, 0x9e, + 0x58, 0xe3, 0x03, 0xab, 0x5d, 0x48, 0xe9, 0x4a, 0x69, 0xbe, 0x7c, 0x51, 0xb4, 0xf2, 0x17, 0x78, + 0xf9, 0x9e, 0xd3, 0x77, 0x46, 0xa6, 0x0f, 0x26, 0xaf, 0x42, 0x66, 0xec, 0x0c, 0x2c, 0xa6, 0xf6, + 0x34, 0x06, 0xdb, 0x2b, 0xb3, 0x2d, 0x77, 0x9c, 0x81, 0xe5, 0x79, 0x35, 0xcf, 0x82, 0x5c, 0x64, + 0xc3, 0xdd, 0xa3, 0x87, 0x89, 0x02, 0xe0, 0x85, 0x0f, 0x1d, 0x14, 0x1e, 0x2e, 0xc8, 0x12, 0x1d, + 0x54, 0xb7, 0x43, 0x73, 0xb6, 0x42, 0x16, 0xcf, 0xf2, 0x7e, 0x79, 0xe9, 0x25, 0xc8, 0xf8, 0x84, + 0x81, 0x3b, 0x64, 0x2e, 0x28, 0x83, 0x1e, 0x82, 0xb9, 0x43, 0xe6, 0x7f, 0xbe, 0x00, 0x09, 0x1c, + 0x38, 0x8d, 0x5c, 0xe6, 0x3a, 0x0d, 0x94, 0x19, 0x48, 0x6c, 0x98, 0xeb, 0xeb, 0xdb, 0x9a, 0x82, + 0x31, 0xf3, 0xe1, 0x5b, 0xeb, 0x9a, 0x2a, 0xe8, 0xf7, 0xb7, 0x55, 0x88, 0xad, 0x1f, 0xa2, 0x72, + 0xda, 0x2d, 0xb7, 0xe5, 0xbd, 0xe1, 0xf4, 0x99, 0xd4, 0x20, 0x33, 0x68, 0x79, 0x7d, 0xa9, 0xb8, + 0xc4, 0x21, 0x5f, 0xb2, 0x7e, 0xe8, 0x2e, 0x6f, 0xb5, 0x58, 0xcf, 0xeb, 0xb6, 0x3b, 0x3a, 0x32, + 0xd3, 0x03, 0x5e, 0x5c, 0x7a, 0x05, 0xe6, 0x42, 0x4d, 0xe2, 0x2b, 0x9a, 0x98, 0xf1, 0x8a, 0x26, + 0xf8, 0x2b, 0x5a, 0x53, 0x6f, 0x29, 0xe5, 0x1a, 0xc4, 0x07, 0xce, 0xc8, 0x22, 0xcf, 0xcd, 0x5c, + 0xe0, 0x42, 0x17, 0x25, 0x93, 0x8f, 0x0c, 0xc5, 0x44, 0x9b, 0xf2, 0x8b, 0x10, 0x77, 0xad, 0x43, + 0xf7, 0x59, 0xb6, 0x07, 0x6c, 0x7e, 0x14, 0x52, 0x7e, 0x19, 0x92, 0xf6, 0x64, 0xb0, 0x67, 0x8d, + 0x9e, 0x05, 0xee, 0xe1, 0xc0, 0x38, 0xa8, 0xf8, 0x36, 0x68, 0xf7, 0x9c, 0xc1, 0xb0, 0x6f, 0x1d, + 0xae, 0x1f, 0xba, 0x96, 0x3d, 0xee, 0x39, 0x36, 0x9d, 0x43, 0xa7, 0x37, 0x42, 0xb7, 0x86, 0x73, + 0xc0, 0x02, 0x75, 0x33, 0x63, 0x6b, 0xdf, 0xb1, 0xdb, 0x7c, 0x6a, 0xbc, 0x44, 0xd1, 0xee, 0x41, + 0x6f, 0x44, 0x3d, 0x1a, 0x0d, 0x3e, 0xac, 0x50, 0xdc, 0x80, 0x3c, 0x3f, 0x86, 0x8d, 0x79, 0xc7, + 0xc5, 0x6b, 0x90, 0xf3, 0xaa, 0xf0, 0x9f, 0x9f, 0x34, 0xc4, 0x1f, 0xaf, 0x9b, 0x0d, 0xed, 0x0c, + 0xdd, 0xd7, 0xc6, 0xf6, 0xba, 0xa6, 0xd0, 0x87, 0xdd, 0x77, 0x1a, 0xa1, 0xbd, 0x7c, 0x1e, 0x72, + 0xfe, 0xd8, 0x77, 0x2c, 0x17, 0x5b, 0x68, 0x94, 0x4a, 0xd5, 0xd4, 0xb4, 0x52, 0x4c, 0x41, 0x62, + 0x7d, 0x30, 0x74, 0x8f, 0x8a, 0xbf, 0x04, 0x59, 0x0e, 0x7a, 0xd8, 0x1b, 0xbb, 0xe4, 0x36, 0xa4, + 0x06, 0x7c, 0xbe, 0x0a, 0xe6, 0xa2, 0x61, 0x59, 0x07, 0x48, 0xef, 0xd9, 0xf4, 0xf0, 0x4b, 0x15, + 0x48, 0x09, 0xee, 0x9d, 0x7b, 0x1e, 0x55, 0xf4, 0x3c, 0xcc, 0x47, 0xc5, 0x04, 0x1f, 0x55, 0xdc, + 0x82, 0x14, 0x0b, 0xcc, 0x63, 0x4c, 0x37, 0xd8, 0xf9, 0x9d, 0x69, 0x8c, 0x89, 0x2f, 0xcb, 0xea, + 0x58, 0x0e, 0x75, 0x05, 0xb2, 0xf8, 0xce, 0xf8, 0x2a, 0xa4, 0xde, 0x1c, 0xb0, 0x8a, 0x29, 0xfe, + 0x8f, 0x12, 0x90, 0xf6, 0xd6, 0x8a, 0x5c, 0x84, 0x24, 0x3b, 0xc4, 0x22, 0x95, 0x77, 0xa9, 0x93, + 0xc0, 0x63, 0x2b, 0xb9, 0x08, 0x29, 0x7e, 0x50, 0xe5, 0x01, 0x47, 0xad, 0x94, 0xcd, 0x24, 0x3b, + 0x98, 0xfa, 0x8d, 0x55, 0x03, 0xfd, 0x24, 0xbb, 0xae, 0x49, 0xb2, 0xa3, 0x27, 0xd1, 0x21, 0xe3, + 0x1f, 0x36, 0x31, 0x44, 0xf0, 0xbb, 0x99, 0xb4, 0x77, 0xba, 0x14, 0x10, 0x55, 0x03, 0x1d, 0x28, + 0xbf, 0x88, 0x49, 0xd7, 0x83, 0xbc, 0x29, 0xed, 0x1d, 0x19, 0xf1, 0x9f, 0x27, 0xef, 0xd6, 0x25, + 0xc5, 0x0f, 0x89, 0x01, 0xa0, 0x6a, 0xa0, 0x67, 0xf2, 0xae, 0x58, 0x52, 0xfc, 0x20, 0x48, 0xae, + 0xd0, 0x21, 0xe2, 0xc1, 0x0e, 0xfd, 0x4f, 0x70, 0x9f, 0x92, 0x64, 0xc7, 0x3d, 0x72, 0x95, 0x32, + 0xb0, 0xd3, 0x1b, 0xba, 0x86, 0xe0, 0xf2, 0x24, 0xc5, 0x0f, 0x75, 0xe4, 0x3a, 0x85, 0xb0, 0xe5, + 0x2f, 0xc0, 0x33, 0x6e, 0x4a, 0x52, 0xfc, 0xa6, 0x84, 0xe8, 0xb4, 0x43, 0xf4, 0x50, 0xe8, 0x95, + 0x84, 0x5b, 0x91, 0x24, 0xbb, 0x15, 0x21, 0x97, 0x91, 0x8e, 0x4d, 0x2a, 0x17, 0xdc, 0x80, 0xa4, + 0xf8, 0x29, 0x30, 0x68, 0xc7, 0x5c, 0xd2, 0xbf, 0xed, 0x48, 0xf1, 0x73, 0x1e, 0xb9, 0x45, 0xf7, + 0x8b, 0x2a, 0xbc, 0x30, 0x8f, 0xbe, 0x78, 0x49, 0x94, 0x9e, 0xb7, 0xab, 0xcc, 0x15, 0xd7, 0x98, + 0x1b, 0x33, 0x13, 0x75, 0x7c, 0x23, 0x96, 0xa8, 0xe5, 0xa3, 0x9e, 0xdd, 0x29, 0xe4, 0x71, 0x2d, + 0x62, 0x3d, 0xbb, 0x63, 0x26, 0xea, 0xb4, 0x86, 0xa9, 0x60, 0x9b, 0xb6, 0x69, 0xd8, 0x16, 0x7f, + 0x99, 0x35, 0xd2, 0x2a, 0x52, 0x80, 0x44, 0xbd, 0xb9, 0xdd, 0xb2, 0x0b, 0x0b, 0xcc, 0xce, 0x6e, + 0xd9, 0x66, 0xbc, 0xbe, 0xdd, 0xb2, 0xc9, 0x8b, 0x10, 0x1b, 0x4f, 0xf6, 0x0a, 0x64, 0xfa, 0x6f, + 0xc1, 0x9d, 0xc9, 0x9e, 0x37, 0x18, 0x93, 0x62, 0xc8, 0x45, 0x48, 0x8f, 0xdd, 0x51, 0xf3, 0x17, + 0xac, 0x91, 0x53, 0x38, 0x8b, 0xcb, 0x78, 0xc6, 0x4c, 0x8d, 0xdd, 0xd1, 0x63, 0x6b, 0xe4, 0x9c, + 0xd0, 0x07, 0x17, 0x2f, 0x43, 0x56, 0xe0, 0x25, 0x79, 0x50, 0x6c, 0x96, 0xc0, 0xd4, 0x94, 0x9b, + 0xa6, 0x62, 0x17, 0xdf, 0x86, 0x9c, 0x77, 0xc4, 0xc2, 0x19, 0x1b, 0xf4, 0x6d, 0xea, 0x3b, 0x23, + 0x7c, 0x4b, 0xe7, 0xcb, 0x97, 0xc3, 0x11, 0x33, 0x00, 0xf2, 0xc8, 0xc5, 0xc0, 0x45, 0x2d, 0x32, + 0x18, 0xa5, 0xf8, 0x03, 0x05, 0x72, 0x5b, 0xce, 0x28, 0xf8, 0xff, 0x62, 0x11, 0x12, 0x7b, 0x8e, + 0xd3, 0x1f, 0x23, 0x71, 0xda, 0x64, 0x05, 0xf2, 0x05, 0xc8, 0xe1, 0x83, 0x77, 0x48, 0x56, 0xfd, + 0x5b, 0xa0, 0x2c, 0xd6, 0xf3, 0x73, 0x31, 0x81, 0x78, 0xcf, 0x76, 0xc7, 0xdc, 0xa3, 0xe1, 0x33, + 0xf9, 0x1c, 0x64, 0xe9, 0xaf, 0x67, 0x19, 0xf7, 0xb3, 0x69, 0xa0, 0xd5, 0xdc, 0xf0, 0x05, 0x98, + 0x43, 0x0d, 0xf8, 0xb0, 0x94, 0x7f, 0xe3, 0x93, 0x63, 0x0d, 0x1c, 0x58, 0x80, 0x14, 0x73, 0x08, + 0x63, 0xfc, 0xc3, 0x37, 0x63, 0x7a, 0x45, 0xea, 0x66, 0xf1, 0xa0, 0xc2, 0x32, 0x90, 0x94, 0xc9, + 0x4b, 0xc5, 0x7b, 0x90, 0xc6, 0x70, 0xd9, 0xe8, 0xb7, 0xc9, 0xe7, 0x41, 0xe9, 0x16, 0x2c, 0x0c, + 0xd7, 0xe7, 0x42, 0xa7, 0x10, 0x0e, 0x58, 0xde, 0x30, 0x95, 0xee, 0xd2, 0x02, 0x28, 0x1b, 0xf4, + 0x58, 0x70, 0xc8, 0x1d, 0xb6, 0x72, 0x58, 0x7c, 0x93, 0x93, 0x6c, 0x5b, 0x4f, 0xe5, 0x24, 0xdb, + 0xd6, 0x53, 0x46, 0x72, 0x65, 0x8a, 0x84, 0x96, 0x8e, 0xf8, 0x7f, 0xe0, 0xca, 0x51, 0xb1, 0x02, + 0x73, 0xf8, 0xa2, 0xf6, 0xec, 0xee, 0x23, 0xa7, 0x67, 0xe3, 0x41, 0xa4, 0x83, 0x09, 0x9c, 0x62, + 0x2a, 0x1d, 0xba, 0x0f, 0xd6, 0x61, 0x6b, 0x9f, 0xa5, 0xc3, 0x69, 0x93, 0x15, 0x8a, 0xdf, 0x8f, + 0xc3, 0x3c, 0x77, 0xb2, 0xef, 0xf4, 0xdc, 0x83, 0xad, 0xd6, 0x90, 0x6c, 0x43, 0x8e, 0xfa, 0xd7, + 0xe6, 0xa0, 0x35, 0x1c, 0xd2, 0x17, 0x59, 0xc1, 0xd0, 0x7c, 0x7d, 0x86, 0xdb, 0xe6, 0x16, 0xcb, + 0xdb, 0xad, 0x81, 0xb5, 0xc5, 0xd0, 0x2c, 0x50, 0x67, 0xed, 0xa0, 0x86, 0x3c, 0x80, 0xec, 0x60, + 0xdc, 0xf5, 0xe9, 0x58, 0xa4, 0xbf, 0x26, 0xa1, 0xdb, 0x1a, 0x77, 0x43, 0x6c, 0x30, 0xf0, 0x2b, + 0xe8, 0xe0, 0xa8, 0x77, 0xf6, 0xd9, 0x62, 0xc7, 0x0e, 0x8e, 0xba, 0x92, 0xf0, 0xe0, 0xf6, 0x82, + 0x1a, 0x52, 0x07, 0xa0, 0xaf, 0x9a, 0xeb, 0xd0, 0x13, 0x1e, 0x6a, 0x29, 0x5b, 0x2e, 0x49, 0xd8, + 0x76, 0xdc, 0xd1, 0xae, 0xb3, 0xe3, 0x8e, 0x78, 0x42, 0x32, 0xe6, 0xc5, 0xa5, 0xd7, 0x40, 0x8b, + 0xae, 0xc2, 0x71, 0x39, 0x49, 0x46, 0xc8, 0x49, 0x96, 0x7e, 0x0e, 0xf2, 0x91, 0x69, 0x8b, 0xe6, + 0x84, 0x99, 0xdf, 0x10, 0xcd, 0xb3, 0xe5, 0x0b, 0xa1, 0x6f, 0x34, 0xc4, 0xad, 0x17, 0x99, 0x5f, + 0x03, 0x2d, 0xba, 0x04, 0x22, 0x75, 0x5a, 0x72, 0xa0, 0x41, 0xfb, 0x57, 0x60, 0x2e, 0x34, 0x69, + 0xd1, 0x38, 0x73, 0xcc, 0xb4, 0x8a, 0xbf, 0x92, 0x80, 0x44, 0xc3, 0xb6, 0x9c, 0x0e, 0x39, 0x1f, + 0x8e, 0x9d, 0x6f, 0x9c, 0xf1, 0xe2, 0xe6, 0x85, 0x48, 0xdc, 0x7c, 0xe3, 0x8c, 0x1f, 0x35, 0x2f, + 0x44, 0xa2, 0xa6, 0xd7, 0x54, 0x35, 0xc8, 0xa5, 0xa9, 0x98, 0xf9, 0xc6, 0x19, 0x21, 0x60, 0x5e, + 0x9a, 0x0a, 0x98, 0x41, 0x73, 0xd5, 0xa0, 0x0e, 0x36, 0x1c, 0x2d, 0xdf, 0x38, 0x13, 0x44, 0xca, + 0x8b, 0xd1, 0x48, 0xe9, 0x37, 0x56, 0x0d, 0x36, 0x24, 0x21, 0x4a, 0xe2, 0x90, 0x58, 0x7c, 0xbc, + 0x18, 0x8d, 0x8f, 0x68, 0xc7, 0x23, 0xe3, 0xc5, 0x68, 0x64, 0xc4, 0x46, 0x1e, 0x09, 0x2f, 0x44, + 0x22, 0x21, 0x92, 0xb2, 0x10, 0x78, 0x31, 0x1a, 0x02, 0x99, 0x9d, 0x30, 0x52, 0x31, 0xfe, 0xf9, + 0x8d, 0x55, 0x83, 0x18, 0x91, 0xe0, 0x27, 0x3b, 0x88, 0xe0, 0x6e, 0x60, 0x18, 0xa8, 0xd2, 0x85, + 0xf3, 0x12, 0xd4, 0xbc, 0xf4, 0x13, 0x16, 0x5c, 0x51, 0x2f, 0x41, 0x33, 0x20, 0xd5, 0xe1, 0x67, + 0x75, 0x0d, 0x3d, 0x59, 0x48, 0x9c, 0x28, 0x81, 0xe5, 0x7a, 0x13, 0x3d, 0x1a, 0x9d, 0x5d, 0x87, + 0x1d, 0x38, 0x4a, 0x30, 0x57, 0x6f, 0x3e, 0x6c, 0x8d, 0xba, 0x14, 0xba, 0xdb, 0xea, 0xfa, 0xb7, + 0x1e, 0x54, 0x05, 0xd9, 0x3a, 0x6f, 0xd9, 0x6d, 0x75, 0xc9, 0x39, 0x4f, 0x62, 0x6d, 0x6c, 0x55, + 0xb8, 0xc8, 0x96, 0xce, 0xd3, 0xa5, 0x63, 0x64, 0xe8, 0x1b, 0x17, 0xb8, 0x6f, 0xbc, 0x9b, 0x82, + 0xc4, 0xc4, 0xee, 0x39, 0xf6, 0xdd, 0x0c, 0xa4, 0x5c, 0x67, 0x34, 0x68, 0xb9, 0x4e, 0xf1, 0x87, + 0x0a, 0xc0, 0x3d, 0x67, 0x30, 0x98, 0xd8, 0xbd, 0x77, 0x27, 0x16, 0xb9, 0x0c, 0xd9, 0x41, 0xeb, + 0x89, 0xd5, 0x1c, 0x58, 0xcd, 0xfd, 0x91, 0xf7, 0x36, 0x64, 0x68, 0xd5, 0x96, 0x75, 0x6f, 0x74, + 0x44, 0x0a, 0x5e, 0x02, 0x8f, 0x0a, 0x42, 0x61, 0xf2, 0x84, 0x7e, 0x91, 0xa7, 0xa3, 0x49, 0xbe, + 0x93, 0x5e, 0x42, 0xca, 0x0e, 0x39, 0x29, 0xbe, 0x87, 0xec, 0x98, 0x73, 0x1e, 0x92, 0xae, 0x35, + 0x18, 0x36, 0xf7, 0x51, 0x30, 0x54, 0x14, 0x09, 0x5a, 0xbe, 0x47, 0x6e, 0x40, 0x6c, 0xdf, 0xe9, + 0xa3, 0x54, 0x8e, 0xdd, 0x1d, 0x8a, 0x24, 0x2f, 0x40, 0x6c, 0x30, 0x66, 0xf2, 0xc9, 0x96, 0xcf, + 0x86, 0x32, 0x08, 0x16, 0xb2, 0x28, 0x70, 0x30, 0xee, 0xfa, 0x73, 0x2f, 0x7e, 0xa2, 0x42, 0x9a, + 0xee, 0xd7, 0x5b, 0xbb, 0xf5, 0x5b, 0x78, 0x6c, 0xd8, 0x6f, 0xf5, 0xf1, 0x86, 0x80, 0xbe, 0xa6, + 0xbc, 0x44, 0xeb, 0xbf, 0x62, 0xed, 0xbb, 0xce, 0x08, 0x5d, 0x73, 0xc6, 0xe4, 0x25, 0xba, 0xe4, + 0x2c, 0x2b, 0x8e, 0xf1, 0x59, 0xb2, 0x22, 0x66, 0xf4, 0xad, 0x61, 0x93, 0xfa, 0x00, 0xe6, 0x2f, + 0x43, 0xa7, 0x6b, 0xaf, 0x3b, 0x7a, 0x74, 0x7b, 0x60, 0x1d, 0x31, 0x3f, 0x99, 0x1c, 0x60, 0x81, + 0xfc, 0x2c, 0x3b, 0xf2, 0xb1, 0x9d, 0x64, 0xdf, 0x57, 0x15, 0x9f, 0x65, 0xfc, 0x36, 0x05, 0x05, + 0xe7, 0x3e, 0x2c, 0x2e, 0xdd, 0x86, 0xac, 0xc0, 0x7b, 0x9c, 0x2b, 0x8a, 0x45, 0xfc, 0x58, 0x88, + 0xf5, 0xb8, 0x5b, 0x1d, 0xd1, 0x8f, 0xd1, 0x15, 0x75, 0xa8, 0x86, 0xaf, 0xe5, 0x21, 0x56, 0x6f, + 0x34, 0x68, 0x9e, 0x55, 0x6f, 0x34, 0x56, 0x35, 0xa5, 0xb6, 0x0a, 0xe9, 0xee, 0xc8, 0xb2, 0xa8, + 0xeb, 0x7d, 0xd6, 0x39, 0xef, 0xcb, 0xb8, 0xac, 0x3e, 0xac, 0xf6, 0x26, 0xa4, 0xf6, 0xd9, 0x49, + 0x8f, 0x3c, 0xf3, 0x56, 0xa3, 0xf0, 0xc7, 0xec, 0x76, 0xed, 0x79, 0x11, 0x10, 0x3d, 0x1f, 0x9a, + 0x1e, 0x4f, 0x6d, 0x17, 0x32, 0xa3, 0xe6, 0xf1, 0xa4, 0xef, 0xb3, 0x58, 0x2e, 0x27, 0x4d, 0x8f, + 0x78, 0x55, 0x6d, 0x03, 0x16, 0x6c, 0xc7, 0xfb, 0x93, 0xaf, 0xd9, 0xe6, 0x9e, 0x6c, 0x56, 0x12, + 0xed, 0x75, 0x60, 0xb1, 0x4f, 0x05, 0x6c, 0x87, 0x37, 0x30, 0xef, 0x57, 0x5b, 0x07, 0x4d, 0x20, + 0xea, 0x30, 0x77, 0x29, 0xe3, 0xe9, 0xb0, 0xaf, 0x13, 0x7c, 0x1e, 0xf4, 0xb0, 0x11, 0x1a, 0xee, + 0x03, 0x65, 0x34, 0x5d, 0xf6, 0xb1, 0x87, 0x4f, 0x83, 0x61, 0x65, 0x9a, 0x86, 0x46, 0x04, 0x19, + 0xcd, 0x01, 0xfb, 0x12, 0x44, 0xa4, 0xa9, 0x1a, 0x91, 0xd5, 0x99, 0x9c, 0x60, 0x38, 0x3d, 0xf6, + 0x29, 0x87, 0xcf, 0xc3, 0x02, 0xce, 0x0c, 0xa2, 0xe3, 0x06, 0xf4, 0x65, 0xf6, 0x9d, 0x47, 0x88, + 0x68, 0x6a, 0x44, 0xe3, 0x13, 0x8c, 0xe8, 0x09, 0xfb, 0xac, 0xc2, 0x27, 0xda, 0x99, 0x35, 0xa2, + 0xf1, 0x09, 0x46, 0xd4, 0x67, 0x9f, 0x5c, 0x84, 0x88, 0xaa, 0x46, 0x6d, 0x13, 0x88, 0xb8, 0xf1, + 0x3c, 0x3a, 0x4b, 0x99, 0x06, 0xec, 0x53, 0x9a, 0x60, 0xeb, 0x99, 0xd1, 0x2c, 0xaa, 0xe3, 0x06, + 0x65, 0xb3, 0xef, 0x6c, 0xc2, 0x54, 0x55, 0xa3, 0xf6, 0x00, 0xce, 0x8a, 0xd3, 0x3b, 0xd1, 0xb0, + 0x1c, 0xf6, 0x91, 0x48, 0x30, 0x41, 0x6e, 0x35, 0x93, 0xec, 0xb8, 0x81, 0x0d, 0xd9, 0x07, 0x24, + 0x11, 0xb2, 0xaa, 0x51, 0xbb, 0x07, 0x79, 0x81, 0x6c, 0x0f, 0xef, 0x15, 0x64, 0x44, 0xef, 0xb2, + 0xcf, 0x9e, 0x7c, 0x22, 0x9a, 0x51, 0x45, 0x77, 0x8f, 0xe5, 0x18, 0x52, 0x9a, 0x11, 0xfb, 0x6a, + 0x27, 0x18, 0x0f, 0xda, 0x44, 0x5e, 0x94, 0x3d, 0x96, 0x90, 0xc8, 0x78, 0xc6, 0xec, 0x8b, 0x9e, + 0x60, 0x38, 0xd4, 0xa4, 0x36, 0x08, 0x4d, 0xca, 0xa2, 0x69, 0x86, 0x94, 0xc5, 0xc5, 0x88, 0x58, + 0x92, 0x40, 0x96, 0xc5, 0xeb, 0x2b, 0x61, 0xfa, 0xb4, 0x58, 0x7b, 0x00, 0xf3, 0xa7, 0x71, 0x59, + 0xef, 0x2b, 0xec, 0x2e, 0xa3, 0xb2, 0xbc, 0x6a, 0xac, 0xae, 0x99, 0x73, 0xed, 0x90, 0xe7, 0xda, + 0x80, 0xb9, 0x53, 0xb8, 0xad, 0x0f, 0x14, 0x76, 0x23, 0x40, 0xb9, 0xcc, 0x5c, 0x3b, 0xec, 0xbb, + 0xe6, 0x4e, 0xe1, 0xb8, 0x3e, 0x54, 0xd8, 0x15, 0x92, 0x51, 0xf6, 0x69, 0x3c, 0xdf, 0x35, 0x77, + 0x0a, 0xc7, 0xf5, 0x11, 0x3b, 0xf1, 0xab, 0x46, 0x45, 0xa4, 0x41, 0x4f, 0x31, 0x7f, 0x1a, 0xc7, + 0xf5, 0xb1, 0x82, 0x57, 0x4a, 0xaa, 0x61, 0xf8, 0xeb, 0xe3, 0xfb, 0xae, 0xf9, 0xd3, 0x38, 0xae, + 0xaf, 0x29, 0x78, 0xf5, 0xa4, 0x1a, 0x6b, 0x21, 0xa2, 0xf0, 0x88, 0x4e, 0xe2, 0xb8, 0x3e, 0x51, + 0xf0, 0x3e, 0x48, 0x35, 0xaa, 0x3e, 0xd1, 0xce, 0xd4, 0x88, 0x4e, 0xe2, 0xb8, 0xbe, 0x8e, 0xe7, + 0xab, 0x9a, 0x6a, 0xdc, 0x0c, 0x11, 0xa1, 0xef, 0xca, 0x9f, 0xca, 0x71, 0x7d, 0x43, 0xc1, 0xab, + 0x3b, 0xd5, 0xb8, 0x65, 0x7a, 0x23, 0x08, 0x7c, 0x57, 0xfe, 0x54, 0x8e, 0xeb, 0x9b, 0x0a, 0xde, + 0xf1, 0xa9, 0xc6, 0xed, 0x30, 0x15, 0xfa, 0x2e, 0xed, 0x74, 0x8e, 0xeb, 0x53, 0x05, 0xbf, 0xe8, + 0x51, 0xd7, 0x56, 0x4c, 0x6f, 0x10, 0x82, 0xef, 0xd2, 0x4e, 0xe7, 0xb8, 0xbe, 0xa5, 0xe0, 0x67, + 0x3e, 0xea, 0xda, 0x6a, 0x84, 0xac, 0x6a, 0xd4, 0xd6, 0x21, 0x77, 0x72, 0xc7, 0xf5, 0x6d, 0xf1, + 0x06, 0x35, 0xdb, 0x16, 0xbc, 0xd7, 0x63, 0x61, 0xff, 0x4e, 0xe0, 0xba, 0xbe, 0x83, 0xc9, 0x5f, + 0xed, 0xb9, 0x37, 0xd8, 0x3d, 0x23, 0x33, 0x79, 0xa9, 0x6d, 0x75, 0x5e, 0xed, 0x38, 0x4e, 0xb0, + 0xa5, 0xcc, 0xa1, 0x35, 0x82, 0xb7, 0xe7, 0x04, 0xde, 0xec, 0xbb, 0x0a, 0x5e, 0x4b, 0xe6, 0x38, + 0x35, 0x5a, 0xf8, 0xef, 0x11, 0x73, 0x6d, 0x76, 0x30, 0xe7, 0xe3, 0xfd, 0xda, 0xf7, 0x94, 0xd3, + 0x39, 0xb6, 0x5a, 0xac, 0xb1, 0xbd, 0xee, 0x2f, 0x0e, 0xd6, 0xbc, 0x0e, 0xf1, 0xc3, 0xf2, 0xca, + 0x6a, 0x38, 0xc5, 0x13, 0x6f, 0xe5, 0x99, 0x3b, 0xcb, 0x96, 0x17, 0x42, 0x7f, 0x5f, 0x0c, 0x86, + 0xee, 0x91, 0x89, 0x96, 0x9c, 0xa1, 0x2c, 0x61, 0xf8, 0x40, 0xca, 0x50, 0xe6, 0x0c, 0x15, 0x09, + 0xc3, 0x87, 0x52, 0x86, 0x0a, 0x67, 0x30, 0x24, 0x0c, 0x1f, 0x49, 0x19, 0x0c, 0xce, 0xb0, 0x26, + 0x61, 0xf8, 0x58, 0xca, 0xb0, 0xc6, 0x19, 0xaa, 0x12, 0x86, 0xaf, 0x49, 0x19, 0xaa, 0x9c, 0xe1, + 0xa6, 0x84, 0xe1, 0x13, 0x29, 0xc3, 0x4d, 0xce, 0x70, 0x4b, 0xc2, 0xf0, 0x75, 0x29, 0xc3, 0x2d, + 0xce, 0x70, 0x5b, 0xc2, 0xf0, 0x0d, 0x29, 0xc3, 0x6d, 0xc6, 0xb0, 0xba, 0x22, 0x61, 0xf8, 0xa6, + 0x8c, 0x61, 0x75, 0x85, 0x33, 0xc8, 0x34, 0xf9, 0xa9, 0x94, 0x81, 0x6b, 0x72, 0x55, 0xa6, 0xc9, + 0x6f, 0x49, 0x19, 0xb8, 0x26, 0x57, 0x65, 0x9a, 0xfc, 0xb6, 0x94, 0x81, 0x6b, 0x72, 0x55, 0xa6, + 0xc9, 0xef, 0x48, 0x19, 0xb8, 0x26, 0x57, 0x65, 0x9a, 0xfc, 0xae, 0x94, 0x81, 0x6b, 0x72, 0x55, + 0xa6, 0xc9, 0xef, 0x49, 0x19, 0xb8, 0x26, 0x57, 0x65, 0x9a, 0xfc, 0x13, 0x29, 0x03, 0xd7, 0xe4, + 0xaa, 0x4c, 0x93, 0x7f, 0x2a, 0x65, 0xe0, 0x9a, 0x5c, 0x95, 0x69, 0xf2, 0xcf, 0xa4, 0x0c, 0x5c, + 0x93, 0x65, 0x99, 0x26, 0xbf, 0x2f, 0x63, 0x28, 0x73, 0x4d, 0x96, 0x65, 0x9a, 0xfc, 0x73, 0x29, + 0x03, 0xd7, 0x64, 0x59, 0xa6, 0xc9, 0xbf, 0x90, 0x32, 0x70, 0x4d, 0x96, 0x65, 0x9a, 0xfc, 0x81, + 0x94, 0x81, 0x6b, 0xb2, 0x2c, 0xd3, 0xe4, 0x5f, 0x4a, 0x19, 0xb8, 0x26, 0xcb, 0x32, 0x4d, 0xfe, + 0x95, 0x94, 0x81, 0x6b, 0xb2, 0x2c, 0xd3, 0xe4, 0x5f, 0x4b, 0x19, 0xb8, 0x26, 0xcb, 0x32, 0x4d, + 0xfe, 0x8d, 0x94, 0x81, 0x6b, 0xb2, 0x2c, 0xd3, 0xe4, 0xdf, 0x4a, 0x19, 0xb8, 0x26, 0xcb, 0x32, + 0x4d, 0xfe, 0x9d, 0x94, 0x81, 0x6b, 0xb2, 0x22, 0xd3, 0xe4, 0xdf, 0xcb, 0x18, 0x2a, 0x5c, 0x93, + 0x15, 0x99, 0x26, 0xff, 0x41, 0xca, 0xc0, 0x35, 0x59, 0x91, 0x69, 0xf2, 0x1f, 0xa5, 0x0c, 0x5c, + 0x93, 0x15, 0x99, 0x26, 0xff, 0x49, 0xca, 0xc0, 0x35, 0x59, 0x91, 0x69, 0xf2, 0x9f, 0xa5, 0x0c, + 0x5c, 0x93, 0x15, 0x99, 0x26, 0xff, 0x45, 0xca, 0xc0, 0x35, 0x59, 0x91, 0x69, 0xf2, 0x5f, 0xa5, + 0x0c, 0x5c, 0x93, 0x15, 0x99, 0x26, 0xff, 0x4d, 0xca, 0xc0, 0x35, 0x59, 0x91, 0x69, 0xf2, 0x87, + 0x52, 0x06, 0xae, 0xc9, 0x8a, 0x4c, 0x93, 0xff, 0x2e, 0x65, 0xe0, 0x9a, 0x34, 0x64, 0x9a, 0xfc, + 0x0f, 0x19, 0x83, 0xc1, 0x35, 0x69, 0xc8, 0x34, 0xf9, 0x9f, 0x52, 0x06, 0xae, 0x49, 0x43, 0xa6, + 0xc9, 0xff, 0x92, 0x32, 0x70, 0x4d, 0x1a, 0x32, 0x4d, 0xfe, 0xb7, 0x94, 0x81, 0x6b, 0xd2, 0x90, + 0x69, 0xf2, 0x7f, 0xa4, 0x0c, 0x5c, 0x93, 0x86, 0x4c, 0x93, 0xff, 0x2b, 0x65, 0xe0, 0x9a, 0x34, + 0x64, 0x9a, 0xfc, 0x91, 0x94, 0x81, 0x6b, 0xd2, 0x90, 0x69, 0xf2, 0xc7, 0x52, 0x06, 0xae, 0x49, + 0x43, 0xa6, 0xc9, 0x9f, 0x48, 0x19, 0xb8, 0x26, 0x0d, 0x99, 0x26, 0x7f, 0x2a, 0x65, 0xe0, 0x9a, + 0x5c, 0x93, 0x69, 0xf2, 0xff, 0x64, 0x0c, 0x6b, 0x2b, 0x77, 0xaf, 0x3f, 0x7e, 0xb1, 0xdb, 0x73, + 0x0f, 0x26, 0x7b, 0xcb, 0xfb, 0xce, 0xe0, 0x46, 0xd7, 0xe9, 0x3a, 0x37, 0x10, 0xb4, 0x37, 0xe9, + 0xb0, 0x87, 0x1b, 0x81, 0xe1, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xe0, 0xd1, 0x6e, 0x72, 0xd7, + 0x3e, 0x00, 0x00, +} diff --git a/vendor/github.com/gogo/protobuf/proto/testdata/test.proto b/vendor/github.com/gogo/protobuf/proto/test_proto/test.proto similarity index 94% rename from vendor/github.com/gogo/protobuf/proto/testdata/test.proto rename to vendor/github.com/gogo/protobuf/proto/test_proto/test.proto index 70e3cfcda..e8548c9a4 100644 --- a/vendor/github.com/gogo/protobuf/proto/testdata/test.proto +++ b/vendor/github.com/gogo/protobuf/proto/test_proto/test.proto @@ -33,7 +33,9 @@ syntax = "proto2"; -package testdata; +package test_proto; + +option go_package = "github.com/gogo/protobuf/proto/test_proto"; enum FOO { FOO1 = 1; }; @@ -96,6 +98,8 @@ message GoTest { required bytes F_Bytes_required = 101; required sint32 F_Sint32_required = 102; required sint64 F_Sint64_required = 103; + required sfixed32 F_Sfixed32_required = 104; + required sfixed64 F_Sfixed64_required = 105; // Repeated fields of all basic types repeated bool F_Bool_repeated = 20; @@ -111,6 +115,8 @@ message GoTest { repeated bytes F_Bytes_repeated = 201; repeated sint32 F_Sint32_repeated = 202; repeated sint64 F_Sint64_repeated = 203; + repeated sfixed32 F_Sfixed32_repeated = 204; + repeated sfixed64 F_Sfixed64_repeated = 205; // Optional fields of all basic types optional bool F_Bool_optional = 30; @@ -126,6 +132,8 @@ message GoTest { optional bytes F_Bytes_optional = 301; optional sint32 F_Sint32_optional = 302; optional sint64 F_Sint64_optional = 303; + optional sfixed32 F_Sfixed32_optional = 304; + optional sfixed64 F_Sfixed64_optional = 305; // Default-valued fields of all basic types optional bool F_Bool_defaulted = 40 [default=true]; @@ -141,6 +149,8 @@ message GoTest { optional bytes F_Bytes_defaulted = 401 [default="Bignose"]; optional sint32 F_Sint32_defaulted = 402 [default = -32]; optional sint64 F_Sint64_defaulted = 403 [default = -64]; + optional sfixed32 F_Sfixed32_defaulted = 404 [default = -32]; + optional sfixed64 F_Sfixed64_defaulted = 405 [default = -64]; // Packed repeated fields (no string or bytes). repeated bool F_Bool_repeated_packed = 50 [packed=true]; @@ -154,6 +164,8 @@ message GoTest { repeated double F_Double_repeated_packed = 58 [packed=true]; repeated sint32 F_Sint32_repeated_packed = 502 [packed=true]; repeated sint64 F_Sint64_repeated_packed = 503 [packed=true]; + repeated sfixed32 F_Sfixed32_repeated_packed = 504 [packed=true]; + repeated sfixed64 F_Sfixed64_repeated_packed = 505 [packed=true]; // Required, repeated, and optional groups. required group RequiredGroup = 70 { @@ -285,10 +297,12 @@ message Ext { } optional string data = 1; + map map_field = 2; } extend MyMessage { repeated string greeting = 106; + // leave field 200 unregistered for testing } message ComplexExtension { @@ -342,7 +356,7 @@ extend DefaultsMessage { optional sfixed32 default_sfixed32 = 211 [default = 50]; optional sfixed64 default_sfixed64 = 212 [default = 51]; optional bool default_bool = 213 [default = true]; - optional string default_string = 214 [default = "Hello, string"]; + optional string default_string = 214 [default = "Hello, string,def=foo"]; optional bytes default_bytes = 215 [default = "Hello, bytes"]; optional DefaultsMessage.DefaultsEnum default_enum = 216 [default = ONE]; } @@ -546,3 +560,11 @@ message Communique { Strings msg = 10; } } + +message TestUTF8 { + optional string scalar = 1; + repeated string vector = 2; + oneof oneof { string field = 3; } + map map_key = 4; + map map_value = 5; +} diff --git a/vendor/github.com/gogo/protobuf/proto/testdata/test.pb.go b/vendor/github.com/gogo/protobuf/proto/testdata/test.pb.go deleted file mode 100644 index 1a9a99376..000000000 --- a/vendor/github.com/gogo/protobuf/proto/testdata/test.pb.go +++ /dev/null @@ -1,4147 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: test.proto - -/* -Package testdata is a generated protocol buffer package. - -It is generated from these files: - test.proto - -It has these top-level messages: - GoEnum - GoTestField - GoTest - GoTestRequiredGroupField - GoSkipTest - NonPackedTest - PackedTest - MaxTag - OldMessage - NewMessage - InnerMessage - OtherMessage - RequiredInnerMessage - MyMessage - Ext - ComplexExtension - DefaultsMessage - MyMessageSet - Empty - MessageList - Strings - Defaults - SubDefaults - RepeatedEnum - MoreRepeated - GroupOld - GroupNew - FloatingPoint - MessageWithMap - Oneof - Communique -*/ -package testdata - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -// 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 FOO int32 - -const ( - FOO_FOO1 FOO = 1 -) - -var FOO_name = map[int32]string{ - 1: "FOO1", -} -var FOO_value = map[string]int32{ - "FOO1": 1, -} - -func (x FOO) Enum() *FOO { - p := new(FOO) - *p = x - return p -} -func (x FOO) String() string { - return proto.EnumName(FOO_name, int32(x)) -} -func (x *FOO) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(FOO_value, data, "FOO") - if err != nil { - return err - } - *x = FOO(value) - return nil -} -func (FOO) EnumDescriptor() ([]byte, []int) { return fileDescriptorTest, []int{0} } - -// An enum, for completeness. -type GoTest_KIND int32 - -const ( - GoTest_VOID GoTest_KIND = 0 - // Basic types - GoTest_BOOL GoTest_KIND = 1 - GoTest_BYTES GoTest_KIND = 2 - GoTest_FINGERPRINT GoTest_KIND = 3 - GoTest_FLOAT GoTest_KIND = 4 - GoTest_INT GoTest_KIND = 5 - GoTest_STRING GoTest_KIND = 6 - GoTest_TIME GoTest_KIND = 7 - // Groupings - GoTest_TUPLE GoTest_KIND = 8 - GoTest_ARRAY GoTest_KIND = 9 - GoTest_MAP GoTest_KIND = 10 - // Table types - GoTest_TABLE GoTest_KIND = 11 - // Functions - GoTest_FUNCTION GoTest_KIND = 12 -) - -var GoTest_KIND_name = map[int32]string{ - 0: "VOID", - 1: "BOOL", - 2: "BYTES", - 3: "FINGERPRINT", - 4: "FLOAT", - 5: "INT", - 6: "STRING", - 7: "TIME", - 8: "TUPLE", - 9: "ARRAY", - 10: "MAP", - 11: "TABLE", - 12: "FUNCTION", -} -var GoTest_KIND_value = map[string]int32{ - "VOID": 0, - "BOOL": 1, - "BYTES": 2, - "FINGERPRINT": 3, - "FLOAT": 4, - "INT": 5, - "STRING": 6, - "TIME": 7, - "TUPLE": 8, - "ARRAY": 9, - "MAP": 10, - "TABLE": 11, - "FUNCTION": 12, -} - -func (x GoTest_KIND) Enum() *GoTest_KIND { - p := new(GoTest_KIND) - *p = x - return p -} -func (x GoTest_KIND) String() string { - return proto.EnumName(GoTest_KIND_name, int32(x)) -} -func (x *GoTest_KIND) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(GoTest_KIND_value, data, "GoTest_KIND") - if err != nil { - return err - } - *x = GoTest_KIND(value) - return nil -} -func (GoTest_KIND) EnumDescriptor() ([]byte, []int) { return fileDescriptorTest, []int{2, 0} } - -type MyMessage_Color int32 - -const ( - MyMessage_RED MyMessage_Color = 0 - MyMessage_GREEN MyMessage_Color = 1 - MyMessage_BLUE MyMessage_Color = 2 -) - -var MyMessage_Color_name = map[int32]string{ - 0: "RED", - 1: "GREEN", - 2: "BLUE", -} -var MyMessage_Color_value = map[string]int32{ - "RED": 0, - "GREEN": 1, - "BLUE": 2, -} - -func (x MyMessage_Color) Enum() *MyMessage_Color { - p := new(MyMessage_Color) - *p = x - return p -} -func (x MyMessage_Color) String() string { - return proto.EnumName(MyMessage_Color_name, int32(x)) -} -func (x *MyMessage_Color) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(MyMessage_Color_value, data, "MyMessage_Color") - if err != nil { - return err - } - *x = MyMessage_Color(value) - return nil -} -func (MyMessage_Color) EnumDescriptor() ([]byte, []int) { return fileDescriptorTest, []int{13, 0} } - -type DefaultsMessage_DefaultsEnum int32 - -const ( - DefaultsMessage_ZERO DefaultsMessage_DefaultsEnum = 0 - DefaultsMessage_ONE DefaultsMessage_DefaultsEnum = 1 - DefaultsMessage_TWO DefaultsMessage_DefaultsEnum = 2 -) - -var DefaultsMessage_DefaultsEnum_name = map[int32]string{ - 0: "ZERO", - 1: "ONE", - 2: "TWO", -} -var DefaultsMessage_DefaultsEnum_value = map[string]int32{ - "ZERO": 0, - "ONE": 1, - "TWO": 2, -} - -func (x DefaultsMessage_DefaultsEnum) Enum() *DefaultsMessage_DefaultsEnum { - p := new(DefaultsMessage_DefaultsEnum) - *p = x - return p -} -func (x DefaultsMessage_DefaultsEnum) String() string { - return proto.EnumName(DefaultsMessage_DefaultsEnum_name, int32(x)) -} -func (x *DefaultsMessage_DefaultsEnum) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(DefaultsMessage_DefaultsEnum_value, data, "DefaultsMessage_DefaultsEnum") - if err != nil { - return err - } - *x = DefaultsMessage_DefaultsEnum(value) - return nil -} -func (DefaultsMessage_DefaultsEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptorTest, []int{16, 0} -} - -type Defaults_Color int32 - -const ( - Defaults_RED Defaults_Color = 0 - Defaults_GREEN Defaults_Color = 1 - Defaults_BLUE Defaults_Color = 2 -) - -var Defaults_Color_name = map[int32]string{ - 0: "RED", - 1: "GREEN", - 2: "BLUE", -} -var Defaults_Color_value = map[string]int32{ - "RED": 0, - "GREEN": 1, - "BLUE": 2, -} - -func (x Defaults_Color) Enum() *Defaults_Color { - p := new(Defaults_Color) - *p = x - return p -} -func (x Defaults_Color) String() string { - return proto.EnumName(Defaults_Color_name, int32(x)) -} -func (x *Defaults_Color) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(Defaults_Color_value, data, "Defaults_Color") - if err != nil { - return err - } - *x = Defaults_Color(value) - return nil -} -func (Defaults_Color) EnumDescriptor() ([]byte, []int) { return fileDescriptorTest, []int{21, 0} } - -type RepeatedEnum_Color int32 - -const ( - RepeatedEnum_RED RepeatedEnum_Color = 1 -) - -var RepeatedEnum_Color_name = map[int32]string{ - 1: "RED", -} -var RepeatedEnum_Color_value = map[string]int32{ - "RED": 1, -} - -func (x RepeatedEnum_Color) Enum() *RepeatedEnum_Color { - p := new(RepeatedEnum_Color) - *p = x - return p -} -func (x RepeatedEnum_Color) String() string { - return proto.EnumName(RepeatedEnum_Color_name, int32(x)) -} -func (x *RepeatedEnum_Color) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(RepeatedEnum_Color_value, data, "RepeatedEnum_Color") - if err != nil { - return err - } - *x = RepeatedEnum_Color(value) - return nil -} -func (RepeatedEnum_Color) EnumDescriptor() ([]byte, []int) { return fileDescriptorTest, []int{23, 0} } - -type GoEnum struct { - Foo *FOO `protobuf:"varint,1,req,name=foo,enum=testdata.FOO" json:"foo,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoEnum) Reset() { *m = GoEnum{} } -func (m *GoEnum) String() string { return proto.CompactTextString(m) } -func (*GoEnum) ProtoMessage() {} -func (*GoEnum) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{0} } - -func (m *GoEnum) GetFoo() FOO { - if m != nil && m.Foo != nil { - return *m.Foo - } - return FOO_FOO1 -} - -type GoTestField struct { - Label *string `protobuf:"bytes,1,req,name=Label" json:"Label,omitempty"` - Type *string `protobuf:"bytes,2,req,name=Type" json:"Type,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTestField) Reset() { *m = GoTestField{} } -func (m *GoTestField) String() string { return proto.CompactTextString(m) } -func (*GoTestField) ProtoMessage() {} -func (*GoTestField) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{1} } - -func (m *GoTestField) GetLabel() string { - if m != nil && m.Label != nil { - return *m.Label - } - return "" -} - -func (m *GoTestField) GetType() string { - if m != nil && m.Type != nil { - return *m.Type - } - return "" -} - -type GoTest struct { - // Some typical parameters - Kind *GoTest_KIND `protobuf:"varint,1,req,name=Kind,enum=testdata.GoTest_KIND" json:"Kind,omitempty"` - Table *string `protobuf:"bytes,2,opt,name=Table" json:"Table,omitempty"` - Param *int32 `protobuf:"varint,3,opt,name=Param" json:"Param,omitempty"` - // Required, repeated and optional foreign fields. - RequiredField *GoTestField `protobuf:"bytes,4,req,name=RequiredField" json:"RequiredField,omitempty"` - RepeatedField []*GoTestField `protobuf:"bytes,5,rep,name=RepeatedField" json:"RepeatedField,omitempty"` - OptionalField *GoTestField `protobuf:"bytes,6,opt,name=OptionalField" json:"OptionalField,omitempty"` - // Required fields of all basic types - F_BoolRequired *bool `protobuf:"varint,10,req,name=F_Bool_required,json=FBoolRequired" json:"F_Bool_required,omitempty"` - F_Int32Required *int32 `protobuf:"varint,11,req,name=F_Int32_required,json=FInt32Required" json:"F_Int32_required,omitempty"` - F_Int64Required *int64 `protobuf:"varint,12,req,name=F_Int64_required,json=FInt64Required" json:"F_Int64_required,omitempty"` - F_Fixed32Required *uint32 `protobuf:"fixed32,13,req,name=F_Fixed32_required,json=FFixed32Required" json:"F_Fixed32_required,omitempty"` - F_Fixed64Required *uint64 `protobuf:"fixed64,14,req,name=F_Fixed64_required,json=FFixed64Required" json:"F_Fixed64_required,omitempty"` - F_Uint32Required *uint32 `protobuf:"varint,15,req,name=F_Uint32_required,json=FUint32Required" json:"F_Uint32_required,omitempty"` - F_Uint64Required *uint64 `protobuf:"varint,16,req,name=F_Uint64_required,json=FUint64Required" json:"F_Uint64_required,omitempty"` - F_FloatRequired *float32 `protobuf:"fixed32,17,req,name=F_Float_required,json=FFloatRequired" json:"F_Float_required,omitempty"` - F_DoubleRequired *float64 `protobuf:"fixed64,18,req,name=F_Double_required,json=FDoubleRequired" json:"F_Double_required,omitempty"` - F_StringRequired *string `protobuf:"bytes,19,req,name=F_String_required,json=FStringRequired" json:"F_String_required,omitempty"` - F_BytesRequired []byte `protobuf:"bytes,101,req,name=F_Bytes_required,json=FBytesRequired" json:"F_Bytes_required,omitempty"` - F_Sint32Required *int32 `protobuf:"zigzag32,102,req,name=F_Sint32_required,json=FSint32Required" json:"F_Sint32_required,omitempty"` - F_Sint64Required *int64 `protobuf:"zigzag64,103,req,name=F_Sint64_required,json=FSint64Required" json:"F_Sint64_required,omitempty"` - // Repeated fields of all basic types - F_BoolRepeated []bool `protobuf:"varint,20,rep,name=F_Bool_repeated,json=FBoolRepeated" json:"F_Bool_repeated,omitempty"` - F_Int32Repeated []int32 `protobuf:"varint,21,rep,name=F_Int32_repeated,json=FInt32Repeated" json:"F_Int32_repeated,omitempty"` - F_Int64Repeated []int64 `protobuf:"varint,22,rep,name=F_Int64_repeated,json=FInt64Repeated" json:"F_Int64_repeated,omitempty"` - F_Fixed32Repeated []uint32 `protobuf:"fixed32,23,rep,name=F_Fixed32_repeated,json=FFixed32Repeated" json:"F_Fixed32_repeated,omitempty"` - F_Fixed64Repeated []uint64 `protobuf:"fixed64,24,rep,name=F_Fixed64_repeated,json=FFixed64Repeated" json:"F_Fixed64_repeated,omitempty"` - F_Uint32Repeated []uint32 `protobuf:"varint,25,rep,name=F_Uint32_repeated,json=FUint32Repeated" json:"F_Uint32_repeated,omitempty"` - F_Uint64Repeated []uint64 `protobuf:"varint,26,rep,name=F_Uint64_repeated,json=FUint64Repeated" json:"F_Uint64_repeated,omitempty"` - F_FloatRepeated []float32 `protobuf:"fixed32,27,rep,name=F_Float_repeated,json=FFloatRepeated" json:"F_Float_repeated,omitempty"` - F_DoubleRepeated []float64 `protobuf:"fixed64,28,rep,name=F_Double_repeated,json=FDoubleRepeated" json:"F_Double_repeated,omitempty"` - F_StringRepeated []string `protobuf:"bytes,29,rep,name=F_String_repeated,json=FStringRepeated" json:"F_String_repeated,omitempty"` - F_BytesRepeated [][]byte `protobuf:"bytes,201,rep,name=F_Bytes_repeated,json=FBytesRepeated" json:"F_Bytes_repeated,omitempty"` - F_Sint32Repeated []int32 `protobuf:"zigzag32,202,rep,name=F_Sint32_repeated,json=FSint32Repeated" json:"F_Sint32_repeated,omitempty"` - F_Sint64Repeated []int64 `protobuf:"zigzag64,203,rep,name=F_Sint64_repeated,json=FSint64Repeated" json:"F_Sint64_repeated,omitempty"` - // Optional fields of all basic types - F_BoolOptional *bool `protobuf:"varint,30,opt,name=F_Bool_optional,json=FBoolOptional" json:"F_Bool_optional,omitempty"` - F_Int32Optional *int32 `protobuf:"varint,31,opt,name=F_Int32_optional,json=FInt32Optional" json:"F_Int32_optional,omitempty"` - F_Int64Optional *int64 `protobuf:"varint,32,opt,name=F_Int64_optional,json=FInt64Optional" json:"F_Int64_optional,omitempty"` - F_Fixed32Optional *uint32 `protobuf:"fixed32,33,opt,name=F_Fixed32_optional,json=FFixed32Optional" json:"F_Fixed32_optional,omitempty"` - F_Fixed64Optional *uint64 `protobuf:"fixed64,34,opt,name=F_Fixed64_optional,json=FFixed64Optional" json:"F_Fixed64_optional,omitempty"` - F_Uint32Optional *uint32 `protobuf:"varint,35,opt,name=F_Uint32_optional,json=FUint32Optional" json:"F_Uint32_optional,omitempty"` - F_Uint64Optional *uint64 `protobuf:"varint,36,opt,name=F_Uint64_optional,json=FUint64Optional" json:"F_Uint64_optional,omitempty"` - F_FloatOptional *float32 `protobuf:"fixed32,37,opt,name=F_Float_optional,json=FFloatOptional" json:"F_Float_optional,omitempty"` - F_DoubleOptional *float64 `protobuf:"fixed64,38,opt,name=F_Double_optional,json=FDoubleOptional" json:"F_Double_optional,omitempty"` - F_StringOptional *string `protobuf:"bytes,39,opt,name=F_String_optional,json=FStringOptional" json:"F_String_optional,omitempty"` - F_BytesOptional []byte `protobuf:"bytes,301,opt,name=F_Bytes_optional,json=FBytesOptional" json:"F_Bytes_optional,omitempty"` - F_Sint32Optional *int32 `protobuf:"zigzag32,302,opt,name=F_Sint32_optional,json=FSint32Optional" json:"F_Sint32_optional,omitempty"` - F_Sint64Optional *int64 `protobuf:"zigzag64,303,opt,name=F_Sint64_optional,json=FSint64Optional" json:"F_Sint64_optional,omitempty"` - // Default-valued fields of all basic types - F_BoolDefaulted *bool `protobuf:"varint,40,opt,name=F_Bool_defaulted,json=FBoolDefaulted,def=1" json:"F_Bool_defaulted,omitempty"` - F_Int32Defaulted *int32 `protobuf:"varint,41,opt,name=F_Int32_defaulted,json=FInt32Defaulted,def=32" json:"F_Int32_defaulted,omitempty"` - F_Int64Defaulted *int64 `protobuf:"varint,42,opt,name=F_Int64_defaulted,json=FInt64Defaulted,def=64" json:"F_Int64_defaulted,omitempty"` - F_Fixed32Defaulted *uint32 `protobuf:"fixed32,43,opt,name=F_Fixed32_defaulted,json=FFixed32Defaulted,def=320" json:"F_Fixed32_defaulted,omitempty"` - F_Fixed64Defaulted *uint64 `protobuf:"fixed64,44,opt,name=F_Fixed64_defaulted,json=FFixed64Defaulted,def=640" json:"F_Fixed64_defaulted,omitempty"` - F_Uint32Defaulted *uint32 `protobuf:"varint,45,opt,name=F_Uint32_defaulted,json=FUint32Defaulted,def=3200" json:"F_Uint32_defaulted,omitempty"` - F_Uint64Defaulted *uint64 `protobuf:"varint,46,opt,name=F_Uint64_defaulted,json=FUint64Defaulted,def=6400" json:"F_Uint64_defaulted,omitempty"` - F_FloatDefaulted *float32 `protobuf:"fixed32,47,opt,name=F_Float_defaulted,json=FFloatDefaulted,def=314159" json:"F_Float_defaulted,omitempty"` - F_DoubleDefaulted *float64 `protobuf:"fixed64,48,opt,name=F_Double_defaulted,json=FDoubleDefaulted,def=271828" json:"F_Double_defaulted,omitempty"` - F_StringDefaulted *string `protobuf:"bytes,49,opt,name=F_String_defaulted,json=FStringDefaulted,def=hello, \"world!\"\n" json:"F_String_defaulted,omitempty"` - F_BytesDefaulted []byte `protobuf:"bytes,401,opt,name=F_Bytes_defaulted,json=FBytesDefaulted,def=Bignose" json:"F_Bytes_defaulted,omitempty"` - F_Sint32Defaulted *int32 `protobuf:"zigzag32,402,opt,name=F_Sint32_defaulted,json=FSint32Defaulted,def=-32" json:"F_Sint32_defaulted,omitempty"` - F_Sint64Defaulted *int64 `protobuf:"zigzag64,403,opt,name=F_Sint64_defaulted,json=FSint64Defaulted,def=-64" json:"F_Sint64_defaulted,omitempty"` - // Packed repeated fields (no string or bytes). - F_BoolRepeatedPacked []bool `protobuf:"varint,50,rep,packed,name=F_Bool_repeated_packed,json=FBoolRepeatedPacked" json:"F_Bool_repeated_packed,omitempty"` - F_Int32RepeatedPacked []int32 `protobuf:"varint,51,rep,packed,name=F_Int32_repeated_packed,json=FInt32RepeatedPacked" json:"F_Int32_repeated_packed,omitempty"` - F_Int64RepeatedPacked []int64 `protobuf:"varint,52,rep,packed,name=F_Int64_repeated_packed,json=FInt64RepeatedPacked" json:"F_Int64_repeated_packed,omitempty"` - F_Fixed32RepeatedPacked []uint32 `protobuf:"fixed32,53,rep,packed,name=F_Fixed32_repeated_packed,json=FFixed32RepeatedPacked" json:"F_Fixed32_repeated_packed,omitempty"` - F_Fixed64RepeatedPacked []uint64 `protobuf:"fixed64,54,rep,packed,name=F_Fixed64_repeated_packed,json=FFixed64RepeatedPacked" json:"F_Fixed64_repeated_packed,omitempty"` - F_Uint32RepeatedPacked []uint32 `protobuf:"varint,55,rep,packed,name=F_Uint32_repeated_packed,json=FUint32RepeatedPacked" json:"F_Uint32_repeated_packed,omitempty"` - F_Uint64RepeatedPacked []uint64 `protobuf:"varint,56,rep,packed,name=F_Uint64_repeated_packed,json=FUint64RepeatedPacked" json:"F_Uint64_repeated_packed,omitempty"` - F_FloatRepeatedPacked []float32 `protobuf:"fixed32,57,rep,packed,name=F_Float_repeated_packed,json=FFloatRepeatedPacked" json:"F_Float_repeated_packed,omitempty"` - F_DoubleRepeatedPacked []float64 `protobuf:"fixed64,58,rep,packed,name=F_Double_repeated_packed,json=FDoubleRepeatedPacked" json:"F_Double_repeated_packed,omitempty"` - F_Sint32RepeatedPacked []int32 `protobuf:"zigzag32,502,rep,packed,name=F_Sint32_repeated_packed,json=FSint32RepeatedPacked" json:"F_Sint32_repeated_packed,omitempty"` - F_Sint64RepeatedPacked []int64 `protobuf:"zigzag64,503,rep,packed,name=F_Sint64_repeated_packed,json=FSint64RepeatedPacked" json:"F_Sint64_repeated_packed,omitempty"` - Requiredgroup *GoTest_RequiredGroup `protobuf:"group,70,req,name=RequiredGroup,json=requiredgroup" json:"requiredgroup,omitempty"` - Repeatedgroup []*GoTest_RepeatedGroup `protobuf:"group,80,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"` - Optionalgroup *GoTest_OptionalGroup `protobuf:"group,90,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTest) Reset() { *m = GoTest{} } -func (m *GoTest) String() string { return proto.CompactTextString(m) } -func (*GoTest) ProtoMessage() {} -func (*GoTest) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{2} } - -const Default_GoTest_F_BoolDefaulted bool = true -const Default_GoTest_F_Int32Defaulted int32 = 32 -const Default_GoTest_F_Int64Defaulted int64 = 64 -const Default_GoTest_F_Fixed32Defaulted uint32 = 320 -const Default_GoTest_F_Fixed64Defaulted uint64 = 640 -const Default_GoTest_F_Uint32Defaulted uint32 = 3200 -const Default_GoTest_F_Uint64Defaulted uint64 = 6400 -const Default_GoTest_F_FloatDefaulted float32 = 314159 -const Default_GoTest_F_DoubleDefaulted float64 = 271828 -const Default_GoTest_F_StringDefaulted string = "hello, \"world!\"\n" - -var Default_GoTest_F_BytesDefaulted []byte = []byte("Bignose") - -const Default_GoTest_F_Sint32Defaulted int32 = -32 -const Default_GoTest_F_Sint64Defaulted int64 = -64 - -func (m *GoTest) GetKind() GoTest_KIND { - if m != nil && m.Kind != nil { - return *m.Kind - } - return GoTest_VOID -} - -func (m *GoTest) GetTable() string { - if m != nil && m.Table != nil { - return *m.Table - } - return "" -} - -func (m *GoTest) GetParam() int32 { - if m != nil && m.Param != nil { - return *m.Param - } - return 0 -} - -func (m *GoTest) GetRequiredField() *GoTestField { - if m != nil { - return m.RequiredField - } - return nil -} - -func (m *GoTest) GetRepeatedField() []*GoTestField { - if m != nil { - return m.RepeatedField - } - return nil -} - -func (m *GoTest) GetOptionalField() *GoTestField { - if m != nil { - return m.OptionalField - } - return nil -} - -func (m *GoTest) GetF_BoolRequired() bool { - if m != nil && m.F_BoolRequired != nil { - return *m.F_BoolRequired - } - return false -} - -func (m *GoTest) GetF_Int32Required() int32 { - if m != nil && m.F_Int32Required != nil { - return *m.F_Int32Required - } - return 0 -} - -func (m *GoTest) GetF_Int64Required() int64 { - if m != nil && m.F_Int64Required != nil { - return *m.F_Int64Required - } - return 0 -} - -func (m *GoTest) GetF_Fixed32Required() uint32 { - if m != nil && m.F_Fixed32Required != nil { - return *m.F_Fixed32Required - } - return 0 -} - -func (m *GoTest) GetF_Fixed64Required() uint64 { - if m != nil && m.F_Fixed64Required != nil { - return *m.F_Fixed64Required - } - return 0 -} - -func (m *GoTest) GetF_Uint32Required() uint32 { - if m != nil && m.F_Uint32Required != nil { - return *m.F_Uint32Required - } - return 0 -} - -func (m *GoTest) GetF_Uint64Required() uint64 { - if m != nil && m.F_Uint64Required != nil { - return *m.F_Uint64Required - } - return 0 -} - -func (m *GoTest) GetF_FloatRequired() float32 { - if m != nil && m.F_FloatRequired != nil { - return *m.F_FloatRequired - } - return 0 -} - -func (m *GoTest) GetF_DoubleRequired() float64 { - if m != nil && m.F_DoubleRequired != nil { - return *m.F_DoubleRequired - } - return 0 -} - -func (m *GoTest) GetF_StringRequired() string { - if m != nil && m.F_StringRequired != nil { - return *m.F_StringRequired - } - return "" -} - -func (m *GoTest) GetF_BytesRequired() []byte { - if m != nil { - return m.F_BytesRequired - } - return nil -} - -func (m *GoTest) GetF_Sint32Required() int32 { - if m != nil && m.F_Sint32Required != nil { - return *m.F_Sint32Required - } - return 0 -} - -func (m *GoTest) GetF_Sint64Required() int64 { - if m != nil && m.F_Sint64Required != nil { - return *m.F_Sint64Required - } - return 0 -} - -func (m *GoTest) GetF_BoolRepeated() []bool { - if m != nil { - return m.F_BoolRepeated - } - return nil -} - -func (m *GoTest) GetF_Int32Repeated() []int32 { - if m != nil { - return m.F_Int32Repeated - } - return nil -} - -func (m *GoTest) GetF_Int64Repeated() []int64 { - if m != nil { - return m.F_Int64Repeated - } - return nil -} - -func (m *GoTest) GetF_Fixed32Repeated() []uint32 { - if m != nil { - return m.F_Fixed32Repeated - } - return nil -} - -func (m *GoTest) GetF_Fixed64Repeated() []uint64 { - if m != nil { - return m.F_Fixed64Repeated - } - return nil -} - -func (m *GoTest) GetF_Uint32Repeated() []uint32 { - if m != nil { - return m.F_Uint32Repeated - } - return nil -} - -func (m *GoTest) GetF_Uint64Repeated() []uint64 { - if m != nil { - return m.F_Uint64Repeated - } - return nil -} - -func (m *GoTest) GetF_FloatRepeated() []float32 { - if m != nil { - return m.F_FloatRepeated - } - return nil -} - -func (m *GoTest) GetF_DoubleRepeated() []float64 { - if m != nil { - return m.F_DoubleRepeated - } - return nil -} - -func (m *GoTest) GetF_StringRepeated() []string { - if m != nil { - return m.F_StringRepeated - } - return nil -} - -func (m *GoTest) GetF_BytesRepeated() [][]byte { - if m != nil { - return m.F_BytesRepeated - } - return nil -} - -func (m *GoTest) GetF_Sint32Repeated() []int32 { - if m != nil { - return m.F_Sint32Repeated - } - return nil -} - -func (m *GoTest) GetF_Sint64Repeated() []int64 { - if m != nil { - return m.F_Sint64Repeated - } - return nil -} - -func (m *GoTest) GetF_BoolOptional() bool { - if m != nil && m.F_BoolOptional != nil { - return *m.F_BoolOptional - } - return false -} - -func (m *GoTest) GetF_Int32Optional() int32 { - if m != nil && m.F_Int32Optional != nil { - return *m.F_Int32Optional - } - return 0 -} - -func (m *GoTest) GetF_Int64Optional() int64 { - if m != nil && m.F_Int64Optional != nil { - return *m.F_Int64Optional - } - return 0 -} - -func (m *GoTest) GetF_Fixed32Optional() uint32 { - if m != nil && m.F_Fixed32Optional != nil { - return *m.F_Fixed32Optional - } - return 0 -} - -func (m *GoTest) GetF_Fixed64Optional() uint64 { - if m != nil && m.F_Fixed64Optional != nil { - return *m.F_Fixed64Optional - } - return 0 -} - -func (m *GoTest) GetF_Uint32Optional() uint32 { - if m != nil && m.F_Uint32Optional != nil { - return *m.F_Uint32Optional - } - return 0 -} - -func (m *GoTest) GetF_Uint64Optional() uint64 { - if m != nil && m.F_Uint64Optional != nil { - return *m.F_Uint64Optional - } - return 0 -} - -func (m *GoTest) GetF_FloatOptional() float32 { - if m != nil && m.F_FloatOptional != nil { - return *m.F_FloatOptional - } - return 0 -} - -func (m *GoTest) GetF_DoubleOptional() float64 { - if m != nil && m.F_DoubleOptional != nil { - return *m.F_DoubleOptional - } - return 0 -} - -func (m *GoTest) GetF_StringOptional() string { - if m != nil && m.F_StringOptional != nil { - return *m.F_StringOptional - } - return "" -} - -func (m *GoTest) GetF_BytesOptional() []byte { - if m != nil { - return m.F_BytesOptional - } - return nil -} - -func (m *GoTest) GetF_Sint32Optional() int32 { - if m != nil && m.F_Sint32Optional != nil { - return *m.F_Sint32Optional - } - return 0 -} - -func (m *GoTest) GetF_Sint64Optional() int64 { - if m != nil && m.F_Sint64Optional != nil { - return *m.F_Sint64Optional - } - return 0 -} - -func (m *GoTest) GetF_BoolDefaulted() bool { - if m != nil && m.F_BoolDefaulted != nil { - return *m.F_BoolDefaulted - } - return Default_GoTest_F_BoolDefaulted -} - -func (m *GoTest) GetF_Int32Defaulted() int32 { - if m != nil && m.F_Int32Defaulted != nil { - return *m.F_Int32Defaulted - } - return Default_GoTest_F_Int32Defaulted -} - -func (m *GoTest) GetF_Int64Defaulted() int64 { - if m != nil && m.F_Int64Defaulted != nil { - return *m.F_Int64Defaulted - } - return Default_GoTest_F_Int64Defaulted -} - -func (m *GoTest) GetF_Fixed32Defaulted() uint32 { - if m != nil && m.F_Fixed32Defaulted != nil { - return *m.F_Fixed32Defaulted - } - return Default_GoTest_F_Fixed32Defaulted -} - -func (m *GoTest) GetF_Fixed64Defaulted() uint64 { - if m != nil && m.F_Fixed64Defaulted != nil { - return *m.F_Fixed64Defaulted - } - return Default_GoTest_F_Fixed64Defaulted -} - -func (m *GoTest) GetF_Uint32Defaulted() uint32 { - if m != nil && m.F_Uint32Defaulted != nil { - return *m.F_Uint32Defaulted - } - return Default_GoTest_F_Uint32Defaulted -} - -func (m *GoTest) GetF_Uint64Defaulted() uint64 { - if m != nil && m.F_Uint64Defaulted != nil { - return *m.F_Uint64Defaulted - } - return Default_GoTest_F_Uint64Defaulted -} - -func (m *GoTest) GetF_FloatDefaulted() float32 { - if m != nil && m.F_FloatDefaulted != nil { - return *m.F_FloatDefaulted - } - return Default_GoTest_F_FloatDefaulted -} - -func (m *GoTest) GetF_DoubleDefaulted() float64 { - if m != nil && m.F_DoubleDefaulted != nil { - return *m.F_DoubleDefaulted - } - return Default_GoTest_F_DoubleDefaulted -} - -func (m *GoTest) GetF_StringDefaulted() string { - if m != nil && m.F_StringDefaulted != nil { - return *m.F_StringDefaulted - } - return Default_GoTest_F_StringDefaulted -} - -func (m *GoTest) GetF_BytesDefaulted() []byte { - if m != nil && m.F_BytesDefaulted != nil { - return m.F_BytesDefaulted - } - return append([]byte(nil), Default_GoTest_F_BytesDefaulted...) -} - -func (m *GoTest) GetF_Sint32Defaulted() int32 { - if m != nil && m.F_Sint32Defaulted != nil { - return *m.F_Sint32Defaulted - } - return Default_GoTest_F_Sint32Defaulted -} - -func (m *GoTest) GetF_Sint64Defaulted() int64 { - if m != nil && m.F_Sint64Defaulted != nil { - return *m.F_Sint64Defaulted - } - return Default_GoTest_F_Sint64Defaulted -} - -func (m *GoTest) GetF_BoolRepeatedPacked() []bool { - if m != nil { - return m.F_BoolRepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Int32RepeatedPacked() []int32 { - if m != nil { - return m.F_Int32RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Int64RepeatedPacked() []int64 { - if m != nil { - return m.F_Int64RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Fixed32RepeatedPacked() []uint32 { - if m != nil { - return m.F_Fixed32RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Fixed64RepeatedPacked() []uint64 { - if m != nil { - return m.F_Fixed64RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Uint32RepeatedPacked() []uint32 { - if m != nil { - return m.F_Uint32RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Uint64RepeatedPacked() []uint64 { - if m != nil { - return m.F_Uint64RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_FloatRepeatedPacked() []float32 { - if m != nil { - return m.F_FloatRepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_DoubleRepeatedPacked() []float64 { - if m != nil { - return m.F_DoubleRepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Sint32RepeatedPacked() []int32 { - if m != nil { - return m.F_Sint32RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Sint64RepeatedPacked() []int64 { - if m != nil { - return m.F_Sint64RepeatedPacked - } - return nil -} - -func (m *GoTest) GetRequiredgroup() *GoTest_RequiredGroup { - if m != nil { - return m.Requiredgroup - } - return nil -} - -func (m *GoTest) GetRepeatedgroup() []*GoTest_RepeatedGroup { - if m != nil { - return m.Repeatedgroup - } - return nil -} - -func (m *GoTest) GetOptionalgroup() *GoTest_OptionalGroup { - if m != nil { - return m.Optionalgroup - } - return nil -} - -// Required, repeated, and optional groups. -type GoTest_RequiredGroup struct { - RequiredField *string `protobuf:"bytes,71,req,name=RequiredField" json:"RequiredField,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTest_RequiredGroup) Reset() { *m = GoTest_RequiredGroup{} } -func (m *GoTest_RequiredGroup) String() string { return proto.CompactTextString(m) } -func (*GoTest_RequiredGroup) ProtoMessage() {} -func (*GoTest_RequiredGroup) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{2, 0} } - -func (m *GoTest_RequiredGroup) GetRequiredField() string { - if m != nil && m.RequiredField != nil { - return *m.RequiredField - } - return "" -} - -type GoTest_RepeatedGroup struct { - RequiredField *string `protobuf:"bytes,81,req,name=RequiredField" json:"RequiredField,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTest_RepeatedGroup) Reset() { *m = GoTest_RepeatedGroup{} } -func (m *GoTest_RepeatedGroup) String() string { return proto.CompactTextString(m) } -func (*GoTest_RepeatedGroup) ProtoMessage() {} -func (*GoTest_RepeatedGroup) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{2, 1} } - -func (m *GoTest_RepeatedGroup) GetRequiredField() string { - if m != nil && m.RequiredField != nil { - return *m.RequiredField - } - return "" -} - -type GoTest_OptionalGroup struct { - RequiredField *string `protobuf:"bytes,91,req,name=RequiredField" json:"RequiredField,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTest_OptionalGroup) Reset() { *m = GoTest_OptionalGroup{} } -func (m *GoTest_OptionalGroup) String() string { return proto.CompactTextString(m) } -func (*GoTest_OptionalGroup) ProtoMessage() {} -func (*GoTest_OptionalGroup) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{2, 2} } - -func (m *GoTest_OptionalGroup) GetRequiredField() string { - if m != nil && m.RequiredField != nil { - return *m.RequiredField - } - return "" -} - -// For testing a group containing a required field. -type GoTestRequiredGroupField struct { - Group *GoTestRequiredGroupField_Group `protobuf:"group,1,req,name=Group,json=group" json:"group,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTestRequiredGroupField) Reset() { *m = GoTestRequiredGroupField{} } -func (m *GoTestRequiredGroupField) String() string { return proto.CompactTextString(m) } -func (*GoTestRequiredGroupField) ProtoMessage() {} -func (*GoTestRequiredGroupField) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{3} } - -func (m *GoTestRequiredGroupField) GetGroup() *GoTestRequiredGroupField_Group { - if m != nil { - return m.Group - } - return nil -} - -type GoTestRequiredGroupField_Group struct { - Field *int32 `protobuf:"varint,2,req,name=Field" json:"Field,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTestRequiredGroupField_Group) Reset() { *m = GoTestRequiredGroupField_Group{} } -func (m *GoTestRequiredGroupField_Group) String() string { return proto.CompactTextString(m) } -func (*GoTestRequiredGroupField_Group) ProtoMessage() {} -func (*GoTestRequiredGroupField_Group) Descriptor() ([]byte, []int) { - return fileDescriptorTest, []int{3, 0} -} - -func (m *GoTestRequiredGroupField_Group) GetField() int32 { - if m != nil && m.Field != nil { - return *m.Field - } - return 0 -} - -// For testing skipping of unrecognized fields. -// Numbers are all big, larger than tag numbers in GoTestField, -// the message used in the corresponding test. -type GoSkipTest struct { - SkipInt32 *int32 `protobuf:"varint,11,req,name=skip_int32,json=skipInt32" json:"skip_int32,omitempty"` - SkipFixed32 *uint32 `protobuf:"fixed32,12,req,name=skip_fixed32,json=skipFixed32" json:"skip_fixed32,omitempty"` - SkipFixed64 *uint64 `protobuf:"fixed64,13,req,name=skip_fixed64,json=skipFixed64" json:"skip_fixed64,omitempty"` - SkipString *string `protobuf:"bytes,14,req,name=skip_string,json=skipString" json:"skip_string,omitempty"` - Skipgroup *GoSkipTest_SkipGroup `protobuf:"group,15,req,name=SkipGroup,json=skipgroup" json:"skipgroup,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoSkipTest) Reset() { *m = GoSkipTest{} } -func (m *GoSkipTest) String() string { return proto.CompactTextString(m) } -func (*GoSkipTest) ProtoMessage() {} -func (*GoSkipTest) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{4} } - -func (m *GoSkipTest) GetSkipInt32() int32 { - if m != nil && m.SkipInt32 != nil { - return *m.SkipInt32 - } - return 0 -} - -func (m *GoSkipTest) GetSkipFixed32() uint32 { - if m != nil && m.SkipFixed32 != nil { - return *m.SkipFixed32 - } - return 0 -} - -func (m *GoSkipTest) GetSkipFixed64() uint64 { - if m != nil && m.SkipFixed64 != nil { - return *m.SkipFixed64 - } - return 0 -} - -func (m *GoSkipTest) GetSkipString() string { - if m != nil && m.SkipString != nil { - return *m.SkipString - } - return "" -} - -func (m *GoSkipTest) GetSkipgroup() *GoSkipTest_SkipGroup { - if m != nil { - return m.Skipgroup - } - return nil -} - -type GoSkipTest_SkipGroup struct { - GroupInt32 *int32 `protobuf:"varint,16,req,name=group_int32,json=groupInt32" json:"group_int32,omitempty"` - GroupString *string `protobuf:"bytes,17,req,name=group_string,json=groupString" json:"group_string,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoSkipTest_SkipGroup) Reset() { *m = GoSkipTest_SkipGroup{} } -func (m *GoSkipTest_SkipGroup) String() string { return proto.CompactTextString(m) } -func (*GoSkipTest_SkipGroup) ProtoMessage() {} -func (*GoSkipTest_SkipGroup) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{4, 0} } - -func (m *GoSkipTest_SkipGroup) GetGroupInt32() int32 { - if m != nil && m.GroupInt32 != nil { - return *m.GroupInt32 - } - return 0 -} - -func (m *GoSkipTest_SkipGroup) GetGroupString() string { - if m != nil && m.GroupString != nil { - return *m.GroupString - } - return "" -} - -// For testing packed/non-packed decoder switching. -// A serialized instance of one should be deserializable as the other. -type NonPackedTest struct { - A []int32 `protobuf:"varint,1,rep,name=a" json:"a,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *NonPackedTest) Reset() { *m = NonPackedTest{} } -func (m *NonPackedTest) String() string { return proto.CompactTextString(m) } -func (*NonPackedTest) ProtoMessage() {} -func (*NonPackedTest) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{5} } - -func (m *NonPackedTest) GetA() []int32 { - if m != nil { - return m.A - } - return nil -} - -type PackedTest struct { - B []int32 `protobuf:"varint,1,rep,packed,name=b" json:"b,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PackedTest) Reset() { *m = PackedTest{} } -func (m *PackedTest) String() string { return proto.CompactTextString(m) } -func (*PackedTest) ProtoMessage() {} -func (*PackedTest) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{6} } - -func (m *PackedTest) GetB() []int32 { - if m != nil { - return m.B - } - return nil -} - -type MaxTag struct { - // Maximum possible tag number. - LastField *string `protobuf:"bytes,536870911,opt,name=last_field,json=lastField" json:"last_field,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MaxTag) Reset() { *m = MaxTag{} } -func (m *MaxTag) String() string { return proto.CompactTextString(m) } -func (*MaxTag) ProtoMessage() {} -func (*MaxTag) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{7} } - -func (m *MaxTag) GetLastField() string { - if m != nil && m.LastField != nil { - return *m.LastField - } - return "" -} - -type OldMessage struct { - Nested *OldMessage_Nested `protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"` - Num *int32 `protobuf:"varint,2,opt,name=num" json:"num,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *OldMessage) Reset() { *m = OldMessage{} } -func (m *OldMessage) String() string { return proto.CompactTextString(m) } -func (*OldMessage) ProtoMessage() {} -func (*OldMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{8} } - -func (m *OldMessage) GetNested() *OldMessage_Nested { - if m != nil { - return m.Nested - } - return nil -} - -func (m *OldMessage) GetNum() int32 { - if m != nil && m.Num != nil { - return *m.Num - } - return 0 -} - -type OldMessage_Nested struct { - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *OldMessage_Nested) Reset() { *m = OldMessage_Nested{} } -func (m *OldMessage_Nested) String() string { return proto.CompactTextString(m) } -func (*OldMessage_Nested) ProtoMessage() {} -func (*OldMessage_Nested) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{8, 0} } - -func (m *OldMessage_Nested) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -// NewMessage is wire compatible with OldMessage; -// imagine it as a future version. -type NewMessage struct { - Nested *NewMessage_Nested `protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"` - // This is an int32 in OldMessage. - Num *int64 `protobuf:"varint,2,opt,name=num" json:"num,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *NewMessage) Reset() { *m = NewMessage{} } -func (m *NewMessage) String() string { return proto.CompactTextString(m) } -func (*NewMessage) ProtoMessage() {} -func (*NewMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{9} } - -func (m *NewMessage) GetNested() *NewMessage_Nested { - if m != nil { - return m.Nested - } - return nil -} - -func (m *NewMessage) GetNum() int64 { - if m != nil && m.Num != nil { - return *m.Num - } - return 0 -} - -type NewMessage_Nested struct { - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - FoodGroup *string `protobuf:"bytes,2,opt,name=food_group,json=foodGroup" json:"food_group,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *NewMessage_Nested) Reset() { *m = NewMessage_Nested{} } -func (m *NewMessage_Nested) String() string { return proto.CompactTextString(m) } -func (*NewMessage_Nested) ProtoMessage() {} -func (*NewMessage_Nested) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{9, 0} } - -func (m *NewMessage_Nested) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *NewMessage_Nested) GetFoodGroup() string { - if m != nil && m.FoodGroup != nil { - return *m.FoodGroup - } - return "" -} - -type InnerMessage struct { - Host *string `protobuf:"bytes,1,req,name=host" json:"host,omitempty"` - Port *int32 `protobuf:"varint,2,opt,name=port,def=4000" json:"port,omitempty"` - Connected *bool `protobuf:"varint,3,opt,name=connected" json:"connected,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *InnerMessage) Reset() { *m = InnerMessage{} } -func (m *InnerMessage) String() string { return proto.CompactTextString(m) } -func (*InnerMessage) ProtoMessage() {} -func (*InnerMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{10} } - -const Default_InnerMessage_Port int32 = 4000 - -func (m *InnerMessage) GetHost() string { - if m != nil && m.Host != nil { - return *m.Host - } - return "" -} - -func (m *InnerMessage) GetPort() int32 { - if m != nil && m.Port != nil { - return *m.Port - } - return Default_InnerMessage_Port -} - -func (m *InnerMessage) GetConnected() bool { - if m != nil && m.Connected != nil { - return *m.Connected - } - return false -} - -type OtherMessage struct { - Key *int64 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - Weight *float32 `protobuf:"fixed32,3,opt,name=weight" json:"weight,omitempty"` - Inner *InnerMessage `protobuf:"bytes,4,opt,name=inner" json:"inner,omitempty"` - proto.XXX_InternalExtensions `json:"-"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *OtherMessage) Reset() { *m = OtherMessage{} } -func (m *OtherMessage) String() string { return proto.CompactTextString(m) } -func (*OtherMessage) ProtoMessage() {} -func (*OtherMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{11} } - -var extRange_OtherMessage = []proto.ExtensionRange{ - {Start: 100, End: 536870911}, -} - -func (*OtherMessage) ExtensionRangeArray() []proto.ExtensionRange { - return extRange_OtherMessage -} - -func (m *OtherMessage) GetKey() int64 { - if m != nil && m.Key != nil { - return *m.Key - } - return 0 -} - -func (m *OtherMessage) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -func (m *OtherMessage) GetWeight() float32 { - if m != nil && m.Weight != nil { - return *m.Weight - } - return 0 -} - -func (m *OtherMessage) GetInner() *InnerMessage { - if m != nil { - return m.Inner - } - return nil -} - -type RequiredInnerMessage struct { - LeoFinallyWonAnOscar *InnerMessage `protobuf:"bytes,1,req,name=leo_finally_won_an_oscar,json=leoFinallyWonAnOscar" json:"leo_finally_won_an_oscar,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *RequiredInnerMessage) Reset() { *m = RequiredInnerMessage{} } -func (m *RequiredInnerMessage) String() string { return proto.CompactTextString(m) } -func (*RequiredInnerMessage) ProtoMessage() {} -func (*RequiredInnerMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{12} } - -func (m *RequiredInnerMessage) GetLeoFinallyWonAnOscar() *InnerMessage { - if m != nil { - return m.LeoFinallyWonAnOscar - } - return nil -} - -type MyMessage struct { - Count *int32 `protobuf:"varint,1,req,name=count" json:"count,omitempty"` - Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` - Quote *string `protobuf:"bytes,3,opt,name=quote" json:"quote,omitempty"` - Pet []string `protobuf:"bytes,4,rep,name=pet" json:"pet,omitempty"` - Inner *InnerMessage `protobuf:"bytes,5,opt,name=inner" json:"inner,omitempty"` - Others []*OtherMessage `protobuf:"bytes,6,rep,name=others" json:"others,omitempty"` - WeMustGoDeeper *RequiredInnerMessage `protobuf:"bytes,13,opt,name=we_must_go_deeper,json=weMustGoDeeper" json:"we_must_go_deeper,omitempty"` - RepInner []*InnerMessage `protobuf:"bytes,12,rep,name=rep_inner,json=repInner" json:"rep_inner,omitempty"` - Bikeshed *MyMessage_Color `protobuf:"varint,7,opt,name=bikeshed,enum=testdata.MyMessage_Color" json:"bikeshed,omitempty"` - Somegroup *MyMessage_SomeGroup `protobuf:"group,8,opt,name=SomeGroup,json=somegroup" json:"somegroup,omitempty"` - // This field becomes [][]byte in the generated code. - RepBytes [][]byte `protobuf:"bytes,10,rep,name=rep_bytes,json=repBytes" json:"rep_bytes,omitempty"` - Bigfloat *float64 `protobuf:"fixed64,11,opt,name=bigfloat" json:"bigfloat,omitempty"` - proto.XXX_InternalExtensions `json:"-"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MyMessage) Reset() { *m = MyMessage{} } -func (m *MyMessage) String() string { return proto.CompactTextString(m) } -func (*MyMessage) ProtoMessage() {} -func (*MyMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{13} } - -var extRange_MyMessage = []proto.ExtensionRange{ - {Start: 100, End: 536870911}, -} - -func (*MyMessage) ExtensionRangeArray() []proto.ExtensionRange { - return extRange_MyMessage -} - -func (m *MyMessage) GetCount() int32 { - if m != nil && m.Count != nil { - return *m.Count - } - return 0 -} - -func (m *MyMessage) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *MyMessage) GetQuote() string { - if m != nil && m.Quote != nil { - return *m.Quote - } - return "" -} - -func (m *MyMessage) GetPet() []string { - if m != nil { - return m.Pet - } - return nil -} - -func (m *MyMessage) GetInner() *InnerMessage { - if m != nil { - return m.Inner - } - return nil -} - -func (m *MyMessage) GetOthers() []*OtherMessage { - if m != nil { - return m.Others - } - return nil -} - -func (m *MyMessage) GetWeMustGoDeeper() *RequiredInnerMessage { - if m != nil { - return m.WeMustGoDeeper - } - return nil -} - -func (m *MyMessage) GetRepInner() []*InnerMessage { - if m != nil { - return m.RepInner - } - return nil -} - -func (m *MyMessage) GetBikeshed() MyMessage_Color { - if m != nil && m.Bikeshed != nil { - return *m.Bikeshed - } - return MyMessage_RED -} - -func (m *MyMessage) GetSomegroup() *MyMessage_SomeGroup { - if m != nil { - return m.Somegroup - } - return nil -} - -func (m *MyMessage) GetRepBytes() [][]byte { - if m != nil { - return m.RepBytes - } - return nil -} - -func (m *MyMessage) GetBigfloat() float64 { - if m != nil && m.Bigfloat != nil { - return *m.Bigfloat - } - return 0 -} - -type MyMessage_SomeGroup struct { - GroupField *int32 `protobuf:"varint,9,opt,name=group_field,json=groupField" json:"group_field,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MyMessage_SomeGroup) Reset() { *m = MyMessage_SomeGroup{} } -func (m *MyMessage_SomeGroup) String() string { return proto.CompactTextString(m) } -func (*MyMessage_SomeGroup) ProtoMessage() {} -func (*MyMessage_SomeGroup) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{13, 0} } - -func (m *MyMessage_SomeGroup) GetGroupField() int32 { - if m != nil && m.GroupField != nil { - return *m.GroupField - } - return 0 -} - -type Ext struct { - Data *string `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Ext) Reset() { *m = Ext{} } -func (m *Ext) String() string { return proto.CompactTextString(m) } -func (*Ext) ProtoMessage() {} -func (*Ext) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{14} } - -func (m *Ext) GetData() string { - if m != nil && m.Data != nil { - return *m.Data - } - return "" -} - -var E_Ext_More = &proto.ExtensionDesc{ - ExtendedType: (*MyMessage)(nil), - ExtensionType: (*Ext)(nil), - Field: 103, - Name: "testdata.Ext.more", - Tag: "bytes,103,opt,name=more", - Filename: "test.proto", -} - -var E_Ext_Text = &proto.ExtensionDesc{ - ExtendedType: (*MyMessage)(nil), - ExtensionType: (*string)(nil), - Field: 104, - Name: "testdata.Ext.text", - Tag: "bytes,104,opt,name=text", - Filename: "test.proto", -} - -var E_Ext_Number = &proto.ExtensionDesc{ - ExtendedType: (*MyMessage)(nil), - ExtensionType: (*int32)(nil), - Field: 105, - Name: "testdata.Ext.number", - Tag: "varint,105,opt,name=number", - Filename: "test.proto", -} - -type ComplexExtension struct { - First *int32 `protobuf:"varint,1,opt,name=first" json:"first,omitempty"` - Second *int32 `protobuf:"varint,2,opt,name=second" json:"second,omitempty"` - Third []int32 `protobuf:"varint,3,rep,name=third" json:"third,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *ComplexExtension) Reset() { *m = ComplexExtension{} } -func (m *ComplexExtension) String() string { return proto.CompactTextString(m) } -func (*ComplexExtension) ProtoMessage() {} -func (*ComplexExtension) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{15} } - -func (m *ComplexExtension) GetFirst() int32 { - if m != nil && m.First != nil { - return *m.First - } - return 0 -} - -func (m *ComplexExtension) GetSecond() int32 { - if m != nil && m.Second != nil { - return *m.Second - } - return 0 -} - -func (m *ComplexExtension) GetThird() []int32 { - if m != nil { - return m.Third - } - return nil -} - -type DefaultsMessage struct { - proto.XXX_InternalExtensions `json:"-"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *DefaultsMessage) Reset() { *m = DefaultsMessage{} } -func (m *DefaultsMessage) String() string { return proto.CompactTextString(m) } -func (*DefaultsMessage) ProtoMessage() {} -func (*DefaultsMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{16} } - -var extRange_DefaultsMessage = []proto.ExtensionRange{ - {Start: 100, End: 536870911}, -} - -func (*DefaultsMessage) ExtensionRangeArray() []proto.ExtensionRange { - return extRange_DefaultsMessage -} - -type MyMessageSet struct { - proto.XXX_InternalExtensions `json:"-"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MyMessageSet) Reset() { *m = MyMessageSet{} } -func (m *MyMessageSet) String() string { return proto.CompactTextString(m) } -func (*MyMessageSet) ProtoMessage() {} -func (*MyMessageSet) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{17} } - -func (m *MyMessageSet) Marshal() ([]byte, error) { - return proto.MarshalMessageSet(&m.XXX_InternalExtensions) -} -func (m *MyMessageSet) Unmarshal(buf []byte) error { - return proto.UnmarshalMessageSet(buf, &m.XXX_InternalExtensions) -} -func (m *MyMessageSet) MarshalJSON() ([]byte, error) { - return proto.MarshalMessageSetJSON(&m.XXX_InternalExtensions) -} -func (m *MyMessageSet) UnmarshalJSON(buf []byte) error { - return proto.UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions) -} - -// ensure MyMessageSet satisfies proto.Marshaler and proto.Unmarshaler -var _ proto.Marshaler = (*MyMessageSet)(nil) -var _ proto.Unmarshaler = (*MyMessageSet)(nil) - -var extRange_MyMessageSet = []proto.ExtensionRange{ - {Start: 100, End: 2147483646}, -} - -func (*MyMessageSet) ExtensionRangeArray() []proto.ExtensionRange { - return extRange_MyMessageSet -} - -type Empty struct { - XXX_unrecognized []byte `json:"-"` -} - -func (m *Empty) Reset() { *m = Empty{} } -func (m *Empty) String() string { return proto.CompactTextString(m) } -func (*Empty) ProtoMessage() {} -func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{18} } - -type MessageList struct { - Message []*MessageList_Message `protobuf:"group,1,rep,name=Message,json=message" json:"message,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MessageList) Reset() { *m = MessageList{} } -func (m *MessageList) String() string { return proto.CompactTextString(m) } -func (*MessageList) ProtoMessage() {} -func (*MessageList) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{19} } - -func (m *MessageList) GetMessage() []*MessageList_Message { - if m != nil { - return m.Message - } - return nil -} - -type MessageList_Message struct { - Name *string `protobuf:"bytes,2,req,name=name" json:"name,omitempty"` - Count *int32 `protobuf:"varint,3,req,name=count" json:"count,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MessageList_Message) Reset() { *m = MessageList_Message{} } -func (m *MessageList_Message) String() string { return proto.CompactTextString(m) } -func (*MessageList_Message) ProtoMessage() {} -func (*MessageList_Message) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{19, 0} } - -func (m *MessageList_Message) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *MessageList_Message) GetCount() int32 { - if m != nil && m.Count != nil { - return *m.Count - } - return 0 -} - -type Strings struct { - StringField *string `protobuf:"bytes,1,opt,name=string_field,json=stringField" json:"string_field,omitempty"` - BytesField []byte `protobuf:"bytes,2,opt,name=bytes_field,json=bytesField" json:"bytes_field,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Strings) Reset() { *m = Strings{} } -func (m *Strings) String() string { return proto.CompactTextString(m) } -func (*Strings) ProtoMessage() {} -func (*Strings) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{20} } - -func (m *Strings) GetStringField() string { - if m != nil && m.StringField != nil { - return *m.StringField - } - return "" -} - -func (m *Strings) GetBytesField() []byte { - if m != nil { - return m.BytesField - } - return nil -} - -type Defaults struct { - // Default-valued fields of all basic types. - // Same as GoTest, but copied here to make testing easier. - F_Bool *bool `protobuf:"varint,1,opt,name=F_Bool,json=FBool,def=1" json:"F_Bool,omitempty"` - F_Int32 *int32 `protobuf:"varint,2,opt,name=F_Int32,json=FInt32,def=32" json:"F_Int32,omitempty"` - F_Int64 *int64 `protobuf:"varint,3,opt,name=F_Int64,json=FInt64,def=64" json:"F_Int64,omitempty"` - F_Fixed32 *uint32 `protobuf:"fixed32,4,opt,name=F_Fixed32,json=FFixed32,def=320" json:"F_Fixed32,omitempty"` - F_Fixed64 *uint64 `protobuf:"fixed64,5,opt,name=F_Fixed64,json=FFixed64,def=640" json:"F_Fixed64,omitempty"` - F_Uint32 *uint32 `protobuf:"varint,6,opt,name=F_Uint32,json=FUint32,def=3200" json:"F_Uint32,omitempty"` - F_Uint64 *uint64 `protobuf:"varint,7,opt,name=F_Uint64,json=FUint64,def=6400" json:"F_Uint64,omitempty"` - F_Float *float32 `protobuf:"fixed32,8,opt,name=F_Float,json=FFloat,def=314159" json:"F_Float,omitempty"` - F_Double *float64 `protobuf:"fixed64,9,opt,name=F_Double,json=FDouble,def=271828" json:"F_Double,omitempty"` - F_String *string `protobuf:"bytes,10,opt,name=F_String,json=FString,def=hello, \"world!\"\n" json:"F_String,omitempty"` - F_Bytes []byte `protobuf:"bytes,11,opt,name=F_Bytes,json=FBytes,def=Bignose" json:"F_Bytes,omitempty"` - F_Sint32 *int32 `protobuf:"zigzag32,12,opt,name=F_Sint32,json=FSint32,def=-32" json:"F_Sint32,omitempty"` - F_Sint64 *int64 `protobuf:"zigzag64,13,opt,name=F_Sint64,json=FSint64,def=-64" json:"F_Sint64,omitempty"` - F_Enum *Defaults_Color `protobuf:"varint,14,opt,name=F_Enum,json=FEnum,enum=testdata.Defaults_Color,def=1" json:"F_Enum,omitempty"` - // More fields with crazy defaults. - F_Pinf *float32 `protobuf:"fixed32,15,opt,name=F_Pinf,json=FPinf,def=inf" json:"F_Pinf,omitempty"` - F_Ninf *float32 `protobuf:"fixed32,16,opt,name=F_Ninf,json=FNinf,def=-inf" json:"F_Ninf,omitempty"` - F_Nan *float32 `protobuf:"fixed32,17,opt,name=F_Nan,json=FNan,def=nan" json:"F_Nan,omitempty"` - // Sub-message. - Sub *SubDefaults `protobuf:"bytes,18,opt,name=sub" json:"sub,omitempty"` - // Redundant but explicit defaults. - StrZero *string `protobuf:"bytes,19,opt,name=str_zero,json=strZero,def=" json:"str_zero,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Defaults) Reset() { *m = Defaults{} } -func (m *Defaults) String() string { return proto.CompactTextString(m) } -func (*Defaults) ProtoMessage() {} -func (*Defaults) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{21} } - -const Default_Defaults_F_Bool bool = true -const Default_Defaults_F_Int32 int32 = 32 -const Default_Defaults_F_Int64 int64 = 64 -const Default_Defaults_F_Fixed32 uint32 = 320 -const Default_Defaults_F_Fixed64 uint64 = 640 -const Default_Defaults_F_Uint32 uint32 = 3200 -const Default_Defaults_F_Uint64 uint64 = 6400 -const Default_Defaults_F_Float float32 = 314159 -const Default_Defaults_F_Double float64 = 271828 -const Default_Defaults_F_String string = "hello, \"world!\"\n" - -var Default_Defaults_F_Bytes []byte = []byte("Bignose") - -const Default_Defaults_F_Sint32 int32 = -32 -const Default_Defaults_F_Sint64 int64 = -64 -const Default_Defaults_F_Enum Defaults_Color = Defaults_GREEN - -var Default_Defaults_F_Pinf float32 = float32(math.Inf(1)) -var Default_Defaults_F_Ninf float32 = float32(math.Inf(-1)) -var Default_Defaults_F_Nan float32 = float32(math.NaN()) - -func (m *Defaults) GetF_Bool() bool { - if m != nil && m.F_Bool != nil { - return *m.F_Bool - } - return Default_Defaults_F_Bool -} - -func (m *Defaults) GetF_Int32() int32 { - if m != nil && m.F_Int32 != nil { - return *m.F_Int32 - } - return Default_Defaults_F_Int32 -} - -func (m *Defaults) GetF_Int64() int64 { - if m != nil && m.F_Int64 != nil { - return *m.F_Int64 - } - return Default_Defaults_F_Int64 -} - -func (m *Defaults) GetF_Fixed32() uint32 { - if m != nil && m.F_Fixed32 != nil { - return *m.F_Fixed32 - } - return Default_Defaults_F_Fixed32 -} - -func (m *Defaults) GetF_Fixed64() uint64 { - if m != nil && m.F_Fixed64 != nil { - return *m.F_Fixed64 - } - return Default_Defaults_F_Fixed64 -} - -func (m *Defaults) GetF_Uint32() uint32 { - if m != nil && m.F_Uint32 != nil { - return *m.F_Uint32 - } - return Default_Defaults_F_Uint32 -} - -func (m *Defaults) GetF_Uint64() uint64 { - if m != nil && m.F_Uint64 != nil { - return *m.F_Uint64 - } - return Default_Defaults_F_Uint64 -} - -func (m *Defaults) GetF_Float() float32 { - if m != nil && m.F_Float != nil { - return *m.F_Float - } - return Default_Defaults_F_Float -} - -func (m *Defaults) GetF_Double() float64 { - if m != nil && m.F_Double != nil { - return *m.F_Double - } - return Default_Defaults_F_Double -} - -func (m *Defaults) GetF_String() string { - if m != nil && m.F_String != nil { - return *m.F_String - } - return Default_Defaults_F_String -} - -func (m *Defaults) GetF_Bytes() []byte { - if m != nil && m.F_Bytes != nil { - return m.F_Bytes - } - return append([]byte(nil), Default_Defaults_F_Bytes...) -} - -func (m *Defaults) GetF_Sint32() int32 { - if m != nil && m.F_Sint32 != nil { - return *m.F_Sint32 - } - return Default_Defaults_F_Sint32 -} - -func (m *Defaults) GetF_Sint64() int64 { - if m != nil && m.F_Sint64 != nil { - return *m.F_Sint64 - } - return Default_Defaults_F_Sint64 -} - -func (m *Defaults) GetF_Enum() Defaults_Color { - if m != nil && m.F_Enum != nil { - return *m.F_Enum - } - return Default_Defaults_F_Enum -} - -func (m *Defaults) GetF_Pinf() float32 { - if m != nil && m.F_Pinf != nil { - return *m.F_Pinf - } - return Default_Defaults_F_Pinf -} - -func (m *Defaults) GetF_Ninf() float32 { - if m != nil && m.F_Ninf != nil { - return *m.F_Ninf - } - return Default_Defaults_F_Ninf -} - -func (m *Defaults) GetF_Nan() float32 { - if m != nil && m.F_Nan != nil { - return *m.F_Nan - } - return Default_Defaults_F_Nan -} - -func (m *Defaults) GetSub() *SubDefaults { - if m != nil { - return m.Sub - } - return nil -} - -func (m *Defaults) GetStrZero() string { - if m != nil && m.StrZero != nil { - return *m.StrZero - } - return "" -} - -type SubDefaults struct { - N *int64 `protobuf:"varint,1,opt,name=n,def=7" json:"n,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SubDefaults) Reset() { *m = SubDefaults{} } -func (m *SubDefaults) String() string { return proto.CompactTextString(m) } -func (*SubDefaults) ProtoMessage() {} -func (*SubDefaults) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{22} } - -const Default_SubDefaults_N int64 = 7 - -func (m *SubDefaults) GetN() int64 { - if m != nil && m.N != nil { - return *m.N - } - return Default_SubDefaults_N -} - -type RepeatedEnum struct { - Color []RepeatedEnum_Color `protobuf:"varint,1,rep,name=color,enum=testdata.RepeatedEnum_Color" json:"color,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *RepeatedEnum) Reset() { *m = RepeatedEnum{} } -func (m *RepeatedEnum) String() string { return proto.CompactTextString(m) } -func (*RepeatedEnum) ProtoMessage() {} -func (*RepeatedEnum) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{23} } - -func (m *RepeatedEnum) GetColor() []RepeatedEnum_Color { - if m != nil { - return m.Color - } - return nil -} - -type MoreRepeated struct { - Bools []bool `protobuf:"varint,1,rep,name=bools" json:"bools,omitempty"` - BoolsPacked []bool `protobuf:"varint,2,rep,packed,name=bools_packed,json=boolsPacked" json:"bools_packed,omitempty"` - Ints []int32 `protobuf:"varint,3,rep,name=ints" json:"ints,omitempty"` - IntsPacked []int32 `protobuf:"varint,4,rep,packed,name=ints_packed,json=intsPacked" json:"ints_packed,omitempty"` - Int64SPacked []int64 `protobuf:"varint,7,rep,packed,name=int64s_packed,json=int64sPacked" json:"int64s_packed,omitempty"` - Strings []string `protobuf:"bytes,5,rep,name=strings" json:"strings,omitempty"` - Fixeds []uint32 `protobuf:"fixed32,6,rep,name=fixeds" json:"fixeds,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MoreRepeated) Reset() { *m = MoreRepeated{} } -func (m *MoreRepeated) String() string { return proto.CompactTextString(m) } -func (*MoreRepeated) ProtoMessage() {} -func (*MoreRepeated) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{24} } - -func (m *MoreRepeated) GetBools() []bool { - if m != nil { - return m.Bools - } - return nil -} - -func (m *MoreRepeated) GetBoolsPacked() []bool { - if m != nil { - return m.BoolsPacked - } - return nil -} - -func (m *MoreRepeated) GetInts() []int32 { - if m != nil { - return m.Ints - } - return nil -} - -func (m *MoreRepeated) GetIntsPacked() []int32 { - if m != nil { - return m.IntsPacked - } - return nil -} - -func (m *MoreRepeated) GetInt64SPacked() []int64 { - if m != nil { - return m.Int64SPacked - } - return nil -} - -func (m *MoreRepeated) GetStrings() []string { - if m != nil { - return m.Strings - } - return nil -} - -func (m *MoreRepeated) GetFixeds() []uint32 { - if m != nil { - return m.Fixeds - } - return nil -} - -type GroupOld struct { - G *GroupOld_G `protobuf:"group,101,opt,name=G,json=g" json:"g,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GroupOld) Reset() { *m = GroupOld{} } -func (m *GroupOld) String() string { return proto.CompactTextString(m) } -func (*GroupOld) ProtoMessage() {} -func (*GroupOld) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{25} } - -func (m *GroupOld) GetG() *GroupOld_G { - if m != nil { - return m.G - } - return nil -} - -type GroupOld_G struct { - X *int32 `protobuf:"varint,2,opt,name=x" json:"x,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GroupOld_G) Reset() { *m = GroupOld_G{} } -func (m *GroupOld_G) String() string { return proto.CompactTextString(m) } -func (*GroupOld_G) ProtoMessage() {} -func (*GroupOld_G) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{25, 0} } - -func (m *GroupOld_G) GetX() int32 { - if m != nil && m.X != nil { - return *m.X - } - return 0 -} - -type GroupNew struct { - G *GroupNew_G `protobuf:"group,101,opt,name=G,json=g" json:"g,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GroupNew) Reset() { *m = GroupNew{} } -func (m *GroupNew) String() string { return proto.CompactTextString(m) } -func (*GroupNew) ProtoMessage() {} -func (*GroupNew) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{26} } - -func (m *GroupNew) GetG() *GroupNew_G { - if m != nil { - return m.G - } - return nil -} - -type GroupNew_G struct { - X *int32 `protobuf:"varint,2,opt,name=x" json:"x,omitempty"` - Y *int32 `protobuf:"varint,3,opt,name=y" json:"y,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GroupNew_G) Reset() { *m = GroupNew_G{} } -func (m *GroupNew_G) String() string { return proto.CompactTextString(m) } -func (*GroupNew_G) ProtoMessage() {} -func (*GroupNew_G) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{26, 0} } - -func (m *GroupNew_G) GetX() int32 { - if m != nil && m.X != nil { - return *m.X - } - return 0 -} - -func (m *GroupNew_G) GetY() int32 { - if m != nil && m.Y != nil { - return *m.Y - } - return 0 -} - -type FloatingPoint struct { - F *float64 `protobuf:"fixed64,1,req,name=f" json:"f,omitempty"` - Exact *bool `protobuf:"varint,2,opt,name=exact" json:"exact,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } -func (m *FloatingPoint) String() string { return proto.CompactTextString(m) } -func (*FloatingPoint) ProtoMessage() {} -func (*FloatingPoint) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{27} } - -func (m *FloatingPoint) GetF() float64 { - if m != nil && m.F != nil { - return *m.F - } - return 0 -} - -func (m *FloatingPoint) GetExact() bool { - if m != nil && m.Exact != nil { - return *m.Exact - } - return false -} - -type MessageWithMap struct { - NameMapping map[int32]string `protobuf:"bytes,1,rep,name=name_mapping,json=nameMapping" json:"name_mapping,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - MsgMapping map[int64]*FloatingPoint `protobuf:"bytes,2,rep,name=msg_mapping,json=msgMapping" json:"msg_mapping,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - ByteMapping map[bool][]byte `protobuf:"bytes,3,rep,name=byte_mapping,json=byteMapping" json:"byte_mapping,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - StrToStr map[string]string `protobuf:"bytes,4,rep,name=str_to_str,json=strToStr" json:"str_to_str,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } -func (m *MessageWithMap) String() string { return proto.CompactTextString(m) } -func (*MessageWithMap) ProtoMessage() {} -func (*MessageWithMap) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{28} } - -func (m *MessageWithMap) GetNameMapping() map[int32]string { - if m != nil { - return m.NameMapping - } - return nil -} - -func (m *MessageWithMap) GetMsgMapping() map[int64]*FloatingPoint { - if m != nil { - return m.MsgMapping - } - return nil -} - -func (m *MessageWithMap) GetByteMapping() map[bool][]byte { - if m != nil { - return m.ByteMapping - } - return nil -} - -func (m *MessageWithMap) GetStrToStr() map[string]string { - if m != nil { - return m.StrToStr - } - return nil -} - -type Oneof struct { - // Types that are valid to be assigned to Union: - // *Oneof_F_Bool - // *Oneof_F_Int32 - // *Oneof_F_Int64 - // *Oneof_F_Fixed32 - // *Oneof_F_Fixed64 - // *Oneof_F_Uint32 - // *Oneof_F_Uint64 - // *Oneof_F_Float - // *Oneof_F_Double - // *Oneof_F_String - // *Oneof_F_Bytes - // *Oneof_F_Sint32 - // *Oneof_F_Sint64 - // *Oneof_F_Enum - // *Oneof_F_Message - // *Oneof_FGroup - // *Oneof_F_Largest_Tag - Union isOneof_Union `protobuf_oneof:"union"` - // Types that are valid to be assigned to Tormato: - // *Oneof_Value - Tormato isOneof_Tormato `protobuf_oneof:"tormato"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Oneof) Reset() { *m = Oneof{} } -func (m *Oneof) String() string { return proto.CompactTextString(m) } -func (*Oneof) ProtoMessage() {} -func (*Oneof) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{29} } - -type isOneof_Union interface { - isOneof_Union() -} -type isOneof_Tormato interface { - isOneof_Tormato() -} - -type Oneof_F_Bool struct { - F_Bool bool `protobuf:"varint,1,opt,name=F_Bool,json=FBool,oneof"` -} -type Oneof_F_Int32 struct { - F_Int32 int32 `protobuf:"varint,2,opt,name=F_Int32,json=FInt32,oneof"` -} -type Oneof_F_Int64 struct { - F_Int64 int64 `protobuf:"varint,3,opt,name=F_Int64,json=FInt64,oneof"` -} -type Oneof_F_Fixed32 struct { - F_Fixed32 uint32 `protobuf:"fixed32,4,opt,name=F_Fixed32,json=FFixed32,oneof"` -} -type Oneof_F_Fixed64 struct { - F_Fixed64 uint64 `protobuf:"fixed64,5,opt,name=F_Fixed64,json=FFixed64,oneof"` -} -type Oneof_F_Uint32 struct { - F_Uint32 uint32 `protobuf:"varint,6,opt,name=F_Uint32,json=FUint32,oneof"` -} -type Oneof_F_Uint64 struct { - F_Uint64 uint64 `protobuf:"varint,7,opt,name=F_Uint64,json=FUint64,oneof"` -} -type Oneof_F_Float struct { - F_Float float32 `protobuf:"fixed32,8,opt,name=F_Float,json=FFloat,oneof"` -} -type Oneof_F_Double struct { - F_Double float64 `protobuf:"fixed64,9,opt,name=F_Double,json=FDouble,oneof"` -} -type Oneof_F_String struct { - F_String string `protobuf:"bytes,10,opt,name=F_String,json=FString,oneof"` -} -type Oneof_F_Bytes struct { - F_Bytes []byte `protobuf:"bytes,11,opt,name=F_Bytes,json=FBytes,oneof"` -} -type Oneof_F_Sint32 struct { - F_Sint32 int32 `protobuf:"zigzag32,12,opt,name=F_Sint32,json=FSint32,oneof"` -} -type Oneof_F_Sint64 struct { - F_Sint64 int64 `protobuf:"zigzag64,13,opt,name=F_Sint64,json=FSint64,oneof"` -} -type Oneof_F_Enum struct { - F_Enum MyMessage_Color `protobuf:"varint,14,opt,name=F_Enum,json=FEnum,enum=testdata.MyMessage_Color,oneof"` -} -type Oneof_F_Message struct { - F_Message *GoTestField `protobuf:"bytes,15,opt,name=F_Message,json=FMessage,oneof"` -} -type Oneof_FGroup struct { - FGroup *Oneof_F_Group `protobuf:"group,16,opt,name=F_Group,json=fGroup,oneof"` -} -type Oneof_F_Largest_Tag struct { - F_Largest_Tag int32 `protobuf:"varint,536870911,opt,name=F_Largest_Tag,json=FLargestTag,oneof"` -} -type Oneof_Value struct { - Value int32 `protobuf:"varint,100,opt,name=value,oneof"` -} - -func (*Oneof_F_Bool) isOneof_Union() {} -func (*Oneof_F_Int32) isOneof_Union() {} -func (*Oneof_F_Int64) isOneof_Union() {} -func (*Oneof_F_Fixed32) isOneof_Union() {} -func (*Oneof_F_Fixed64) isOneof_Union() {} -func (*Oneof_F_Uint32) isOneof_Union() {} -func (*Oneof_F_Uint64) isOneof_Union() {} -func (*Oneof_F_Float) isOneof_Union() {} -func (*Oneof_F_Double) isOneof_Union() {} -func (*Oneof_F_String) isOneof_Union() {} -func (*Oneof_F_Bytes) isOneof_Union() {} -func (*Oneof_F_Sint32) isOneof_Union() {} -func (*Oneof_F_Sint64) isOneof_Union() {} -func (*Oneof_F_Enum) isOneof_Union() {} -func (*Oneof_F_Message) isOneof_Union() {} -func (*Oneof_FGroup) isOneof_Union() {} -func (*Oneof_F_Largest_Tag) isOneof_Union() {} -func (*Oneof_Value) isOneof_Tormato() {} - -func (m *Oneof) GetUnion() isOneof_Union { - if m != nil { - return m.Union - } - return nil -} -func (m *Oneof) GetTormato() isOneof_Tormato { - if m != nil { - return m.Tormato - } - return nil -} - -func (m *Oneof) GetF_Bool() bool { - if x, ok := m.GetUnion().(*Oneof_F_Bool); ok { - return x.F_Bool - } - return false -} - -func (m *Oneof) GetF_Int32() int32 { - if x, ok := m.GetUnion().(*Oneof_F_Int32); ok { - return x.F_Int32 - } - return 0 -} - -func (m *Oneof) GetF_Int64() int64 { - if x, ok := m.GetUnion().(*Oneof_F_Int64); ok { - return x.F_Int64 - } - return 0 -} - -func (m *Oneof) GetF_Fixed32() uint32 { - if x, ok := m.GetUnion().(*Oneof_F_Fixed32); ok { - return x.F_Fixed32 - } - return 0 -} - -func (m *Oneof) GetF_Fixed64() uint64 { - if x, ok := m.GetUnion().(*Oneof_F_Fixed64); ok { - return x.F_Fixed64 - } - return 0 -} - -func (m *Oneof) GetF_Uint32() uint32 { - if x, ok := m.GetUnion().(*Oneof_F_Uint32); ok { - return x.F_Uint32 - } - return 0 -} - -func (m *Oneof) GetF_Uint64() uint64 { - if x, ok := m.GetUnion().(*Oneof_F_Uint64); ok { - return x.F_Uint64 - } - return 0 -} - -func (m *Oneof) GetF_Float() float32 { - if x, ok := m.GetUnion().(*Oneof_F_Float); ok { - return x.F_Float - } - return 0 -} - -func (m *Oneof) GetF_Double() float64 { - if x, ok := m.GetUnion().(*Oneof_F_Double); ok { - return x.F_Double - } - return 0 -} - -func (m *Oneof) GetF_String() string { - if x, ok := m.GetUnion().(*Oneof_F_String); ok { - return x.F_String - } - return "" -} - -func (m *Oneof) GetF_Bytes() []byte { - if x, ok := m.GetUnion().(*Oneof_F_Bytes); ok { - return x.F_Bytes - } - return nil -} - -func (m *Oneof) GetF_Sint32() int32 { - if x, ok := m.GetUnion().(*Oneof_F_Sint32); ok { - return x.F_Sint32 - } - return 0 -} - -func (m *Oneof) GetF_Sint64() int64 { - if x, ok := m.GetUnion().(*Oneof_F_Sint64); ok { - return x.F_Sint64 - } - return 0 -} - -func (m *Oneof) GetF_Enum() MyMessage_Color { - if x, ok := m.GetUnion().(*Oneof_F_Enum); ok { - return x.F_Enum - } - return MyMessage_RED -} - -func (m *Oneof) GetF_Message() *GoTestField { - if x, ok := m.GetUnion().(*Oneof_F_Message); ok { - return x.F_Message - } - return nil -} - -func (m *Oneof) GetFGroup() *Oneof_F_Group { - if x, ok := m.GetUnion().(*Oneof_FGroup); ok { - return x.FGroup - } - return nil -} - -func (m *Oneof) GetF_Largest_Tag() int32 { - if x, ok := m.GetUnion().(*Oneof_F_Largest_Tag); ok { - return x.F_Largest_Tag - } - return 0 -} - -func (m *Oneof) GetValue() int32 { - if x, ok := m.GetTormato().(*Oneof_Value); ok { - return x.Value - } - return 0 -} - -// XXX_OneofFuncs is for the internal use of the proto package. -func (*Oneof) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _Oneof_OneofMarshaler, _Oneof_OneofUnmarshaler, _Oneof_OneofSizer, []interface{}{ - (*Oneof_F_Bool)(nil), - (*Oneof_F_Int32)(nil), - (*Oneof_F_Int64)(nil), - (*Oneof_F_Fixed32)(nil), - (*Oneof_F_Fixed64)(nil), - (*Oneof_F_Uint32)(nil), - (*Oneof_F_Uint64)(nil), - (*Oneof_F_Float)(nil), - (*Oneof_F_Double)(nil), - (*Oneof_F_String)(nil), - (*Oneof_F_Bytes)(nil), - (*Oneof_F_Sint32)(nil), - (*Oneof_F_Sint64)(nil), - (*Oneof_F_Enum)(nil), - (*Oneof_F_Message)(nil), - (*Oneof_FGroup)(nil), - (*Oneof_F_Largest_Tag)(nil), - (*Oneof_Value)(nil), - } -} - -func _Oneof_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*Oneof) - // union - switch x := m.Union.(type) { - case *Oneof_F_Bool: - t := uint64(0) - if x.F_Bool { - t = 1 - } - _ = b.EncodeVarint(1<<3 | proto.WireVarint) - _ = b.EncodeVarint(t) - case *Oneof_F_Int32: - _ = b.EncodeVarint(2<<3 | proto.WireVarint) - _ = b.EncodeVarint(uint64(x.F_Int32)) - case *Oneof_F_Int64: - _ = b.EncodeVarint(3<<3 | proto.WireVarint) - _ = b.EncodeVarint(uint64(x.F_Int64)) - case *Oneof_F_Fixed32: - _ = b.EncodeVarint(4<<3 | proto.WireFixed32) - _ = b.EncodeFixed32(uint64(x.F_Fixed32)) - case *Oneof_F_Fixed64: - _ = b.EncodeVarint(5<<3 | proto.WireFixed64) - _ = b.EncodeFixed64(uint64(x.F_Fixed64)) - case *Oneof_F_Uint32: - _ = b.EncodeVarint(6<<3 | proto.WireVarint) - _ = b.EncodeVarint(uint64(x.F_Uint32)) - case *Oneof_F_Uint64: - _ = b.EncodeVarint(7<<3 | proto.WireVarint) - _ = b.EncodeVarint(uint64(x.F_Uint64)) - case *Oneof_F_Float: - _ = b.EncodeVarint(8<<3 | proto.WireFixed32) - _ = b.EncodeFixed32(uint64(math.Float32bits(x.F_Float))) - case *Oneof_F_Double: - _ = b.EncodeVarint(9<<3 | proto.WireFixed64) - _ = b.EncodeFixed64(math.Float64bits(x.F_Double)) - case *Oneof_F_String: - _ = b.EncodeVarint(10<<3 | proto.WireBytes) - _ = b.EncodeStringBytes(x.F_String) - case *Oneof_F_Bytes: - _ = b.EncodeVarint(11<<3 | proto.WireBytes) - _ = b.EncodeRawBytes(x.F_Bytes) - case *Oneof_F_Sint32: - _ = b.EncodeVarint(12<<3 | proto.WireVarint) - _ = b.EncodeZigzag32(uint64(x.F_Sint32)) - case *Oneof_F_Sint64: - _ = b.EncodeVarint(13<<3 | proto.WireVarint) - _ = b.EncodeZigzag64(uint64(x.F_Sint64)) - case *Oneof_F_Enum: - _ = b.EncodeVarint(14<<3 | proto.WireVarint) - _ = b.EncodeVarint(uint64(x.F_Enum)) - case *Oneof_F_Message: - _ = b.EncodeVarint(15<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.F_Message); err != nil { - return err - } - case *Oneof_FGroup: - _ = b.EncodeVarint(16<<3 | proto.WireStartGroup) - if err := b.Marshal(x.FGroup); err != nil { - return err - } - _ = b.EncodeVarint(16<<3 | proto.WireEndGroup) - case *Oneof_F_Largest_Tag: - _ = b.EncodeVarint(536870911<<3 | proto.WireVarint) - _ = b.EncodeVarint(uint64(x.F_Largest_Tag)) - case nil: - default: - return fmt.Errorf("Oneof.Union has unexpected type %T", x) - } - // tormato - switch x := m.Tormato.(type) { - case *Oneof_Value: - _ = b.EncodeVarint(100<<3 | proto.WireVarint) - _ = b.EncodeVarint(uint64(x.Value)) - case nil: - default: - return fmt.Errorf("Oneof.Tormato has unexpected type %T", x) - } - return nil -} - -func _Oneof_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*Oneof) - switch tag { - case 1: // union.F_Bool - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Union = &Oneof_F_Bool{x != 0} - return true, err - case 2: // union.F_Int32 - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Union = &Oneof_F_Int32{int32(x)} - return true, err - case 3: // union.F_Int64 - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Union = &Oneof_F_Int64{int64(x)} - return true, err - case 4: // union.F_Fixed32 - if wire != proto.WireFixed32 { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeFixed32() - m.Union = &Oneof_F_Fixed32{uint32(x)} - return true, err - case 5: // union.F_Fixed64 - if wire != proto.WireFixed64 { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeFixed64() - m.Union = &Oneof_F_Fixed64{x} - return true, err - case 6: // union.F_Uint32 - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Union = &Oneof_F_Uint32{uint32(x)} - return true, err - case 7: // union.F_Uint64 - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Union = &Oneof_F_Uint64{x} - return true, err - case 8: // union.F_Float - if wire != proto.WireFixed32 { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeFixed32() - m.Union = &Oneof_F_Float{math.Float32frombits(uint32(x))} - return true, err - case 9: // union.F_Double - if wire != proto.WireFixed64 { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeFixed64() - m.Union = &Oneof_F_Double{math.Float64frombits(x)} - return true, err - case 10: // union.F_String - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeStringBytes() - m.Union = &Oneof_F_String{x} - return true, err - case 11: // union.F_Bytes - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeRawBytes(true) - m.Union = &Oneof_F_Bytes{x} - return true, err - case 12: // union.F_Sint32 - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeZigzag32() - m.Union = &Oneof_F_Sint32{int32(x)} - return true, err - case 13: // union.F_Sint64 - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeZigzag64() - m.Union = &Oneof_F_Sint64{int64(x)} - return true, err - case 14: // union.F_Enum - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Union = &Oneof_F_Enum{MyMessage_Color(x)} - return true, err - case 15: // union.F_Message - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(GoTestField) - err := b.DecodeMessage(msg) - m.Union = &Oneof_F_Message{msg} - return true, err - case 16: // union.f_group - if wire != proto.WireStartGroup { - return true, proto.ErrInternalBadWireType - } - msg := new(Oneof_F_Group) - err := b.DecodeGroup(msg) - m.Union = &Oneof_FGroup{msg} - return true, err - case 536870911: // union.F_Largest_Tag - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Union = &Oneof_F_Largest_Tag{int32(x)} - return true, err - case 100: // tormato.value - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Tormato = &Oneof_Value{int32(x)} - return true, err - default: - return false, nil - } -} - -func _Oneof_OneofSizer(msg proto.Message) (n int) { - m := msg.(*Oneof) - // union - switch x := m.Union.(type) { - case *Oneof_F_Bool: - n += proto.SizeVarint(1<<3 | proto.WireVarint) - n += 1 - case *Oneof_F_Int32: - n += proto.SizeVarint(2<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.F_Int32)) - case *Oneof_F_Int64: - n += proto.SizeVarint(3<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.F_Int64)) - case *Oneof_F_Fixed32: - n += proto.SizeVarint(4<<3 | proto.WireFixed32) - n += 4 - case *Oneof_F_Fixed64: - n += proto.SizeVarint(5<<3 | proto.WireFixed64) - n += 8 - case *Oneof_F_Uint32: - n += proto.SizeVarint(6<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.F_Uint32)) - case *Oneof_F_Uint64: - n += proto.SizeVarint(7<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.F_Uint64)) - case *Oneof_F_Float: - n += proto.SizeVarint(8<<3 | proto.WireFixed32) - n += 4 - case *Oneof_F_Double: - n += proto.SizeVarint(9<<3 | proto.WireFixed64) - n += 8 - case *Oneof_F_String: - n += proto.SizeVarint(10<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.F_String))) - n += len(x.F_String) - case *Oneof_F_Bytes: - n += proto.SizeVarint(11<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.F_Bytes))) - n += len(x.F_Bytes) - case *Oneof_F_Sint32: - n += proto.SizeVarint(12<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64((uint32(x.F_Sint32) << 1) ^ uint32((int32(x.F_Sint32) >> 31)))) - case *Oneof_F_Sint64: - n += proto.SizeVarint(13<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(uint64(x.F_Sint64<<1) ^ uint64((int64(x.F_Sint64) >> 63)))) - case *Oneof_F_Enum: - n += proto.SizeVarint(14<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.F_Enum)) - case *Oneof_F_Message: - s := proto.Size(x.F_Message) - n += proto.SizeVarint(15<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *Oneof_FGroup: - n += proto.SizeVarint(16<<3 | proto.WireStartGroup) - n += proto.Size(x.FGroup) - n += proto.SizeVarint(16<<3 | proto.WireEndGroup) - case *Oneof_F_Largest_Tag: - n += proto.SizeVarint(536870911<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.F_Largest_Tag)) - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - // tormato - switch x := m.Tormato.(type) { - case *Oneof_Value: - n += proto.SizeVarint(100<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.Value)) - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - return n -} - -type Oneof_F_Group struct { - X *int32 `protobuf:"varint,17,opt,name=x" json:"x,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Oneof_F_Group) Reset() { *m = Oneof_F_Group{} } -func (m *Oneof_F_Group) String() string { return proto.CompactTextString(m) } -func (*Oneof_F_Group) ProtoMessage() {} -func (*Oneof_F_Group) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{29, 0} } - -func (m *Oneof_F_Group) GetX() int32 { - if m != nil && m.X != nil { - return *m.X - } - return 0 -} - -type Communique struct { - MakeMeCry *bool `protobuf:"varint,1,opt,name=make_me_cry,json=makeMeCry" json:"make_me_cry,omitempty"` - // This is a oneof, called "union". - // - // Types that are valid to be assigned to Union: - // *Communique_Number - // *Communique_Name - // *Communique_Data - // *Communique_TempC - // *Communique_Col - // *Communique_Msg - Union isCommunique_Union `protobuf_oneof:"union"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Communique) Reset() { *m = Communique{} } -func (m *Communique) String() string { return proto.CompactTextString(m) } -func (*Communique) ProtoMessage() {} -func (*Communique) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{30} } - -type isCommunique_Union interface { - isCommunique_Union() -} - -type Communique_Number struct { - Number int32 `protobuf:"varint,5,opt,name=number,oneof"` -} -type Communique_Name struct { - Name string `protobuf:"bytes,6,opt,name=name,oneof"` -} -type Communique_Data struct { - Data []byte `protobuf:"bytes,7,opt,name=data,oneof"` -} -type Communique_TempC struct { - TempC float64 `protobuf:"fixed64,8,opt,name=temp_c,json=tempC,oneof"` -} -type Communique_Col struct { - Col MyMessage_Color `protobuf:"varint,9,opt,name=col,enum=testdata.MyMessage_Color,oneof"` -} -type Communique_Msg struct { - Msg *Strings `protobuf:"bytes,10,opt,name=msg,oneof"` -} - -func (*Communique_Number) isCommunique_Union() {} -func (*Communique_Name) isCommunique_Union() {} -func (*Communique_Data) isCommunique_Union() {} -func (*Communique_TempC) isCommunique_Union() {} -func (*Communique_Col) isCommunique_Union() {} -func (*Communique_Msg) isCommunique_Union() {} - -func (m *Communique) GetUnion() isCommunique_Union { - if m != nil { - return m.Union - } - return nil -} - -func (m *Communique) GetMakeMeCry() bool { - if m != nil && m.MakeMeCry != nil { - return *m.MakeMeCry - } - return false -} - -func (m *Communique) GetNumber() int32 { - if x, ok := m.GetUnion().(*Communique_Number); ok { - return x.Number - } - return 0 -} - -func (m *Communique) GetName() string { - if x, ok := m.GetUnion().(*Communique_Name); ok { - return x.Name - } - return "" -} - -func (m *Communique) GetData() []byte { - if x, ok := m.GetUnion().(*Communique_Data); ok { - return x.Data - } - return nil -} - -func (m *Communique) GetTempC() float64 { - if x, ok := m.GetUnion().(*Communique_TempC); ok { - return x.TempC - } - return 0 -} - -func (m *Communique) GetCol() MyMessage_Color { - if x, ok := m.GetUnion().(*Communique_Col); ok { - return x.Col - } - return MyMessage_RED -} - -func (m *Communique) GetMsg() *Strings { - if x, ok := m.GetUnion().(*Communique_Msg); ok { - return x.Msg - } - return nil -} - -// XXX_OneofFuncs is for the internal use of the proto package. -func (*Communique) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _Communique_OneofMarshaler, _Communique_OneofUnmarshaler, _Communique_OneofSizer, []interface{}{ - (*Communique_Number)(nil), - (*Communique_Name)(nil), - (*Communique_Data)(nil), - (*Communique_TempC)(nil), - (*Communique_Col)(nil), - (*Communique_Msg)(nil), - } -} - -func _Communique_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*Communique) - // union - switch x := m.Union.(type) { - case *Communique_Number: - _ = b.EncodeVarint(5<<3 | proto.WireVarint) - _ = b.EncodeVarint(uint64(x.Number)) - case *Communique_Name: - _ = b.EncodeVarint(6<<3 | proto.WireBytes) - _ = b.EncodeStringBytes(x.Name) - case *Communique_Data: - _ = b.EncodeVarint(7<<3 | proto.WireBytes) - _ = b.EncodeRawBytes(x.Data) - case *Communique_TempC: - _ = b.EncodeVarint(8<<3 | proto.WireFixed64) - _ = b.EncodeFixed64(math.Float64bits(x.TempC)) - case *Communique_Col: - _ = b.EncodeVarint(9<<3 | proto.WireVarint) - _ = b.EncodeVarint(uint64(x.Col)) - case *Communique_Msg: - _ = b.EncodeVarint(10<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Msg); err != nil { - return err - } - case nil: - default: - return fmt.Errorf("Communique.Union has unexpected type %T", x) - } - return nil -} - -func _Communique_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*Communique) - switch tag { - case 5: // union.number - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Union = &Communique_Number{int32(x)} - return true, err - case 6: // union.name - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeStringBytes() - m.Union = &Communique_Name{x} - return true, err - case 7: // union.data - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeRawBytes(true) - m.Union = &Communique_Data{x} - return true, err - case 8: // union.temp_c - if wire != proto.WireFixed64 { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeFixed64() - m.Union = &Communique_TempC{math.Float64frombits(x)} - return true, err - case 9: // union.col - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Union = &Communique_Col{MyMessage_Color(x)} - return true, err - case 10: // union.msg - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(Strings) - err := b.DecodeMessage(msg) - m.Union = &Communique_Msg{msg} - return true, err - default: - return false, nil - } -} - -func _Communique_OneofSizer(msg proto.Message) (n int) { - m := msg.(*Communique) - // union - switch x := m.Union.(type) { - case *Communique_Number: - n += proto.SizeVarint(5<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.Number)) - case *Communique_Name: - n += proto.SizeVarint(6<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.Name))) - n += len(x.Name) - case *Communique_Data: - n += proto.SizeVarint(7<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.Data))) - n += len(x.Data) - case *Communique_TempC: - n += proto.SizeVarint(8<<3 | proto.WireFixed64) - n += 8 - case *Communique_Col: - n += proto.SizeVarint(9<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.Col)) - case *Communique_Msg: - s := proto.Size(x.Msg) - n += proto.SizeVarint(10<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - return n -} - -var E_Greeting = &proto.ExtensionDesc{ - ExtendedType: (*MyMessage)(nil), - ExtensionType: ([]string)(nil), - Field: 106, - Name: "testdata.greeting", - Tag: "bytes,106,rep,name=greeting", - Filename: "test.proto", -} - -var E_Complex = &proto.ExtensionDesc{ - ExtendedType: (*OtherMessage)(nil), - ExtensionType: (*ComplexExtension)(nil), - Field: 200, - Name: "testdata.complex", - Tag: "bytes,200,opt,name=complex", - Filename: "test.proto", -} - -var E_RComplex = &proto.ExtensionDesc{ - ExtendedType: (*OtherMessage)(nil), - ExtensionType: ([]*ComplexExtension)(nil), - Field: 201, - Name: "testdata.r_complex", - Tag: "bytes,201,rep,name=r_complex,json=rComplex", - Filename: "test.proto", -} - -var E_NoDefaultDouble = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*float64)(nil), - Field: 101, - Name: "testdata.no_default_double", - Tag: "fixed64,101,opt,name=no_default_double,json=noDefaultDouble", - Filename: "test.proto", -} - -var E_NoDefaultFloat = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*float32)(nil), - Field: 102, - Name: "testdata.no_default_float", - Tag: "fixed32,102,opt,name=no_default_float,json=noDefaultFloat", - Filename: "test.proto", -} - -var E_NoDefaultInt32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int32)(nil), - Field: 103, - Name: "testdata.no_default_int32", - Tag: "varint,103,opt,name=no_default_int32,json=noDefaultInt32", - Filename: "test.proto", -} - -var E_NoDefaultInt64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int64)(nil), - Field: 104, - Name: "testdata.no_default_int64", - Tag: "varint,104,opt,name=no_default_int64,json=noDefaultInt64", - Filename: "test.proto", -} - -var E_NoDefaultUint32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*uint32)(nil), - Field: 105, - Name: "testdata.no_default_uint32", - Tag: "varint,105,opt,name=no_default_uint32,json=noDefaultUint32", - Filename: "test.proto", -} - -var E_NoDefaultUint64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*uint64)(nil), - Field: 106, - Name: "testdata.no_default_uint64", - Tag: "varint,106,opt,name=no_default_uint64,json=noDefaultUint64", - Filename: "test.proto", -} - -var E_NoDefaultSint32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int32)(nil), - Field: 107, - Name: "testdata.no_default_sint32", - Tag: "zigzag32,107,opt,name=no_default_sint32,json=noDefaultSint32", - Filename: "test.proto", -} - -var E_NoDefaultSint64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int64)(nil), - Field: 108, - Name: "testdata.no_default_sint64", - Tag: "zigzag64,108,opt,name=no_default_sint64,json=noDefaultSint64", - Filename: "test.proto", -} - -var E_NoDefaultFixed32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*uint32)(nil), - Field: 109, - Name: "testdata.no_default_fixed32", - Tag: "fixed32,109,opt,name=no_default_fixed32,json=noDefaultFixed32", - Filename: "test.proto", -} - -var E_NoDefaultFixed64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*uint64)(nil), - Field: 110, - Name: "testdata.no_default_fixed64", - Tag: "fixed64,110,opt,name=no_default_fixed64,json=noDefaultFixed64", - Filename: "test.proto", -} - -var E_NoDefaultSfixed32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int32)(nil), - Field: 111, - Name: "testdata.no_default_sfixed32", - Tag: "fixed32,111,opt,name=no_default_sfixed32,json=noDefaultSfixed32", - Filename: "test.proto", -} - -var E_NoDefaultSfixed64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int64)(nil), - Field: 112, - Name: "testdata.no_default_sfixed64", - Tag: "fixed64,112,opt,name=no_default_sfixed64,json=noDefaultSfixed64", - Filename: "test.proto", -} - -var E_NoDefaultBool = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*bool)(nil), - Field: 113, - Name: "testdata.no_default_bool", - Tag: "varint,113,opt,name=no_default_bool,json=noDefaultBool", - Filename: "test.proto", -} - -var E_NoDefaultString = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*string)(nil), - Field: 114, - Name: "testdata.no_default_string", - Tag: "bytes,114,opt,name=no_default_string,json=noDefaultString", - Filename: "test.proto", -} - -var E_NoDefaultBytes = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: ([]byte)(nil), - Field: 115, - Name: "testdata.no_default_bytes", - Tag: "bytes,115,opt,name=no_default_bytes,json=noDefaultBytes", - Filename: "test.proto", -} - -var E_NoDefaultEnum = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*DefaultsMessage_DefaultsEnum)(nil), - Field: 116, - Name: "testdata.no_default_enum", - Tag: "varint,116,opt,name=no_default_enum,json=noDefaultEnum,enum=testdata.DefaultsMessage_DefaultsEnum", - Filename: "test.proto", -} - -var E_DefaultDouble = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*float64)(nil), - Field: 201, - Name: "testdata.default_double", - Tag: "fixed64,201,opt,name=default_double,json=defaultDouble,def=3.1415", - Filename: "test.proto", -} - -var E_DefaultFloat = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*float32)(nil), - Field: 202, - Name: "testdata.default_float", - Tag: "fixed32,202,opt,name=default_float,json=defaultFloat,def=3.14", - Filename: "test.proto", -} - -var E_DefaultInt32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int32)(nil), - Field: 203, - Name: "testdata.default_int32", - Tag: "varint,203,opt,name=default_int32,json=defaultInt32,def=42", - Filename: "test.proto", -} - -var E_DefaultInt64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int64)(nil), - Field: 204, - Name: "testdata.default_int64", - Tag: "varint,204,opt,name=default_int64,json=defaultInt64,def=43", - Filename: "test.proto", -} - -var E_DefaultUint32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*uint32)(nil), - Field: 205, - Name: "testdata.default_uint32", - Tag: "varint,205,opt,name=default_uint32,json=defaultUint32,def=44", - Filename: "test.proto", -} - -var E_DefaultUint64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*uint64)(nil), - Field: 206, - Name: "testdata.default_uint64", - Tag: "varint,206,opt,name=default_uint64,json=defaultUint64,def=45", - Filename: "test.proto", -} - -var E_DefaultSint32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int32)(nil), - Field: 207, - Name: "testdata.default_sint32", - Tag: "zigzag32,207,opt,name=default_sint32,json=defaultSint32,def=46", - Filename: "test.proto", -} - -var E_DefaultSint64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int64)(nil), - Field: 208, - Name: "testdata.default_sint64", - Tag: "zigzag64,208,opt,name=default_sint64,json=defaultSint64,def=47", - Filename: "test.proto", -} - -var E_DefaultFixed32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*uint32)(nil), - Field: 209, - Name: "testdata.default_fixed32", - Tag: "fixed32,209,opt,name=default_fixed32,json=defaultFixed32,def=48", - Filename: "test.proto", -} - -var E_DefaultFixed64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*uint64)(nil), - Field: 210, - Name: "testdata.default_fixed64", - Tag: "fixed64,210,opt,name=default_fixed64,json=defaultFixed64,def=49", - Filename: "test.proto", -} - -var E_DefaultSfixed32 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int32)(nil), - Field: 211, - Name: "testdata.default_sfixed32", - Tag: "fixed32,211,opt,name=default_sfixed32,json=defaultSfixed32,def=50", - Filename: "test.proto", -} - -var E_DefaultSfixed64 = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*int64)(nil), - Field: 212, - Name: "testdata.default_sfixed64", - Tag: "fixed64,212,opt,name=default_sfixed64,json=defaultSfixed64,def=51", - Filename: "test.proto", -} - -var E_DefaultBool = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*bool)(nil), - Field: 213, - Name: "testdata.default_bool", - Tag: "varint,213,opt,name=default_bool,json=defaultBool,def=1", - Filename: "test.proto", -} - -var E_DefaultString = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*string)(nil), - Field: 214, - Name: "testdata.default_string", - Tag: "bytes,214,opt,name=default_string,json=defaultString,def=Hello, string", - Filename: "test.proto", -} - -var E_DefaultBytes = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: ([]byte)(nil), - Field: 215, - Name: "testdata.default_bytes", - Tag: "bytes,215,opt,name=default_bytes,json=defaultBytes,def=Hello, bytes", - Filename: "test.proto", -} - -var E_DefaultEnum = &proto.ExtensionDesc{ - ExtendedType: (*DefaultsMessage)(nil), - ExtensionType: (*DefaultsMessage_DefaultsEnum)(nil), - Field: 216, - Name: "testdata.default_enum", - Tag: "varint,216,opt,name=default_enum,json=defaultEnum,enum=testdata.DefaultsMessage_DefaultsEnum,def=1", - Filename: "test.proto", -} - -var E_X201 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 201, - Name: "testdata.x201", - Tag: "bytes,201,opt,name=x201", - Filename: "test.proto", -} - -var E_X202 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 202, - Name: "testdata.x202", - Tag: "bytes,202,opt,name=x202", - Filename: "test.proto", -} - -var E_X203 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 203, - Name: "testdata.x203", - Tag: "bytes,203,opt,name=x203", - Filename: "test.proto", -} - -var E_X204 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 204, - Name: "testdata.x204", - Tag: "bytes,204,opt,name=x204", - Filename: "test.proto", -} - -var E_X205 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 205, - Name: "testdata.x205", - Tag: "bytes,205,opt,name=x205", - Filename: "test.proto", -} - -var E_X206 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 206, - Name: "testdata.x206", - Tag: "bytes,206,opt,name=x206", - Filename: "test.proto", -} - -var E_X207 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 207, - Name: "testdata.x207", - Tag: "bytes,207,opt,name=x207", - Filename: "test.proto", -} - -var E_X208 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 208, - Name: "testdata.x208", - Tag: "bytes,208,opt,name=x208", - Filename: "test.proto", -} - -var E_X209 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 209, - Name: "testdata.x209", - Tag: "bytes,209,opt,name=x209", - Filename: "test.proto", -} - -var E_X210 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 210, - Name: "testdata.x210", - Tag: "bytes,210,opt,name=x210", - Filename: "test.proto", -} - -var E_X211 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 211, - Name: "testdata.x211", - Tag: "bytes,211,opt,name=x211", - Filename: "test.proto", -} - -var E_X212 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 212, - Name: "testdata.x212", - Tag: "bytes,212,opt,name=x212", - Filename: "test.proto", -} - -var E_X213 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 213, - Name: "testdata.x213", - Tag: "bytes,213,opt,name=x213", - Filename: "test.proto", -} - -var E_X214 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 214, - Name: "testdata.x214", - Tag: "bytes,214,opt,name=x214", - Filename: "test.proto", -} - -var E_X215 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 215, - Name: "testdata.x215", - Tag: "bytes,215,opt,name=x215", - Filename: "test.proto", -} - -var E_X216 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 216, - Name: "testdata.x216", - Tag: "bytes,216,opt,name=x216", - Filename: "test.proto", -} - -var E_X217 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 217, - Name: "testdata.x217", - Tag: "bytes,217,opt,name=x217", - Filename: "test.proto", -} - -var E_X218 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 218, - Name: "testdata.x218", - Tag: "bytes,218,opt,name=x218", - Filename: "test.proto", -} - -var E_X219 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 219, - Name: "testdata.x219", - Tag: "bytes,219,opt,name=x219", - Filename: "test.proto", -} - -var E_X220 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 220, - Name: "testdata.x220", - Tag: "bytes,220,opt,name=x220", - Filename: "test.proto", -} - -var E_X221 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 221, - Name: "testdata.x221", - Tag: "bytes,221,opt,name=x221", - Filename: "test.proto", -} - -var E_X222 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 222, - Name: "testdata.x222", - Tag: "bytes,222,opt,name=x222", - Filename: "test.proto", -} - -var E_X223 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 223, - Name: "testdata.x223", - Tag: "bytes,223,opt,name=x223", - Filename: "test.proto", -} - -var E_X224 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 224, - Name: "testdata.x224", - Tag: "bytes,224,opt,name=x224", - Filename: "test.proto", -} - -var E_X225 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 225, - Name: "testdata.x225", - Tag: "bytes,225,opt,name=x225", - Filename: "test.proto", -} - -var E_X226 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 226, - Name: "testdata.x226", - Tag: "bytes,226,opt,name=x226", - Filename: "test.proto", -} - -var E_X227 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 227, - Name: "testdata.x227", - Tag: "bytes,227,opt,name=x227", - Filename: "test.proto", -} - -var E_X228 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 228, - Name: "testdata.x228", - Tag: "bytes,228,opt,name=x228", - Filename: "test.proto", -} - -var E_X229 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 229, - Name: "testdata.x229", - Tag: "bytes,229,opt,name=x229", - Filename: "test.proto", -} - -var E_X230 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 230, - Name: "testdata.x230", - Tag: "bytes,230,opt,name=x230", - Filename: "test.proto", -} - -var E_X231 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 231, - Name: "testdata.x231", - Tag: "bytes,231,opt,name=x231", - Filename: "test.proto", -} - -var E_X232 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 232, - Name: "testdata.x232", - Tag: "bytes,232,opt,name=x232", - Filename: "test.proto", -} - -var E_X233 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 233, - Name: "testdata.x233", - Tag: "bytes,233,opt,name=x233", - Filename: "test.proto", -} - -var E_X234 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 234, - Name: "testdata.x234", - Tag: "bytes,234,opt,name=x234", - Filename: "test.proto", -} - -var E_X235 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 235, - Name: "testdata.x235", - Tag: "bytes,235,opt,name=x235", - Filename: "test.proto", -} - -var E_X236 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 236, - Name: "testdata.x236", - Tag: "bytes,236,opt,name=x236", - Filename: "test.proto", -} - -var E_X237 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 237, - Name: "testdata.x237", - Tag: "bytes,237,opt,name=x237", - Filename: "test.proto", -} - -var E_X238 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 238, - Name: "testdata.x238", - Tag: "bytes,238,opt,name=x238", - Filename: "test.proto", -} - -var E_X239 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 239, - Name: "testdata.x239", - Tag: "bytes,239,opt,name=x239", - Filename: "test.proto", -} - -var E_X240 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 240, - Name: "testdata.x240", - Tag: "bytes,240,opt,name=x240", - Filename: "test.proto", -} - -var E_X241 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 241, - Name: "testdata.x241", - Tag: "bytes,241,opt,name=x241", - Filename: "test.proto", -} - -var E_X242 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 242, - Name: "testdata.x242", - Tag: "bytes,242,opt,name=x242", - Filename: "test.proto", -} - -var E_X243 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 243, - Name: "testdata.x243", - Tag: "bytes,243,opt,name=x243", - Filename: "test.proto", -} - -var E_X244 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 244, - Name: "testdata.x244", - Tag: "bytes,244,opt,name=x244", - Filename: "test.proto", -} - -var E_X245 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 245, - Name: "testdata.x245", - Tag: "bytes,245,opt,name=x245", - Filename: "test.proto", -} - -var E_X246 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 246, - Name: "testdata.x246", - Tag: "bytes,246,opt,name=x246", - Filename: "test.proto", -} - -var E_X247 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 247, - Name: "testdata.x247", - Tag: "bytes,247,opt,name=x247", - Filename: "test.proto", -} - -var E_X248 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 248, - Name: "testdata.x248", - Tag: "bytes,248,opt,name=x248", - Filename: "test.proto", -} - -var E_X249 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 249, - Name: "testdata.x249", - Tag: "bytes,249,opt,name=x249", - Filename: "test.proto", -} - -var E_X250 = &proto.ExtensionDesc{ - ExtendedType: (*MyMessageSet)(nil), - ExtensionType: (*Empty)(nil), - Field: 250, - Name: "testdata.x250", - Tag: "bytes,250,opt,name=x250", - Filename: "test.proto", -} - -func init() { - proto.RegisterType((*GoEnum)(nil), "testdata.GoEnum") - proto.RegisterType((*GoTestField)(nil), "testdata.GoTestField") - proto.RegisterType((*GoTest)(nil), "testdata.GoTest") - proto.RegisterType((*GoTest_RequiredGroup)(nil), "testdata.GoTest.RequiredGroup") - proto.RegisterType((*GoTest_RepeatedGroup)(nil), "testdata.GoTest.RepeatedGroup") - proto.RegisterType((*GoTest_OptionalGroup)(nil), "testdata.GoTest.OptionalGroup") - proto.RegisterType((*GoTestRequiredGroupField)(nil), "testdata.GoTestRequiredGroupField") - proto.RegisterType((*GoTestRequiredGroupField_Group)(nil), "testdata.GoTestRequiredGroupField.Group") - proto.RegisterType((*GoSkipTest)(nil), "testdata.GoSkipTest") - proto.RegisterType((*GoSkipTest_SkipGroup)(nil), "testdata.GoSkipTest.SkipGroup") - proto.RegisterType((*NonPackedTest)(nil), "testdata.NonPackedTest") - proto.RegisterType((*PackedTest)(nil), "testdata.PackedTest") - proto.RegisterType((*MaxTag)(nil), "testdata.MaxTag") - proto.RegisterType((*OldMessage)(nil), "testdata.OldMessage") - proto.RegisterType((*OldMessage_Nested)(nil), "testdata.OldMessage.Nested") - proto.RegisterType((*NewMessage)(nil), "testdata.NewMessage") - proto.RegisterType((*NewMessage_Nested)(nil), "testdata.NewMessage.Nested") - proto.RegisterType((*InnerMessage)(nil), "testdata.InnerMessage") - proto.RegisterType((*OtherMessage)(nil), "testdata.OtherMessage") - proto.RegisterType((*RequiredInnerMessage)(nil), "testdata.RequiredInnerMessage") - proto.RegisterType((*MyMessage)(nil), "testdata.MyMessage") - proto.RegisterType((*MyMessage_SomeGroup)(nil), "testdata.MyMessage.SomeGroup") - proto.RegisterType((*Ext)(nil), "testdata.Ext") - proto.RegisterType((*ComplexExtension)(nil), "testdata.ComplexExtension") - proto.RegisterType((*DefaultsMessage)(nil), "testdata.DefaultsMessage") - proto.RegisterType((*MyMessageSet)(nil), "testdata.MyMessageSet") - proto.RegisterType((*Empty)(nil), "testdata.Empty") - proto.RegisterType((*MessageList)(nil), "testdata.MessageList") - proto.RegisterType((*MessageList_Message)(nil), "testdata.MessageList.Message") - proto.RegisterType((*Strings)(nil), "testdata.Strings") - proto.RegisterType((*Defaults)(nil), "testdata.Defaults") - proto.RegisterType((*SubDefaults)(nil), "testdata.SubDefaults") - proto.RegisterType((*RepeatedEnum)(nil), "testdata.RepeatedEnum") - proto.RegisterType((*MoreRepeated)(nil), "testdata.MoreRepeated") - proto.RegisterType((*GroupOld)(nil), "testdata.GroupOld") - proto.RegisterType((*GroupOld_G)(nil), "testdata.GroupOld.G") - proto.RegisterType((*GroupNew)(nil), "testdata.GroupNew") - proto.RegisterType((*GroupNew_G)(nil), "testdata.GroupNew.G") - proto.RegisterType((*FloatingPoint)(nil), "testdata.FloatingPoint") - proto.RegisterType((*MessageWithMap)(nil), "testdata.MessageWithMap") - proto.RegisterType((*Oneof)(nil), "testdata.Oneof") - proto.RegisterType((*Oneof_F_Group)(nil), "testdata.Oneof.F_Group") - proto.RegisterType((*Communique)(nil), "testdata.Communique") - proto.RegisterEnum("testdata.FOO", FOO_name, FOO_value) - proto.RegisterEnum("testdata.GoTest_KIND", GoTest_KIND_name, GoTest_KIND_value) - proto.RegisterEnum("testdata.MyMessage_Color", MyMessage_Color_name, MyMessage_Color_value) - proto.RegisterEnum("testdata.DefaultsMessage_DefaultsEnum", DefaultsMessage_DefaultsEnum_name, DefaultsMessage_DefaultsEnum_value) - proto.RegisterEnum("testdata.Defaults_Color", Defaults_Color_name, Defaults_Color_value) - proto.RegisterEnum("testdata.RepeatedEnum_Color", RepeatedEnum_Color_name, RepeatedEnum_Color_value) - proto.RegisterExtension(E_Ext_More) - proto.RegisterExtension(E_Ext_Text) - proto.RegisterExtension(E_Ext_Number) - proto.RegisterExtension(E_Greeting) - proto.RegisterExtension(E_Complex) - proto.RegisterExtension(E_RComplex) - proto.RegisterExtension(E_NoDefaultDouble) - proto.RegisterExtension(E_NoDefaultFloat) - proto.RegisterExtension(E_NoDefaultInt32) - proto.RegisterExtension(E_NoDefaultInt64) - proto.RegisterExtension(E_NoDefaultUint32) - proto.RegisterExtension(E_NoDefaultUint64) - proto.RegisterExtension(E_NoDefaultSint32) - proto.RegisterExtension(E_NoDefaultSint64) - proto.RegisterExtension(E_NoDefaultFixed32) - proto.RegisterExtension(E_NoDefaultFixed64) - proto.RegisterExtension(E_NoDefaultSfixed32) - proto.RegisterExtension(E_NoDefaultSfixed64) - proto.RegisterExtension(E_NoDefaultBool) - proto.RegisterExtension(E_NoDefaultString) - proto.RegisterExtension(E_NoDefaultBytes) - proto.RegisterExtension(E_NoDefaultEnum) - proto.RegisterExtension(E_DefaultDouble) - proto.RegisterExtension(E_DefaultFloat) - proto.RegisterExtension(E_DefaultInt32) - proto.RegisterExtension(E_DefaultInt64) - proto.RegisterExtension(E_DefaultUint32) - proto.RegisterExtension(E_DefaultUint64) - proto.RegisterExtension(E_DefaultSint32) - proto.RegisterExtension(E_DefaultSint64) - proto.RegisterExtension(E_DefaultFixed32) - proto.RegisterExtension(E_DefaultFixed64) - proto.RegisterExtension(E_DefaultSfixed32) - proto.RegisterExtension(E_DefaultSfixed64) - proto.RegisterExtension(E_DefaultBool) - proto.RegisterExtension(E_DefaultString) - proto.RegisterExtension(E_DefaultBytes) - proto.RegisterExtension(E_DefaultEnum) - proto.RegisterExtension(E_X201) - proto.RegisterExtension(E_X202) - proto.RegisterExtension(E_X203) - proto.RegisterExtension(E_X204) - proto.RegisterExtension(E_X205) - proto.RegisterExtension(E_X206) - proto.RegisterExtension(E_X207) - proto.RegisterExtension(E_X208) - proto.RegisterExtension(E_X209) - proto.RegisterExtension(E_X210) - proto.RegisterExtension(E_X211) - proto.RegisterExtension(E_X212) - proto.RegisterExtension(E_X213) - proto.RegisterExtension(E_X214) - proto.RegisterExtension(E_X215) - proto.RegisterExtension(E_X216) - proto.RegisterExtension(E_X217) - proto.RegisterExtension(E_X218) - proto.RegisterExtension(E_X219) - proto.RegisterExtension(E_X220) - proto.RegisterExtension(E_X221) - proto.RegisterExtension(E_X222) - proto.RegisterExtension(E_X223) - proto.RegisterExtension(E_X224) - proto.RegisterExtension(E_X225) - proto.RegisterExtension(E_X226) - proto.RegisterExtension(E_X227) - proto.RegisterExtension(E_X228) - proto.RegisterExtension(E_X229) - proto.RegisterExtension(E_X230) - proto.RegisterExtension(E_X231) - proto.RegisterExtension(E_X232) - proto.RegisterExtension(E_X233) - proto.RegisterExtension(E_X234) - proto.RegisterExtension(E_X235) - proto.RegisterExtension(E_X236) - proto.RegisterExtension(E_X237) - proto.RegisterExtension(E_X238) - proto.RegisterExtension(E_X239) - proto.RegisterExtension(E_X240) - proto.RegisterExtension(E_X241) - proto.RegisterExtension(E_X242) - proto.RegisterExtension(E_X243) - proto.RegisterExtension(E_X244) - proto.RegisterExtension(E_X245) - proto.RegisterExtension(E_X246) - proto.RegisterExtension(E_X247) - proto.RegisterExtension(E_X248) - proto.RegisterExtension(E_X249) - proto.RegisterExtension(E_X250) -} - -func init() { proto.RegisterFile("test.proto", fileDescriptorTest) } - -var fileDescriptorTest = []byte{ - // 4453 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x5a, 0xc9, 0x77, 0xdb, 0x48, - 0x7a, 0x37, 0xc0, 0xfd, 0x23, 0x25, 0x42, 0x65, 0xb5, 0x9b, 0x96, 0xbc, 0xc0, 0x9c, 0xe9, 0x6e, - 0x7a, 0xd3, 0x48, 0x20, 0x44, 0xdb, 0x74, 0xa7, 0xdf, 0xf3, 0x42, 0xca, 0x7a, 0x63, 0x89, 0x0a, - 0xa4, 0xee, 0x7e, 0xd3, 0x39, 0xf0, 0x51, 0x22, 0x44, 0xb3, 0x4d, 0x02, 0x34, 0x09, 0xc5, 0x52, - 0x72, 0xe9, 0x4b, 0x72, 0xcd, 0x76, 0xc9, 0x35, 0xa7, 0x9c, 0x92, 0xbc, 0x97, 0x7f, 0x22, 0xe9, - 0xee, 0x59, 0x7b, 0xd6, 0xac, 0x93, 0x7d, 0x99, 0xec, 0xdb, 0x4c, 0x92, 0x4b, 0xcf, 0xab, 0xaf, - 0x0a, 0x40, 0x01, 0x24, 0x20, 0xf9, 0x24, 0x56, 0xd5, 0xef, 0xf7, 0xd5, 0xf6, 0xab, 0xef, 0xab, - 0xaf, 0x20, 0x00, 0xc7, 0x9c, 0x38, 0x2b, 0xa3, 0xb1, 0xed, 0xd8, 0x24, 0x4b, 0x7f, 0x77, 0x3b, - 0x4e, 0xa7, 0x7c, 0x1d, 0xd2, 0x1b, 0x76, 0xc3, 0x3a, 0x1a, 0x92, 0xab, 0x90, 0x38, 0xb4, 0xed, - 0x92, 0xa4, 0xca, 0x95, 0x79, 0x6d, 0x6e, 0xc5, 0x45, 0xac, 0x34, 0x5b, 0x2d, 0x83, 0xb6, 0x94, - 0xef, 0x40, 0x7e, 0xc3, 0xde, 0x33, 0x27, 0x4e, 0xb3, 0x6f, 0x0e, 0xba, 0x64, 0x11, 0x52, 0x4f, - 0x3b, 0xfb, 0xe6, 0x00, 0x19, 0x39, 0x83, 0x15, 0x08, 0x81, 0xe4, 0xde, 0xc9, 0xc8, 0x2c, 0xc9, - 0x58, 0x89, 0xbf, 0xcb, 0xbf, 0x72, 0x85, 0x76, 0x42, 0x99, 0xe4, 0x3a, 0x24, 0xbf, 0xdc, 0xb7, - 0xba, 0xbc, 0x97, 0xd7, 0xfc, 0x5e, 0x58, 0xfb, 0xca, 0x97, 0x37, 0xb7, 0x1f, 0x1b, 0x08, 0xa1, - 0xf6, 0xf7, 0x3a, 0xfb, 0x03, 0x6a, 0x4a, 0xa2, 0xf6, 0xb1, 0x40, 0x6b, 0x77, 0x3a, 0xe3, 0xce, - 0xb0, 0x94, 0x50, 0xa5, 0x4a, 0xca, 0x60, 0x05, 0x72, 0x1f, 0xe6, 0x0c, 0xf3, 0xc5, 0x51, 0x7f, - 0x6c, 0x76, 0x71, 0x70, 0xa5, 0xa4, 0x2a, 0x57, 0xf2, 0xd3, 0xf6, 0xb1, 0xd1, 0x08, 0x62, 0x19, - 0x79, 0x64, 0x76, 0x1c, 0x97, 0x9c, 0x52, 0x13, 0xb1, 0x64, 0x01, 0x4b, 0xc9, 0xad, 0x91, 0xd3, - 0xb7, 0xad, 0xce, 0x80, 0x91, 0xd3, 0xaa, 0x14, 0x43, 0x0e, 0x60, 0xc9, 0x9b, 0x50, 0x6c, 0xb6, - 0x1f, 0xda, 0xf6, 0xa0, 0x3d, 0xe6, 0x23, 0x2a, 0x81, 0x2a, 0x57, 0xb2, 0xc6, 0x5c, 0x93, 0xd6, - 0xba, 0xc3, 0x24, 0x15, 0x50, 0x9a, 0xed, 0x4d, 0xcb, 0xa9, 0x6a, 0x3e, 0x30, 0xaf, 0xca, 0x95, - 0x94, 0x31, 0xdf, 0xc4, 0xea, 0x29, 0x64, 0x4d, 0xf7, 0x91, 0x05, 0x55, 0xae, 0x24, 0x18, 0xb2, - 0xa6, 0x7b, 0xc8, 0x5b, 0x40, 0x9a, 0xed, 0x66, 0xff, 0xd8, 0xec, 0x8a, 0x56, 0xe7, 0x54, 0xb9, - 0x92, 0x31, 0x94, 0x26, 0x6f, 0x98, 0x81, 0x16, 0x2d, 0xcf, 0xab, 0x72, 0x25, 0xed, 0xa2, 0x05, - 0xdb, 0x37, 0x60, 0xa1, 0xd9, 0x7e, 0xb7, 0x1f, 0x1c, 0x70, 0x51, 0x95, 0x2b, 0x73, 0x46, 0xb1, - 0xc9, 0xea, 0xa7, 0xb1, 0xa2, 0x61, 0x45, 0x95, 0x2b, 0x49, 0x8e, 0x15, 0xec, 0xe2, 0xec, 0x9a, - 0x03, 0xbb, 0xe3, 0xf8, 0xd0, 0x05, 0x55, 0xae, 0xc8, 0xc6, 0x7c, 0x13, 0xab, 0x83, 0x56, 0x1f, - 0xdb, 0x47, 0xfb, 0x03, 0xd3, 0x87, 0x12, 0x55, 0xae, 0x48, 0x46, 0xb1, 0xc9, 0xea, 0x83, 0xd8, - 0x5d, 0x67, 0xdc, 0xb7, 0x7a, 0x3e, 0xf6, 0x3c, 0xea, 0xb7, 0xd8, 0x64, 0xf5, 0xc1, 0x11, 0x3c, - 0x3c, 0x71, 0xcc, 0x89, 0x0f, 0x35, 0x55, 0xb9, 0x52, 0x30, 0xe6, 0x9b, 0x58, 0x1d, 0xb2, 0x1a, - 0x5a, 0x83, 0x43, 0x55, 0xae, 0x2c, 0x50, 0xab, 0x33, 0xd6, 0x60, 0x37, 0xb4, 0x06, 0x3d, 0x55, - 0xae, 0x10, 0x8e, 0x15, 0xd6, 0x40, 0xd4, 0x0c, 0x13, 0x62, 0x69, 0x51, 0x4d, 0x08, 0x9a, 0x61, - 0x95, 0x41, 0xcd, 0x70, 0xe0, 0x6b, 0x6a, 0x42, 0xd4, 0x4c, 0x08, 0x89, 0x9d, 0x73, 0xe4, 0x05, - 0x35, 0x21, 0x6a, 0x86, 0x23, 0x43, 0x9a, 0xe1, 0xd8, 0xd7, 0xd5, 0x44, 0x50, 0x33, 0x53, 0x68, - 0xd1, 0x72, 0x49, 0x4d, 0x04, 0x35, 0xc3, 0xd1, 0x41, 0xcd, 0x70, 0xf0, 0x45, 0x35, 0x11, 0xd0, - 0x4c, 0x18, 0x2b, 0x1a, 0x5e, 0x52, 0x13, 0x01, 0xcd, 0x88, 0xb3, 0x73, 0x35, 0xc3, 0xa1, 0xcb, - 0x6a, 0x42, 0xd4, 0x8c, 0x68, 0xd5, 0xd3, 0x0c, 0x87, 0x5e, 0x52, 0x13, 0x01, 0xcd, 0x88, 0x58, - 0x4f, 0x33, 0x1c, 0x7b, 0x59, 0x4d, 0x04, 0x34, 0xc3, 0xb1, 0xd7, 0x45, 0xcd, 0x70, 0xe8, 0xc7, - 0x92, 0x9a, 0x10, 0x45, 0xc3, 0xa1, 0x37, 0x03, 0xa2, 0xe1, 0xd8, 0x4f, 0x28, 0x56, 0x54, 0x4d, - 0x18, 0x2c, 0xae, 0xc2, 0xa7, 0x14, 0x2c, 0xca, 0x86, 0x83, 0x7d, 0xd9, 0xd8, 0xdc, 0x05, 0x95, - 0xae, 0xa8, 0x92, 0x27, 0x1b, 0xd7, 0x2f, 0x89, 0xb2, 0xf1, 0x80, 0x57, 0xd1, 0xd5, 0x72, 0xd9, - 0x4c, 0x21, 0x6b, 0xba, 0x8f, 0x54, 0x55, 0xc9, 0x97, 0x8d, 0x87, 0x0c, 0xc8, 0xc6, 0xc3, 0x5e, - 0x53, 0x25, 0x51, 0x36, 0x33, 0xd0, 0xa2, 0xe5, 0xb2, 0x2a, 0x89, 0xb2, 0xf1, 0xd0, 0xa2, 0x6c, - 0x3c, 0xf0, 0x17, 0x54, 0x49, 0x90, 0xcd, 0x34, 0x56, 0x34, 0xfc, 0x45, 0x55, 0x12, 0x64, 0x13, - 0x9c, 0x1d, 0x93, 0x8d, 0x07, 0x7d, 0x43, 0x95, 0x7c, 0xd9, 0x04, 0xad, 0x72, 0xd9, 0x78, 0xd0, - 0x37, 0x55, 0x49, 0x90, 0x4d, 0x10, 0xcb, 0x65, 0xe3, 0x61, 0xdf, 0xc2, 0xf8, 0xe6, 0xca, 0xc6, - 0xc3, 0x0a, 0xb2, 0xf1, 0xa0, 0xbf, 0x43, 0x63, 0xa1, 0x27, 0x1b, 0x0f, 0x2a, 0xca, 0xc6, 0xc3, - 0xfe, 0x2e, 0xc5, 0xfa, 0xb2, 0x99, 0x06, 0x8b, 0xab, 0xf0, 0x7b, 0x14, 0xec, 0xcb, 0xc6, 0x03, - 0xaf, 0xe0, 0x20, 0xa8, 0x6c, 0xba, 0xe6, 0x61, 0xe7, 0x68, 0x40, 0x25, 0x56, 0xa1, 0xba, 0xa9, - 0x27, 0x9d, 0xf1, 0x91, 0x49, 0x47, 0x62, 0xdb, 0x83, 0xc7, 0x6e, 0x1b, 0x59, 0xa1, 0xc6, 0x99, - 0x7c, 0x7c, 0xc2, 0x75, 0xaa, 0x9f, 0xba, 0x5c, 0xd5, 0x8c, 0x22, 0xd3, 0xd0, 0x34, 0xbe, 0xa6, - 0x0b, 0xf8, 0x1b, 0x54, 0x45, 0x75, 0xb9, 0xa6, 0x33, 0x7c, 0x4d, 0xf7, 0xf1, 0x55, 0x38, 0xef, - 0x4b, 0xc9, 0x67, 0xdc, 0xa4, 0x5a, 0xaa, 0x27, 0xaa, 0xda, 0xaa, 0xb1, 0xe0, 0x0a, 0x6a, 0x16, - 0x29, 0xd0, 0xcd, 0x2d, 0x2a, 0xa9, 0x7a, 0xa2, 0xa6, 0x7b, 0x24, 0xb1, 0x27, 0x8d, 0xca, 0x90, - 0x0b, 0xcb, 0xe7, 0xdc, 0xa6, 0xca, 0xaa, 0x27, 0xab, 0xda, 0xea, 0xaa, 0xa1, 0x70, 0x7d, 0xcd, - 0xe0, 0x04, 0xfa, 0x59, 0xa1, 0x0a, 0xab, 0x27, 0x6b, 0xba, 0xc7, 0x09, 0xf6, 0xb3, 0xe0, 0x0a, - 0xcd, 0xa7, 0x7c, 0x89, 0x2a, 0xad, 0x9e, 0xae, 0xae, 0xe9, 0x6b, 0xeb, 0xf7, 0x8c, 0x22, 0x53, - 0x9c, 0xcf, 0xd1, 0x69, 0x3f, 0x5c, 0x72, 0x3e, 0x69, 0x95, 0x6a, 0xae, 0x9e, 0xd6, 0xee, 0xac, - 0xdd, 0xd5, 0xee, 0x1a, 0x0a, 0xd7, 0x9e, 0xcf, 0x7a, 0x87, 0xb2, 0xb8, 0xf8, 0x7c, 0xd6, 0x1a, - 0x55, 0x5f, 0x5d, 0x79, 0x66, 0x0e, 0x06, 0xf6, 0x2d, 0xb5, 0xfc, 0xd2, 0x1e, 0x0f, 0xba, 0xd7, - 0xca, 0x60, 0x28, 0x5c, 0x8f, 0x62, 0xaf, 0x0b, 0xae, 0x20, 0x7d, 0xfa, 0xaf, 0xd1, 0x7b, 0x58, - 0xa1, 0x9e, 0x79, 0xd8, 0xef, 0x59, 0xf6, 0xc4, 0x34, 0x8a, 0x4c, 0x9a, 0xa1, 0x35, 0xd9, 0x0d, - 0xaf, 0xe3, 0xaf, 0x53, 0xda, 0x42, 0x3d, 0x71, 0xbb, 0xaa, 0xd1, 0x9e, 0x66, 0xad, 0xe3, 0x6e, - 0x78, 0x1d, 0x7f, 0x83, 0x72, 0x48, 0x3d, 0x71, 0xbb, 0xa6, 0x73, 0x8e, 0xb8, 0x8e, 0x77, 0xe0, - 0x42, 0x28, 0x2e, 0xb6, 0x47, 0x9d, 0x83, 0xe7, 0x66, 0xb7, 0xa4, 0xd1, 0xf0, 0xf8, 0x50, 0x56, - 0x24, 0xe3, 0x7c, 0x20, 0x44, 0xee, 0x60, 0x33, 0xb9, 0x07, 0xaf, 0x87, 0x03, 0xa5, 0xcb, 0xac, - 0xd2, 0x78, 0x89, 0xcc, 0xc5, 0x60, 0xcc, 0x0c, 0x51, 0x05, 0x07, 0xec, 0x52, 0x75, 0x1a, 0x40, - 0x7d, 0xaa, 0xef, 0x89, 0x39, 0xf5, 0x67, 0xe0, 0xe2, 0x74, 0x28, 0x75, 0xc9, 0xeb, 0x34, 0xa2, - 0x22, 0xf9, 0x42, 0x38, 0xaa, 0x4e, 0xd1, 0x67, 0xf4, 0x5d, 0xa3, 0x21, 0x56, 0xa4, 0x4f, 0xf5, - 0x7e, 0x1f, 0x4a, 0x53, 0xc1, 0xd6, 0x65, 0xdf, 0xa1, 0x31, 0x17, 0xd9, 0xaf, 0x85, 0xe2, 0x6e, - 0x98, 0x3c, 0xa3, 0xeb, 0xbb, 0x34, 0x08, 0x0b, 0xe4, 0xa9, 0x9e, 0x71, 0xc9, 0x82, 0xe1, 0xd8, - 0xe5, 0xde, 0xa3, 0x51, 0x99, 0x2f, 0x59, 0x20, 0x32, 0x8b, 0xfd, 0x86, 0xe2, 0xb3, 0xcb, 0xad, - 0xd3, 0x30, 0xcd, 0xfb, 0x0d, 0x86, 0x6a, 0x4e, 0x7e, 0x9b, 0x92, 0x77, 0x67, 0xcf, 0xf8, 0xc7, - 0x09, 0x1a, 0x60, 0x39, 0x7b, 0x77, 0xd6, 0x94, 0x3d, 0xf6, 0x8c, 0x29, 0xff, 0x84, 0xb2, 0x89, - 0xc0, 0x9e, 0x9a, 0xf3, 0x63, 0x98, 0x73, 0x6f, 0x75, 0xbd, 0xb1, 0x7d, 0x34, 0x2a, 0x35, 0x55, - 0xb9, 0x02, 0xda, 0x95, 0xa9, 0xec, 0xc7, 0xbd, 0xe4, 0x6d, 0x50, 0x94, 0x11, 0x24, 0x31, 0x2b, - 0xcc, 0x2e, 0xb3, 0xb2, 0xa3, 0x26, 0x22, 0xac, 0x30, 0x94, 0x67, 0x45, 0x20, 0x51, 0x2b, 0xae, - 0xd3, 0x67, 0x56, 0x3e, 0x50, 0xa5, 0x99, 0x56, 0xdc, 0x10, 0xc0, 0xad, 0x04, 0x48, 0x4b, 0xeb, - 0x7e, 0xbe, 0x85, 0xed, 0xe4, 0x8b, 0xe1, 0x04, 0x6c, 0x03, 0xef, 0xcf, 0xc1, 0x4a, 0x46, 0x13, - 0x06, 0x37, 0x4d, 0xfb, 0xd9, 0x08, 0x5a, 0x60, 0x34, 0xd3, 0xb4, 0x9f, 0x9b, 0x41, 0x2b, 0xff, - 0xa6, 0x04, 0x49, 0x9a, 0x4f, 0x92, 0x2c, 0x24, 0xdf, 0x6b, 0x6d, 0x3e, 0x56, 0xce, 0xd1, 0x5f, - 0x0f, 0x5b, 0xad, 0xa7, 0x8a, 0x44, 0x72, 0x90, 0x7a, 0xf8, 0x95, 0xbd, 0xc6, 0xae, 0x22, 0x93, - 0x22, 0xe4, 0x9b, 0x9b, 0xdb, 0x1b, 0x0d, 0x63, 0xc7, 0xd8, 0xdc, 0xde, 0x53, 0x12, 0xb4, 0xad, - 0xf9, 0xb4, 0xf5, 0x60, 0x4f, 0x49, 0x92, 0x0c, 0x24, 0x68, 0x5d, 0x8a, 0x00, 0xa4, 0x77, 0xf7, - 0x8c, 0xcd, 0xed, 0x0d, 0x25, 0x4d, 0xad, 0xec, 0x6d, 0x6e, 0x35, 0x94, 0x0c, 0x45, 0xee, 0xbd, - 0xbb, 0xf3, 0xb4, 0xa1, 0x64, 0xe9, 0xcf, 0x07, 0x86, 0xf1, 0xe0, 0x2b, 0x4a, 0x8e, 0x92, 0xb6, - 0x1e, 0xec, 0x28, 0x80, 0xcd, 0x0f, 0x1e, 0x3e, 0x6d, 0x28, 0x79, 0x52, 0x80, 0x6c, 0xf3, 0xdd, - 0xed, 0x47, 0x7b, 0x9b, 0xad, 0x6d, 0xa5, 0x50, 0x3e, 0x81, 0x12, 0x5b, 0xe6, 0xc0, 0x2a, 0xb2, - 0xa4, 0xf0, 0x1d, 0x48, 0xb1, 0x9d, 0x91, 0x50, 0x25, 0x95, 0xf0, 0xce, 0x4c, 0x53, 0x56, 0xd8, - 0x1e, 0x31, 0xda, 0xd2, 0x65, 0x48, 0xb1, 0x55, 0x5a, 0x84, 0x14, 0x5b, 0x1d, 0x19, 0x53, 0x45, - 0x56, 0x28, 0xff, 0x96, 0x0c, 0xb0, 0x61, 0xef, 0x3e, 0xef, 0x8f, 0x30, 0x21, 0xbf, 0x0c, 0x30, - 0x79, 0xde, 0x1f, 0xb5, 0x51, 0xf5, 0x3c, 0xa9, 0xcc, 0xd1, 0x1a, 0xf4, 0x77, 0xe4, 0x1a, 0x14, - 0xb0, 0xf9, 0x90, 0x79, 0x21, 0xcc, 0x25, 0x33, 0x46, 0x9e, 0xd6, 0x71, 0xc7, 0x14, 0x84, 0xd4, - 0x74, 0x4c, 0x21, 0xd3, 0x02, 0xa4, 0xa6, 0x93, 0xab, 0x80, 0xc5, 0xf6, 0x04, 0x23, 0x0a, 0xa6, - 0x8d, 0x39, 0x03, 0xfb, 0x65, 0x31, 0x86, 0xbc, 0x0d, 0xd8, 0x27, 0x9b, 0x77, 0x71, 0xfa, 0x74, - 0xb8, 0xc3, 0x5d, 0xa1, 0x3f, 0xd8, 0x6c, 0x7d, 0xc2, 0x52, 0x0b, 0x72, 0x5e, 0x3d, 0xed, 0x0b, - 0x6b, 0xf9, 0x8c, 0x14, 0x9c, 0x11, 0x60, 0x95, 0x37, 0x25, 0x06, 0xe0, 0xa3, 0x59, 0xc0, 0xd1, - 0x30, 0x12, 0x1b, 0x4e, 0xf9, 0x32, 0xcc, 0x6d, 0xdb, 0x16, 0x3b, 0xbd, 0xb8, 0x4a, 0x05, 0x90, - 0x3a, 0x25, 0x09, 0xb3, 0x27, 0xa9, 0x53, 0xbe, 0x02, 0x20, 0xb4, 0x29, 0x20, 0xed, 0xb3, 0x36, - 0xf4, 0x01, 0xd2, 0x7e, 0xf9, 0x26, 0xa4, 0xb7, 0x3a, 0xc7, 0x7b, 0x9d, 0x1e, 0xb9, 0x06, 0x30, - 0xe8, 0x4c, 0x9c, 0xf6, 0x21, 0xee, 0xc3, 0xe7, 0x9f, 0x7f, 0xfe, 0xb9, 0x84, 0x97, 0xbd, 0x1c, - 0xad, 0x65, 0xfb, 0xf1, 0x02, 0xa0, 0x35, 0xe8, 0x6e, 0x99, 0x93, 0x49, 0xa7, 0x67, 0x92, 0x2a, - 0xa4, 0x2d, 0x73, 0x42, 0xa3, 0x9d, 0x84, 0xef, 0x08, 0xcb, 0xfe, 0x2a, 0xf8, 0xa8, 0x95, 0x6d, - 0x84, 0x18, 0x1c, 0x4a, 0x14, 0x48, 0x58, 0x47, 0x43, 0x7c, 0x27, 0x49, 0x19, 0xf4, 0xe7, 0xd2, - 0x25, 0x48, 0x33, 0x0c, 0x21, 0x90, 0xb4, 0x3a, 0x43, 0xb3, 0xc4, 0xfa, 0xc5, 0xdf, 0xe5, 0x5f, - 0x95, 0x00, 0xb6, 0xcd, 0x97, 0x67, 0xe8, 0xd3, 0x47, 0xc5, 0xf4, 0x99, 0x60, 0x7d, 0xde, 0x8f, - 0xeb, 0x93, 0xea, 0xec, 0xd0, 0xb6, 0xbb, 0x6d, 0xb6, 0xc5, 0xec, 0x49, 0x27, 0x47, 0x6b, 0x70, - 0xd7, 0xca, 0x1f, 0x40, 0x61, 0xd3, 0xb2, 0xcc, 0xb1, 0x3b, 0x26, 0x02, 0xc9, 0x67, 0xf6, 0xc4, - 0xe1, 0x6f, 0x4b, 0xf8, 0x9b, 0x94, 0x20, 0x39, 0xb2, 0xc7, 0x0e, 0x9b, 0x67, 0x3d, 0xa9, 0xaf, - 0xae, 0xae, 0x1a, 0x58, 0x43, 0x2e, 0x41, 0xee, 0xc0, 0xb6, 0x2c, 0xf3, 0x80, 0x4e, 0x22, 0x81, - 0x69, 0x8d, 0x5f, 0x51, 0xfe, 0x65, 0x09, 0x0a, 0x2d, 0xe7, 0x99, 0x6f, 0x5c, 0x81, 0xc4, 0x73, - 0xf3, 0x04, 0x87, 0x97, 0x30, 0xe8, 0x4f, 0x7a, 0x54, 0x7e, 0xbe, 0x33, 0x38, 0x62, 0x6f, 0x4d, - 0x05, 0x83, 0x15, 0xc8, 0x05, 0x48, 0xbf, 0x34, 0xfb, 0xbd, 0x67, 0x0e, 0xda, 0x94, 0x0d, 0x5e, - 0x22, 0xb7, 0x20, 0xd5, 0xa7, 0x83, 0x2d, 0x25, 0x71, 0xbd, 0x2e, 0xf8, 0xeb, 0x25, 0xce, 0xc1, - 0x60, 0xa0, 0x1b, 0xd9, 0x6c, 0x57, 0xf9, 0xe8, 0xa3, 0x8f, 0x3e, 0x92, 0xcb, 0x87, 0xb0, 0xe8, - 0x1e, 0xde, 0xc0, 0x64, 0xb7, 0xa1, 0x34, 0x30, 0xed, 0xf6, 0x61, 0xdf, 0xea, 0x0c, 0x06, 0x27, - 0xed, 0x97, 0xb6, 0xd5, 0xee, 0x58, 0x6d, 0x7b, 0x72, 0xd0, 0x19, 0xe3, 0x02, 0x44, 0x77, 0xb1, - 0x38, 0x30, 0xed, 0x26, 0xa3, 0xbd, 0x6f, 0x5b, 0x0f, 0xac, 0x16, 0xe5, 0x94, 0xff, 0x20, 0x09, - 0xb9, 0xad, 0x13, 0xd7, 0xfa, 0x22, 0xa4, 0x0e, 0xec, 0x23, 0x8b, 0xad, 0x65, 0xca, 0x60, 0x05, - 0x6f, 0x8f, 0x64, 0x61, 0x8f, 0x16, 0x21, 0xf5, 0xe2, 0xc8, 0x76, 0x4c, 0x9c, 0x6e, 0xce, 0x60, - 0x05, 0xba, 0x5a, 0x23, 0xd3, 0x29, 0x25, 0x31, 0xb9, 0xa5, 0x3f, 0xfd, 0xf9, 0xa7, 0xce, 0x30, - 0x7f, 0xb2, 0x02, 0x69, 0x9b, 0xae, 0xfe, 0xa4, 0x94, 0xc6, 0x77, 0x35, 0x01, 0x2e, 0xee, 0x8a, - 0xc1, 0x51, 0x64, 0x13, 0x16, 0x5e, 0x9a, 0xed, 0xe1, 0xd1, 0xc4, 0x69, 0xf7, 0xec, 0x76, 0xd7, - 0x34, 0x47, 0xe6, 0xb8, 0x34, 0x87, 0x3d, 0x09, 0x3e, 0x61, 0xd6, 0x42, 0x1a, 0xf3, 0x2f, 0xcd, - 0xad, 0xa3, 0x89, 0xb3, 0x61, 0x3f, 0x46, 0x16, 0xa9, 0x42, 0x6e, 0x6c, 0x52, 0x4f, 0x40, 0x07, - 0x5b, 0x08, 0xf7, 0x1e, 0xa0, 0x66, 0xc7, 0xe6, 0x08, 0x2b, 0xc8, 0x3a, 0x64, 0xf7, 0xfb, 0xcf, - 0xcd, 0xc9, 0x33, 0xb3, 0x5b, 0xca, 0xa8, 0x52, 0x65, 0x5e, 0xbb, 0xe8, 0x73, 0xbc, 0x65, 0x5d, - 0x79, 0x64, 0x0f, 0xec, 0xb1, 0xe1, 0x41, 0xc9, 0x7d, 0xc8, 0x4d, 0xec, 0xa1, 0xc9, 0xf4, 0x9d, - 0xc5, 0xa0, 0x7a, 0x79, 0x16, 0x6f, 0xd7, 0x1e, 0x9a, 0xae, 0x07, 0x73, 0xf1, 0x64, 0x99, 0x0d, - 0x74, 0x9f, 0x5e, 0x9d, 0x4b, 0x80, 0x4f, 0x03, 0x74, 0x40, 0x78, 0x95, 0x26, 0x4b, 0x74, 0x40, - 0xbd, 0x43, 0x7a, 0x23, 0x2a, 0xe5, 0x31, 0xaf, 0xf4, 0xca, 0x4b, 0xb7, 0x20, 0xe7, 0x19, 0xf4, - 0x5d, 0x1f, 0x73, 0x37, 0x39, 0xf4, 0x07, 0xcc, 0xf5, 0x31, 0x5f, 0xf3, 0x06, 0xa4, 0x70, 0xd8, - 0x34, 0x42, 0x19, 0x0d, 0x1a, 0x10, 0x73, 0x90, 0xda, 0x30, 0x1a, 0x8d, 0x6d, 0x45, 0xc2, 0xd8, - 0xf8, 0xf4, 0xdd, 0x86, 0x22, 0x0b, 0x8a, 0xfd, 0x6d, 0x09, 0x12, 0x8d, 0x63, 0x54, 0x0b, 0x9d, - 0x86, 0x7b, 0xa2, 0xe9, 0x6f, 0xad, 0x06, 0xc9, 0xa1, 0x3d, 0x36, 0xc9, 0xf9, 0x19, 0xb3, 0x2c, - 0xf5, 0x70, 0xbf, 0x84, 0x57, 0xe4, 0xc6, 0xb1, 0x63, 0x20, 0x5e, 0x7b, 0x0b, 0x92, 0x8e, 0x79, - 0xec, 0xcc, 0xe6, 0x3d, 0x63, 0x1d, 0x50, 0x80, 0x76, 0x13, 0xd2, 0xd6, 0xd1, 0x70, 0xdf, 0x1c, - 0xcf, 0x86, 0xf6, 0x71, 0x7a, 0x1c, 0x52, 0x7e, 0x0f, 0x94, 0x47, 0xf6, 0x70, 0x34, 0x30, 0x8f, - 0x1b, 0xc7, 0x8e, 0x69, 0x4d, 0xfa, 0xb6, 0x45, 0xf5, 0x7c, 0xd8, 0x1f, 0xa3, 0x17, 0xc1, 0xb7, - 0x62, 0x2c, 0xd0, 0x53, 0x3d, 0x31, 0x0f, 0x6c, 0xab, 0xcb, 0x1d, 0x26, 0x2f, 0x51, 0xb4, 0xf3, - 0xac, 0x3f, 0xa6, 0x0e, 0x84, 0xfa, 0x79, 0x56, 0x28, 0x6f, 0x40, 0x91, 0xe7, 0x18, 0x13, 0xde, - 0x71, 0xf9, 0x06, 0x14, 0xdc, 0x2a, 0x7c, 0x38, 0xcf, 0x42, 0xf2, 0x83, 0x86, 0xd1, 0x52, 0xce, - 0xd1, 0x65, 0x6d, 0x6d, 0x37, 0x14, 0x89, 0xfe, 0xd8, 0x7b, 0xbf, 0x15, 0x58, 0xca, 0x4b, 0x50, - 0xf0, 0xc6, 0xbe, 0x6b, 0x3a, 0xd8, 0x42, 0x03, 0x42, 0xa6, 0x2e, 0x67, 0xa5, 0x72, 0x06, 0x52, - 0x8d, 0xe1, 0xc8, 0x39, 0x29, 0xff, 0x22, 0xe4, 0x39, 0xe8, 0x69, 0x7f, 0xe2, 0x90, 0x3b, 0x90, - 0x19, 0xf2, 0xf9, 0x4a, 0x78, 0xdd, 0x13, 0x35, 0xe5, 0xe3, 0xdc, 0xdf, 0x86, 0x8b, 0x5e, 0xaa, - 0x42, 0x46, 0xf0, 0xa5, 0xfc, 0xa8, 0xcb, 0xe2, 0x51, 0x67, 0x4e, 0x21, 0x21, 0x38, 0x85, 0xf2, - 0x16, 0x64, 0x58, 0x04, 0x9c, 0x60, 0x54, 0x67, 0xa9, 0x22, 0x13, 0x13, 0xdb, 0xf9, 0x3c, 0xab, - 0x63, 0x17, 0x95, 0xab, 0x90, 0x47, 0xc1, 0x72, 0x04, 0x73, 0x9d, 0x80, 0x55, 0x4c, 0x6e, 0xbf, - 0x9f, 0x82, 0xac, 0xbb, 0x52, 0x64, 0x19, 0xd2, 0x2c, 0x3f, 0x43, 0x53, 0xee, 0xfb, 0x41, 0x0a, - 0x33, 0x32, 0xb2, 0x0c, 0x19, 0x9e, 0x83, 0x71, 0xef, 0x2e, 0x57, 0x35, 0x23, 0xcd, 0x72, 0x2e, - 0xaf, 0xb1, 0xa6, 0xa3, 0x63, 0x62, 0x2f, 0x03, 0x69, 0x96, 0x55, 0x11, 0x15, 0x72, 0x5e, 0x1e, - 0x85, 0xfe, 0x98, 0x3f, 0x03, 0x64, 0xdd, 0xc4, 0x49, 0x40, 0xd4, 0x74, 0xf4, 0x58, 0x3c, 0xe7, - 0xcf, 0x36, 0xfd, 0xeb, 0x49, 0xd6, 0xcd, 0x86, 0xf0, 0xf9, 0xde, 0x4d, 0xf0, 0x33, 0x3c, 0xff, - 0xf1, 0x01, 0x35, 0x1d, 0x5d, 0x82, 0x9b, 0xcd, 0x67, 0x78, 0x8e, 0x43, 0xae, 0xd2, 0x21, 0x62, - 0xce, 0x82, 0x47, 0xdf, 0x4f, 0xdd, 0xd3, 0x2c, 0x93, 0x21, 0xd7, 0xa8, 0x05, 0x96, 0x98, 0xe0, - 0xb9, 0xf4, 0xf3, 0xf4, 0x0c, 0xcf, 0x57, 0xc8, 0x4d, 0x0a, 0x61, 0xcb, 0x5f, 0x82, 0x88, 0xa4, - 0x3c, 0xc3, 0x93, 0x72, 0xa2, 0xd2, 0x0e, 0xd1, 0x3d, 0xa0, 0x4b, 0x10, 0x12, 0xf0, 0x34, 0x4b, - 0xc0, 0xc9, 0x15, 0x34, 0xc7, 0x26, 0x55, 0xf0, 0x93, 0xed, 0x0c, 0x4f, 0x70, 0xfc, 0x76, 0xbc, - 0xb2, 0x79, 0x89, 0x75, 0x86, 0xa7, 0x30, 0xa4, 0x46, 0xf7, 0x8b, 0xea, 0xbb, 0x34, 0x8f, 0x4e, - 0xb0, 0xe4, 0x0b, 0xcf, 0xdd, 0x53, 0xe6, 0x03, 0xeb, 0xcc, 0x83, 0x18, 0xa9, 0x26, 0x9e, 0x86, - 0x25, 0xca, 0xdb, 0xe9, 0x5b, 0x87, 0xa5, 0x22, 0xae, 0x44, 0xa2, 0x6f, 0x1d, 0x1a, 0xa9, 0x26, - 0xad, 0x61, 0x1a, 0xd8, 0xa6, 0x6d, 0x0a, 0xb6, 0x25, 0x6f, 0xb3, 0x46, 0x5a, 0x45, 0x4a, 0x90, - 0x6a, 0xb6, 0xb7, 0x3b, 0x56, 0x69, 0x81, 0xf1, 0xac, 0x8e, 0x65, 0x24, 0x9b, 0xdb, 0x1d, 0x8b, - 0xbc, 0x05, 0x89, 0xc9, 0xd1, 0x7e, 0x89, 0x84, 0xbf, 0xac, 0xec, 0x1e, 0xed, 0xbb, 0x43, 0x31, - 0x28, 0x82, 0x2c, 0x43, 0x76, 0xe2, 0x8c, 0xdb, 0xbf, 0x60, 0x8e, 0xed, 0xd2, 0x79, 0x5c, 0xc2, - 0x73, 0x46, 0x66, 0xe2, 0x8c, 0x3f, 0x30, 0xc7, 0xf6, 0x19, 0x9d, 0x5f, 0xf9, 0x0a, 0xe4, 0x05, - 0xbb, 0xa4, 0x08, 0x92, 0xc5, 0x6e, 0x0a, 0x75, 0xe9, 0x8e, 0x21, 0x59, 0xe5, 0x3d, 0x28, 0xb8, - 0x39, 0x0c, 0xce, 0x57, 0xa3, 0x27, 0x69, 0x60, 0x8f, 0xf1, 0x7c, 0xce, 0x6b, 0x97, 0xc4, 0x10, - 0xe5, 0xc3, 0x78, 0xb8, 0x60, 0xd0, 0xb2, 0x12, 0x1a, 0x8a, 0x54, 0xfe, 0xa1, 0x04, 0x85, 0x2d, - 0x7b, 0xec, 0x3f, 0x30, 0x2f, 0x42, 0x6a, 0xdf, 0xb6, 0x07, 0x13, 0x34, 0x9b, 0x35, 0x58, 0x81, - 0xbc, 0x01, 0x05, 0xfc, 0xe1, 0xe6, 0x9e, 0xb2, 0xf7, 0xb4, 0x91, 0xc7, 0x7a, 0x9e, 0x70, 0x12, - 0x48, 0xf6, 0x2d, 0x67, 0xc2, 0x3d, 0x19, 0xfe, 0x26, 0x5f, 0x80, 0x3c, 0xfd, 0xeb, 0x32, 0x93, - 0xde, 0x85, 0x15, 0x68, 0x35, 0x27, 0xbe, 0x05, 0x73, 0xb8, 0xfb, 0x1e, 0x2c, 0xe3, 0x3d, 0x63, - 0x14, 0x58, 0x03, 0x07, 0x96, 0x20, 0xc3, 0x5c, 0xc1, 0x04, 0xbf, 0x96, 0xe5, 0x0c, 0xb7, 0x48, - 0xdd, 0x2b, 0x66, 0x02, 0x2c, 0xdc, 0x67, 0x0c, 0x5e, 0x2a, 0x3f, 0x80, 0x2c, 0x46, 0xa9, 0xd6, - 0xa0, 0x4b, 0xca, 0x20, 0xf5, 0x4a, 0x26, 0xc6, 0xc8, 0x45, 0xe1, 0x9a, 0xcf, 0x9b, 0x57, 0x36, - 0x0c, 0xa9, 0xb7, 0xb4, 0x00, 0xd2, 0x06, 0xbd, 0x77, 0x1f, 0x73, 0x37, 0x2d, 0x1d, 0x97, 0x5b, - 0xdc, 0xc4, 0xb6, 0xf9, 0x32, 0xce, 0xc4, 0xb6, 0xf9, 0x92, 0x99, 0xb8, 0x3a, 0x65, 0x82, 0x96, - 0x4e, 0xf8, 0xa7, 0x43, 0xe9, 0xa4, 0x5c, 0x85, 0x39, 0x3c, 0x9e, 0x7d, 0xab, 0xb7, 0x63, 0xf7, - 0x2d, 0xbc, 0xe7, 0x1f, 0xe2, 0x3d, 0x49, 0x32, 0xa4, 0x43, 0xba, 0x07, 0xe6, 0x71, 0xe7, 0x80, - 0xdd, 0x38, 0xb3, 0x06, 0x2b, 0x94, 0x3f, 0x4b, 0xc2, 0x3c, 0x77, 0xad, 0xef, 0xf7, 0x9d, 0x67, - 0x5b, 0x9d, 0x11, 0x79, 0x0a, 0x05, 0xea, 0x55, 0xdb, 0xc3, 0xce, 0x68, 0x44, 0x8f, 0xaf, 0x84, - 0x57, 0x8d, 0xeb, 0x53, 0xae, 0x9a, 0xe3, 0x57, 0xb6, 0x3b, 0x43, 0x73, 0x8b, 0x61, 0x1b, 0x96, - 0x33, 0x3e, 0x31, 0xf2, 0x96, 0x5f, 0x43, 0x36, 0x21, 0x3f, 0x9c, 0xf4, 0x3c, 0x63, 0x32, 0x1a, - 0xab, 0x44, 0x1a, 0xdb, 0x9a, 0xf4, 0x02, 0xb6, 0x60, 0xe8, 0x55, 0xd0, 0x81, 0x51, 0x7f, 0xec, - 0xd9, 0x4a, 0x9c, 0x32, 0x30, 0xea, 0x3a, 0x82, 0x03, 0xdb, 0xf7, 0x6b, 0xc8, 0x63, 0x00, 0x7a, - 0xbc, 0x1c, 0x9b, 0xa6, 0x4e, 0xa8, 0xa0, 0xbc, 0xf6, 0x66, 0xa4, 0xad, 0x5d, 0x67, 0xbc, 0x67, - 0xef, 0x3a, 0x63, 0x66, 0x88, 0x1e, 0x4c, 0x2c, 0x2e, 0xbd, 0x03, 0x4a, 0x78, 0xfe, 0xe2, 0x8d, - 0x3c, 0x35, 0xe3, 0x46, 0x9e, 0xe3, 0x37, 0xf2, 0xba, 0x7c, 0x57, 0x5a, 0x7a, 0x0f, 0x8a, 0xa1, - 0x29, 0x8b, 0x74, 0xc2, 0xe8, 0xb7, 0x45, 0x7a, 0x5e, 0x7b, 0x5d, 0xf8, 0x9c, 0x2d, 0x6e, 0xb8, - 0x68, 0xf7, 0x1d, 0x50, 0xc2, 0xd3, 0x17, 0x0d, 0x67, 0x63, 0x32, 0x05, 0xe4, 0xdf, 0x87, 0xb9, - 0xc0, 0x94, 0x45, 0x72, 0xee, 0x94, 0x49, 0x95, 0x7f, 0x29, 0x05, 0xa9, 0x96, 0x65, 0xda, 0x87, - 0xe4, 0xf5, 0x60, 0x9c, 0x7c, 0x72, 0xce, 0x8d, 0x91, 0x17, 0x43, 0x31, 0xf2, 0xc9, 0x39, 0x2f, - 0x42, 0x5e, 0x0c, 0x45, 0x48, 0xb7, 0xa9, 0xa6, 0x93, 0xcb, 0x53, 0xf1, 0xf1, 0xc9, 0x39, 0x21, - 0x38, 0x5e, 0x9e, 0x0a, 0x8e, 0x7e, 0x73, 0x4d, 0xa7, 0x0e, 0x35, 0x18, 0x19, 0x9f, 0x9c, 0xf3, - 0xa3, 0xe2, 0x72, 0x38, 0x2a, 0x7a, 0x8d, 0x35, 0x9d, 0x0d, 0x49, 0x88, 0x88, 0x38, 0x24, 0x16, - 0x0b, 0x97, 0xc3, 0xb1, 0x10, 0x79, 0x3c, 0x0a, 0x2e, 0x87, 0xa3, 0x20, 0x36, 0xf2, 0xa8, 0x77, - 0x31, 0x14, 0xf5, 0xd0, 0x28, 0x0b, 0x77, 0xcb, 0xe1, 0x70, 0xc7, 0x78, 0xc2, 0x48, 0xc5, 0x58, - 0xe7, 0x35, 0xd6, 0x74, 0xa2, 0x85, 0x02, 0x5d, 0xf4, 0x6d, 0x1f, 0xf7, 0x02, 0x9d, 0xbe, 0x4e, - 0x97, 0xcd, 0xbd, 0x88, 0x16, 0x63, 0xbe, 0xf8, 0xe3, 0x6a, 0xba, 0x17, 0x31, 0x0d, 0x32, 0x87, - 0x3c, 0x01, 0x56, 0xd0, 0x73, 0x09, 0xb2, 0xc4, 0xcd, 0x5f, 0x69, 0xb6, 0xd1, 0x83, 0xd1, 0x79, - 0x1d, 0xb2, 0x3b, 0x7d, 0x05, 0xe6, 0x9a, 0xed, 0xa7, 0x9d, 0x71, 0xcf, 0x9c, 0x38, 0xed, 0xbd, - 0x4e, 0xcf, 0x7b, 0x44, 0xa0, 0xfb, 0x9f, 0x6f, 0xf2, 0x96, 0xbd, 0x4e, 0x8f, 0x5c, 0x70, 0xc5, - 0xd5, 0xc5, 0x56, 0x89, 0xcb, 0x6b, 0xe9, 0x75, 0xba, 0x68, 0xcc, 0x18, 0xfa, 0xc2, 0x05, 0xee, - 0x0b, 0x1f, 0x66, 0x20, 0x75, 0x64, 0xf5, 0x6d, 0xeb, 0x61, 0x0e, 0x32, 0x8e, 0x3d, 0x1e, 0x76, - 0x1c, 0xbb, 0xfc, 0x23, 0x09, 0xe0, 0x91, 0x3d, 0x1c, 0x1e, 0x59, 0xfd, 0x17, 0x47, 0x26, 0xb9, - 0x02, 0xf9, 0x61, 0xe7, 0xb9, 0xd9, 0x1e, 0x9a, 0xed, 0x83, 0xb1, 0x7b, 0x0e, 0x72, 0xb4, 0x6a, - 0xcb, 0x7c, 0x34, 0x3e, 0x21, 0x25, 0xf7, 0x8a, 0x8e, 0xda, 0x41, 0x49, 0xf2, 0x2b, 0xfb, 0x22, - 0xbf, 0x74, 0xa6, 0xf9, 0x1e, 0xba, 0xd7, 0x4e, 0x96, 0x47, 0x64, 0xf8, 0xee, 0x61, 0x89, 0x4a, - 0xde, 0x31, 0x87, 0xa3, 0xf6, 0x01, 0x4a, 0x85, 0xca, 0x21, 0x45, 0xcb, 0x8f, 0xc8, 0x6d, 0x48, - 0x1c, 0xd8, 0x03, 0x14, 0xc9, 0x29, 0xfb, 0x42, 0x71, 0xe4, 0x0d, 0x48, 0x0c, 0x27, 0x4c, 0x36, - 0x79, 0x6d, 0x41, 0xb8, 0x27, 0xb0, 0xd0, 0x44, 0x61, 0xc3, 0x49, 0xcf, 0x9b, 0xf7, 0x8d, 0x22, - 0x24, 0x9a, 0xad, 0x16, 0x8d, 0xfd, 0xcd, 0x56, 0x6b, 0x4d, 0x91, 0xea, 0x5f, 0x82, 0x6c, 0x6f, - 0x6c, 0x9a, 0xd4, 0x3d, 0xcc, 0xce, 0x39, 0x3e, 0xc4, 0x58, 0xe7, 0x81, 0xea, 0x5b, 0x90, 0x39, - 0x60, 0x59, 0x07, 0x89, 0x48, 0x6b, 0x4b, 0x7f, 0xc8, 0x1e, 0x55, 0x96, 0xfc, 0xe6, 0x70, 0x9e, - 0x62, 0xb8, 0x36, 0xea, 0x3b, 0x90, 0x1b, 0xb7, 0x4f, 0x33, 0xf8, 0x31, 0x8b, 0x2e, 0x71, 0x06, - 0xb3, 0x63, 0x5e, 0x55, 0x6f, 0xc0, 0x82, 0x65, 0xbb, 0xdf, 0x50, 0xda, 0x5d, 0x76, 0xc6, 0x2e, - 0x4e, 0x5f, 0xe5, 0x5c, 0xe3, 0x26, 0xfb, 0x6e, 0x69, 0xd9, 0xbc, 0x81, 0x9d, 0xca, 0xfa, 0x23, - 0x50, 0x04, 0x33, 0x98, 0x7a, 0xc6, 0x59, 0x39, 0x64, 0x1f, 0x4a, 0x3d, 0x2b, 0x78, 0xee, 0x43, - 0x46, 0xd8, 0xc9, 0x8c, 0x31, 0xd2, 0x63, 0x5f, 0x9d, 0x3d, 0x23, 0xe8, 0xea, 0xa6, 0x8d, 0x50, - 0x5f, 0x13, 0x6d, 0xe4, 0x19, 0xfb, 0x20, 0x2d, 0x1a, 0xa9, 0xe9, 0xa1, 0x55, 0x39, 0x3a, 0x75, - 0x28, 0x7d, 0xf6, 0x3d, 0xd9, 0xb3, 0xc2, 0x1c, 0xe0, 0x0c, 0x33, 0xf1, 0x83, 0xf9, 0x90, 0x7d, - 0x6a, 0x0e, 0x98, 0x99, 0x1a, 0xcd, 0xe4, 0xd4, 0xd1, 0x3c, 0x67, 0xdf, 0x75, 0x3d, 0x33, 0xbb, - 0xb3, 0x46, 0x33, 0x39, 0x75, 0x34, 0x03, 0xf6, 0xc5, 0x37, 0x60, 0xa6, 0xa6, 0xd7, 0x37, 0x80, - 0x88, 0x5b, 0xcd, 0xe3, 0x44, 0x8c, 0x9d, 0x21, 0xfb, 0x8e, 0xef, 0x6f, 0x36, 0xa3, 0xcc, 0x32, - 0x14, 0x3f, 0x20, 0x8b, 0x7d, 0xe2, 0x0f, 0x1a, 0xaa, 0xe9, 0xf5, 0x4d, 0x38, 0x2f, 0x4e, 0xec, - 0x0c, 0x43, 0xb2, 0x55, 0xa9, 0x52, 0x34, 0x16, 0xfc, 0xa9, 0x71, 0xce, 0x4c, 0x53, 0xf1, 0x83, - 0x1a, 0xa9, 0x52, 0x45, 0x99, 0x32, 0x55, 0xd3, 0xeb, 0x0f, 0xa0, 0x28, 0x98, 0xda, 0xc7, 0x08, - 0x1d, 0x6d, 0xe6, 0x05, 0xfb, 0x5f, 0x0b, 0xcf, 0x0c, 0x8d, 0xe8, 0xe1, 0x1d, 0xe3, 0x31, 0x2e, - 0xda, 0xc8, 0x98, 0xfd, 0xa3, 0x80, 0x3f, 0x16, 0x64, 0x84, 0x8e, 0x04, 0xe6, 0xdf, 0x71, 0x56, - 0x26, 0xec, 0x5f, 0x08, 0xfc, 0xa1, 0x50, 0x42, 0xbd, 0x1f, 0x98, 0x8e, 0x49, 0x83, 0x5c, 0x8c, - 0x0d, 0x07, 0x3d, 0xf2, 0x9b, 0x91, 0x80, 0x15, 0xf1, 0x81, 0x44, 0x98, 0x36, 0x2d, 0xd6, 0x37, - 0x61, 0xfe, 0xec, 0x0e, 0xe9, 0x63, 0x89, 0x65, 0xcb, 0xd5, 0x15, 0x9a, 0x50, 0x1b, 0x73, 0xdd, - 0x80, 0x5f, 0x6a, 0xc0, 0xdc, 0x99, 0x9d, 0xd2, 0x27, 0x12, 0xcb, 0x39, 0xa9, 0x25, 0xa3, 0xd0, - 0x0d, 0x7a, 0xa6, 0xb9, 0x33, 0xbb, 0xa5, 0x4f, 0x25, 0xf6, 0x40, 0xa1, 0x6b, 0x9e, 0x11, 0xd7, - 0x33, 0xcd, 0x9d, 0xd9, 0x2d, 0x7d, 0x95, 0x65, 0x94, 0xb2, 0x5e, 0x15, 0x8d, 0xa0, 0x2f, 0x98, - 0x3f, 0xbb, 0x5b, 0xfa, 0x9a, 0x84, 0x8f, 0x15, 0xb2, 0xae, 0x7b, 0xeb, 0xe2, 0x79, 0xa6, 0xf9, - 0xb3, 0xbb, 0xa5, 0xaf, 0x4b, 0xf8, 0xa4, 0x21, 0xeb, 0xeb, 0x01, 0x33, 0xc1, 0xd1, 0x9c, 0xee, - 0x96, 0xbe, 0x21, 0xe1, 0x2b, 0x83, 0xac, 0xd7, 0x3c, 0x33, 0xbb, 0x53, 0xa3, 0x39, 0xdd, 0x2d, - 0x7d, 0x13, 0x6f, 0xf1, 0x75, 0x59, 0xbf, 0x13, 0x30, 0x83, 0x9e, 0xa9, 0xf8, 0x0a, 0x6e, 0xe9, - 0x5b, 0x12, 0x3e, 0x06, 0xc9, 0xfa, 0x5d, 0xc3, 0xed, 0xdd, 0xf7, 0x4c, 0xc5, 0x57, 0x70, 0x4b, - 0x9f, 0x49, 0xf8, 0x66, 0x24, 0xeb, 0xf7, 0x82, 0x86, 0xd0, 0x33, 0x29, 0xaf, 0xe2, 0x96, 0xbe, - 0x4d, 0x2d, 0x15, 0xeb, 0xf2, 0xfa, 0xaa, 0xe1, 0x0e, 0x40, 0xf0, 0x4c, 0xca, 0xab, 0xb8, 0xa5, - 0xef, 0x50, 0x53, 0x4a, 0x5d, 0x5e, 0x5f, 0x0b, 0x99, 0xaa, 0xe9, 0xf5, 0x47, 0x50, 0x38, 0xab, - 0x5b, 0xfa, 0xae, 0xf8, 0x16, 0x97, 0xef, 0x0a, 0xbe, 0x69, 0x47, 0xd8, 0xb3, 0x53, 0x1d, 0xd3, - 0xf7, 0x30, 0xc7, 0xa9, 0xcf, 0x3d, 0x61, 0xef, 0x55, 0x8c, 0xe0, 0x6f, 0x1f, 0x73, 0x53, 0x5b, - 0xfe, 0xf9, 0x38, 0xd5, 0x47, 0x7d, 0x5f, 0xc2, 0x47, 0xad, 0x02, 0x37, 0x88, 0x78, 0xef, 0xa4, - 0x30, 0x87, 0xf5, 0xa1, 0x3f, 0xcb, 0xd3, 0xbc, 0xd5, 0x0f, 0xa4, 0x57, 0x71, 0x57, 0xf5, 0x44, - 0x6b, 0xbb, 0xe1, 0x2d, 0x06, 0xd6, 0xbc, 0x0d, 0xc9, 0x63, 0x6d, 0x75, 0x4d, 0xbc, 0x92, 0x89, - 0x6f, 0xb9, 0xcc, 0x49, 0xe5, 0xb5, 0xa2, 0xf0, 0xdc, 0x3d, 0x1c, 0x39, 0x27, 0x06, 0xb2, 0x38, - 0x5b, 0x8b, 0x64, 0x7f, 0x12, 0xc3, 0xd6, 0x38, 0xbb, 0x1a, 0xc9, 0xfe, 0x34, 0x86, 0x5d, 0xe5, - 0x6c, 0x3d, 0x92, 0xfd, 0xd5, 0x18, 0xb6, 0xce, 0xd9, 0xeb, 0x91, 0xec, 0xaf, 0xc5, 0xb0, 0xd7, - 0x39, 0xbb, 0x16, 0xc9, 0xfe, 0x7a, 0x0c, 0xbb, 0xc6, 0xd9, 0x77, 0x22, 0xd9, 0xdf, 0x88, 0x61, - 0xdf, 0xe1, 0xec, 0xbb, 0x91, 0xec, 0x6f, 0xc6, 0xb0, 0xef, 0x72, 0xf6, 0xbd, 0x48, 0xf6, 0xb7, - 0x62, 0xd8, 0xf7, 0x18, 0x7b, 0x6d, 0x35, 0x92, 0xfd, 0x59, 0x34, 0x7b, 0x6d, 0x95, 0xb3, 0xa3, - 0xb5, 0xf6, 0xed, 0x18, 0x36, 0xd7, 0xda, 0x5a, 0xb4, 0xd6, 0xbe, 0x13, 0xc3, 0xe6, 0x5a, 0x5b, - 0x8b, 0xd6, 0xda, 0x77, 0x63, 0xd8, 0x5c, 0x6b, 0x6b, 0xd1, 0x5a, 0xfb, 0x5e, 0x0c, 0x9b, 0x6b, - 0x6d, 0x2d, 0x5a, 0x6b, 0xdf, 0x8f, 0x61, 0x73, 0xad, 0xad, 0x45, 0x6b, 0xed, 0x07, 0x31, 0x6c, - 0xae, 0xb5, 0xb5, 0x68, 0xad, 0xfd, 0x51, 0x0c, 0x9b, 0x6b, 0x6d, 0x2d, 0x5a, 0x6b, 0x7f, 0x1c, - 0xc3, 0xe6, 0x5a, 0x5b, 0x8b, 0xd6, 0xda, 0x9f, 0xc4, 0xb0, 0xb9, 0xd6, 0xb4, 0x68, 0xad, 0xfd, - 0x69, 0x34, 0x5b, 0xe3, 0x5a, 0xd3, 0xa2, 0xb5, 0xf6, 0x67, 0x31, 0x6c, 0xae, 0x35, 0x2d, 0x5a, - 0x6b, 0x7f, 0x1e, 0xc3, 0xe6, 0x5a, 0xd3, 0xa2, 0xb5, 0xf6, 0xc3, 0x18, 0x36, 0xd7, 0x9a, 0x16, - 0xad, 0xb5, 0xbf, 0x88, 0x61, 0x73, 0xad, 0x69, 0xd1, 0x5a, 0xfb, 0xcb, 0x18, 0x36, 0xd7, 0x9a, - 0x16, 0xad, 0xb5, 0xbf, 0x8a, 0x61, 0x73, 0xad, 0x69, 0xd1, 0x5a, 0xfb, 0xeb, 0x18, 0x36, 0xd7, - 0x9a, 0x16, 0xad, 0xb5, 0xbf, 0x89, 0x61, 0x73, 0xad, 0x69, 0xd1, 0x5a, 0xfb, 0xdb, 0x18, 0x36, - 0xd7, 0x5a, 0x35, 0x5a, 0x6b, 0x7f, 0x17, 0xcd, 0xae, 0x72, 0xad, 0x55, 0xa3, 0xb5, 0xf6, 0xf7, - 0x31, 0x6c, 0xae, 0xb5, 0x6a, 0xb4, 0xd6, 0xfe, 0x21, 0x86, 0xcd, 0xb5, 0x56, 0x8d, 0xd6, 0xda, - 0x3f, 0xc6, 0xb0, 0xb9, 0xd6, 0xaa, 0xd1, 0x5a, 0xfb, 0x51, 0x0c, 0x9b, 0x6b, 0xad, 0x1a, 0xad, - 0xb5, 0x7f, 0x8a, 0x61, 0x73, 0xad, 0x55, 0xa3, 0xb5, 0xf6, 0xcf, 0x31, 0x6c, 0xae, 0xb5, 0x6a, - 0xb4, 0xd6, 0xfe, 0x25, 0x86, 0xcd, 0xb5, 0x56, 0x8d, 0xd6, 0xda, 0xbf, 0xc6, 0xb0, 0xb9, 0xd6, - 0xaa, 0xd1, 0x5a, 0xfb, 0xb7, 0x18, 0x36, 0xd7, 0x9a, 0x1e, 0xad, 0xb5, 0x7f, 0x8f, 0x66, 0xeb, - 0x5c, 0x6b, 0x7a, 0xb4, 0xd6, 0xfe, 0x23, 0x86, 0xcd, 0xb5, 0xa6, 0x47, 0x6b, 0xed, 0x3f, 0x63, - 0xd8, 0x5c, 0x6b, 0x7a, 0xb4, 0xd6, 0xfe, 0x2b, 0x86, 0xcd, 0xb5, 0xa6, 0x47, 0x6b, 0xed, 0xbf, - 0x63, 0xd8, 0x5c, 0x6b, 0x7a, 0xb4, 0xd6, 0xfe, 0x27, 0x86, 0xcd, 0xb5, 0xa6, 0x47, 0x6b, 0xed, - 0xc7, 0x31, 0x6c, 0xae, 0x35, 0x3d, 0x5a, 0x6b, 0x3f, 0x89, 0x61, 0x73, 0xad, 0xe9, 0xd1, 0x5a, - 0xfb, 0xdf, 0x18, 0x36, 0xd7, 0x9a, 0x1e, 0xad, 0xb5, 0xff, 0x8b, 0x61, 0x73, 0xad, 0xad, 0x47, - 0x6b, 0xed, 0xff, 0xa3, 0xd9, 0xeb, 0xab, 0x3f, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xaa, 0x00, 0xcd, - 0x32, 0x57, 0x39, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/proto/testdata/test.pb.go.golden b/vendor/github.com/gogo/protobuf/proto/testdata/test.pb.go.golden deleted file mode 100644 index 0387853d5..000000000 --- a/vendor/github.com/gogo/protobuf/proto/testdata/test.pb.go.golden +++ /dev/null @@ -1,1737 +0,0 @@ -// Code generated by protoc-gen-gogo. -// source: test.proto -// DO NOT EDIT! - -package testdata - -import proto "github.com/gogo/protobuf/proto" -import json "encoding/json" -import math "math" - -import () - -// Reference proto, json, and math imports to suppress error if they are not otherwise used. -var _ = proto.Marshal -var _ = &json.SyntaxError{} -var _ = math.Inf - -type FOO int32 - -const ( - FOO_FOO1 FOO = 1 -) - -var FOO_name = map[int32]string{ - 1: "FOO1", -} -var FOO_value = map[string]int32{ - "FOO1": 1, -} - -func (x FOO) Enum() *FOO { - p := new(FOO) - *p = x - return p -} -func (x FOO) String() string { - return proto.EnumName(FOO_name, int32(x)) -} -func (x FOO) MarshalJSON() ([]byte, error) { - return json.Marshal(x.String()) -} -func (x *FOO) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(FOO_value, data, "FOO") - if err != nil { - return err - } - *x = FOO(value) - return nil -} - -type GoTest_KIND int32 - -const ( - GoTest_VOID GoTest_KIND = 0 - GoTest_BOOL GoTest_KIND = 1 - GoTest_BYTES GoTest_KIND = 2 - GoTest_FINGERPRINT GoTest_KIND = 3 - GoTest_FLOAT GoTest_KIND = 4 - GoTest_INT GoTest_KIND = 5 - GoTest_STRING GoTest_KIND = 6 - GoTest_TIME GoTest_KIND = 7 - GoTest_TUPLE GoTest_KIND = 8 - GoTest_ARRAY GoTest_KIND = 9 - GoTest_MAP GoTest_KIND = 10 - GoTest_TABLE GoTest_KIND = 11 - GoTest_FUNCTION GoTest_KIND = 12 -) - -var GoTest_KIND_name = map[int32]string{ - 0: "VOID", - 1: "BOOL", - 2: "BYTES", - 3: "FINGERPRINT", - 4: "FLOAT", - 5: "INT", - 6: "STRING", - 7: "TIME", - 8: "TUPLE", - 9: "ARRAY", - 10: "MAP", - 11: "TABLE", - 12: "FUNCTION", -} -var GoTest_KIND_value = map[string]int32{ - "VOID": 0, - "BOOL": 1, - "BYTES": 2, - "FINGERPRINT": 3, - "FLOAT": 4, - "INT": 5, - "STRING": 6, - "TIME": 7, - "TUPLE": 8, - "ARRAY": 9, - "MAP": 10, - "TABLE": 11, - "FUNCTION": 12, -} - -func (x GoTest_KIND) Enum() *GoTest_KIND { - p := new(GoTest_KIND) - *p = x - return p -} -func (x GoTest_KIND) String() string { - return proto.EnumName(GoTest_KIND_name, int32(x)) -} -func (x GoTest_KIND) MarshalJSON() ([]byte, error) { - return json.Marshal(x.String()) -} -func (x *GoTest_KIND) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(GoTest_KIND_value, data, "GoTest_KIND") - if err != nil { - return err - } - *x = GoTest_KIND(value) - return nil -} - -type MyMessage_Color int32 - -const ( - MyMessage_RED MyMessage_Color = 0 - MyMessage_GREEN MyMessage_Color = 1 - MyMessage_BLUE MyMessage_Color = 2 -) - -var MyMessage_Color_name = map[int32]string{ - 0: "RED", - 1: "GREEN", - 2: "BLUE", -} -var MyMessage_Color_value = map[string]int32{ - "RED": 0, - "GREEN": 1, - "BLUE": 2, -} - -func (x MyMessage_Color) Enum() *MyMessage_Color { - p := new(MyMessage_Color) - *p = x - return p -} -func (x MyMessage_Color) String() string { - return proto.EnumName(MyMessage_Color_name, int32(x)) -} -func (x MyMessage_Color) MarshalJSON() ([]byte, error) { - return json.Marshal(x.String()) -} -func (x *MyMessage_Color) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(MyMessage_Color_value, data, "MyMessage_Color") - if err != nil { - return err - } - *x = MyMessage_Color(value) - return nil -} - -type Defaults_Color int32 - -const ( - Defaults_RED Defaults_Color = 0 - Defaults_GREEN Defaults_Color = 1 - Defaults_BLUE Defaults_Color = 2 -) - -var Defaults_Color_name = map[int32]string{ - 0: "RED", - 1: "GREEN", - 2: "BLUE", -} -var Defaults_Color_value = map[string]int32{ - "RED": 0, - "GREEN": 1, - "BLUE": 2, -} - -func (x Defaults_Color) Enum() *Defaults_Color { - p := new(Defaults_Color) - *p = x - return p -} -func (x Defaults_Color) String() string { - return proto.EnumName(Defaults_Color_name, int32(x)) -} -func (x Defaults_Color) MarshalJSON() ([]byte, error) { - return json.Marshal(x.String()) -} -func (x *Defaults_Color) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(Defaults_Color_value, data, "Defaults_Color") - if err != nil { - return err - } - *x = Defaults_Color(value) - return nil -} - -type RepeatedEnum_Color int32 - -const ( - RepeatedEnum_RED RepeatedEnum_Color = 1 -) - -var RepeatedEnum_Color_name = map[int32]string{ - 1: "RED", -} -var RepeatedEnum_Color_value = map[string]int32{ - "RED": 1, -} - -func (x RepeatedEnum_Color) Enum() *RepeatedEnum_Color { - p := new(RepeatedEnum_Color) - *p = x - return p -} -func (x RepeatedEnum_Color) String() string { - return proto.EnumName(RepeatedEnum_Color_name, int32(x)) -} -func (x RepeatedEnum_Color) MarshalJSON() ([]byte, error) { - return json.Marshal(x.String()) -} -func (x *RepeatedEnum_Color) UnmarshalJSON(data []byte) error { - value, err := proto.UnmarshalJSONEnum(RepeatedEnum_Color_value, data, "RepeatedEnum_Color") - if err != nil { - return err - } - *x = RepeatedEnum_Color(value) - return nil -} - -type GoEnum struct { - Foo *FOO `protobuf:"varint,1,req,name=foo,enum=testdata.FOO" json:"foo,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoEnum) Reset() { *m = GoEnum{} } -func (m *GoEnum) String() string { return proto.CompactTextString(m) } -func (*GoEnum) ProtoMessage() {} - -func (m *GoEnum) GetFoo() FOO { - if m != nil && m.Foo != nil { - return *m.Foo - } - return 0 -} - -type GoTestField struct { - Label *string `protobuf:"bytes,1,req" json:"Label,omitempty"` - Type *string `protobuf:"bytes,2,req" json:"Type,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTestField) Reset() { *m = GoTestField{} } -func (m *GoTestField) String() string { return proto.CompactTextString(m) } -func (*GoTestField) ProtoMessage() {} - -func (m *GoTestField) GetLabel() string { - if m != nil && m.Label != nil { - return *m.Label - } - return "" -} - -func (m *GoTestField) GetType() string { - if m != nil && m.Type != nil { - return *m.Type - } - return "" -} - -type GoTest struct { - Kind *GoTest_KIND `protobuf:"varint,1,req,enum=testdata.GoTest_KIND" json:"Kind,omitempty"` - Table *string `protobuf:"bytes,2,opt" json:"Table,omitempty"` - Param *int32 `protobuf:"varint,3,opt" json:"Param,omitempty"` - RequiredField *GoTestField `protobuf:"bytes,4,req" json:"RequiredField,omitempty"` - RepeatedField []*GoTestField `protobuf:"bytes,5,rep" json:"RepeatedField,omitempty"` - OptionalField *GoTestField `protobuf:"bytes,6,opt" json:"OptionalField,omitempty"` - F_BoolRequired *bool `protobuf:"varint,10,req,name=F_Bool_required" json:"F_Bool_required,omitempty"` - F_Int32Required *int32 `protobuf:"varint,11,req,name=F_Int32_required" json:"F_Int32_required,omitempty"` - F_Int64Required *int64 `protobuf:"varint,12,req,name=F_Int64_required" json:"F_Int64_required,omitempty"` - F_Fixed32Required *uint32 `protobuf:"fixed32,13,req,name=F_Fixed32_required" json:"F_Fixed32_required,omitempty"` - F_Fixed64Required *uint64 `protobuf:"fixed64,14,req,name=F_Fixed64_required" json:"F_Fixed64_required,omitempty"` - F_Uint32Required *uint32 `protobuf:"varint,15,req,name=F_Uint32_required" json:"F_Uint32_required,omitempty"` - F_Uint64Required *uint64 `protobuf:"varint,16,req,name=F_Uint64_required" json:"F_Uint64_required,omitempty"` - F_FloatRequired *float32 `protobuf:"fixed32,17,req,name=F_Float_required" json:"F_Float_required,omitempty"` - F_DoubleRequired *float64 `protobuf:"fixed64,18,req,name=F_Double_required" json:"F_Double_required,omitempty"` - F_StringRequired *string `protobuf:"bytes,19,req,name=F_String_required" json:"F_String_required,omitempty"` - F_BytesRequired []byte `protobuf:"bytes,101,req,name=F_Bytes_required" json:"F_Bytes_required,omitempty"` - F_Sint32Required *int32 `protobuf:"zigzag32,102,req,name=F_Sint32_required" json:"F_Sint32_required,omitempty"` - F_Sint64Required *int64 `protobuf:"zigzag64,103,req,name=F_Sint64_required" json:"F_Sint64_required,omitempty"` - F_BoolRepeated []bool `protobuf:"varint,20,rep,name=F_Bool_repeated" json:"F_Bool_repeated,omitempty"` - F_Int32Repeated []int32 `protobuf:"varint,21,rep,name=F_Int32_repeated" json:"F_Int32_repeated,omitempty"` - F_Int64Repeated []int64 `protobuf:"varint,22,rep,name=F_Int64_repeated" json:"F_Int64_repeated,omitempty"` - F_Fixed32Repeated []uint32 `protobuf:"fixed32,23,rep,name=F_Fixed32_repeated" json:"F_Fixed32_repeated,omitempty"` - F_Fixed64Repeated []uint64 `protobuf:"fixed64,24,rep,name=F_Fixed64_repeated" json:"F_Fixed64_repeated,omitempty"` - F_Uint32Repeated []uint32 `protobuf:"varint,25,rep,name=F_Uint32_repeated" json:"F_Uint32_repeated,omitempty"` - F_Uint64Repeated []uint64 `protobuf:"varint,26,rep,name=F_Uint64_repeated" json:"F_Uint64_repeated,omitempty"` - F_FloatRepeated []float32 `protobuf:"fixed32,27,rep,name=F_Float_repeated" json:"F_Float_repeated,omitempty"` - F_DoubleRepeated []float64 `protobuf:"fixed64,28,rep,name=F_Double_repeated" json:"F_Double_repeated,omitempty"` - F_StringRepeated []string `protobuf:"bytes,29,rep,name=F_String_repeated" json:"F_String_repeated,omitempty"` - F_BytesRepeated [][]byte `protobuf:"bytes,201,rep,name=F_Bytes_repeated" json:"F_Bytes_repeated,omitempty"` - F_Sint32Repeated []int32 `protobuf:"zigzag32,202,rep,name=F_Sint32_repeated" json:"F_Sint32_repeated,omitempty"` - F_Sint64Repeated []int64 `protobuf:"zigzag64,203,rep,name=F_Sint64_repeated" json:"F_Sint64_repeated,omitempty"` - F_BoolOptional *bool `protobuf:"varint,30,opt,name=F_Bool_optional" json:"F_Bool_optional,omitempty"` - F_Int32Optional *int32 `protobuf:"varint,31,opt,name=F_Int32_optional" json:"F_Int32_optional,omitempty"` - F_Int64Optional *int64 `protobuf:"varint,32,opt,name=F_Int64_optional" json:"F_Int64_optional,omitempty"` - F_Fixed32Optional *uint32 `protobuf:"fixed32,33,opt,name=F_Fixed32_optional" json:"F_Fixed32_optional,omitempty"` - F_Fixed64Optional *uint64 `protobuf:"fixed64,34,opt,name=F_Fixed64_optional" json:"F_Fixed64_optional,omitempty"` - F_Uint32Optional *uint32 `protobuf:"varint,35,opt,name=F_Uint32_optional" json:"F_Uint32_optional,omitempty"` - F_Uint64Optional *uint64 `protobuf:"varint,36,opt,name=F_Uint64_optional" json:"F_Uint64_optional,omitempty"` - F_FloatOptional *float32 `protobuf:"fixed32,37,opt,name=F_Float_optional" json:"F_Float_optional,omitempty"` - F_DoubleOptional *float64 `protobuf:"fixed64,38,opt,name=F_Double_optional" json:"F_Double_optional,omitempty"` - F_StringOptional *string `protobuf:"bytes,39,opt,name=F_String_optional" json:"F_String_optional,omitempty"` - F_BytesOptional []byte `protobuf:"bytes,301,opt,name=F_Bytes_optional" json:"F_Bytes_optional,omitempty"` - F_Sint32Optional *int32 `protobuf:"zigzag32,302,opt,name=F_Sint32_optional" json:"F_Sint32_optional,omitempty"` - F_Sint64Optional *int64 `protobuf:"zigzag64,303,opt,name=F_Sint64_optional" json:"F_Sint64_optional,omitempty"` - F_BoolDefaulted *bool `protobuf:"varint,40,opt,name=F_Bool_defaulted,def=1" json:"F_Bool_defaulted,omitempty"` - F_Int32Defaulted *int32 `protobuf:"varint,41,opt,name=F_Int32_defaulted,def=32" json:"F_Int32_defaulted,omitempty"` - F_Int64Defaulted *int64 `protobuf:"varint,42,opt,name=F_Int64_defaulted,def=64" json:"F_Int64_defaulted,omitempty"` - F_Fixed32Defaulted *uint32 `protobuf:"fixed32,43,opt,name=F_Fixed32_defaulted,def=320" json:"F_Fixed32_defaulted,omitempty"` - F_Fixed64Defaulted *uint64 `protobuf:"fixed64,44,opt,name=F_Fixed64_defaulted,def=640" json:"F_Fixed64_defaulted,omitempty"` - F_Uint32Defaulted *uint32 `protobuf:"varint,45,opt,name=F_Uint32_defaulted,def=3200" json:"F_Uint32_defaulted,omitempty"` - F_Uint64Defaulted *uint64 `protobuf:"varint,46,opt,name=F_Uint64_defaulted,def=6400" json:"F_Uint64_defaulted,omitempty"` - F_FloatDefaulted *float32 `protobuf:"fixed32,47,opt,name=F_Float_defaulted,def=314159" json:"F_Float_defaulted,omitempty"` - F_DoubleDefaulted *float64 `protobuf:"fixed64,48,opt,name=F_Double_defaulted,def=271828" json:"F_Double_defaulted,omitempty"` - F_StringDefaulted *string `protobuf:"bytes,49,opt,name=F_String_defaulted,def=hello, \"world!\"\n" json:"F_String_defaulted,omitempty"` - F_BytesDefaulted []byte `protobuf:"bytes,401,opt,name=F_Bytes_defaulted,def=Bignose" json:"F_Bytes_defaulted,omitempty"` - F_Sint32Defaulted *int32 `protobuf:"zigzag32,402,opt,name=F_Sint32_defaulted,def=-32" json:"F_Sint32_defaulted,omitempty"` - F_Sint64Defaulted *int64 `protobuf:"zigzag64,403,opt,name=F_Sint64_defaulted,def=-64" json:"F_Sint64_defaulted,omitempty"` - F_BoolRepeatedPacked []bool `protobuf:"varint,50,rep,packed,name=F_Bool_repeated_packed" json:"F_Bool_repeated_packed,omitempty"` - F_Int32RepeatedPacked []int32 `protobuf:"varint,51,rep,packed,name=F_Int32_repeated_packed" json:"F_Int32_repeated_packed,omitempty"` - F_Int64RepeatedPacked []int64 `protobuf:"varint,52,rep,packed,name=F_Int64_repeated_packed" json:"F_Int64_repeated_packed,omitempty"` - F_Fixed32RepeatedPacked []uint32 `protobuf:"fixed32,53,rep,packed,name=F_Fixed32_repeated_packed" json:"F_Fixed32_repeated_packed,omitempty"` - F_Fixed64RepeatedPacked []uint64 `protobuf:"fixed64,54,rep,packed,name=F_Fixed64_repeated_packed" json:"F_Fixed64_repeated_packed,omitempty"` - F_Uint32RepeatedPacked []uint32 `protobuf:"varint,55,rep,packed,name=F_Uint32_repeated_packed" json:"F_Uint32_repeated_packed,omitempty"` - F_Uint64RepeatedPacked []uint64 `protobuf:"varint,56,rep,packed,name=F_Uint64_repeated_packed" json:"F_Uint64_repeated_packed,omitempty"` - F_FloatRepeatedPacked []float32 `protobuf:"fixed32,57,rep,packed,name=F_Float_repeated_packed" json:"F_Float_repeated_packed,omitempty"` - F_DoubleRepeatedPacked []float64 `protobuf:"fixed64,58,rep,packed,name=F_Double_repeated_packed" json:"F_Double_repeated_packed,omitempty"` - F_Sint32RepeatedPacked []int32 `protobuf:"zigzag32,502,rep,packed,name=F_Sint32_repeated_packed" json:"F_Sint32_repeated_packed,omitempty"` - F_Sint64RepeatedPacked []int64 `protobuf:"zigzag64,503,rep,packed,name=F_Sint64_repeated_packed" json:"F_Sint64_repeated_packed,omitempty"` - Requiredgroup *GoTest_RequiredGroup `protobuf:"group,70,req,name=RequiredGroup" json:"requiredgroup,omitempty"` - Repeatedgroup []*GoTest_RepeatedGroup `protobuf:"group,80,rep,name=RepeatedGroup" json:"repeatedgroup,omitempty"` - Optionalgroup *GoTest_OptionalGroup `protobuf:"group,90,opt,name=OptionalGroup" json:"optionalgroup,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTest) Reset() { *m = GoTest{} } -func (m *GoTest) String() string { return proto.CompactTextString(m) } -func (*GoTest) ProtoMessage() {} - -const Default_GoTest_F_BoolDefaulted bool = true -const Default_GoTest_F_Int32Defaulted int32 = 32 -const Default_GoTest_F_Int64Defaulted int64 = 64 -const Default_GoTest_F_Fixed32Defaulted uint32 = 320 -const Default_GoTest_F_Fixed64Defaulted uint64 = 640 -const Default_GoTest_F_Uint32Defaulted uint32 = 3200 -const Default_GoTest_F_Uint64Defaulted uint64 = 6400 -const Default_GoTest_F_FloatDefaulted float32 = 314159 -const Default_GoTest_F_DoubleDefaulted float64 = 271828 -const Default_GoTest_F_StringDefaulted string = "hello, \"world!\"\n" - -var Default_GoTest_F_BytesDefaulted []byte = []byte("Bignose") - -const Default_GoTest_F_Sint32Defaulted int32 = -32 -const Default_GoTest_F_Sint64Defaulted int64 = -64 - -func (m *GoTest) GetKind() GoTest_KIND { - if m != nil && m.Kind != nil { - return *m.Kind - } - return 0 -} - -func (m *GoTest) GetTable() string { - if m != nil && m.Table != nil { - return *m.Table - } - return "" -} - -func (m *GoTest) GetParam() int32 { - if m != nil && m.Param != nil { - return *m.Param - } - return 0 -} - -func (m *GoTest) GetRequiredField() *GoTestField { - if m != nil { - return m.RequiredField - } - return nil -} - -func (m *GoTest) GetRepeatedField() []*GoTestField { - if m != nil { - return m.RepeatedField - } - return nil -} - -func (m *GoTest) GetOptionalField() *GoTestField { - if m != nil { - return m.OptionalField - } - return nil -} - -func (m *GoTest) GetF_BoolRequired() bool { - if m != nil && m.F_BoolRequired != nil { - return *m.F_BoolRequired - } - return false -} - -func (m *GoTest) GetF_Int32Required() int32 { - if m != nil && m.F_Int32Required != nil { - return *m.F_Int32Required - } - return 0 -} - -func (m *GoTest) GetF_Int64Required() int64 { - if m != nil && m.F_Int64Required != nil { - return *m.F_Int64Required - } - return 0 -} - -func (m *GoTest) GetF_Fixed32Required() uint32 { - if m != nil && m.F_Fixed32Required != nil { - return *m.F_Fixed32Required - } - return 0 -} - -func (m *GoTest) GetF_Fixed64Required() uint64 { - if m != nil && m.F_Fixed64Required != nil { - return *m.F_Fixed64Required - } - return 0 -} - -func (m *GoTest) GetF_Uint32Required() uint32 { - if m != nil && m.F_Uint32Required != nil { - return *m.F_Uint32Required - } - return 0 -} - -func (m *GoTest) GetF_Uint64Required() uint64 { - if m != nil && m.F_Uint64Required != nil { - return *m.F_Uint64Required - } - return 0 -} - -func (m *GoTest) GetF_FloatRequired() float32 { - if m != nil && m.F_FloatRequired != nil { - return *m.F_FloatRequired - } - return 0 -} - -func (m *GoTest) GetF_DoubleRequired() float64 { - if m != nil && m.F_DoubleRequired != nil { - return *m.F_DoubleRequired - } - return 0 -} - -func (m *GoTest) GetF_StringRequired() string { - if m != nil && m.F_StringRequired != nil { - return *m.F_StringRequired - } - return "" -} - -func (m *GoTest) GetF_BytesRequired() []byte { - if m != nil { - return m.F_BytesRequired - } - return nil -} - -func (m *GoTest) GetF_Sint32Required() int32 { - if m != nil && m.F_Sint32Required != nil { - return *m.F_Sint32Required - } - return 0 -} - -func (m *GoTest) GetF_Sint64Required() int64 { - if m != nil && m.F_Sint64Required != nil { - return *m.F_Sint64Required - } - return 0 -} - -func (m *GoTest) GetF_BoolRepeated() []bool { - if m != nil { - return m.F_BoolRepeated - } - return nil -} - -func (m *GoTest) GetF_Int32Repeated() []int32 { - if m != nil { - return m.F_Int32Repeated - } - return nil -} - -func (m *GoTest) GetF_Int64Repeated() []int64 { - if m != nil { - return m.F_Int64Repeated - } - return nil -} - -func (m *GoTest) GetF_Fixed32Repeated() []uint32 { - if m != nil { - return m.F_Fixed32Repeated - } - return nil -} - -func (m *GoTest) GetF_Fixed64Repeated() []uint64 { - if m != nil { - return m.F_Fixed64Repeated - } - return nil -} - -func (m *GoTest) GetF_Uint32Repeated() []uint32 { - if m != nil { - return m.F_Uint32Repeated - } - return nil -} - -func (m *GoTest) GetF_Uint64Repeated() []uint64 { - if m != nil { - return m.F_Uint64Repeated - } - return nil -} - -func (m *GoTest) GetF_FloatRepeated() []float32 { - if m != nil { - return m.F_FloatRepeated - } - return nil -} - -func (m *GoTest) GetF_DoubleRepeated() []float64 { - if m != nil { - return m.F_DoubleRepeated - } - return nil -} - -func (m *GoTest) GetF_StringRepeated() []string { - if m != nil { - return m.F_StringRepeated - } - return nil -} - -func (m *GoTest) GetF_BytesRepeated() [][]byte { - if m != nil { - return m.F_BytesRepeated - } - return nil -} - -func (m *GoTest) GetF_Sint32Repeated() []int32 { - if m != nil { - return m.F_Sint32Repeated - } - return nil -} - -func (m *GoTest) GetF_Sint64Repeated() []int64 { - if m != nil { - return m.F_Sint64Repeated - } - return nil -} - -func (m *GoTest) GetF_BoolOptional() bool { - if m != nil && m.F_BoolOptional != nil { - return *m.F_BoolOptional - } - return false -} - -func (m *GoTest) GetF_Int32Optional() int32 { - if m != nil && m.F_Int32Optional != nil { - return *m.F_Int32Optional - } - return 0 -} - -func (m *GoTest) GetF_Int64Optional() int64 { - if m != nil && m.F_Int64Optional != nil { - return *m.F_Int64Optional - } - return 0 -} - -func (m *GoTest) GetF_Fixed32Optional() uint32 { - if m != nil && m.F_Fixed32Optional != nil { - return *m.F_Fixed32Optional - } - return 0 -} - -func (m *GoTest) GetF_Fixed64Optional() uint64 { - if m != nil && m.F_Fixed64Optional != nil { - return *m.F_Fixed64Optional - } - return 0 -} - -func (m *GoTest) GetF_Uint32Optional() uint32 { - if m != nil && m.F_Uint32Optional != nil { - return *m.F_Uint32Optional - } - return 0 -} - -func (m *GoTest) GetF_Uint64Optional() uint64 { - if m != nil && m.F_Uint64Optional != nil { - return *m.F_Uint64Optional - } - return 0 -} - -func (m *GoTest) GetF_FloatOptional() float32 { - if m != nil && m.F_FloatOptional != nil { - return *m.F_FloatOptional - } - return 0 -} - -func (m *GoTest) GetF_DoubleOptional() float64 { - if m != nil && m.F_DoubleOptional != nil { - return *m.F_DoubleOptional - } - return 0 -} - -func (m *GoTest) GetF_StringOptional() string { - if m != nil && m.F_StringOptional != nil { - return *m.F_StringOptional - } - return "" -} - -func (m *GoTest) GetF_BytesOptional() []byte { - if m != nil { - return m.F_BytesOptional - } - return nil -} - -func (m *GoTest) GetF_Sint32Optional() int32 { - if m != nil && m.F_Sint32Optional != nil { - return *m.F_Sint32Optional - } - return 0 -} - -func (m *GoTest) GetF_Sint64Optional() int64 { - if m != nil && m.F_Sint64Optional != nil { - return *m.F_Sint64Optional - } - return 0 -} - -func (m *GoTest) GetF_BoolDefaulted() bool { - if m != nil && m.F_BoolDefaulted != nil { - return *m.F_BoolDefaulted - } - return Default_GoTest_F_BoolDefaulted -} - -func (m *GoTest) GetF_Int32Defaulted() int32 { - if m != nil && m.F_Int32Defaulted != nil { - return *m.F_Int32Defaulted - } - return Default_GoTest_F_Int32Defaulted -} - -func (m *GoTest) GetF_Int64Defaulted() int64 { - if m != nil && m.F_Int64Defaulted != nil { - return *m.F_Int64Defaulted - } - return Default_GoTest_F_Int64Defaulted -} - -func (m *GoTest) GetF_Fixed32Defaulted() uint32 { - if m != nil && m.F_Fixed32Defaulted != nil { - return *m.F_Fixed32Defaulted - } - return Default_GoTest_F_Fixed32Defaulted -} - -func (m *GoTest) GetF_Fixed64Defaulted() uint64 { - if m != nil && m.F_Fixed64Defaulted != nil { - return *m.F_Fixed64Defaulted - } - return Default_GoTest_F_Fixed64Defaulted -} - -func (m *GoTest) GetF_Uint32Defaulted() uint32 { - if m != nil && m.F_Uint32Defaulted != nil { - return *m.F_Uint32Defaulted - } - return Default_GoTest_F_Uint32Defaulted -} - -func (m *GoTest) GetF_Uint64Defaulted() uint64 { - if m != nil && m.F_Uint64Defaulted != nil { - return *m.F_Uint64Defaulted - } - return Default_GoTest_F_Uint64Defaulted -} - -func (m *GoTest) GetF_FloatDefaulted() float32 { - if m != nil && m.F_FloatDefaulted != nil { - return *m.F_FloatDefaulted - } - return Default_GoTest_F_FloatDefaulted -} - -func (m *GoTest) GetF_DoubleDefaulted() float64 { - if m != nil && m.F_DoubleDefaulted != nil { - return *m.F_DoubleDefaulted - } - return Default_GoTest_F_DoubleDefaulted -} - -func (m *GoTest) GetF_StringDefaulted() string { - if m != nil && m.F_StringDefaulted != nil { - return *m.F_StringDefaulted - } - return Default_GoTest_F_StringDefaulted -} - -func (m *GoTest) GetF_BytesDefaulted() []byte { - if m != nil && m.F_BytesDefaulted != nil { - return m.F_BytesDefaulted - } - return append([]byte(nil), Default_GoTest_F_BytesDefaulted...) -} - -func (m *GoTest) GetF_Sint32Defaulted() int32 { - if m != nil && m.F_Sint32Defaulted != nil { - return *m.F_Sint32Defaulted - } - return Default_GoTest_F_Sint32Defaulted -} - -func (m *GoTest) GetF_Sint64Defaulted() int64 { - if m != nil && m.F_Sint64Defaulted != nil { - return *m.F_Sint64Defaulted - } - return Default_GoTest_F_Sint64Defaulted -} - -func (m *GoTest) GetF_BoolRepeatedPacked() []bool { - if m != nil { - return m.F_BoolRepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Int32RepeatedPacked() []int32 { - if m != nil { - return m.F_Int32RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Int64RepeatedPacked() []int64 { - if m != nil { - return m.F_Int64RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Fixed32RepeatedPacked() []uint32 { - if m != nil { - return m.F_Fixed32RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Fixed64RepeatedPacked() []uint64 { - if m != nil { - return m.F_Fixed64RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Uint32RepeatedPacked() []uint32 { - if m != nil { - return m.F_Uint32RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Uint64RepeatedPacked() []uint64 { - if m != nil { - return m.F_Uint64RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_FloatRepeatedPacked() []float32 { - if m != nil { - return m.F_FloatRepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_DoubleRepeatedPacked() []float64 { - if m != nil { - return m.F_DoubleRepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Sint32RepeatedPacked() []int32 { - if m != nil { - return m.F_Sint32RepeatedPacked - } - return nil -} - -func (m *GoTest) GetF_Sint64RepeatedPacked() []int64 { - if m != nil { - return m.F_Sint64RepeatedPacked - } - return nil -} - -func (m *GoTest) GetRequiredgroup() *GoTest_RequiredGroup { - if m != nil { - return m.Requiredgroup - } - return nil -} - -func (m *GoTest) GetRepeatedgroup() []*GoTest_RepeatedGroup { - if m != nil { - return m.Repeatedgroup - } - return nil -} - -func (m *GoTest) GetOptionalgroup() *GoTest_OptionalGroup { - if m != nil { - return m.Optionalgroup - } - return nil -} - -type GoTest_RequiredGroup struct { - RequiredField *string `protobuf:"bytes,71,req" json:"RequiredField,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTest_RequiredGroup) Reset() { *m = GoTest_RequiredGroup{} } - -func (m *GoTest_RequiredGroup) GetRequiredField() string { - if m != nil && m.RequiredField != nil { - return *m.RequiredField - } - return "" -} - -type GoTest_RepeatedGroup struct { - RequiredField *string `protobuf:"bytes,81,req" json:"RequiredField,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTest_RepeatedGroup) Reset() { *m = GoTest_RepeatedGroup{} } - -func (m *GoTest_RepeatedGroup) GetRequiredField() string { - if m != nil && m.RequiredField != nil { - return *m.RequiredField - } - return "" -} - -type GoTest_OptionalGroup struct { - RequiredField *string `protobuf:"bytes,91,req" json:"RequiredField,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoTest_OptionalGroup) Reset() { *m = GoTest_OptionalGroup{} } - -func (m *GoTest_OptionalGroup) GetRequiredField() string { - if m != nil && m.RequiredField != nil { - return *m.RequiredField - } - return "" -} - -type GoSkipTest struct { - SkipInt32 *int32 `protobuf:"varint,11,req,name=skip_int32" json:"skip_int32,omitempty"` - SkipFixed32 *uint32 `protobuf:"fixed32,12,req,name=skip_fixed32" json:"skip_fixed32,omitempty"` - SkipFixed64 *uint64 `protobuf:"fixed64,13,req,name=skip_fixed64" json:"skip_fixed64,omitempty"` - SkipString *string `protobuf:"bytes,14,req,name=skip_string" json:"skip_string,omitempty"` - Skipgroup *GoSkipTest_SkipGroup `protobuf:"group,15,req,name=SkipGroup" json:"skipgroup,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoSkipTest) Reset() { *m = GoSkipTest{} } -func (m *GoSkipTest) String() string { return proto.CompactTextString(m) } -func (*GoSkipTest) ProtoMessage() {} - -func (m *GoSkipTest) GetSkipInt32() int32 { - if m != nil && m.SkipInt32 != nil { - return *m.SkipInt32 - } - return 0 -} - -func (m *GoSkipTest) GetSkipFixed32() uint32 { - if m != nil && m.SkipFixed32 != nil { - return *m.SkipFixed32 - } - return 0 -} - -func (m *GoSkipTest) GetSkipFixed64() uint64 { - if m != nil && m.SkipFixed64 != nil { - return *m.SkipFixed64 - } - return 0 -} - -func (m *GoSkipTest) GetSkipString() string { - if m != nil && m.SkipString != nil { - return *m.SkipString - } - return "" -} - -func (m *GoSkipTest) GetSkipgroup() *GoSkipTest_SkipGroup { - if m != nil { - return m.Skipgroup - } - return nil -} - -type GoSkipTest_SkipGroup struct { - GroupInt32 *int32 `protobuf:"varint,16,req,name=group_int32" json:"group_int32,omitempty"` - GroupString *string `protobuf:"bytes,17,req,name=group_string" json:"group_string,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GoSkipTest_SkipGroup) Reset() { *m = GoSkipTest_SkipGroup{} } - -func (m *GoSkipTest_SkipGroup) GetGroupInt32() int32 { - if m != nil && m.GroupInt32 != nil { - return *m.GroupInt32 - } - return 0 -} - -func (m *GoSkipTest_SkipGroup) GetGroupString() string { - if m != nil && m.GroupString != nil { - return *m.GroupString - } - return "" -} - -type NonPackedTest struct { - A []int32 `protobuf:"varint,1,rep,name=a" json:"a,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *NonPackedTest) Reset() { *m = NonPackedTest{} } -func (m *NonPackedTest) String() string { return proto.CompactTextString(m) } -func (*NonPackedTest) ProtoMessage() {} - -func (m *NonPackedTest) GetA() []int32 { - if m != nil { - return m.A - } - return nil -} - -type PackedTest struct { - B []int32 `protobuf:"varint,1,rep,packed,name=b" json:"b,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *PackedTest) Reset() { *m = PackedTest{} } -func (m *PackedTest) String() string { return proto.CompactTextString(m) } -func (*PackedTest) ProtoMessage() {} - -func (m *PackedTest) GetB() []int32 { - if m != nil { - return m.B - } - return nil -} - -type MaxTag struct { - LastField *string `protobuf:"bytes,536870911,opt,name=last_field" json:"last_field,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MaxTag) Reset() { *m = MaxTag{} } -func (m *MaxTag) String() string { return proto.CompactTextString(m) } -func (*MaxTag) ProtoMessage() {} - -func (m *MaxTag) GetLastField() string { - if m != nil && m.LastField != nil { - return *m.LastField - } - return "" -} - -type OldMessage struct { - Nested *OldMessage_Nested `protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *OldMessage) Reset() { *m = OldMessage{} } -func (m *OldMessage) String() string { return proto.CompactTextString(m) } -func (*OldMessage) ProtoMessage() {} - -func (m *OldMessage) GetNested() *OldMessage_Nested { - if m != nil { - return m.Nested - } - return nil -} - -type OldMessage_Nested struct { - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *OldMessage_Nested) Reset() { *m = OldMessage_Nested{} } -func (m *OldMessage_Nested) String() string { return proto.CompactTextString(m) } -func (*OldMessage_Nested) ProtoMessage() {} - -func (m *OldMessage_Nested) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -type NewMessage struct { - Nested *NewMessage_Nested `protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *NewMessage) Reset() { *m = NewMessage{} } -func (m *NewMessage) String() string { return proto.CompactTextString(m) } -func (*NewMessage) ProtoMessage() {} - -func (m *NewMessage) GetNested() *NewMessage_Nested { - if m != nil { - return m.Nested - } - return nil -} - -type NewMessage_Nested struct { - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - FoodGroup *string `protobuf:"bytes,2,opt,name=food_group" json:"food_group,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *NewMessage_Nested) Reset() { *m = NewMessage_Nested{} } -func (m *NewMessage_Nested) String() string { return proto.CompactTextString(m) } -func (*NewMessage_Nested) ProtoMessage() {} - -func (m *NewMessage_Nested) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *NewMessage_Nested) GetFoodGroup() string { - if m != nil && m.FoodGroup != nil { - return *m.FoodGroup - } - return "" -} - -type InnerMessage struct { - Host *string `protobuf:"bytes,1,req,name=host" json:"host,omitempty"` - Port *int32 `protobuf:"varint,2,opt,name=port,def=4000" json:"port,omitempty"` - Connected *bool `protobuf:"varint,3,opt,name=connected" json:"connected,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *InnerMessage) Reset() { *m = InnerMessage{} } -func (m *InnerMessage) String() string { return proto.CompactTextString(m) } -func (*InnerMessage) ProtoMessage() {} - -const Default_InnerMessage_Port int32 = 4000 - -func (m *InnerMessage) GetHost() string { - if m != nil && m.Host != nil { - return *m.Host - } - return "" -} - -func (m *InnerMessage) GetPort() int32 { - if m != nil && m.Port != nil { - return *m.Port - } - return Default_InnerMessage_Port -} - -func (m *InnerMessage) GetConnected() bool { - if m != nil && m.Connected != nil { - return *m.Connected - } - return false -} - -type OtherMessage struct { - Key *int64 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - Weight *float32 `protobuf:"fixed32,3,opt,name=weight" json:"weight,omitempty"` - Inner *InnerMessage `protobuf:"bytes,4,opt,name=inner" json:"inner,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *OtherMessage) Reset() { *m = OtherMessage{} } -func (m *OtherMessage) String() string { return proto.CompactTextString(m) } -func (*OtherMessage) ProtoMessage() {} - -func (m *OtherMessage) GetKey() int64 { - if m != nil && m.Key != nil { - return *m.Key - } - return 0 -} - -func (m *OtherMessage) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -func (m *OtherMessage) GetWeight() float32 { - if m != nil && m.Weight != nil { - return *m.Weight - } - return 0 -} - -func (m *OtherMessage) GetInner() *InnerMessage { - if m != nil { - return m.Inner - } - return nil -} - -type MyMessage struct { - Count *int32 `protobuf:"varint,1,req,name=count" json:"count,omitempty"` - Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` - Quote *string `protobuf:"bytes,3,opt,name=quote" json:"quote,omitempty"` - Pet []string `protobuf:"bytes,4,rep,name=pet" json:"pet,omitempty"` - Inner *InnerMessage `protobuf:"bytes,5,opt,name=inner" json:"inner,omitempty"` - Others []*OtherMessage `protobuf:"bytes,6,rep,name=others" json:"others,omitempty"` - Bikeshed *MyMessage_Color `protobuf:"varint,7,opt,name=bikeshed,enum=testdata.MyMessage_Color" json:"bikeshed,omitempty"` - Somegroup *MyMessage_SomeGroup `protobuf:"group,8,opt,name=SomeGroup" json:"somegroup,omitempty"` - RepBytes [][]byte `protobuf:"bytes,10,rep,name=rep_bytes" json:"rep_bytes,omitempty"` - Bigfloat *float64 `protobuf:"fixed64,11,opt,name=bigfloat" json:"bigfloat,omitempty"` - XXX_extensions map[int32]proto.Extension `json:"-"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MyMessage) Reset() { *m = MyMessage{} } -func (m *MyMessage) String() string { return proto.CompactTextString(m) } -func (*MyMessage) ProtoMessage() {} - -var extRange_MyMessage = []proto.ExtensionRange{ - {100, 536870911}, -} - -func (*MyMessage) ExtensionRangeArray() []proto.ExtensionRange { - return extRange_MyMessage -} -func (m *MyMessage) ExtensionMap() map[int32]proto.Extension { - if m.XXX_extensions == nil { - m.XXX_extensions = make(map[int32]proto.Extension) - } - return m.XXX_extensions -} - -func (m *MyMessage) GetCount() int32 { - if m != nil && m.Count != nil { - return *m.Count - } - return 0 -} - -func (m *MyMessage) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *MyMessage) GetQuote() string { - if m != nil && m.Quote != nil { - return *m.Quote - } - return "" -} - -func (m *MyMessage) GetPet() []string { - if m != nil { - return m.Pet - } - return nil -} - -func (m *MyMessage) GetInner() *InnerMessage { - if m != nil { - return m.Inner - } - return nil -} - -func (m *MyMessage) GetOthers() []*OtherMessage { - if m != nil { - return m.Others - } - return nil -} - -func (m *MyMessage) GetBikeshed() MyMessage_Color { - if m != nil && m.Bikeshed != nil { - return *m.Bikeshed - } - return 0 -} - -func (m *MyMessage) GetSomegroup() *MyMessage_SomeGroup { - if m != nil { - return m.Somegroup - } - return nil -} - -func (m *MyMessage) GetRepBytes() [][]byte { - if m != nil { - return m.RepBytes - } - return nil -} - -func (m *MyMessage) GetBigfloat() float64 { - if m != nil && m.Bigfloat != nil { - return *m.Bigfloat - } - return 0 -} - -type MyMessage_SomeGroup struct { - GroupField *int32 `protobuf:"varint,9,opt,name=group_field" json:"group_field,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MyMessage_SomeGroup) Reset() { *m = MyMessage_SomeGroup{} } - -func (m *MyMessage_SomeGroup) GetGroupField() int32 { - if m != nil && m.GroupField != nil { - return *m.GroupField - } - return 0 -} - -type Ext struct { - Data *string `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Ext) Reset() { *m = Ext{} } -func (m *Ext) String() string { return proto.CompactTextString(m) } -func (*Ext) ProtoMessage() {} - -func (m *Ext) GetData() string { - if m != nil && m.Data != nil { - return *m.Data - } - return "" -} - -var E_Ext_More = &proto.ExtensionDesc{ - ExtendedType: (*MyMessage)(nil), - ExtensionType: (*Ext)(nil), - Field: 103, - Name: "testdata.Ext.more", - Tag: "bytes,103,opt,name=more", -} - -var E_Ext_Text = &proto.ExtensionDesc{ - ExtendedType: (*MyMessage)(nil), - ExtensionType: (*string)(nil), - Field: 104, - Name: "testdata.Ext.text", - Tag: "bytes,104,opt,name=text", -} - -var E_Ext_Number = &proto.ExtensionDesc{ - ExtendedType: (*MyMessage)(nil), - ExtensionType: (*int32)(nil), - Field: 105, - Name: "testdata.Ext.number", - Tag: "varint,105,opt,name=number", -} - -type MessageList struct { - Message []*MessageList_Message `protobuf:"group,1,rep" json:"message,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MessageList) Reset() { *m = MessageList{} } -func (m *MessageList) String() string { return proto.CompactTextString(m) } -func (*MessageList) ProtoMessage() {} - -func (m *MessageList) GetMessage() []*MessageList_Message { - if m != nil { - return m.Message - } - return nil -} - -type MessageList_Message struct { - Name *string `protobuf:"bytes,2,req,name=name" json:"name,omitempty"` - Count *int32 `protobuf:"varint,3,req,name=count" json:"count,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MessageList_Message) Reset() { *m = MessageList_Message{} } - -func (m *MessageList_Message) GetName() string { - if m != nil && m.Name != nil { - return *m.Name - } - return "" -} - -func (m *MessageList_Message) GetCount() int32 { - if m != nil && m.Count != nil { - return *m.Count - } - return 0 -} - -type Strings struct { - StringField *string `protobuf:"bytes,1,opt,name=string_field" json:"string_field,omitempty"` - BytesField []byte `protobuf:"bytes,2,opt,name=bytes_field" json:"bytes_field,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Strings) Reset() { *m = Strings{} } -func (m *Strings) String() string { return proto.CompactTextString(m) } -func (*Strings) ProtoMessage() {} - -func (m *Strings) GetStringField() string { - if m != nil && m.StringField != nil { - return *m.StringField - } - return "" -} - -func (m *Strings) GetBytesField() []byte { - if m != nil { - return m.BytesField - } - return nil -} - -type Defaults struct { - F_Bool *bool `protobuf:"varint,1,opt,def=1" json:"F_Bool,omitempty"` - F_Int32 *int32 `protobuf:"varint,2,opt,def=32" json:"F_Int32,omitempty"` - F_Int64 *int64 `protobuf:"varint,3,opt,def=64" json:"F_Int64,omitempty"` - F_Fixed32 *uint32 `protobuf:"fixed32,4,opt,def=320" json:"F_Fixed32,omitempty"` - F_Fixed64 *uint64 `protobuf:"fixed64,5,opt,def=640" json:"F_Fixed64,omitempty"` - F_Uint32 *uint32 `protobuf:"varint,6,opt,def=3200" json:"F_Uint32,omitempty"` - F_Uint64 *uint64 `protobuf:"varint,7,opt,def=6400" json:"F_Uint64,omitempty"` - F_Float *float32 `protobuf:"fixed32,8,opt,def=314159" json:"F_Float,omitempty"` - F_Double *float64 `protobuf:"fixed64,9,opt,def=271828" json:"F_Double,omitempty"` - F_String *string `protobuf:"bytes,10,opt,def=hello, \"world!\"\n" json:"F_String,omitempty"` - F_Bytes []byte `protobuf:"bytes,11,opt,def=Bignose" json:"F_Bytes,omitempty"` - F_Sint32 *int32 `protobuf:"zigzag32,12,opt,def=-32" json:"F_Sint32,omitempty"` - F_Sint64 *int64 `protobuf:"zigzag64,13,opt,def=-64" json:"F_Sint64,omitempty"` - F_Enum *Defaults_Color `protobuf:"varint,14,opt,enum=testdata.Defaults_Color,def=1" json:"F_Enum,omitempty"` - F_Pinf *float32 `protobuf:"fixed32,15,opt,def=inf" json:"F_Pinf,omitempty"` - F_Ninf *float32 `protobuf:"fixed32,16,opt,def=-inf" json:"F_Ninf,omitempty"` - F_Nan *float32 `protobuf:"fixed32,17,opt,def=nan" json:"F_Nan,omitempty"` - Sub *SubDefaults `protobuf:"bytes,18,opt,name=sub" json:"sub,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *Defaults) Reset() { *m = Defaults{} } -func (m *Defaults) String() string { return proto.CompactTextString(m) } -func (*Defaults) ProtoMessage() {} - -const Default_Defaults_F_Bool bool = true -const Default_Defaults_F_Int32 int32 = 32 -const Default_Defaults_F_Int64 int64 = 64 -const Default_Defaults_F_Fixed32 uint32 = 320 -const Default_Defaults_F_Fixed64 uint64 = 640 -const Default_Defaults_F_Uint32 uint32 = 3200 -const Default_Defaults_F_Uint64 uint64 = 6400 -const Default_Defaults_F_Float float32 = 314159 -const Default_Defaults_F_Double float64 = 271828 -const Default_Defaults_F_String string = "hello, \"world!\"\n" - -var Default_Defaults_F_Bytes []byte = []byte("Bignose") - -const Default_Defaults_F_Sint32 int32 = -32 -const Default_Defaults_F_Sint64 int64 = -64 -const Default_Defaults_F_Enum Defaults_Color = Defaults_GREEN - -var Default_Defaults_F_Pinf float32 = float32(math.Inf(1)) -var Default_Defaults_F_Ninf float32 = float32(math.Inf(-1)) -var Default_Defaults_F_Nan float32 = float32(math.NaN()) - -func (m *Defaults) GetF_Bool() bool { - if m != nil && m.F_Bool != nil { - return *m.F_Bool - } - return Default_Defaults_F_Bool -} - -func (m *Defaults) GetF_Int32() int32 { - if m != nil && m.F_Int32 != nil { - return *m.F_Int32 - } - return Default_Defaults_F_Int32 -} - -func (m *Defaults) GetF_Int64() int64 { - if m != nil && m.F_Int64 != nil { - return *m.F_Int64 - } - return Default_Defaults_F_Int64 -} - -func (m *Defaults) GetF_Fixed32() uint32 { - if m != nil && m.F_Fixed32 != nil { - return *m.F_Fixed32 - } - return Default_Defaults_F_Fixed32 -} - -func (m *Defaults) GetF_Fixed64() uint64 { - if m != nil && m.F_Fixed64 != nil { - return *m.F_Fixed64 - } - return Default_Defaults_F_Fixed64 -} - -func (m *Defaults) GetF_Uint32() uint32 { - if m != nil && m.F_Uint32 != nil { - return *m.F_Uint32 - } - return Default_Defaults_F_Uint32 -} - -func (m *Defaults) GetF_Uint64() uint64 { - if m != nil && m.F_Uint64 != nil { - return *m.F_Uint64 - } - return Default_Defaults_F_Uint64 -} - -func (m *Defaults) GetF_Float() float32 { - if m != nil && m.F_Float != nil { - return *m.F_Float - } - return Default_Defaults_F_Float -} - -func (m *Defaults) GetF_Double() float64 { - if m != nil && m.F_Double != nil { - return *m.F_Double - } - return Default_Defaults_F_Double -} - -func (m *Defaults) GetF_String() string { - if m != nil && m.F_String != nil { - return *m.F_String - } - return Default_Defaults_F_String -} - -func (m *Defaults) GetF_Bytes() []byte { - if m != nil && m.F_Bytes != nil { - return m.F_Bytes - } - return append([]byte(nil), Default_Defaults_F_Bytes...) -} - -func (m *Defaults) GetF_Sint32() int32 { - if m != nil && m.F_Sint32 != nil { - return *m.F_Sint32 - } - return Default_Defaults_F_Sint32 -} - -func (m *Defaults) GetF_Sint64() int64 { - if m != nil && m.F_Sint64 != nil { - return *m.F_Sint64 - } - return Default_Defaults_F_Sint64 -} - -func (m *Defaults) GetF_Enum() Defaults_Color { - if m != nil && m.F_Enum != nil { - return *m.F_Enum - } - return Default_Defaults_F_Enum -} - -func (m *Defaults) GetF_Pinf() float32 { - if m != nil && m.F_Pinf != nil { - return *m.F_Pinf - } - return Default_Defaults_F_Pinf -} - -func (m *Defaults) GetF_Ninf() float32 { - if m != nil && m.F_Ninf != nil { - return *m.F_Ninf - } - return Default_Defaults_F_Ninf -} - -func (m *Defaults) GetF_Nan() float32 { - if m != nil && m.F_Nan != nil { - return *m.F_Nan - } - return Default_Defaults_F_Nan -} - -func (m *Defaults) GetSub() *SubDefaults { - if m != nil { - return m.Sub - } - return nil -} - -type SubDefaults struct { - N *int64 `protobuf:"varint,1,opt,name=n,def=7" json:"n,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *SubDefaults) Reset() { *m = SubDefaults{} } -func (m *SubDefaults) String() string { return proto.CompactTextString(m) } -func (*SubDefaults) ProtoMessage() {} - -const Default_SubDefaults_N int64 = 7 - -func (m *SubDefaults) GetN() int64 { - if m != nil && m.N != nil { - return *m.N - } - return Default_SubDefaults_N -} - -type RepeatedEnum struct { - Color []RepeatedEnum_Color `protobuf:"varint,1,rep,name=color,enum=testdata.RepeatedEnum_Color" json:"color,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *RepeatedEnum) Reset() { *m = RepeatedEnum{} } -func (m *RepeatedEnum) String() string { return proto.CompactTextString(m) } -func (*RepeatedEnum) ProtoMessage() {} - -func (m *RepeatedEnum) GetColor() []RepeatedEnum_Color { - if m != nil { - return m.Color - } - return nil -} - -type MoreRepeated struct { - Bools []bool `protobuf:"varint,1,rep,name=bools" json:"bools,omitempty"` - BoolsPacked []bool `protobuf:"varint,2,rep,packed,name=bools_packed" json:"bools_packed,omitempty"` - Ints []int32 `protobuf:"varint,3,rep,name=ints" json:"ints,omitempty"` - IntsPacked []int32 `protobuf:"varint,4,rep,packed,name=ints_packed" json:"ints_packed,omitempty"` - Strings []string `protobuf:"bytes,5,rep,name=strings" json:"strings,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *MoreRepeated) Reset() { *m = MoreRepeated{} } -func (m *MoreRepeated) String() string { return proto.CompactTextString(m) } -func (*MoreRepeated) ProtoMessage() {} - -func (m *MoreRepeated) GetBools() []bool { - if m != nil { - return m.Bools - } - return nil -} - -func (m *MoreRepeated) GetBoolsPacked() []bool { - if m != nil { - return m.BoolsPacked - } - return nil -} - -func (m *MoreRepeated) GetInts() []int32 { - if m != nil { - return m.Ints - } - return nil -} - -func (m *MoreRepeated) GetIntsPacked() []int32 { - if m != nil { - return m.IntsPacked - } - return nil -} - -func (m *MoreRepeated) GetStrings() []string { - if m != nil { - return m.Strings - } - return nil -} - -type GroupOld struct { - G *GroupOld_G `protobuf:"group,1,opt" json:"g,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GroupOld) Reset() { *m = GroupOld{} } -func (m *GroupOld) String() string { return proto.CompactTextString(m) } -func (*GroupOld) ProtoMessage() {} - -func (m *GroupOld) GetG() *GroupOld_G { - if m != nil { - return m.G - } - return nil -} - -type GroupOld_G struct { - X *int32 `protobuf:"varint,2,opt,name=x" json:"x,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GroupOld_G) Reset() { *m = GroupOld_G{} } - -func (m *GroupOld_G) GetX() int32 { - if m != nil && m.X != nil { - return *m.X - } - return 0 -} - -type GroupNew struct { - G *GroupNew_G `protobuf:"group,1,opt" json:"g,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GroupNew) Reset() { *m = GroupNew{} } -func (m *GroupNew) String() string { return proto.CompactTextString(m) } -func (*GroupNew) ProtoMessage() {} - -func (m *GroupNew) GetG() *GroupNew_G { - if m != nil { - return m.G - } - return nil -} - -type GroupNew_G struct { - X *int32 `protobuf:"varint,2,opt,name=x" json:"x,omitempty"` - Y *int32 `protobuf:"varint,3,opt,name=y" json:"y,omitempty"` - XXX_unrecognized []byte `json:"-"` -} - -func (m *GroupNew_G) Reset() { *m = GroupNew_G{} } - -func (m *GroupNew_G) GetX() int32 { - if m != nil && m.X != nil { - return *m.X - } - return 0 -} - -func (m *GroupNew_G) GetY() int32 { - if m != nil && m.Y != nil { - return *m.Y - } - return 0 -} - -var E_Greeting = &proto.ExtensionDesc{ - ExtendedType: (*MyMessage)(nil), - ExtensionType: ([]string)(nil), - Field: 106, - Name: "testdata.greeting", - Tag: "bytes,106,rep,name=greeting", -} - -func init() { - proto.RegisterEnum("testdata.FOO", FOO_name, FOO_value) - proto.RegisterEnum("testdata.GoTest_KIND", GoTest_KIND_name, GoTest_KIND_value) - proto.RegisterEnum("testdata.MyMessage_Color", MyMessage_Color_name, MyMessage_Color_value) - proto.RegisterEnum("testdata.Defaults_Color", Defaults_Color_name, Defaults_Color_value) - proto.RegisterEnum("testdata.RepeatedEnum_Color", RepeatedEnum_Color_name, RepeatedEnum_Color_value) - proto.RegisterExtension(E_Ext_More) - proto.RegisterExtension(E_Ext_Text) - proto.RegisterExtension(E_Ext_Number) - proto.RegisterExtension(E_Greeting) -} diff --git a/vendor/github.com/gogo/protobuf/proto/text.go b/vendor/github.com/gogo/protobuf/proto/text.go index f609d1d45..0407ba85d 100644 --- a/vendor/github.com/gogo/protobuf/proto/text.go +++ b/vendor/github.com/gogo/protobuf/proto/text.go @@ -57,7 +57,6 @@ import ( var ( newline = []byte("\n") spaces = []byte(" ") - gtNewline = []byte(">\n") endBraceNewline = []byte("}\n") backslashN = []byte{'\\', 'n'} backslashR = []byte{'\\', 'r'} @@ -177,11 +176,6 @@ func writeName(w *textWriter, props *Properties) error { return nil } -// raw is the interface satisfied by RawMessage. -type raw interface { - Bytes() []byte -} - func requiresQuotes(u string) bool { // When type URL contains any characters except [0-9A-Za-z./\-]*, it must be quoted. for _, ch := range u { @@ -276,6 +270,10 @@ func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error { props := sprops.Prop[i] name := st.Field(i).Name + if name == "XXX_NoUnkeyedLiteral" { + continue + } + if strings.HasPrefix(name, "XXX_") { // There are two XXX_ fields: // XXX_unrecognized []byte @@ -366,7 +364,7 @@ func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error { return err } } - if err := tm.writeAny(w, key, props.mkeyprop); err != nil { + if err := tm.writeAny(w, key, props.MapKeyProp); err != nil { return err } if err := w.WriteByte('\n'); err != nil { @@ -383,7 +381,7 @@ func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error { return err } } - if err := tm.writeAny(w, val, props.mvalprop); err != nil { + if err := tm.writeAny(w, val, props.MapValProp); err != nil { return err } if err := w.WriteByte('\n'); err != nil { @@ -447,12 +445,6 @@ func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error { return err } } - if b, ok := fv.Interface().(raw); ok { - if err := writeRaw(w, b.Bytes()); err != nil { - return err - } - continue - } if len(props.Enum) > 0 { if err := tm.writeEnum(w, fv, props); err != nil { @@ -475,7 +467,7 @@ func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error { pv = reflect.New(sv.Type()) pv.Elem().Set(sv) } - if pv.Type().Implements(extensionRangeType) { + if _, err := extendable(pv.Interface()); err == nil { if err := tm.writeExtensions(w, pv); err != nil { return err } @@ -484,27 +476,6 @@ func (tm *TextMarshaler) writeStruct(w *textWriter, sv reflect.Value) error { return nil } -// writeRaw writes an uninterpreted raw message. -func writeRaw(w *textWriter, b []byte) error { - if err := w.WriteByte('<'); err != nil { - return err - } - if !w.compact { - if err := w.WriteByte('\n'); err != nil { - return err - } - } - w.indent() - if err := writeUnknownStruct(w, b); err != nil { - return err - } - w.unindent() - if err := w.WriteByte('>'); err != nil { - return err - } - return nil -} - // writeAny writes an arbitrary field. func (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Properties) error { v = reflect.Indirect(v) @@ -605,6 +576,19 @@ func (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Propert } } w.indent() + if v.CanAddr() { + // Calling v.Interface on a struct causes the reflect package to + // copy the entire struct. This is racy with the new Marshaler + // since we atomically update the XXX_sizecache. + // + // Thus, we retrieve a pointer to the struct if possible to avoid + // a race since v.Interface on the pointer doesn't copy the struct. + // + // If v is not addressable, then we are not worried about a race + // since it implies that the binary Marshaler cannot possibly be + // mutating this value. + v = v.Addr() + } if etm, ok := v.Interface().(encoding.TextMarshaler); ok { text, err := etm.MarshalText() if err != nil { @@ -613,8 +597,13 @@ func (tm *TextMarshaler) writeAny(w *textWriter, v reflect.Value, props *Propert if _, err = w.Write(text); err != nil { return err } - } else if err := tm.writeStruct(w, v); err != nil { - return err + } else { + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + if err := tm.writeStruct(w, v); err != nil { + return err + } } w.unindent() if err := w.WriteByte(ket); err != nil { diff --git a/vendor/github.com/gogo/protobuf/proto/text_parser.go b/vendor/github.com/gogo/protobuf/proto/text_parser.go index f1276729a..1ce0be2fa 100644 --- a/vendor/github.com/gogo/protobuf/proto/text_parser.go +++ b/vendor/github.com/gogo/protobuf/proto/text_parser.go @@ -212,7 +212,6 @@ func (p *textParser) advance() { var ( errBadUTF8 = errors.New("proto: bad UTF-8") - errBadHex = errors.New("proto: bad hexadecimal") ) func unquoteC(s string, quote rune) (string, error) { @@ -283,60 +282,47 @@ func unescape(s string) (ch string, tail string, err error) { return "?", s, nil // trigraph workaround case '\'', '"', '\\': return string(r), s, nil - case '0', '1', '2', '3', '4', '5', '6', '7', 'x', 'X': + case '0', '1', '2', '3', '4', '5', '6', '7': if len(s) < 2 { return "", "", fmt.Errorf(`\%c requires 2 following digits`, r) } - base := 8 - ss := s[:2] + ss := string(r) + s[:2] s = s[2:] - if r == 'x' || r == 'X' { - base = 16 - } else { - ss = string(r) + ss - } - i, err := strconv.ParseUint(ss, base, 8) + i, err := strconv.ParseUint(ss, 8, 8) if err != nil { - return "", "", err + return "", "", fmt.Errorf(`\%s contains non-octal digits`, ss) } return string([]byte{byte(i)}), s, nil - case 'u', 'U': - n := 4 - if r == 'U' { + case 'x', 'X', 'u', 'U': + var n int + switch r { + case 'x', 'X': + n = 2 + case 'u': + n = 4 + case 'U': n = 8 } if len(s) < n { - return "", "", fmt.Errorf(`\%c requires %d digits`, r, n) - } - - bs := make([]byte, n/2) - for i := 0; i < n; i += 2 { - a, ok1 := unhex(s[i]) - b, ok2 := unhex(s[i+1]) - if !ok1 || !ok2 { - return "", "", errBadHex - } - bs[i/2] = a<<4 | b + return "", "", fmt.Errorf(`\%c requires %d following digits`, r, n) } + ss := s[:n] s = s[n:] - return string(bs), s, nil + i, err := strconv.ParseUint(ss, 16, 64) + if err != nil { + return "", "", fmt.Errorf(`\%c%s contains non-hexadecimal digits`, r, ss) + } + if r == 'x' || r == 'X' { + return string([]byte{byte(i)}), s, nil + } + if i > utf8.MaxRune { + return "", "", fmt.Errorf(`\%c%s is not a valid Unicode code point`, r, ss) + } + return string(i), s, nil } return "", "", fmt.Errorf(`unknown escape \%c`, r) } -// Adapted from src/pkg/strconv/quote.go. -func unhex(b byte) (v byte, ok bool) { - switch { - case '0' <= b && b <= '9': - return b - '0', true - case 'a' <= b && b <= 'f': - return b - 'a' + 10, true - case 'A' <= b && b <= 'F': - return b - 'A' + 10, true - } - return 0, false -} - // Back off the parser by one token. Can only be done between calls to next(). // It makes the next advance() a no-op. func (p *textParser) back() { p.backed = true } @@ -650,17 +636,17 @@ func (p *textParser) readStruct(sv reflect.Value, terminator string) error { if err := p.consumeToken(":"); err != nil { return err } - if err := p.readAny(key, props.mkeyprop); err != nil { + if err := p.readAny(key, props.MapKeyProp); err != nil { return err } if err := p.consumeOptionalSeparator(); err != nil { return err } case "value": - if err := p.checkForColon(props.mvalprop, dst.Type().Elem()); err != nil { + if err := p.checkForColon(props.MapValProp, dst.Type().Elem()); err != nil { return err } - if err := p.readAny(val, props.mvalprop); err != nil { + if err := p.readAny(val, props.MapValProp); err != nil { return err } if err := p.consumeOptionalSeparator(); err != nil { @@ -734,6 +720,9 @@ func (p *textParser) consumeExtName() (string, error) { if tok.err != nil { return "", p.errorf("unrecognized type_url or extension name: %s", tok.err) } + if p.done && tok.value != "]" { + return "", p.errorf("unclosed type_url or extension name") + } } return strings.Join(parts, ""), nil } @@ -934,6 +923,16 @@ func (p *textParser) readAny(v reflect.Value, props *Properties) error { fv.SetFloat(f) return nil } + case reflect.Int8: + if x, err := strconv.ParseInt(tok.value, 0, 8); err == nil { + fv.SetInt(x) + return nil + } + case reflect.Int16: + if x, err := strconv.ParseInt(tok.value, 0, 16); err == nil { + fv.SetInt(x) + return nil + } case reflect.Int32: if x, err := strconv.ParseInt(tok.value, 0, 32); err == nil { fv.SetInt(x) @@ -981,9 +980,19 @@ func (p *textParser) readAny(v reflect.Value, props *Properties) error { } // TODO: Handle nested messages which implement encoding.TextUnmarshaler. return p.readStruct(fv, terminator) + case reflect.Uint8: + if x, err := strconv.ParseUint(tok.value, 0, 8); err == nil { + fv.SetUint(x) + return nil + } + case reflect.Uint16: + if x, err := strconv.ParseUint(tok.value, 0, 16); err == nil { + fv.SetUint(x) + return nil + } case reflect.Uint32: if x, err := strconv.ParseUint(tok.value, 0, 32); err == nil { - fv.SetUint(x) + fv.SetUint(uint64(x)) return nil } case reflect.Uint64: @@ -1001,13 +1010,9 @@ func (p *textParser) readAny(v reflect.Value, props *Properties) error { // UnmarshalText returns *RequiredNotSetError. func UnmarshalText(s string, pb Message) error { if um, ok := pb.(encoding.TextUnmarshaler); ok { - err := um.UnmarshalText([]byte(s)) - return err + return um.UnmarshalText([]byte(s)) } pb.Reset() v := reflect.ValueOf(pb) - if pe := newTextParser(s).readStruct(v.Elem(), ""); pe != nil { - return pe - } - return nil + return newTextParser(s).readStruct(v.Elem(), "") } diff --git a/vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go b/vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go index d42764743..38439fa99 100644 --- a/vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go +++ b/vendor/github.com/gogo/protobuf/proto/timestamp_gogo.go @@ -47,183 +47,3 @@ func (*timestamp) String() string { return "timestamp" } func init() { RegisterType((*timestamp)(nil), "gogo.protobuf.proto.timestamp") } - -func (o *Buffer) decTimestamp() (time.Time, error) { - b, err := o.DecodeRawBytes(true) - if err != nil { - return time.Time{}, err - } - tproto := ×tamp{} - if err := Unmarshal(b, tproto); err != nil { - return time.Time{}, err - } - return timestampFromProto(tproto) -} - -func (o *Buffer) dec_time(p *Properties, base structPointer) error { - t, err := o.decTimestamp() - if err != nil { - return err - } - setPtrCustomType(base, p.field, &t) - return nil -} - -func (o *Buffer) dec_ref_time(p *Properties, base structPointer) error { - t, err := o.decTimestamp() - if err != nil { - return err - } - setCustomType(base, p.field, &t) - return nil -} - -func (o *Buffer) dec_slice_time(p *Properties, base structPointer) error { - t, err := o.decTimestamp() - if err != nil { - return err - } - newBas := appendStructPointer(base, p.field, reflect.SliceOf(reflect.PtrTo(timeType))) - var zero field - setPtrCustomType(newBas, zero, &t) - return nil -} - -func (o *Buffer) dec_slice_ref_time(p *Properties, base structPointer) error { - t, err := o.decTimestamp() - if err != nil { - return err - } - newBas := appendStructPointer(base, p.field, reflect.SliceOf(timeType)) - var zero field - setCustomType(newBas, zero, &t) - return nil -} - -func size_time(p *Properties, base structPointer) (n int) { - structp := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(structp) { - return 0 - } - tim := structPointer_Interface(structp, timeType).(*time.Time) - t, err := timestampProto(*tim) - if err != nil { - return 0 - } - size := Size(t) - return size + sizeVarint(uint64(size)) + len(p.tagcode) -} - -func (o *Buffer) enc_time(p *Properties, base structPointer) error { - structp := structPointer_GetStructPointer(base, p.field) - if structPointer_IsNil(structp) { - return ErrNil - } - tim := structPointer_Interface(structp, timeType).(*time.Time) - t, err := timestampProto(*tim) - if err != nil { - return err - } - data, err := Marshal(t) - if err != nil { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - return nil -} - -func size_ref_time(p *Properties, base structPointer) (n int) { - tim := structPointer_InterfaceAt(base, p.field, timeType).(*time.Time) - t, err := timestampProto(*tim) - if err != nil { - return 0 - } - size := Size(t) - return size + sizeVarint(uint64(size)) + len(p.tagcode) -} - -func (o *Buffer) enc_ref_time(p *Properties, base structPointer) error { - tim := structPointer_InterfaceAt(base, p.field, timeType).(*time.Time) - t, err := timestampProto(*tim) - if err != nil { - return err - } - data, err := Marshal(t) - if err != nil { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - return nil -} - -func size_slice_time(p *Properties, base structPointer) (n int) { - ptims := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(reflect.PtrTo(timeType))).(*[]*time.Time) - tims := *ptims - for i := 0; i < len(tims); i++ { - if tims[i] == nil { - return 0 - } - tproto, err := timestampProto(*tims[i]) - if err != nil { - return 0 - } - size := Size(tproto) - n += len(p.tagcode) + size + sizeVarint(uint64(size)) - } - return n -} - -func (o *Buffer) enc_slice_time(p *Properties, base structPointer) error { - ptims := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(reflect.PtrTo(timeType))).(*[]*time.Time) - tims := *ptims - for i := 0; i < len(tims); i++ { - if tims[i] == nil { - return errRepeatedHasNil - } - tproto, err := timestampProto(*tims[i]) - if err != nil { - return err - } - data, err := Marshal(tproto) - if err != nil { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - } - return nil -} - -func size_slice_ref_time(p *Properties, base structPointer) (n int) { - ptims := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(timeType)).(*[]time.Time) - tims := *ptims - for i := 0; i < len(tims); i++ { - tproto, err := timestampProto(tims[i]) - if err != nil { - return 0 - } - size := Size(tproto) - n += len(p.tagcode) + size + sizeVarint(uint64(size)) - } - return n -} - -func (o *Buffer) enc_slice_ref_time(p *Properties, base structPointer) error { - ptims := structPointer_InterfaceAt(base, p.field, reflect.SliceOf(timeType)).(*[]time.Time) - tims := *ptims - for i := 0; i < len(tims); i++ { - tproto, err := timestampProto(tims[i]) - if err != nil { - return err - } - data, err := Marshal(tproto) - if err != nil { - return err - } - o.buf = append(o.buf, p.tagcode...) - o.EncodeRawBytes(data) - } - return nil -} diff --git a/vendor/github.com/gogo/protobuf/proto/wrappers.go b/vendor/github.com/gogo/protobuf/proto/wrappers.go new file mode 100644 index 000000000..b175d1b64 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/wrappers.go @@ -0,0 +1,1888 @@ +// Protocol Buffers for Go with Gadgets +// +// Copyright (c) 2018, The GoGo Authors. All rights reserved. +// http://github.com/gogo/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +import ( + "io" + "reflect" +) + +func makeStdDoubleValueMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*float64) + v := &float64Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*float64) + v := &float64Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdDoubleValuePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*float64) + v := &float64Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*float64) + v := &float64Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdDoubleValueSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(float64) + v := &float64Value{t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(float64) + v := &float64Value{t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdDoubleValuePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*float64) + v := &float64Value{*t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*float64) + v := &float64Value{*t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdDoubleValueUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &float64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(m.Value)) + return b[x:], nil + } +} + +func makeStdDoubleValuePtrUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &float64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&m.Value)) + return b[x:], nil + } +} + +func makeStdDoubleValuePtrSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &float64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdDoubleValueSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &float64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdFloatValueMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*float32) + v := &float32Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*float32) + v := &float32Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdFloatValuePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*float32) + v := &float32Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*float32) + v := &float32Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdFloatValueSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(float32) + v := &float32Value{t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(float32) + v := &float32Value{t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdFloatValuePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*float32) + v := &float32Value{*t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*float32) + v := &float32Value{*t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdFloatValueUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &float32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(m.Value)) + return b[x:], nil + } +} + +func makeStdFloatValuePtrUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &float32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&m.Value)) + return b[x:], nil + } +} + +func makeStdFloatValuePtrSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &float32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdFloatValueSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &float32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdInt64ValueMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*int64) + v := &int64Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*int64) + v := &int64Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdInt64ValuePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*int64) + v := &int64Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*int64) + v := &int64Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdInt64ValueSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(int64) + v := &int64Value{t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(int64) + v := &int64Value{t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdInt64ValuePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*int64) + v := &int64Value{*t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*int64) + v := &int64Value{*t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdInt64ValueUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &int64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(m.Value)) + return b[x:], nil + } +} + +func makeStdInt64ValuePtrUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &int64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&m.Value)) + return b[x:], nil + } +} + +func makeStdInt64ValuePtrSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &int64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdInt64ValueSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &int64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdUInt64ValueMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*uint64) + v := &uint64Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*uint64) + v := &uint64Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdUInt64ValuePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*uint64) + v := &uint64Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*uint64) + v := &uint64Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdUInt64ValueSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(uint64) + v := &uint64Value{t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(uint64) + v := &uint64Value{t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdUInt64ValuePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*uint64) + v := &uint64Value{*t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*uint64) + v := &uint64Value{*t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdUInt64ValueUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &uint64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(m.Value)) + return b[x:], nil + } +} + +func makeStdUInt64ValuePtrUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &uint64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&m.Value)) + return b[x:], nil + } +} + +func makeStdUInt64ValuePtrSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &uint64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdUInt64ValueSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &uint64Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdInt32ValueMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*int32) + v := &int32Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*int32) + v := &int32Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdInt32ValuePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*int32) + v := &int32Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*int32) + v := &int32Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdInt32ValueSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(int32) + v := &int32Value{t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(int32) + v := &int32Value{t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdInt32ValuePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*int32) + v := &int32Value{*t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*int32) + v := &int32Value{*t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdInt32ValueUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &int32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(m.Value)) + return b[x:], nil + } +} + +func makeStdInt32ValuePtrUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &int32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&m.Value)) + return b[x:], nil + } +} + +func makeStdInt32ValuePtrSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &int32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdInt32ValueSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &int32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdUInt32ValueMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*uint32) + v := &uint32Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*uint32) + v := &uint32Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdUInt32ValuePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*uint32) + v := &uint32Value{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*uint32) + v := &uint32Value{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdUInt32ValueSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(uint32) + v := &uint32Value{t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(uint32) + v := &uint32Value{t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdUInt32ValuePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*uint32) + v := &uint32Value{*t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*uint32) + v := &uint32Value{*t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdUInt32ValueUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &uint32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(m.Value)) + return b[x:], nil + } +} + +func makeStdUInt32ValuePtrUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &uint32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&m.Value)) + return b[x:], nil + } +} + +func makeStdUInt32ValuePtrSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &uint32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdUInt32ValueSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &uint32Value{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdBoolValueMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*bool) + v := &boolValue{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*bool) + v := &boolValue{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdBoolValuePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*bool) + v := &boolValue{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*bool) + v := &boolValue{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdBoolValueSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(bool) + v := &boolValue{t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(bool) + v := &boolValue{t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdBoolValuePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*bool) + v := &boolValue{*t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*bool) + v := &boolValue{*t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdBoolValueUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &boolValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(m.Value)) + return b[x:], nil + } +} + +func makeStdBoolValuePtrUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &boolValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&m.Value)) + return b[x:], nil + } +} + +func makeStdBoolValuePtrSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &boolValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdBoolValueSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &boolValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdStringValueMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*string) + v := &stringValue{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*string) + v := &stringValue{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdStringValuePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*string) + v := &stringValue{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*string) + v := &stringValue{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdStringValueSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(string) + v := &stringValue{t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(string) + v := &stringValue{t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdStringValuePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*string) + v := &stringValue{*t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*string) + v := &stringValue{*t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdStringValueUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &stringValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(m.Value)) + return b[x:], nil + } +} + +func makeStdStringValuePtrUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &stringValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&m.Value)) + return b[x:], nil + } +} + +func makeStdStringValuePtrSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &stringValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdStringValueSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &stringValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdBytesValueMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + t := ptr.asPointerTo(u.typ).Interface().(*[]byte) + v := &bytesValue{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + t := ptr.asPointerTo(u.typ).Interface().(*[]byte) + v := &bytesValue{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdBytesValuePtrMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + if ptr.isNil() { + return 0 + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*[]byte) + v := &bytesValue{*t} + siz := Size(v) + return tagsize + SizeVarint(uint64(siz)) + siz + }, func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + if ptr.isNil() { + return b, nil + } + t := ptr.asPointerTo(reflect.PtrTo(u.typ)).Elem().Interface().(*[]byte) + v := &bytesValue{*t} + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(len(buf))) + b = append(b, buf...) + return b, nil + } +} + +func makeStdBytesValueSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(u.typ) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().([]byte) + v := &bytesValue{t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(u.typ) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().([]byte) + v := &bytesValue{t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdBytesValuePtrSliceMarshaler(u *marshalInfo) (sizer, marshaler) { + return func(ptr pointer, tagsize int) int { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + n := 0 + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*[]byte) + v := &bytesValue{*t} + siz := Size(v) + n += siz + SizeVarint(uint64(siz)) + tagsize + } + return n + }, + func(b []byte, ptr pointer, wiretag uint64, deterministic bool) ([]byte, error) { + s := ptr.getSlice(reflect.PtrTo(u.typ)) + for i := 0; i < s.Len(); i++ { + elem := s.Index(i) + t := elem.Interface().(*[]byte) + v := &bytesValue{*t} + siz := Size(v) + buf, err := Marshal(v) + if err != nil { + return nil, err + } + b = appendVarint(b, wiretag) + b = appendVarint(b, uint64(siz)) + b = append(b, buf...) + } + + return b, nil + } +} + +func makeStdBytesValueUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &bytesValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(sub.typ).Elem() + s.Set(reflect.ValueOf(m.Value)) + return b[x:], nil + } +} + +func makeStdBytesValuePtrUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &bytesValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + s := f.asPointerTo(reflect.PtrTo(sub.typ)).Elem() + s.Set(reflect.ValueOf(&m.Value)) + return b[x:], nil + } +} + +func makeStdBytesValuePtrSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &bytesValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(reflect.PtrTo(sub.typ)) + newSlice := reflect.Append(slice, reflect.ValueOf(&m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} + +func makeStdBytesValueSliceUnmarshaler(sub *unmarshalInfo, name string) unmarshaler { + return func(b []byte, f pointer, w int) ([]byte, error) { + if w != WireBytes { + return nil, errInternalBadWireType + } + x, n := decodeVarint(b) + if n == 0 { + return nil, io.ErrUnexpectedEOF + } + b = b[n:] + if x > uint64(len(b)) { + return nil, io.ErrUnexpectedEOF + } + m := &bytesValue{} + if err := Unmarshal(b[:x], m); err != nil { + return nil, err + } + slice := f.getSlice(sub.typ) + newSlice := reflect.Append(slice, reflect.ValueOf(m.Value)) + slice.Set(newSlice) + return b[x:], nil + } +} diff --git a/vendor/github.com/gogo/protobuf/proto/wrappers_gogo.go b/vendor/github.com/gogo/protobuf/proto/wrappers_gogo.go new file mode 100644 index 000000000..c1cf7bf85 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/wrappers_gogo.go @@ -0,0 +1,113 @@ +// Protocol Buffers for Go with Gadgets +// +// Copyright (c) 2018, The GoGo Authors. All rights reserved. +// http://github.com/gogo/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package proto + +type float64Value struct { + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *float64Value) Reset() { *m = float64Value{} } +func (*float64Value) ProtoMessage() {} +func (*float64Value) String() string { return "float64" } + +type float32Value struct { + Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *float32Value) Reset() { *m = float32Value{} } +func (*float32Value) ProtoMessage() {} +func (*float32Value) String() string { return "float32" } + +type int64Value struct { + Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *int64Value) Reset() { *m = int64Value{} } +func (*int64Value) ProtoMessage() {} +func (*int64Value) String() string { return "int64" } + +type uint64Value struct { + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *uint64Value) Reset() { *m = uint64Value{} } +func (*uint64Value) ProtoMessage() {} +func (*uint64Value) String() string { return "uint64" } + +type int32Value struct { + Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *int32Value) Reset() { *m = int32Value{} } +func (*int32Value) ProtoMessage() {} +func (*int32Value) String() string { return "int32" } + +type uint32Value struct { + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *uint32Value) Reset() { *m = uint32Value{} } +func (*uint32Value) ProtoMessage() {} +func (*uint32Value) String() string { return "uint32" } + +type boolValue struct { + Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *boolValue) Reset() { *m = boolValue{} } +func (*boolValue) ProtoMessage() {} +func (*boolValue) String() string { return "bool" } + +type stringValue struct { + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *stringValue) Reset() { *m = stringValue{} } +func (*stringValue) ProtoMessage() {} +func (*stringValue) String() string { return "string" } + +type bytesValue struct { + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (m *bytesValue) Reset() { *m = bytesValue{} } +func (*bytesValue) ProtoMessage() {} +func (*bytesValue) String() string { return "[]byte" } + +func init() { + RegisterType((*float64Value)(nil), "gogo.protobuf.proto.DoubleValue") + RegisterType((*float32Value)(nil), "gogo.protobuf.proto.FloatValue") + RegisterType((*int64Value)(nil), "gogo.protobuf.proto.Int64Value") + RegisterType((*uint64Value)(nil), "gogo.protobuf.proto.UInt64Value") + RegisterType((*int32Value)(nil), "gogo.protobuf.proto.Int32Value") + RegisterType((*uint32Value)(nil), "gogo.protobuf.proto.UInt32Value") + RegisterType((*boolValue)(nil), "gogo.protobuf.proto.BoolValue") + RegisterType((*stringValue)(nil), "gogo.protobuf.proto.StringValue") + RegisterType((*bytesValue)(nil), "gogo.protobuf.proto.BytesValue") +} diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go index 4174cbd9f..44f893b77 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go @@ -1,35 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: descriptor.proto -/* -Package descriptor is a generated protocol buffer package. - -It is generated from these files: - descriptor.proto - -It has these top-level messages: - FileDescriptorSet - FileDescriptorProto - DescriptorProto - ExtensionRangeOptions - FieldDescriptorProto - OneofDescriptorProto - EnumDescriptorProto - EnumValueDescriptorProto - ServiceDescriptorProto - MethodDescriptorProto - FileOptions - MessageOptions - FieldOptions - OneofOptions - EnumOptions - EnumValueOptions - ServiceOptions - MethodOptions - UninterpretedOption - SourceCodeInfo - GeneratedCodeInfo -*/ package descriptor import proto "github.com/gogo/protobuf/proto" @@ -139,7 +110,7 @@ func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error { return nil } func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{4, 0} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{4, 0} } type FieldDescriptorProto_Label int32 @@ -179,7 +150,7 @@ func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error { return nil } func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{4, 1} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{4, 1} } // Generated classes can be optimized for speed or code size. @@ -220,7 +191,7 @@ func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error { return nil } func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{10, 0} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{10, 0} } type FieldOptions_CType int32 @@ -260,7 +231,7 @@ func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error { return nil } func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{12, 0} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{12, 0} } type FieldOptions_JSType int32 @@ -302,7 +273,7 @@ func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error { return nil } func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{12, 1} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{12, 1} } // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, @@ -344,20 +315,41 @@ func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error { return nil } func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{17, 0} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{17, 0} } // The protocol compiler can output a FileDescriptorSet containing the .proto // files it parses. type FileDescriptorSet struct { - File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"` - XXX_unrecognized []byte `json:"-"` + File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *FileDescriptorSet) Reset() { *m = FileDescriptorSet{} } -func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) } -func (*FileDescriptorSet) ProtoMessage() {} -func (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{0} } +func (m *FileDescriptorSet) Reset() { *m = FileDescriptorSet{} } +func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) } +func (*FileDescriptorSet) ProtoMessage() {} +func (*FileDescriptorSet) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{0} +} +func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FileDescriptorSet.Unmarshal(m, b) +} +func (m *FileDescriptorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FileDescriptorSet.Marshal(b, m, deterministic) +} +func (dst *FileDescriptorSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileDescriptorSet.Merge(dst, src) +} +func (m *FileDescriptorSet) XXX_Size() int { + return xxx_messageInfo_FileDescriptorSet.Size(m) +} +func (m *FileDescriptorSet) XXX_DiscardUnknown() { + xxx_messageInfo_FileDescriptorSet.DiscardUnknown(m) +} + +var xxx_messageInfo_FileDescriptorSet proto.InternalMessageInfo func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto { if m != nil { @@ -390,14 +382,35 @@ type FileDescriptorProto struct { SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"` // The syntax of the proto file. // The supported values are "proto2" and "proto3". - Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"` - XXX_unrecognized []byte `json:"-"` + Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *FileDescriptorProto) Reset() { *m = FileDescriptorProto{} } -func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) } -func (*FileDescriptorProto) ProtoMessage() {} -func (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{1} } +func (m *FileDescriptorProto) Reset() { *m = FileDescriptorProto{} } +func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) } +func (*FileDescriptorProto) ProtoMessage() {} +func (*FileDescriptorProto) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{1} +} +func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FileDescriptorProto.Unmarshal(m, b) +} +func (m *FileDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FileDescriptorProto.Marshal(b, m, deterministic) +} +func (dst *FileDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileDescriptorProto.Merge(dst, src) +} +func (m *FileDescriptorProto) XXX_Size() int { + return xxx_messageInfo_FileDescriptorProto.Size(m) +} +func (m *FileDescriptorProto) XXX_DiscardUnknown() { + xxx_messageInfo_FileDescriptorProto.DiscardUnknown(m) +} + +var xxx_messageInfo_FileDescriptorProto proto.InternalMessageInfo func (m *FileDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -496,14 +509,35 @@ type DescriptorProto struct { ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` // Reserved field names, which may not be used by fields in the same message. // A given name may only be reserved once. - ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` - XXX_unrecognized []byte `json:"-"` + ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DescriptorProto) Reset() { *m = DescriptorProto{} } -func (m *DescriptorProto) String() string { return proto.CompactTextString(m) } -func (*DescriptorProto) ProtoMessage() {} -func (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{2} } +func (m *DescriptorProto) Reset() { *m = DescriptorProto{} } +func (m *DescriptorProto) String() string { return proto.CompactTextString(m) } +func (*DescriptorProto) ProtoMessage() {} +func (*DescriptorProto) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{2} +} +func (m *DescriptorProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DescriptorProto.Unmarshal(m, b) +} +func (m *DescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DescriptorProto.Marshal(b, m, deterministic) +} +func (dst *DescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_DescriptorProto.Merge(dst, src) +} +func (m *DescriptorProto) XXX_Size() int { + return xxx_messageInfo_DescriptorProto.Size(m) +} +func (m *DescriptorProto) XXX_DiscardUnknown() { + xxx_messageInfo_DescriptorProto.DiscardUnknown(m) +} + +var xxx_messageInfo_DescriptorProto proto.InternalMessageInfo func (m *DescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -576,18 +610,37 @@ func (m *DescriptorProto) GetReservedName() []string { } type DescriptorProto_ExtensionRange struct { - Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` - End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` - Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` - XXX_unrecognized []byte `json:"-"` + Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` + End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` + Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DescriptorProto_ExtensionRange) Reset() { *m = DescriptorProto_ExtensionRange{} } func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) } func (*DescriptorProto_ExtensionRange) ProtoMessage() {} func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{2, 0} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{2, 0} } +func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DescriptorProto_ExtensionRange.Unmarshal(m, b) +} +func (m *DescriptorProto_ExtensionRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DescriptorProto_ExtensionRange.Marshal(b, m, deterministic) +} +func (dst *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(dst, src) +} +func (m *DescriptorProto_ExtensionRange) XXX_Size() int { + return xxx_messageInfo_DescriptorProto_ExtensionRange.Size(m) +} +func (m *DescriptorProto_ExtensionRange) XXX_DiscardUnknown() { + xxx_messageInfo_DescriptorProto_ExtensionRange.DiscardUnknown(m) +} + +var xxx_messageInfo_DescriptorProto_ExtensionRange proto.InternalMessageInfo func (m *DescriptorProto_ExtensionRange) GetStart() int32 { if m != nil && m.Start != nil { @@ -614,17 +667,36 @@ func (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions { // fields or extension ranges in the same message. Reserved ranges may // not overlap. type DescriptorProto_ReservedRange struct { - Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` - End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` - XXX_unrecognized []byte `json:"-"` + Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` + End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DescriptorProto_ReservedRange) Reset() { *m = DescriptorProto_ReservedRange{} } func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) } func (*DescriptorProto_ReservedRange) ProtoMessage() {} func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{2, 1} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{2, 1} } +func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DescriptorProto_ReservedRange.Unmarshal(m, b) +} +func (m *DescriptorProto_ReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DescriptorProto_ReservedRange.Marshal(b, m, deterministic) +} +func (dst *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_DescriptorProto_ReservedRange.Merge(dst, src) +} +func (m *DescriptorProto_ReservedRange) XXX_Size() int { + return xxx_messageInfo_DescriptorProto_ReservedRange.Size(m) +} +func (m *DescriptorProto_ReservedRange) XXX_DiscardUnknown() { + xxx_messageInfo_DescriptorProto_ReservedRange.DiscardUnknown(m) +} + +var xxx_messageInfo_DescriptorProto_ReservedRange proto.InternalMessageInfo func (m *DescriptorProto_ReservedRange) GetStart() int32 { if m != nil && m.Start != nil { @@ -643,14 +715,18 @@ func (m *DescriptorProto_ReservedRange) GetEnd() int32 { type ExtensionRangeOptions struct { // The parser stores options it doesn't recognize here. See above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ExtensionRangeOptions) Reset() { *m = ExtensionRangeOptions{} } -func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) } -func (*ExtensionRangeOptions) ProtoMessage() {} -func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{3} } +func (m *ExtensionRangeOptions) Reset() { *m = ExtensionRangeOptions{} } +func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) } +func (*ExtensionRangeOptions) ProtoMessage() {} +func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{3} +} var extRange_ExtensionRangeOptions = []proto.ExtensionRange{ {Start: 1000, End: 536870911}, @@ -659,6 +735,23 @@ var extRange_ExtensionRangeOptions = []proto.ExtensionRange{ func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_ExtensionRangeOptions } +func (m *ExtensionRangeOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtensionRangeOptions.Unmarshal(m, b) +} +func (m *ExtensionRangeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtensionRangeOptions.Marshal(b, m, deterministic) +} +func (dst *ExtensionRangeOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtensionRangeOptions.Merge(dst, src) +} +func (m *ExtensionRangeOptions) XXX_Size() int { + return xxx_messageInfo_ExtensionRangeOptions.Size(m) +} +func (m *ExtensionRangeOptions) XXX_DiscardUnknown() { + xxx_messageInfo_ExtensionRangeOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtensionRangeOptions proto.InternalMessageInfo func (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption { if m != nil { @@ -697,15 +790,36 @@ type FieldDescriptorProto struct { // user has set a "json_name" option on this field, that option's value // will be used. Otherwise, it's deduced from the field's name by converting // it to camelCase. - JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"` - Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` - XXX_unrecognized []byte `json:"-"` + JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"` + Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} } -func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) } -func (*FieldDescriptorProto) ProtoMessage() {} -func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{4} } +func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} } +func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) } +func (*FieldDescriptorProto) ProtoMessage() {} +func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{4} +} +func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FieldDescriptorProto.Unmarshal(m, b) +} +func (m *FieldDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FieldDescriptorProto.Marshal(b, m, deterministic) +} +func (dst *FieldDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldDescriptorProto.Merge(dst, src) +} +func (m *FieldDescriptorProto) XXX_Size() int { + return xxx_messageInfo_FieldDescriptorProto.Size(m) +} +func (m *FieldDescriptorProto) XXX_DiscardUnknown() { + xxx_messageInfo_FieldDescriptorProto.DiscardUnknown(m) +} + +var xxx_messageInfo_FieldDescriptorProto proto.InternalMessageInfo func (m *FieldDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -779,15 +893,36 @@ func (m *FieldDescriptorProto) GetOptions() *FieldOptions { // Describes a oneof. type OneofDescriptorProto struct { - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"` - XXX_unrecognized []byte `json:"-"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} } -func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) } -func (*OneofDescriptorProto) ProtoMessage() {} -func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{5} } +func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} } +func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) } +func (*OneofDescriptorProto) ProtoMessage() {} +func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{5} +} +func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OneofDescriptorProto.Unmarshal(m, b) +} +func (m *OneofDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OneofDescriptorProto.Marshal(b, m, deterministic) +} +func (dst *OneofDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofDescriptorProto.Merge(dst, src) +} +func (m *OneofDescriptorProto) XXX_Size() int { + return xxx_messageInfo_OneofDescriptorProto.Size(m) +} +func (m *OneofDescriptorProto) XXX_DiscardUnknown() { + xxx_messageInfo_OneofDescriptorProto.DiscardUnknown(m) +} + +var xxx_messageInfo_OneofDescriptorProto proto.InternalMessageInfo func (m *OneofDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -814,14 +949,35 @@ type EnumDescriptorProto struct { ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` // Reserved enum value names, which may not be reused. A given name may only // be reserved once. - ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` - XXX_unrecognized []byte `json:"-"` + ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} } -func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) } -func (*EnumDescriptorProto) ProtoMessage() {} -func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{6} } +func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} } +func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) } +func (*EnumDescriptorProto) ProtoMessage() {} +func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{6} +} +func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EnumDescriptorProto.Unmarshal(m, b) +} +func (m *EnumDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EnumDescriptorProto.Marshal(b, m, deterministic) +} +func (dst *EnumDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumDescriptorProto.Merge(dst, src) +} +func (m *EnumDescriptorProto) XXX_Size() int { + return xxx_messageInfo_EnumDescriptorProto.Size(m) +} +func (m *EnumDescriptorProto) XXX_DiscardUnknown() { + xxx_messageInfo_EnumDescriptorProto.DiscardUnknown(m) +} + +var xxx_messageInfo_EnumDescriptorProto proto.InternalMessageInfo func (m *EnumDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -865,17 +1021,36 @@ func (m *EnumDescriptorProto) GetReservedName() []string { // is inclusive such that it can appropriately represent the entire int32 // domain. type EnumDescriptorProto_EnumReservedRange struct { - Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` - End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` - XXX_unrecognized []byte `json:"-"` + Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` + End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *EnumDescriptorProto_EnumReservedRange) Reset() { *m = EnumDescriptorProto_EnumReservedRange{} } func (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) } func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {} func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{6, 0} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{6, 0} } +func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Unmarshal(m, b) +} +func (m *EnumDescriptorProto_EnumReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Marshal(b, m, deterministic) +} +func (dst *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(dst, src) +} +func (m *EnumDescriptorProto_EnumReservedRange) XXX_Size() int { + return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Size(m) +} +func (m *EnumDescriptorProto_EnumReservedRange) XXX_DiscardUnknown() { + xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.DiscardUnknown(m) +} + +var xxx_messageInfo_EnumDescriptorProto_EnumReservedRange proto.InternalMessageInfo func (m *EnumDescriptorProto_EnumReservedRange) GetStart() int32 { if m != nil && m.Start != nil { @@ -893,18 +1068,37 @@ func (m *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 { // Describes a value within an enum. type EnumValueDescriptorProto struct { - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"` - Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` - XXX_unrecognized []byte `json:"-"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"` + Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *EnumValueDescriptorProto) Reset() { *m = EnumValueDescriptorProto{} } func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) } func (*EnumValueDescriptorProto) ProtoMessage() {} func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{7} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{7} } +func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EnumValueDescriptorProto.Unmarshal(m, b) +} +func (m *EnumValueDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EnumValueDescriptorProto.Marshal(b, m, deterministic) +} +func (dst *EnumValueDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumValueDescriptorProto.Merge(dst, src) +} +func (m *EnumValueDescriptorProto) XXX_Size() int { + return xxx_messageInfo_EnumValueDescriptorProto.Size(m) +} +func (m *EnumValueDescriptorProto) XXX_DiscardUnknown() { + xxx_messageInfo_EnumValueDescriptorProto.DiscardUnknown(m) +} + +var xxx_messageInfo_EnumValueDescriptorProto proto.InternalMessageInfo func (m *EnumValueDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -929,16 +1123,37 @@ func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions { // Describes a service. type ServiceDescriptorProto struct { - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"` - Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` - XXX_unrecognized []byte `json:"-"` + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"` + Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} } -func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) } -func (*ServiceDescriptorProto) ProtoMessage() {} -func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{8} } +func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} } +func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) } +func (*ServiceDescriptorProto) ProtoMessage() {} +func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{8} +} +func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ServiceDescriptorProto.Unmarshal(m, b) +} +func (m *ServiceDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ServiceDescriptorProto.Marshal(b, m, deterministic) +} +func (dst *ServiceDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceDescriptorProto.Merge(dst, src) +} +func (m *ServiceDescriptorProto) XXX_Size() int { + return xxx_messageInfo_ServiceDescriptorProto.Size(m) +} +func (m *ServiceDescriptorProto) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceDescriptorProto.DiscardUnknown(m) +} + +var xxx_messageInfo_ServiceDescriptorProto proto.InternalMessageInfo func (m *ServiceDescriptorProto) GetName() string { if m != nil && m.Name != nil { @@ -972,14 +1187,35 @@ type MethodDescriptorProto struct { // Identifies if client streams multiple client messages ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"` // Identifies if server streams multiple server messages - ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"` - XXX_unrecognized []byte `json:"-"` + ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} } -func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) } -func (*MethodDescriptorProto) ProtoMessage() {} -func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{9} } +func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} } +func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) } +func (*MethodDescriptorProto) ProtoMessage() {} +func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{9} +} +func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MethodDescriptorProto.Unmarshal(m, b) +} +func (m *MethodDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MethodDescriptorProto.Marshal(b, m, deterministic) +} +func (dst *MethodDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_MethodDescriptorProto.Merge(dst, src) +} +func (m *MethodDescriptorProto) XXX_Size() int { + return xxx_messageInfo_MethodDescriptorProto.Size(m) +} +func (m *MethodDescriptorProto) XXX_DiscardUnknown() { + xxx_messageInfo_MethodDescriptorProto.DiscardUnknown(m) +} + +var xxx_messageInfo_MethodDescriptorProto proto.InternalMessageInfo const Default_MethodDescriptorProto_ClientStreaming bool = false const Default_MethodDescriptorProto_ServerStreaming bool = false @@ -1046,7 +1282,7 @@ type FileOptions struct { // top-level extensions defined in the file. JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"` // This option does nothing. - JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` + JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` // Deprecated: Do not use. // If set true, then the Java2 code generator will generate code that // throws an exception whenever an attempt is made to assign a non-UTF-8 // byte sequence to a string field. @@ -1100,16 +1336,21 @@ type FileOptions struct { // is empty. When this option is empty, the package name will be used for // determining the namespace. PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"` - // The parser stores options it doesn't recognize here. See above. + // The parser stores options it doesn't recognize here. + // See the documentation for the "Options" section above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *FileOptions) Reset() { *m = FileOptions{} } -func (m *FileOptions) String() string { return proto.CompactTextString(m) } -func (*FileOptions) ProtoMessage() {} -func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{10} } +func (m *FileOptions) Reset() { *m = FileOptions{} } +func (m *FileOptions) String() string { return proto.CompactTextString(m) } +func (*FileOptions) ProtoMessage() {} +func (*FileOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{10} +} var extRange_FileOptions = []proto.ExtensionRange{ {Start: 1000, End: 536870911}, @@ -1118,6 +1359,23 @@ var extRange_FileOptions = []proto.ExtensionRange{ func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_FileOptions } +func (m *FileOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FileOptions.Unmarshal(m, b) +} +func (m *FileOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FileOptions.Marshal(b, m, deterministic) +} +func (dst *FileOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileOptions.Merge(dst, src) +} +func (m *FileOptions) XXX_Size() int { + return xxx_messageInfo_FileOptions.Size(m) +} +func (m *FileOptions) XXX_DiscardUnknown() { + xxx_messageInfo_FileOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_FileOptions proto.InternalMessageInfo const Default_FileOptions_JavaMultipleFiles bool = false const Default_FileOptions_JavaStringCheckUtf8 bool = false @@ -1150,6 +1408,7 @@ func (m *FileOptions) GetJavaMultipleFiles() bool { return Default_FileOptions_JavaMultipleFiles } +// Deprecated: Do not use. func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool { if m != nil && m.JavaGenerateEqualsAndHash != nil { return *m.JavaGenerateEqualsAndHash @@ -1315,14 +1574,18 @@ type MessageOptions struct { MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"` // The parser stores options it doesn't recognize here. See above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MessageOptions) Reset() { *m = MessageOptions{} } -func (m *MessageOptions) String() string { return proto.CompactTextString(m) } -func (*MessageOptions) ProtoMessage() {} -func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{11} } +func (m *MessageOptions) Reset() { *m = MessageOptions{} } +func (m *MessageOptions) String() string { return proto.CompactTextString(m) } +func (*MessageOptions) ProtoMessage() {} +func (*MessageOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{11} +} var extRange_MessageOptions = []proto.ExtensionRange{ {Start: 1000, End: 536870911}, @@ -1331,6 +1594,23 @@ var extRange_MessageOptions = []proto.ExtensionRange{ func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MessageOptions } +func (m *MessageOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MessageOptions.Unmarshal(m, b) +} +func (m *MessageOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MessageOptions.Marshal(b, m, deterministic) +} +func (dst *MessageOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageOptions.Merge(dst, src) +} +func (m *MessageOptions) XXX_Size() int { + return xxx_messageInfo_MessageOptions.Size(m) +} +func (m *MessageOptions) XXX_DiscardUnknown() { + xxx_messageInfo_MessageOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_MessageOptions proto.InternalMessageInfo const Default_MessageOptions_MessageSetWireFormat bool = false const Default_MessageOptions_NoStandardDescriptorAccessor bool = false @@ -1433,14 +1713,18 @@ type FieldOptions struct { Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"` // The parser stores options it doesn't recognize here. See above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *FieldOptions) Reset() { *m = FieldOptions{} } -func (m *FieldOptions) String() string { return proto.CompactTextString(m) } -func (*FieldOptions) ProtoMessage() {} -func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{12} } +func (m *FieldOptions) Reset() { *m = FieldOptions{} } +func (m *FieldOptions) String() string { return proto.CompactTextString(m) } +func (*FieldOptions) ProtoMessage() {} +func (*FieldOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{12} +} var extRange_FieldOptions = []proto.ExtensionRange{ {Start: 1000, End: 536870911}, @@ -1449,6 +1733,23 @@ var extRange_FieldOptions = []proto.ExtensionRange{ func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_FieldOptions } +func (m *FieldOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FieldOptions.Unmarshal(m, b) +} +func (m *FieldOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FieldOptions.Marshal(b, m, deterministic) +} +func (dst *FieldOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldOptions.Merge(dst, src) +} +func (m *FieldOptions) XXX_Size() int { + return xxx_messageInfo_FieldOptions.Size(m) +} +func (m *FieldOptions) XXX_DiscardUnknown() { + xxx_messageInfo_FieldOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_FieldOptions proto.InternalMessageInfo const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL @@ -1508,14 +1809,18 @@ func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption { type OneofOptions struct { // The parser stores options it doesn't recognize here. See above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *OneofOptions) Reset() { *m = OneofOptions{} } -func (m *OneofOptions) String() string { return proto.CompactTextString(m) } -func (*OneofOptions) ProtoMessage() {} -func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{13} } +func (m *OneofOptions) Reset() { *m = OneofOptions{} } +func (m *OneofOptions) String() string { return proto.CompactTextString(m) } +func (*OneofOptions) ProtoMessage() {} +func (*OneofOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{13} +} var extRange_OneofOptions = []proto.ExtensionRange{ {Start: 1000, End: 536870911}, @@ -1524,6 +1829,23 @@ var extRange_OneofOptions = []proto.ExtensionRange{ func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OneofOptions } +func (m *OneofOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OneofOptions.Unmarshal(m, b) +} +func (m *OneofOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OneofOptions.Marshal(b, m, deterministic) +} +func (dst *OneofOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofOptions.Merge(dst, src) +} +func (m *OneofOptions) XXX_Size() int { + return xxx_messageInfo_OneofOptions.Size(m) +} +func (m *OneofOptions) XXX_DiscardUnknown() { + xxx_messageInfo_OneofOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_OneofOptions proto.InternalMessageInfo func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption { if m != nil { @@ -1543,14 +1865,18 @@ type EnumOptions struct { Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` // The parser stores options it doesn't recognize here. See above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *EnumOptions) Reset() { *m = EnumOptions{} } -func (m *EnumOptions) String() string { return proto.CompactTextString(m) } -func (*EnumOptions) ProtoMessage() {} -func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{14} } +func (m *EnumOptions) Reset() { *m = EnumOptions{} } +func (m *EnumOptions) String() string { return proto.CompactTextString(m) } +func (*EnumOptions) ProtoMessage() {} +func (*EnumOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{14} +} var extRange_EnumOptions = []proto.ExtensionRange{ {Start: 1000, End: 536870911}, @@ -1559,6 +1885,23 @@ var extRange_EnumOptions = []proto.ExtensionRange{ func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_EnumOptions } +func (m *EnumOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EnumOptions.Unmarshal(m, b) +} +func (m *EnumOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EnumOptions.Marshal(b, m, deterministic) +} +func (dst *EnumOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumOptions.Merge(dst, src) +} +func (m *EnumOptions) XXX_Size() int { + return xxx_messageInfo_EnumOptions.Size(m) +} +func (m *EnumOptions) XXX_DiscardUnknown() { + xxx_messageInfo_EnumOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_EnumOptions proto.InternalMessageInfo const Default_EnumOptions_Deprecated bool = false @@ -1591,14 +1934,18 @@ type EnumValueOptions struct { Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"` // The parser stores options it doesn't recognize here. See above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} } -func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) } -func (*EnumValueOptions) ProtoMessage() {} -func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{15} } +func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} } +func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) } +func (*EnumValueOptions) ProtoMessage() {} +func (*EnumValueOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{15} +} var extRange_EnumValueOptions = []proto.ExtensionRange{ {Start: 1000, End: 536870911}, @@ -1607,6 +1954,23 @@ var extRange_EnumValueOptions = []proto.ExtensionRange{ func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_EnumValueOptions } +func (m *EnumValueOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EnumValueOptions.Unmarshal(m, b) +} +func (m *EnumValueOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EnumValueOptions.Marshal(b, m, deterministic) +} +func (dst *EnumValueOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumValueOptions.Merge(dst, src) +} +func (m *EnumValueOptions) XXX_Size() int { + return xxx_messageInfo_EnumValueOptions.Size(m) +} +func (m *EnumValueOptions) XXX_DiscardUnknown() { + xxx_messageInfo_EnumValueOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_EnumValueOptions proto.InternalMessageInfo const Default_EnumValueOptions_Deprecated bool = false @@ -1632,14 +1996,18 @@ type ServiceOptions struct { Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"` // The parser stores options it doesn't recognize here. See above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ServiceOptions) Reset() { *m = ServiceOptions{} } -func (m *ServiceOptions) String() string { return proto.CompactTextString(m) } -func (*ServiceOptions) ProtoMessage() {} -func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{16} } +func (m *ServiceOptions) Reset() { *m = ServiceOptions{} } +func (m *ServiceOptions) String() string { return proto.CompactTextString(m) } +func (*ServiceOptions) ProtoMessage() {} +func (*ServiceOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{16} +} var extRange_ServiceOptions = []proto.ExtensionRange{ {Start: 1000, End: 536870911}, @@ -1648,6 +2016,23 @@ var extRange_ServiceOptions = []proto.ExtensionRange{ func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_ServiceOptions } +func (m *ServiceOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ServiceOptions.Unmarshal(m, b) +} +func (m *ServiceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ServiceOptions.Marshal(b, m, deterministic) +} +func (dst *ServiceOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceOptions.Merge(dst, src) +} +func (m *ServiceOptions) XXX_Size() int { + return xxx_messageInfo_ServiceOptions.Size(m) +} +func (m *ServiceOptions) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_ServiceOptions proto.InternalMessageInfo const Default_ServiceOptions_Deprecated bool = false @@ -1674,14 +2059,18 @@ type MethodOptions struct { IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"` // The parser stores options it doesn't recognize here. See above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MethodOptions) Reset() { *m = MethodOptions{} } -func (m *MethodOptions) String() string { return proto.CompactTextString(m) } -func (*MethodOptions) ProtoMessage() {} -func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{17} } +func (m *MethodOptions) Reset() { *m = MethodOptions{} } +func (m *MethodOptions) String() string { return proto.CompactTextString(m) } +func (*MethodOptions) ProtoMessage() {} +func (*MethodOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{17} +} var extRange_MethodOptions = []proto.ExtensionRange{ {Start: 1000, End: 536870911}, @@ -1690,6 +2079,23 @@ var extRange_MethodOptions = []proto.ExtensionRange{ func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MethodOptions } +func (m *MethodOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MethodOptions.Unmarshal(m, b) +} +func (m *MethodOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MethodOptions.Marshal(b, m, deterministic) +} +func (dst *MethodOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_MethodOptions.Merge(dst, src) +} +func (m *MethodOptions) XXX_Size() int { + return xxx_messageInfo_MethodOptions.Size(m) +} +func (m *MethodOptions) XXX_DiscardUnknown() { + xxx_messageInfo_MethodOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_MethodOptions proto.InternalMessageInfo const Default_MethodOptions_Deprecated bool = false const Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN @@ -1725,19 +2131,40 @@ type UninterpretedOption struct { Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"` // The value of the uninterpreted option, in whatever type the tokenizer // identified it as during parsing. Exactly one of these should be set. - IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"` - PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"` - NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"` - DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"` - StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"` - AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"` - XXX_unrecognized []byte `json:"-"` + IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"` + PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"` + NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"` + DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"` + StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"` + AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} } -func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) } -func (*UninterpretedOption) ProtoMessage() {} -func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{18} } +func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} } +func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) } +func (*UninterpretedOption) ProtoMessage() {} +func (*UninterpretedOption) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{18} +} +func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UninterpretedOption.Unmarshal(m, b) +} +func (m *UninterpretedOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UninterpretedOption.Marshal(b, m, deterministic) +} +func (dst *UninterpretedOption) XXX_Merge(src proto.Message) { + xxx_messageInfo_UninterpretedOption.Merge(dst, src) +} +func (m *UninterpretedOption) XXX_Size() int { + return xxx_messageInfo_UninterpretedOption.Size(m) +} +func (m *UninterpretedOption) XXX_DiscardUnknown() { + xxx_messageInfo_UninterpretedOption.DiscardUnknown(m) +} + +var xxx_messageInfo_UninterpretedOption proto.InternalMessageInfo func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart { if m != nil { @@ -1794,17 +2221,36 @@ func (m *UninterpretedOption) GetAggregateValue() string { // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents // "foo.(bar.baz).qux". type UninterpretedOption_NamePart struct { - NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"` - IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"` - XXX_unrecognized []byte `json:"-"` + NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"` + IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *UninterpretedOption_NamePart) Reset() { *m = UninterpretedOption_NamePart{} } func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) } func (*UninterpretedOption_NamePart) ProtoMessage() {} func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{18, 0} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{18, 0} } +func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UninterpretedOption_NamePart.Unmarshal(m, b) +} +func (m *UninterpretedOption_NamePart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UninterpretedOption_NamePart.Marshal(b, m, deterministic) +} +func (dst *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) { + xxx_messageInfo_UninterpretedOption_NamePart.Merge(dst, src) +} +func (m *UninterpretedOption_NamePart) XXX_Size() int { + return xxx_messageInfo_UninterpretedOption_NamePart.Size(m) +} +func (m *UninterpretedOption_NamePart) XXX_DiscardUnknown() { + xxx_messageInfo_UninterpretedOption_NamePart.DiscardUnknown(m) +} + +var xxx_messageInfo_UninterpretedOption_NamePart proto.InternalMessageInfo func (m *UninterpretedOption_NamePart) GetNamePart() string { if m != nil && m.NamePart != nil { @@ -1866,14 +2312,35 @@ type SourceCodeInfo struct { // - Code which tries to interpret locations should probably be designed to // ignore those that it doesn't understand, as more types of locations could // be recorded in the future. - Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"` - XXX_unrecognized []byte `json:"-"` + Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} } -func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) } -func (*SourceCodeInfo) ProtoMessage() {} -func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{19} } +func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} } +func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) } +func (*SourceCodeInfo) ProtoMessage() {} +func (*SourceCodeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{19} +} +func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SourceCodeInfo.Unmarshal(m, b) +} +func (m *SourceCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SourceCodeInfo.Marshal(b, m, deterministic) +} +func (dst *SourceCodeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_SourceCodeInfo.Merge(dst, src) +} +func (m *SourceCodeInfo) XXX_Size() int { + return xxx_messageInfo_SourceCodeInfo.Size(m) +} +func (m *SourceCodeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_SourceCodeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_SourceCodeInfo proto.InternalMessageInfo func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location { if m != nil { @@ -1963,15 +2430,34 @@ type SourceCodeInfo_Location struct { LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"` TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"` LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SourceCodeInfo_Location) Reset() { *m = SourceCodeInfo_Location{} } func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) } func (*SourceCodeInfo_Location) ProtoMessage() {} func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{19, 0} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{19, 0} } +func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SourceCodeInfo_Location.Unmarshal(m, b) +} +func (m *SourceCodeInfo_Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SourceCodeInfo_Location.Marshal(b, m, deterministic) +} +func (dst *SourceCodeInfo_Location) XXX_Merge(src proto.Message) { + xxx_messageInfo_SourceCodeInfo_Location.Merge(dst, src) +} +func (m *SourceCodeInfo_Location) XXX_Size() int { + return xxx_messageInfo_SourceCodeInfo_Location.Size(m) +} +func (m *SourceCodeInfo_Location) XXX_DiscardUnknown() { + xxx_messageInfo_SourceCodeInfo_Location.DiscardUnknown(m) +} + +var xxx_messageInfo_SourceCodeInfo_Location proto.InternalMessageInfo func (m *SourceCodeInfo_Location) GetPath() []int32 { if m != nil { @@ -2014,14 +2500,35 @@ func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string { type GeneratedCodeInfo struct { // An Annotation connects some span of text in generated code to an element // of its generating .proto file. - Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"` - XXX_unrecognized []byte `json:"-"` + Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} } -func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) } -func (*GeneratedCodeInfo) ProtoMessage() {} -func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{20} } +func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} } +func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) } +func (*GeneratedCodeInfo) ProtoMessage() {} +func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{20} +} +func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GeneratedCodeInfo.Unmarshal(m, b) +} +func (m *GeneratedCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GeneratedCodeInfo.Marshal(b, m, deterministic) +} +func (dst *GeneratedCodeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_GeneratedCodeInfo.Merge(dst, src) +} +func (m *GeneratedCodeInfo) XXX_Size() int { + return xxx_messageInfo_GeneratedCodeInfo.Size(m) +} +func (m *GeneratedCodeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_GeneratedCodeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_GeneratedCodeInfo proto.InternalMessageInfo func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation { if m != nil { @@ -2042,16 +2549,35 @@ type GeneratedCodeInfo_Annotation struct { // Identifies the ending offset in bytes in the generated code that // relates to the identified offset. The end offset should be one past // the last relevant byte (so the length of the text = end - begin). - End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"` - XXX_unrecognized []byte `json:"-"` + End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GeneratedCodeInfo_Annotation) Reset() { *m = GeneratedCodeInfo_Annotation{} } func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) } func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) { - return fileDescriptorDescriptor, []int{20, 0} + return fileDescriptor_descriptor_9588782fb9cbecd6, []int{20, 0} } +func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GeneratedCodeInfo_Annotation.Unmarshal(m, b) +} +func (m *GeneratedCodeInfo_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GeneratedCodeInfo_Annotation.Marshal(b, m, deterministic) +} +func (dst *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) { + xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(dst, src) +} +func (m *GeneratedCodeInfo_Annotation) XXX_Size() int { + return xxx_messageInfo_GeneratedCodeInfo_Annotation.Size(m) +} +func (m *GeneratedCodeInfo_Annotation) XXX_DiscardUnknown() { + xxx_messageInfo_GeneratedCodeInfo_Annotation.DiscardUnknown(m) +} + +var xxx_messageInfo_GeneratedCodeInfo_Annotation proto.InternalMessageInfo func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 { if m != nil { @@ -2117,9 +2643,9 @@ func init() { proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value) } -func init() { proto.RegisterFile("descriptor.proto", fileDescriptorDescriptor) } +func init() { proto.RegisterFile("descriptor.proto", fileDescriptor_descriptor_9588782fb9cbecd6) } -var fileDescriptorDescriptor = []byte{ +var fileDescriptor_descriptor_9588782fb9cbecd6 = []byte{ // 2487 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x6f, 0xdb, 0xc8, 0x15, 0x5f, 0x7d, 0x5a, 0x7a, 0x92, 0xe5, 0xf1, 0xd8, 0x9b, 0x30, 0xde, 0x8f, 0x38, 0xda, 0x8f, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go index 3b95a7757..ec6eb168d 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go @@ -1,43 +1,15 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: descriptor.proto -/* -Package descriptor is a generated protocol buffer package. - -It is generated from these files: - descriptor.proto - -It has these top-level messages: - FileDescriptorSet - FileDescriptorProto - DescriptorProto - ExtensionRangeOptions - FieldDescriptorProto - OneofDescriptorProto - EnumDescriptorProto - EnumValueDescriptorProto - ServiceDescriptorProto - MethodDescriptorProto - FileOptions - MessageOptions - FieldOptions - OneofOptions - EnumOptions - EnumValueOptions - ServiceOptions - MethodOptions - UninterpretedOption - SourceCodeInfo - GeneratedCodeInfo -*/ package descriptor import fmt "fmt" import strings "strings" -import proto "github.com/gogo/protobuf/proto" +import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" import sort "sort" import strconv "strconv" import reflect "reflect" +import proto "github.com/gogo/protobuf/proto" import math "math" // Reference imports to suppress errors if they are not otherwise used. @@ -752,8 +724,8 @@ func valueToGoStringDescriptor(v interface{}, typ string) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv) } -func extensionToGoStringDescriptor(m proto.Message) string { - e := proto.GetUnsafeExtensionsMap(m) +func extensionToGoStringDescriptor(m github_com_gogo_protobuf_proto.Message) string { + e := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(m) if e == nil { return "nil" } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/generator.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/generator.go index 519e22d09..31ef6c5d1 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/generator.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/generator.go @@ -45,7 +45,10 @@ import ( "bufio" "bytes" "compress/gzip" + "crypto/sha256" + "encoding/hex" "fmt" + "go/build" "go/parser" "go/printer" "go/token" @@ -61,6 +64,7 @@ import ( "github.com/gogo/protobuf/gogoproto" "github.com/gogo/protobuf/proto" descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + "github.com/gogo/protobuf/protoc-gen-gogo/generator/internal/remap" plugin "github.com/gogo/protobuf/protoc-gen-gogo/plugin" ) @@ -108,6 +112,14 @@ func RegisterPlugin(p Plugin) { plugins = append(plugins, p) } +// A GoImportPath is the import path of a Go package. e.g., "google.golang.org/genproto/protobuf". +type GoImportPath string + +func (p GoImportPath) String() string { return strconv.Quote(string(p)) } + +// A GoPackageName is the name of a Go package. e.g., "protobuf". +type GoPackageName string + // Each type we import as a protocol buffer (other than FileDescriptorProto) needs // a pointer to the FileDescriptorProto that represents it. These types achieve that // wrapping by placing each Proto inside a struct with the pointer to its File. The @@ -116,19 +128,21 @@ func RegisterPlugin(p Plugin) { // The file and package name method are common to messages and enums. type common struct { - file *descriptor.FileDescriptorProto // File this object comes from. + file *FileDescriptor // File this object comes from. } -// PackageName is name in the package clause in the generated file. -func (c *common) PackageName() string { return uniquePackageOf(c.file) } +// GoImportPath is the import path of the Go package containing the type. +func (c *common) GoImportPath() GoImportPath { + return c.file.importPath +} -func (c *common) File() *descriptor.FileDescriptorProto { return c.file } +func (c *common) File() *FileDescriptor { return c.file } func fileIsProto3(file *descriptor.FileDescriptorProto) bool { return file.GetSyntax() == "proto3" } -func (c *common) proto3() bool { return fileIsProto3(c.file) } +func (c *common) proto3() bool { return fileIsProto3(c.file.FileDescriptorProto) } // Descriptor represents a protocol buffer message. type Descriptor struct { @@ -154,7 +168,7 @@ func (d *Descriptor) TypeName() []string { for parent := d; parent != nil; parent = parent.parent { n++ } - s := make([]string, n, n) + s := make([]string, n) for parent := d; parent != nil; parent = parent.parent { n-- s[n] = parent.GetName() @@ -292,77 +306,61 @@ type FileDescriptor struct { // This is used for supporting public imports. exported map[Object][]symbol - index int // The index of this file in the list of files to generate code for + fingerprint string // Fingerprint of this file's contents. + importPath GoImportPath // Import path of this file's package. + packageName GoPackageName // Name of this file's Go package. proto3 bool // whether to generate proto3 code for this file } -// PackageName is the package name we'll use in the generated code to refer to this file. -func (d *FileDescriptor) PackageName() string { return uniquePackageOf(d.FileDescriptorProto) } - // VarName is the variable name we'll use in the generated code to refer // to the compressed bytes of this descriptor. It is not exported, so // it is only valid inside the generated package. -func (d *FileDescriptor) VarName() string { return fmt.Sprintf("fileDescriptor%v", FileName(d)) } +func (d *FileDescriptor) VarName() string { + name := strings.Map(badToUnderscore, baseName(d.GetName())) + return fmt.Sprintf("fileDescriptor_%s_%s", name, d.fingerprint) +} // goPackageOption interprets the file's go_package option. // If there is no go_package, it returns ("", "", false). // If there's a simple name, it returns ("", pkg, true). // If the option implies an import path, it returns (impPath, pkg, true). -func (d *FileDescriptor) goPackageOption() (impPath, pkg string, ok bool) { - pkg = d.GetOptions().GetGoPackage() - if pkg == "" { - return +func (d *FileDescriptor) goPackageOption() (impPath GoImportPath, pkg GoPackageName, ok bool) { + opt := d.GetOptions().GetGoPackage() + if opt == "" { + return "", "", false + } + // A semicolon-delimited suffix delimits the import path and package name. + sc := strings.Index(opt, ";") + if sc >= 0 { + return GoImportPath(opt[:sc]), cleanPackageName(opt[sc+1:]), true } - ok = true // The presence of a slash implies there's an import path. - slash := strings.LastIndex(pkg, "/") - if slash < 0 { - return + slash := strings.LastIndex(opt, "/") + if slash >= 0 { + return GoImportPath(opt), cleanPackageName(opt[slash+1:]), true } - impPath, pkg = pkg, pkg[slash+1:] - // A semicolon-delimited suffix overrides the package name. - sc := strings.IndexByte(impPath, ';') - if sc < 0 { - return - } - impPath, pkg = impPath[:sc], impPath[sc+1:] - return -} - -// goPackageName returns the Go package name to use in the -// generated Go file. The result explicit reports whether the name -// came from an option go_package statement. If explicit is false, -// the name was derived from the protocol buffer's package statement -// or the input file name. -func (d *FileDescriptor) goPackageName() (name string, explicit bool) { - // Does the file have a "go_package" option? - if _, pkg, ok := d.goPackageOption(); ok { - return pkg, true - } - - // Does the file have a package clause? - if pkg := d.GetPackage(); pkg != "" { - return pkg, false - } - // Use the file base name. - return baseName(d.GetName()), false + return "", cleanPackageName(opt), true } // goFileName returns the output name for the generated Go file. -func (d *FileDescriptor) goFileName() string { +func (d *FileDescriptor) goFileName(pathType pathType) string { name := *d.Name if ext := path.Ext(name); ext == ".proto" || ext == ".protodevel" { name = name[:len(name)-len(ext)] } name += ".pb.go" + if pathType == pathTypeSourceRelative { + return name + } + // Does the file have a "go_package" option? // If it does, it may override the filename. if impPath, _, ok := d.goPackageOption(); ok && impPath != "" { // Replace the existing dirname with the declared import path. _, name = path.Split(name) - name = path.Join(impPath, name) + name = path.Join(string(impPath), name) return name } @@ -377,14 +375,13 @@ func (d *FileDescriptor) addExport(obj Object, sym symbol) { type symbol interface { // GenerateAlias should generate an appropriate alias // for the symbol from the named package. - GenerateAlias(g *Generator, pkg string) + GenerateAlias(g *Generator, pkg GoPackageName) } type messageSymbol struct { sym string hasExtensions, isMessageSet bool - hasOneof bool - getters []getterSymbol + oneofTypes []string } type getterSymbol struct { @@ -394,144 +391,11 @@ type getterSymbol struct { genType bool // whether typ contains a generated type (message/group/enum) } -func (ms *messageSymbol) GenerateAlias(g *Generator, pkg string) { - remoteSym := pkg + "." + ms.sym - - g.P("type ", ms.sym, " ", remoteSym) - g.P("func (m *", ms.sym, ") Reset() { (*", remoteSym, ")(m).Reset() }") - g.P("func (m *", ms.sym, ") String() string { return (*", remoteSym, ")(m).String() }") - g.P("func (*", ms.sym, ") ProtoMessage() {}") - if ms.hasExtensions { - g.P("func (*", ms.sym, ") ExtensionRangeArray() []", g.Pkg["proto"], ".ExtensionRange ", - "{ return (*", remoteSym, ")(nil).ExtensionRangeArray() }") - if ms.isMessageSet { - g.P("func (m *", ms.sym, ") Marshal() ([]byte, error) ", - "{ return (*", remoteSym, ")(m).Marshal() }") - g.P("func (m *", ms.sym, ") Unmarshal(buf []byte) error ", - "{ return (*", remoteSym, ")(m).Unmarshal(buf) }") - } +func (ms *messageSymbol) GenerateAlias(g *Generator, pkg GoPackageName) { + g.P("type ", ms.sym, " = ", pkg, ".", ms.sym) + for _, name := range ms.oneofTypes { + g.P("type ", name, " = ", pkg, ".", name) } - if ms.hasOneof { - // Oneofs and public imports do not mix well. - // We can make them work okay for the binary format, - // but they're going to break weirdly for text/JSON. - enc := "_" + ms.sym + "_OneofMarshaler" - dec := "_" + ms.sym + "_OneofUnmarshaler" - size := "_" + ms.sym + "_OneofSizer" - encSig := "(msg " + g.Pkg["proto"] + ".Message, b *" + g.Pkg["proto"] + ".Buffer) error" - decSig := "(msg " + g.Pkg["proto"] + ".Message, tag, wire int, b *" + g.Pkg["proto"] + ".Buffer) (bool, error)" - sizeSig := "(msg " + g.Pkg["proto"] + ".Message) int" - g.P("func (m *", ms.sym, ") XXX_OneofFuncs() (func", encSig, ", func", decSig, ", func", sizeSig, ", []interface{}) {") - g.P("return ", enc, ", ", dec, ", ", size, ", nil") - g.P("}") - - g.P("func ", enc, encSig, " {") - g.P("m := msg.(*", ms.sym, ")") - g.P("m0 := (*", remoteSym, ")(m)") - g.P("enc, _, _, _ := m0.XXX_OneofFuncs()") - g.P("return enc(m0, b)") - g.P("}") - - g.P("func ", dec, decSig, " {") - g.P("m := msg.(*", ms.sym, ")") - g.P("m0 := (*", remoteSym, ")(m)") - g.P("_, dec, _, _ := m0.XXX_OneofFuncs()") - g.P("return dec(m0, tag, wire, b)") - g.P("}") - - g.P("func ", size, sizeSig, " {") - g.P("m := msg.(*", ms.sym, ")") - g.P("m0 := (*", remoteSym, ")(m)") - g.P("_, _, size, _ := m0.XXX_OneofFuncs()") - g.P("return size(m0)") - g.P("}") - } - for _, get := range ms.getters { - - if get.typeName != "" { - g.RecordTypeUse(get.typeName) - } - typ := get.typ - val := "(*" + remoteSym + ")(m)." + get.name + "()" - if get.genType { - // typ will be "*pkg.T" (message/group) or "pkg.T" (enum) - // or "map[t]*pkg.T" (map to message/enum). - // The first two of those might have a "[]" prefix if it is repeated. - // Drop any package qualifier since we have hoisted the type into this package. - rep := strings.HasPrefix(typ, "[]") - if rep { - typ = typ[2:] - } - isMap := strings.HasPrefix(typ, "map[") - star := typ[0] == '*' - if !isMap { // map types handled lower down - typ = typ[strings.Index(typ, ".")+1:] - } - if star { - typ = "*" + typ - } - if rep { - // Go does not permit conversion between slice types where both - // element types are named. That means we need to generate a bit - // of code in this situation. - // typ is the element type. - // val is the expression to get the slice from the imported type. - - ctyp := typ // conversion type expression; "Foo" or "(*Foo)" - if star { - ctyp = "(" + typ + ")" - } - - g.P("func (m *", ms.sym, ") ", get.name, "() []", typ, " {") - g.In() - g.P("o := ", val) - g.P("if o == nil {") - g.In() - g.P("return nil") - g.Out() - g.P("}") - g.P("s := make([]", typ, ", len(o))") - g.P("for i, x := range o {") - g.In() - g.P("s[i] = ", ctyp, "(x)") - g.Out() - g.P("}") - g.P("return s") - g.Out() - g.P("}") - continue - } - if isMap { - // Split map[keyTyp]valTyp. - bra, ket := strings.Index(typ, "["), strings.Index(typ, "]") - keyTyp, valTyp := typ[bra+1:ket], typ[ket+1:] - // Drop any package qualifier. - // Only the value type may be foreign. - star := valTyp[0] == '*' - valTyp = valTyp[strings.Index(valTyp, ".")+1:] - if star { - valTyp = "*" + valTyp - } - - maptyp := "map[" + keyTyp + "]" + valTyp - g.P("func (m *", ms.sym, ") ", get.name, "() ", typ, " {") - g.P("o := ", val) - g.P("if o == nil { return nil }") - g.P("s := make(", maptyp, ", len(o))") - g.P("for k, v := range o {") - g.P("s[k] = (", valTyp, ")(v)") - g.P("}") - g.P("return s") - g.P("}") - continue - } - // Convert imported type into the forwarding type. - val = "(" + typ + ")(" + val + ")" - } - - g.P("func (m *", ms.sym, ") ", get.name, "() ", typ, " { return ", val, " }") - } - } type enumSymbol struct { @@ -539,16 +403,11 @@ type enumSymbol struct { proto3 bool // Whether this came from a proto3 file. } -func (es enumSymbol) GenerateAlias(g *Generator, pkg string) { +func (es enumSymbol) GenerateAlias(g *Generator, pkg GoPackageName) { s := es.name - g.P("type ", s, " ", pkg, ".", s) + g.P("type ", s, " = ", pkg, ".", s) g.P("var ", s, "_name = ", pkg, ".", s, "_name") g.P("var ", s, "_value = ", pkg, ".", s, "_value") - g.P("func (x ", s, ") String() string { return (", pkg, ".", s, ")(x).String() }") - if !es.proto3 { - g.P("func (x ", s, ") Enum() *", s, "{ return (*", s, ")((", pkg, ".", s, ")(x).Enum()) }") - g.P("func (x *", s, ") UnmarshalJSON(data []byte) error { return (*", pkg, ".", s, ")(x).UnmarshalJSON(data) }") - } } type constOrVarSymbol struct { @@ -557,8 +416,8 @@ type constOrVarSymbol struct { cast string // if non-empty, a type cast is required (used for enums) } -func (cs constOrVarSymbol) GenerateAlias(g *Generator, pkg string) { - v := pkg + "." + cs.sym +func (cs constOrVarSymbol) GenerateAlias(g *Generator, pkg GoPackageName) { + v := string(pkg) + "." + cs.sym if cs.cast != "" { v = cs.cast + "(" + v + ")" } @@ -567,21 +426,9 @@ func (cs constOrVarSymbol) GenerateAlias(g *Generator, pkg string) { // Object is an interface abstracting the abilities shared by enums, messages, extensions and imported objects. type Object interface { - PackageName() string // The name we use in our output (a_b_c), possibly renamed for uniqueness. + GoImportPath() GoImportPath TypeName() []string - File() *descriptor.FileDescriptorProto -} - -// Each package name we generate must be unique. The package we're generating -// gets its own name but every other package must have a unique name that does -// not conflict in the code we generate. These names are chosen globally (although -// they don't have to be, it simplifies things to do them globally). -func uniquePackageOf(fd *descriptor.FileDescriptorProto) string { - s, ok := uniquePackageName[fd] - if !ok { - log.Fatal("internal error: no package name defined for " + fd.GetName()) - } - return s + File() *FileDescriptor } // Generator is the type whose methods generate the output, stored in the associated response structure. @@ -598,21 +445,33 @@ type Generator struct { Pkg map[string]string // The names under which we import support packages - packageName string // What we're calling ourselves. - allFiles []*FileDescriptor // All files in the tree - allFilesByName map[string]*FileDescriptor // All files by filename. - genFiles []*FileDescriptor // Those files we will generate output for. - file *FileDescriptor // The file we are compiling now. - usedPackages map[string]bool // Names of packages used in current file. - typeNameToObject map[string]Object // Key is a fully-qualified name in input syntax. - init []string // Lines to emit in the init function. + outputImportPath GoImportPath // Package we're generating code for. + allFiles []*FileDescriptor // All files in the tree + allFilesByName map[string]*FileDescriptor // All files by filename. + genFiles []*FileDescriptor // Those files we will generate output for. + file *FileDescriptor // The file we are compiling now. + packageNames map[GoImportPath]GoPackageName // Imported package names in the current file. + usedPackages map[GoImportPath]bool // Packages used in current file. + usedPackageNames map[GoPackageName]bool // Package names used in the current file. + typeNameToObject map[string]Object // Key is a fully-qualified name in input syntax. + init []string // Lines to emit in the init function. indent string + pathType pathType // How to generate output filenames. writeOutput bool + annotateCode bool // whether to store annotations + annotations []*descriptor.GeneratedCodeInfo_Annotation // annotations to store customImports []string writtenImports map[string]bool // For de-duplicating written imports } +type pathType int + +const ( + pathTypeImport pathType = iota + pathTypeSourceRelative +) + // New creates a new generator and allocates the request and response protobufs. func New() *Generator { g := new(Generator) @@ -620,8 +479,6 @@ func New() *Generator { g.Request = new(plugin.CodeGeneratorRequest) g.Response = new(plugin.CodeGeneratorResponse) g.writtenImports = make(map[string]bool) - uniquePackageName = make(map[*descriptor.FileDescriptorProto]string) - pkgNamesInUse = make(map[string][]*FileDescriptor) return g } @@ -660,8 +517,21 @@ func (g *Generator) CommandLineParameters(parameter string) { g.ImportPrefix = v case "import_path": g.PackageImportPath = v + case "paths": + switch v { + case "import": + g.pathType = pathTypeImport + case "source_relative": + g.pathType = pathTypeSourceRelative + default: + g.Fail(fmt.Sprintf(`Unknown path type %q: want "import" or "source_relative".`, v)) + } case "plugins": pluginList = v + case "annotate_code": + if v == "true" { + g.annotateCode = true + } default: if len(k) > 0 && k[0] == 'M' { g.ImportMap[k[1:]] = v @@ -697,55 +567,48 @@ func (g *Generator) CommandLineParameters(parameter string) { // If its file is in a different package, it returns the package name we're using for this file, plus ".". // Otherwise it returns the empty string. func (g *Generator) DefaultPackageName(obj Object) string { - pkg := obj.PackageName() - if pkg == g.packageName { + importPath := obj.GoImportPath() + if importPath == g.outputImportPath { return "" } - return pkg + "." + return string(g.GoPackageName(importPath)) + "." } -// For each input file, the unique package name to use, underscored. -var uniquePackageName = make(map[*descriptor.FileDescriptorProto]string) +// GoPackageName returns the name used for a package. +func (g *Generator) GoPackageName(importPath GoImportPath) GoPackageName { + if name, ok := g.packageNames[importPath]; ok { + return name + } + name := cleanPackageName(baseName(string(importPath))) + for i, orig := 1, name; g.usedPackageNames[name]; i++ { + name = orig + GoPackageName(strconv.Itoa(i)) + } + if g.packageNames == nil { + g.packageNames = make(map[GoImportPath]GoPackageName) + } + g.packageNames[importPath] = name + if g.usedPackageNames == nil { + g.usedPackageNames = make(map[GoPackageName]bool) + } + g.usedPackageNames[name] = true + return name +} -// Package names already registered. Key is the name from the .proto file; -// value is the name that appears in the generated code. -var pkgNamesInUse = make(map[string][]*FileDescriptor) +var globalPackageNames = map[GoPackageName]bool{ + "fmt": true, + "math": true, + "proto": true, +} -// Create and remember a guaranteed unique package name for this file descriptor. -// Pkg is the candidate name. If f is nil, it's a builtin package like "proto" and -// has no file descriptor. +// Create and remember a guaranteed unique package name. Pkg is the candidate name. +// The FileDescriptor parameter is unused. func RegisterUniquePackageName(pkg string, f *FileDescriptor) string { - if f == nil { - // For builtin and standard lib packages, try to use only - // the last component of the package path. - pkg = pkg[strings.LastIndex(pkg, "/")+1:] + name := cleanPackageName(pkg) + for i, orig := 1, name; globalPackageNames[name]; i++ { + name = orig + GoPackageName(strconv.Itoa(i)) } - - // Convert dots to underscores before finding a unique alias. - pkg = strings.Map(badToUnderscore, pkg) - - var i = -1 - var ptr *FileDescriptor = nil - for i, ptr = range pkgNamesInUse[pkg] { - if ptr == f { - if i == 0 { - return pkg - } - return pkg + strconv.Itoa(i) - } - } - - pkgNamesInUse[pkg] = append(pkgNamesInUse[pkg], f) - i += 1 - - if i > 0 { - pkg = pkg + strconv.Itoa(i) - } - - if f != nil { - uniquePackageName[f.FileDescriptorProto] = pkg - } - return pkg + globalPackageNames[name] = true + return string(name) } var isGoKeyword = map[string]bool{ @@ -776,98 +639,84 @@ var isGoKeyword = map[string]bool{ "var": true, } +func cleanPackageName(name string) GoPackageName { + name = strings.Map(badToUnderscore, name) + // Identifier must not be keyword: insert _. + if isGoKeyword[name] { + name = "_" + name + } + // Identifier must not begin with digit: insert _. + if r, _ := utf8.DecodeRuneInString(name); unicode.IsDigit(r) { + name = "_" + name + } + return GoPackageName(name) +} + // defaultGoPackage returns the package name to use, // derived from the import path of the package we're building code for. -func (g *Generator) defaultGoPackage() string { +func (g *Generator) defaultGoPackage() GoPackageName { p := g.PackageImportPath if i := strings.LastIndex(p, "/"); i >= 0 { p = p[i+1:] } - if p == "" { - return "" - } - - p = strings.Map(badToUnderscore, p) - // Identifier must not be keyword: insert _. - if isGoKeyword[p] { - p = "_" + p - } - // Identifier must not begin with digit: insert _. - if r, _ := utf8.DecodeRuneInString(p); unicode.IsDigit(r) { - p = "_" + p - } - return p + return cleanPackageName(p) } // SetPackageNames sets the package name for this run. // The package name must agree across all files being generated. // It also defines unique package names for all imported files. func (g *Generator) SetPackageNames() { - // Register the name for this package. It will be the first name - // registered so is guaranteed to be unmodified. - pkg, explicit := g.genFiles[0].goPackageName() + g.outputImportPath = g.genFiles[0].importPath - // Check all files for an explicit go_package option. + defaultPackageNames := make(map[GoImportPath]GoPackageName) for _, f := range g.genFiles { - thisPkg, thisExplicit := f.goPackageName() - if thisExplicit { - if !explicit { - // Let this file's go_package option serve for all input files. - pkg, explicit = thisPkg, true - } else if thisPkg != pkg { - g.Fail("inconsistent package names:", thisPkg, pkg) - } + if _, p, ok := f.goPackageOption(); ok { + defaultPackageNames[f.importPath] = p + } + } + for _, f := range g.genFiles { + if _, p, ok := f.goPackageOption(); ok { + // Source file: option go_package = "quux/bar"; + f.packageName = p + } else if p, ok := defaultPackageNames[f.importPath]; ok { + // A go_package option in another file in the same package. + // + // This is a poor choice in general, since every source file should + // contain a go_package option. Supported mainly for historical + // compatibility. + f.packageName = p + } else if p := g.defaultGoPackage(); p != "" { + // Command-line: import_path=quux/bar. + // + // The import_path flag sets a package name for files which don't + // contain a go_package option. + f.packageName = p + } else if p := f.GetPackage(); p != "" { + // Source file: package quux.bar; + f.packageName = cleanPackageName(p) + } else { + // Source filename. + f.packageName = cleanPackageName(baseName(f.GetName())) } } - // If we don't have an explicit go_package option but we have an - // import path, use that. - if !explicit { - p := g.defaultGoPackage() - if p != "" { - pkg, explicit = p, true + // Check that all files have a consistent package name and import path. + for _, f := range g.genFiles[1:] { + if a, b := g.genFiles[0].importPath, f.importPath; a != b { + g.Fail(fmt.Sprintf("inconsistent package import paths: %v, %v", a, b)) + } + if a, b := g.genFiles[0].packageName, f.packageName; a != b { + g.Fail(fmt.Sprintf("inconsistent package names: %v, %v", a, b)) } } - // If there was no go_package and no import path to use, - // double-check that all the inputs have the same implicit - // Go package name. - if !explicit { - for _, f := range g.genFiles { - thisPkg, _ := f.goPackageName() - if thisPkg != pkg { - g.Fail("inconsistent package names:", thisPkg, pkg) - } - } - } - - g.packageName = RegisterUniquePackageName(pkg, g.genFiles[0]) - - // Register the support package names. They might collide with the - // name of a package we import. + // Names of support packages. These never vary (if there are conflicts, + // we rename the conflicting package), so this could be removed someday. g.Pkg = map[string]string{ - "fmt": RegisterUniquePackageName("fmt", nil), - "math": RegisterUniquePackageName("math", nil), - "proto": RegisterUniquePackageName("proto", nil), - "golang_proto": RegisterUniquePackageName("golang_proto", nil), - } - -AllFiles: - for _, f := range g.allFiles { - for _, genf := range g.genFiles { - if f == genf { - // In this package already. - uniquePackageName[f.FileDescriptorProto] = g.packageName - continue AllFiles - } - } - // The file is a dependency, so we want to ignore its go_package option - // because that is only relevant for its specific generated output. - pkg := f.GetPackage() - if pkg == "" { - pkg = baseName(*f.Name) - } - RegisterUniquePackageName(pkg, f) + "fmt": "fmt", + "math": "math", + "proto": "proto", + "golang_proto": "golang_proto", } } @@ -877,27 +726,51 @@ AllFiles: func (g *Generator) WrapTypes() { g.allFiles = make([]*FileDescriptor, 0, len(g.Request.ProtoFile)) g.allFilesByName = make(map[string]*FileDescriptor, len(g.allFiles)) + genFileNames := make(map[string]bool) + for _, n := range g.Request.FileToGenerate { + genFileNames[n] = true + } for _, f := range g.Request.ProtoFile { - // We must wrap the descriptors before we wrap the enums - descs := wrapDescriptors(f) - g.buildNestedDescriptors(descs) - enums := wrapEnumDescriptors(f, descs) - g.buildNestedEnums(descs, enums) - exts := wrapExtensions(f) fd := &FileDescriptor{ FileDescriptorProto: f, - desc: descs, - enum: enums, - ext: exts, exported: make(map[Object][]symbol), proto3: fileIsProto3(f), } + // The import path may be set in a number of ways. + if substitution, ok := g.ImportMap[f.GetName()]; ok { + // Command-line: M=foo.proto=quux/bar. + // + // Explicit mapping of source file to import path. + fd.importPath = GoImportPath(substitution) + } else if genFileNames[f.GetName()] && g.PackageImportPath != "" { + // Command-line: import_path=quux/bar. + // + // The import_path flag sets the import path for every file that + // we generate code for. + fd.importPath = GoImportPath(g.PackageImportPath) + } else if p, _, _ := fd.goPackageOption(); p != "" { + // Source file: option go_package = "quux/bar"; + // + // The go_package option sets the import path. Most users should use this. + fd.importPath = p + } else { + // Source filename. + // + // Last resort when nothing else is available. + fd.importPath = GoImportPath(path.Dir(f.GetName())) + } + // We must wrap the descriptors before we wrap the enums + fd.desc = wrapDescriptors(fd) + g.buildNestedDescriptors(fd.desc) + fd.enum = wrapEnumDescriptors(fd, fd.desc) + g.buildNestedEnums(fd.desc, fd.enum) + fd.ext = wrapExtensions(fd) extractComments(fd) g.allFiles = append(g.allFiles, fd) g.allFilesByName[f.GetName()] = fd } for _, fd := range g.allFiles { - fd.imp = wrapImported(fd.FileDescriptorProto, g) + fd.imp = wrapImported(fd, g) } g.genFiles = make([]*FileDescriptor, 0, len(g.Request.FileToGenerate)) @@ -906,11 +779,27 @@ func (g *Generator) WrapTypes() { if fd == nil { g.Fail("could not find file named", fileName) } - fd.index = len(g.genFiles) + fingerprint, err := fingerprintProto(fd.FileDescriptorProto) + if err != nil { + g.Error(err) + } + fd.fingerprint = fingerprint g.genFiles = append(g.genFiles, fd) } } +// fingerprintProto returns a fingerprint for a message. +// The fingerprint is intended to prevent conflicts between generated fileds, +// not to provide cryptographic security. +func fingerprintProto(m proto.Message) (string, error) { + b, err := proto.Marshal(m) + if err != nil { + return "", err + } + h := sha256.Sum256(b) + return hex.EncodeToString(h[:8]), nil +} + // Scan the descriptors in this file. For each one, build the slice of nested descriptors func (g *Generator) buildNestedDescriptors(descs []*Descriptor) { for _, desc := range descs { @@ -943,7 +832,7 @@ func (g *Generator) buildNestedEnums(descs []*Descriptor, enums []*EnumDescripto } // Construct the Descriptor -func newDescriptor(desc *descriptor.DescriptorProto, parent *Descriptor, file *descriptor.FileDescriptorProto, index int) *Descriptor { +func newDescriptor(desc *descriptor.DescriptorProto, parent *Descriptor, file *FileDescriptor, index int) *Descriptor { d := &Descriptor{ common: common{file}, DescriptorProto: desc, @@ -980,7 +869,7 @@ func newDescriptor(desc *descriptor.DescriptorProto, parent *Descriptor, file *d } // Return a slice of all the Descriptors defined within this file -func wrapDescriptors(file *descriptor.FileDescriptorProto) []*Descriptor { +func wrapDescriptors(file *FileDescriptor) []*Descriptor { sl := make([]*Descriptor, 0, len(file.MessageType)+10) for i, desc := range file.MessageType { sl = wrapThisDescriptor(sl, desc, nil, file, i) @@ -989,7 +878,7 @@ func wrapDescriptors(file *descriptor.FileDescriptorProto) []*Descriptor { } // Wrap this Descriptor, recursively -func wrapThisDescriptor(sl []*Descriptor, desc *descriptor.DescriptorProto, parent *Descriptor, file *descriptor.FileDescriptorProto, index int) []*Descriptor { +func wrapThisDescriptor(sl []*Descriptor, desc *descriptor.DescriptorProto, parent *Descriptor, file *FileDescriptor, index int) []*Descriptor { sl = append(sl, newDescriptor(desc, parent, file, index)) me := sl[len(sl)-1] for i, nested := range desc.NestedType { @@ -999,7 +888,7 @@ func wrapThisDescriptor(sl []*Descriptor, desc *descriptor.DescriptorProto, pare } // Construct the EnumDescriptor -func newEnumDescriptor(desc *descriptor.EnumDescriptorProto, parent *Descriptor, file *descriptor.FileDescriptorProto, index int) *EnumDescriptor { +func newEnumDescriptor(desc *descriptor.EnumDescriptorProto, parent *Descriptor, file *FileDescriptor, index int) *EnumDescriptor { ed := &EnumDescriptor{ common: common{file}, EnumDescriptorProto: desc, @@ -1015,7 +904,7 @@ func newEnumDescriptor(desc *descriptor.EnumDescriptorProto, parent *Descriptor, } // Return a slice of all the EnumDescriptors defined within this file -func wrapEnumDescriptors(file *descriptor.FileDescriptorProto, descs []*Descriptor) []*EnumDescriptor { +func wrapEnumDescriptors(file *FileDescriptor, descs []*Descriptor) []*EnumDescriptor { sl := make([]*EnumDescriptor, 0, len(file.EnumType)+10) // Top-level enums. for i, enum := range file.EnumType { @@ -1031,7 +920,7 @@ func wrapEnumDescriptors(file *descriptor.FileDescriptorProto, descs []*Descript } // Return a slice of all the top-level ExtensionDescriptors defined within this file. -func wrapExtensions(file *descriptor.FileDescriptorProto) []*ExtensionDescriptor { +func wrapExtensions(file *FileDescriptor) []*ExtensionDescriptor { var sl []*ExtensionDescriptor for _, field := range file.Extension { sl = append(sl, &ExtensionDescriptor{common{file}, field, nil}) @@ -1040,7 +929,7 @@ func wrapExtensions(file *descriptor.FileDescriptorProto) []*ExtensionDescriptor } // Return a slice of all the types that are publicly imported into this file. -func wrapImported(file *descriptor.FileDescriptorProto, g *Generator) (sl []*ImportedDescriptor) { +func wrapImported(file *FileDescriptor, g *Generator) (sl []*ImportedDescriptor) { for _, index := range file.PublicDependency { df := g.fileByName(file.Dependency[index]) for _, d := range df.desc { @@ -1140,35 +1029,84 @@ func (g *Generator) ObjectNamed(typeName string) Object { return o } +// AnnotatedAtoms is a list of atoms (as consumed by P) that records the file name and proto AST path from which they originated. +type AnnotatedAtoms struct { + source string + path string + atoms []interface{} +} + +// Annotate records the file name and proto AST path of a list of atoms +// so that a later call to P can emit a link from each atom to its origin. +func Annotate(file *FileDescriptor, path string, atoms ...interface{}) *AnnotatedAtoms { + return &AnnotatedAtoms{source: *file.Name, path: path, atoms: atoms} +} + +// printAtom prints the (atomic, non-annotation) argument to the generated output. +func (g *Generator) printAtom(v interface{}) { + switch v := v.(type) { + case string: + g.WriteString(v) + case *string: + g.WriteString(*v) + case bool: + fmt.Fprint(g, v) + case *bool: + fmt.Fprint(g, *v) + case int: + fmt.Fprint(g, v) + case *int32: + fmt.Fprint(g, *v) + case *int64: + fmt.Fprint(g, *v) + case float64: + fmt.Fprint(g, v) + case *float64: + fmt.Fprint(g, *v) + case GoPackageName: + g.WriteString(string(v)) + case GoImportPath: + g.WriteString(strconv.Quote(string(v))) + default: + g.Fail(fmt.Sprintf("unknown type in printer: %T", v)) + } +} + // P prints the arguments to the generated output. It handles strings and int32s, plus -// handling indirections because they may be *string, etc. +// handling indirections because they may be *string, etc. Any inputs of type AnnotatedAtoms may emit +// annotations in a .meta file in addition to outputting the atoms themselves (if g.annotateCode +// is true). func (g *Generator) P(str ...interface{}) { if !g.writeOutput { return } g.WriteString(g.indent) for _, v := range str { - switch s := v.(type) { - case string: - g.WriteString(s) - case *string: - g.WriteString(*s) - case bool: - fmt.Fprintf(g, "%t", s) - case *bool: - fmt.Fprintf(g, "%t", *s) - case int: - fmt.Fprintf(g, "%d", s) - case *int32: - fmt.Fprintf(g, "%d", *s) - case *int64: - fmt.Fprintf(g, "%d", *s) - case float64: - fmt.Fprintf(g, "%g", s) - case *float64: - fmt.Fprintf(g, "%g", *s) + switch v := v.(type) { + case *AnnotatedAtoms: + begin := int32(g.Len()) + for _, v := range v.atoms { + g.printAtom(v) + } + if g.annotateCode { + end := int32(g.Len()) + var path []int32 + for _, token := range strings.Split(v.path, ",") { + val, err := strconv.ParseInt(token, 10, 32) + if err != nil { + g.Fail("could not parse proto AST path: ", err.Error()) + } + path = append(path, int32(val)) + } + g.annotations = append(g.annotations, &descriptor.GeneratedCodeInfo_Annotation{ + Path: path, + SourceFile: &v.source, + Begin: &begin, + End: &end, + }) + } default: - g.Fail(fmt.Sprintf("unknown type in printer: %T", v)) + g.printAtom(v) } } g.WriteByte('\n') @@ -1180,8 +1118,8 @@ func (g *Generator) addInitf(stmt string, a ...interface{}) { g.init = append(g.init, fmt.Sprintf(stmt, a...)) } -func (g *Generator) PrintImport(alias, pkg string) { - statement := "import " + alias + " " + strconv.Quote(pkg) +func (g *Generator) PrintImport(alias GoPackageName, pkg GoImportPath) { + statement := "import " + string(alias) + " " + strconv.Quote(string(pkg)) if g.writtenImports[statement] { return } @@ -1214,15 +1152,25 @@ func (g *Generator) GenerateAllFiles() { } for _, file := range g.allFiles { g.Reset() + g.annotations = nil g.writeOutput = genFileMap[file] g.generate(file) if !g.writeOutput { continue } + fname := file.goFileName(g.pathType) g.Response.File = append(g.Response.File, &plugin.CodeGeneratorResponse_File{ - Name: proto.String(file.goFileName()), + Name: proto.String(fname), Content: proto.String(g.String()), }) + if g.annotateCode { + // Store the generated code annotations in text, as the protoc plugin protocol requires that + // strings contain valid UTF-8. + g.Response.File = append(g.Response.File, &plugin.CodeGeneratorResponse_File{ + Name: proto.String(file.goFileName(g.pathType) + ".meta"), + Content: proto.String(proto.CompactTextString(&descriptor.GeneratedCodeInfo{Annotation: g.annotations})), + }) + } } } @@ -1233,37 +1181,28 @@ func (g *Generator) runPlugins(file *FileDescriptor) { } } -// FileOf return the FileDescriptor for this FileDescriptorProto. -func (g *Generator) FileOf(fd *descriptor.FileDescriptorProto) *FileDescriptor { - for _, file := range g.allFiles { - if file.FileDescriptorProto == fd { - return file - } - } - g.Fail("could not find file in table:", fd.GetName()) - return nil -} - // Fill the response protocol buffer with the generated output for all the files we're // supposed to generate. func (g *Generator) generate(file *FileDescriptor) { g.customImports = make([]string, 0) - g.file = g.FileOf(file.FileDescriptorProto) - g.usedPackages = make(map[string]bool) - - if g.file.index == 0 { - // For one file in the package, assert version compatibility. - g.P("// This is a compile-time assertion to ensure that this generated file") - g.P("// is compatible with the proto package it is being compiled against.") - g.P("// A compilation error at this line likely means your copy of the") - g.P("// proto package needs to be updated.") - if gogoproto.ImportsGoGoProto(file.FileDescriptorProto) { - g.P("const _ = ", g.Pkg["proto"], ".GoGoProtoPackageIsVersion", generatedCodeVersion, " // please upgrade the proto package") - } else { - g.P("const _ = ", g.Pkg["proto"], ".ProtoPackageIsVersion", generatedCodeVersion, " // please upgrade the proto package") - } - g.P() + g.file = file + g.usedPackages = make(map[GoImportPath]bool) + g.packageNames = make(map[GoImportPath]GoPackageName) + g.usedPackageNames = make(map[GoPackageName]bool) + for name := range globalPackageNames { + g.usedPackageNames[name] = true } + + g.P("// This is a compile-time assertion to ensure that this generated file") + g.P("// is compatible with the proto package it is being compiled against.") + g.P("// A compilation error at this line likely means your copy of the") + g.P("// proto package needs to be updated.") + if gogoproto.ImportsGoGoProto(file.FileDescriptorProto) { + g.P("const _ = ", g.Pkg["proto"], ".GoGoProtoPackageIsVersion", generatedCodeVersion, " // please upgrade the proto package") + } else { + g.P("const _ = ", g.Pkg["proto"], ".ProtoPackageIsVersion", generatedCodeVersion, " // please upgrade the proto package") + } + g.P() // Reset on each file g.writtenImports = make(map[string]bool) for _, td := range g.file.imp { @@ -1291,29 +1230,41 @@ func (g *Generator) generate(file *FileDescriptor) { // Generate header and imports last, though they appear first in the output. rem := g.Buffer + remAnno := g.annotations g.Buffer = new(bytes.Buffer) + g.annotations = nil g.generateHeader() g.generateImports() if !g.writeOutput { return } + // Adjust the offsets for annotations displaced by the header and imports. + for _, anno := range remAnno { + *anno.Begin += int32(g.Len()) + *anno.End += int32(g.Len()) + g.annotations = append(g.annotations, anno) + } g.Write(rem.Bytes()) - // Reformat generated code. + // Reformat generated code and patch annotation locations. fset := token.NewFileSet() - raw := g.Bytes() - ast, err := parser.ParseFile(fset, "", g, parser.ParseComments) + original := g.Bytes() + if g.annotateCode { + // make a copy independent of g; we'll need it after Reset. + original = append([]byte(nil), original...) + } + ast, err := parser.ParseFile(fset, "", original, parser.ParseComments) if err != nil { // Print out the bad code with line numbers. // This should never happen in practice, but it can while changing generated code, // so consider this a debugging aid. var src bytes.Buffer - s := bufio.NewScanner(bytes.NewReader(raw)) + s := bufio.NewScanner(bytes.NewReader(original)) for line := 1; s.Scan(); line++ { fmt.Fprintf(&src, "%5d\t%s\n", line, s.Bytes()) } if serr := s.Err(); serr != nil { - g.Fail("bad Go source code was generated:", err.Error(), "\n"+string(raw)) + g.Fail("bad Go source code was generated:", err.Error(), "\n"+string(original)) } else { g.Fail("bad Go source code was generated:", err.Error(), "\n"+src.String()) } @@ -1323,55 +1274,59 @@ func (g *Generator) generate(file *FileDescriptor) { if err != nil { g.Fail("generated Go source code could not be reformatted:", err.Error()) } + if g.annotateCode { + m, err := remap.Compute(original, g.Bytes()) + if err != nil { + g.Fail("formatted generated Go source code could not be mapped back to the original code:", err.Error()) + } + for _, anno := range g.annotations { + new, ok := m.Find(int(*anno.Begin), int(*anno.End)) + if !ok { + g.Fail("span in formatted generated Go source code could not be mapped back to the original code") + } + *anno.Begin = int32(new.Pos) + *anno.End = int32(new.End) + } + } } // Generate the header, including package definition func (g *Generator) generateHeader() { g.P("// Code generated by protoc-gen-gogo. DO NOT EDIT.") - g.P("// source: ", *g.file.Name) + if g.file.GetOptions().GetDeprecated() { + g.P("// ", *g.file.Name, " is a deprecated file.") + } else { + g.P("// source: ", *g.file.Name) + } g.P() - name := g.file.PackageName() + importPath, _, _ := g.file.goPackageOption() + if importPath == "" { + g.P("package ", g.file.packageName) + } else { + g.P("package ", g.file.packageName, " // import ", GoImportPath(g.ImportPrefix)+importPath) + } + g.P() - if g.file.index == 0 { - // Generate package docs for the first file in the package. + if loc, ok := g.file.comments[strconv.Itoa(packagePath)]; ok { g.P("/*") - g.P("Package ", name, " is a generated protocol buffer package.") - g.P() - if loc, ok := g.file.comments[strconv.Itoa(packagePath)]; ok { - // not using g.PrintComments because this is a /* */ comment block. - text := strings.TrimSuffix(loc.GetLeadingComments(), "\n") - for _, line := range strings.Split(text, "\n") { - line = strings.TrimPrefix(line, " ") - // ensure we don't escape from the block comment - line = strings.Replace(line, "*/", "* /", -1) - g.P(line) - } - g.P() - } - var topMsgs []string - g.P("It is generated from these files:") - for _, f := range g.genFiles { - g.P("\t", f.Name) - for _, msg := range f.desc { - if msg.parent != nil { - continue - } - topMsgs = append(topMsgs, CamelCaseSlice(msg.TypeName())) - } - } - g.P() - g.P("It has these top-level messages:") - for _, msg := range topMsgs { - g.P("\t", msg) + // not using g.PrintComments because this is a /* */ comment block. + text := strings.TrimSuffix(loc.GetLeadingComments(), "\n") + for _, line := range strings.Split(text, "\n") { + line = strings.TrimPrefix(line, " ") + // ensure we don't escape from the block comment + line = strings.Replace(line, "*/", "* /", -1) + g.P(line) } g.P("*/") + g.P() } - - g.P("package ", name) - g.P() } +// deprecationComment is the standard comment added to deprecated +// messages, fields, enums, and enum values. +var deprecationComment = "// Deprecated: Do not use." + // PrintComments prints any comments from the source .proto file. // The path is a comma-separated list of integers. // It returns an indication of whether any comments were printed. @@ -1380,16 +1335,28 @@ func (g *Generator) PrintComments(path string) bool { if !g.writeOutput { return false } - if loc, ok := g.file.comments[path]; ok { - text := strings.TrimSuffix(loc.GetLeadingComments(), "\n") - for _, line := range strings.Split(text, "\n") { - g.P("// ", strings.TrimPrefix(line, " ")) - } + if c, ok := g.makeComments(path); ok { + g.P(c) return true } return false } +// makeComments generates the comment string for the field, no "\n" at the end +func (g *Generator) makeComments(path string) (string, bool) { + loc, ok := g.file.comments[path] + if !ok { + return "", false + } + w := new(bytes.Buffer) + nl := "" + for _, line := range strings.Split(strings.TrimSuffix(loc.GetLeadingComments(), "\n"), "\n") { + fmt.Fprintf(w, "%s// %s", nl, strings.TrimPrefix(line, " ")) + nl = "\n" + } + return w.String(), true +} + // Comments returns any comments from the source .proto file and empty string if comments not found. // The path is a comma-separated list of intergers. // See descriptor.proto for its format. @@ -1422,47 +1389,59 @@ func (g *Generator) generateImports() { // do, which is tricky when there's a plugin, just import it and // reference it later. The same argument applies to the fmt and math packages. if gogoproto.ImportsGoGoProto(g.file.FileDescriptorProto) { - g.PrintImport(g.Pkg["proto"], g.ImportPrefix+"github.com/gogo/protobuf/proto") + g.PrintImport(GoPackageName(g.Pkg["proto"]), GoImportPath(g.ImportPrefix)+GoImportPath("github.com/gogo/protobuf/proto")) if gogoproto.RegistersGolangProto(g.file.FileDescriptorProto) { - g.PrintImport(g.Pkg["golang_proto"], g.ImportPrefix+"github.com/golang/protobuf/proto") + g.PrintImport(GoPackageName(g.Pkg["golang_proto"]), GoImportPath(g.ImportPrefix)+GoImportPath("github.com/golang/protobuf/proto")) } } else { - g.PrintImport(g.Pkg["proto"], g.ImportPrefix+"github.com/golang/protobuf/proto") + g.PrintImport(GoPackageName(g.Pkg["proto"]), GoImportPath(g.ImportPrefix)+GoImportPath("github.com/golang/protobuf/proto")) } - g.PrintImport(g.Pkg["fmt"], "fmt") - g.PrintImport(g.Pkg["math"], "math") + g.PrintImport(GoPackageName(g.Pkg["fmt"]), "fmt") + g.PrintImport(GoPackageName(g.Pkg["math"]), "math") + var ( + imports = make(map[GoImportPath]bool) + strongImports = make(map[GoImportPath]bool) + importPaths []string + ) for i, s := range g.file.Dependency { fd := g.fileByName(s) + importPath := fd.importPath // Do not import our own package. - if fd.PackageName() == g.packageName { + if importPath == g.file.importPath { continue } - filename := fd.goFileName() - // By default, import path is the dirname of the Go filename. - importPath := path.Dir(filename) - if substitution, ok := g.ImportMap[s]; ok { - importPath = substitution + if !imports[importPath] { + importPaths = append(importPaths, string(importPath)) } - importPath = g.ImportPrefix + importPath + imports[importPath] = true + if !g.weak(int32(i)) { + strongImports[importPath] = true + } + } + sort.Strings(importPaths) + for i := range importPaths { + importPath := GoImportPath(importPaths[i]) + packageName := g.GoPackageName(importPath) + fullPath := GoImportPath(g.ImportPrefix) + importPath // Skip weak imports. - if g.weak(int32(i)) { - g.P("// skipping weak import ", fd.PackageName(), " ", strconv.Quote(importPath)) + if !strongImports[importPath] { + g.P("// skipping weak import ", packageName, " ", fullPath) continue } // We need to import all the dependencies, even if we don't reference them, // because other code and tools depend on having the full transitive closure // of protocol buffer types in the binary. - if _, ok := g.usedPackages[fd.PackageName()]; ok { - g.PrintImport(fd.PackageName(), importPath) + if _, ok := g.usedPackages[importPath]; ok { + g.PrintImport(packageName, fullPath) } else { - g.P("import _ ", strconv.Quote(importPath)) + g.P("import _ ", fullPath) } } g.P() for _, s := range g.customImports { s1 := strings.Map(badToUnderscore, s) - g.PrintImport(s1, s) + g.PrintImport(GoPackageName(s1), GoImportPath(s)) } g.P() // TODO: may need to worry about uniqueness across plugins @@ -1487,26 +1466,24 @@ func (g *Generator) generateImports() { } func (g *Generator) generateImported(id *ImportedDescriptor) { - // Don't generate public import symbols for files that we are generating - // code for, since those symbols will already be in this package. - // We can't simply avoid creating the ImportedDescriptor objects, - // because g.genFiles isn't populated at that stage. tn := id.TypeName() sn := tn[len(tn)-1] - df := g.FileOf(id.o.File()) + df := id.o.File() filename := *df.Name - for _, fd := range g.genFiles { - if *fd.Name == filename { - g.P("// Ignoring public import of ", sn, " from ", filename) - g.P() - return - } + if df.importPath == g.file.importPath { + // Don't generate type aliases for files in the same Go package as this one. + g.P("// Ignoring public import of ", sn, " from ", filename) + g.P() + return + } + if !supportTypeAliases { + g.Fail(fmt.Sprintf("%s: public imports require at least go1.9", filename)) } g.P("// ", sn, " from public import ", filename) - g.usedPackages[df.PackageName()] = true + g.usedPackages[df.importPath] = true for _, sym := range df.exported[id.o] { - sym.GenerateAlias(g, df.PackageName()) + sym.GenerateAlias(g, g.GoPackageName(df.importPath)) } g.P() @@ -1520,25 +1497,36 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { ccTypeName := CamelCaseSlice(typeName) ccPrefix := enum.prefix() + deprecatedEnum := "" + if enum.GetOptions().GetDeprecated() { + deprecatedEnum = deprecationComment + } + g.PrintComments(enum.path) - if !gogoproto.EnabledGoEnumPrefix(enum.file, enum.EnumDescriptorProto) { + if !gogoproto.EnabledGoEnumPrefix(enum.file.FileDescriptorProto, enum.EnumDescriptorProto) { ccPrefix = "" } - if gogoproto.HasEnumDecl(enum.file, enum.EnumDescriptorProto) { - g.P("type ", ccTypeName, " int32") + if gogoproto.HasEnumDecl(enum.file.FileDescriptorProto, enum.EnumDescriptorProto) { + g.P("type ", Annotate(enum.file, enum.path, ccTypeName), " int32", deprecatedEnum) g.file.addExport(enum, enumSymbol{ccTypeName, enum.proto3()}) g.P("const (") g.In() for i, e := range enum.Value { - g.PrintComments(fmt.Sprintf("%s,%d,%d", enum.path, enumValuePath, i)) + etorPath := fmt.Sprintf("%s,%d,%d", enum.path, enumValuePath, i) + g.PrintComments(etorPath) + + deprecatedValue := "" + if e.GetOptions().GetDeprecated() { + deprecatedValue = deprecationComment + } name := *e.Name if gogoproto.IsEnumValueCustomName(e) { name = gogoproto.GetEnumValueCustomName(e) } name = ccPrefix + name - g.P(name, " ", ccTypeName, " = ", e.Number) + g.P(Annotate(enum.file, etorPath, name), " ", ccTypeName, " = ", e.Number, " ", deprecatedValue) g.file.addExport(enum, constOrVarSymbol{name, "const", ccTypeName}) } g.Out() @@ -1612,10 +1600,15 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { indexes = append([]string{strconv.Itoa(m.index)}, indexes...) } indexes = append(indexes, strconv.Itoa(enum.index)) - g.P("func (", ccTypeName, ") EnumDescriptor() ([]byte, []int) { return ", g.file.VarName(), ", []int{", strings.Join(indexes, ", "), "} }") + g.P("func (", ccTypeName, ") EnumDescriptor() ([]byte, []int) {") + g.In() + g.P("return ", g.file.VarName(), ", []int{", strings.Join(indexes, ", "), "}") + g.Out() + g.P("}") if enum.file.GetPackage() == "google.protobuf" && enum.GetName() == "NullValue" { g.P("func (", ccTypeName, `) XXX_WellKnownType() string { return "`, enum.GetName(), `" }`) } + g.P() } @@ -1678,7 +1671,7 @@ func (g *Generator) goTag(message *Descriptor, field *descriptor.FieldDescriptor } enum := "" if *field.Type == descriptor.FieldDescriptorProto_TYPE_ENUM { - // We avoid using obj.PackageName(), because we want to use the + // We avoid using obj.goPackageNamehe // original (proto-world) package name. obj := g.ObjectNamed(field.GetTypeName()) if id, ok := obj.(*ImportedDescriptor); ok { @@ -1751,13 +1744,7 @@ func (g *Generator) goTag(message *Descriptor, field *descriptor.FieldDescriptor } if message.proto3() { - // We only need the extra tag for []byte fields; - // no need to add noise for the others. - if *field.Type != descriptor.FieldDescriptorProto_TYPE_MESSAGE && - *field.Type != descriptor.FieldDescriptorProto_TYPE_GROUP && - !field.IsRepeated() { - name += ",proto3" - } + name += ",proto3" } oneof := "" if field.OneofIndex != nil { @@ -1771,7 +1758,11 @@ func (g *Generator) goTag(message *Descriptor, field *descriptor.FieldDescriptor if gogoproto.IsStdDuration(field) { stdduration = ",stdduration" } - return strconv.Quote(fmt.Sprintf("%s,%d,%s%s%s%s%s%s%s%s%s%s%s%s%s", + wktptr := "" + if gogoproto.IsWktPtr(field) { + wktptr = ",wktptr" + } + return strconv.Quote(fmt.Sprintf("%s,%d,%s%s%s%s%s%s%s%s%s%s%s%s%s%s", wiretype, field.GetNumber(), optrepreq, @@ -1786,7 +1777,8 @@ func (g *Generator) goTag(message *Descriptor, field *descriptor.FieldDescriptor castkey, castvalue, stdtime, - stdduration)) + stdduration, + wktptr)) } func needsStar(field *descriptor.FieldDescriptorProto, proto3 bool, allowOneOf bool) bool { @@ -1824,12 +1816,6 @@ func (g *Generator) TypeName(obj Object) string { return g.DefaultPackageName(obj) + CamelCaseSlice(obj.TypeName()) } -// TypeNameWithPackage is like TypeName, but always includes the package -// name even if the object is in our own package. -func (g *Generator) TypeNameWithPackage(obj Object) string { - return obj.PackageName() + CamelCaseSlice(obj.TypeName()) -} - // GoType returns a string representing the type name, and the wire type func (g *Generator) GoType(message *Descriptor, field *descriptor.FieldDescriptorProto) (typ string, wire string) { // TODO: Options. @@ -1905,6 +1891,24 @@ func (g *Generator) GoType(message *Descriptor, field *descriptor.FieldDescripto case gogoproto.IsStdDuration(field): g.customImports = append(g.customImports, "time") typ = "time.Duration" + case gogoproto.IsStdDouble(field): + typ = "float64" + case gogoproto.IsStdFloat(field): + typ = "float32" + case gogoproto.IsStdInt64(field): + typ = "int64" + case gogoproto.IsStdUInt64(field): + typ = "uint64" + case gogoproto.IsStdInt32(field): + typ = "int32" + case gogoproto.IsStdUInt32(field): + typ = "uint32" + case gogoproto.IsStdBool(field): + typ = "bool" + case gogoproto.IsStdString(field): + typ = "string" + case gogoproto.IsStdBytes(field): + typ = "[]byte" } if needsStar(field, g.file.proto3 && field.Extendee == nil, message != nil && message.allowOneof()) { typ = "*" + typ @@ -1977,7 +1981,7 @@ func (g *Generator) GoMapType(d *Descriptor, field *descriptor.FieldDescriptorPr if !gogoproto.IsNullable(m.ValueAliasField) { valType = strings.TrimPrefix(valType, "*") } - if !gogoproto.IsStdTime(field) && !gogoproto.IsStdDuration(field) { + if !gogoproto.IsStdType(m.ValueAliasField) && !gogoproto.IsCustomType(field) && !gogoproto.IsCastType(field) { g.RecordTypeUse(m.ValueAliasField.GetTypeName()) } default: @@ -1985,7 +1989,9 @@ func (g *Generator) GoMapType(d *Descriptor, field *descriptor.FieldDescriptorPr if !gogoproto.IsNullable(m.ValueAliasField) { valType = strings.TrimPrefix(valType, "*") } - g.RecordTypeUse(m.ValueAliasField.GetTypeName()) + if !gogoproto.IsStdType(field) { + g.RecordTypeUse(m.ValueAliasField.GetTypeName()) + } } else { valType = strings.TrimPrefix(valType, "*") } @@ -1996,10 +2002,10 @@ func (g *Generator) GoMapType(d *Descriptor, field *descriptor.FieldDescriptorPr } func (g *Generator) RecordTypeUse(t string) { - if obj, ok := g.typeNameToObject[t]; ok { + if _, ok := g.typeNameToObject[t]; ok { // Call ObjectNamed to get the true object to record the use. - obj = g.ObjectNamed(t) - g.usedPackages[obj.PackageName()] = true + obj := g.ObjectNamed(t) + g.usedPackages[obj.GoImportPath()] = true } } @@ -2044,296 +2050,672 @@ var wellKnownTypes = map[string]bool{ "BytesValue": true, } -// Generate the type and default constant definitions for this Descriptor. -func (g *Generator) generateMessage(message *Descriptor) { - // The full type name - typeName := message.TypeName() - // The full type name, CamelCased. - ccTypeName := CamelCaseSlice(typeName) - - usedNames := make(map[string]bool) - for _, n := range methodNames { - usedNames[n] = true +// getterDefault finds the default value for the field to return from a getter, +// regardless of if it's a built in default or explicit from the source. Returns e.g. "nil", `""`, "Default_MessageType_FieldName" +func (g *Generator) getterDefault(field *descriptor.FieldDescriptorProto, goMessageType, goTypeName string) string { + if isRepeated(field) { + return "nil" } - if !gogoproto.IsProtoSizer(message.file, message.DescriptorProto) { - usedNames["Size"] = true - } - fieldNames := make(map[*descriptor.FieldDescriptorProto]string) - fieldGetterNames := make(map[*descriptor.FieldDescriptorProto]string) - fieldTypes := make(map[*descriptor.FieldDescriptorProto]string) - mapFieldTypes := make(map[*descriptor.FieldDescriptorProto]string) - - oneofFieldName := make(map[int32]string) // indexed by oneof_index field of FieldDescriptorProto - oneofDisc := make(map[int32]string) // name of discriminator method - oneofTypeName := make(map[*descriptor.FieldDescriptorProto]string) // without star - oneofInsertPoints := make(map[int32]int) // oneof_index => offset of g.Buffer - - // allocNames finds a conflict-free variation of the given strings, - // consistently mutating their suffixes. - // It returns the same number of strings. - allocNames := func(ns ...string) []string { - Loop: - for { - for _, n := range ns { - if usedNames[n] { - for i := range ns { - ns[i] += "_" - } - continue Loop - } - } - for _, n := range ns { - usedNames[n] = true - } - return ns + if def := field.GetDefaultValue(); def != "" { + defaultConstant := g.defaultConstantName(goMessageType, field.GetName()) + if *field.Type != descriptor.FieldDescriptorProto_TYPE_BYTES { + return defaultConstant } + return "append([]byte(nil), " + defaultConstant + "...)" } - - for _, field := range message.Field { - // Allocate the getter and the field at the same time so name - // collisions create field/method consistent names. - // TODO: This allocation occurs based on the order of the fields - // in the proto file, meaning that a change in the field - // ordering can change generated Method/Field names. - base := CamelCase(*field.Name) - if gogoproto.IsCustomName(field) { - base = gogoproto.GetCustomName(field) - } - ns := allocNames(base, "Get"+base) - fieldName, fieldGetterName := ns[0], ns[1] - fieldNames[field] = fieldName - fieldGetterNames[field] = fieldGetterName - } - - if gogoproto.HasTypeDecl(message.file, message.DescriptorProto) { - g.PrintComments(message.path) - g.P("type ", ccTypeName, " struct {") - g.In() - - for i, field := range message.Field { - fieldName := fieldNames[field] - typename, wiretype := g.GoType(message, field) - jsonName := *field.Name - jsonTag := jsonName + ",omitempty" - repeatedNativeType := (!field.IsMessage() && !gogoproto.IsCustomType(field) && field.IsRepeated()) - if !gogoproto.IsNullable(field) && !repeatedNativeType { - jsonTag = jsonName - } - gogoJsonTag := gogoproto.GetJsonTag(field) - if gogoJsonTag != nil { - jsonTag = *gogoJsonTag - } - gogoMoreTags := gogoproto.GetMoreTags(field) - moreTags := "" - if gogoMoreTags != nil { - moreTags = " " + *gogoMoreTags - } - tag := fmt.Sprintf("protobuf:%s json:%q%s", g.goTag(message, field, wiretype), jsonTag, moreTags) - if *field.Type == descriptor.FieldDescriptorProto_TYPE_MESSAGE && gogoproto.IsEmbed(field) { - fieldName = "" - } - - oneof := field.OneofIndex != nil && message.allowOneof() - if oneof && oneofFieldName[*field.OneofIndex] == "" { - odp := message.OneofDecl[int(*field.OneofIndex)] - fname := allocNames(CamelCase(odp.GetName()))[0] - - // This is the first field of a oneof we haven't seen before. - // Generate the union field. - com := g.PrintComments(fmt.Sprintf("%s,%d,%d", message.path, messageOneofPath, *field.OneofIndex)) - if com { - g.P("//") - } - g.P("// Types that are valid to be assigned to ", fname, ":") - // Generate the rest of this comment later, - // when we've computed any disambiguation. - oneofInsertPoints[*field.OneofIndex] = g.Buffer.Len() - - dname := "is" + ccTypeName + "_" + fname - oneofFieldName[*field.OneofIndex] = fname - oneofDisc[*field.OneofIndex] = dname - otag := `protobuf_oneof:"` + odp.GetName() + `"` - g.P(fname, " ", dname, " `", otag, "`") - } - - if *field.Type == descriptor.FieldDescriptorProto_TYPE_MESSAGE { - desc := g.ObjectNamed(field.GetTypeName()) - if d, ok := desc.(*Descriptor); ok && d.GetOptions().GetMapEntry() { - m := g.GoMapType(d, field) - typename = m.GoType - mapFieldTypes[field] = typename // record for the getter generation - - tag += fmt.Sprintf(" protobuf_key:%s protobuf_val:%s", m.KeyTag, m.ValueTag) - } - } - - fieldTypes[field] = typename - - if oneof { - tname := ccTypeName + "_" + fieldName - // It is possible for this to collide with a message or enum - // nested in this message. Check for collisions. - for { - ok := true - for _, desc := range message.nested { - if CamelCaseSlice(desc.TypeName()) == tname { - ok = false - break - } - } - for _, enum := range message.enums { - if CamelCaseSlice(enum.TypeName()) == tname { - ok = false - break - } - } - if !ok { - tname += "_" - continue - } - break - } - - oneofTypeName[field] = tname - continue - } - - g.PrintComments(fmt.Sprintf("%s,%d,%d", message.path, messageFieldPath, i)) - g.P(fieldName, "\t", typename, "\t`", tag, "`") - if !gogoproto.IsStdTime(field) && !gogoproto.IsStdDuration(field) { - g.RecordTypeUse(field.GetTypeName()) - } - } - if len(message.ExtensionRange) > 0 { - if gogoproto.HasExtensionsMap(g.file.FileDescriptorProto, message.DescriptorProto) { - g.P(g.Pkg["proto"], ".XXX_InternalExtensions `json:\"-\"`") + switch *field.Type { + case descriptor.FieldDescriptorProto_TYPE_GROUP, + descriptor.FieldDescriptorProto_TYPE_MESSAGE: + if field.OneofIndex != nil { + return "nil" + } else { + if !gogoproto.IsNullable(field) && (gogoproto.IsStdDuration(field) || + gogoproto.IsStdDouble(field) || gogoproto.IsStdFloat(field) || + gogoproto.IsStdInt64(field) || gogoproto.IsStdUInt64(field) || + gogoproto.IsStdInt32(field) || gogoproto.IsStdUInt32(field)) { + return "0" + } else if !gogoproto.IsNullable(field) && gogoproto.IsStdBool(field) { + return "false" + } else if !gogoproto.IsNullable(field) && gogoproto.IsStdString(field) { + return "\"\"" + } else if !gogoproto.IsNullable(field) && gogoproto.IsStdBytes(field) { + return "[]byte{}" } else { - g.P("XXX_extensions\t\t[]byte `protobuf:\"bytes,0,opt\" json:\"-\"`") + return goTypeName + "{}" } } - if gogoproto.HasUnrecognized(g.file.FileDescriptorProto, message.DescriptorProto) && !message.proto3() { - g.P("XXX_unrecognized\t[]byte `json:\"-\"`") + case descriptor.FieldDescriptorProto_TYPE_BOOL: + return "false" + case descriptor.FieldDescriptorProto_TYPE_STRING: + return "\"\"" + case descriptor.FieldDescriptorProto_TYPE_BYTES: + // This is only possible for oneof fields. + return "nil" + case descriptor.FieldDescriptorProto_TYPE_ENUM: + // The default default for an enum is the first value in the enum, + // not zero. + obj := g.ObjectNamed(field.GetTypeName()) + var enum *EnumDescriptor + if id, ok := obj.(*ImportedDescriptor); ok { + // The enum type has been publicly imported. + enum, _ = id.o.(*EnumDescriptor) + } else { + enum, _ = obj.(*EnumDescriptor) } + if enum == nil { + log.Printf("don't know how to generate getter for %s", field.GetName()) + return "nil" + } + if len(enum.Value) == 0 { + return "0 // empty enum" + } else { + first := enum.Value[0].GetName() + if gogoproto.IsEnumValueCustomName(enum.Value[0]) { + first = gogoproto.GetEnumValueCustomName(enum.Value[0]) + } + if gogoproto.EnabledGoEnumPrefix(enum.file.FileDescriptorProto, enum.EnumDescriptorProto) { + return g.DefaultPackageName(obj) + enum.prefix() + first + } else { + return g.DefaultPackageName(obj) + first + } + } + default: + return "0" + } +} + +// defaultConstantName builds the name of the default constant from the message +// type name and the untouched field name, e.g. "Default_MessageType_FieldName" +func (g *Generator) defaultConstantName(goMessageType, protoFieldName string) string { + return "Default_" + goMessageType + "_" + CamelCase(protoFieldName) +} + +// The different types of fields in a message and how to actually print them +// Most of the logic for generateMessage is in the methods of these types. +// +// Note that the content of the field is irrelevant, a simpleField can contain +// anything from a scalar to a group (which is just a message). +// +// Extension fields (and message sets) are however handled separately. +// +// simpleField - a field that is neiter weak nor oneof, possibly repeated +// oneofField - field containing list of subfields: +// - oneofSubField - a field within the oneof + +// msgCtx contais the context for the generator functions. +type msgCtx struct { + goName string // Go struct name of the message, e.g. MessageName + message *Descriptor // The descriptor for the message +} + +// fieldCommon contains data common to all types of fields. +type fieldCommon struct { + goName string // Go name of field, e.g. "FieldName" or "Descriptor_" + protoName string // Name of field in proto language, e.g. "field_name" or "descriptor" + getterName string // Name of the getter, e.g. "GetFieldName" or "GetDescriptor_" + goType string // The Go type as a string, e.g. "*int32" or "*OtherMessage" + tags string // The tag string/annotation for the type, e.g. `protobuf:"varint,8,opt,name=region_id,json=regionId"` + fullPath string // The full path of the field as used by Annotate etc, e.g. "4,0,2,0" + protoField *descriptor.FieldDescriptorProto // gogo. Passing in the fieldDescriptor in for gogo options. TODO rethink this, we might need a better way of getting options. +} + +// getProtoName gets the proto name of a field, e.g. "field_name" or "descriptor". +func (f *fieldCommon) getProtoName() string { + return f.protoName +} + +// getGoType returns the go type of the field as a string, e.g. "*int32". +func (f *fieldCommon) getGoType() string { + return f.goType +} + +// simpleField is not weak, not a oneof, not an extension. Can be required, optional or repeated. +type simpleField struct { + fieldCommon + protoTypeName string // Proto type name, empty if primitive, e.g. ".google.protobuf.Duration" + protoType descriptor.FieldDescriptorProto_Type // Actual type enum value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64 + deprecated string // Deprecation comment, if any, e.g. "// Deprecated: Do not use." + getterDef string // Default for getters, e.g. "nil", `""` or "Default_MessageType_FieldName" + protoDef string // Default value as defined in the proto file, e.g "yoshi" or "5" + comment string // The full comment for the field, e.g. "// Useful information" +} + +// decl prints the declaration of the field in the struct (if any). +func (f *simpleField) decl(g *Generator, mc *msgCtx) { + g.P(f.comment, Annotate(mc.message.file, f.fullPath, f.goName), "\t", f.goType, "\t`", f.tags, "`", f.deprecated) +} + +// getter prints the getter for the field. +func (f *simpleField) getter(g *Generator, mc *msgCtx) { + oneof := false + if !oneof && !gogoproto.HasGoGetters(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + return + } + if gogoproto.IsEmbed(f.protoField) || gogoproto.IsCustomType(f.protoField) { + return + } + if f.deprecated != "" { + g.P(f.deprecated) + } + g.generateGet(mc, f.protoField, f.protoType, false, f.goName, f.goType, "", "", f.fullPath, f.getterName, f.getterDef) +} + +// setter prints the setter method of the field. +func (f *simpleField) setter(g *Generator, mc *msgCtx) { + // No setter for regular fields yet +} + +// getProtoDef returns the default value explicitly stated in the proto file, e.g "yoshi" or "5". +func (f *simpleField) getProtoDef() string { + return f.protoDef +} + +// getProtoTypeName returns the protobuf type name for the field as returned by field.GetTypeName(), e.g. ".google.protobuf.Duration". +func (f *simpleField) getProtoTypeName() string { + return f.protoTypeName +} + +// getProtoType returns the *field.Type value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64. +func (f *simpleField) getProtoType() descriptor.FieldDescriptorProto_Type { + return f.protoType +} + +func (f *simpleField) getProto() *descriptor.FieldDescriptorProto { + return f.protoField +} + +// oneofSubFields are kept slize held by each oneofField. They do not appear in the top level slize of fields for the message. +type oneofSubField struct { + fieldCommon + protoTypeName string // Proto type name, empty if primitive, e.g. ".google.protobuf.Duration" + protoType descriptor.FieldDescriptorProto_Type // Actual type enum value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64 + oneofTypeName string // Type name of the enclosing struct, e.g. "MessageName_FieldName" + fieldNumber int // Actual field number, as defined in proto, e.g. 12 + getterDef string // Default for getters, e.g. "nil", `""` or "Default_MessageType_FieldName" + protoDef string // Default value as defined in the proto file, e.g "yoshi" or "5" + wireType string // gogo. We can set this on creation, instead of using a function +} + +// wireTypeName returns a textual wire type, needed for oneof sub fields in generated code. +func (f *oneofSubField) wireTypeName() string { + return f.wireType +} + +// typedNil prints a nil casted to the pointer to this field. +// - for XXX_OneofFuncs +func (f *oneofSubField) typedNil(g *Generator) { + g.P("(*", f.oneofTypeName, ")(nil),") +} + +// marshalCase prints the case matching this oneof subfield in the marshalling code. +func (f *oneofSubField) marshalCase(g *Generator, mc *msgCtx) { + // if field.OneofIndex == nil || int(*field.OneofIndex) != oi { + // continue + // } + g.P("case *", f.oneofTypeName, ":") + var pre, post string + val := "x." + f.goName // overridden for TYPE_BOOL + canFail := false // only TYPE_MESSAGE and TYPE_GROUP can fail + switch f.protoType { + case descriptor.FieldDescriptorProto_TYPE_DOUBLE: + pre = "b.EncodeFixed64(" + g.Pkg["math"] + ".Float64bits(" + post = "))" + case descriptor.FieldDescriptorProto_TYPE_FLOAT: + pre = "b.EncodeFixed32(uint64(" + g.Pkg["math"] + ".Float32bits(" + post = ")))" + case descriptor.FieldDescriptorProto_TYPE_INT64, + descriptor.FieldDescriptorProto_TYPE_UINT64: + pre, post = "b.EncodeVarint(uint64(", "))" + case descriptor.FieldDescriptorProto_TYPE_INT32, + descriptor.FieldDescriptorProto_TYPE_UINT32, + descriptor.FieldDescriptorProto_TYPE_ENUM: + pre, post = "b.EncodeVarint(uint64(", "))" + case descriptor.FieldDescriptorProto_TYPE_FIXED64, + descriptor.FieldDescriptorProto_TYPE_SFIXED64: + pre, post = "b.EncodeFixed64(uint64(", "))" + case descriptor.FieldDescriptorProto_TYPE_FIXED32, + descriptor.FieldDescriptorProto_TYPE_SFIXED32: + pre, post = "b.EncodeFixed32(uint64(", "))" + case descriptor.FieldDescriptorProto_TYPE_BOOL: + // bool needs special handling. + g.P("t := uint64(0)") + g.P("if ", val, " { t = 1 }") + val = "t" + pre, post = "b.EncodeVarint(", ")" + case descriptor.FieldDescriptorProto_TYPE_STRING: + pre, post = "b.EncodeStringBytes(", ")" + case descriptor.FieldDescriptorProto_TYPE_GROUP: + pre, post = "b.Marshal(", ")" + canFail = true + case descriptor.FieldDescriptorProto_TYPE_MESSAGE: + pre, post = "b.EncodeMessage(", ")" + canFail = true + case descriptor.FieldDescriptorProto_TYPE_BYTES: + pre, post = "b.EncodeRawBytes(", ")" + case descriptor.FieldDescriptorProto_TYPE_SINT32: + pre, post = "b.EncodeZigzag32(uint64(", "))" + case descriptor.FieldDescriptorProto_TYPE_SINT64: + pre, post = "b.EncodeZigzag64(uint64(", "))" + default: + g.Fail("unhandled oneof field type ", f.protoType.String()) + } + g.P("_ = b.EncodeVarint(", f.fieldNumber, "<<3|", g.Pkg["proto"], ".", f.wireTypeName(), ")") + if f.protoType == descriptor.FieldDescriptorProto_TYPE_BYTES && gogoproto.IsCustomType(f.protoField) { + g.P(`dAtA, err := `, val, `.Marshal()`) + g.P(`if err != nil {`) + g.In() + g.P(`return err`) g.Out() - g.P("}") + g.P(`}`) + val = "dAtA" + } else if gogoproto.IsStdType(f.protoField) { + pkg := g.useTypes() + ptr := "" + fnname := "" + if gogoproto.IsNullable(f.protoField) { + ptr = "*" + } + if gogoproto.IsStdTime(f.protoField) { + fnname = "Time" + } else if gogoproto.IsStdDuration(f.protoField) { + fnname = "Duration" + } else if gogoproto.IsStdDouble(f.protoField) { + fnname = "Double" + } else if gogoproto.IsStdFloat(f.protoField) { + fnname = "Float" + } else if gogoproto.IsStdInt64(f.protoField) { + fnname = "Int64" + } else if gogoproto.IsStdUInt64(f.protoField) { + fnname = "UInt64" + } else if gogoproto.IsStdInt32(f.protoField) { + fnname = "Int32" + } else if gogoproto.IsStdUInt32(f.protoField) { + fnname = "UInt32" + } else if gogoproto.IsStdBool(f.protoField) { + fnname = "Bool" + } else if gogoproto.IsStdString(f.protoField) { + fnname = "String" + } else if gogoproto.IsStdBytes(f.protoField) { + fnname = "Bytes" + } else { + panic("internal error") + } + g.P(`dAtA, err := `, pkg, `.Std`, fnname, `Marshal(`, ptr, val, `)`) + g.P(`if err != nil {`) + g.In() + g.P(`return err`) + g.Out() + g.P(`}`) + val = "dAtA" + pre, post = "b.EncodeRawBytes(", ")" + } + if !canFail { + g.P("_ = ", pre, val, post) } else { - // Even if the type does not need to be generated, we need to iterate - // over all its fields to be able to mark as used any imported types - // used by those fields. - for _, field := range message.Field { - if !gogoproto.IsStdTime(field) && !gogoproto.IsStdDuration(field) { - g.RecordTypeUse(field.GetTypeName()) - } - } - } - - // Update g.Buffer to list valid oneof types. - // We do this down here, after we've disambiguated the oneof type names. - // We go in reverse order of insertion point to avoid invalidating offsets. - for oi := int32(len(message.OneofDecl)); oi >= 0; oi-- { - ip := oneofInsertPoints[oi] - all := g.Buffer.Bytes() - rem := all[ip:] - g.Buffer = bytes.NewBuffer(all[:ip:ip]) // set cap so we don't scribble on rem - for _, field := range message.Field { - if field.OneofIndex == nil || *field.OneofIndex != oi { - continue - } - g.P("//\t*", oneofTypeName[field]) - } - g.Buffer.Write(rem) - } - - // Reset, String and ProtoMessage methods. - g.P("func (m *", ccTypeName, ") Reset() { *m = ", ccTypeName, "{} }") - if gogoproto.EnabledGoStringer(g.file.FileDescriptorProto, message.DescriptorProto) { - g.P("func (m *", ccTypeName, ") String() string { return ", g.Pkg["proto"], ".CompactTextString(m) }") - } - g.P("func (*", ccTypeName, ") ProtoMessage() {}") - var indexes []string - for m := message; m != nil; m = m.parent { - indexes = append([]string{strconv.Itoa(m.index)}, indexes...) - } - g.P("func (*", ccTypeName, ") Descriptor() ([]byte, []int) { return ", g.file.VarName(), ", []int{", strings.Join(indexes, ", "), "} }") - // TODO: Revisit the decision to use a XXX_WellKnownType method - // if we change proto.MessageName to work with multiple equivalents. - if message.file.GetPackage() == "google.protobuf" && wellKnownTypes[message.GetName()] { - g.P("func (*", ccTypeName, `) XXX_WellKnownType() string { return "`, message.GetName(), `" }`) - } - // Extension support methods - var hasExtensions, isMessageSet bool - if len(message.ExtensionRange) > 0 { - hasExtensions = true - // message_set_wire_format only makes sense when extensions are defined. - if opts := message.Options; opts != nil && opts.GetMessageSetWireFormat() { - isMessageSet = true - g.P() - g.P("func (m *", ccTypeName, ") Marshal() ([]byte, error) {") - g.In() - g.P("return ", g.Pkg["proto"], ".MarshalMessageSet(&m.XXX_InternalExtensions)") - g.Out() - g.P("}") - g.P("func (m *", ccTypeName, ") Unmarshal(buf []byte) error {") - g.In() - g.P("return ", g.Pkg["proto"], ".UnmarshalMessageSet(buf, &m.XXX_InternalExtensions)") - g.Out() - g.P("}") - g.P("func (m *", ccTypeName, ") MarshalJSON() ([]byte, error) {") - g.In() - g.P("return ", g.Pkg["proto"], ".MarshalMessageSetJSON(&m.XXX_InternalExtensions)") - g.Out() - g.P("}") - g.P("func (m *", ccTypeName, ") UnmarshalJSON(buf []byte) error {") - g.In() - g.P("return ", g.Pkg["proto"], ".UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions)") - g.Out() - g.P("}") - g.P("// ensure ", ccTypeName, " satisfies proto.Marshaler and proto.Unmarshaler") - g.P("var _ ", g.Pkg["proto"], ".Marshaler = (*", ccTypeName, ")(nil)") - g.P("var _ ", g.Pkg["proto"], ".Unmarshaler = (*", ccTypeName, ")(nil)") - } - - g.P() - g.P("var extRange_", ccTypeName, " = []", g.Pkg["proto"], ".ExtensionRange{") + g.P("if err := ", pre, val, post, "; err != nil {") g.In() - for _, r := range message.ExtensionRange { - end := fmt.Sprint(*r.End - 1) // make range inclusive on both ends - g.P("{Start: ", r.Start, ", End: ", end, "},") - } + g.P("return err") g.Out() g.P("}") - g.P("func (*", ccTypeName, ") ExtensionRangeArray() []", g.Pkg["proto"], ".ExtensionRange {") + } + if f.protoType == descriptor.FieldDescriptorProto_TYPE_GROUP { + g.P("_ = b.EncodeVarint(", f.fieldNumber, "<<3|", g.Pkg["proto"], ".WireEndGroup)") + } +} + +// unmarshalCase prints the case matching this oneof subfield in the unmarshalling code. +func (f *oneofSubField) unmarshalCase(g *Generator, origOneofName string, oneofName string, mc *msgCtx) { + // if field.OneofIndex == nil { + // continue + // } + g.P("case ", f.fieldNumber, ": // ", origOneofName, ".", f.getProtoName()) + g.P("if wire != ", g.Pkg["proto"], ".", f.wireTypeName(), " {") + g.P("return true, ", g.Pkg["proto"], ".ErrInternalBadWireType") + g.P("}") + lhs := "x, err" // overridden for TYPE_MESSAGE and TYPE_GROUP + var dec, cast, cast2 string + switch f.protoType { + case descriptor.FieldDescriptorProto_TYPE_DOUBLE: + dec, cast = "b.DecodeFixed64()", g.Pkg["math"]+".Float64frombits" + case descriptor.FieldDescriptorProto_TYPE_FLOAT: + dec, cast, cast2 = "b.DecodeFixed32()", "uint32", g.Pkg["math"]+".Float32frombits" + case descriptor.FieldDescriptorProto_TYPE_INT64: + dec, cast = "b.DecodeVarint()", "int64" + case descriptor.FieldDescriptorProto_TYPE_UINT64: + dec = "b.DecodeVarint()" + case descriptor.FieldDescriptorProto_TYPE_INT32: + dec, cast = "b.DecodeVarint()", "int32" + case descriptor.FieldDescriptorProto_TYPE_FIXED64: + dec = "b.DecodeFixed64()" + case descriptor.FieldDescriptorProto_TYPE_FIXED32: + dec, cast = "b.DecodeFixed32()", "uint32" + case descriptor.FieldDescriptorProto_TYPE_BOOL: + dec = "b.DecodeVarint()" + // handled specially below + case descriptor.FieldDescriptorProto_TYPE_STRING: + dec = "b.DecodeStringBytes()" + case descriptor.FieldDescriptorProto_TYPE_GROUP: + g.P("msg := new(", f.goType[1:], ")") // drop star + lhs = "err" + dec = "b.DecodeGroup(msg)" + // handled specially below + case descriptor.FieldDescriptorProto_TYPE_MESSAGE: + if gogoproto.IsStdType(f.protoField) { + dec = "b.DecodeRawBytes(true)" + } else { + g.P("msg := new(", f.goType[1:], ")") // drop star + lhs = "err" + dec = "b.DecodeMessage(msg)" + } + // handled specially below + case descriptor.FieldDescriptorProto_TYPE_BYTES: + dec = "b.DecodeRawBytes(true)" + case descriptor.FieldDescriptorProto_TYPE_UINT32: + dec, cast = "b.DecodeVarint()", "uint32" + case descriptor.FieldDescriptorProto_TYPE_ENUM: + dec, cast = "b.DecodeVarint()", f.goType + case descriptor.FieldDescriptorProto_TYPE_SFIXED32: + dec, cast = "b.DecodeFixed32()", "int32" + case descriptor.FieldDescriptorProto_TYPE_SFIXED64: + dec, cast = "b.DecodeFixed64()", "int64" + case descriptor.FieldDescriptorProto_TYPE_SINT32: + dec, cast = "b.DecodeZigzag32()", "int32" + case descriptor.FieldDescriptorProto_TYPE_SINT64: + dec, cast = "b.DecodeZigzag64()", "int64" + default: + g.Fail("unhandled oneof field type ", f.protoType.String()) + } + g.P(lhs, " := ", dec) + val := "x" + if f.protoType == descriptor.FieldDescriptorProto_TYPE_BYTES && gogoproto.IsCustomType(f.protoField) { + g.P(`if err != nil {`) g.In() - g.P("return extRange_", ccTypeName) + g.P(`return true, err`) g.Out() - g.P("}") - if !gogoproto.HasExtensionsMap(g.file.FileDescriptorProto, message.DescriptorProto) { - g.P("func (m *", ccTypeName, ") GetExtensions() *[]byte {") - g.In() - g.P("if m.XXX_extensions == nil {") - g.In() - g.P("m.XXX_extensions = make([]byte, 0)") - g.Out() - g.P("}") - g.P("return &m.XXX_extensions") - g.Out() - g.P("}") + g.P(`}`) + _, ctyp, err := GetCustomType(f.protoField) + if err != nil { + panic(err) + } + g.P(`var cc `, ctyp) + g.P(`c := &cc`) + g.P(`err = c.Unmarshal(`, val, `)`) + val = "*c" + } else if gogoproto.IsStdType(f.protoField) { + var stdtype string + var fnname string + if gogoproto.IsStdTime(f.protoField) { + stdtype = "time.Time" + fnname = "Time" + } else if gogoproto.IsStdDuration(f.protoField) { + stdtype = "time.Duration" + fnname = "Duration" + } else if gogoproto.IsStdDouble(f.protoField) { + stdtype = "float64" + fnname = "Double" + } else if gogoproto.IsStdFloat(f.protoField) { + stdtype = "float32" + fnname = "Float" + } else if gogoproto.IsStdInt64(f.protoField) { + stdtype = "int64" + fnname = "Int64" + } else if gogoproto.IsStdUInt64(f.protoField) { + stdtype = "uint64" + fnname = "UInt64" + } else if gogoproto.IsStdInt32(f.protoField) { + stdtype = "int32" + fnname = "Int32" + } else if gogoproto.IsStdUInt32(f.protoField) { + stdtype = "uint32" + fnname = "UInt32" + } else if gogoproto.IsStdBool(f.protoField) { + stdtype = "bool" + fnname = "Bool" + } else if gogoproto.IsStdString(f.protoField) { + stdtype = "string" + fnname = "String" + } else if gogoproto.IsStdBytes(f.protoField) { + stdtype = "[]byte" + fnname = "Bytes" + } else { + panic("internal error") + } + + pkg := g.useTypes() + g.P(`if err != nil {`) + g.In() + g.P(`return true, err`) + g.Out() + g.P(`}`) + g.P(`c := new(`, stdtype, `)`) + g.P(`if err2 := `, pkg, `.Std`, fnname, `Unmarshal(c, `, val, `); err2 != nil {`) + g.In() + g.P(`return true, err`) + g.Out() + g.P(`}`) + val = "c" + } + if cast != "" { + val = cast + "(" + val + ")" + } + if cast2 != "" { + val = cast2 + "(" + val + ")" + } + switch f.protoType { + case descriptor.FieldDescriptorProto_TYPE_BOOL: + val += " != 0" + case descriptor.FieldDescriptorProto_TYPE_GROUP, + descriptor.FieldDescriptorProto_TYPE_MESSAGE: + if !gogoproto.IsStdType(f.protoField) { + val = "msg" } } + if gogoproto.IsCastType(f.protoField) { + _, typ, err := getCastType(f.protoField) + if err != nil { + g.Fail(err.Error()) + } + val = typ + "(" + val + ")" + } + g.P("m.", oneofName, " = &", f.oneofTypeName, "{", val, "}") + g.P("return true, err") +} - // Default constants - defNames := make(map[*descriptor.FieldDescriptorProto]string) - for _, field := range message.Field { - def := field.GetDefaultValue() +// sizerCase prints the case matching this oneof subfield in the sizer code. +func (f *oneofSubField) sizerCase(g *Generator) { + // if field.OneofIndex == nil || int(*field.OneofIndex) != oi { + // continue + // } + g.P("case *", f.oneofTypeName, ":") + val := "x." + f.goName + var varint, fixed string + switch f.protoType { + case descriptor.FieldDescriptorProto_TYPE_DOUBLE: + fixed = "8" + case descriptor.FieldDescriptorProto_TYPE_FLOAT: + fixed = "4" + case descriptor.FieldDescriptorProto_TYPE_INT64, + descriptor.FieldDescriptorProto_TYPE_UINT64, + descriptor.FieldDescriptorProto_TYPE_INT32, + descriptor.FieldDescriptorProto_TYPE_UINT32, + descriptor.FieldDescriptorProto_TYPE_ENUM: + varint = val + case descriptor.FieldDescriptorProto_TYPE_FIXED64, + descriptor.FieldDescriptorProto_TYPE_SFIXED64: + fixed = "8" + case descriptor.FieldDescriptorProto_TYPE_FIXED32, + descriptor.FieldDescriptorProto_TYPE_SFIXED32: + fixed = "4" + case descriptor.FieldDescriptorProto_TYPE_BOOL: + fixed = "1" + case descriptor.FieldDescriptorProto_TYPE_STRING: + fixed = "len(" + val + ")" + varint = fixed + case descriptor.FieldDescriptorProto_TYPE_GROUP: + fixed = g.Pkg["proto"] + ".Size(" + val + ")" + case descriptor.FieldDescriptorProto_TYPE_MESSAGE: + if gogoproto.IsStdType(f.protoField) { + pkg := g.useTypes() + if gogoproto.IsNullable(f.protoField) { + val = "*" + val + } + if gogoproto.IsStdTime(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdTime(", val, ")") + } else if gogoproto.IsStdDuration(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdDuration(", val, ")") + } else if gogoproto.IsStdDouble(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdDouble(", val, ")") + } else if gogoproto.IsStdFloat(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdFloat(", val, ")") + } else if gogoproto.IsStdInt64(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdInt64(", val, ")") + } else if gogoproto.IsStdUInt64(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdUInt64(", val, ")") + } else if gogoproto.IsStdInt32(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdInt32(", val, ")") + } else if gogoproto.IsStdUInt32(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdUInt32(", val, ")") + } else if gogoproto.IsStdBool(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdBool(", val, ")") + } else if gogoproto.IsStdString(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdString(", val, ")") + } else if gogoproto.IsStdBytes(f.protoField) { + g.P("s := ", pkg, ".SizeOfStdBytes(", val, ")") + } else { + panic("internal error") + } + } else { + g.P("s := ", g.Pkg["proto"], ".Size(", val, ")") + } + fixed = "s" + varint = fixed + case descriptor.FieldDescriptorProto_TYPE_BYTES: + if gogoproto.IsCustomType(f.protoField) { + fixed = val + ".Size()" + } else { + fixed = "len(" + val + ")" + } + varint = fixed + case descriptor.FieldDescriptorProto_TYPE_SINT32: + varint = "(uint32(" + val + ") << 1) ^ uint32((int32(" + val + ") >> 31))" + case descriptor.FieldDescriptorProto_TYPE_SINT64: + varint = "uint64(" + val + " << 1) ^ uint64((int64(" + val + ") >> 63))" + default: + g.Fail("unhandled oneof field type ", f.protoType.String()) + } + // Tag and wire varint is known statically, + // so don't generate code for that part of the size computation. + tagAndWireSize := proto.SizeVarint(uint64(f.fieldNumber << 3)) // wire doesn't affect varint size + g.P("n += ", tagAndWireSize, " // tag and wire") + if varint != "" { + g.P("n += ", g.Pkg["proto"], ".SizeVarint(uint64(", varint, "))") + } + if fixed != "" { + g.P("n += ", fixed) + } + if f.protoType == descriptor.FieldDescriptorProto_TYPE_GROUP { + g.P("n += ", tagAndWireSize, " // tag and wire") + } +} + +// getProtoDef returns the default value explicitly stated in the proto file, e.g "yoshi" or "5". +func (f *oneofSubField) getProtoDef() string { + return f.protoDef +} + +// getProtoTypeName returns the protobuf type name for the field as returned by field.GetTypeName(), e.g. ".google.protobuf.Duration". +func (f *oneofSubField) getProtoTypeName() string { + return f.protoTypeName +} + +// getProtoType returns the *field.Type value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64. +func (f *oneofSubField) getProtoType() descriptor.FieldDescriptorProto_Type { + return f.protoType +} + +func (f *oneofSubField) getProto() *descriptor.FieldDescriptorProto { + return f.protoField +} + +// oneofField represents the oneof on top level. +// The alternative fields within the oneof are represented by oneofSubField. +type oneofField struct { + fieldCommon + subFields []*oneofSubField // All the possible oneof fields + comment string // The full comment for the field, e.g. "// Types that are valid to be assigned to MyOneof:\n\\" +} + +// decl prints the declaration of the field in the struct (if any). +func (f *oneofField) decl(g *Generator, mc *msgCtx) { + comment := f.comment + for _, sf := range f.subFields { + comment += "//\t*" + sf.oneofTypeName + "\n" + } + g.P(comment, Annotate(mc.message.file, f.fullPath, f.goName), " ", f.goType, " `", f.tags, "`") +} + +// getter for a oneof field will print additional discriminators and interfaces for the oneof, +// also it prints all the getters for the sub fields. +func (f *oneofField) getter(g *Generator, mc *msgCtx) { + oneof := true + if !oneof && !gogoproto.HasGoGetters(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + return + } + + for _, of := range f.subFields { + if gogoproto.IsEmbed(of.protoField) || gogoproto.IsCustomType(of.protoField) { + continue + } + g.generateGet(mc, of.protoField, of.protoType, true, of.goName, of.goType, f.goName, of.oneofTypeName, of.fullPath, of.getterName, of.getterDef) + } +} + +// setter prints the setter method of the field. +func (f *oneofField) setter(g *Generator, mc *msgCtx) { + // No setters for oneof yet +} + +// topLevelField interface implemented by all types of fields on the top level (not oneofSubField). +type topLevelField interface { + decl(g *Generator, mc *msgCtx) // print declaration within the struct + getter(g *Generator, mc *msgCtx) // print getter + setter(g *Generator, mc *msgCtx) // print setter if applicable +} + +// defField interface implemented by all types of fields that can have defaults (not oneofField, but instead oneofSubField). +type defField interface { + getProtoDef() string // default value explicitly stated in the proto file, e.g "yoshi" or "5" + getProtoName() string // proto name of a field, e.g. "field_name" or "descriptor" + getGoType() string // go type of the field as a string, e.g. "*int32" + getProtoTypeName() string // protobuf type name for the field, e.g. ".google.protobuf.Duration" + getProtoType() descriptor.FieldDescriptorProto_Type // *field.Type value, e.g. descriptor.FieldDescriptorProto_TYPE_FIXED64 + getProto() *descriptor.FieldDescriptorProto +} + +// generateDefaultConstants adds constants for default values if needed, which is only if the default value is. +// explicit in the proto. +func (g *Generator) generateDefaultConstants(mc *msgCtx, topLevelFields []topLevelField) { + // Collect fields that can have defaults + dFields := []defField{} + for _, pf := range topLevelFields { + if f, ok := pf.(*oneofField); ok { + for _, osf := range f.subFields { + dFields = append(dFields, osf) + } + continue + } + dFields = append(dFields, pf.(defField)) + } + for _, df := range dFields { + def := df.getProtoDef() if def == "" { continue } - if !gogoproto.IsNullable(field) { - g.Fail("illegal default value: ", field.GetName(), " in ", message.GetName(), " is not nullable and is thus not allowed to have a default value") + if !gogoproto.IsNullable(df.getProto()) { + g.Fail("illegal default value: ", df.getProtoName(), " in ", mc.message.GetName(), " is not nullable and is thus not allowed to have a default value") } - fieldname := "Default_" + ccTypeName + "_" + CamelCase(*field.Name) - defNames[field] = fieldname - typename, _ := g.GoType(message, field) + fieldname := g.defaultConstantName(mc.goName, df.getProtoName()) + typename := df.getGoType() if typename[0] == '*' { typename = typename[1:] } @@ -2355,13 +2737,13 @@ func (g *Generator) generateMessage(message *Descriptor) { case "nan": def = "math.NaN()" } - if *field.Type == descriptor.FieldDescriptorProto_TYPE_FLOAT { + if df.getProtoType() == descriptor.FieldDescriptorProto_TYPE_FLOAT { def = "float32(" + def + ")" } kind = "var " - case *field.Type == descriptor.FieldDescriptorProto_TYPE_ENUM: + case df.getProtoType() == descriptor.FieldDescriptorProto_TYPE_ENUM: // Must be an enum. Need to construct the prefixed name. - obj := g.ObjectNamed(field.GetTypeName()) + obj := g.ObjectNamed(df.getProtoTypeName()) var enum *EnumDescriptor if id, ok := obj.(*ImportedDescriptor); ok { // The enum type has been publicly imported. @@ -2387,664 +2769,714 @@ func (g *Generator) generateMessage(message *Descriptor) { def = gogoproto.GetEnumValueCustomName(enumValue) } } else { - g.Fail(fmt.Sprintf("could not resolve default enum value for %v.%v", - g.DefaultPackageName(obj), def)) - + g.Fail(fmt.Sprintf("could not resolve default enum value for %v.%v", g.DefaultPackageName(obj), def)) } - if gogoproto.EnabledGoEnumPrefix(enum.file, enum.EnumDescriptorProto) { + if gogoproto.EnabledGoEnumPrefix(enum.file.FileDescriptorProto, enum.EnumDescriptorProto) { def = g.DefaultPackageName(obj) + enum.prefix() + def } else { def = g.DefaultPackageName(obj) + def } } g.P(kind, fieldname, " ", typename, " = ", def) - g.file.addExport(message, constOrVarSymbol{fieldname, kind, ""}) + g.file.addExport(mc.message, constOrVarSymbol{fieldname, kind, ""}) } g.P() +} - // Oneof per-field types, discriminants and getters. - if message.allowOneof() { - // Generate unexported named types for the discriminant interfaces. - // We shouldn't have to do this, but there was (~19 Aug 2015) a compiler/linker bug - // that was triggered by using anonymous interfaces here. - // TODO: Revisit this and consider reverting back to anonymous interfaces. - for oi := range message.OneofDecl { - dname := oneofDisc[int32(oi)] - g.P("type ", dname, " interface {") - g.In() - g.P(dname, "()") - if gogoproto.HasEqual(g.file.FileDescriptorProto, message.DescriptorProto) { - g.P(`Equal(interface{}) bool`) - } - if gogoproto.HasVerboseEqual(g.file.FileDescriptorProto, message.DescriptorProto) { - g.P(`VerboseEqual(interface{}) error`) - } - if gogoproto.IsMarshaler(g.file.FileDescriptorProto, message.DescriptorProto) || - gogoproto.IsUnsafeMarshaler(g.file.FileDescriptorProto, message.DescriptorProto) { - g.P(`MarshalTo([]byte) (int, error)`) - } - if gogoproto.IsSizer(g.file.FileDescriptorProto, message.DescriptorProto) { - g.P(`Size() int`) - } - if gogoproto.IsProtoSizer(g.file.FileDescriptorProto, message.DescriptorProto) { - g.P(`ProtoSize() int`) - } - g.Out() - g.P("}") - } - g.P() - for _, field := range message.Field { - if field.OneofIndex == nil { - continue - } - _, wiretype := g.GoType(message, field) - tag := "protobuf:" + g.goTag(message, field, wiretype) - g.P("type ", oneofTypeName[field], " struct{ ", fieldNames[field], " ", fieldTypes[field], " `", tag, "` }") - if !gogoproto.IsStdTime(field) && !gogoproto.IsStdDuration(field) { - g.RecordTypeUse(field.GetTypeName()) - } - } - g.P() - for _, field := range message.Field { - if field.OneofIndex == nil { - continue - } - g.P("func (*", oneofTypeName[field], ") ", oneofDisc[*field.OneofIndex], "() {}") - } - g.P() - for oi := range message.OneofDecl { - fname := oneofFieldName[int32(oi)] - g.P("func (m *", ccTypeName, ") Get", fname, "() ", oneofDisc[int32(oi)], " {") - g.P("if m != nil { return m.", fname, " }") - g.P("return nil") - g.P("}") - } - g.P() +// generateGet generates the getter for both the simpleField and oneofSubField. +// We did not want to duplicate the code since it is quite intricate so we came +// up with this ugly method. At least the logic is in one place. This can be reworked. +func (g *Generator) generateGet(mc *msgCtx, protoField *descriptor.FieldDescriptorProto, protoType descriptor.FieldDescriptorProto_Type, + oneof bool, fname, tname, uname, oneoftname, fullpath, gname, def string) { + star := "" + if (protoType != descriptor.FieldDescriptorProto_TYPE_MESSAGE) && + (protoType != descriptor.FieldDescriptorProto_TYPE_GROUP) && + needsStar(protoField, g.file.proto3, mc.message != nil && mc.message.allowOneof()) && tname[0] == '*' { + tname = tname[1:] + star = "*" } - - // Field getters - var getters []getterSymbol - for _, field := range message.Field { - oneof := field.OneofIndex != nil && message.allowOneof() - if !oneof && !gogoproto.HasGoGetters(g.file.FileDescriptorProto, message.DescriptorProto) { - continue - } - if gogoproto.IsEmbed(field) || gogoproto.IsCustomType(field) { - continue - } - fname := fieldNames[field] - typename, _ := g.GoType(message, field) - if t, ok := mapFieldTypes[field]; ok { - typename = t - } - mname := fieldGetterNames[field] - star := "" - if (*field.Type != descriptor.FieldDescriptorProto_TYPE_MESSAGE) && - (*field.Type != descriptor.FieldDescriptorProto_TYPE_GROUP) && - needsStar(field, g.file.proto3, message != nil && message.allowOneof()) && typename[0] == '*' { - typename = typename[1:] - star = "*" - } - - // Only export getter symbols for basic types, - // and for messages and enums in the same package. - // Groups are not exported. - // Foreign types can't be hoisted through a public import because - // the importer may not already be importing the defining .proto. - // As an example, imagine we have an import tree like this: - // A.proto -> B.proto -> C.proto - // If A publicly imports B, we need to generate the getters from B in A's output, - // but if one such getter returns something from C then we cannot do that - // because A is not importing C already. - var getter, genType bool - switch *field.Type { - case descriptor.FieldDescriptorProto_TYPE_GROUP: - getter = false - case descriptor.FieldDescriptorProto_TYPE_MESSAGE, descriptor.FieldDescriptorProto_TYPE_ENUM: - // Only export getter if its return type is in this package. - getter = g.ObjectNamed(field.GetTypeName()).PackageName() == message.PackageName() - genType = true - default: - getter = true - } - if getter { - getters = append(getters, getterSymbol{ - name: mname, - typ: typename, - typeName: field.GetTypeName(), - genType: genType, - }) - } - - g.P("func (m *", ccTypeName, ") "+mname+"() "+typename+" {") + typeDefaultIsNil := false // whether this field type's default value is a literal nil unless specified + switch protoType { + case descriptor.FieldDescriptorProto_TYPE_BYTES: + typeDefaultIsNil = def == "nil" + case descriptor.FieldDescriptorProto_TYPE_GROUP, descriptor.FieldDescriptorProto_TYPE_MESSAGE: + typeDefaultIsNil = gogoproto.IsNullable(protoField) + } + if isRepeated(protoField) { + typeDefaultIsNil = true + } + g.P("func (m *", mc.goName, ") ", Annotate(mc.message.file, fullpath, gname), "() "+tname+" {") + if !oneof && typeDefaultIsNil { + // A bytes field with no explicit default needs less generated code, + // as does a message or group field, or a repeated field. + g.P("if m != nil {") g.In() - def, hasDef := defNames[field] - typeDefaultIsNil := false // whether this field type's default value is a literal nil unless specified - switch *field.Type { - case descriptor.FieldDescriptorProto_TYPE_BYTES: - typeDefaultIsNil = !hasDef - case descriptor.FieldDescriptorProto_TYPE_GROUP, descriptor.FieldDescriptorProto_TYPE_MESSAGE: - typeDefaultIsNil = gogoproto.IsNullable(field) - } - if isRepeated(field) { - typeDefaultIsNil = true - } - if typeDefaultIsNil && !oneof { - // A bytes field with no explicit default needs less generated code, - // as does a message or group field, or a repeated field. - g.P("if m != nil {") - g.In() - g.P("return m." + fname) - g.Out() - g.P("}") - g.P("return nil") - g.Out() - g.P("}") - g.P() - continue - } - if !gogoproto.IsNullable(field) { - g.P("if m != nil {") - g.In() - g.P("return m." + fname) - g.Out() - g.P("}") - } else if !oneof { - if message.proto3() { - g.P("if m != nil {") - } else { - g.P("if m != nil && m." + fname + " != nil {") - } - g.In() - g.P("return " + star + "m." + fname) - g.Out() - g.P("}") - } else { - uname := oneofFieldName[*field.OneofIndex] - tname := oneofTypeName[field] - g.P("if x, ok := m.Get", uname, "().(*", tname, "); ok {") - g.P("return x.", fname) - g.P("}") - } - if hasDef { - if *field.Type != descriptor.FieldDescriptorProto_TYPE_BYTES { - g.P("return " + def) - } else { - // The default is a []byte var. - // Make a copy when returning it to be safe. - g.P("return append([]byte(nil), ", def, "...)") - } - } else { - switch *field.Type { - case descriptor.FieldDescriptorProto_TYPE_GROUP, - descriptor.FieldDescriptorProto_TYPE_MESSAGE: - if field.OneofIndex != nil { - g.P(`return nil`) - } else { - goTyp, _ := g.GoType(message, field) - goTypName := GoTypeToName(goTyp) - if !gogoproto.IsNullable(field) && gogoproto.IsStdDuration(field) { - g.P("return 0") - } else { - g.P("return ", goTypName, "{}") - } - } - case descriptor.FieldDescriptorProto_TYPE_BOOL: - g.P("return false") - case descriptor.FieldDescriptorProto_TYPE_STRING: - g.P(`return ""`) - case descriptor.FieldDescriptorProto_TYPE_BYTES: - // This is only possible for oneof fields. - g.P("return nil") - case descriptor.FieldDescriptorProto_TYPE_ENUM: - // The default default for an enum is the first value in the enum, - // not zero. - obj := g.ObjectNamed(field.GetTypeName()) - var enum *EnumDescriptor - if id, ok := obj.(*ImportedDescriptor); ok { - // The enum type has been publicly imported. - enum, _ = id.o.(*EnumDescriptor) - } else { - enum, _ = obj.(*EnumDescriptor) - } - if enum == nil { - log.Printf("don't know how to generate getter for %s", field.GetName()) - continue - } - if len(enum.Value) == 0 { - g.P("return 0 // empty enum") - } else { - first := enum.Value[0].GetName() - if gogoproto.IsEnumValueCustomName(enum.Value[0]) { - first = gogoproto.GetEnumValueCustomName(enum.Value[0]) - } - - if gogoproto.EnabledGoEnumPrefix(enum.file, enum.EnumDescriptorProto) { - g.P("return ", g.DefaultPackageName(obj)+enum.prefix()+first) - } else { - g.P("return ", g.DefaultPackageName(obj)+first) - } - } - default: - g.P("return 0") - } - } + g.P("return m." + fname) + g.Out() + g.P("}") + g.P("return nil") g.Out() g.P("}") g.P() + return } - - if !message.group { - ms := &messageSymbol{ - sym: ccTypeName, - hasExtensions: hasExtensions, - isMessageSet: isMessageSet, - hasOneof: len(message.OneofDecl) > 0, - getters: getters, + if !gogoproto.IsNullable(protoField) { + g.P("if m != nil {") + g.In() + g.P("return m." + fname) + g.Out() + g.P("}") + } else if !oneof { + if mc.message.proto3() { + g.P("if m != nil {") + } else { + g.P("if m != nil && m." + fname + " != nil {") } - g.file.addExport(message, ms) + g.In() + g.P("return " + star + "m." + fname) + g.Out() + g.P("}") + } else { + uname := uname + tname := oneoftname + g.P("if x, ok := m.Get", uname, "().(*", tname, "); ok {") + g.P("return x.", fname) + g.P("}") } + g.P("return ", def) + g.Out() + g.P("}") + g.P() +} - // Oneof functions - if len(message.OneofDecl) > 0 && message.allowOneof() { - fieldWire := make(map[*descriptor.FieldDescriptorProto]string) - - // method - enc := "_" + ccTypeName + "_OneofMarshaler" - dec := "_" + ccTypeName + "_OneofUnmarshaler" - size := "_" + ccTypeName + "_OneofSizer" - encSig := "(msg " + g.Pkg["proto"] + ".Message, b *" + g.Pkg["proto"] + ".Buffer) error" - decSig := "(msg " + g.Pkg["proto"] + ".Message, tag, wire int, b *" + g.Pkg["proto"] + ".Buffer) (bool, error)" - sizeSig := "(msg " + g.Pkg["proto"] + ".Message) (n int)" - - g.P("// XXX_OneofFuncs is for the internal use of the proto package.") - g.P("func (*", ccTypeName, ") XXX_OneofFuncs() (func", encSig, ", func", decSig, ", func", sizeSig, ", []interface{}) {") - g.P("return ", enc, ", ", dec, ", ", size, ", []interface{}{") - for _, field := range message.Field { - if field.OneofIndex == nil { - continue +// generateInternalStructFields just adds the XXX_ fields to the message struct. +func (g *Generator) generateInternalStructFields(mc *msgCtx, topLevelFields []topLevelField) { + if gogoproto.HasUnkeyed(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P("XXX_NoUnkeyedLiteral\tstruct{} `json:\"-\"`") // prevent unkeyed struct literals + } + if len(mc.message.ExtensionRange) > 0 { + if gogoproto.HasExtensionsMap(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + messageset := "" + if opts := mc.message.Options; opts != nil && opts.GetMessageSetWireFormat() { + messageset = "protobuf_messageset:\"1\" " } - g.P("(*", oneofTypeName[field], ")(nil),") + g.P(g.Pkg["proto"], ".XXX_InternalExtensions `", messageset, "json:\"-\"`") + } else { + g.P("XXX_extensions\t\t[]byte `protobuf:\"bytes,0,opt\" json:\"-\"`") } - g.P("}") - g.P("}") - g.P() + } + if gogoproto.HasUnrecognized(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P("XXX_unrecognized\t[]byte `json:\"-\"`") + } + if gogoproto.HasSizecache(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P("XXX_sizecache\tint32 `json:\"-\"`") + } +} - // marshaler - g.P("func ", enc, encSig, " {") - g.P("m := msg.(*", ccTypeName, ")") - for oi, odp := range message.OneofDecl { - g.P("// ", odp.GetName()) - fname := oneofFieldName[int32(oi)] - g.P("switch x := m.", fname, ".(type) {") - for _, field := range message.Field { - if field.OneofIndex == nil || int(*field.OneofIndex) != oi { - continue - } - g.P("case *", oneofTypeName[field], ":") - var wire, pre, post string - val := "x." + fieldNames[field] // overridden for TYPE_BOOL - canFail := false // only TYPE_MESSAGE and TYPE_GROUP can fail - switch *field.Type { - case descriptor.FieldDescriptorProto_TYPE_DOUBLE: - wire = "WireFixed64" - pre = "b.EncodeFixed64(" + g.Pkg["math"] + ".Float64bits(" - post = "))" - case descriptor.FieldDescriptorProto_TYPE_FLOAT: - wire = "WireFixed32" - pre = "b.EncodeFixed32(uint64(" + g.Pkg["math"] + ".Float32bits(" - post = ")))" - case descriptor.FieldDescriptorProto_TYPE_INT64, - descriptor.FieldDescriptorProto_TYPE_UINT64: - wire = "WireVarint" - pre, post = "b.EncodeVarint(uint64(", "))" - case descriptor.FieldDescriptorProto_TYPE_INT32, - descriptor.FieldDescriptorProto_TYPE_UINT32, - descriptor.FieldDescriptorProto_TYPE_ENUM: - wire = "WireVarint" - pre, post = "b.EncodeVarint(uint64(", "))" - case descriptor.FieldDescriptorProto_TYPE_FIXED64, - descriptor.FieldDescriptorProto_TYPE_SFIXED64: - wire = "WireFixed64" - pre, post = "b.EncodeFixed64(uint64(", "))" - case descriptor.FieldDescriptorProto_TYPE_FIXED32, - descriptor.FieldDescriptorProto_TYPE_SFIXED32: - wire = "WireFixed32" - pre, post = "b.EncodeFixed32(uint64(", "))" - case descriptor.FieldDescriptorProto_TYPE_BOOL: - // bool needs special handling. - g.P("t := uint64(0)") - g.P("if ", val, " { t = 1 }") - val = "t" - wire = "WireVarint" - pre, post = "b.EncodeVarint(", ")" - case descriptor.FieldDescriptorProto_TYPE_STRING: - wire = "WireBytes" - pre, post = "b.EncodeStringBytes(", ")" - case descriptor.FieldDescriptorProto_TYPE_GROUP: - wire = "WireStartGroup" - pre, post = "b.Marshal(", ")" - canFail = true - case descriptor.FieldDescriptorProto_TYPE_MESSAGE: - wire = "WireBytes" - pre, post = "b.EncodeMessage(", ")" - canFail = true - case descriptor.FieldDescriptorProto_TYPE_BYTES: - wire = "WireBytes" - pre, post = "b.EncodeRawBytes(", ")" - case descriptor.FieldDescriptorProto_TYPE_SINT32: - wire = "WireVarint" - pre, post = "b.EncodeZigzag32(uint64(", "))" - case descriptor.FieldDescriptorProto_TYPE_SINT64: - wire = "WireVarint" - pre, post = "b.EncodeZigzag64(uint64(", "))" - default: - g.Fail("unhandled oneof field type ", field.Type.String()) - } - fieldWire[field] = wire - g.P("_ = b.EncodeVarint(", field.Number, "<<3|", g.Pkg["proto"], ".", wire, ")") - if *field.Type == descriptor.FieldDescriptorProto_TYPE_BYTES && gogoproto.IsCustomType(field) { - g.P(`dAtA, err := `, val, `.Marshal()`) - g.P(`if err != nil {`) - g.In() - g.P(`return err`) - g.Out() - g.P(`}`) - val = "dAtA" - } else if gogoproto.IsStdTime(field) { - pkg := g.useTypes() - if gogoproto.IsNullable(field) { - g.P(`dAtA, err := `, pkg, `.StdTimeMarshal(*`, val, `)`) - } else { - g.P(`dAtA, err := `, pkg, `.StdTimeMarshal(`, val, `)`) - } - g.P(`if err != nil {`) - g.In() - g.P(`return err`) - g.Out() - g.P(`}`) - val = "dAtA" - pre, post = "b.EncodeRawBytes(", ")" - } else if gogoproto.IsStdDuration(field) { - pkg := g.useTypes() - if gogoproto.IsNullable(field) { - g.P(`dAtA, err := `, pkg, `.StdDurationMarshal(*`, val, `)`) - } else { - g.P(`dAtA, err := `, pkg, `.StdDurationMarshal(`, val, `)`) - } - g.P(`if err != nil {`) - g.In() - g.P(`return err`) - g.Out() - g.P(`}`) - val = "dAtA" - pre, post = "b.EncodeRawBytes(", ")" - } - if !canFail { - g.P("_ = ", pre, val, post) - } else { - g.P("if err := ", pre, val, post, "; err != nil {") - g.In() - g.P("return err") - g.Out() - g.P("}") - } - if *field.Type == descriptor.FieldDescriptorProto_TYPE_GROUP { - g.P("_ = b.EncodeVarint(", field.Number, "<<3|", g.Pkg["proto"], ".WireEndGroup)") - } - } - g.P("case nil:") - g.P("default: return ", g.Pkg["fmt"], `.Errorf("`, ccTypeName, ".", fname, ` has unexpected type %T", x)`) - g.P("}") +// generateOneofFuncs adds all the utility functions for oneof, including marshalling, unmarshalling and sizer. +func (g *Generator) generateOneofFuncs(mc *msgCtx, topLevelFields []topLevelField) { + ofields := []*oneofField{} + for _, f := range topLevelFields { + if o, ok := f.(*oneofField); ok { + ofields = append(ofields, o) } + } + if len(ofields) == 0 { + return + } + enc := "_" + mc.goName + "_OneofMarshaler" + dec := "_" + mc.goName + "_OneofUnmarshaler" + size := "_" + mc.goName + "_OneofSizer" + encSig := "(msg " + g.Pkg["proto"] + ".Message, b *" + g.Pkg["proto"] + ".Buffer) error" + decSig := "(msg " + g.Pkg["proto"] + ".Message, tag, wire int, b *" + g.Pkg["proto"] + ".Buffer) (bool, error)" + sizeSig := "(msg " + g.Pkg["proto"] + ".Message) (n int)" + + // OneofFuncs + g.P("// XXX_OneofFuncs is for the internal use of the proto package.") + g.P("func (*", mc.goName, ") XXX_OneofFuncs() (func", encSig, ", func", decSig, ", func", sizeSig, ", []interface{}) {") + g.P("return ", enc, ", ", dec, ", ", size, ", []interface{}{") + for _, of := range ofields { + for _, sf := range of.subFields { + sf.typedNil(g) + } + } + g.P("}") + g.P("}") + g.P() + + // marshaler + g.P("func ", enc, encSig, " {") + g.P("m := msg.(*", mc.goName, ")") + for _, of := range ofields { + g.P("// ", of.getProtoName()) + g.P("switch x := m.", of.goName, ".(type) {") + for _, sf := range of.subFields { + sf.marshalCase(g, mc) + } + g.P("case nil:") + g.P("default: return ", g.Pkg["fmt"], `.Errorf("`, mc.goName, ".", of.goName, ` has unexpected type %T", x)`) + g.P("}") + } + g.P("return nil") + g.P("}") + g.P() + + // unmarshaler + g.P("func ", dec, decSig, " {") + g.P("m := msg.(*", mc.goName, ")") + g.P("switch tag {") + for _, of := range ofields { + for _, sf := range of.subFields { + sf.unmarshalCase(g, of.getProtoName(), of.goName, mc) + } + } + g.P("default: return false, nil") + g.P("}") + g.P("}") + g.P() + + // sizer + g.P("func ", size, sizeSig, " {") + g.P("m := msg.(*", mc.goName, ")") + for _, of := range ofields { + g.P("// ", of.getProtoName()) + g.P("switch x := m.", of.goName, ".(type) {") + for _, sf := range of.subFields { + // also fills in field.wire + sf.sizerCase(g) + } + g.P("case nil:") + g.P("default:") + g.P("panic(", g.Pkg["fmt"], ".Sprintf(\"proto: unexpected type %T in oneof\", x))") + g.P("}") + } + g.P("return n") + g.P("}") + g.P() +} + +func (g *Generator) generateOneofDecls(mc *msgCtx, topLevelFields []topLevelField) { + ofields := []*oneofField{} + for _, f := range topLevelFields { + if o, ok := f.(*oneofField); ok { + ofields = append(ofields, o) + } + } + if len(ofields) == 0 { + return + } + // Oneof per-field types, discriminants and getters. + // Generate unexported named types for the discriminant interfaces. + // We shouldn't have to do this, but there was (~19 Aug 2015) a compiler/linker bug + // that was triggered by using anonymous interfaces here. + // TODO: Revisit this and consider reverting back to anonymous interfaces. + // for oi := range message.OneofDecl { + for _, of := range ofields { + dname := of.goType + g.P("type ", dname, " interface {") + g.In() + g.P(dname, "()") + if gogoproto.HasEqual(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P(`Equal(interface{}) bool`) + } + if gogoproto.HasVerboseEqual(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P(`VerboseEqual(interface{}) error`) + } + if gogoproto.IsMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto) || + gogoproto.IsUnsafeMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto) || + gogoproto.IsStableMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P(`MarshalTo([]byte) (int, error)`) + } + if gogoproto.IsSizer(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P(`Size() int`) + } + if gogoproto.IsProtoSizer(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P(`ProtoSize() int`) + } + g.Out() + g.P("}") + } + g.P() + for _, of := range ofields { + for i, sf := range of.subFields { + _, wiretype := g.GoType(mc.message, sf.protoField) + tag := "protobuf:" + g.goTag(mc.message, sf.protoField, wiretype) + fieldFullPath := fmt.Sprintf("%s,%d,%d", mc.message.path, messageFieldPath, i) + g.P("type ", Annotate(mc.message.file, fieldFullPath, sf.oneofTypeName), " struct{ ", Annotate(mc.message.file, fieldFullPath, sf.goName), " ", sf.goType, " `", tag, "` }") + if !gogoproto.IsStdType(sf.protoField) && !gogoproto.IsCustomType(sf.protoField) && !gogoproto.IsCastType(sf.protoField) { + g.RecordTypeUse(sf.protoField.GetTypeName()) + } + } + } + g.P() + for _, of := range ofields { + for _, sf := range of.subFields { + g.P("func (*", sf.oneofTypeName, ") ", of.goType, "() {}") + } + } + g.P() + for _, of := range ofields { + fname := of.goName + g.P("func (m *", mc.goName, ") Get", fname, "() ", of.goType, " {") + g.P("if m != nil { return m.", fname, " }") g.P("return nil") g.P("}") - g.P() + } + g.P() +} - // unmarshaler - g.P("func ", dec, decSig, " {") - g.P("m := msg.(*", ccTypeName, ")") - g.P("switch tag {") - for _, field := range message.Field { - if field.OneofIndex == nil { - continue - } - odp := message.OneofDecl[int(*field.OneofIndex)] - g.P("case ", field.Number, ": // ", odp.GetName(), ".", *field.Name) - g.P("if wire != ", g.Pkg["proto"], ".", fieldWire[field], " {") - g.P("return true, ", g.Pkg["proto"], ".ErrInternalBadWireType") - g.P("}") - lhs := "x, err" // overridden for TYPE_MESSAGE and TYPE_GROUP - var dec, cast, cast2 string - switch *field.Type { - case descriptor.FieldDescriptorProto_TYPE_DOUBLE: - dec, cast = "b.DecodeFixed64()", g.Pkg["math"]+".Float64frombits" - case descriptor.FieldDescriptorProto_TYPE_FLOAT: - dec, cast, cast2 = "b.DecodeFixed32()", "uint32", g.Pkg["math"]+".Float32frombits" - case descriptor.FieldDescriptorProto_TYPE_INT64: - dec, cast = "b.DecodeVarint()", "int64" - case descriptor.FieldDescriptorProto_TYPE_UINT64: - dec = "b.DecodeVarint()" - case descriptor.FieldDescriptorProto_TYPE_INT32: - dec, cast = "b.DecodeVarint()", "int32" - case descriptor.FieldDescriptorProto_TYPE_FIXED64: - dec = "b.DecodeFixed64()" - case descriptor.FieldDescriptorProto_TYPE_FIXED32: - dec, cast = "b.DecodeFixed32()", "uint32" - case descriptor.FieldDescriptorProto_TYPE_BOOL: - dec = "b.DecodeVarint()" - // handled specially below - case descriptor.FieldDescriptorProto_TYPE_STRING: - dec = "b.DecodeStringBytes()" - case descriptor.FieldDescriptorProto_TYPE_GROUP: - g.P("msg := new(", fieldTypes[field][1:], ")") // drop star - lhs = "err" - dec = "b.DecodeGroup(msg)" - // handled specially below - case descriptor.FieldDescriptorProto_TYPE_MESSAGE: - if gogoproto.IsStdTime(field) || gogoproto.IsStdDuration(field) { - dec = "b.DecodeRawBytes(true)" - } else { - g.P("msg := new(", fieldTypes[field][1:], ")") // drop star - lhs = "err" - dec = "b.DecodeMessage(msg)" - } - // handled specially below - case descriptor.FieldDescriptorProto_TYPE_BYTES: - dec = "b.DecodeRawBytes(true)" - case descriptor.FieldDescriptorProto_TYPE_UINT32: - dec, cast = "b.DecodeVarint()", "uint32" - case descriptor.FieldDescriptorProto_TYPE_ENUM: - dec, cast = "b.DecodeVarint()", fieldTypes[field] - case descriptor.FieldDescriptorProto_TYPE_SFIXED32: - dec, cast = "b.DecodeFixed32()", "int32" - case descriptor.FieldDescriptorProto_TYPE_SFIXED64: - dec, cast = "b.DecodeFixed64()", "int64" - case descriptor.FieldDescriptorProto_TYPE_SINT32: - dec, cast = "b.DecodeZigzag32()", "int32" - case descriptor.FieldDescriptorProto_TYPE_SINT64: - dec, cast = "b.DecodeZigzag64()", "int64" - default: - g.Fail("unhandled oneof field type ", field.Type.String()) - } - g.P(lhs, " := ", dec) - val := "x" - if *field.Type == descriptor.FieldDescriptorProto_TYPE_BYTES && gogoproto.IsCustomType(field) { - g.P(`if err != nil {`) - g.In() - g.P(`return true, err`) - g.Out() - g.P(`}`) - _, ctyp, err := GetCustomType(field) - if err != nil { - panic(err) - } - g.P(`var cc `, ctyp) - g.P(`c := &cc`) - g.P(`err = c.Unmarshal(`, val, `)`) - val = "*c" - } else if gogoproto.IsStdTime(field) { - pkg := g.useTypes() - g.P(`if err != nil {`) - g.In() - g.P(`return true, err`) - g.Out() - g.P(`}`) - g.P(`c := new(time.Time)`) - g.P(`if err2 := `, pkg, `.StdTimeUnmarshal(c, `, val, `); err2 != nil {`) - g.In() - g.P(`return true, err`) - g.Out() - g.P(`}`) - val = "c" - } else if gogoproto.IsStdDuration(field) { - pkg := g.useTypes() - g.P(`if err != nil {`) - g.In() - g.P(`return true, err`) - g.Out() - g.P(`}`) - g.P(`c := new(time.Duration)`) - g.P(`if err2 := `, pkg, `.StdDurationUnmarshal(c, `, val, `); err2 != nil {`) - g.In() - g.P(`return true, err`) - g.Out() - g.P(`}`) - val = "c" - } - if cast != "" { - val = cast + "(" + val + ")" - } - if cast2 != "" { - val = cast2 + "(" + val + ")" - } - switch *field.Type { - case descriptor.FieldDescriptorProto_TYPE_BOOL: - val += " != 0" - case descriptor.FieldDescriptorProto_TYPE_GROUP, - descriptor.FieldDescriptorProto_TYPE_MESSAGE: - if !gogoproto.IsStdTime(field) && !gogoproto.IsStdDuration(field) { - val = "msg" - } - } - if gogoproto.IsCastType(field) { - _, typ, err := getCastType(field) - if err != nil { - g.Fail(err.Error()) - } - val = typ + "(" + val + ")" - } - g.P("m.", oneofFieldName[*field.OneofIndex], " = &", oneofTypeName[field], "{", val, "}") - g.P("return true, err") +// generateMessageStruct adds the actual struct with it's members (but not methods) to the output. +func (g *Generator) generateMessageStruct(mc *msgCtx, topLevelFields []topLevelField) { + comments := g.PrintComments(mc.message.path) + + // Guarantee deprecation comments appear after user-provided comments. + if mc.message.GetOptions().GetDeprecated() { + if comments { + // Convention: Separate deprecation comments from original + // comments with an empty line. + g.P("//") } - g.P("default: return false, nil") - g.P("}") - g.P("}") - g.P() + g.P(deprecationComment) + } + g.P("type ", Annotate(mc.message.file, mc.message.path, mc.goName), " struct {") + for _, pf := range topLevelFields { + pf.decl(g, mc) + } + g.generateInternalStructFields(mc, topLevelFields) + g.P("}") +} - // sizer - g.P("func ", size, sizeSig, " {") - g.P("m := msg.(*", ccTypeName, ")") - for oi, odp := range message.OneofDecl { - g.P("// ", odp.GetName()) - fname := oneofFieldName[int32(oi)] - g.P("switch x := m.", fname, ".(type) {") - for _, field := range message.Field { - if field.OneofIndex == nil || int(*field.OneofIndex) != oi { +// generateGetters adds getters for all fields, including oneofs and weak fields when applicable. +func (g *Generator) generateGetters(mc *msgCtx, topLevelFields []topLevelField) { + for _, pf := range topLevelFields { + pf.getter(g, mc) + + } +} + +// generateSetters add setters for all fields, including oneofs and weak fields when applicable. +func (g *Generator) generateSetters(mc *msgCtx, topLevelFields []topLevelField) { + for _, pf := range topLevelFields { + pf.setter(g, mc) + } +} + +// generateCommonMethods adds methods to the message that are not on a per field basis. +func (g *Generator) generateCommonMethods(mc *msgCtx) { + // Reset, String and ProtoMessage methods. + g.P("func (m *", mc.goName, ") Reset() { *m = ", mc.goName, "{} }") + if gogoproto.EnabledGoStringer(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P("func (m *", mc.goName, ") String() string { return ", g.Pkg["proto"], ".CompactTextString(m) }") + } + g.P("func (*", mc.goName, ") ProtoMessage() {}") + var indexes []string + for m := mc.message; m != nil; m = m.parent { + indexes = append([]string{strconv.Itoa(m.index)}, indexes...) + } + g.P("func (*", mc.goName, ") Descriptor() ([]byte, []int) {") + g.P("return ", g.file.VarName(), ", []int{", strings.Join(indexes, ", "), "}") + g.P("}") + // TODO: Revisit the decision to use a XXX_WellKnownType method + // if we change proto.MessageName to work with multiple equivalents. + if mc.message.file.GetPackage() == "google.protobuf" && wellKnownTypes[mc.message.GetName()] { + g.P("func (*", mc.goName, `) XXX_WellKnownType() string { return "`, mc.message.GetName(), `" }`) + } + + // Extension support methods + if len(mc.message.ExtensionRange) > 0 { + // message_set_wire_format only makes sense when extensions are defined. + if opts := mc.message.Options; opts != nil && opts.GetMessageSetWireFormat() { + // isMessageSet = true + g.P() + g.P("func (m *", mc.goName, ") MarshalJSON() ([]byte, error) {") + g.In() + g.P("return ", g.Pkg["proto"], ".MarshalMessageSetJSON(&m.XXX_InternalExtensions)") + g.Out() + g.P("}") + g.P("func (m *", mc.goName, ") UnmarshalJSON(buf []byte) error {") + g.In() + g.P("return ", g.Pkg["proto"], ".UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions)") + g.Out() + g.P("}") + } + + g.P() + g.P("var extRange_", mc.goName, " = []", g.Pkg["proto"], ".ExtensionRange{") + g.In() + for _, r := range mc.message.ExtensionRange { + end := fmt.Sprint(*r.End - 1) // make range inclusive on both ends + g.P("{Start: ", r.Start, ", End: ", end, "},") + } + g.Out() + g.P("}") + g.P("func (*", mc.goName, ") ExtensionRangeArray() []", g.Pkg["proto"], ".ExtensionRange {") + g.In() + g.P("return extRange_", mc.goName) + g.Out() + g.P("}") + if !gogoproto.HasExtensionsMap(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P("func (m *", mc.goName, ") GetExtensions() *[]byte {") + g.In() + g.P("if m.XXX_extensions == nil {") + g.In() + g.P("m.XXX_extensions = make([]byte, 0)") + g.Out() + g.P("}") + g.P("return &m.XXX_extensions") + g.Out() + g.P("}") + } + } + + // TODO: It does not scale to keep adding another method for every + // operation on protos that we want to switch over to using the + // table-driven approach. Instead, we should only add a single method + // that allows getting access to the *InternalMessageInfo struct and then + // calling Unmarshal, Marshal, Merge, Size, and Discard directly on that. + + // Wrapper for table-driven marshaling and unmarshaling. + g.P("func (m *", mc.goName, ") XXX_Unmarshal(b []byte) error {") + g.In() + if gogoproto.IsUnmarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P("return m.Unmarshal(b)") + } else { + g.P("return xxx_messageInfo_", mc.goName, ".Unmarshal(m, b)") + } + g.Out() + g.P("}") + + g.P("func (m *", mc.goName, ") XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {") + g.In() + if gogoproto.IsMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto) || + gogoproto.IsUnsafeMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + if gogoproto.IsStableMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P("b = b[:cap(b)]") + g.P("n, err := m.MarshalTo(b)") + g.P("if err != nil {") + g.In() + g.P("return nil, err") + g.Out() + g.P("}") + g.P("return b[:n], nil") + } else { + g.P("if deterministic {") + g.In() + g.P("return xxx_messageInfo_", mc.goName, ".Marshal(b, m, deterministic)") + g.P("} else {") + g.In() + g.P("b = b[:cap(b)]") + g.P("n, err := m.MarshalTo(b)") + g.P("if err != nil {") + g.In() + g.P("return nil, err") + g.Out() + g.P("}") + g.Out() + g.P("return b[:n], nil") + g.Out() + g.P("}") + } + } else { + g.P("return xxx_messageInfo_", mc.goName, ".Marshal(b, m, deterministic)") + } + g.Out() + g.P("}") + + g.P("func (dst *", mc.goName, ") XXX_Merge(src ", g.Pkg["proto"], ".Message) {") + g.In() + g.P("xxx_messageInfo_", mc.goName, ".Merge(dst, src)") + g.Out() + g.P("}") + + g.P("func (m *", mc.goName, ") XXX_Size() int {") // avoid name clash with "Size" field in some message + g.In() + if (gogoproto.IsMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto) || + gogoproto.IsUnsafeMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto)) && + gogoproto.IsSizer(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P("return m.Size()") + } else if (gogoproto.IsMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto) || + gogoproto.IsUnsafeMarshaler(g.file.FileDescriptorProto, mc.message.DescriptorProto)) && + gogoproto.IsProtoSizer(g.file.FileDescriptorProto, mc.message.DescriptorProto) { + g.P("return m.ProtoSize()") + } else { + g.P("return xxx_messageInfo_", mc.goName, ".Size(m)") + } + g.Out() + g.P("}") + + g.P("func (m *", mc.goName, ") XXX_DiscardUnknown() {") + g.In() + g.P("xxx_messageInfo_", mc.goName, ".DiscardUnknown(m)") + g.Out() + g.P("}") + + g.P("var xxx_messageInfo_", mc.goName, " ", g.Pkg["proto"], ".InternalMessageInfo") +} + +// Generate the type and default constant definitions for this Descriptor. +func (g *Generator) generateMessage(message *Descriptor) { + topLevelFields := []topLevelField{} + oFields := make(map[int32]*oneofField) + // The full type name + typeName := message.TypeName() + // The full type name, CamelCased. + goTypeName := CamelCaseSlice(typeName) + + usedNames := make(map[string]bool) + for _, n := range methodNames { + usedNames[n] = true + } + if !gogoproto.IsProtoSizer(message.file.FileDescriptorProto, message.DescriptorProto) { + usedNames["Size"] = true + } + + // allocNames finds a conflict-free variation of the given strings, + // consistently mutating their suffixes. + // It returns the same number of strings. + allocNames := func(ns ...string) []string { + Loop: + for { + for _, n := range ns { + if usedNames[n] { + for i := range ns { + ns[i] += "_" + } + continue Loop + } + } + for _, n := range ns { + usedNames[n] = true + } + return ns + } + } + + mapFieldTypes := make(map[*descriptor.FieldDescriptorProto]string) // keep track of the map fields to be added later + + for i, field := range message.Field { + // Allocate the getter and the field at the same time so name + // collisions create field/method consistent names. + // TODO: This allocation occurs based on the order of the fields + // in the proto file, meaning that a change in the field + // ordering can change generated Method/Field names. + base := CamelCase(*field.Name) + if gogoproto.IsCustomName(field) { + base = gogoproto.GetCustomName(field) + } + ns := allocNames(base, "Get"+base) + fieldName, fieldGetterName := ns[0], ns[1] + + typename, wiretype := g.GoType(message, field) + jsonName := *field.Name + jsonTag := jsonName + ",omitempty" + repeatedNativeType := (!field.IsMessage() && !gogoproto.IsCustomType(field) && field.IsRepeated()) + if !gogoproto.IsNullable(field) && !repeatedNativeType { + jsonTag = jsonName + } + gogoJsonTag := gogoproto.GetJsonTag(field) + if gogoJsonTag != nil { + jsonTag = *gogoJsonTag + } + gogoMoreTags := gogoproto.GetMoreTags(field) + moreTags := "" + if gogoMoreTags != nil { + moreTags = " " + *gogoMoreTags + } + tag := fmt.Sprintf("protobuf:%s json:%q%s", g.goTag(message, field, wiretype), jsonTag, moreTags) + if *field.Type == descriptor.FieldDescriptorProto_TYPE_MESSAGE && gogoproto.IsEmbed(field) { + fieldName = "" + } + + oneof := field.OneofIndex != nil && message.allowOneof() + if oneof && oFields[*field.OneofIndex] == nil { + odp := message.OneofDecl[int(*field.OneofIndex)] + base := CamelCase(odp.GetName()) + names := allocNames(base, "Get"+base) + fname, gname := names[0], names[1] + + // This is the first field of a oneof we haven't seen before. + // Generate the union field. + oneofFullPath := fmt.Sprintf("%s,%d,%d", message.path, messageOneofPath, *field.OneofIndex) + c, ok := g.makeComments(oneofFullPath) + if ok { + c += "\n//\n" + } + c += "// Types that are valid to be assigned to " + fname + ":\n" + // Generate the rest of this comment later, + // when we've computed any disambiguation. + + dname := "is" + goTypeName + "_" + fname + tag := `protobuf_oneof:"` + odp.GetName() + `"` + of := oneofField{ + fieldCommon: fieldCommon{ + goName: fname, + getterName: gname, + goType: dname, + tags: tag, + protoName: odp.GetName(), + fullPath: oneofFullPath, + protoField: field, + }, + comment: c, + } + topLevelFields = append(topLevelFields, &of) + oFields[*field.OneofIndex] = &of + } + + if *field.Type == descriptor.FieldDescriptorProto_TYPE_MESSAGE { + desc := g.ObjectNamed(field.GetTypeName()) + if d, ok := desc.(*Descriptor); ok && d.GetOptions().GetMapEntry() { + m := g.GoMapType(d, field) + typename = m.GoType + mapFieldTypes[field] = typename // record for the getter generation + + tag += fmt.Sprintf(" protobuf_key:%s protobuf_val:%s", m.KeyTag, m.ValueTag) + } + } + goTyp, _ := g.GoType(message, field) + dvalue := g.getterDefault(field, goTypeName, GoTypeToName(goTyp)) + if oneof { + tname := goTypeName + "_" + fieldName + // It is possible for this to collide with a message or enum + // nested in this message. Check for collisions. + for { + ok := true + for _, desc := range message.nested { + if CamelCaseSlice(desc.TypeName()) == tname { + ok = false + break + } + } + for _, enum := range message.enums { + if CamelCaseSlice(enum.TypeName()) == tname { + ok = false + break + } + } + if !ok { + tname += "_" continue } - g.P("case *", oneofTypeName[field], ":") - val := "x." + fieldNames[field] - var wire, varint, fixed string - switch *field.Type { - case descriptor.FieldDescriptorProto_TYPE_DOUBLE: - wire = "WireFixed64" - fixed = "8" - case descriptor.FieldDescriptorProto_TYPE_FLOAT: - wire = "WireFixed32" - fixed = "4" - case descriptor.FieldDescriptorProto_TYPE_INT64, - descriptor.FieldDescriptorProto_TYPE_UINT64, - descriptor.FieldDescriptorProto_TYPE_INT32, - descriptor.FieldDescriptorProto_TYPE_UINT32, - descriptor.FieldDescriptorProto_TYPE_ENUM: - wire = "WireVarint" - varint = val - case descriptor.FieldDescriptorProto_TYPE_FIXED64, - descriptor.FieldDescriptorProto_TYPE_SFIXED64: - wire = "WireFixed64" - fixed = "8" - case descriptor.FieldDescriptorProto_TYPE_FIXED32, - descriptor.FieldDescriptorProto_TYPE_SFIXED32: - wire = "WireFixed32" - fixed = "4" - case descriptor.FieldDescriptorProto_TYPE_BOOL: - wire = "WireVarint" - fixed = "1" - case descriptor.FieldDescriptorProto_TYPE_STRING: - wire = "WireBytes" - fixed = "len(" + val + ")" - varint = fixed - case descriptor.FieldDescriptorProto_TYPE_GROUP: - wire = "WireStartGroup" - fixed = g.Pkg["proto"] + ".Size(" + val + ")" - case descriptor.FieldDescriptorProto_TYPE_MESSAGE: - wire = "WireBytes" - if gogoproto.IsStdTime(field) { - if gogoproto.IsNullable(field) { - val = "*" + val - } - pkg := g.useTypes() - g.P("s := ", pkg, ".SizeOfStdTime(", val, ")") - } else if gogoproto.IsStdDuration(field) { - if gogoproto.IsNullable(field) { - val = "*" + val - } - pkg := g.useTypes() - g.P("s := ", pkg, ".SizeOfStdDuration(", val, ")") - } else { - g.P("s := ", g.Pkg["proto"], ".Size(", val, ")") - } - fixed = "s" - varint = fixed - case descriptor.FieldDescriptorProto_TYPE_BYTES: - wire = "WireBytes" - if gogoproto.IsCustomType(field) { - fixed = val + ".Size()" - } else { - fixed = "len(" + val + ")" - } - varint = fixed - case descriptor.FieldDescriptorProto_TYPE_SINT32: - wire = "WireVarint" - varint = "(uint32(" + val + ") << 1) ^ uint32((int32(" + val + ") >> 31))" - case descriptor.FieldDescriptorProto_TYPE_SINT64: - wire = "WireVarint" - varint = "uint64(" + val + " << 1) ^ uint64((int64(" + val + ") >> 63))" - default: - g.Fail("unhandled oneof field type ", field.Type.String()) - } - g.P("n += ", g.Pkg["proto"], ".SizeVarint(", field.Number, "<<3|", g.Pkg["proto"], ".", wire, ")") - if varint != "" { - g.P("n += ", g.Pkg["proto"], ".SizeVarint(uint64(", varint, "))") - } - if fixed != "" { - g.P("n += ", fixed) - } - if *field.Type == descriptor.FieldDescriptorProto_TYPE_GROUP { - g.P("n += ", g.Pkg["proto"], ".SizeVarint(", field.Number, "<<3|", g.Pkg["proto"], ".WireEndGroup)") + break + } + + oneofField := oFields[*field.OneofIndex] + tag = "protobuf:" + g.goTag(message, field, wiretype) + sf := oneofSubField{ + fieldCommon: fieldCommon{ + goName: fieldName, + getterName: fieldGetterName, + goType: typename, + tags: tag, + protoName: field.GetName(), + fullPath: fmt.Sprintf("%s,%d,%d", message.path, messageFieldPath, i), + protoField: field, + }, + protoTypeName: field.GetTypeName(), + fieldNumber: int(*field.Number), + protoType: *field.Type, + getterDef: dvalue, + protoDef: field.GetDefaultValue(), + oneofTypeName: tname, + wireType: wireTypeName(field), + } + + oneofField.subFields = append(oneofField.subFields, &sf) + if !gogoproto.IsStdType(field) && !gogoproto.IsCustomType(field) && !gogoproto.IsCastType(field) { + g.RecordTypeUse(field.GetTypeName()) + } + continue + } + + fieldDeprecated := "" + if field.GetOptions().GetDeprecated() { + fieldDeprecated = deprecationComment + } + + fieldFullPath := fmt.Sprintf("%s,%d,%d", message.path, messageFieldPath, i) + c, ok := g.makeComments(fieldFullPath) + if ok { + c += "\n" + } + rf := simpleField{ + fieldCommon: fieldCommon{ + goName: fieldName, + getterName: fieldGetterName, + goType: typename, + tags: tag, + protoName: field.GetName(), + fullPath: fieldFullPath, + protoField: field, + }, + protoTypeName: field.GetTypeName(), + protoType: *field.Type, + deprecated: fieldDeprecated, + getterDef: dvalue, + protoDef: field.GetDefaultValue(), + comment: c, + } + var pf topLevelField = &rf + + topLevelFields = append(topLevelFields, pf) + + if gogoproto.HasTypeDecl(message.file.FileDescriptorProto, message.DescriptorProto) { + if !gogoproto.IsStdType(field) && !gogoproto.IsCustomType(field) && !gogoproto.IsCastType(field) { + g.RecordTypeUse(field.GetTypeName()) + } + } else { + // Even if the type does not need to be generated, we need to iterate + // over all its fields to be able to mark as used any imported types + // used by those fields. + for _, mfield := range message.Field { + if !gogoproto.IsStdType(mfield) && !gogoproto.IsCustomType(mfield) && !gogoproto.IsCastType(mfield) { + g.RecordTypeUse(mfield.GetTypeName()) } } - g.P("case nil:") - g.P("default:") - g.P("panic(", g.Pkg["fmt"], ".Sprintf(\"proto: unexpected type %T in oneof\", x))") - g.P("}") } - g.P("return n") - g.P("}") + } + + mc := &msgCtx{ + goName: goTypeName, + message: message, + } + + if gogoproto.HasTypeDecl(message.file.FileDescriptorProto, message.DescriptorProto) { + g.generateMessageStruct(mc, topLevelFields) g.P() } + g.generateCommonMethods(mc) + g.P() + g.generateDefaultConstants(mc, topLevelFields) + g.P() + g.generateOneofDecls(mc, topLevelFields) + g.P() + g.generateGetters(mc, topLevelFields) + g.P() + g.generateSetters(mc, topLevelFields) + g.P() + g.generateOneofFuncs(mc, topLevelFields) + g.P() + + if !message.group { + var oneofTypes []string + for _, f := range topLevelFields { + if of, ok := f.(*oneofField); ok { + for _, osf := range of.subFields { + oneofTypes = append(oneofTypes, osf.oneofTypeName) + } + } + } + + opts := message.Options + ms := &messageSymbol{ + sym: goTypeName, + hasExtensions: len(message.ExtensionRange) > 0, + isMessageSet: opts != nil && opts.GetMessageSetWireFormat(), + oneofTypes: oneofTypes, + } + g.file.addExport(message, ms) + } for _, ext := range message.ext { g.generateExtension(ext) @@ -3055,10 +3487,41 @@ func (g *Generator) generateMessage(message *Descriptor) { fullName = *g.file.Package + "." + fullName } - g.addInitf("%s.RegisterType((*%s)(nil), %q)", g.Pkg["proto"], ccTypeName, fullName) + g.addInitf("%s.RegisterType((*%s)(nil), %q)", g.Pkg["proto"], goTypeName, fullName) if gogoproto.ImportsGoGoProto(g.file.FileDescriptorProto) && gogoproto.RegistersGolangProto(g.file.FileDescriptorProto) { - g.addInitf("%s.RegisterType((*%s)(nil), %q)", g.Pkg["golang_proto"], ccTypeName, fullName) + g.addInitf("%s.RegisterType((*%s)(nil), %q)", g.Pkg["golang_proto"], goTypeName, fullName) } + if gogoproto.HasMessageName(g.file.FileDescriptorProto, message.DescriptorProto) { + g.P("func (*", goTypeName, ") XXX_MessageName() string {") + g.In() + g.P("return ", strconv.Quote(fullName)) + g.Out() + g.P("}") + } + // Register types for native map types. + for _, k := range mapFieldKeys(mapFieldTypes) { + fullName := strings.TrimPrefix(*k.TypeName, ".") + g.addInitf("%s.RegisterMapType((%s)(nil), %q)", g.Pkg["proto"], mapFieldTypes[k], fullName) + if gogoproto.ImportsGoGoProto(g.file.FileDescriptorProto) && gogoproto.RegistersGolangProto(g.file.FileDescriptorProto) { + g.addInitf("%s.RegisterMapType((%s)(nil), %q)", g.Pkg["golang_proto"], mapFieldTypes[k], fullName) + } + } +} + +type byTypeName []*descriptor.FieldDescriptorProto + +func (a byTypeName) Len() int { return len(a) } +func (a byTypeName) Swap(i, j int) { a[i], a[j] = a[j], a[i] } +func (a byTypeName) Less(i, j int) bool { return *a[i].TypeName < *a[j].TypeName } + +// mapFieldKeys returns the keys of m in a consistent order. +func mapFieldKeys(m map[*descriptor.FieldDescriptorProto]string) []*descriptor.FieldDescriptorProto { + keys := make([]*descriptor.FieldDescriptorProto, 0, len(m)) + for k := range m { + keys = append(keys, k) + } + sort.Sort(byTypeName(keys)) + return keys } var escapeChars = [256]byte{ @@ -3147,10 +3610,15 @@ func (g *Generator) generateExtension(ext *ExtensionDescriptor) { typeName := ext.TypeName() // Special case for proto2 message sets: If this extension is extending - // proto2_bridge.MessageSet, and its final name component is "message_set_extension", + // proto2.bridge.MessageSet, and its final name component is "message_set_extension", // then drop that last component. + // + // TODO: This should be implemented in the text formatter rather than the generator. + // In addition, the situation for when to apply this special case is implemented + // differently in other languages: + // https://github.com/google/protobuf/blob/aff10976/src/google/protobuf/text_format.cc#L1560 mset := false - if extendedType == "*proto2_bridge.MessageSet" && typeName[len(typeName)-1] == "message_set_extension" { + if extDesc.GetOptions().GetMessageSetWireFormat() && typeName[len(typeName)-1] == "message_set_extension" { typeName = typeName[:len(typeName)-1] mset = true } @@ -3385,6 +3853,44 @@ func IsScalar(field *descriptor.FieldDescriptorProto) bool { } } +func wireTypeName(field *descriptor.FieldDescriptorProto) string { + switch *field.Type { + case descriptor.FieldDescriptorProto_TYPE_DOUBLE: + return "WireFixed64" + case descriptor.FieldDescriptorProto_TYPE_FLOAT: + return "WireFixed32" + case descriptor.FieldDescriptorProto_TYPE_INT64, + descriptor.FieldDescriptorProto_TYPE_UINT64: + return "WireVarint" + case descriptor.FieldDescriptorProto_TYPE_INT32, + descriptor.FieldDescriptorProto_TYPE_UINT32, + descriptor.FieldDescriptorProto_TYPE_ENUM: + return "WireVarint" + case descriptor.FieldDescriptorProto_TYPE_FIXED64, + descriptor.FieldDescriptorProto_TYPE_SFIXED64: + return "WireFixed64" + case descriptor.FieldDescriptorProto_TYPE_FIXED32, + descriptor.FieldDescriptorProto_TYPE_SFIXED32: + return "WireFixed32" + case descriptor.FieldDescriptorProto_TYPE_BOOL: + return "WireVarint" + case descriptor.FieldDescriptorProto_TYPE_STRING: + return "WireBytes" + case descriptor.FieldDescriptorProto_TYPE_GROUP: + return "WireStartGroup" + case descriptor.FieldDescriptorProto_TYPE_MESSAGE: + return "WireBytes" + case descriptor.FieldDescriptorProto_TYPE_BYTES: + return "WireBytes" + case descriptor.FieldDescriptorProto_TYPE_SINT32: + return "WireVarint" + case descriptor.FieldDescriptorProto_TYPE_SINT64: + return "WireVarint" + default: + return "WireVarint" + } +} + // badToUnderscore is the mapping function used to generate Go names from package names, // which can be dotted in the input .proto file. It replaces non-identifier characters such as // dot or dash with underscore. @@ -3429,3 +3935,14 @@ const ( // tag numbers in EnumDescriptorProto enumValuePath = 2 // value ) + +var supportTypeAliases bool + +func init() { + for _, tag := range build.Default.ReleaseTags { + if tag == "go1.9" { + supportTypeAliases = true + return + } + } +} diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/helper.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/helper.go index d7a406e7c..697bbf52d 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/helper.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/helper.go @@ -118,7 +118,7 @@ func (this *pluginImports) NewImport(pkg string) Single { func (this *pluginImports) GenerateImports(file *FileDescriptor) { for _, s := range this.singles { if s.IsUsed() { - this.generator.PrintImport(s.Name(), s.Location()) + this.generator.PrintImport(GoPackageName(s.Name()), GoImportPath(s.Location())) } } } @@ -137,7 +137,7 @@ type importedPackage struct { importPrefix string } -func newImportedPackage(importPrefix, pkg string) *importedPackage { +func newImportedPackage(importPrefix string, pkg string) *importedPackage { return &importedPackage{ pkg: pkg, importPrefix: importPrefix, @@ -146,7 +146,7 @@ func newImportedPackage(importPrefix, pkg string) *importedPackage { func (this *importedPackage) Use() string { if !this.used { - this.name = RegisterUniquePackageName(this.pkg, nil) + this.name = string(cleanPackageName(this.pkg)) this.used = true } return this.name @@ -182,7 +182,7 @@ func (g *Generator) GetFieldName(message *Descriptor, field *descriptor.FieldDes return fieldname + "_" } } - if !gogoproto.IsProtoSizer(message.file, message.DescriptorProto) { + if !gogoproto.IsProtoSizer(message.file.FileDescriptorProto, message.DescriptorProto) { if fieldname == "Size" { return fieldname + "_" } @@ -204,7 +204,7 @@ func (g *Generator) GetOneOfFieldName(message *Descriptor, field *descriptor.Fie return fieldname + "_" } } - if !gogoproto.IsProtoSizer(message.file, message.DescriptorProto) { + if !gogoproto.IsProtoSizer(message.file.FileDescriptorProto, message.DescriptorProto) { if fieldname == "Size" { return fieldname + "_" } @@ -262,6 +262,13 @@ func (g *Generator) GetMapValueField(field, valField *descriptor.FieldDescriptor } } + wktptr := gogoproto.IsWktPtr(field) + if wktptr { + if err := proto.SetExtension(valField.Options, gogoproto.E_Wktpointer, &wktptr); err != nil { + g.Fail(err.Error()) + } + } + if valType := gogoproto.GetCastValue(field); len(valType) > 0 { if err := proto.SetExtension(valField.Options, gogoproto.E_Casttype, &valType); err != nil { g.Fail(err.Error()) @@ -333,20 +340,22 @@ func (g *Generator) GeneratePlugin(p Plugin) { continue } g.Response.File = append(g.Response.File, &plugin.CodeGeneratorResponse_File{ - Name: proto.String(file.goFileName()), + Name: proto.String(file.goFileName(g.pathType)), Content: proto.String(g.String()), }) } } -func (g *Generator) SetFile(file *descriptor.FileDescriptorProto) { - g.file = g.FileOf(file) +func (g *Generator) SetFile(filename string) { + g.file = g.fileByName(filename) } func (g *Generator) generatePlugin(file *FileDescriptor, p Plugin) { g.writtenImports = make(map[string]bool) - g.file = g.FileOf(file.FileDescriptorProto) - g.usedPackages = make(map[string]bool) + g.usedPackages = make(map[GoImportPath]bool) + g.packageNames = make(map[GoImportPath]GoPackageName) + g.usedPackageNames = make(map[GoPackageName]bool) + g.file = file // Run the plugins before the imports so we know which imports are necessary. p.Generate(file) @@ -445,3 +454,7 @@ func (g *Generator) useTypes() string { g.customImports = append(g.customImports, "github.com/gogo/protobuf/types") return pkg } + +func (d *FileDescriptor) GoPackageName() string { + return string(d.packageName) +} diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/internal/remap/remap.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/internal/remap/remap.go new file mode 100644 index 000000000..a9b61036c --- /dev/null +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/internal/remap/remap.go @@ -0,0 +1,117 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2017 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* +Package remap handles tracking the locations of Go tokens in a source text +across a rewrite by the Go formatter. +*/ +package remap + +import ( + "fmt" + "go/scanner" + "go/token" +) + +// A Location represents a span of byte offsets in the source text. +type Location struct { + Pos, End int // End is exclusive +} + +// A Map represents a mapping between token locations in an input source text +// and locations in the correspnding output text. +type Map map[Location]Location + +// Find reports whether the specified span is recorded by m, and if so returns +// the new location it was mapped to. If the input span was not found, the +// returned location is the same as the input. +func (m Map) Find(pos, end int) (Location, bool) { + key := Location{ + Pos: pos, + End: end, + } + if loc, ok := m[key]; ok { + return loc, true + } + return key, false +} + +func (m Map) add(opos, oend, npos, nend int) { + m[Location{Pos: opos, End: oend}] = Location{Pos: npos, End: nend} +} + +// Compute constructs a location mapping from input to output. An error is +// reported if any of the tokens of output cannot be mapped. +func Compute(input, output []byte) (Map, error) { + itok := tokenize(input) + otok := tokenize(output) + if len(itok) != len(otok) { + return nil, fmt.Errorf("wrong number of tokens, %d ≠ %d", len(itok), len(otok)) + } + m := make(Map) + for i, ti := range itok { + to := otok[i] + if ti.Token != to.Token { + return nil, fmt.Errorf("token %d type mismatch: %s ≠ %s", i+1, ti, to) + } + m.add(ti.pos, ti.end, to.pos, to.end) + } + return m, nil +} + +// tokinfo records the span and type of a source token. +type tokinfo struct { + pos, end int + token.Token +} + +func tokenize(src []byte) []tokinfo { + fs := token.NewFileSet() + var s scanner.Scanner + s.Init(fs.AddFile("src", fs.Base(), len(src)), src, nil, scanner.ScanComments) + var info []tokinfo + for { + pos, next, lit := s.Scan() + switch next { + case token.SEMICOLON: + continue + } + info = append(info, tokinfo{ + pos: int(pos - 1), + end: int(pos + token.Pos(len(lit)) - 1), + Token: next, + }) + if next == token.EOF { + break + } + } + return info +} diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/grpc/grpc.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/grpc/grpc.go index 06abe9b6a..0b1438d21 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/grpc/grpc.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/grpc/grpc.go @@ -36,6 +36,7 @@ package grpc import ( "fmt" + "path" "strconv" "strings" @@ -128,20 +129,24 @@ func (g *grpc) GenerateImports(file *generator.FileDescriptor) { if len(file.FileDescriptorProto.Service) == 0 { return } - imports := generator.NewPluginImports(g.gen) - for _, i := range []string{contextPkgPath, grpcPkgPath} { - imports.NewImport(i).Use() - } - imports.GenerateImports(file) + g.P("import (") + g.P(contextPkg, " ", generator.GoImportPath(path.Join(string(g.gen.ImportPrefix), contextPkgPath))) + g.P(grpcPkg, " ", generator.GoImportPath(path.Join(string(g.gen.ImportPrefix), grpcPkgPath))) + g.P(")") + g.P() } // reservedClientName records whether a client name is reserved on the client side. var reservedClientName = map[string]bool{ -// TODO: do we need any in gRPC? + // TODO: do we need any in gRPC? } func unexport(s string) string { return strings.ToLower(s[:1]) + s[1:] } +// deprecationComment is the standard comment added to deprecated +// messages, fields, enums, and enum values. +var deprecationComment = "// Deprecated: Do not use." + // generateService generates all the code for the named service. func (g *grpc) generateService(file *generator.FileDescriptor, service *pb.ServiceDescriptorProto, index int) { path := fmt.Sprintf("6,%d", index) // 6 means service. @@ -152,12 +157,18 @@ func (g *grpc) generateService(file *generator.FileDescriptor, service *pb.Servi fullServName = pkg + "." + fullServName } servName := generator.CamelCase(origServName) + deprecated := service.GetOptions().GetDeprecated() g.P() - g.P("// Client API for ", servName, " service") - g.P() + g.P(fmt.Sprintf(`// %sClient is the client API for %s service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.`, servName, servName)) // Client interface. + if deprecated { + g.P("//") + g.P(deprecationComment) + } g.P("type ", servName, "Client interface {") for i, method := range service.Method { g.gen.PrintComments(fmt.Sprintf("%s,2,%d", path, i)) // 2 means method in a service. @@ -173,6 +184,9 @@ func (g *grpc) generateService(file *generator.FileDescriptor, service *pb.Servi g.P() // NewClient factory. + if deprecated { + g.P(deprecationComment) + } g.P("func New", servName, "Client (cc *", grpcPkg, ".ClientConn) ", servName, "Client {") g.P("return &", unexport(servName), "Client{cc}") g.P("}") @@ -195,11 +209,13 @@ func (g *grpc) generateService(file *generator.FileDescriptor, service *pb.Servi g.generateClientMethod(servName, fullServName, serviceDescVar, method, descExpr) } - g.P("// Server API for ", servName, " service") - g.P() - // Server interface. serverType := servName + "Server" + g.P("// ", serverType, " is the server API for ", servName, " service.") + if deprecated { + g.P("//") + g.P(deprecationComment) + } g.P("type ", serverType, " interface {") for i, method := range service.Method { g.gen.PrintComments(fmt.Sprintf("%s,2,%d", path, i)) // 2 means method in a service. @@ -209,6 +225,9 @@ func (g *grpc) generateService(file *generator.FileDescriptor, service *pb.Servi g.P() // Server registration. + if deprecated { + g.P(deprecationComment) + } g.P("func Register", servName, "Server(s *", grpcPkg, ".Server, srv ", serverType, ") {") g.P("s.RegisterService(&", serviceDescVar, `, srv)`) g.P("}") @@ -282,11 +301,14 @@ func (g *grpc) generateClientMethod(servName, fullServName, serviceDescVar strin inType := g.typeName(method.GetInputType()) outType := g.typeName(method.GetOutputType()) + if method.GetOptions().GetDeprecated() { + g.P(deprecationComment) + } g.P("func (c *", unexport(servName), "Client) ", g.generateClientSignature(servName, method), "{") if !method.GetServerStreaming() && !method.GetClientStreaming() { g.P("out := new(", outType, ")") // TODO: Pass descExpr to Invoke. - g.P("err := ", grpcPkg, `.Invoke(ctx, "`, sname, `", in, out, c.cc, opts...)`) + g.P(`err := c.cc.Invoke(ctx, "`, sname, `", in, out, opts...)`) g.P("if err != nil { return nil, err }") g.P("return out, nil") g.P("}") @@ -294,7 +316,7 @@ func (g *grpc) generateClientMethod(servName, fullServName, serviceDescVar strin return } streamType := unexport(servName) + methName + "Client" - g.P("stream, err := ", grpcPkg, ".NewClientStream(ctx, ", descExpr, `, c.cc, "`, sname, `", opts...)`) + g.P("stream, err := c.cc.NewStream(ctx, ", descExpr, `, "`, sname, `", opts...)`) g.P("if err != nil { return nil, err }") g.P("x := &", streamType, "{stream}") if !method.GetClientStreaming() { diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/plugin/plugin.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/plugin/plugin.pb.go index c673d5035..d6fea3fa0 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/plugin/plugin.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/plugin/plugin.pb.go @@ -1,23 +1,12 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: plugin.proto -/* -Package plugin_go is a generated protocol buffer package. - -It is generated from these files: - plugin.proto - -It has these top-level messages: - Version - CodeGeneratorRequest - CodeGeneratorResponse -*/ package plugin_go import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" -import google_protobuf "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" +import descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -37,14 +26,35 @@ type Version struct { Patch *int32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"` // A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should // be empty for mainline stable releases. - Suffix *string `protobuf:"bytes,4,opt,name=suffix" json:"suffix,omitempty"` - XXX_unrecognized []byte `json:"-"` + Suffix *string `protobuf:"bytes,4,opt,name=suffix" json:"suffix,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Version) Reset() { *m = Version{} } -func (m *Version) String() string { return proto.CompactTextString(m) } -func (*Version) ProtoMessage() {} -func (*Version) Descriptor() ([]byte, []int) { return fileDescriptorPlugin, []int{0} } +func (m *Version) Reset() { *m = Version{} } +func (m *Version) String() string { return proto.CompactTextString(m) } +func (*Version) ProtoMessage() {} +func (*Version) Descriptor() ([]byte, []int) { + return fileDescriptor_plugin_ac234f81c61f07b3, []int{0} +} +func (m *Version) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Version.Unmarshal(m, b) +} +func (m *Version) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Version.Marshal(b, m, deterministic) +} +func (dst *Version) XXX_Merge(src proto.Message) { + xxx_messageInfo_Version.Merge(dst, src) +} +func (m *Version) XXX_Size() int { + return xxx_messageInfo_Version.Size(m) +} +func (m *Version) XXX_DiscardUnknown() { + xxx_messageInfo_Version.DiscardUnknown(m) +} + +var xxx_messageInfo_Version proto.InternalMessageInfo func (m *Version) GetMajor() int32 { if m != nil && m.Major != nil { @@ -96,16 +106,37 @@ type CodeGeneratorRequest struct { // // Type names of fields and extensions in the FileDescriptorProto are always // fully qualified. - ProtoFile []*google_protobuf.FileDescriptorProto `protobuf:"bytes,15,rep,name=proto_file,json=protoFile" json:"proto_file,omitempty"` + ProtoFile []*descriptor.FileDescriptorProto `protobuf:"bytes,15,rep,name=proto_file,json=protoFile" json:"proto_file,omitempty"` // The version number of protocol compiler. - CompilerVersion *Version `protobuf:"bytes,3,opt,name=compiler_version,json=compilerVersion" json:"compiler_version,omitempty"` - XXX_unrecognized []byte `json:"-"` + CompilerVersion *Version `protobuf:"bytes,3,opt,name=compiler_version,json=compilerVersion" json:"compiler_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CodeGeneratorRequest) Reset() { *m = CodeGeneratorRequest{} } -func (m *CodeGeneratorRequest) String() string { return proto.CompactTextString(m) } -func (*CodeGeneratorRequest) ProtoMessage() {} -func (*CodeGeneratorRequest) Descriptor() ([]byte, []int) { return fileDescriptorPlugin, []int{1} } +func (m *CodeGeneratorRequest) Reset() { *m = CodeGeneratorRequest{} } +func (m *CodeGeneratorRequest) String() string { return proto.CompactTextString(m) } +func (*CodeGeneratorRequest) ProtoMessage() {} +func (*CodeGeneratorRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_plugin_ac234f81c61f07b3, []int{1} +} +func (m *CodeGeneratorRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CodeGeneratorRequest.Unmarshal(m, b) +} +func (m *CodeGeneratorRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CodeGeneratorRequest.Marshal(b, m, deterministic) +} +func (dst *CodeGeneratorRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CodeGeneratorRequest.Merge(dst, src) +} +func (m *CodeGeneratorRequest) XXX_Size() int { + return xxx_messageInfo_CodeGeneratorRequest.Size(m) +} +func (m *CodeGeneratorRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CodeGeneratorRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CodeGeneratorRequest proto.InternalMessageInfo func (m *CodeGeneratorRequest) GetFileToGenerate() []string { if m != nil { @@ -121,7 +152,7 @@ func (m *CodeGeneratorRequest) GetParameter() string { return "" } -func (m *CodeGeneratorRequest) GetProtoFile() []*google_protobuf.FileDescriptorProto { +func (m *CodeGeneratorRequest) GetProtoFile() []*descriptor.FileDescriptorProto { if m != nil { return m.ProtoFile } @@ -145,15 +176,36 @@ type CodeGeneratorResponse struct { // problem in protoc itself -- such as the input CodeGeneratorRequest being // unparseable -- should be reported by writing a message to stderr and // exiting with a non-zero status code. - Error *string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"` - File []*CodeGeneratorResponse_File `protobuf:"bytes,15,rep,name=file" json:"file,omitempty"` - XXX_unrecognized []byte `json:"-"` + Error *string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"` + File []*CodeGeneratorResponse_File `protobuf:"bytes,15,rep,name=file" json:"file,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CodeGeneratorResponse) Reset() { *m = CodeGeneratorResponse{} } -func (m *CodeGeneratorResponse) String() string { return proto.CompactTextString(m) } -func (*CodeGeneratorResponse) ProtoMessage() {} -func (*CodeGeneratorResponse) Descriptor() ([]byte, []int) { return fileDescriptorPlugin, []int{2} } +func (m *CodeGeneratorResponse) Reset() { *m = CodeGeneratorResponse{} } +func (m *CodeGeneratorResponse) String() string { return proto.CompactTextString(m) } +func (*CodeGeneratorResponse) ProtoMessage() {} +func (*CodeGeneratorResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_plugin_ac234f81c61f07b3, []int{2} +} +func (m *CodeGeneratorResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CodeGeneratorResponse.Unmarshal(m, b) +} +func (m *CodeGeneratorResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CodeGeneratorResponse.Marshal(b, m, deterministic) +} +func (dst *CodeGeneratorResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CodeGeneratorResponse.Merge(dst, src) +} +func (m *CodeGeneratorResponse) XXX_Size() int { + return xxx_messageInfo_CodeGeneratorResponse.Size(m) +} +func (m *CodeGeneratorResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CodeGeneratorResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CodeGeneratorResponse proto.InternalMessageInfo func (m *CodeGeneratorResponse) GetError() string { if m != nil && m.Error != nil { @@ -222,16 +274,35 @@ type CodeGeneratorResponse_File struct { // If |insertion_point| is present, |name| must also be present. InsertionPoint *string `protobuf:"bytes,2,opt,name=insertion_point,json=insertionPoint" json:"insertion_point,omitempty"` // The file contents. - Content *string `protobuf:"bytes,15,opt,name=content" json:"content,omitempty"` - XXX_unrecognized []byte `json:"-"` + Content *string `protobuf:"bytes,15,opt,name=content" json:"content,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *CodeGeneratorResponse_File) Reset() { *m = CodeGeneratorResponse_File{} } func (m *CodeGeneratorResponse_File) String() string { return proto.CompactTextString(m) } func (*CodeGeneratorResponse_File) ProtoMessage() {} func (*CodeGeneratorResponse_File) Descriptor() ([]byte, []int) { - return fileDescriptorPlugin, []int{2, 0} + return fileDescriptor_plugin_ac234f81c61f07b3, []int{2, 0} } +func (m *CodeGeneratorResponse_File) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CodeGeneratorResponse_File.Unmarshal(m, b) +} +func (m *CodeGeneratorResponse_File) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CodeGeneratorResponse_File.Marshal(b, m, deterministic) +} +func (dst *CodeGeneratorResponse_File) XXX_Merge(src proto.Message) { + xxx_messageInfo_CodeGeneratorResponse_File.Merge(dst, src) +} +func (m *CodeGeneratorResponse_File) XXX_Size() int { + return xxx_messageInfo_CodeGeneratorResponse_File.Size(m) +} +func (m *CodeGeneratorResponse_File) XXX_DiscardUnknown() { + xxx_messageInfo_CodeGeneratorResponse_File.DiscardUnknown(m) +} + +var xxx_messageInfo_CodeGeneratorResponse_File proto.InternalMessageInfo func (m *CodeGeneratorResponse_File) GetName() string { if m != nil && m.Name != nil { @@ -261,9 +332,9 @@ func init() { proto.RegisterType((*CodeGeneratorResponse_File)(nil), "google.protobuf.compiler.CodeGeneratorResponse.File") } -func init() { proto.RegisterFile("plugin.proto", fileDescriptorPlugin) } +func init() { proto.RegisterFile("plugin.proto", fileDescriptor_plugin_ac234f81c61f07b3) } -var fileDescriptorPlugin = []byte{ +var fileDescriptor_plugin_ac234f81c61f07b3 = []byte{ // 383 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xcd, 0x6a, 0xd5, 0x40, 0x14, 0xc7, 0x89, 0x37, 0xb5, 0xe4, 0xb4, 0x34, 0x65, 0xa8, 0x32, 0x94, 0x2e, 0xe2, 0x45, 0x30, diff --git a/vendor/github.com/gogo/protobuf/test/Makefile b/vendor/github.com/gogo/protobuf/test/Makefile index e3002d180..f25200970 100644 --- a/vendor/github.com/gogo/protobuf/test/Makefile +++ b/vendor/github.com/gogo/protobuf/test/Makefile @@ -29,8 +29,8 @@ regenerate: go install github.com/gogo/protobuf/protoc-gen-gogo go install github.com/gogo/protobuf/protoc-gen-combo - protoc --gogo_out=. --proto_path=../:../../../../:../protobuf/:. thetest.proto - protoc-gen-combo --default=false --gogo_out=. --proto_path=../:../../../../:../protobuf/:. thetest.proto + protoc --gogo_out=. --proto_path=../protobuf/:../:../../../../:. thetest.proto + protoc-gen-combo --default=false --gogo_out=. --proto_path=../protobuf/:../:../../../../:. thetest.proto cp uuid.go ./combos/both/ cp uuid.go ./combos/marshaler/ cp uuid.go ./combos/unmarshaler/ diff --git a/vendor/github.com/gogo/protobuf/test/casttype/Makefile b/vendor/github.com/gogo/protobuf/test/casttype/Makefile index 684c2e460..ab86741ca 100644 --- a/vendor/github.com/gogo/protobuf/test/casttype/Makefile +++ b/vendor/github.com/gogo/protobuf/test/casttype/Makefile @@ -29,4 +29,4 @@ regenerate: go install github.com/gogo/protobuf/protoc-gen-combo go install github.com/gogo/protobuf/protoc-gen-gogo - protoc-gen-combo --gogo_out=. --version="3.0.0" --proto_path=../../../../../:../../protobuf/:. casttype.proto + protoc-gen-combo --gogo_out=. --version="3.0.0" --proto_path=../../protobuf/:../../../../../:. casttype.proto diff --git a/vendor/github.com/gogo/protobuf/test/combos/both/thetest.pb.go b/vendor/github.com/gogo/protobuf/test/combos/both/thetest.pb.go index 4b215042b..a9b87f495 100644 --- a/vendor/github.com/gogo/protobuf/test/combos/both/thetest.pb.go +++ b/vendor/github.com/gogo/protobuf/test/combos/both/thetest.pb.go @@ -1,78 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: combos/both/thetest.proto -/* - Package test is a generated protocol buffer package. - - It is generated from these files: - combos/both/thetest.proto - - It has these top-level messages: - NidOptNative - NinOptNative - NidRepNative - NinRepNative - NidRepPackedNative - NinRepPackedNative - NidOptStruct - NinOptStruct - NidRepStruct - NinRepStruct - NidEmbeddedStruct - NinEmbeddedStruct - NidNestedStruct - NinNestedStruct - NidOptCustom - CustomDash - NinOptCustom - NidRepCustom - NinRepCustom - NinOptNativeUnion - NinOptStructUnion - NinEmbeddedStructUnion - NinNestedStructUnion - Tree - OrBranch - AndBranch - Leaf - DeepTree - ADeepBranch - AndDeepBranch - DeepLeaf - Nil - NidOptEnum - NinOptEnum - NidRepEnum - NinRepEnum - NinOptEnumDefault - AnotherNinOptEnum - AnotherNinOptEnumDefault - Timer - MyExtendable - OtherExtenable - NestedDefinition - NestedScope - NinOptNativeDefault - CustomContainer - CustomNameNidOptNative - CustomNameNinOptNative - CustomNameNinRepNative - CustomNameNinStruct - CustomNameCustomType - CustomNameNinEmbeddedStructUnion - CustomNameEnum - NoExtensionsMap - Unrecognized - UnrecognizedWithInner - UnrecognizedWithEmbed - Node - NonByteCustomType - NidOptNonByteCustomType - NinOptNonByteCustomType - NidRepNonByteCustomType - NinRepNonByteCustomType - ProtoType -*/ package test import proto "github.com/gogo/protobuf/proto" @@ -84,11 +12,12 @@ import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custo import github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" import bytes "bytes" -import sortkeys "github.com/gogo/protobuf/sortkeys" +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import gzip "compress/gzip" -import ioutil "io/ioutil" +import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" +import compress_gzip "compress/gzip" +import io_ioutil "io/ioutil" import strconv "strconv" @@ -96,7 +25,7 @@ import strings "strings" import sort "sort" import reflect "reflect" -import binary "encoding/binary" +import encoding_binary "encoding/binary" import io "io" @@ -146,7 +75,9 @@ func (x *TheTestEnum) UnmarshalJSON(data []byte) error { *x = TheTestEnum(value) return nil } -func (TheTestEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptorThetest, []int{0} } +func (TheTestEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{0} +} type AnotherTestEnum int32 @@ -180,7 +111,9 @@ func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { *x = AnotherTestEnum(value) return nil } -func (AnotherTestEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptorThetest, []int{1} } +func (AnotherTestEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{1} +} // YetAnotherTestEnum is used to test cross-package import of custom name // fields and default resolution. @@ -216,7 +149,9 @@ func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetAnotherTestEnum(value) return nil } -func (YetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptorThetest, []int{2} } +func (YetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{2} +} // YetAnotherTestEnum is used to test cross-package import of custom name // fields and default resolution. @@ -252,7 +187,9 @@ func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetYetAnotherTestEnum(value) return nil } -func (YetYetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptorThetest, []int{3} } +func (YetYetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{3} +} type NestedDefinition_NestedEnum int32 @@ -284,502 +221,1612 @@ func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { return nil } func (NestedDefinition_NestedEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{42, 0} + return fileDescriptor_thetest_3e4f682cb8349b83, []int{42, 0} } type NidOptNative struct { - Field1 float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` - Field2 float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` - Field3 int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3"` - Field4 int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4"` - Field5 uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5"` - Field6 uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` - Field7 int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` - Field8 int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8"` - Field9 uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9"` - Field10 int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10"` - Field11 uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11"` - Field12 int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12"` - Field13 bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` - Field14 string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` - XXX_unrecognized []byte `json:"-"` + Field1 float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` + Field2 float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` + Field3 int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3"` + Field4 int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4"` + Field5 uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5"` + Field6 uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` + Field7 int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` + Field8 int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8"` + Field9 uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9"` + Field10 int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10"` + Field11 uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11"` + Field12 int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12"` + Field13 bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` + Field14 string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptNative) Reset() { *m = NidOptNative{} } -func (*NidOptNative) ProtoMessage() {} -func (*NidOptNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{0} } +func (m *NidOptNative) Reset() { *m = NidOptNative{} } +func (*NidOptNative) ProtoMessage() {} +func (*NidOptNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{0} +} +func (m *NidOptNative) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidOptNative.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 (dst *NidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNative.Merge(dst, src) +} +func (m *NidOptNative) XXX_Size() int { + return m.Size() +} +func (m *NidOptNative) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptNative proto.InternalMessageInfo type NinOptNative struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` - Field4 *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` - Field5 *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - Field8 *int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8,omitempty"` - Field9 *uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9,omitempty"` - Field10 *int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10,omitempty"` - Field11 *uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11,omitempty"` - Field12 *int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` + Field4 *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` + Field5 *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + Field8 *int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8,omitempty"` + Field9 *uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9,omitempty"` + Field10 *int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10,omitempty"` + Field11 *uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11,omitempty"` + Field12 *int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptNative) Reset() { *m = NinOptNative{} } -func (*NinOptNative) ProtoMessage() {} -func (*NinOptNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{1} } +func (m *NinOptNative) Reset() { *m = NinOptNative{} } +func (*NinOptNative) ProtoMessage() {} +func (*NinOptNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{1} +} +func (m *NinOptNative) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinOptNative.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 (dst *NinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNative.Merge(dst, src) +} +func (m *NinOptNative) XXX_Size() int { + return m.Size() +} +func (m *NinOptNative) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptNative proto.InternalMessageInfo type NidRepNative struct { - Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - Field3 []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` - Field4 []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` - Field5 []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - Field8 []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` - Field9 []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` - Field10 []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` - Field11 []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` - Field12 []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + Field3 []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` + Field4 []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` + Field5 []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + Field8 []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` + Field9 []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` + Field10 []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` + Field11 []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` + Field12 []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepNative) Reset() { *m = NidRepNative{} } -func (*NidRepNative) ProtoMessage() {} -func (*NidRepNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{2} } +func (m *NidRepNative) Reset() { *m = NidRepNative{} } +func (*NidRepNative) ProtoMessage() {} +func (*NidRepNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{2} +} +func (m *NidRepNative) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidRepNative.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 (dst *NidRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNative.Merge(dst, src) +} +func (m *NidRepNative) XXX_Size() int { + return m.Size() +} +func (m *NidRepNative) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepNative proto.InternalMessageInfo type NinRepNative struct { - Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - Field3 []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` - Field4 []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` - Field5 []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - Field8 []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` - Field9 []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` - Field10 []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` - Field11 []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` - Field12 []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + Field3 []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` + Field4 []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` + Field5 []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + Field8 []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` + Field9 []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` + Field10 []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` + Field11 []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` + Field12 []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepNative) Reset() { *m = NinRepNative{} } -func (*NinRepNative) ProtoMessage() {} -func (*NinRepNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{3} } +func (m *NinRepNative) Reset() { *m = NinRepNative{} } +func (*NinRepNative) ProtoMessage() {} +func (*NinRepNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{3} +} +func (m *NinRepNative) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinRepNative.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 (dst *NinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNative.Merge(dst, src) +} +func (m *NinRepNative) XXX_Size() int { + return m.Size() +} +func (m *NinRepNative) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepNative proto.InternalMessageInfo type NidRepPackedNative struct { - Field1 []float64 `protobuf:"fixed64,1,rep,packed,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,packed,name=Field2" json:"Field2,omitempty"` - Field3 []int32 `protobuf:"varint,3,rep,packed,name=Field3" json:"Field3,omitempty"` - Field4 []int64 `protobuf:"varint,4,rep,packed,name=Field4" json:"Field4,omitempty"` - Field5 []uint32 `protobuf:"varint,5,rep,packed,name=Field5" json:"Field5,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,packed,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,packed,name=Field7" json:"Field7,omitempty"` - Field8 []int64 `protobuf:"zigzag64,8,rep,packed,name=Field8" json:"Field8,omitempty"` - Field9 []uint32 `protobuf:"fixed32,9,rep,packed,name=Field9" json:"Field9,omitempty"` - Field10 []int32 `protobuf:"fixed32,10,rep,packed,name=Field10" json:"Field10,omitempty"` - Field11 []uint64 `protobuf:"fixed64,11,rep,packed,name=Field11" json:"Field11,omitempty"` - Field12 []int64 `protobuf:"fixed64,12,rep,packed,name=Field12" json:"Field12,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,packed,name=Field13" json:"Field13,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,packed,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,packed,name=Field2" json:"Field2,omitempty"` + Field3 []int32 `protobuf:"varint,3,rep,packed,name=Field3" json:"Field3,omitempty"` + Field4 []int64 `protobuf:"varint,4,rep,packed,name=Field4" json:"Field4,omitempty"` + Field5 []uint32 `protobuf:"varint,5,rep,packed,name=Field5" json:"Field5,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,packed,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,packed,name=Field7" json:"Field7,omitempty"` + Field8 []int64 `protobuf:"zigzag64,8,rep,packed,name=Field8" json:"Field8,omitempty"` + Field9 []uint32 `protobuf:"fixed32,9,rep,packed,name=Field9" json:"Field9,omitempty"` + Field10 []int32 `protobuf:"fixed32,10,rep,packed,name=Field10" json:"Field10,omitempty"` + Field11 []uint64 `protobuf:"fixed64,11,rep,packed,name=Field11" json:"Field11,omitempty"` + Field12 []int64 `protobuf:"fixed64,12,rep,packed,name=Field12" json:"Field12,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,packed,name=Field13" json:"Field13,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepPackedNative) Reset() { *m = NidRepPackedNative{} } -func (*NidRepPackedNative) ProtoMessage() {} -func (*NidRepPackedNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{4} } +func (m *NidRepPackedNative) Reset() { *m = NidRepPackedNative{} } +func (*NidRepPackedNative) ProtoMessage() {} +func (*NidRepPackedNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{4} +} +func (m *NidRepPackedNative) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidRepPackedNative.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 (dst *NidRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepPackedNative.Merge(dst, src) +} +func (m *NidRepPackedNative) XXX_Size() int { + return m.Size() +} +func (m *NidRepPackedNative) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepPackedNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepPackedNative proto.InternalMessageInfo type NinRepPackedNative struct { - Field1 []float64 `protobuf:"fixed64,1,rep,packed,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,packed,name=Field2" json:"Field2,omitempty"` - Field3 []int32 `protobuf:"varint,3,rep,packed,name=Field3" json:"Field3,omitempty"` - Field4 []int64 `protobuf:"varint,4,rep,packed,name=Field4" json:"Field4,omitempty"` - Field5 []uint32 `protobuf:"varint,5,rep,packed,name=Field5" json:"Field5,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,packed,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,packed,name=Field7" json:"Field7,omitempty"` - Field8 []int64 `protobuf:"zigzag64,8,rep,packed,name=Field8" json:"Field8,omitempty"` - Field9 []uint32 `protobuf:"fixed32,9,rep,packed,name=Field9" json:"Field9,omitempty"` - Field10 []int32 `protobuf:"fixed32,10,rep,packed,name=Field10" json:"Field10,omitempty"` - Field11 []uint64 `protobuf:"fixed64,11,rep,packed,name=Field11" json:"Field11,omitempty"` - Field12 []int64 `protobuf:"fixed64,12,rep,packed,name=Field12" json:"Field12,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,packed,name=Field13" json:"Field13,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,packed,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,packed,name=Field2" json:"Field2,omitempty"` + Field3 []int32 `protobuf:"varint,3,rep,packed,name=Field3" json:"Field3,omitempty"` + Field4 []int64 `protobuf:"varint,4,rep,packed,name=Field4" json:"Field4,omitempty"` + Field5 []uint32 `protobuf:"varint,5,rep,packed,name=Field5" json:"Field5,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,packed,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,packed,name=Field7" json:"Field7,omitempty"` + Field8 []int64 `protobuf:"zigzag64,8,rep,packed,name=Field8" json:"Field8,omitempty"` + Field9 []uint32 `protobuf:"fixed32,9,rep,packed,name=Field9" json:"Field9,omitempty"` + Field10 []int32 `protobuf:"fixed32,10,rep,packed,name=Field10" json:"Field10,omitempty"` + Field11 []uint64 `protobuf:"fixed64,11,rep,packed,name=Field11" json:"Field11,omitempty"` + Field12 []int64 `protobuf:"fixed64,12,rep,packed,name=Field12" json:"Field12,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,packed,name=Field13" json:"Field13,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } -func (*NinRepPackedNative) ProtoMessage() {} -func (*NinRepPackedNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{5} } +func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } +func (*NinRepPackedNative) ProtoMessage() {} +func (*NinRepPackedNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{5} +} +func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinRepPackedNative.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 (dst *NinRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepPackedNative.Merge(dst, src) +} +func (m *NinRepPackedNative) XXX_Size() int { + return m.Size() +} +func (m *NinRepPackedNative) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepPackedNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepPackedNative proto.InternalMessageInfo type NidOptStruct struct { - Field1 float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` - Field2 float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` - Field3 NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3"` - Field4 NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4"` - Field6 uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` - Field7 int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` - Field8 NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8"` - Field13 bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` - Field14 string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` - XXX_unrecognized []byte `json:"-"` + Field1 float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` + Field2 float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` + Field3 NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3"` + Field4 NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4"` + Field6 uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` + Field7 int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` + Field8 NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8"` + Field13 bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` + Field14 string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptStruct) Reset() { *m = NidOptStruct{} } -func (*NidOptStruct) ProtoMessage() {} -func (*NidOptStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{6} } +func (m *NidOptStruct) Reset() { *m = NidOptStruct{} } +func (*NidOptStruct) ProtoMessage() {} +func (*NidOptStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{6} +} +func (m *NidOptStruct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidOptStruct.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 (dst *NidOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptStruct.Merge(dst, src) +} +func (m *NidOptStruct) XXX_Size() int { + return m.Size() +} +func (m *NidOptStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptStruct proto.InternalMessageInfo type NinOptStruct struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` - Field4 *NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - Field8 *NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` + Field4 *NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + Field8 *NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptStruct) Reset() { *m = NinOptStruct{} } -func (*NinOptStruct) ProtoMessage() {} -func (*NinOptStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{7} } +func (m *NinOptStruct) Reset() { *m = NinOptStruct{} } +func (*NinOptStruct) ProtoMessage() {} +func (*NinOptStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{7} +} +func (m *NinOptStruct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinOptStruct.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 (dst *NinOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStruct.Merge(dst, src) +} +func (m *NinOptStruct) XXX_Size() int { + return m.Size() +} +func (m *NinOptStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptStruct proto.InternalMessageInfo type NidRepStruct struct { - Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - Field3 []NidOptNative `protobuf:"bytes,3,rep,name=Field3" json:"Field3"` - Field4 []NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4"` - Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - Field8 []NidOptNative `protobuf:"bytes,8,rep,name=Field8" json:"Field8"` - Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + Field3 []NidOptNative `protobuf:"bytes,3,rep,name=Field3" json:"Field3"` + Field4 []NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4"` + Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + Field8 []NidOptNative `protobuf:"bytes,8,rep,name=Field8" json:"Field8"` + Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepStruct) Reset() { *m = NidRepStruct{} } -func (*NidRepStruct) ProtoMessage() {} -func (*NidRepStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{8} } +func (m *NidRepStruct) Reset() { *m = NidRepStruct{} } +func (*NidRepStruct) ProtoMessage() {} +func (*NidRepStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{8} +} +func (m *NidRepStruct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidRepStruct.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 (dst *NidRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepStruct.Merge(dst, src) +} +func (m *NidRepStruct) XXX_Size() int { + return m.Size() +} +func (m *NidRepStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepStruct proto.InternalMessageInfo type NinRepStruct struct { - Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - Field3 []*NidOptNative `protobuf:"bytes,3,rep,name=Field3" json:"Field3,omitempty"` - Field4 []*NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - Field8 []*NidOptNative `protobuf:"bytes,8,rep,name=Field8" json:"Field8,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + Field3 []*NidOptNative `protobuf:"bytes,3,rep,name=Field3" json:"Field3,omitempty"` + Field4 []*NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + Field8 []*NidOptNative `protobuf:"bytes,8,rep,name=Field8" json:"Field8,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepStruct) Reset() { *m = NinRepStruct{} } -func (*NinRepStruct) ProtoMessage() {} -func (*NinRepStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{9} } +func (m *NinRepStruct) Reset() { *m = NinRepStruct{} } +func (*NinRepStruct) ProtoMessage() {} +func (*NinRepStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{9} +} +func (m *NinRepStruct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinRepStruct.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 (dst *NinRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepStruct.Merge(dst, src) +} +func (m *NinRepStruct) XXX_Size() int { + return m.Size() +} +func (m *NinRepStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepStruct proto.InternalMessageInfo type NidEmbeddedStruct struct { - *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` - Field200 NidOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200"` - Field210 bool `protobuf:"varint,210,opt,name=Field210" json:"Field210"` - XXX_unrecognized []byte `json:"-"` + *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` + Field200 NidOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200"` + Field210 bool `protobuf:"varint,210,opt,name=Field210" json:"Field210"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidEmbeddedStruct) Reset() { *m = NidEmbeddedStruct{} } -func (*NidEmbeddedStruct) ProtoMessage() {} -func (*NidEmbeddedStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{10} } +func (m *NidEmbeddedStruct) Reset() { *m = NidEmbeddedStruct{} } +func (*NidEmbeddedStruct) ProtoMessage() {} +func (*NidEmbeddedStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{10} +} +func (m *NidEmbeddedStruct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidEmbeddedStruct.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 (dst *NidEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidEmbeddedStruct.Merge(dst, src) +} +func (m *NidEmbeddedStruct) XXX_Size() int { + return m.Size() +} +func (m *NidEmbeddedStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NidEmbeddedStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NidEmbeddedStruct proto.InternalMessageInfo type NinEmbeddedStruct struct { - *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` - Field200 *NidOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` - Field210 *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` - XXX_unrecognized []byte `json:"-"` + *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` + Field200 *NidOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` + Field210 *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinEmbeddedStruct) Reset() { *m = NinEmbeddedStruct{} } -func (*NinEmbeddedStruct) ProtoMessage() {} -func (*NinEmbeddedStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{11} } +func (m *NinEmbeddedStruct) Reset() { *m = NinEmbeddedStruct{} } +func (*NinEmbeddedStruct) ProtoMessage() {} +func (*NinEmbeddedStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{11} +} +func (m *NinEmbeddedStruct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinEmbeddedStruct.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 (dst *NinEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStruct.Merge(dst, src) +} +func (m *NinEmbeddedStruct) XXX_Size() int { + return m.Size() +} +func (m *NinEmbeddedStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NinEmbeddedStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NinEmbeddedStruct proto.InternalMessageInfo type NidNestedStruct struct { - Field1 NidOptStruct `protobuf:"bytes,1,opt,name=Field1" json:"Field1"` - Field2 []NidRepStruct `protobuf:"bytes,2,rep,name=Field2" json:"Field2"` - XXX_unrecognized []byte `json:"-"` + Field1 NidOptStruct `protobuf:"bytes,1,opt,name=Field1" json:"Field1"` + Field2 []NidRepStruct `protobuf:"bytes,2,rep,name=Field2" json:"Field2"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidNestedStruct) Reset() { *m = NidNestedStruct{} } -func (*NidNestedStruct) ProtoMessage() {} -func (*NidNestedStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{12} } +func (m *NidNestedStruct) Reset() { *m = NidNestedStruct{} } +func (*NidNestedStruct) ProtoMessage() {} +func (*NidNestedStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{12} +} +func (m *NidNestedStruct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidNestedStruct.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 (dst *NidNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidNestedStruct.Merge(dst, src) +} +func (m *NidNestedStruct) XXX_Size() int { + return m.Size() +} +func (m *NidNestedStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NidNestedStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NidNestedStruct proto.InternalMessageInfo type NinNestedStruct struct { - Field1 *NinOptStruct `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 []*NinRepStruct `protobuf:"bytes,2,rep,name=Field2" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *NinOptStruct `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 []*NinRepStruct `protobuf:"bytes,2,rep,name=Field2" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinNestedStruct) Reset() { *m = NinNestedStruct{} } -func (*NinNestedStruct) ProtoMessage() {} -func (*NinNestedStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{13} } +func (m *NinNestedStruct) Reset() { *m = NinNestedStruct{} } +func (*NinNestedStruct) ProtoMessage() {} +func (*NinNestedStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{13} +} +func (m *NinNestedStruct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinNestedStruct.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 (dst *NinNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStruct.Merge(dst, src) +} +func (m *NinNestedStruct) XXX_Size() int { + return m.Size() +} +func (m *NinNestedStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NinNestedStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NinNestedStruct proto.InternalMessageInfo type NidOptCustom struct { - Id Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id"` - Value github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value"` - XXX_unrecognized []byte `json:"-"` + Id Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id"` + Value github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptCustom) Reset() { *m = NidOptCustom{} } -func (*NidOptCustom) ProtoMessage() {} -func (*NidOptCustom) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{14} } +func (m *NidOptCustom) Reset() { *m = NidOptCustom{} } +func (*NidOptCustom) ProtoMessage() {} +func (*NidOptCustom) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{14} +} +func (m *NidOptCustom) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidOptCustom.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 (dst *NidOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptCustom.Merge(dst, src) +} +func (m *NidOptCustom) XXX_Size() int { + return m.Size() +} +func (m *NidOptCustom) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptCustom.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptCustom proto.InternalMessageInfo type CustomDash struct { - Value *github_com_gogo_protobuf_test_custom_dash_type.Bytes `protobuf:"bytes,1,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom-dash-type.Bytes" json:"Value,omitempty"` - XXX_unrecognized []byte `json:"-"` + Value *github_com_gogo_protobuf_test_custom_dash_type.Bytes `protobuf:"bytes,1,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom-dash-type.Bytes" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomDash) Reset() { *m = CustomDash{} } -func (*CustomDash) ProtoMessage() {} -func (*CustomDash) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{15} } +func (m *CustomDash) Reset() { *m = CustomDash{} } +func (*CustomDash) ProtoMessage() {} +func (*CustomDash) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{15} +} +func (m *CustomDash) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CustomDash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CustomDash.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 (dst *CustomDash) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomDash.Merge(dst, src) +} +func (m *CustomDash) XXX_Size() int { + return m.Size() +} +func (m *CustomDash) XXX_DiscardUnknown() { + xxx_messageInfo_CustomDash.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomDash proto.InternalMessageInfo type NinOptCustom struct { - Id *Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id,omitempty"` - Value *github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` - XXX_unrecognized []byte `json:"-"` + Id *Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id,omitempty"` + Value *github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptCustom) Reset() { *m = NinOptCustom{} } -func (*NinOptCustom) ProtoMessage() {} -func (*NinOptCustom) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{16} } +func (m *NinOptCustom) Reset() { *m = NinOptCustom{} } +func (*NinOptCustom) ProtoMessage() {} +func (*NinOptCustom) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{16} +} +func (m *NinOptCustom) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinOptCustom.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 (dst *NinOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptCustom.Merge(dst, src) +} +func (m *NinOptCustom) XXX_Size() int { + return m.Size() +} +func (m *NinOptCustom) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptCustom.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptCustom proto.InternalMessageInfo type NidRepCustom struct { - Id []Uuid `protobuf:"bytes,1,rep,name=Id,customtype=Uuid" json:"Id"` - Value []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value"` - XXX_unrecognized []byte `json:"-"` + Id []Uuid `protobuf:"bytes,1,rep,name=Id,customtype=Uuid" json:"Id"` + Value []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepCustom) Reset() { *m = NidRepCustom{} } -func (*NidRepCustom) ProtoMessage() {} -func (*NidRepCustom) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{17} } +func (m *NidRepCustom) Reset() { *m = NidRepCustom{} } +func (*NidRepCustom) ProtoMessage() {} +func (*NidRepCustom) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{17} +} +func (m *NidRepCustom) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidRepCustom.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 (dst *NidRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepCustom.Merge(dst, src) +} +func (m *NidRepCustom) XXX_Size() int { + return m.Size() +} +func (m *NidRepCustom) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepCustom.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepCustom proto.InternalMessageInfo type NinRepCustom struct { - Id []Uuid `protobuf:"bytes,1,rep,name=Id,customtype=Uuid" json:"Id,omitempty"` - Value []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` - XXX_unrecognized []byte `json:"-"` + Id []Uuid `protobuf:"bytes,1,rep,name=Id,customtype=Uuid" json:"Id,omitempty"` + Value []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepCustom) Reset() { *m = NinRepCustom{} } -func (*NinRepCustom) ProtoMessage() {} -func (*NinRepCustom) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{18} } +func (m *NinRepCustom) Reset() { *m = NinRepCustom{} } +func (*NinRepCustom) ProtoMessage() {} +func (*NinRepCustom) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{18} +} +func (m *NinRepCustom) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinRepCustom.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 (dst *NinRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepCustom.Merge(dst, src) +} +func (m *NinRepCustom) XXX_Size() int { + return m.Size() +} +func (m *NinRepCustom) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepCustom.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepCustom proto.InternalMessageInfo type NinOptNativeUnion struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` - Field4 *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` - Field5 *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` + Field4 *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` + Field5 *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptNativeUnion) Reset() { *m = NinOptNativeUnion{} } -func (*NinOptNativeUnion) ProtoMessage() {} -func (*NinOptNativeUnion) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{19} } +func (m *NinOptNativeUnion) Reset() { *m = NinOptNativeUnion{} } +func (*NinOptNativeUnion) ProtoMessage() {} +func (*NinOptNativeUnion) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{19} +} +func (m *NinOptNativeUnion) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinOptNativeUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinOptNativeUnion.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 (dst *NinOptNativeUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeUnion.Merge(dst, src) +} +func (m *NinOptNativeUnion) XXX_Size() int { + return m.Size() +} +func (m *NinOptNativeUnion) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptNativeUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptNativeUnion proto.InternalMessageInfo type NinOptStructUnion struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` - Field4 *NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` + Field4 *NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptStructUnion) Reset() { *m = NinOptStructUnion{} } -func (*NinOptStructUnion) ProtoMessage() {} -func (*NinOptStructUnion) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{20} } +func (m *NinOptStructUnion) Reset() { *m = NinOptStructUnion{} } +func (*NinOptStructUnion) ProtoMessage() {} +func (*NinOptStructUnion) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{20} +} +func (m *NinOptStructUnion) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinOptStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinOptStructUnion.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 (dst *NinOptStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStructUnion.Merge(dst, src) +} +func (m *NinOptStructUnion) XXX_Size() int { + return m.Size() +} +func (m *NinOptStructUnion) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptStructUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptStructUnion proto.InternalMessageInfo type NinEmbeddedStructUnion struct { - *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` - Field200 *NinOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` - Field210 *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` - XXX_unrecognized []byte `json:"-"` + *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` + Field200 *NinOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` + Field210 *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinEmbeddedStructUnion) Reset() { *m = NinEmbeddedStructUnion{} } -func (*NinEmbeddedStructUnion) ProtoMessage() {} -func (*NinEmbeddedStructUnion) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{21} } +func (m *NinEmbeddedStructUnion) Reset() { *m = NinEmbeddedStructUnion{} } +func (*NinEmbeddedStructUnion) ProtoMessage() {} +func (*NinEmbeddedStructUnion) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{21} +} +func (m *NinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinEmbeddedStructUnion.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 (dst *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStructUnion.Merge(dst, src) +} +func (m *NinEmbeddedStructUnion) XXX_Size() int { + return m.Size() +} +func (m *NinEmbeddedStructUnion) XXX_DiscardUnknown() { + xxx_messageInfo_NinEmbeddedStructUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_NinEmbeddedStructUnion proto.InternalMessageInfo type NinNestedStructUnion struct { - Field1 *NinOptNativeUnion `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *NinOptStructUnion `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *NinEmbeddedStructUnion `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *NinOptNativeUnion `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *NinOptStructUnion `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *NinEmbeddedStructUnion `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinNestedStructUnion) Reset() { *m = NinNestedStructUnion{} } -func (*NinNestedStructUnion) ProtoMessage() {} -func (*NinNestedStructUnion) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{22} } +func (m *NinNestedStructUnion) Reset() { *m = NinNestedStructUnion{} } +func (*NinNestedStructUnion) ProtoMessage() {} +func (*NinNestedStructUnion) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{22} +} +func (m *NinNestedStructUnion) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinNestedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinNestedStructUnion.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 (dst *NinNestedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStructUnion.Merge(dst, src) +} +func (m *NinNestedStructUnion) XXX_Size() int { + return m.Size() +} +func (m *NinNestedStructUnion) XXX_DiscardUnknown() { + xxx_messageInfo_NinNestedStructUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_NinNestedStructUnion proto.InternalMessageInfo type Tree struct { - Or *OrBranch `protobuf:"bytes,1,opt,name=Or" json:"Or,omitempty"` - And *AndBranch `protobuf:"bytes,2,opt,name=And" json:"And,omitempty"` - Leaf *Leaf `protobuf:"bytes,3,opt,name=Leaf" json:"Leaf,omitempty"` - XXX_unrecognized []byte `json:"-"` + Or *OrBranch `protobuf:"bytes,1,opt,name=Or" json:"Or,omitempty"` + And *AndBranch `protobuf:"bytes,2,opt,name=And" json:"And,omitempty"` + Leaf *Leaf `protobuf:"bytes,3,opt,name=Leaf" json:"Leaf,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Tree) Reset() { *m = Tree{} } -func (*Tree) ProtoMessage() {} -func (*Tree) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{23} } +func (m *Tree) Reset() { *m = Tree{} } +func (*Tree) ProtoMessage() {} +func (*Tree) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{23} +} +func (m *Tree) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Tree.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 (dst *Tree) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tree.Merge(dst, src) +} +func (m *Tree) XXX_Size() int { + return m.Size() +} +func (m *Tree) XXX_DiscardUnknown() { + xxx_messageInfo_Tree.DiscardUnknown(m) +} + +var xxx_messageInfo_Tree proto.InternalMessageInfo type OrBranch struct { - Left Tree `protobuf:"bytes,1,opt,name=Left" json:"Left"` - Right Tree `protobuf:"bytes,2,opt,name=Right" json:"Right"` - XXX_unrecognized []byte `json:"-"` + Left Tree `protobuf:"bytes,1,opt,name=Left" json:"Left"` + Right Tree `protobuf:"bytes,2,opt,name=Right" json:"Right"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *OrBranch) Reset() { *m = OrBranch{} } -func (*OrBranch) ProtoMessage() {} -func (*OrBranch) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{24} } +func (m *OrBranch) Reset() { *m = OrBranch{} } +func (*OrBranch) ProtoMessage() {} +func (*OrBranch) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{24} +} +func (m *OrBranch) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OrBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OrBranch.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 (dst *OrBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrBranch.Merge(dst, src) +} +func (m *OrBranch) XXX_Size() int { + return m.Size() +} +func (m *OrBranch) XXX_DiscardUnknown() { + xxx_messageInfo_OrBranch.DiscardUnknown(m) +} + +var xxx_messageInfo_OrBranch proto.InternalMessageInfo type AndBranch struct { - Left Tree `protobuf:"bytes,1,opt,name=Left" json:"Left"` - Right Tree `protobuf:"bytes,2,opt,name=Right" json:"Right"` - XXX_unrecognized []byte `json:"-"` + Left Tree `protobuf:"bytes,1,opt,name=Left" json:"Left"` + Right Tree `protobuf:"bytes,2,opt,name=Right" json:"Right"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AndBranch) Reset() { *m = AndBranch{} } -func (*AndBranch) ProtoMessage() {} -func (*AndBranch) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{25} } +func (m *AndBranch) Reset() { *m = AndBranch{} } +func (*AndBranch) ProtoMessage() {} +func (*AndBranch) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{25} +} +func (m *AndBranch) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AndBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AndBranch.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 (dst *AndBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndBranch.Merge(dst, src) +} +func (m *AndBranch) XXX_Size() int { + return m.Size() +} +func (m *AndBranch) XXX_DiscardUnknown() { + xxx_messageInfo_AndBranch.DiscardUnknown(m) +} + +var xxx_messageInfo_AndBranch proto.InternalMessageInfo type Leaf struct { - Value int64 `protobuf:"varint,1,opt,name=Value" json:"Value"` - StrValue string `protobuf:"bytes,2,opt,name=StrValue" json:"StrValue"` - XXX_unrecognized []byte `json:"-"` + Value int64 `protobuf:"varint,1,opt,name=Value" json:"Value"` + StrValue string `protobuf:"bytes,2,opt,name=StrValue" json:"StrValue"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Leaf) Reset() { *m = Leaf{} } -func (*Leaf) ProtoMessage() {} -func (*Leaf) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{26} } +func (m *Leaf) Reset() { *m = Leaf{} } +func (*Leaf) ProtoMessage() {} +func (*Leaf) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{26} +} +func (m *Leaf) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Leaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Leaf.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 (dst *Leaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_Leaf.Merge(dst, src) +} +func (m *Leaf) XXX_Size() int { + return m.Size() +} +func (m *Leaf) XXX_DiscardUnknown() { + xxx_messageInfo_Leaf.DiscardUnknown(m) +} + +var xxx_messageInfo_Leaf proto.InternalMessageInfo type DeepTree struct { - Down *ADeepBranch `protobuf:"bytes,1,opt,name=Down" json:"Down,omitempty"` - And *AndDeepBranch `protobuf:"bytes,2,opt,name=And" json:"And,omitempty"` - Leaf *DeepLeaf `protobuf:"bytes,3,opt,name=Leaf" json:"Leaf,omitempty"` - XXX_unrecognized []byte `json:"-"` + Down *ADeepBranch `protobuf:"bytes,1,opt,name=Down" json:"Down,omitempty"` + And *AndDeepBranch `protobuf:"bytes,2,opt,name=And" json:"And,omitempty"` + Leaf *DeepLeaf `protobuf:"bytes,3,opt,name=Leaf" json:"Leaf,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DeepTree) Reset() { *m = DeepTree{} } -func (*DeepTree) ProtoMessage() {} -func (*DeepTree) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{27} } +func (m *DeepTree) Reset() { *m = DeepTree{} } +func (*DeepTree) ProtoMessage() {} +func (*DeepTree) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{27} +} +func (m *DeepTree) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DeepTree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DeepTree.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 (dst *DeepTree) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepTree.Merge(dst, src) +} +func (m *DeepTree) XXX_Size() int { + return m.Size() +} +func (m *DeepTree) XXX_DiscardUnknown() { + xxx_messageInfo_DeepTree.DiscardUnknown(m) +} + +var xxx_messageInfo_DeepTree proto.InternalMessageInfo type ADeepBranch struct { - Down DeepTree `protobuf:"bytes,2,opt,name=Down" json:"Down"` - XXX_unrecognized []byte `json:"-"` + Down DeepTree `protobuf:"bytes,2,opt,name=Down" json:"Down"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ADeepBranch) Reset() { *m = ADeepBranch{} } -func (*ADeepBranch) ProtoMessage() {} -func (*ADeepBranch) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{28} } +func (m *ADeepBranch) Reset() { *m = ADeepBranch{} } +func (*ADeepBranch) ProtoMessage() {} +func (*ADeepBranch) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{28} +} +func (m *ADeepBranch) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ADeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ADeepBranch.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 (dst *ADeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_ADeepBranch.Merge(dst, src) +} +func (m *ADeepBranch) XXX_Size() int { + return m.Size() +} +func (m *ADeepBranch) XXX_DiscardUnknown() { + xxx_messageInfo_ADeepBranch.DiscardUnknown(m) +} + +var xxx_messageInfo_ADeepBranch proto.InternalMessageInfo type AndDeepBranch struct { - Left DeepTree `protobuf:"bytes,1,opt,name=Left" json:"Left"` - Right DeepTree `protobuf:"bytes,2,opt,name=Right" json:"Right"` - XXX_unrecognized []byte `json:"-"` + Left DeepTree `protobuf:"bytes,1,opt,name=Left" json:"Left"` + Right DeepTree `protobuf:"bytes,2,opt,name=Right" json:"Right"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AndDeepBranch) Reset() { *m = AndDeepBranch{} } -func (*AndDeepBranch) ProtoMessage() {} -func (*AndDeepBranch) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{29} } +func (m *AndDeepBranch) Reset() { *m = AndDeepBranch{} } +func (*AndDeepBranch) ProtoMessage() {} +func (*AndDeepBranch) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{29} +} +func (m *AndDeepBranch) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AndDeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AndDeepBranch.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 (dst *AndDeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndDeepBranch.Merge(dst, src) +} +func (m *AndDeepBranch) XXX_Size() int { + return m.Size() +} +func (m *AndDeepBranch) XXX_DiscardUnknown() { + xxx_messageInfo_AndDeepBranch.DiscardUnknown(m) +} + +var xxx_messageInfo_AndDeepBranch proto.InternalMessageInfo type DeepLeaf struct { - Tree Tree `protobuf:"bytes,1,opt,name=Tree" json:"Tree"` - XXX_unrecognized []byte `json:"-"` + Tree Tree `protobuf:"bytes,1,opt,name=Tree" json:"Tree"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DeepLeaf) Reset() { *m = DeepLeaf{} } -func (*DeepLeaf) ProtoMessage() {} -func (*DeepLeaf) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{30} } +func (m *DeepLeaf) Reset() { *m = DeepLeaf{} } +func (*DeepLeaf) ProtoMessage() {} +func (*DeepLeaf) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{30} +} +func (m *DeepLeaf) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DeepLeaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DeepLeaf.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 (dst *DeepLeaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepLeaf.Merge(dst, src) +} +func (m *DeepLeaf) XXX_Size() int { + return m.Size() +} +func (m *DeepLeaf) XXX_DiscardUnknown() { + xxx_messageInfo_DeepLeaf.DiscardUnknown(m) +} + +var xxx_messageInfo_DeepLeaf proto.InternalMessageInfo type Nil struct { - XXX_unrecognized []byte `json:"-"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Nil) Reset() { *m = Nil{} } -func (*Nil) ProtoMessage() {} -func (*Nil) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{31} } +func (m *Nil) Reset() { *m = Nil{} } +func (*Nil) ProtoMessage() {} +func (*Nil) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{31} +} +func (m *Nil) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Nil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Nil.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 (dst *Nil) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nil.Merge(dst, src) +} +func (m *Nil) XXX_Size() int { + return m.Size() +} +func (m *Nil) XXX_DiscardUnknown() { + xxx_messageInfo_Nil.DiscardUnknown(m) +} + +var xxx_messageInfo_Nil proto.InternalMessageInfo type NidOptEnum struct { - Field1 TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1"` - XXX_unrecognized []byte `json:"-"` + Field1 TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptEnum) Reset() { *m = NidOptEnum{} } -func (*NidOptEnum) ProtoMessage() {} -func (*NidOptEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{32} } +func (m *NidOptEnum) Reset() { *m = NidOptEnum{} } +func (*NidOptEnum) ProtoMessage() {} +func (*NidOptEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{32} +} +func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidOptEnum.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 (dst *NidOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptEnum.Merge(dst, src) +} +func (m *NidOptEnum) XXX_Size() int { + return m.Size() +} +func (m *NidOptEnum) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptEnum proto.InternalMessageInfo type NinOptEnum struct { - Field1 *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` - Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` - Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` + Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` + Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptEnum) Reset() { *m = NinOptEnum{} } -func (*NinOptEnum) ProtoMessage() {} -func (*NinOptEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{33} } +func (m *NinOptEnum) Reset() { *m = NinOptEnum{} } +func (*NinOptEnum) ProtoMessage() {} +func (*NinOptEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{33} +} +func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinOptEnum.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 (dst *NinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnum.Merge(dst, src) +} +func (m *NinOptEnum) XXX_Size() int { + return m.Size() +} +func (m *NinOptEnum) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptEnum proto.InternalMessageInfo type NidRepEnum struct { - Field1 []TheTestEnum `protobuf:"varint,1,rep,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` - Field2 []YetAnotherTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` - Field3 []YetYetAnotherTestEnum `protobuf:"varint,3,rep,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []TheTestEnum `protobuf:"varint,1,rep,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` + Field2 []YetAnotherTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` + Field3 []YetYetAnotherTestEnum `protobuf:"varint,3,rep,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepEnum) Reset() { *m = NidRepEnum{} } -func (*NidRepEnum) ProtoMessage() {} -func (*NidRepEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{34} } +func (m *NidRepEnum) Reset() { *m = NidRepEnum{} } +func (*NidRepEnum) ProtoMessage() {} +func (*NidRepEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{34} +} +func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidRepEnum.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 (dst *NidRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepEnum.Merge(dst, src) +} +func (m *NidRepEnum) XXX_Size() int { + return m.Size() +} +func (m *NidRepEnum) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepEnum proto.InternalMessageInfo type NinRepEnum struct { - Field1 []TheTestEnum `protobuf:"varint,1,rep,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` - Field2 []YetAnotherTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` - Field3 []YetYetAnotherTestEnum `protobuf:"varint,3,rep,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []TheTestEnum `protobuf:"varint,1,rep,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` + Field2 []YetAnotherTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` + Field3 []YetYetAnotherTestEnum `protobuf:"varint,3,rep,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepEnum) Reset() { *m = NinRepEnum{} } -func (*NinRepEnum) ProtoMessage() {} -func (*NinRepEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{35} } +func (m *NinRepEnum) Reset() { *m = NinRepEnum{} } +func (*NinRepEnum) ProtoMessage() {} +func (*NinRepEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{35} +} +func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinRepEnum.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 (dst *NinRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepEnum.Merge(dst, src) +} +func (m *NinRepEnum) XXX_Size() int { + return m.Size() +} +func (m *NinRepEnum) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepEnum proto.InternalMessageInfo type NinOptEnumDefault struct { - Field1 *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum,def=2" json:"Field1,omitempty"` - Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum,def=1" json:"Field2,omitempty"` - Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum,def=0" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum,def=2" json:"Field1,omitempty"` + Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum,def=1" json:"Field2,omitempty"` + Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum,def=0" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptEnumDefault) Reset() { *m = NinOptEnumDefault{} } -func (*NinOptEnumDefault) ProtoMessage() {} -func (*NinOptEnumDefault) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{36} } +func (m *NinOptEnumDefault) Reset() { *m = NinOptEnumDefault{} } +func (*NinOptEnumDefault) ProtoMessage() {} +func (*NinOptEnumDefault) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{36} +} +func (m *NinOptEnumDefault) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinOptEnumDefault.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 (dst *NinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnumDefault.Merge(dst, src) +} +func (m *NinOptEnumDefault) XXX_Size() int { + return m.Size() +} +func (m *NinOptEnumDefault) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptEnumDefault.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptEnumDefault proto.InternalMessageInfo const Default_NinOptEnumDefault_Field1 TheTestEnum = C const Default_NinOptEnumDefault_Field2 YetAnotherTestEnum = BetterYetBB @@ -807,26 +1854,86 @@ func (m *NinOptEnumDefault) GetField3() YetYetAnotherTestEnum { } type AnotherNinOptEnum struct { - Field1 *AnotherTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.AnotherTestEnum" json:"Field1,omitempty"` - Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` - Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *AnotherTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.AnotherTestEnum" json:"Field1,omitempty"` + Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` + Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AnotherNinOptEnum) Reset() { *m = AnotherNinOptEnum{} } -func (*AnotherNinOptEnum) ProtoMessage() {} -func (*AnotherNinOptEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{37} } +func (m *AnotherNinOptEnum) Reset() { *m = AnotherNinOptEnum{} } +func (*AnotherNinOptEnum) ProtoMessage() {} +func (*AnotherNinOptEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{37} +} +func (m *AnotherNinOptEnum) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AnotherNinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AnotherNinOptEnum.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 (dst *AnotherNinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnum.Merge(dst, src) +} +func (m *AnotherNinOptEnum) XXX_Size() int { + return m.Size() +} +func (m *AnotherNinOptEnum) XXX_DiscardUnknown() { + xxx_messageInfo_AnotherNinOptEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_AnotherNinOptEnum proto.InternalMessageInfo type AnotherNinOptEnumDefault struct { - Field1 *AnotherTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.AnotherTestEnum,def=11" json:"Field1,omitempty"` - Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum,def=1" json:"Field2,omitempty"` - Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum,def=0" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *AnotherTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.AnotherTestEnum,def=11" json:"Field1,omitempty"` + Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum,def=1" json:"Field2,omitempty"` + Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum,def=0" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AnotherNinOptEnumDefault) Reset() { *m = AnotherNinOptEnumDefault{} } -func (*AnotherNinOptEnumDefault) ProtoMessage() {} -func (*AnotherNinOptEnumDefault) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{38} } +func (m *AnotherNinOptEnumDefault) Reset() { *m = AnotherNinOptEnumDefault{} } +func (*AnotherNinOptEnumDefault) ProtoMessage() {} +func (*AnotherNinOptEnumDefault) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{38} +} +func (m *AnotherNinOptEnumDefault) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AnotherNinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AnotherNinOptEnumDefault.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 (dst *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnumDefault.Merge(dst, src) +} +func (m *AnotherNinOptEnumDefault) XXX_Size() int { + return m.Size() +} +func (m *AnotherNinOptEnumDefault) XXX_DiscardUnknown() { + xxx_messageInfo_AnotherNinOptEnumDefault.DiscardUnknown(m) +} + +var xxx_messageInfo_AnotherNinOptEnumDefault proto.InternalMessageInfo const Default_AnotherNinOptEnumDefault_Field1 AnotherTestEnum = E const Default_AnotherNinOptEnumDefault_Field2 YetAnotherTestEnum = BetterYetBB @@ -854,25 +1961,59 @@ func (m *AnotherNinOptEnumDefault) GetField3() YetYetAnotherTestEnum { } type Timer struct { - Time1 int64 `protobuf:"fixed64,1,opt,name=Time1" json:"Time1"` - Time2 int64 `protobuf:"fixed64,2,opt,name=Time2" json:"Time2"` - Data []byte `protobuf:"bytes,3,opt,name=Data" json:"Data"` - XXX_unrecognized []byte `json:"-"` + Time1 int64 `protobuf:"fixed64,1,opt,name=Time1" json:"Time1"` + Time2 int64 `protobuf:"fixed64,2,opt,name=Time2" json:"Time2"` + Data []byte `protobuf:"bytes,3,opt,name=Data" json:"Data"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Timer) Reset() { *m = Timer{} } -func (*Timer) ProtoMessage() {} -func (*Timer) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{39} } +func (m *Timer) Reset() { *m = Timer{} } +func (*Timer) ProtoMessage() {} +func (*Timer) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{39} +} +func (m *Timer) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Timer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Timer.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 (dst *Timer) XXX_Merge(src proto.Message) { + xxx_messageInfo_Timer.Merge(dst, src) +} +func (m *Timer) XXX_Size() int { + return m.Size() +} +func (m *Timer) XXX_DiscardUnknown() { + xxx_messageInfo_Timer.DiscardUnknown(m) +} + +var xxx_messageInfo_Timer proto.InternalMessageInfo type MyExtendable struct { - Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MyExtendable) Reset() { *m = MyExtendable{} } -func (*MyExtendable) ProtoMessage() {} -func (*MyExtendable) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{40} } +func (m *MyExtendable) Reset() { *m = MyExtendable{} } +func (*MyExtendable) ProtoMessage() {} +func (*MyExtendable) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{40} +} var extRange_MyExtendable = []proto.ExtensionRange{ {Start: 100, End: 199}, @@ -881,18 +2022,48 @@ var extRange_MyExtendable = []proto.ExtensionRange{ func (*MyExtendable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MyExtendable } +func (m *MyExtendable) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MyExtendable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MyExtendable.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 (dst *MyExtendable) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyExtendable.Merge(dst, src) +} +func (m *MyExtendable) XXX_Size() int { + return m.Size() +} +func (m *MyExtendable) XXX_DiscardUnknown() { + xxx_messageInfo_MyExtendable.DiscardUnknown(m) +} + +var xxx_messageInfo_MyExtendable proto.InternalMessageInfo type OtherExtenable struct { Field2 *int64 `protobuf:"varint,2,opt,name=Field2" json:"Field2,omitempty"` Field13 *int64 `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` M *MyExtendable `protobuf:"bytes,1,opt,name=M" json:"M,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *OtherExtenable) Reset() { *m = OtherExtenable{} } -func (*OtherExtenable) ProtoMessage() {} -func (*OtherExtenable) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{41} } +func (m *OtherExtenable) Reset() { *m = OtherExtenable{} } +func (*OtherExtenable) ProtoMessage() {} +func (*OtherExtenable) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{41} +} var extRange_OtherExtenable = []proto.ExtensionRange{ {Start: 14, End: 16}, @@ -902,34 +2073,120 @@ var extRange_OtherExtenable = []proto.ExtensionRange{ func (*OtherExtenable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OtherExtenable } - -type NestedDefinition struct { - Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` - EnumField *NestedDefinition_NestedEnum `protobuf:"varint,2,opt,name=EnumField,enum=test.NestedDefinition_NestedEnum" json:"EnumField,omitempty"` - NNM *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,3,opt,name=NNM" json:"NNM,omitempty"` - NM *NestedDefinition_NestedMessage `protobuf:"bytes,4,opt,name=NM" json:"NM,omitempty"` - XXX_unrecognized []byte `json:"-"` +func (m *OtherExtenable) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OtherExtenable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OtherExtenable.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 (dst *OtherExtenable) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherExtenable.Merge(dst, src) +} +func (m *OtherExtenable) XXX_Size() int { + return m.Size() +} +func (m *OtherExtenable) XXX_DiscardUnknown() { + xxx_messageInfo_OtherExtenable.DiscardUnknown(m) } -func (m *NestedDefinition) Reset() { *m = NestedDefinition{} } -func (*NestedDefinition) ProtoMessage() {} -func (*NestedDefinition) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{42} } +var xxx_messageInfo_OtherExtenable proto.InternalMessageInfo + +type NestedDefinition struct { + Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + EnumField *NestedDefinition_NestedEnum `protobuf:"varint,2,opt,name=EnumField,enum=test.NestedDefinition_NestedEnum" json:"EnumField,omitempty"` + NNM *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,3,opt,name=NNM" json:"NNM,omitempty"` + NM *NestedDefinition_NestedMessage `protobuf:"bytes,4,opt,name=NM" json:"NM,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NestedDefinition) Reset() { *m = NestedDefinition{} } +func (*NestedDefinition) ProtoMessage() {} +func (*NestedDefinition) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{42} +} +func (m *NestedDefinition) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NestedDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NestedDefinition.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 (dst *NestedDefinition) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition.Merge(dst, src) +} +func (m *NestedDefinition) XXX_Size() int { + return m.Size() +} +func (m *NestedDefinition) XXX_DiscardUnknown() { + xxx_messageInfo_NestedDefinition.DiscardUnknown(m) +} + +var xxx_messageInfo_NestedDefinition proto.InternalMessageInfo type NestedDefinition_NestedMessage struct { - NestedField1 *uint64 `protobuf:"fixed64,1,opt,name=NestedField1" json:"NestedField1,omitempty"` - NNM *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,2,opt,name=NNM" json:"NNM,omitempty"` - XXX_unrecognized []byte `json:"-"` + NestedField1 *uint64 `protobuf:"fixed64,1,opt,name=NestedField1" json:"NestedField1,omitempty"` + NNM *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,2,opt,name=NNM" json:"NNM,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *NestedDefinition_NestedMessage) Reset() { *m = NestedDefinition_NestedMessage{} } func (*NestedDefinition_NestedMessage) ProtoMessage() {} func (*NestedDefinition_NestedMessage) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{42, 0} + return fileDescriptor_thetest_3e4f682cb8349b83, []int{42, 0} +} +func (m *NestedDefinition_NestedMessage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NestedDefinition_NestedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NestedDefinition_NestedMessage.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 (dst *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage.Merge(dst, src) +} +func (m *NestedDefinition_NestedMessage) XXX_Size() int { + return m.Size() +} +func (m *NestedDefinition_NestedMessage) XXX_DiscardUnknown() { + xxx_messageInfo_NestedDefinition_NestedMessage.DiscardUnknown(m) } +var xxx_messageInfo_NestedDefinition_NestedMessage proto.InternalMessageInfo + type NestedDefinition_NestedMessage_NestedNestedMsg struct { - NestedNestedField1 *string `protobuf:"bytes,10,opt,name=NestedNestedField1" json:"NestedNestedField1,omitempty"` - XXX_unrecognized []byte `json:"-"` + NestedNestedField1 *string `protobuf:"bytes,10,opt,name=NestedNestedField1" json:"NestedNestedField1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Reset() { @@ -937,42 +2194,128 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Reset() { } func (*NestedDefinition_NestedMessage_NestedNestedMsg) ProtoMessage() {} func (*NestedDefinition_NestedMessage_NestedNestedMsg) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{42, 0, 0} + return fileDescriptor_thetest_3e4f682cb8349b83, []int{42, 0, 0} } +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.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 (dst *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(dst, src) +} +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Size() int { + return m.Size() +} +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_DiscardUnknown() { + xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.DiscardUnknown(m) +} + +var xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg proto.InternalMessageInfo type NestedScope struct { - A *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,1,opt,name=A" json:"A,omitempty"` - B *NestedDefinition_NestedEnum `protobuf:"varint,2,opt,name=B,enum=test.NestedDefinition_NestedEnum" json:"B,omitempty"` - C *NestedDefinition_NestedMessage `protobuf:"bytes,3,opt,name=C" json:"C,omitempty"` - XXX_unrecognized []byte `json:"-"` + A *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,1,opt,name=A" json:"A,omitempty"` + B *NestedDefinition_NestedEnum `protobuf:"varint,2,opt,name=B,enum=test.NestedDefinition_NestedEnum" json:"B,omitempty"` + C *NestedDefinition_NestedMessage `protobuf:"bytes,3,opt,name=C" json:"C,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NestedScope) Reset() { *m = NestedScope{} } -func (*NestedScope) ProtoMessage() {} -func (*NestedScope) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{43} } +func (m *NestedScope) Reset() { *m = NestedScope{} } +func (*NestedScope) ProtoMessage() {} +func (*NestedScope) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{43} +} +func (m *NestedScope) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NestedScope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NestedScope.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 (dst *NestedScope) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedScope.Merge(dst, src) +} +func (m *NestedScope) XXX_Size() int { + return m.Size() +} +func (m *NestedScope) XXX_DiscardUnknown() { + xxx_messageInfo_NestedScope.DiscardUnknown(m) +} + +var xxx_messageInfo_NestedScope proto.InternalMessageInfo type NinOptNativeDefault struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1,def=1234.1234" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.12341" json:"Field2,omitempty"` - Field3 *int32 `protobuf:"varint,3,opt,name=Field3,def=1234" json:"Field3,omitempty"` - Field4 *int64 `protobuf:"varint,4,opt,name=Field4,def=1234" json:"Field4,omitempty"` - Field5 *uint32 `protobuf:"varint,5,opt,name=Field5,def=1234" json:"Field5,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6,def=1234" json:"Field6,omitempty"` - Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7,def=1234" json:"Field7,omitempty"` - Field8 *int64 `protobuf:"zigzag64,8,opt,name=Field8,def=1234" json:"Field8,omitempty"` - Field9 *uint32 `protobuf:"fixed32,9,opt,name=Field9,def=1234" json:"Field9,omitempty"` - Field10 *int32 `protobuf:"fixed32,10,opt,name=Field10,def=1234" json:"Field10,omitempty"` - Field11 *uint64 `protobuf:"fixed64,11,opt,name=Field11,def=1234" json:"Field11,omitempty"` - Field12 *int64 `protobuf:"fixed64,12,opt,name=Field12,def=1234" json:"Field12,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13,def=1" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14,def=1234" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1,def=1234.1234" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.12341" json:"Field2,omitempty"` + Field3 *int32 `protobuf:"varint,3,opt,name=Field3,def=1234" json:"Field3,omitempty"` + Field4 *int64 `protobuf:"varint,4,opt,name=Field4,def=1234" json:"Field4,omitempty"` + Field5 *uint32 `protobuf:"varint,5,opt,name=Field5,def=1234" json:"Field5,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6,def=1234" json:"Field6,omitempty"` + Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7,def=1234" json:"Field7,omitempty"` + Field8 *int64 `protobuf:"zigzag64,8,opt,name=Field8,def=1234" json:"Field8,omitempty"` + Field9 *uint32 `protobuf:"fixed32,9,opt,name=Field9,def=1234" json:"Field9,omitempty"` + Field10 *int32 `protobuf:"fixed32,10,opt,name=Field10,def=1234" json:"Field10,omitempty"` + Field11 *uint64 `protobuf:"fixed64,11,opt,name=Field11,def=1234" json:"Field11,omitempty"` + Field12 *int64 `protobuf:"fixed64,12,opt,name=Field12,def=1234" json:"Field12,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13,def=1" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14,def=1234" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptNativeDefault) Reset() { *m = NinOptNativeDefault{} } -func (*NinOptNativeDefault) ProtoMessage() {} -func (*NinOptNativeDefault) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{44} } +func (m *NinOptNativeDefault) Reset() { *m = NinOptNativeDefault{} } +func (*NinOptNativeDefault) ProtoMessage() {} +func (*NinOptNativeDefault) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{44} +} +func (m *NinOptNativeDefault) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinOptNativeDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinOptNativeDefault.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 (dst *NinOptNativeDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeDefault.Merge(dst, src) +} +func (m *NinOptNativeDefault) XXX_Size() int { + return m.Size() +} +func (m *NinOptNativeDefault) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptNativeDefault.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptNativeDefault proto.InternalMessageInfo const Default_NinOptNativeDefault_Field1 float64 = 1234.1234 const Default_NinOptNativeDefault_Field2 float32 = 1234.12341 @@ -1095,145 +2438,387 @@ func (m *NinOptNativeDefault) GetField15() []byte { } type CustomContainer struct { - CustomStruct NidOptCustom `protobuf:"bytes,1,opt,name=CustomStruct" json:"CustomStruct"` - XXX_unrecognized []byte `json:"-"` + CustomStruct NidOptCustom `protobuf:"bytes,1,opt,name=CustomStruct" json:"CustomStruct"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomContainer) Reset() { *m = CustomContainer{} } -func (*CustomContainer) ProtoMessage() {} -func (*CustomContainer) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{45} } +func (m *CustomContainer) Reset() { *m = CustomContainer{} } +func (*CustomContainer) ProtoMessage() {} +func (*CustomContainer) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{45} +} +func (m *CustomContainer) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CustomContainer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CustomContainer.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 (dst *CustomContainer) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomContainer.Merge(dst, src) +} +func (m *CustomContainer) XXX_Size() int { + return m.Size() +} +func (m *CustomContainer) XXX_DiscardUnknown() { + xxx_messageInfo_CustomContainer.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomContainer proto.InternalMessageInfo type CustomNameNidOptNative struct { - FieldA float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` - FieldB float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` - FieldC int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3"` - FieldD int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4"` - FieldE uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5"` - FieldF uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` - FieldG int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` - FieldH int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8"` - FieldI uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9"` - FieldJ int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10"` - FieldK uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11"` - FieldL int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12"` - FieldM bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` - FieldN string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` - FieldO []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` - XXX_unrecognized []byte `json:"-"` + FieldA float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` + FieldB float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` + FieldC int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3"` + FieldD int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4"` + FieldE uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5"` + FieldF uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` + FieldG int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` + FieldH int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8"` + FieldI uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9"` + FieldJ int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10"` + FieldK uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11"` + FieldL int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12"` + FieldM bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` + FieldN string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` + FieldO []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameNidOptNative) Reset() { *m = CustomNameNidOptNative{} } -func (*CustomNameNidOptNative) ProtoMessage() {} -func (*CustomNameNidOptNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{46} } +func (m *CustomNameNidOptNative) Reset() { *m = CustomNameNidOptNative{} } +func (*CustomNameNidOptNative) ProtoMessage() {} +func (*CustomNameNidOptNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{46} +} +func (m *CustomNameNidOptNative) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CustomNameNidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CustomNameNidOptNative.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 (dst *CustomNameNidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNidOptNative.Merge(dst, src) +} +func (m *CustomNameNidOptNative) XXX_Size() int { + return m.Size() +} +func (m *CustomNameNidOptNative) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNidOptNative.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNidOptNative proto.InternalMessageInfo type CustomNameNinOptNative struct { - FieldA *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - FieldB *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - FieldC *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` - FieldD *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` - FieldE *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` - FieldF *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - FieldG *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - FieldH *int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8,omitempty"` - FieldI *uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9,omitempty"` - FieldJ *int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10,omitempty"` - FieldK *uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11,omitempty"` - FielL *int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12,omitempty"` - FieldM *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - FieldN *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - FieldO []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + FieldB *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + FieldC *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` + FieldD *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` + FieldE *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` + FieldF *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + FieldG *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + FieldH *int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8,omitempty"` + FieldI *uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9,omitempty"` + FieldJ *int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10,omitempty"` + FieldK *uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11,omitempty"` + FielL *int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12,omitempty"` + FieldM *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + FieldN *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + FieldO []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameNinOptNative) Reset() { *m = CustomNameNinOptNative{} } -func (*CustomNameNinOptNative) ProtoMessage() {} -func (*CustomNameNinOptNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{47} } +func (m *CustomNameNinOptNative) Reset() { *m = CustomNameNinOptNative{} } +func (*CustomNameNinOptNative) ProtoMessage() {} +func (*CustomNameNinOptNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{47} +} +func (m *CustomNameNinOptNative) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CustomNameNinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CustomNameNinOptNative.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 (dst *CustomNameNinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinOptNative.Merge(dst, src) +} +func (m *CustomNameNinOptNative) XXX_Size() int { + return m.Size() +} +func (m *CustomNameNinOptNative) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNinOptNative.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNinOptNative proto.InternalMessageInfo type CustomNameNinRepNative struct { - FieldA []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - FieldB []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - FieldC []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` - FieldD []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` - FieldE []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` - FieldF []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - FieldG []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - FieldH []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` - FieldI []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` - FieldJ []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` - FieldK []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` - FieldL []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` - FieldM []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - FieldN []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - FieldO [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + FieldB []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + FieldC []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` + FieldD []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` + FieldE []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` + FieldF []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + FieldG []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + FieldH []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` + FieldI []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` + FieldJ []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` + FieldK []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` + FieldL []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` + FieldM []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + FieldN []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + FieldO [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameNinRepNative) Reset() { *m = CustomNameNinRepNative{} } -func (*CustomNameNinRepNative) ProtoMessage() {} -func (*CustomNameNinRepNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{48} } +func (m *CustomNameNinRepNative) Reset() { *m = CustomNameNinRepNative{} } +func (*CustomNameNinRepNative) ProtoMessage() {} +func (*CustomNameNinRepNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{48} +} +func (m *CustomNameNinRepNative) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CustomNameNinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CustomNameNinRepNative.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 (dst *CustomNameNinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinRepNative.Merge(dst, src) +} +func (m *CustomNameNinRepNative) XXX_Size() int { + return m.Size() +} +func (m *CustomNameNinRepNative) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNinRepNative.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNinRepNative proto.InternalMessageInfo type CustomNameNinStruct struct { - FieldA *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - FieldB *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - FieldC *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` - FieldD []*NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4,omitempty"` - FieldE *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - FieldF *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - FieldG *NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8,omitempty"` - FieldH *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - FieldI *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - FieldJ []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + FieldB *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + FieldC *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` + FieldD []*NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4,omitempty"` + FieldE *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + FieldF *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + FieldG *NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8,omitempty"` + FieldH *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + FieldI *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + FieldJ []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameNinStruct) Reset() { *m = CustomNameNinStruct{} } -func (*CustomNameNinStruct) ProtoMessage() {} -func (*CustomNameNinStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{49} } +func (m *CustomNameNinStruct) Reset() { *m = CustomNameNinStruct{} } +func (*CustomNameNinStruct) ProtoMessage() {} +func (*CustomNameNinStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{49} +} +func (m *CustomNameNinStruct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CustomNameNinStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CustomNameNinStruct.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 (dst *CustomNameNinStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinStruct.Merge(dst, src) +} +func (m *CustomNameNinStruct) XXX_Size() int { + return m.Size() +} +func (m *CustomNameNinStruct) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNinStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNinStruct proto.InternalMessageInfo type CustomNameCustomType struct { - FieldA *Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id,omitempty"` - FieldB *github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` - FieldC []Uuid `protobuf:"bytes,3,rep,name=Ids,customtype=Uuid" json:"Ids,omitempty"` - FieldD []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,4,rep,name=Values,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Values,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA *Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id,omitempty"` + FieldB *github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` + FieldC []Uuid `protobuf:"bytes,3,rep,name=Ids,customtype=Uuid" json:"Ids,omitempty"` + FieldD []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,4,rep,name=Values,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Values,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameCustomType) Reset() { *m = CustomNameCustomType{} } -func (*CustomNameCustomType) ProtoMessage() {} -func (*CustomNameCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{50} } +func (m *CustomNameCustomType) Reset() { *m = CustomNameCustomType{} } +func (*CustomNameCustomType) ProtoMessage() {} +func (*CustomNameCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{50} +} +func (m *CustomNameCustomType) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CustomNameCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CustomNameCustomType.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 (dst *CustomNameCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameCustomType.Merge(dst, src) +} +func (m *CustomNameCustomType) XXX_Size() int { + return m.Size() +} +func (m *CustomNameCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameCustomType proto.InternalMessageInfo type CustomNameNinEmbeddedStructUnion struct { - *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` - FieldA *NinOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` - FieldB *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` - XXX_unrecognized []byte `json:"-"` + *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` + FieldA *NinOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` + FieldB *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *CustomNameNinEmbeddedStructUnion) Reset() { *m = CustomNameNinEmbeddedStructUnion{} } func (*CustomNameNinEmbeddedStructUnion) ProtoMessage() {} func (*CustomNameNinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{51} + return fileDescriptor_thetest_3e4f682cb8349b83, []int{51} } +func (m *CustomNameNinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CustomNameNinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.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 (dst *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(dst, src) +} +func (m *CustomNameNinEmbeddedStructUnion) XXX_Size() int { + return m.Size() +} +func (m *CustomNameNinEmbeddedStructUnion) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNinEmbeddedStructUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNinEmbeddedStructUnion proto.InternalMessageInfo type CustomNameEnum struct { - FieldA *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` - FieldB []TheTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.TheTestEnum" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` + FieldB []TheTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.TheTestEnum" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameEnum) Reset() { *m = CustomNameEnum{} } -func (*CustomNameEnum) ProtoMessage() {} -func (*CustomNameEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{52} } +func (m *CustomNameEnum) Reset() { *m = CustomNameEnum{} } +func (*CustomNameEnum) ProtoMessage() {} +func (*CustomNameEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{52} +} +func (m *CustomNameEnum) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CustomNameEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CustomNameEnum.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 (dst *CustomNameEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameEnum.Merge(dst, src) +} +func (m *CustomNameEnum) XXX_Size() int { + return m.Size() +} +func (m *CustomNameEnum) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameEnum proto.InternalMessageInfo type NoExtensionsMap struct { - Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` - XXX_extensions []byte `protobuf:"bytes,0,opt" json:"-"` - XXX_unrecognized []byte `json:"-"` + Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_extensions []byte `protobuf:"bytes,0,opt" json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NoExtensionsMap) Reset() { *m = NoExtensionsMap{} } -func (*NoExtensionsMap) ProtoMessage() {} -func (*NoExtensionsMap) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{53} } +func (m *NoExtensionsMap) Reset() { *m = NoExtensionsMap{} } +func (*NoExtensionsMap) ProtoMessage() {} +func (*NoExtensionsMap) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{53} +} var extRange_NoExtensionsMap = []proto.ExtensionRange{ {Start: 100, End: 199}, @@ -1248,118 +2833,500 @@ func (m *NoExtensionsMap) GetExtensions() *[]byte { } return &m.XXX_extensions } +func (m *NoExtensionsMap) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NoExtensionsMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NoExtensionsMap.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 (dst *NoExtensionsMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_NoExtensionsMap.Merge(dst, src) +} +func (m *NoExtensionsMap) XXX_Size() int { + return m.Size() +} +func (m *NoExtensionsMap) XXX_DiscardUnknown() { + xxx_messageInfo_NoExtensionsMap.DiscardUnknown(m) +} + +var xxx_messageInfo_NoExtensionsMap proto.InternalMessageInfo type Unrecognized struct { - Field1 *string `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` + Field1 *string `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Unrecognized) Reset() { *m = Unrecognized{} } -func (*Unrecognized) ProtoMessage() {} -func (*Unrecognized) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{54} } +func (m *Unrecognized) Reset() { *m = Unrecognized{} } +func (*Unrecognized) ProtoMessage() {} +func (*Unrecognized) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{54} +} +func (m *Unrecognized) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Unrecognized) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Unrecognized.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 (dst *Unrecognized) XXX_Merge(src proto.Message) { + xxx_messageInfo_Unrecognized.Merge(dst, src) +} +func (m *Unrecognized) XXX_Size() int { + return m.Size() +} +func (m *Unrecognized) XXX_DiscardUnknown() { + xxx_messageInfo_Unrecognized.DiscardUnknown(m) +} + +var xxx_messageInfo_Unrecognized proto.InternalMessageInfo type UnrecognizedWithInner struct { - Embedded []*UnrecognizedWithInner_Inner `protobuf:"bytes,1,rep,name=embedded" json:"embedded,omitempty"` - Field2 *string `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + Embedded []*UnrecognizedWithInner_Inner `protobuf:"bytes,1,rep,name=embedded" json:"embedded,omitempty"` + Field2 *string `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UnrecognizedWithInner) Reset() { *m = UnrecognizedWithInner{} } -func (*UnrecognizedWithInner) ProtoMessage() {} -func (*UnrecognizedWithInner) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{55} } +func (m *UnrecognizedWithInner) Reset() { *m = UnrecognizedWithInner{} } +func (*UnrecognizedWithInner) ProtoMessage() {} +func (*UnrecognizedWithInner) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{55} +} +func (m *UnrecognizedWithInner) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UnrecognizedWithInner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UnrecognizedWithInner.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 (dst *UnrecognizedWithInner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner.Merge(dst, src) +} +func (m *UnrecognizedWithInner) XXX_Size() int { + return m.Size() +} +func (m *UnrecognizedWithInner) XXX_DiscardUnknown() { + xxx_messageInfo_UnrecognizedWithInner.DiscardUnknown(m) +} + +var xxx_messageInfo_UnrecognizedWithInner proto.InternalMessageInfo type UnrecognizedWithInner_Inner struct { - Field1 *uint32 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + Field1 *uint32 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *UnrecognizedWithInner_Inner) Reset() { *m = UnrecognizedWithInner_Inner{} } func (*UnrecognizedWithInner_Inner) ProtoMessage() {} func (*UnrecognizedWithInner_Inner) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{55, 0} + return fileDescriptor_thetest_3e4f682cb8349b83, []int{55, 0} } +func (m *UnrecognizedWithInner_Inner) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UnrecognizedWithInner_Inner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UnrecognizedWithInner_Inner.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 (dst *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(dst, src) +} +func (m *UnrecognizedWithInner_Inner) XXX_Size() int { + return m.Size() +} +func (m *UnrecognizedWithInner_Inner) XXX_DiscardUnknown() { + xxx_messageInfo_UnrecognizedWithInner_Inner.DiscardUnknown(m) +} + +var xxx_messageInfo_UnrecognizedWithInner_Inner proto.InternalMessageInfo type UnrecognizedWithEmbed struct { UnrecognizedWithEmbed_Embedded `protobuf:"bytes,1,opt,name=embedded,embedded=embedded" json:"embedded"` - Field2 *string `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field2 *string `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UnrecognizedWithEmbed) Reset() { *m = UnrecognizedWithEmbed{} } -func (*UnrecognizedWithEmbed) ProtoMessage() {} -func (*UnrecognizedWithEmbed) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{56} } +func (m *UnrecognizedWithEmbed) Reset() { *m = UnrecognizedWithEmbed{} } +func (*UnrecognizedWithEmbed) ProtoMessage() {} +func (*UnrecognizedWithEmbed) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{56} +} +func (m *UnrecognizedWithEmbed) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UnrecognizedWithEmbed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UnrecognizedWithEmbed.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 (dst *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed.Merge(dst, src) +} +func (m *UnrecognizedWithEmbed) XXX_Size() int { + return m.Size() +} +func (m *UnrecognizedWithEmbed) XXX_DiscardUnknown() { + xxx_messageInfo_UnrecognizedWithEmbed.DiscardUnknown(m) +} + +var xxx_messageInfo_UnrecognizedWithEmbed proto.InternalMessageInfo type UnrecognizedWithEmbed_Embedded struct { - Field1 *uint32 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + Field1 *uint32 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *UnrecognizedWithEmbed_Embedded) Reset() { *m = UnrecognizedWithEmbed_Embedded{} } func (*UnrecognizedWithEmbed_Embedded) ProtoMessage() {} func (*UnrecognizedWithEmbed_Embedded) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{56, 0} + return fileDescriptor_thetest_3e4f682cb8349b83, []int{56, 0} } +func (m *UnrecognizedWithEmbed_Embedded) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UnrecognizedWithEmbed_Embedded) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.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 (dst *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(dst, src) +} +func (m *UnrecognizedWithEmbed_Embedded) XXX_Size() int { + return m.Size() +} +func (m *UnrecognizedWithEmbed_Embedded) XXX_DiscardUnknown() { + xxx_messageInfo_UnrecognizedWithEmbed_Embedded.DiscardUnknown(m) +} + +var xxx_messageInfo_UnrecognizedWithEmbed_Embedded proto.InternalMessageInfo type Node struct { - Label *string `protobuf:"bytes,1,opt,name=Label" json:"Label,omitempty"` - Children []*Node `protobuf:"bytes,2,rep,name=Children" json:"Children,omitempty"` - XXX_unrecognized []byte `json:"-"` + Label *string `protobuf:"bytes,1,opt,name=Label" json:"Label,omitempty"` + Children []*Node `protobuf:"bytes,2,rep,name=Children" json:"Children,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Node) Reset() { *m = Node{} } -func (*Node) ProtoMessage() {} -func (*Node) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{57} } +func (m *Node) Reset() { *m = Node{} } +func (*Node) ProtoMessage() {} +func (*Node) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{57} +} +func (m *Node) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Node.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 (dst *Node) XXX_Merge(src proto.Message) { + xxx_messageInfo_Node.Merge(dst, src) +} +func (m *Node) XXX_Size() int { + return m.Size() +} +func (m *Node) XXX_DiscardUnknown() { + xxx_messageInfo_Node.DiscardUnknown(m) +} + +var xxx_messageInfo_Node proto.InternalMessageInfo type NonByteCustomType struct { - Field1 *T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NonByteCustomType) Reset() { *m = NonByteCustomType{} } -func (*NonByteCustomType) ProtoMessage() {} -func (*NonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{58} } +func (m *NonByteCustomType) Reset() { *m = NonByteCustomType{} } +func (*NonByteCustomType) ProtoMessage() {} +func (*NonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{58} +} +func (m *NonByteCustomType) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NonByteCustomType.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 (dst *NonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonByteCustomType.Merge(dst, src) +} +func (m *NonByteCustomType) XXX_Size() int { + return m.Size() +} +func (m *NonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NonByteCustomType proto.InternalMessageInfo type NidOptNonByteCustomType struct { - Field1 T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1"` - XXX_unrecognized []byte `json:"-"` + Field1 T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptNonByteCustomType) Reset() { *m = NidOptNonByteCustomType{} } -func (*NidOptNonByteCustomType) ProtoMessage() {} -func (*NidOptNonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{59} } +func (m *NidOptNonByteCustomType) Reset() { *m = NidOptNonByteCustomType{} } +func (*NidOptNonByteCustomType) ProtoMessage() {} +func (*NidOptNonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{59} +} +func (m *NidOptNonByteCustomType) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidOptNonByteCustomType.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 (dst *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNonByteCustomType.Merge(dst, src) +} +func (m *NidOptNonByteCustomType) XXX_Size() int { + return m.Size() +} +func (m *NidOptNonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptNonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptNonByteCustomType proto.InternalMessageInfo type NinOptNonByteCustomType struct { - Field1 *T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptNonByteCustomType) Reset() { *m = NinOptNonByteCustomType{} } -func (*NinOptNonByteCustomType) ProtoMessage() {} -func (*NinOptNonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{60} } +func (m *NinOptNonByteCustomType) Reset() { *m = NinOptNonByteCustomType{} } +func (*NinOptNonByteCustomType) ProtoMessage() {} +func (*NinOptNonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{60} +} +func (m *NinOptNonByteCustomType) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinOptNonByteCustomType.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 (dst *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNonByteCustomType.Merge(dst, src) +} +func (m *NinOptNonByteCustomType) XXX_Size() int { + return m.Size() +} +func (m *NinOptNonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptNonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptNonByteCustomType proto.InternalMessageInfo type NidRepNonByteCustomType struct { - Field1 []T `protobuf:"bytes,1,rep,name=Field1,customtype=T" json:"Field1"` - XXX_unrecognized []byte `json:"-"` + Field1 []T `protobuf:"bytes,1,rep,name=Field1,customtype=T" json:"Field1"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepNonByteCustomType) Reset() { *m = NidRepNonByteCustomType{} } -func (*NidRepNonByteCustomType) ProtoMessage() {} -func (*NidRepNonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{61} } +func (m *NidRepNonByteCustomType) Reset() { *m = NidRepNonByteCustomType{} } +func (*NidRepNonByteCustomType) ProtoMessage() {} +func (*NidRepNonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{61} +} +func (m *NidRepNonByteCustomType) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NidRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NidRepNonByteCustomType.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 (dst *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNonByteCustomType.Merge(dst, src) +} +func (m *NidRepNonByteCustomType) XXX_Size() int { + return m.Size() +} +func (m *NidRepNonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepNonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepNonByteCustomType proto.InternalMessageInfo type NinRepNonByteCustomType struct { - Field1 []T `protobuf:"bytes,1,rep,name=Field1,customtype=T" json:"Field1,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []T `protobuf:"bytes,1,rep,name=Field1,customtype=T" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepNonByteCustomType) Reset() { *m = NinRepNonByteCustomType{} } -func (*NinRepNonByteCustomType) ProtoMessage() {} -func (*NinRepNonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{62} } +func (m *NinRepNonByteCustomType) Reset() { *m = NinRepNonByteCustomType{} } +func (*NinRepNonByteCustomType) ProtoMessage() {} +func (*NinRepNonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{62} +} +func (m *NinRepNonByteCustomType) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NinRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NinRepNonByteCustomType.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 (dst *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNonByteCustomType.Merge(dst, src) +} +func (m *NinRepNonByteCustomType) XXX_Size() int { + return m.Size() +} +func (m *NinRepNonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepNonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepNonByteCustomType proto.InternalMessageInfo type ProtoType struct { - Field2 *string `protobuf:"bytes,1,opt,name=Field2" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field2 *string `protobuf:"bytes,1,opt,name=Field2" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ProtoType) Reset() { *m = ProtoType{} } -func (*ProtoType) ProtoMessage() {} -func (*ProtoType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{63} } +func (m *ProtoType) Reset() { *m = ProtoType{} } +func (*ProtoType) ProtoMessage() {} +func (*ProtoType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_3e4f682cb8349b83, []int{63} +} +func (m *ProtoType) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProtoType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProtoType.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 (dst *ProtoType) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoType.Merge(dst, src) +} +func (m *ProtoType) XXX_Size() int { + return m.Size() +} +func (m *ProtoType) XXX_DiscardUnknown() { + xxx_messageInfo_ProtoType.DiscardUnknown(m) +} + +var xxx_messageInfo_ProtoType proto.InternalMessageInfo var E_FieldA = &proto.ExtensionDesc{ ExtendedType: (*MyExtendable)(nil), @@ -4822,8 +6789,8 @@ func (this *MyExtendable) Compare(that interface{}) int { } else if that1.Field1 != nil { return -1 } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) extkeys := make([]int32, 0, len(thismap)+len(thatmap)) for k := range thismap { extkeys = append(extkeys, k) @@ -4833,7 +6800,7 @@ func (this *MyExtendable) Compare(that interface{}) int { extkeys = append(extkeys, k) } } - sortkeys.Int32s(extkeys) + github_com_gogo_protobuf_sortkeys.Int32s(extkeys) for _, k := range extkeys { if v, ok := thismap[k]; ok { if v2, ok := thatmap[k]; ok { @@ -4904,8 +6871,8 @@ func (this *OtherExtenable) Compare(that interface{}) int { if c := this.M.Compare(that1.M); c != 0 { return c } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) extkeys := make([]int32, 0, len(thismap)+len(thatmap)) for k := range thismap { extkeys = append(extkeys, k) @@ -4915,7 +6882,7 @@ func (this *OtherExtenable) Compare(that interface{}) int { extkeys = append(extkeys, k) } } - sortkeys.Int32s(extkeys) + github_com_gogo_protobuf_sortkeys.Int32s(extkeys) for _, k := range extkeys { if v, ok := thismap[k]; ok { if v2, ok := thatmap[k]; ok { @@ -6762,639 +8729,646 @@ func (this *ProtoType) Compare(that interface{}) int { } return 0 } -func (this *NidOptNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepPackedNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepPackedNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepPackedNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepPackedNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidOptStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidEmbeddedStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidEmbeddedStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinEmbeddedStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinEmbeddedStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidNestedStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidNestedStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinNestedStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinNestedStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidOptCustom) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptCustom) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomDash) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomDash) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptCustom) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptCustom) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepCustom) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepCustom) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepCustom) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepCustom) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptNativeUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptNativeUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptStructUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptStructUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinEmbeddedStructUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinEmbeddedStructUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinNestedStructUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinNestedStructUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Tree) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Tree) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *OrBranch) Description() (desc *descriptor.FileDescriptorSet) { +func (this *OrBranch) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *AndBranch) Description() (desc *descriptor.FileDescriptorSet) { +func (this *AndBranch) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Leaf) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Leaf) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *DeepTree) Description() (desc *descriptor.FileDescriptorSet) { +func (this *DeepTree) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *ADeepBranch) Description() (desc *descriptor.FileDescriptorSet) { +func (this *ADeepBranch) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *AndDeepBranch) Description() (desc *descriptor.FileDescriptorSet) { +func (this *AndDeepBranch) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *DeepLeaf) Description() (desc *descriptor.FileDescriptorSet) { +func (this *DeepLeaf) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Nil) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Nil) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidOptEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptEnumDefault) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptEnumDefault) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *AnotherNinOptEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *AnotherNinOptEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *AnotherNinOptEnumDefault) Description() (desc *descriptor.FileDescriptorSet) { +func (this *AnotherNinOptEnumDefault) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Timer) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Timer) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *MyExtendable) Description() (desc *descriptor.FileDescriptorSet) { +func (this *MyExtendable) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *OtherExtenable) Description() (desc *descriptor.FileDescriptorSet) { +func (this *OtherExtenable) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NestedDefinition) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NestedDefinition) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NestedDefinition_NestedMessage) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NestedDefinition_NestedMessage) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NestedDefinition_NestedMessage_NestedNestedMsg) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NestedDefinition_NestedMessage_NestedNestedMsg) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NestedScope) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NestedScope) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptNativeDefault) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptNativeDefault) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomContainer) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomContainer) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNidOptNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNidOptNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNinOptNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNinOptNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNinRepNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNinRepNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNinStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNinStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNinEmbeddedStructUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNinEmbeddedStructUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NoExtensionsMap) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NoExtensionsMap) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Unrecognized) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Unrecognized) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *UnrecognizedWithInner) Description() (desc *descriptor.FileDescriptorSet) { +func (this *UnrecognizedWithInner) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *UnrecognizedWithInner_Inner) Description() (desc *descriptor.FileDescriptorSet) { +func (this *UnrecognizedWithInner_Inner) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *UnrecognizedWithEmbed) Description() (desc *descriptor.FileDescriptorSet) { +func (this *UnrecognizedWithEmbed) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *UnrecognizedWithEmbed_Embedded) Description() (desc *descriptor.FileDescriptorSet) { +func (this *UnrecognizedWithEmbed_Embedded) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Node) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Node) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidOptNonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptNonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptNonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptNonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepNonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepNonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepNonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepNonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *ProtoType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *ProtoType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func ThetestDescription() (desc *descriptor.FileDescriptorSet) { - d := &descriptor.FileDescriptorSet{} +func ThetestDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { + d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 6619 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x6b, 0x6c, 0x1c, 0xd7, - 0x75, 0x3f, 0x67, 0x67, 0x49, 0x2d, 0x0f, 0x5f, 0xc3, 0xa1, 0x44, 0xad, 0x69, 0x99, 0xa4, 0xd6, - 0xb2, 0x4c, 0x33, 0x36, 0x45, 0x51, 0xd4, 0x6b, 0x15, 0xdb, 0xff, 0x7d, 0x49, 0xa6, 0x42, 0x2e, - 0x99, 0x21, 0x19, 0x5b, 0xc9, 0xff, 0x8f, 0xc5, 0x68, 0xf7, 0x92, 0x5c, 0x7b, 0x77, 0x66, 0xb3, - 0x33, 0xb4, 0x4d, 0xe3, 0x8f, 0xc2, 0x4d, 0xda, 0x34, 0x69, 0xd1, 0x67, 0x5a, 0xe4, 0xd1, 0xc4, - 0x71, 0x5a, 0xa4, 0x71, 0xd2, 0x57, 0xd2, 0xa4, 0x69, 0x1a, 0x14, 0x8d, 0xbf, 0xa4, 0x51, 0xbf, - 0x14, 0x4e, 0x3f, 0x15, 0x41, 0x61, 0x44, 0x72, 0x80, 0xa6, 0xad, 0xdb, 0xa4, 0xa9, 0x81, 0x06, - 0x70, 0x3e, 0x14, 0xf7, 0x35, 0x33, 0xf7, 0xee, 0x2c, 0x67, 0x68, 0xd9, 0x4e, 0xbe, 0x48, 0xbb, - 0xf7, 0x9c, 0xdf, 0x99, 0x33, 0xe7, 0x75, 0xcf, 0x7d, 0x70, 0xe1, 0x87, 0x17, 0x61, 0x7a, 0xdb, - 0xb6, 0xb7, 0x1b, 0xe8, 0x54, 0xab, 0x6d, 0xbb, 0xf6, 0xf5, 0xdd, 0xad, 0x53, 0x35, 0xe4, 0x54, - 0xdb, 0xf5, 0x96, 0x6b, 0xb7, 0xe7, 0xc8, 0x98, 0x3e, 0x42, 0x39, 0xe6, 0x38, 0x47, 0x66, 0x05, - 0x46, 0x2f, 0xd7, 0x1b, 0xa8, 0xe8, 0x31, 0xae, 0x23, 0x57, 0xbf, 0x00, 0xc9, 0xad, 0x7a, 0x03, - 0xa5, 0x95, 0x69, 0x75, 0x66, 0x60, 0xe1, 0xc4, 0x9c, 0x04, 0x9a, 0x13, 0x11, 0x6b, 0x78, 0xd8, - 0x20, 0x88, 0xcc, 0xf7, 0x93, 0x30, 0x16, 0x42, 0xd5, 0x75, 0x48, 0x5a, 0x66, 0x13, 0x4b, 0x54, - 0x66, 0xfa, 0x0d, 0xf2, 0x59, 0x4f, 0xc3, 0xa1, 0x96, 0x59, 0x7d, 0xc2, 0xdc, 0x46, 0xe9, 0x04, - 0x19, 0xe6, 0x5f, 0xf5, 0x49, 0x80, 0x1a, 0x6a, 0x21, 0xab, 0x86, 0xac, 0xea, 0x5e, 0x5a, 0x9d, - 0x56, 0x67, 0xfa, 0x8d, 0xc0, 0x88, 0xfe, 0x0e, 0x18, 0x6d, 0xed, 0x5e, 0x6f, 0xd4, 0xab, 0x95, - 0x00, 0x1b, 0x4c, 0xab, 0x33, 0xbd, 0x86, 0x46, 0x09, 0x45, 0x9f, 0xf9, 0x5e, 0x18, 0x79, 0x0a, - 0x99, 0x4f, 0x04, 0x59, 0x07, 0x08, 0xeb, 0x30, 0x1e, 0x0e, 0x30, 0x16, 0x60, 0xb0, 0x89, 0x1c, - 0xc7, 0xdc, 0x46, 0x15, 0x77, 0xaf, 0x85, 0xd2, 0x49, 0xf2, 0xf6, 0xd3, 0x1d, 0x6f, 0x2f, 0xbf, - 0xf9, 0x00, 0x43, 0x6d, 0xec, 0xb5, 0x90, 0x9e, 0x83, 0x7e, 0x64, 0xed, 0x36, 0xa9, 0x84, 0xde, - 0x2e, 0xf6, 0x2b, 0x59, 0xbb, 0x4d, 0x59, 0x4a, 0x0a, 0xc3, 0x98, 0x88, 0x43, 0x0e, 0x6a, 0x3f, - 0x59, 0xaf, 0xa2, 0x74, 0x1f, 0x11, 0x70, 0x6f, 0x87, 0x80, 0x75, 0x4a, 0x97, 0x65, 0x70, 0x9c, - 0x5e, 0x80, 0x7e, 0xf4, 0xb4, 0x8b, 0x2c, 0xa7, 0x6e, 0x5b, 0xe9, 0x43, 0x44, 0xc8, 0x3d, 0x21, - 0x5e, 0x44, 0x8d, 0x9a, 0x2c, 0xc2, 0xc7, 0xe9, 0xe7, 0xe0, 0x90, 0xdd, 0x72, 0xeb, 0xb6, 0xe5, - 0xa4, 0x53, 0xd3, 0xca, 0xcc, 0xc0, 0xc2, 0xb1, 0xd0, 0x40, 0x58, 0xa5, 0x3c, 0x06, 0x67, 0xd6, - 0x97, 0x40, 0x73, 0xec, 0xdd, 0x76, 0x15, 0x55, 0xaa, 0x76, 0x0d, 0x55, 0xea, 0xd6, 0x96, 0x9d, - 0xee, 0x27, 0x02, 0xa6, 0x3a, 0x5f, 0x84, 0x30, 0x16, 0xec, 0x1a, 0x5a, 0xb2, 0xb6, 0x6c, 0x63, - 0xd8, 0x11, 0xbe, 0xeb, 0xe3, 0xd0, 0xe7, 0xec, 0x59, 0xae, 0xf9, 0x74, 0x7a, 0x90, 0x44, 0x08, - 0xfb, 0x96, 0xf9, 0xeb, 0x3e, 0x18, 0x89, 0x13, 0x62, 0x97, 0xa0, 0x77, 0x0b, 0xbf, 0x65, 0x3a, - 0x71, 0x10, 0x1b, 0x50, 0x8c, 0x68, 0xc4, 0xbe, 0x37, 0x68, 0xc4, 0x1c, 0x0c, 0x58, 0xc8, 0x71, - 0x51, 0x8d, 0x46, 0x84, 0x1a, 0x33, 0xa6, 0x80, 0x82, 0x3a, 0x43, 0x2a, 0xf9, 0x86, 0x42, 0xea, - 0x31, 0x18, 0xf1, 0x54, 0xaa, 0xb4, 0x4d, 0x6b, 0x9b, 0xc7, 0xe6, 0xa9, 0x28, 0x4d, 0xe6, 0x4a, - 0x1c, 0x67, 0x60, 0x98, 0x31, 0x8c, 0x84, 0xef, 0x7a, 0x11, 0xc0, 0xb6, 0x90, 0xbd, 0x55, 0xa9, - 0xa1, 0x6a, 0x23, 0x9d, 0xea, 0x62, 0xa5, 0x55, 0xcc, 0xd2, 0x61, 0x25, 0x9b, 0x8e, 0x56, 0x1b, - 0xfa, 0x45, 0x3f, 0xd4, 0x0e, 0x75, 0x89, 0x94, 0x15, 0x9a, 0x64, 0x1d, 0xd1, 0xb6, 0x09, 0xc3, - 0x6d, 0x84, 0xe3, 0x1e, 0xd5, 0xd8, 0x9b, 0xf5, 0x13, 0x25, 0xe6, 0x22, 0xdf, 0xcc, 0x60, 0x30, - 0xfa, 0x62, 0x43, 0xed, 0xe0, 0x57, 0xfd, 0x6e, 0xf0, 0x06, 0x2a, 0x24, 0xac, 0x80, 0x54, 0xa1, - 0x41, 0x3e, 0x58, 0x36, 0x9b, 0x68, 0xe2, 0x19, 0x18, 0x16, 0xcd, 0xa3, 0x1f, 0x86, 0x5e, 0xc7, - 0x35, 0xdb, 0x2e, 0x89, 0xc2, 0x5e, 0x83, 0x7e, 0xd1, 0x35, 0x50, 0x91, 0x55, 0x23, 0x55, 0xae, - 0xd7, 0xc0, 0x1f, 0xf5, 0xff, 0xe3, 0xbf, 0xb0, 0x4a, 0x5e, 0xf8, 0x64, 0xa7, 0x47, 0x05, 0xc9, - 0xf2, 0x7b, 0x4f, 0x9c, 0x87, 0x21, 0xe1, 0x05, 0xe2, 0x3e, 0x3a, 0xf3, 0xff, 0xe1, 0x48, 0xa8, - 0x68, 0xfd, 0x31, 0x38, 0xbc, 0x6b, 0xd5, 0x2d, 0x17, 0xb5, 0x5b, 0x6d, 0x84, 0x23, 0x96, 0x3e, - 0x2a, 0xfd, 0x2f, 0x87, 0xba, 0xc4, 0xdc, 0x66, 0x90, 0x9b, 0x4a, 0x31, 0xc6, 0x76, 0x3b, 0x07, - 0x67, 0xfb, 0x53, 0x3f, 0x38, 0xa4, 0x3d, 0xfb, 0xec, 0xb3, 0xcf, 0x26, 0x32, 0x1f, 0xef, 0x83, - 0xc3, 0x61, 0x39, 0x13, 0x9a, 0xbe, 0xe3, 0xd0, 0x67, 0xed, 0x36, 0xaf, 0xa3, 0x36, 0x31, 0x52, - 0xaf, 0xc1, 0xbe, 0xe9, 0x39, 0xe8, 0x6d, 0x98, 0xd7, 0x51, 0x23, 0x9d, 0x9c, 0x56, 0x66, 0x86, - 0x17, 0xde, 0x11, 0x2b, 0x2b, 0xe7, 0x96, 0x31, 0xc4, 0xa0, 0x48, 0xfd, 0x21, 0x48, 0xb2, 0x12, - 0x8d, 0x25, 0xcc, 0xc6, 0x93, 0x80, 0x73, 0xc9, 0x20, 0x38, 0xfd, 0x4e, 0xe8, 0xc7, 0xff, 0xd3, - 0xd8, 0xe8, 0x23, 0x3a, 0xa7, 0xf0, 0x00, 0x8e, 0x0b, 0x7d, 0x02, 0x52, 0x24, 0x4d, 0x6a, 0x88, - 0x4f, 0x6d, 0xde, 0x77, 0x1c, 0x58, 0x35, 0xb4, 0x65, 0xee, 0x36, 0xdc, 0xca, 0x93, 0x66, 0x63, - 0x17, 0x91, 0x80, 0xef, 0x37, 0x06, 0xd9, 0xe0, 0x7b, 0xf0, 0x98, 0x3e, 0x05, 0x03, 0x34, 0xab, - 0xea, 0x56, 0x0d, 0x3d, 0x4d, 0xaa, 0x67, 0xaf, 0x41, 0x13, 0x6d, 0x09, 0x8f, 0xe0, 0xc7, 0x3f, - 0xee, 0xd8, 0x16, 0x0f, 0x4d, 0xf2, 0x08, 0x3c, 0x40, 0x1e, 0x7f, 0x5e, 0x2e, 0xdc, 0x77, 0x85, - 0xbf, 0x9e, 0x1c, 0x53, 0x99, 0xaf, 0x25, 0x20, 0x49, 0xea, 0xc5, 0x08, 0x0c, 0x6c, 0x5c, 0x5b, - 0x2b, 0x55, 0x8a, 0xab, 0x9b, 0xf9, 0xe5, 0x92, 0xa6, 0xe8, 0xc3, 0x00, 0x64, 0xe0, 0xf2, 0xf2, + // 6731 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x7b, 0x70, 0x24, 0x57, + 0x79, 0xef, 0xf6, 0xf4, 0x48, 0x3b, 0xfa, 0xf4, 0x6a, 0xb5, 0x76, 0xb5, 0x63, 0x79, 0x2d, 0xed, + 0x8e, 0xd7, 0x6b, 0x59, 0xb6, 0xb5, 0x5a, 0xad, 0xf6, 0x35, 0x8b, 0xed, 0x3b, 0xaf, 0x5d, 0x6b, + 0x91, 0x46, 0xa2, 0x25, 0x61, 0x2f, 0xdc, 0x5b, 0x53, 0xbd, 0x33, 0x47, 0xd2, 0xd8, 0x33, 0xdd, + 0xc3, 0x74, 0x8f, 0x6d, 0xb9, 0x6e, 0xdd, 0xf2, 0x85, 0x7b, 0x09, 0x24, 0x95, 0x27, 0x49, 0x05, + 0x08, 0x18, 0x03, 0x05, 0x18, 0xf2, 0x82, 0x40, 0x08, 0x90, 0x54, 0xf0, 0x3f, 0x84, 0xcd, 0x3f, + 0x29, 0x93, 0xbf, 0x52, 0x54, 0xca, 0x85, 0xd7, 0x54, 0x85, 0x24, 0x4e, 0x20, 0xc4, 0x55, 0xa1, + 0xca, 0xfc, 0x91, 0x3a, 0xaf, 0xee, 0x3e, 0x67, 0x7a, 0xd4, 0x2d, 0xaf, 0x6d, 0xf8, 0x67, 0x77, + 0xe6, 0x7c, 0xdf, 0xef, 0xeb, 0xef, 0x7c, 0xaf, 0xf3, 0xf5, 0x39, 0x47, 0x03, 0x3f, 0xbe, 0x08, + 0xc7, 0xb6, 0x6d, 0x7b, 0xbb, 0x81, 0x4e, 0xb5, 0xda, 0xb6, 0x6b, 0x5f, 0xef, 0x6c, 0x9d, 0xaa, + 0x21, 0xa7, 0xda, 0xae, 0xb7, 0x5c, 0xbb, 0x3d, 0x47, 0xc6, 0xf4, 0x51, 0xca, 0x31, 0xc7, 0x39, + 0x32, 0x2b, 0x30, 0x76, 0xb9, 0xde, 0x40, 0x45, 0x8f, 0x71, 0x1d, 0xb9, 0xfa, 0x05, 0x48, 0x6e, + 0xd5, 0x1b, 0x28, 0xad, 0x1c, 0x53, 0x67, 0x06, 0x17, 0x4e, 0xcc, 0x49, 0xa0, 0x39, 0x11, 0xb1, + 0x86, 0x87, 0x0d, 0x82, 0xc8, 0xfc, 0x30, 0x09, 0xe3, 0x21, 0x54, 0x5d, 0x87, 0xa4, 0x65, 0x36, + 0xb1, 0x44, 0x65, 0x66, 0xc0, 0x20, 0x9f, 0xf5, 0x34, 0x1c, 0x6c, 0x99, 0xd5, 0xc7, 0xcd, 0x6d, + 0x94, 0x4e, 0x90, 0x61, 0xfe, 0x55, 0x9f, 0x02, 0xa8, 0xa1, 0x16, 0xb2, 0x6a, 0xc8, 0xaa, 0xee, + 0xa6, 0xd5, 0x63, 0xea, 0xcc, 0x80, 0x11, 0x18, 0xd1, 0xef, 0x85, 0xb1, 0x56, 0xe7, 0x7a, 0xa3, + 0x5e, 0xad, 0x04, 0xd8, 0xe0, 0x98, 0x3a, 0xd3, 0x67, 0x68, 0x94, 0x50, 0xf4, 0x99, 0xef, 0x86, + 0xd1, 0x27, 0x91, 0xf9, 0x78, 0x90, 0x75, 0x90, 0xb0, 0x8e, 0xe0, 0xe1, 0x00, 0x63, 0x01, 0x86, + 0x9a, 0xc8, 0x71, 0xcc, 0x6d, 0x54, 0x71, 0x77, 0x5b, 0x28, 0x9d, 0x24, 0xb3, 0x3f, 0xd6, 0x35, + 0x7b, 0x79, 0xe6, 0x83, 0x0c, 0xb5, 0xb1, 0xdb, 0x42, 0x7a, 0x0e, 0x06, 0x90, 0xd5, 0x69, 0x52, + 0x09, 0x7d, 0x3d, 0xec, 0x57, 0xb2, 0x3a, 0x4d, 0x59, 0x4a, 0x0a, 0xc3, 0x98, 0x88, 0x83, 0x0e, + 0x6a, 0x3f, 0x51, 0xaf, 0xa2, 0x74, 0x3f, 0x11, 0x70, 0x77, 0x97, 0x80, 0x75, 0x4a, 0x97, 0x65, + 0x70, 0x9c, 0x5e, 0x80, 0x01, 0xf4, 0x94, 0x8b, 0x2c, 0xa7, 0x6e, 0x5b, 0xe9, 0x83, 0x44, 0xc8, + 0x5d, 0x21, 0x5e, 0x44, 0x8d, 0x9a, 0x2c, 0xc2, 0xc7, 0xe9, 0xe7, 0xe0, 0xa0, 0xdd, 0x72, 0xeb, + 0xb6, 0xe5, 0xa4, 0x53, 0xc7, 0x94, 0x99, 0xc1, 0x85, 0xa3, 0xa1, 0x81, 0xb0, 0x4a, 0x79, 0x0c, + 0xce, 0xac, 0x2f, 0x81, 0xe6, 0xd8, 0x9d, 0x76, 0x15, 0x55, 0xaa, 0x76, 0x0d, 0x55, 0xea, 0xd6, + 0x96, 0x9d, 0x1e, 0x20, 0x02, 0xa6, 0xbb, 0x27, 0x42, 0x18, 0x0b, 0x76, 0x0d, 0x2d, 0x59, 0x5b, + 0xb6, 0x31, 0xe2, 0x08, 0xdf, 0xf5, 0x09, 0xe8, 0x77, 0x76, 0x2d, 0xd7, 0x7c, 0x2a, 0x3d, 0x44, + 0x22, 0x84, 0x7d, 0xcb, 0x7c, 0xb3, 0x1f, 0x46, 0xe3, 0x84, 0xd8, 0x25, 0xe8, 0xdb, 0xc2, 0xb3, + 0x4c, 0x27, 0xf6, 0x63, 0x03, 0x8a, 0x11, 0x8d, 0xd8, 0xff, 0x06, 0x8d, 0x98, 0x83, 0x41, 0x0b, + 0x39, 0x2e, 0xaa, 0xd1, 0x88, 0x50, 0x63, 0xc6, 0x14, 0x50, 0x50, 0x77, 0x48, 0x25, 0xdf, 0x50, + 0x48, 0x3d, 0x0a, 0xa3, 0x9e, 0x4a, 0x95, 0xb6, 0x69, 0x6d, 0xf3, 0xd8, 0x3c, 0x15, 0xa5, 0xc9, + 0x5c, 0x89, 0xe3, 0x0c, 0x0c, 0x33, 0x46, 0x90, 0xf0, 0x5d, 0x2f, 0x02, 0xd8, 0x16, 0xb2, 0xb7, + 0x2a, 0x35, 0x54, 0x6d, 0xa4, 0x53, 0x3d, 0xac, 0xb4, 0x8a, 0x59, 0xba, 0xac, 0x64, 0xd3, 0xd1, + 0x6a, 0x43, 0xbf, 0xe8, 0x87, 0xda, 0xc1, 0x1e, 0x91, 0xb2, 0x42, 0x93, 0xac, 0x2b, 0xda, 0x36, + 0x61, 0xa4, 0x8d, 0x70, 0xdc, 0xa3, 0x1a, 0x9b, 0xd9, 0x00, 0x51, 0x62, 0x2e, 0x72, 0x66, 0x06, + 0x83, 0xd1, 0x89, 0x0d, 0xb7, 0x83, 0x5f, 0xf5, 0x3b, 0xc1, 0x1b, 0xa8, 0x90, 0xb0, 0x02, 0x52, + 0x85, 0x86, 0xf8, 0x60, 0xd9, 0x6c, 0xa2, 0xc9, 0xa7, 0x61, 0x44, 0x34, 0x8f, 0x7e, 0x08, 0xfa, + 0x1c, 0xd7, 0x6c, 0xbb, 0x24, 0x0a, 0xfb, 0x0c, 0xfa, 0x45, 0xd7, 0x40, 0x45, 0x56, 0x8d, 0x54, + 0xb9, 0x3e, 0x03, 0x7f, 0xd4, 0xff, 0x87, 0x3f, 0x61, 0x95, 0x4c, 0xf8, 0x64, 0xb7, 0x47, 0x05, + 0xc9, 0xf2, 0xbc, 0x27, 0xcf, 0xc3, 0xb0, 0x30, 0x81, 0xb8, 0x8f, 0xce, 0xfc, 0x6f, 0x38, 0x1c, + 0x2a, 0x5a, 0x7f, 0x14, 0x0e, 0x75, 0xac, 0xba, 0xe5, 0xa2, 0x76, 0xab, 0x8d, 0x70, 0xc4, 0xd2, + 0x47, 0xa5, 0xff, 0xe9, 0x60, 0x8f, 0x98, 0xdb, 0x0c, 0x72, 0x53, 0x29, 0xc6, 0x78, 0xa7, 0x7b, + 0x70, 0x76, 0x20, 0xf5, 0xa3, 0x83, 0xda, 0x33, 0xcf, 0x3c, 0xf3, 0x4c, 0x22, 0xf3, 0xd1, 0x7e, + 0x38, 0x14, 0x96, 0x33, 0xa1, 0xe9, 0x3b, 0x01, 0xfd, 0x56, 0xa7, 0x79, 0x1d, 0xb5, 0x89, 0x91, + 0xfa, 0x0c, 0xf6, 0x4d, 0xcf, 0x41, 0x5f, 0xc3, 0xbc, 0x8e, 0x1a, 0xe9, 0xe4, 0x31, 0x65, 0x66, + 0x64, 0xe1, 0xde, 0x58, 0x59, 0x39, 0xb7, 0x8c, 0x21, 0x06, 0x45, 0xea, 0x0f, 0x42, 0x92, 0x95, + 0x68, 0x2c, 0x61, 0x36, 0x9e, 0x04, 0x9c, 0x4b, 0x06, 0xc1, 0xe9, 0xb7, 0xc3, 0x00, 0xfe, 0x9f, + 0xc6, 0x46, 0x3f, 0xd1, 0x39, 0x85, 0x07, 0x70, 0x5c, 0xe8, 0x93, 0x90, 0x22, 0x69, 0x52, 0x43, + 0x7c, 0x69, 0xf3, 0xbe, 0xe3, 0xc0, 0xaa, 0xa1, 0x2d, 0xb3, 0xd3, 0x70, 0x2b, 0x4f, 0x98, 0x8d, + 0x0e, 0x22, 0x01, 0x3f, 0x60, 0x0c, 0xb1, 0xc1, 0x77, 0xe3, 0x31, 0x7d, 0x1a, 0x06, 0x69, 0x56, + 0xd5, 0xad, 0x1a, 0x7a, 0x8a, 0x54, 0xcf, 0x3e, 0x83, 0x26, 0xda, 0x12, 0x1e, 0xc1, 0x8f, 0x7f, + 0xcc, 0xb1, 0x2d, 0x1e, 0x9a, 0xe4, 0x11, 0x78, 0x80, 0x3c, 0xfe, 0xbc, 0x5c, 0xb8, 0xef, 0x08, + 0x9f, 0x9e, 0x1c, 0x53, 0x99, 0xaf, 0x27, 0x20, 0x49, 0xea, 0xc5, 0x28, 0x0c, 0x6e, 0x5c, 0x5b, + 0x2b, 0x55, 0x8a, 0xab, 0x9b, 0xf9, 0xe5, 0x92, 0xa6, 0xe8, 0x23, 0x00, 0x64, 0xe0, 0xf2, 0xf2, 0x6a, 0x6e, 0x43, 0x4b, 0x78, 0xdf, 0x97, 0xca, 0x1b, 0xe7, 0x16, 0x35, 0xd5, 0x03, 0x6c, 0xd2, - 0x81, 0x64, 0x90, 0xe1, 0xcc, 0x82, 0xd6, 0xab, 0x6b, 0x30, 0x48, 0x05, 0x2c, 0x3d, 0x56, 0x2a, - 0x9e, 0x5b, 0xd4, 0xfa, 0xc4, 0x91, 0x33, 0x0b, 0xda, 0x21, 0x7d, 0x08, 0xfa, 0xc9, 0x48, 0x7e, - 0x75, 0x75, 0x59, 0x4b, 0x79, 0x32, 0xd7, 0x37, 0x8c, 0xa5, 0xf2, 0x15, 0xad, 0xdf, 0x93, 0x79, - 0xc5, 0x58, 0xdd, 0x5c, 0xd3, 0xc0, 0x93, 0xb0, 0x52, 0x5a, 0x5f, 0xcf, 0x5d, 0x29, 0x69, 0x03, - 0x1e, 0x47, 0xfe, 0xda, 0x46, 0x69, 0x5d, 0x1b, 0x14, 0xd4, 0x3a, 0xb3, 0xa0, 0x0d, 0x79, 0x8f, - 0x28, 0x95, 0x37, 0x57, 0xb4, 0x61, 0x7d, 0x14, 0x86, 0xe8, 0x23, 0xb8, 0x12, 0x23, 0xd2, 0xd0, - 0xb9, 0x45, 0x4d, 0xf3, 0x15, 0xa1, 0x52, 0x46, 0x85, 0x81, 0x73, 0x8b, 0x9a, 0x9e, 0x29, 0x40, - 0x2f, 0x89, 0x2e, 0x5d, 0x87, 0xe1, 0xe5, 0x5c, 0xbe, 0xb4, 0x5c, 0x59, 0x5d, 0xdb, 0x58, 0x5a, - 0x2d, 0xe7, 0x96, 0x35, 0xc5, 0x1f, 0x33, 0x4a, 0xef, 0xde, 0x5c, 0x32, 0x4a, 0x45, 0x2d, 0x11, - 0x1c, 0x5b, 0x2b, 0xe5, 0x36, 0x4a, 0x45, 0x4d, 0xcd, 0x54, 0xe1, 0x70, 0x58, 0x9d, 0x0c, 0xcd, - 0x8c, 0x80, 0x8b, 0x13, 0x5d, 0x5c, 0x4c, 0x64, 0x75, 0xb8, 0xf8, 0x95, 0x04, 0x8c, 0x85, 0xcc, - 0x15, 0xa1, 0x0f, 0x79, 0x18, 0x7a, 0x69, 0x88, 0xd2, 0xd9, 0xf3, 0xbe, 0xd0, 0x49, 0x87, 0x04, - 0x6c, 0xc7, 0x0c, 0x4a, 0x70, 0xc1, 0x0e, 0x42, 0xed, 0xd2, 0x41, 0x60, 0x11, 0x1d, 0x35, 0xfd, - 0xff, 0x75, 0xd4, 0x74, 0x3a, 0xed, 0x9d, 0x8b, 0x33, 0xed, 0x91, 0xb1, 0x83, 0xd5, 0xf6, 0xde, - 0x90, 0xda, 0x7e, 0x09, 0x46, 0x3b, 0x04, 0xc5, 0xae, 0xb1, 0x1f, 0x54, 0x20, 0xdd, 0xcd, 0x38, - 0x11, 0x95, 0x2e, 0x21, 0x54, 0xba, 0x4b, 0xb2, 0x05, 0x8f, 0x77, 0x77, 0x42, 0x87, 0xaf, 0x3f, - 0xaf, 0xc0, 0x78, 0x78, 0xa7, 0x18, 0xaa, 0xc3, 0x43, 0xd0, 0xd7, 0x44, 0xee, 0x8e, 0xcd, 0xbb, - 0xa5, 0x93, 0x21, 0x73, 0x30, 0x26, 0xcb, 0xce, 0x66, 0xa8, 0xe0, 0x24, 0xae, 0x76, 0x6b, 0xf7, - 0xa8, 0x36, 0x1d, 0x9a, 0x7e, 0x24, 0x01, 0x47, 0x42, 0x85, 0x87, 0x2a, 0x7a, 0x17, 0x40, 0xdd, - 0x6a, 0xed, 0xba, 0xb4, 0x23, 0xa2, 0x05, 0xb6, 0x9f, 0x8c, 0x90, 0xe2, 0x85, 0x8b, 0xe7, 0xae, - 0xeb, 0xd1, 0x55, 0x42, 0x07, 0x3a, 0x44, 0x18, 0x2e, 0xf8, 0x8a, 0x26, 0x89, 0xa2, 0x93, 0x5d, - 0xde, 0xb4, 0x23, 0x30, 0xe7, 0x41, 0xab, 0x36, 0xea, 0xc8, 0x72, 0x2b, 0x8e, 0xdb, 0x46, 0x66, - 0xb3, 0x6e, 0x6d, 0x93, 0x19, 0x24, 0x95, 0xed, 0xdd, 0x32, 0x1b, 0x0e, 0x32, 0x46, 0x28, 0x79, - 0x9d, 0x53, 0x31, 0x82, 0x04, 0x50, 0x3b, 0x80, 0xe8, 0x13, 0x10, 0x94, 0xec, 0x21, 0x32, 0x5f, - 0x49, 0xc1, 0x40, 0xa0, 0xaf, 0xd6, 0x8f, 0xc3, 0xe0, 0xe3, 0xe6, 0x93, 0x66, 0x85, 0xaf, 0x95, - 0xa8, 0x25, 0x06, 0xf0, 0xd8, 0x1a, 0x5b, 0x2f, 0xcd, 0xc3, 0x61, 0xc2, 0x62, 0xef, 0xba, 0xa8, - 0x5d, 0xa9, 0x36, 0x4c, 0xc7, 0x21, 0x46, 0x4b, 0x11, 0x56, 0x1d, 0xd3, 0x56, 0x31, 0xa9, 0xc0, - 0x29, 0xfa, 0x59, 0x18, 0x23, 0x88, 0xe6, 0x6e, 0xc3, 0xad, 0xb7, 0x1a, 0xa8, 0x82, 0x57, 0x6f, - 0x0e, 0x99, 0x49, 0x3c, 0xcd, 0x46, 0x31, 0xc7, 0x0a, 0x63, 0xc0, 0x1a, 0x39, 0x7a, 0x11, 0xee, - 0x22, 0xb0, 0x6d, 0x64, 0xa1, 0xb6, 0xe9, 0xa2, 0x0a, 0x7a, 0xff, 0xae, 0xd9, 0x70, 0x2a, 0xa6, - 0x55, 0xab, 0xec, 0x98, 0xce, 0x4e, 0xfa, 0x30, 0x16, 0x90, 0x4f, 0xa4, 0x15, 0xe3, 0x0e, 0xcc, - 0x78, 0x85, 0xf1, 0x95, 0x08, 0x5b, 0xce, 0xaa, 0x3d, 0x62, 0x3a, 0x3b, 0x7a, 0x16, 0xc6, 0x89, - 0x14, 0xc7, 0x6d, 0xd7, 0xad, 0xed, 0x4a, 0x75, 0x07, 0x55, 0x9f, 0xa8, 0xec, 0xba, 0x5b, 0x17, - 0xd2, 0x77, 0x06, 0x9f, 0x4f, 0x34, 0x5c, 0x27, 0x3c, 0x05, 0xcc, 0xb2, 0xe9, 0x6e, 0x5d, 0xd0, - 0xd7, 0x61, 0x10, 0x3b, 0xa3, 0x59, 0x7f, 0x06, 0x55, 0xb6, 0xec, 0x36, 0x99, 0x1a, 0x87, 0x43, - 0x4a, 0x53, 0xc0, 0x82, 0x73, 0xab, 0x0c, 0xb0, 0x62, 0xd7, 0x50, 0xb6, 0x77, 0x7d, 0xad, 0x54, - 0x2a, 0x1a, 0x03, 0x5c, 0xca, 0x65, 0xbb, 0x8d, 0x03, 0x6a, 0xdb, 0xf6, 0x0c, 0x3c, 0x40, 0x03, - 0x6a, 0xdb, 0xe6, 0xe6, 0x3d, 0x0b, 0x63, 0xd5, 0x2a, 0x7d, 0xe7, 0x7a, 0xb5, 0xc2, 0xd6, 0x58, - 0x4e, 0x5a, 0x13, 0x8c, 0x55, 0xad, 0x5e, 0xa1, 0x0c, 0x2c, 0xc6, 0x1d, 0xfd, 0x22, 0x1c, 0xf1, - 0x8d, 0x15, 0x04, 0x8e, 0x76, 0xbc, 0xa5, 0x0c, 0x3d, 0x0b, 0x63, 0xad, 0xbd, 0x4e, 0xa0, 0x2e, - 0x3c, 0xb1, 0xb5, 0x27, 0xc3, 0xce, 0xc3, 0xe1, 0xd6, 0x4e, 0xab, 0x13, 0x37, 0x1b, 0xc4, 0xe9, - 0xad, 0x9d, 0x96, 0x0c, 0xbc, 0x87, 0x2c, 0xb8, 0xdb, 0xa8, 0x6a, 0xba, 0xa8, 0x96, 0x3e, 0x1a, - 0x64, 0x0f, 0x10, 0xf4, 0x53, 0xa0, 0x55, 0xab, 0x15, 0x64, 0x99, 0xd7, 0x1b, 0xa8, 0x62, 0xb6, - 0x91, 0x65, 0x3a, 0xe9, 0xa9, 0x20, 0xf3, 0x70, 0xb5, 0x5a, 0x22, 0xd4, 0x1c, 0x21, 0xea, 0xb3, - 0x30, 0x6a, 0x5f, 0x7f, 0xbc, 0x4a, 0x43, 0xb2, 0xd2, 0x6a, 0xa3, 0xad, 0xfa, 0xd3, 0xe9, 0x13, - 0xc4, 0xbe, 0x23, 0x98, 0x40, 0x02, 0x72, 0x8d, 0x0c, 0xeb, 0xf7, 0x81, 0x56, 0x75, 0x76, 0xcc, - 0x76, 0x8b, 0xd4, 0x64, 0xa7, 0x65, 0x56, 0x51, 0xfa, 0x1e, 0xca, 0x4a, 0xc7, 0xcb, 0x7c, 0x18, - 0xa7, 0x84, 0xf3, 0x54, 0x7d, 0xcb, 0xe5, 0x12, 0xef, 0xa5, 0x29, 0x41, 0xc6, 0x98, 0xb4, 0x19, - 0xd0, 0xb0, 0x29, 0x84, 0x07, 0xcf, 0x10, 0xb6, 0xe1, 0xd6, 0x4e, 0x2b, 0xf8, 0xdc, 0xbb, 0x61, - 0x08, 0x73, 0xfa, 0x0f, 0xbd, 0x8f, 0x36, 0x64, 0xad, 0x9d, 0xc0, 0x13, 0xdf, 0xb2, 0xde, 0x38, - 0x93, 0x85, 0xc1, 0x60, 0x7c, 0xea, 0xfd, 0x40, 0x23, 0x54, 0x53, 0x70, 0xb3, 0x52, 0x58, 0x2d, - 0xe2, 0x36, 0xe3, 0xbd, 0x25, 0x2d, 0x81, 0xdb, 0x9d, 0xe5, 0xa5, 0x8d, 0x52, 0xc5, 0xd8, 0x2c, - 0x6f, 0x2c, 0xad, 0x94, 0x34, 0x35, 0xd8, 0x57, 0x7f, 0x2b, 0x01, 0xc3, 0xe2, 0x12, 0x49, 0x7f, - 0x27, 0x1c, 0xe5, 0xfb, 0x19, 0x0e, 0x72, 0x2b, 0x4f, 0xd5, 0xdb, 0x24, 0x65, 0x9a, 0x26, 0x9d, - 0xbe, 0x3c, 0xa7, 0x1d, 0x66, 0x5c, 0xeb, 0xc8, 0x7d, 0xb4, 0xde, 0xc6, 0x09, 0xd1, 0x34, 0x5d, - 0x7d, 0x19, 0xa6, 0x2c, 0xbb, 0xe2, 0xb8, 0xa6, 0x55, 0x33, 0xdb, 0xb5, 0x8a, 0xbf, 0x93, 0x54, - 0x31, 0xab, 0x55, 0xe4, 0x38, 0x36, 0x9d, 0xaa, 0x3c, 0x29, 0xc7, 0x2c, 0x7b, 0x9d, 0x31, 0xfb, - 0x35, 0x3c, 0xc7, 0x58, 0xa5, 0x00, 0x53, 0xbb, 0x05, 0xd8, 0x9d, 0xd0, 0xdf, 0x34, 0x5b, 0x15, - 0x64, 0xb9, 0xed, 0x3d, 0xd2, 0x18, 0xa7, 0x8c, 0x54, 0xd3, 0x6c, 0x95, 0xf0, 0xf7, 0xb7, 0x67, - 0x7d, 0xf2, 0xcf, 0x2a, 0x0c, 0x06, 0x9b, 0x63, 0xbc, 0xd6, 0xa8, 0x92, 0x79, 0x44, 0x21, 0x95, - 0xe6, 0xee, 0x7d, 0x5b, 0xe9, 0xb9, 0x02, 0x9e, 0x60, 0xb2, 0x7d, 0xb4, 0x65, 0x35, 0x28, 0x12, - 0x4f, 0xee, 0xb8, 0xb6, 0x20, 0xda, 0x22, 0xa4, 0x0c, 0xf6, 0x4d, 0xbf, 0x02, 0x7d, 0x8f, 0x3b, - 0x44, 0x76, 0x1f, 0x91, 0x7d, 0x62, 0x7f, 0xd9, 0x57, 0xd7, 0x89, 0xf0, 0xfe, 0xab, 0xeb, 0x95, - 0xf2, 0xaa, 0xb1, 0x92, 0x5b, 0x36, 0x18, 0x5c, 0xbf, 0x03, 0x92, 0x0d, 0xf3, 0x99, 0x3d, 0x71, - 0x2a, 0x22, 0x43, 0x71, 0x0d, 0x7f, 0x07, 0x24, 0x9f, 0x42, 0xe6, 0x13, 0xe2, 0x04, 0x40, 0x86, - 0xde, 0xc2, 0xd0, 0x3f, 0x05, 0xbd, 0xc4, 0x5e, 0x3a, 0x00, 0xb3, 0x98, 0xd6, 0xa3, 0xa7, 0x20, - 0x59, 0x58, 0x35, 0x70, 0xf8, 0x6b, 0x30, 0x48, 0x47, 0x2b, 0x6b, 0x4b, 0xa5, 0x42, 0x49, 0x4b, - 0x64, 0xce, 0x42, 0x1f, 0x35, 0x02, 0x4e, 0x0d, 0xcf, 0x0c, 0x5a, 0x0f, 0xfb, 0xca, 0x64, 0x28, - 0x9c, 0xba, 0xb9, 0x92, 0x2f, 0x19, 0x5a, 0x22, 0xe8, 0x5e, 0x07, 0x06, 0x83, 0x7d, 0xf1, 0xdb, - 0x13, 0x53, 0xdf, 0x50, 0x60, 0x20, 0xd0, 0xe7, 0xe2, 0x06, 0xc5, 0x6c, 0x34, 0xec, 0xa7, 0x2a, - 0x66, 0xa3, 0x6e, 0x3a, 0x2c, 0x28, 0x80, 0x0c, 0xe5, 0xf0, 0x48, 0x5c, 0xa7, 0xbd, 0x2d, 0xca, - 0x3f, 0xa7, 0x80, 0x26, 0xb7, 0x98, 0x92, 0x82, 0xca, 0xcf, 0x54, 0xc1, 0x4f, 0x29, 0x30, 0x2c, - 0xf6, 0x95, 0x92, 0x7a, 0xc7, 0x7f, 0xa6, 0xea, 0x7d, 0x2f, 0x01, 0x43, 0x42, 0x37, 0x19, 0x57, - 0xbb, 0xf7, 0xc3, 0x68, 0xbd, 0x86, 0x9a, 0x2d, 0xdb, 0x45, 0x56, 0x75, 0xaf, 0xd2, 0x40, 0x4f, - 0xa2, 0x46, 0x3a, 0x43, 0x0a, 0xc5, 0xa9, 0xfd, 0xfb, 0xd5, 0xb9, 0x25, 0x1f, 0xb7, 0x8c, 0x61, - 0xd9, 0xb1, 0xa5, 0x62, 0x69, 0x65, 0x6d, 0x75, 0xa3, 0x54, 0x2e, 0x5c, 0xab, 0x6c, 0x96, 0xdf, - 0x55, 0x5e, 0x7d, 0xb4, 0x6c, 0x68, 0x75, 0x89, 0xed, 0x2d, 0x4c, 0xf5, 0x35, 0xd0, 0x64, 0xa5, - 0xf4, 0xa3, 0x10, 0xa6, 0x96, 0xd6, 0xa3, 0x8f, 0xc1, 0x48, 0x79, 0xb5, 0xb2, 0xbe, 0x54, 0x2c, - 0x55, 0x4a, 0x97, 0x2f, 0x97, 0x0a, 0x1b, 0xeb, 0x74, 0x07, 0xc2, 0xe3, 0xde, 0x10, 0x93, 0xfa, - 0x93, 0x2a, 0x8c, 0x85, 0x68, 0xa2, 0xe7, 0xd8, 0xda, 0x81, 0x2e, 0x67, 0x1e, 0x88, 0xa3, 0xfd, - 0x1c, 0x9e, 0xf2, 0xd7, 0xcc, 0xb6, 0xcb, 0x96, 0x1a, 0xf7, 0x01, 0xb6, 0x92, 0xe5, 0xd6, 0xb7, - 0xea, 0xa8, 0xcd, 0x36, 0x6c, 0xe8, 0x82, 0x62, 0xc4, 0x1f, 0xa7, 0x7b, 0x36, 0xf7, 0x83, 0xde, - 0xb2, 0x9d, 0xba, 0x5b, 0x7f, 0x12, 0x55, 0xea, 0x16, 0xdf, 0xdd, 0xc1, 0x0b, 0x8c, 0xa4, 0xa1, - 0x71, 0xca, 0x92, 0xe5, 0x7a, 0xdc, 0x16, 0xda, 0x36, 0x25, 0x6e, 0x5c, 0xc0, 0x55, 0x43, 0xe3, - 0x14, 0x8f, 0xfb, 0x38, 0x0c, 0xd6, 0xec, 0x5d, 0xdc, 0x75, 0x51, 0x3e, 0x3c, 0x5f, 0x28, 0xc6, - 0x00, 0x1d, 0xf3, 0x58, 0x58, 0x3f, 0xed, 0x6f, 0x2b, 0x0d, 0x1a, 0x03, 0x74, 0x8c, 0xb2, 0xdc, - 0x0b, 0x23, 0xe6, 0xf6, 0x76, 0x1b, 0x0b, 0xe7, 0x82, 0xe8, 0x0a, 0x61, 0xd8, 0x1b, 0x26, 0x8c, - 0x13, 0x57, 0x21, 0xc5, 0xed, 0x80, 0xa7, 0x64, 0x6c, 0x89, 0x4a, 0x8b, 0x2e, 0x7b, 0x13, 0x33, - 0xfd, 0x46, 0xca, 0xe2, 0xc4, 0xe3, 0x30, 0x58, 0x77, 0x2a, 0xfe, 0x2e, 0x79, 0x62, 0x3a, 0x31, - 0x93, 0x32, 0x06, 0xea, 0x8e, 0xb7, 0xc3, 0x98, 0xf9, 0x7c, 0x02, 0x86, 0xc5, 0x5d, 0x7e, 0xbd, - 0x08, 0xa9, 0x86, 0x5d, 0x35, 0x49, 0x68, 0xd1, 0x23, 0xa6, 0x99, 0x88, 0x83, 0x81, 0xb9, 0x65, - 0xc6, 0x6f, 0x78, 0xc8, 0x89, 0x7f, 0x50, 0x20, 0xc5, 0x87, 0xf5, 0x71, 0x48, 0xb6, 0x4c, 0x77, - 0x87, 0x88, 0xeb, 0xcd, 0x27, 0x34, 0xc5, 0x20, 0xdf, 0xf1, 0xb8, 0xd3, 0x32, 0x2d, 0x12, 0x02, - 0x6c, 0x1c, 0x7f, 0xc7, 0x7e, 0x6d, 0x20, 0xb3, 0x46, 0x96, 0x1f, 0x76, 0xb3, 0x89, 0x2c, 0xd7, - 0xe1, 0x7e, 0x65, 0xe3, 0x05, 0x36, 0xac, 0xbf, 0x03, 0x46, 0xdd, 0xb6, 0x59, 0x6f, 0x08, 0xbc, - 0x49, 0xc2, 0xab, 0x71, 0x82, 0xc7, 0x9c, 0x85, 0x3b, 0xb8, 0xdc, 0x1a, 0x72, 0xcd, 0xea, 0x0e, - 0xaa, 0xf9, 0xa0, 0x3e, 0xb2, 0xcd, 0x70, 0x94, 0x31, 0x14, 0x19, 0x9d, 0x63, 0x33, 0xdf, 0x51, - 0x60, 0x94, 0x2f, 0x98, 0x6a, 0x9e, 0xb1, 0x56, 0x00, 0x4c, 0xcb, 0xb2, 0xdd, 0xa0, 0xb9, 0x3a, - 0x43, 0xb9, 0x03, 0x37, 0x97, 0xf3, 0x40, 0x46, 0x40, 0xc0, 0x44, 0x13, 0xc0, 0xa7, 0x74, 0x35, - 0xdb, 0x14, 0x0c, 0xb0, 0x23, 0x1c, 0x72, 0x0e, 0x48, 0x97, 0xd8, 0x40, 0x87, 0xf0, 0xca, 0x4a, - 0x3f, 0x0c, 0xbd, 0xd7, 0xd1, 0x76, 0xdd, 0x62, 0x1b, 0xb3, 0xf4, 0x0b, 0xdf, 0x08, 0x49, 0x7a, - 0x1b, 0x21, 0xf9, 0xf7, 0xc1, 0x58, 0xd5, 0x6e, 0xca, 0xea, 0xe6, 0x35, 0x69, 0x99, 0xef, 0x3c, - 0xa2, 0xbc, 0x17, 0xfc, 0x16, 0xf3, 0x27, 0x8a, 0xf2, 0x07, 0x09, 0xf5, 0xca, 0x5a, 0xfe, 0x8b, - 0x89, 0x89, 0x2b, 0x14, 0xba, 0xc6, 0xdf, 0xd4, 0x40, 0x5b, 0x0d, 0x54, 0xc5, 0xda, 0xc3, 0xc7, - 0xee, 0x85, 0x07, 0xb6, 0xeb, 0xee, 0xce, 0xee, 0xf5, 0xb9, 0xaa, 0xdd, 0x3c, 0xb5, 0x6d, 0x6f, - 0xdb, 0xfe, 0xd1, 0x27, 0xfe, 0x46, 0xbe, 0x90, 0x4f, 0xec, 0xf8, 0xb3, 0xdf, 0x1b, 0x9d, 0x88, - 0x3c, 0x2b, 0xcd, 0x96, 0x61, 0x8c, 0x31, 0x57, 0xc8, 0xf9, 0x0b, 0x5d, 0x45, 0xe8, 0xfb, 0xee, - 0x61, 0xa5, 0xbf, 0xfc, 0x7d, 0x32, 0x5d, 0x1b, 0xa3, 0x0c, 0x8a, 0x69, 0x74, 0xa1, 0x91, 0x35, - 0xe0, 0x88, 0x20, 0x8f, 0xa6, 0x26, 0x6a, 0x47, 0x48, 0xfc, 0x16, 0x93, 0x38, 0x16, 0x90, 0xb8, - 0xce, 0xa0, 0xd9, 0x02, 0x0c, 0x1d, 0x44, 0xd6, 0xdf, 0x31, 0x59, 0x83, 0x28, 0x28, 0xe4, 0x0a, - 0x8c, 0x10, 0x21, 0xd5, 0x5d, 0xc7, 0xb5, 0x9b, 0xa4, 0xee, 0xed, 0x2f, 0xe6, 0xdb, 0xdf, 0xa7, - 0xb9, 0x32, 0x8c, 0x61, 0x05, 0x0f, 0x95, 0xcd, 0x02, 0x39, 0x72, 0xaa, 0xa1, 0x6a, 0x23, 0x42, - 0xc2, 0x0d, 0xa6, 0x88, 0xc7, 0x9f, 0x7d, 0x0f, 0x1c, 0xc6, 0x9f, 0x49, 0x59, 0x0a, 0x6a, 0x12, - 0xbd, 0xe1, 0x95, 0xfe, 0xce, 0x07, 0x69, 0x3a, 0x8e, 0x79, 0x02, 0x02, 0x3a, 0x05, 0xbc, 0xb8, - 0x8d, 0x5c, 0x17, 0xb5, 0x9d, 0x8a, 0xd9, 0x08, 0x53, 0x2f, 0xb0, 0x63, 0x90, 0xfe, 0xc4, 0xab, - 0xa2, 0x17, 0xaf, 0x50, 0x64, 0xae, 0xd1, 0xc8, 0x6e, 0xc2, 0xd1, 0x90, 0xa8, 0x88, 0x21, 0xf3, - 0x93, 0x4c, 0xe6, 0xe1, 0x8e, 0xc8, 0xc0, 0x62, 0xd7, 0x80, 0x8f, 0x7b, 0xbe, 0x8c, 0x21, 0xf3, - 0xf7, 0x99, 0x4c, 0x9d, 0x61, 0xb9, 0x4b, 0xb1, 0xc4, 0xab, 0x30, 0xfa, 0x24, 0x6a, 0x5f, 0xb7, - 0x1d, 0xb6, 0x4b, 0x13, 0x43, 0xdc, 0xa7, 0x98, 0xb8, 0x11, 0x06, 0x24, 0xdb, 0x36, 0x58, 0xd6, - 0x45, 0x48, 0x6d, 0x99, 0x55, 0x14, 0x43, 0xc4, 0xa7, 0x99, 0x88, 0x43, 0x98, 0x1f, 0x43, 0x73, - 0x30, 0xb8, 0x6d, 0xb3, 0x99, 0x29, 0x1a, 0xfe, 0x1c, 0x83, 0x0f, 0x70, 0x0c, 0x13, 0xd1, 0xb2, - 0x5b, 0xbb, 0x0d, 0x3c, 0x6d, 0x45, 0x8b, 0xf8, 0x0c, 0x17, 0xc1, 0x31, 0x4c, 0xc4, 0x01, 0xcc, - 0xfa, 0x3c, 0x17, 0xe1, 0x04, 0xec, 0xf9, 0x30, 0x0c, 0xd8, 0x56, 0x63, 0xcf, 0xb6, 0xe2, 0x28, - 0xf1, 0x59, 0x26, 0x01, 0x18, 0x04, 0x0b, 0xb8, 0x04, 0xfd, 0x71, 0x1d, 0xf1, 0xb9, 0x57, 0x79, - 0x7a, 0x70, 0x0f, 0x5c, 0x81, 0x11, 0x5e, 0xa0, 0xea, 0xb6, 0x15, 0x43, 0xc4, 0x1f, 0x31, 0x11, - 0xc3, 0x01, 0x18, 0x7b, 0x0d, 0x17, 0x39, 0xee, 0x36, 0x8a, 0x23, 0xe4, 0xf3, 0xfc, 0x35, 0x18, - 0x84, 0x99, 0xf2, 0x3a, 0xb2, 0xaa, 0x3b, 0xf1, 0x24, 0xbc, 0xc0, 0x4d, 0xc9, 0x31, 0x58, 0x44, - 0x01, 0x86, 0x9a, 0x66, 0xdb, 0xd9, 0x31, 0x1b, 0xb1, 0xdc, 0xf1, 0x05, 0x26, 0x63, 0xd0, 0x03, - 0x31, 0x8b, 0xec, 0x5a, 0x07, 0x11, 0xf3, 0x45, 0x6e, 0x91, 0x00, 0x8c, 0xa5, 0x9e, 0xe3, 0x92, - 0x2d, 0xad, 0x83, 0x48, 0xfb, 0x63, 0x9e, 0x7a, 0x14, 0xbb, 0x12, 0x94, 0x78, 0x09, 0xfa, 0x9d, - 0xfa, 0x33, 0xb1, 0xc4, 0xfc, 0x09, 0xf7, 0x34, 0x01, 0x60, 0xf0, 0x35, 0xb8, 0x23, 0x74, 0x9a, - 0x88, 0x21, 0xec, 0x4f, 0x99, 0xb0, 0xf1, 0x90, 0xa9, 0x82, 0x95, 0x84, 0x83, 0x8a, 0xfc, 0x33, - 0x5e, 0x12, 0x90, 0x24, 0x6b, 0x0d, 0xaf, 0x15, 0x1c, 0x73, 0xeb, 0x60, 0x56, 0xfb, 0x73, 0x6e, - 0x35, 0x8a, 0x15, 0xac, 0xb6, 0x01, 0xe3, 0x4c, 0xe2, 0xc1, 0xfc, 0xfa, 0x25, 0x5e, 0x58, 0x29, - 0x7a, 0x53, 0xf4, 0xee, 0xfb, 0x60, 0xc2, 0x33, 0x27, 0x6f, 0x4a, 0x9d, 0x4a, 0xd3, 0x6c, 0xc5, - 0x90, 0xfc, 0x65, 0x26, 0x99, 0x57, 0x7c, 0xaf, 0xab, 0x75, 0x56, 0xcc, 0x16, 0x16, 0xfe, 0x18, - 0xa4, 0xb9, 0xf0, 0x5d, 0xab, 0x8d, 0xaa, 0xf6, 0xb6, 0x55, 0x7f, 0x06, 0xd5, 0x62, 0x88, 0xfe, - 0x0b, 0xc9, 0x55, 0x9b, 0x01, 0x38, 0x96, 0xbc, 0x04, 0x9a, 0xd7, 0xab, 0x54, 0xea, 0xcd, 0x96, - 0xdd, 0x76, 0x23, 0x24, 0x7e, 0x85, 0x7b, 0xca, 0xc3, 0x2d, 0x11, 0x58, 0xb6, 0x04, 0xc3, 0xe4, - 0x6b, 0xdc, 0x90, 0xfc, 0x2a, 0x13, 0x34, 0xe4, 0xa3, 0x58, 0xe1, 0xa8, 0xda, 0xcd, 0x96, 0xd9, - 0x8e, 0x53, 0xff, 0xfe, 0x92, 0x17, 0x0e, 0x06, 0x61, 0x85, 0xc3, 0xdd, 0x6b, 0x21, 0x3c, 0xdb, - 0xc7, 0x90, 0xf0, 0x35, 0x5e, 0x38, 0x38, 0x86, 0x89, 0xe0, 0x0d, 0x43, 0x0c, 0x11, 0x7f, 0xc5, - 0x45, 0x70, 0x0c, 0x16, 0xf1, 0x6e, 0x7f, 0xa2, 0x6d, 0xa3, 0xed, 0xba, 0xe3, 0xb6, 0x69, 0x2b, - 0xbc, 0xbf, 0xa8, 0xaf, 0xbf, 0x2a, 0x36, 0x61, 0x46, 0x00, 0x9a, 0xbd, 0x0a, 0x23, 0x52, 0x8b, - 0xa1, 0x47, 0xdd, 0x5f, 0x49, 0xff, 0xe2, 0x6b, 0xac, 0x18, 0x89, 0x1d, 0x46, 0x76, 0x19, 0xfb, - 0x5d, 0xec, 0x03, 0xa2, 0x85, 0x7d, 0xf0, 0x35, 0xcf, 0xf5, 0x42, 0x1b, 0x90, 0xbd, 0x0c, 0x43, - 0x42, 0x0f, 0x10, 0x2d, 0xea, 0x97, 0x98, 0xa8, 0xc1, 0x60, 0x0b, 0x90, 0x3d, 0x0b, 0x49, 0x3c, - 0x9f, 0x47, 0xc3, 0x7f, 0x99, 0xc1, 0x09, 0x7b, 0xf6, 0x41, 0x48, 0xf1, 0x79, 0x3c, 0x1a, 0xfa, - 0x21, 0x06, 0xf5, 0x20, 0x18, 0xce, 0xe7, 0xf0, 0x68, 0xf8, 0xaf, 0x70, 0x38, 0x87, 0x60, 0x78, - 0x7c, 0x13, 0xbe, 0xf8, 0x6b, 0x49, 0x56, 0x87, 0xb9, 0xed, 0x2e, 0xc1, 0x21, 0x36, 0x79, 0x47, - 0xa3, 0x3f, 0xc2, 0x1e, 0xce, 0x11, 0xd9, 0xf3, 0xd0, 0x1b, 0xd3, 0xe0, 0xbf, 0xce, 0xa0, 0x94, - 0x3f, 0x5b, 0x80, 0x81, 0xc0, 0x84, 0x1d, 0x0d, 0xff, 0x0d, 0x06, 0x0f, 0xa2, 0xb0, 0xea, 0x6c, - 0xc2, 0x8e, 0x16, 0xf0, 0x9b, 0x5c, 0x75, 0x86, 0xc0, 0x66, 0xe3, 0x73, 0x75, 0x34, 0xfa, 0xb7, - 0xb8, 0xd5, 0x39, 0x24, 0xfb, 0x30, 0xf4, 0x7b, 0xf5, 0x37, 0x1a, 0xff, 0xdb, 0x0c, 0xef, 0x63, - 0xb0, 0x05, 0x02, 0xf5, 0x3f, 0x5a, 0xc4, 0xef, 0x70, 0x0b, 0x04, 0x50, 0x38, 0x8d, 0xe4, 0x39, - 0x3d, 0x5a, 0xd2, 0x47, 0x79, 0x1a, 0x49, 0x53, 0x3a, 0xf6, 0x26, 0x29, 0x83, 0xd1, 0x22, 0x7e, - 0x97, 0x7b, 0x93, 0xf0, 0x63, 0x35, 0xe4, 0x49, 0x32, 0x5a, 0xc6, 0xc7, 0xb8, 0x1a, 0xd2, 0x1c, - 0x99, 0x5d, 0x03, 0xbd, 0x73, 0x82, 0x8c, 0x96, 0xf7, 0x71, 0x26, 0x6f, 0xb4, 0x63, 0x7e, 0xcc, - 0x3e, 0x0a, 0xe3, 0xe1, 0x93, 0x63, 0xb4, 0xd4, 0x4f, 0xbc, 0x26, 0x2d, 0x67, 0x82, 0x73, 0x63, - 0x76, 0xc3, 0xaf, 0xb2, 0xc1, 0x89, 0x31, 0x5a, 0xec, 0x27, 0x5f, 0x13, 0x0b, 0x6d, 0x70, 0x5e, - 0xcc, 0xe6, 0x00, 0xfc, 0x39, 0x29, 0x5a, 0xd6, 0xa7, 0x98, 0xac, 0x00, 0x08, 0xa7, 0x06, 0x9b, - 0x92, 0xa2, 0xf1, 0x9f, 0xe6, 0xa9, 0xc1, 0x10, 0x38, 0x35, 0xf8, 0x6c, 0x14, 0x8d, 0x7e, 0x8e, - 0xa7, 0x06, 0x87, 0x64, 0x2f, 0x41, 0xca, 0xda, 0x6d, 0x34, 0x70, 0x6c, 0xe9, 0xfb, 0x5f, 0xc9, - 0x4a, 0xff, 0xeb, 0xeb, 0x0c, 0xcc, 0x01, 0xd9, 0xb3, 0xd0, 0x8b, 0x9a, 0xd7, 0x51, 0x2d, 0x0a, - 0xf9, 0x6f, 0xaf, 0xf3, 0x7a, 0x82, 0xb9, 0xb3, 0x0f, 0x03, 0xd0, 0xc5, 0x34, 0x39, 0x28, 0x8a, - 0xc0, 0xfe, 0xfb, 0xeb, 0xec, 0xb2, 0x84, 0x0f, 0xf1, 0x05, 0xd0, 0xab, 0x17, 0xfb, 0x0b, 0x78, - 0x55, 0x14, 0x40, 0x16, 0xe0, 0x17, 0xe1, 0xd0, 0xe3, 0x8e, 0x6d, 0xb9, 0xe6, 0x76, 0x14, 0xfa, - 0x3f, 0x18, 0x9a, 0xf3, 0x63, 0x83, 0x35, 0xed, 0x36, 0x72, 0xcd, 0x6d, 0x27, 0x0a, 0xfb, 0x9f, - 0x0c, 0xeb, 0x01, 0x30, 0xb8, 0x6a, 0x3a, 0x6e, 0x9c, 0xf7, 0xfe, 0x21, 0x07, 0x73, 0x00, 0x56, - 0x1a, 0x7f, 0x7e, 0x02, 0xed, 0x45, 0x61, 0x7f, 0xc4, 0x95, 0x66, 0xfc, 0xd9, 0x07, 0xa1, 0x1f, - 0x7f, 0xa4, 0x37, 0xa0, 0x22, 0xc0, 0xff, 0xc5, 0xc0, 0x3e, 0x02, 0x3f, 0xd9, 0x71, 0x6b, 0x6e, - 0x3d, 0xda, 0xd8, 0x3f, 0x66, 0x9e, 0xe6, 0xfc, 0xd9, 0x1c, 0x0c, 0x38, 0x6e, 0xad, 0xb6, 0xcb, - 0x3a, 0x9a, 0x08, 0xf8, 0x7f, 0xbf, 0xee, 0x2d, 0x72, 0x3d, 0x4c, 0xbe, 0x14, 0xbe, 0x5f, 0x07, - 0x57, 0xec, 0x2b, 0x36, 0xdd, 0xa9, 0x7b, 0x6f, 0x26, 0x7a, 0xcb, 0x0d, 0xbe, 0xdd, 0x80, 0x3b, - 0xaa, 0x76, 0xf3, 0xba, 0xed, 0x9c, 0xba, 0x6e, 0xbb, 0x3b, 0xa7, 0xdc, 0x1d, 0x84, 0xa7, 0x17, - 0xb6, 0x0b, 0x97, 0xc4, 0x9f, 0x27, 0x0e, 0xb6, 0x75, 0x47, 0x0e, 0x66, 0xcb, 0x75, 0xac, 0x7d, - 0x99, 0xec, 0x8d, 0xeb, 0xc7, 0xa0, 0x8f, 0xbc, 0xcf, 0x69, 0x72, 0xfe, 0xa4, 0xe4, 0x93, 0x37, - 0x5e, 0x9e, 0xea, 0x31, 0xd8, 0x98, 0x47, 0x5d, 0x20, 0x9b, 0x97, 0x09, 0x81, 0xba, 0xe0, 0x51, - 0xcf, 0xd0, 0xfd, 0x4b, 0x81, 0x7a, 0xc6, 0xa3, 0x2e, 0x92, 0x9d, 0x4c, 0x55, 0xa0, 0x2e, 0x7a, - 0xd4, 0xb3, 0x64, 0xb7, 0x7e, 0x48, 0xa0, 0x9e, 0xf5, 0xa8, 0xe7, 0xc8, 0x1e, 0x7d, 0x52, 0xa0, - 0x9e, 0xf3, 0xa8, 0xe7, 0xc9, 0xf6, 0xfc, 0xa8, 0x40, 0x3d, 0xef, 0x51, 0x2f, 0x90, 0x6d, 0x79, - 0x5d, 0xa0, 0x5e, 0xf0, 0xa8, 0x17, 0xc9, 0x9d, 0x97, 0x43, 0x02, 0xf5, 0xa2, 0x3e, 0x09, 0x87, - 0xe8, 0x9b, 0xcf, 0x93, 0x33, 0xdc, 0x11, 0x46, 0xe6, 0x83, 0x3e, 0xfd, 0x34, 0xb9, 0xdf, 0xd2, - 0x27, 0xd2, 0x4f, 0xfb, 0xf4, 0x05, 0x72, 0xd5, 0x5e, 0x13, 0xe9, 0x0b, 0x3e, 0xfd, 0x4c, 0x7a, - 0x88, 0xdc, 0xf1, 0x11, 0xe8, 0x67, 0x7c, 0xfa, 0x62, 0x7a, 0x18, 0x87, 0xb4, 0x48, 0x5f, 0xf4, - 0xe9, 0x67, 0xd3, 0x23, 0xd3, 0xca, 0xcc, 0xa0, 0x48, 0x3f, 0x9b, 0xf9, 0x00, 0x71, 0xaf, 0xe5, - 0xbb, 0x77, 0x5c, 0x74, 0xaf, 0xe7, 0xd8, 0x71, 0xd1, 0xb1, 0x9e, 0x4b, 0xc7, 0x45, 0x97, 0x7a, - 0xce, 0x1c, 0x17, 0x9d, 0xe9, 0xb9, 0x71, 0x5c, 0x74, 0xa3, 0xe7, 0xc0, 0x71, 0xd1, 0x81, 0x9e, - 0xeb, 0xc6, 0x45, 0xd7, 0x79, 0x4e, 0x1b, 0x17, 0x9d, 0xe6, 0xb9, 0x6b, 0x5c, 0x74, 0x97, 0xe7, - 0xa8, 0xb4, 0xe4, 0x28, 0xdf, 0x45, 0x69, 0xc9, 0x45, 0xbe, 0x73, 0xd2, 0x92, 0x73, 0x7c, 0xb7, - 0xa4, 0x25, 0xb7, 0xf8, 0x0e, 0x49, 0x4b, 0x0e, 0xf1, 0x5d, 0x91, 0x96, 0x5c, 0xe1, 0x3b, 0x81, - 0xe5, 0x98, 0x81, 0x5a, 0x21, 0x39, 0xa6, 0xee, 0x9b, 0x63, 0xea, 0xbe, 0x39, 0xa6, 0xee, 0x9b, - 0x63, 0xea, 0xbe, 0x39, 0xa6, 0xee, 0x9b, 0x63, 0xea, 0xbe, 0x39, 0xa6, 0xee, 0x9b, 0x63, 0xea, - 0xbe, 0x39, 0xa6, 0xee, 0x9f, 0x63, 0x6a, 0x44, 0x8e, 0xa9, 0x11, 0x39, 0xa6, 0x46, 0xe4, 0x98, - 0x1a, 0x91, 0x63, 0x6a, 0x44, 0x8e, 0xa9, 0x5d, 0x73, 0xcc, 0x77, 0xef, 0xb8, 0xe8, 0xde, 0xd0, - 0x1c, 0x53, 0xbb, 0xe4, 0x98, 0xda, 0x25, 0xc7, 0xd4, 0x2e, 0x39, 0xa6, 0x76, 0xc9, 0x31, 0xb5, - 0x4b, 0x8e, 0xa9, 0x5d, 0x72, 0x4c, 0xed, 0x92, 0x63, 0x6a, 0xb7, 0x1c, 0x53, 0xbb, 0xe6, 0x98, - 0xda, 0x35, 0xc7, 0xd4, 0xae, 0x39, 0xa6, 0x76, 0xcd, 0x31, 0xb5, 0x6b, 0x8e, 0xa9, 0xc1, 0x1c, - 0xfb, 0x1b, 0x15, 0x74, 0x9a, 0x63, 0x6b, 0xe4, 0x16, 0x10, 0x73, 0xc5, 0xa4, 0x94, 0x69, 0x7d, - 0xd8, 0x75, 0x9a, 0xef, 0x92, 0x49, 0x29, 0xd7, 0x44, 0xfa, 0x82, 0x47, 0xe7, 0xd9, 0x26, 0xd2, - 0xcf, 0x78, 0x74, 0x9e, 0x6f, 0x22, 0x7d, 0xd1, 0xa3, 0xf3, 0x8c, 0x13, 0xe9, 0x67, 0x3d, 0x3a, - 0xcf, 0x39, 0x91, 0x7e, 0xce, 0xa3, 0xf3, 0xac, 0x13, 0xe9, 0xe7, 0x3d, 0x3a, 0xcf, 0x3b, 0x91, - 0x7e, 0xc1, 0xa3, 0xf3, 0xcc, 0x13, 0xe9, 0x17, 0xf5, 0x69, 0x39, 0xf7, 0x38, 0x83, 0xe7, 0xda, - 0x69, 0x39, 0xfb, 0x24, 0x8e, 0xd3, 0x3e, 0x07, 0xcf, 0x3f, 0x89, 0x63, 0xc1, 0xe7, 0xe0, 0x19, - 0x28, 0x71, 0x9c, 0xc9, 0x7c, 0x98, 0xb8, 0xcf, 0x92, 0xdd, 0x37, 0x21, 0xb9, 0x2f, 0x11, 0x70, - 0xdd, 0x84, 0xe4, 0xba, 0x44, 0xc0, 0x6d, 0x13, 0x92, 0xdb, 0x12, 0x01, 0x97, 0x4d, 0x48, 0x2e, - 0x4b, 0x04, 0xdc, 0x35, 0x21, 0xb9, 0x2b, 0x11, 0x70, 0xd5, 0x84, 0xe4, 0xaa, 0x44, 0xc0, 0x4d, - 0x13, 0x92, 0x9b, 0x12, 0x01, 0x17, 0x4d, 0x48, 0x2e, 0x4a, 0x04, 0xdc, 0x33, 0x21, 0xb9, 0x27, - 0x11, 0x70, 0xcd, 0x31, 0xd9, 0x35, 0x89, 0xa0, 0x5b, 0x8e, 0xc9, 0x6e, 0x49, 0x04, 0x5d, 0x72, - 0x4c, 0x76, 0x49, 0x22, 0xe8, 0x8e, 0x63, 0xb2, 0x3b, 0x12, 0x41, 0x57, 0xfc, 0x34, 0xc1, 0x3b, - 0xc2, 0x75, 0xb7, 0xbd, 0x5b, 0x75, 0x6f, 0xab, 0x23, 0x9c, 0x17, 0xda, 0x87, 0x81, 0x05, 0x7d, - 0x8e, 0x34, 0xac, 0xc1, 0x8e, 0x53, 0x9a, 0xc1, 0xe6, 0x85, 0xc6, 0x22, 0x80, 0xb0, 0xc2, 0x11, - 0x8b, 0xb7, 0xd5, 0x1b, 0xce, 0x0b, 0x6d, 0x46, 0xb4, 0x7e, 0x17, 0xde, 0xf2, 0x8e, 0xed, 0xc5, - 0x04, 0xef, 0xd8, 0x98, 0xf9, 0x0f, 0xda, 0xb1, 0xcd, 0x46, 0x9b, 0xdc, 0x33, 0xf6, 0x6c, 0xb4, - 0xb1, 0x3b, 0x66, 0x9d, 0xb8, 0x1d, 0xdc, 0x6c, 0xb4, 0x69, 0x3d, 0xa3, 0xbe, 0xb9, 0xfd, 0x16, - 0x8b, 0x60, 0x03, 0xb5, 0x42, 0x22, 0xf8, 0xa0, 0xfd, 0xd6, 0xbc, 0x50, 0x4a, 0x0e, 0x1a, 0xc1, - 0xea, 0x81, 0x23, 0xf8, 0xa0, 0x9d, 0xd7, 0xbc, 0x50, 0x5e, 0x0e, 0x1c, 0xc1, 0x6f, 0x41, 0x3f, - 0xc4, 0x22, 0xd8, 0x37, 0xff, 0x41, 0xfb, 0xa1, 0xd9, 0x68, 0x93, 0x87, 0x46, 0xb0, 0x7a, 0x80, - 0x08, 0x8e, 0xd3, 0x1f, 0xcd, 0x46, 0x9b, 0x36, 0x3c, 0x82, 0x6f, 0xbb, 0x9b, 0xf9, 0x8c, 0x02, - 0xa3, 0xe5, 0x7a, 0xad, 0xd4, 0xbc, 0x8e, 0x6a, 0x35, 0x54, 0x63, 0x76, 0x9c, 0x17, 0x2a, 0x41, - 0x17, 0x57, 0xbf, 0xf4, 0xf2, 0x94, 0x6f, 0xe1, 0xb3, 0x90, 0xa2, 0x36, 0x9d, 0x9f, 0x4f, 0xdf, - 0x50, 0x22, 0x2a, 0x9c, 0xc7, 0xaa, 0x1f, 0xe7, 0xb0, 0xd3, 0xf3, 0xe9, 0x7f, 0x54, 0x02, 0x55, - 0xce, 0x1b, 0xce, 0x7c, 0x94, 0x68, 0x68, 0xdd, 0xb6, 0x86, 0xa7, 0x62, 0x69, 0x18, 0xd0, 0xed, - 0xce, 0x0e, 0xdd, 0x02, 0x5a, 0xed, 0xc2, 0x48, 0xb9, 0x5e, 0x2b, 0x93, 0x3f, 0xf2, 0x8e, 0xa3, - 0x12, 0xe5, 0x91, 0xea, 0xc1, 0xbc, 0x10, 0x96, 0x41, 0x84, 0x17, 0xd2, 0x62, 0x8d, 0xc8, 0xd4, - 0xf1, 0x63, 0x2d, 0xe1, 0xb1, 0xb3, 0xdd, 0x1e, 0xeb, 0x57, 0x76, 0xef, 0x81, 0xb3, 0xdd, 0x1e, - 0xe8, 0xe7, 0x90, 0xf7, 0xa8, 0xa7, 0xf9, 0xe4, 0x4c, 0xef, 0xe2, 0xe8, 0xc7, 0x20, 0xb1, 0x44, - 0xaf, 0x0a, 0x0f, 0xe6, 0x07, 0xb1, 0x52, 0xdf, 0x7d, 0x79, 0x2a, 0xb9, 0xb9, 0x5b, 0xaf, 0x19, - 0x89, 0xa5, 0x9a, 0x7e, 0x15, 0x7a, 0xdf, 0xc3, 0xfe, 0xd4, 0x10, 0x33, 0x2c, 0x32, 0x86, 0xfb, - 0xbb, 0xee, 0x11, 0xe1, 0x07, 0x9f, 0xa2, 0xbb, 0x8c, 0x73, 0x9b, 0x75, 0xcb, 0x3d, 0xbd, 0x70, - 0xc1, 0xa0, 0x22, 0x32, 0xff, 0x17, 0x80, 0x3e, 0xb3, 0x68, 0x3a, 0x3b, 0x7a, 0x99, 0x4b, 0xa6, - 0x8f, 0xbe, 0xf0, 0xdd, 0x97, 0xa7, 0x16, 0xe3, 0x48, 0x7d, 0xa0, 0x66, 0x3a, 0x3b, 0x0f, 0xb8, - 0x7b, 0x2d, 0x34, 0x97, 0xdf, 0x73, 0x91, 0xc3, 0xa5, 0xb7, 0xf8, 0xac, 0xc7, 0xde, 0x2b, 0x1d, - 0x78, 0xaf, 0x94, 0xf0, 0x4e, 0x97, 0xc5, 0x77, 0x9a, 0x7f, 0xa3, 0xef, 0xf3, 0x34, 0x9f, 0x24, - 0x24, 0x4b, 0xaa, 0x51, 0x96, 0x54, 0x6f, 0xd7, 0x92, 0x2d, 0x5e, 0x1f, 0xa5, 0x77, 0x55, 0xf7, - 0x7b, 0x57, 0xf5, 0x76, 0xde, 0xf5, 0x7f, 0x68, 0xb6, 0x7a, 0xf9, 0xb4, 0x69, 0xd1, 0x6b, 0x8a, - 0x3f, 0x5f, 0x7b, 0x41, 0x6f, 0x6a, 0x17, 0x90, 0x4d, 0xde, 0x78, 0x7e, 0x4a, 0xc9, 0x7c, 0x26, - 0xc1, 0xdf, 0x9c, 0x26, 0xd2, 0x1b, 0x7b, 0xf3, 0x9f, 0x97, 0x9e, 0xea, 0xad, 0xb0, 0xd0, 0x73, - 0x0a, 0x8c, 0x77, 0x54, 0x72, 0x6a, 0xa6, 0x37, 0xb7, 0x9c, 0x5b, 0x07, 0x2d, 0xe7, 0x4c, 0xc1, - 0xaf, 0x2a, 0x70, 0x58, 0x2a, 0xaf, 0x54, 0xbd, 0x53, 0x92, 0x7a, 0x47, 0x3b, 0x9f, 0x44, 0x18, - 0x03, 0xda, 0x05, 0xdd, 0x2b, 0x01, 0x02, 0x92, 0x3d, 0xbf, 0x2f, 0x4a, 0x7e, 0x3f, 0xe6, 0x01, - 0x42, 0xcc, 0xc5, 0x23, 0x80, 0xa9, 0x6d, 0x43, 0x72, 0xa3, 0x8d, 0x90, 0x3e, 0x09, 0x89, 0xd5, - 0x36, 0xd3, 0x70, 0x98, 0xe2, 0x57, 0xdb, 0xf9, 0xb6, 0x69, 0x55, 0x77, 0x8c, 0xc4, 0x6a, 0x5b, - 0x3f, 0x0e, 0x6a, 0x8e, 0xfd, 0x99, 0xf3, 0xc0, 0xc2, 0x08, 0x65, 0xc8, 0x59, 0x35, 0xc6, 0x81, - 0x69, 0xfa, 0x24, 0x24, 0x97, 0x91, 0xb9, 0xc5, 0x94, 0x00, 0xca, 0x83, 0x47, 0x0c, 0x32, 0xce, - 0x1e, 0xf8, 0x18, 0xa4, 0xb8, 0x60, 0xfd, 0x04, 0x46, 0x6c, 0xb9, 0xec, 0xb1, 0x0c, 0x81, 0xd5, - 0x61, 0x33, 0x17, 0xa1, 0xea, 0x27, 0xa1, 0xd7, 0xa8, 0x6f, 0xef, 0xb8, 0xec, 0xe1, 0x9d, 0x6c, - 0x94, 0x9c, 0xb9, 0x06, 0xfd, 0x9e, 0x46, 0x6f, 0xb2, 0xe8, 0x22, 0x7d, 0x35, 0x7d, 0x22, 0x38, - 0x9f, 0xf0, 0x7d, 0x4b, 0x3a, 0xa4, 0x4f, 0x43, 0x6a, 0xdd, 0x6d, 0xfb, 0x45, 0x9f, 0x77, 0xa4, - 0xde, 0x68, 0xe6, 0x03, 0x0a, 0xa4, 0x8a, 0x08, 0xb5, 0x88, 0xc1, 0xef, 0x81, 0x64, 0xd1, 0x7e, - 0xca, 0x62, 0x0a, 0x8e, 0x32, 0x8b, 0x62, 0x32, 0xb3, 0x29, 0x21, 0xeb, 0xf7, 0x04, 0xed, 0x3e, - 0xe6, 0xd9, 0x3d, 0xc0, 0x47, 0x6c, 0x9f, 0x11, 0x6c, 0xcf, 0x1c, 0x88, 0x99, 0x3a, 0xec, 0x7f, - 0x1e, 0x06, 0x02, 0x4f, 0xd1, 0x67, 0x98, 0x1a, 0x09, 0x19, 0x18, 0xb4, 0x15, 0xe6, 0xc8, 0x20, - 0x18, 0x12, 0x1e, 0x8c, 0xa1, 0x01, 0x13, 0x77, 0x81, 0x12, 0x33, 0xcf, 0x8a, 0x66, 0x0e, 0x67, - 0x65, 0xa6, 0x9e, 0xa7, 0x36, 0x22, 0xe6, 0x3e, 0x41, 0x83, 0xb3, 0xbb, 0x13, 0xf1, 0xe7, 0x4c, - 0x2f, 0xa8, 0xe5, 0x7a, 0x23, 0xf3, 0x20, 0x00, 0x4d, 0xf9, 0x92, 0xb5, 0xdb, 0x94, 0xb2, 0x6e, - 0x98, 0x1b, 0x78, 0x63, 0x07, 0x6d, 0x20, 0x87, 0xb0, 0x88, 0xfd, 0x14, 0x2e, 0x30, 0x40, 0x53, - 0x8c, 0xe0, 0xef, 0x8b, 0xc4, 0x87, 0x76, 0x62, 0x98, 0x35, 0x4d, 0x59, 0xaf, 0x21, 0x37, 0x67, - 0xd9, 0xee, 0x0e, 0x6a, 0x4b, 0x88, 0x05, 0xfd, 0x8c, 0x90, 0xb0, 0xc3, 0x0b, 0x77, 0x7a, 0x88, - 0xae, 0xa0, 0x33, 0x99, 0x2f, 0x11, 0x05, 0x71, 0x2b, 0xd0, 0xf1, 0x82, 0x6a, 0x8c, 0x17, 0xd4, - 0xcf, 0x09, 0xfd, 0xdb, 0x3e, 0x6a, 0x4a, 0x4b, 0xcb, 0x8b, 0xc2, 0x3a, 0x67, 0x7f, 0x65, 0xc5, - 0x35, 0x26, 0xb7, 0x29, 0x57, 0xf9, 0xbe, 0x48, 0x95, 0xbb, 0x74, 0xb7, 0x07, 0xb5, 0xa9, 0x1a, - 0xd7, 0xa6, 0xdf, 0xf0, 0x3a, 0x0e, 0xfa, 0x5b, 0x12, 0xe4, 0x57, 0x58, 0xf4, 0xfb, 0x23, 0x7d, - 0x9f, 0x55, 0x0a, 0x9e, 0xaa, 0x8b, 0x71, 0xdd, 0x9f, 0x4d, 0xe4, 0xf3, 0x9e, 0xba, 0xe7, 0x0f, - 0x10, 0x02, 0xd9, 0x44, 0xa1, 0xe0, 0x95, 0xed, 0xd4, 0x87, 0x9f, 0x9f, 0x52, 0x5e, 0x78, 0x7e, - 0xaa, 0x27, 0xf3, 0x05, 0x05, 0x46, 0x19, 0x67, 0x20, 0x70, 0x1f, 0x90, 0x94, 0x3f, 0xc2, 0x6b, - 0x46, 0x98, 0x05, 0xde, 0xb6, 0xe0, 0xfd, 0x96, 0x02, 0xe9, 0x0e, 0x5d, 0xb9, 0xbd, 0xe7, 0x63, - 0xa9, 0x9c, 0x55, 0x4a, 0x3f, 0x7b, 0x9b, 0x5f, 0x83, 0xde, 0x8d, 0x7a, 0x13, 0xb5, 0xf1, 0x4c, - 0x80, 0x3f, 0x50, 0x95, 0xf9, 0x61, 0x0e, 0x1d, 0xe2, 0x34, 0xaa, 0x9c, 0x40, 0x5b, 0xd0, 0xd3, - 0x90, 0x2c, 0x9a, 0xae, 0x49, 0x34, 0x18, 0xf4, 0xea, 0xab, 0xe9, 0x9a, 0x99, 0x33, 0x30, 0xb8, - 0xb2, 0x47, 0x2e, 0xd2, 0xd4, 0xc8, 0x25, 0x11, 0xb1, 0xfb, 0xe3, 0xfd, 0xea, 0xe9, 0xd9, 0xde, - 0x54, 0x4d, 0xbb, 0xa1, 0x64, 0x93, 0x44, 0x9f, 0x27, 0x61, 0x78, 0x15, 0xab, 0x4d, 0x70, 0x02, - 0x8c, 0x3e, 0x5d, 0xf5, 0x5e, 0x5e, 0x6a, 0xca, 0x54, 0xbf, 0x29, 0x9b, 0x06, 0x65, 0x45, 0x6c, - 0x9d, 0x82, 0x7a, 0x18, 0xca, 0xca, 0x6c, 0x32, 0x35, 0xac, 0x8d, 0xce, 0x26, 0x53, 0xa0, 0x0d, - 0xb1, 0xe7, 0xfe, 0xbd, 0x0a, 0x1a, 0x6d, 0x75, 0x8a, 0x68, 0xab, 0x6e, 0xd5, 0xdd, 0xce, 0x7e, - 0xd5, 0xd3, 0x58, 0x7f, 0x18, 0xfa, 0xb1, 0x49, 0x2f, 0xb3, 0x1f, 0x63, 0xc3, 0xa6, 0x3f, 0xce, - 0x5a, 0x14, 0x49, 0x04, 0x1b, 0x20, 0xa1, 0xe3, 0x63, 0xf4, 0xcb, 0xa0, 0x96, 0xcb, 0x2b, 0x6c, - 0x72, 0x5b, 0xdc, 0x17, 0xca, 0xee, 0xe1, 0xb0, 0x6f, 0x6c, 0xcc, 0xd9, 0x36, 0xb0, 0x00, 0x7d, - 0x11, 0x12, 0xe5, 0x15, 0xd6, 0xf0, 0x9e, 0x88, 0x23, 0xc6, 0x48, 0x94, 0x57, 0x26, 0xfe, 0x56, - 0x81, 0x21, 0x61, 0x54, 0xcf, 0xc0, 0x20, 0x1d, 0x08, 0xbc, 0x6e, 0x9f, 0x21, 0x8c, 0x71, 0x9d, - 0x13, 0xb7, 0xa9, 0xf3, 0x44, 0x0e, 0x46, 0xa4, 0x71, 0x7d, 0x0e, 0xf4, 0xe0, 0x10, 0x53, 0x82, - 0xfe, 0x10, 0x54, 0x08, 0x25, 0x73, 0x17, 0x80, 0x6f, 0x57, 0xef, 0xf7, 0x8b, 0xca, 0xa5, 0xf5, - 0x8d, 0x52, 0x51, 0x53, 0x32, 0x5f, 0x53, 0x60, 0x80, 0xb5, 0xad, 0x55, 0xbb, 0x85, 0xf4, 0x3c, - 0x28, 0x39, 0x16, 0x0f, 0x6f, 0x4c, 0x6f, 0x25, 0xa7, 0x9f, 0x02, 0x25, 0x1f, 0xdf, 0xd5, 0x4a, - 0x5e, 0x5f, 0x00, 0xa5, 0xc0, 0x1c, 0x1c, 0xcf, 0x33, 0x4a, 0x21, 0xf3, 0x63, 0x15, 0xc6, 0x82, - 0x6d, 0x34, 0xaf, 0x27, 0xc7, 0xc5, 0x75, 0x53, 0xb6, 0xff, 0xf4, 0xc2, 0x99, 0xc5, 0x39, 0xfc, - 0x8f, 0x17, 0x92, 0x19, 0x71, 0x09, 0x95, 0x05, 0x8f, 0xe5, 0x74, 0xb7, 0x7b, 0x22, 0xd9, 0x64, - 0x40, 0x42, 0xc7, 0x3d, 0x11, 0x81, 0xda, 0x71, 0x4f, 0x44, 0xa0, 0x76, 0xdc, 0x13, 0x11, 0xa8, - 0x1d, 0x67, 0x01, 0x02, 0xb5, 0xe3, 0x9e, 0x88, 0x40, 0xed, 0xb8, 0x27, 0x22, 0x50, 0x3b, 0xef, - 0x89, 0x30, 0x72, 0xd7, 0x7b, 0x22, 0x22, 0xbd, 0xf3, 0x9e, 0x88, 0x48, 0xef, 0xbc, 0x27, 0x92, - 0x4d, 0xba, 0xed, 0x5d, 0xd4, 0xfd, 0xd4, 0x41, 0xc4, 0xef, 0xb7, 0x08, 0xf4, 0x2b, 0xf0, 0x2a, - 0x8c, 0xd0, 0x0d, 0x89, 0x82, 0x6d, 0xb9, 0x66, 0xdd, 0x42, 0x6d, 0xfd, 0x9d, 0x30, 0x48, 0x87, - 0xe8, 0x32, 0x27, 0x6c, 0x19, 0x48, 0xe9, 0xac, 0xde, 0x0a, 0xdc, 0x99, 0x9f, 0x26, 0x61, 0x9c, - 0x0e, 0x94, 0xcd, 0x26, 0x12, 0x6e, 0x19, 0x9d, 0x94, 0xce, 0x94, 0x86, 0x31, 0xfc, 0xd6, 0xcb, - 0x53, 0x74, 0x34, 0xe7, 0x45, 0xd3, 0x49, 0xe9, 0x74, 0x49, 0xe4, 0xf3, 0x27, 0xa0, 0x93, 0xd2, - 0xcd, 0x23, 0x91, 0xcf, 0x9b, 0x6f, 0x3c, 0x3e, 0x7e, 0x07, 0x49, 0xe4, 0x2b, 0x7a, 0x51, 0x76, - 0x52, 0xba, 0x8d, 0x24, 0xf2, 0x95, 0xbc, 0x78, 0x3b, 0x29, 0x9d, 0x3d, 0x89, 0x7c, 0x97, 0xbd, - 0xc8, 0x3b, 0x29, 0x9d, 0x42, 0x89, 0x7c, 0x57, 0xbc, 0x18, 0x3c, 0x29, 0xdd, 0x55, 0x12, 0xf9, - 0x1e, 0xf1, 0xa2, 0xf1, 0xa4, 0x74, 0x6b, 0x49, 0xe4, 0x5b, 0xf2, 0xe2, 0x72, 0x46, 0xbe, 0xbf, - 0x24, 0x32, 0x5e, 0xf5, 0x23, 0x74, 0x46, 0xbe, 0xc9, 0x24, 0x72, 0xbe, 0xcb, 0x8f, 0xd5, 0x19, - 0xf9, 0x4e, 0x93, 0xc8, 0xb9, 0xec, 0x47, 0xed, 0x8c, 0x7c, 0x56, 0x26, 0x72, 0xae, 0xf8, 0xf1, - 0x3b, 0x23, 0x9f, 0x9a, 0x89, 0x9c, 0x65, 0x3f, 0x92, 0x67, 0xe4, 0xf3, 0x33, 0x91, 0x73, 0xd5, - 0xdf, 0x44, 0xff, 0xa6, 0x14, 0x7e, 0x81, 0x5b, 0x50, 0x19, 0x29, 0xfc, 0x20, 0x24, 0xf4, 0xa4, - 0x42, 0x16, 0xe0, 0xf1, 0xc3, 0x2e, 0x23, 0x85, 0x1d, 0x84, 0x84, 0x5c, 0x46, 0x0a, 0x39, 0x08, - 0x09, 0xb7, 0x8c, 0x14, 0x6e, 0x10, 0x12, 0x6a, 0x19, 0x29, 0xd4, 0x20, 0x24, 0xcc, 0x32, 0x52, - 0x98, 0x41, 0x48, 0x88, 0x65, 0xa4, 0x10, 0x83, 0x90, 0xf0, 0xca, 0x48, 0xe1, 0x05, 0x21, 0xa1, - 0x75, 0x42, 0x0e, 0x2d, 0x08, 0x0b, 0xab, 0x13, 0x72, 0x58, 0x41, 0x58, 0x48, 0xdd, 0x2d, 0x87, - 0x54, 0xff, 0xad, 0x97, 0xa7, 0x7a, 0xf1, 0x50, 0x20, 0x9a, 0x4e, 0xc8, 0xd1, 0x04, 0x61, 0x91, - 0x74, 0x42, 0x8e, 0x24, 0x08, 0x8b, 0xa2, 0x13, 0x72, 0x14, 0x41, 0x58, 0x04, 0xbd, 0x28, 0x47, - 0x90, 0x7f, 0xc7, 0x27, 0x23, 0x1d, 0x29, 0x46, 0x45, 0x90, 0x1a, 0x23, 0x82, 0xd4, 0x18, 0x11, - 0xa4, 0xc6, 0x88, 0x20, 0x35, 0x46, 0x04, 0xa9, 0x31, 0x22, 0x48, 0x8d, 0x11, 0x41, 0x6a, 0x8c, - 0x08, 0x52, 0xe3, 0x44, 0x90, 0x1a, 0x2b, 0x82, 0xd4, 0x6e, 0x11, 0x74, 0x42, 0xbe, 0xf1, 0x00, - 0x61, 0x05, 0xe9, 0x84, 0x7c, 0xf4, 0x19, 0x1d, 0x42, 0x6a, 0xac, 0x10, 0x52, 0xbb, 0x85, 0xd0, - 0x37, 0x55, 0x18, 0x13, 0x42, 0x88, 0x9d, 0x0f, 0xbd, 0x59, 0x15, 0xe8, 0x5c, 0x8c, 0x0b, 0x16, - 0x61, 0x31, 0x75, 0x2e, 0xc6, 0x21, 0xf5, 0x7e, 0x71, 0xd6, 0x59, 0x85, 0x4a, 0x31, 0xaa, 0xd0, - 0x65, 0x2f, 0x86, 0xce, 0xc5, 0xb8, 0x78, 0xd1, 0x19, 0x7b, 0x17, 0xf6, 0x2b, 0x02, 0x8f, 0xc4, - 0x2a, 0x02, 0x4b, 0xb1, 0x8a, 0xc0, 0x55, 0xdf, 0x83, 0x1f, 0x4a, 0xc0, 0x61, 0xdf, 0x83, 0xf4, - 0x13, 0xf9, 0xb1, 0xa4, 0x4c, 0xe0, 0x88, 0x4a, 0xe7, 0xc7, 0x36, 0x01, 0x37, 0x26, 0x96, 0x6a, - 0xfa, 0x9a, 0x78, 0x58, 0x95, 0x3d, 0xe8, 0x01, 0x4e, 0xc0, 0xe3, 0x6c, 0x33, 0xf4, 0x04, 0xa8, - 0x4b, 0x35, 0x87, 0x54, 0x8b, 0xb0, 0xc7, 0x16, 0x0c, 0x4c, 0xd6, 0x0d, 0xe8, 0x23, 0xec, 0x0e, - 0x71, 0xef, 0xed, 0x3c, 0xb8, 0x68, 0x30, 0x49, 0x99, 0x17, 0x15, 0x98, 0x16, 0x42, 0xf9, 0xcd, - 0x39, 0x32, 0xb8, 0x14, 0xeb, 0xc8, 0x40, 0x48, 0x10, 0xff, 0xf8, 0xe0, 0xde, 0xce, 0x93, 0xea, - 0x60, 0x96, 0xc8, 0x47, 0x09, 0xbf, 0x00, 0xc3, 0xfe, 0x1b, 0x90, 0x35, 0xdb, 0xd9, 0xe8, 0xdd, - 0xcc, 0xb0, 0xd4, 0x3c, 0x2b, 0xed, 0xa2, 0xed, 0x0b, 0xf3, 0xb2, 0x35, 0x93, 0x85, 0x91, 0xb2, - 0xf8, 0x27, 0x3d, 0x51, 0x9b, 0x11, 0x29, 0xdc, 0x9a, 0xdf, 0xf8, 0xec, 0x54, 0x4f, 0xe6, 0x7e, - 0x18, 0x0c, 0xfe, 0xd5, 0x8e, 0x04, 0xec, 0xe7, 0xc0, 0x6c, 0xf2, 0x25, 0xcc, 0xfd, 0x7b, 0x0a, - 0x1c, 0x09, 0xb2, 0x3f, 0x5a, 0x77, 0x77, 0x96, 0x2c, 0xdc, 0xd3, 0x3f, 0x08, 0x29, 0xc4, 0x1c, - 0xc7, 0x7e, 0xf7, 0x84, 0xad, 0x23, 0x43, 0xd9, 0xe7, 0xc8, 0xbf, 0x86, 0x07, 0x91, 0x76, 0x41, - 0xf8, 0x63, 0x17, 0x26, 0xee, 0x81, 0x5e, 0x2a, 0x5f, 0xd4, 0x6b, 0x48, 0xd2, 0xeb, 0x73, 0x21, - 0x7a, 0x91, 0x38, 0xd2, 0xaf, 0x0a, 0x7a, 0x05, 0x96, 0xab, 0xa1, 0xec, 0x73, 0x3c, 0xf8, 0xf2, - 0x29, 0xdc, 0xff, 0x91, 0x88, 0x8a, 0x56, 0x72, 0x06, 0x52, 0x25, 0x99, 0x27, 0x5c, 0xcf, 0x22, - 0x24, 0xcb, 0x76, 0x8d, 0xfc, 0x22, 0x0b, 0xf9, 0x09, 0x62, 0x66, 0x64, 0xf6, 0x7b, 0xc4, 0x27, - 0x21, 0x55, 0xd8, 0xa9, 0x37, 0x6a, 0x6d, 0x64, 0xb1, 0x33, 0x7b, 0xb6, 0x85, 0x8e, 0x31, 0x86, - 0x47, 0xcb, 0x14, 0x60, 0xb4, 0x6c, 0x5b, 0xf9, 0x3d, 0x37, 0x58, 0x37, 0xe6, 0xa4, 0x14, 0x61, - 0x67, 0x3e, 0xe4, 0xef, 0x40, 0x30, 0x43, 0xbe, 0xf7, 0xbb, 0x2f, 0x4f, 0x29, 0x1b, 0xde, 0xfe, - 0xf9, 0x0a, 0x1c, 0x65, 0xe9, 0xd3, 0x21, 0x6a, 0x21, 0x4a, 0x54, 0x3f, 0x3b, 0xa7, 0x0e, 0x88, - 0x5b, 0xc2, 0xe2, 0xac, 0x50, 0x71, 0x6f, 0x4c, 0x33, 0xdc, 0x14, 0xed, 0xab, 0x99, 0x7a, 0x20, - 0xcd, 0x42, 0xc5, 0xcd, 0x45, 0x89, 0x93, 0x34, 0xbb, 0x1b, 0xfa, 0x3d, 0x5a, 0x20, 0x1a, 0x82, - 0x99, 0xb2, 0x30, 0x9b, 0x81, 0x81, 0x40, 0xc2, 0xea, 0xbd, 0xa0, 0xe4, 0xb4, 0x1e, 0xfc, 0x5f, - 0x5e, 0x53, 0xf0, 0x7f, 0x05, 0x2d, 0x31, 0x7b, 0x0f, 0x8c, 0x48, 0xfb, 0x97, 0x98, 0x52, 0xd4, - 0x00, 0xff, 0x57, 0xd2, 0x06, 0x26, 0x92, 0x1f, 0xfe, 0xc3, 0xc9, 0x9e, 0xd9, 0x4b, 0xa0, 0x77, - 0xee, 0x74, 0xea, 0x7d, 0x90, 0xc8, 0x61, 0x91, 0x47, 0x21, 0x91, 0xcf, 0x6b, 0xca, 0xc4, 0xc8, - 0xaf, 0x7e, 0x7a, 0x7a, 0x20, 0x4f, 0xfe, 0x24, 0xf9, 0x1a, 0x72, 0xf3, 0x79, 0x06, 0x7e, 0x08, - 0x8e, 0x84, 0xee, 0x94, 0x62, 0x7c, 0xa1, 0x40, 0xf1, 0xc5, 0x62, 0x07, 0xbe, 0x58, 0x24, 0x78, - 0x25, 0xcb, 0x4f, 0x9c, 0x73, 0x7a, 0xc8, 0x2e, 0x63, 0xba, 0x16, 0x38, 0xe1, 0xce, 0x65, 0x1f, - 0x62, 0xbc, 0xf9, 0x50, 0x5e, 0x14, 0x71, 0x62, 0x9d, 0xcf, 0x16, 0x18, 0xbe, 0x10, 0x8a, 0xdf, - 0x92, 0x8e, 0x55, 0xc5, 0x19, 0x82, 0x09, 0x29, 0x78, 0x0a, 0x17, 0x43, 0x85, 0xec, 0x04, 0x2e, - 0xbb, 0x17, 0x3d, 0x85, 0x4b, 0xa1, 0xbc, 0xf5, 0x88, 0x4b, 0x5f, 0xa5, 0xec, 0x29, 0x36, 0xc9, - 0xe7, 0x4e, 0xeb, 0x47, 0x78, 0x8e, 0x0a, 0x15, 0x98, 0x19, 0x88, 0x73, 0x65, 0x0b, 0x0c, 0x90, - 0xef, 0x0a, 0xe8, 0x6e, 0x25, 0x8e, 0xcc, 0x3e, 0xc2, 0x84, 0x14, 0xba, 0x0a, 0x89, 0x30, 0x15, - 0x87, 0xe7, 0x37, 0x6e, 0xdc, 0x9c, 0xec, 0x79, 0xe9, 0xe6, 0x64, 0xcf, 0x3f, 0xdd, 0x9c, 0xec, - 0xf9, 0xde, 0xcd, 0x49, 0xe5, 0x07, 0x37, 0x27, 0x95, 0x1f, 0xdd, 0x9c, 0x54, 0x7e, 0x72, 0x73, - 0x52, 0x79, 0xf6, 0xd6, 0xa4, 0xf2, 0xc2, 0xad, 0x49, 0xe5, 0x4b, 0xb7, 0x26, 0x95, 0xaf, 0xdf, - 0x9a, 0x54, 0x5e, 0xbc, 0x35, 0xa9, 0xdc, 0xb8, 0x35, 0xa9, 0xbc, 0x74, 0x6b, 0x52, 0xf9, 0xde, - 0xad, 0x49, 0xe5, 0x07, 0xb7, 0x26, 0x7b, 0x7e, 0x74, 0x6b, 0x52, 0xf9, 0xc9, 0xad, 0xc9, 0x9e, - 0x67, 0x5f, 0x99, 0xec, 0x79, 0xfe, 0x95, 0xc9, 0x9e, 0x17, 0x5e, 0x99, 0x54, 0xfe, 0x37, 0x00, - 0x00, 0xff, 0xff, 0xaa, 0x81, 0x18, 0x04, 0xd6, 0x66, 0x00, 0x00, + 0x81, 0x64, 0x90, 0xe1, 0xcc, 0x82, 0xd6, 0xa7, 0x6b, 0x30, 0x44, 0x05, 0x2c, 0x3d, 0x5a, 0x2a, + 0x9e, 0x5b, 0xd4, 0xfa, 0xc5, 0x91, 0x33, 0x0b, 0xda, 0x41, 0x7d, 0x18, 0x06, 0xc8, 0x48, 0x7e, + 0x75, 0x75, 0x59, 0x4b, 0x79, 0x32, 0xd7, 0x37, 0x8c, 0xa5, 0xf2, 0x15, 0x6d, 0xc0, 0x93, 0x79, + 0xc5, 0x58, 0xdd, 0x5c, 0xd3, 0xc0, 0x93, 0xb0, 0x52, 0x5a, 0x5f, 0xcf, 0x5d, 0x29, 0x69, 0x83, + 0x1e, 0x47, 0xfe, 0xda, 0x46, 0x69, 0x5d, 0x1b, 0x12, 0xd4, 0x3a, 0xb3, 0xa0, 0x0d, 0x7b, 0x8f, + 0x28, 0x95, 0x37, 0x57, 0xb4, 0x11, 0x7d, 0x0c, 0x86, 0xe9, 0x23, 0xb8, 0x12, 0xa3, 0xd2, 0xd0, + 0xb9, 0x45, 0x4d, 0xf3, 0x15, 0xa1, 0x52, 0xc6, 0x84, 0x81, 0x73, 0x8b, 0x9a, 0x9e, 0x29, 0x40, + 0x1f, 0x89, 0x2e, 0x5d, 0x87, 0x91, 0xe5, 0x5c, 0xbe, 0xb4, 0x5c, 0x59, 0x5d, 0xdb, 0x58, 0x5a, + 0x2d, 0xe7, 0x96, 0x35, 0xc5, 0x1f, 0x33, 0x4a, 0xef, 0xda, 0x5c, 0x32, 0x4a, 0x45, 0x2d, 0x11, + 0x1c, 0x5b, 0x2b, 0xe5, 0x36, 0x4a, 0x45, 0x4d, 0xcd, 0x54, 0xe1, 0x50, 0x58, 0x9d, 0x0c, 0xcd, + 0x8c, 0x80, 0x8b, 0x13, 0x3d, 0x5c, 0x4c, 0x64, 0x75, 0xb9, 0xf8, 0x95, 0x04, 0x8c, 0x87, 0xac, + 0x15, 0xa1, 0x0f, 0x79, 0x08, 0xfa, 0x68, 0x88, 0xd2, 0xd5, 0xf3, 0x9e, 0xd0, 0x45, 0x87, 0x04, + 0x6c, 0xd7, 0x0a, 0x4a, 0x70, 0xc1, 0x0e, 0x42, 0xed, 0xd1, 0x41, 0x60, 0x11, 0x5d, 0x35, 0xfd, + 0x7f, 0x75, 0xd5, 0x74, 0xba, 0xec, 0x9d, 0x8b, 0xb3, 0xec, 0x91, 0xb1, 0xfd, 0xd5, 0xf6, 0xbe, + 0x90, 0xda, 0x7e, 0x09, 0xc6, 0xba, 0x04, 0xc5, 0xae, 0xb1, 0x1f, 0x50, 0x20, 0xdd, 0xcb, 0x38, + 0x11, 0x95, 0x2e, 0x21, 0x54, 0xba, 0x4b, 0xb2, 0x05, 0x8f, 0xf7, 0x76, 0x42, 0x97, 0xaf, 0xbf, + 0xa0, 0xc0, 0x44, 0x78, 0xa7, 0x18, 0xaa, 0xc3, 0x83, 0xd0, 0xdf, 0x44, 0xee, 0x8e, 0xcd, 0xbb, + 0xa5, 0x93, 0x21, 0x6b, 0x30, 0x26, 0xcb, 0xce, 0x66, 0xa8, 0xe0, 0x22, 0xae, 0xf6, 0x6a, 0xf7, + 0xa8, 0x36, 0x5d, 0x9a, 0x7e, 0x38, 0x01, 0x87, 0x43, 0x85, 0x87, 0x2a, 0x7a, 0x07, 0x40, 0xdd, + 0x6a, 0x75, 0x5c, 0xda, 0x11, 0xd1, 0x02, 0x3b, 0x40, 0x46, 0x48, 0xf1, 0xc2, 0xc5, 0xb3, 0xe3, + 0x7a, 0x74, 0x95, 0xd0, 0x81, 0x0e, 0x11, 0x86, 0x0b, 0xbe, 0xa2, 0x49, 0xa2, 0xe8, 0x54, 0x8f, + 0x99, 0x76, 0x05, 0xe6, 0x3c, 0x68, 0xd5, 0x46, 0x1d, 0x59, 0x6e, 0xc5, 0x71, 0xdb, 0xc8, 0x6c, + 0xd6, 0xad, 0x6d, 0xb2, 0x82, 0xa4, 0xb2, 0x7d, 0x5b, 0x66, 0xc3, 0x41, 0xc6, 0x28, 0x25, 0xaf, + 0x73, 0x2a, 0x46, 0x90, 0x00, 0x6a, 0x07, 0x10, 0xfd, 0x02, 0x82, 0x92, 0x3d, 0x44, 0xe6, 0xab, + 0x29, 0x18, 0x0c, 0xf4, 0xd5, 0xfa, 0x71, 0x18, 0x7a, 0xcc, 0x7c, 0xc2, 0xac, 0xf0, 0x77, 0x25, + 0x6a, 0x89, 0x41, 0x3c, 0xb6, 0xc6, 0xde, 0x97, 0xe6, 0xe1, 0x10, 0x61, 0xb1, 0x3b, 0x2e, 0x6a, + 0x57, 0xaa, 0x0d, 0xd3, 0x71, 0x88, 0xd1, 0x52, 0x84, 0x55, 0xc7, 0xb4, 0x55, 0x4c, 0x2a, 0x70, + 0x8a, 0x7e, 0x16, 0xc6, 0x09, 0xa2, 0xd9, 0x69, 0xb8, 0xf5, 0x56, 0x03, 0x55, 0xf0, 0xdb, 0x9b, + 0x43, 0x56, 0x12, 0x4f, 0xb3, 0x31, 0xcc, 0xb1, 0xc2, 0x18, 0xb0, 0x46, 0x8e, 0x5e, 0x84, 0x3b, + 0x08, 0x6c, 0x1b, 0x59, 0xa8, 0x6d, 0xba, 0xa8, 0x82, 0xde, 0xd7, 0x31, 0x1b, 0x4e, 0xc5, 0xb4, + 0x6a, 0x95, 0x1d, 0xd3, 0xd9, 0x49, 0x1f, 0xc2, 0x02, 0xf2, 0x89, 0xb4, 0x62, 0xdc, 0x86, 0x19, + 0xaf, 0x30, 0xbe, 0x12, 0x61, 0xcb, 0x59, 0xb5, 0x87, 0x4d, 0x67, 0x47, 0xcf, 0xc2, 0x04, 0x91, + 0xe2, 0xb8, 0xed, 0xba, 0xb5, 0x5d, 0xa9, 0xee, 0xa0, 0xea, 0xe3, 0x95, 0x8e, 0xbb, 0x75, 0x21, + 0x7d, 0x7b, 0xf0, 0xf9, 0x44, 0xc3, 0x75, 0xc2, 0x53, 0xc0, 0x2c, 0x9b, 0xee, 0xd6, 0x05, 0x7d, + 0x1d, 0x86, 0xb0, 0x33, 0x9a, 0xf5, 0xa7, 0x51, 0x65, 0xcb, 0x6e, 0x93, 0xa5, 0x71, 0x24, 0xa4, + 0x34, 0x05, 0x2c, 0x38, 0xb7, 0xca, 0x00, 0x2b, 0x76, 0x0d, 0x65, 0xfb, 0xd6, 0xd7, 0x4a, 0xa5, + 0xa2, 0x31, 0xc8, 0xa5, 0x5c, 0xb6, 0xdb, 0x38, 0xa0, 0xb6, 0x6d, 0xcf, 0xc0, 0x83, 0x34, 0xa0, + 0xb6, 0x6d, 0x6e, 0xde, 0xb3, 0x30, 0x5e, 0xad, 0xd2, 0x39, 0xd7, 0xab, 0x15, 0xf6, 0x8e, 0xe5, + 0xa4, 0x35, 0xc1, 0x58, 0xd5, 0xea, 0x15, 0xca, 0xc0, 0x62, 0xdc, 0xd1, 0x2f, 0xc2, 0x61, 0xdf, + 0x58, 0x41, 0xe0, 0x58, 0xd7, 0x2c, 0x65, 0xe8, 0x59, 0x18, 0x6f, 0xed, 0x76, 0x03, 0x75, 0xe1, + 0x89, 0xad, 0x5d, 0x19, 0x76, 0x1e, 0x0e, 0xb5, 0x76, 0x5a, 0xdd, 0xb8, 0xd9, 0x20, 0x4e, 0x6f, + 0xed, 0xb4, 0x64, 0xe0, 0x5d, 0xe4, 0x85, 0xbb, 0x8d, 0xaa, 0xa6, 0x8b, 0x6a, 0xe9, 0x23, 0x41, + 0xf6, 0x00, 0x41, 0x3f, 0x05, 0x5a, 0xb5, 0x5a, 0x41, 0x96, 0x79, 0xbd, 0x81, 0x2a, 0x66, 0x1b, + 0x59, 0xa6, 0x93, 0x9e, 0x0e, 0x32, 0x8f, 0x54, 0xab, 0x25, 0x42, 0xcd, 0x11, 0xa2, 0x3e, 0x0b, + 0x63, 0xf6, 0xf5, 0xc7, 0xaa, 0x34, 0x24, 0x2b, 0xad, 0x36, 0xda, 0xaa, 0x3f, 0x95, 0x3e, 0x41, + 0xec, 0x3b, 0x8a, 0x09, 0x24, 0x20, 0xd7, 0xc8, 0xb0, 0x7e, 0x0f, 0x68, 0x55, 0x67, 0xc7, 0x6c, + 0xb7, 0x48, 0x4d, 0x76, 0x5a, 0x66, 0x15, 0xa5, 0xef, 0xa2, 0xac, 0x74, 0xbc, 0xcc, 0x87, 0x71, + 0x4a, 0x38, 0x4f, 0xd6, 0xb7, 0x5c, 0x2e, 0xf1, 0x6e, 0x9a, 0x12, 0x64, 0x8c, 0x49, 0x9b, 0x01, + 0x0d, 0x9b, 0x42, 0x78, 0xf0, 0x0c, 0x61, 0x1b, 0x69, 0xed, 0xb4, 0x82, 0xcf, 0xbd, 0x13, 0x86, + 0x31, 0xa7, 0xff, 0xd0, 0x7b, 0x68, 0x43, 0xd6, 0xda, 0x09, 0x3c, 0xf1, 0x2d, 0xeb, 0x8d, 0x33, + 0x59, 0x18, 0x0a, 0xc6, 0xa7, 0x3e, 0x00, 0x34, 0x42, 0x35, 0x05, 0x37, 0x2b, 0x85, 0xd5, 0x22, + 0x6e, 0x33, 0xde, 0x53, 0xd2, 0x12, 0xb8, 0xdd, 0x59, 0x5e, 0xda, 0x28, 0x55, 0x8c, 0xcd, 0xf2, + 0xc6, 0xd2, 0x4a, 0x49, 0x53, 0x83, 0x7d, 0xf5, 0x77, 0x12, 0x30, 0x22, 0xbe, 0x22, 0xe9, 0xef, + 0x80, 0x23, 0x7c, 0x3f, 0xc3, 0x41, 0x6e, 0xe5, 0xc9, 0x7a, 0x9b, 0xa4, 0x4c, 0xd3, 0xa4, 0xcb, + 0x97, 0xe7, 0xb4, 0x43, 0x8c, 0x6b, 0x1d, 0xb9, 0x8f, 0xd4, 0xdb, 0x38, 0x21, 0x9a, 0xa6, 0xab, + 0x2f, 0xc3, 0xb4, 0x65, 0x57, 0x1c, 0xd7, 0xb4, 0x6a, 0x66, 0xbb, 0x56, 0xf1, 0x77, 0x92, 0x2a, + 0x66, 0xb5, 0x8a, 0x1c, 0xc7, 0xa6, 0x4b, 0x95, 0x27, 0xe5, 0xa8, 0x65, 0xaf, 0x33, 0x66, 0xbf, + 0x86, 0xe7, 0x18, 0xab, 0x14, 0x60, 0x6a, 0xaf, 0x00, 0xbb, 0x1d, 0x06, 0x9a, 0x66, 0xab, 0x82, + 0x2c, 0xb7, 0xbd, 0x4b, 0x1a, 0xe3, 0x94, 0x91, 0x6a, 0x9a, 0xad, 0x12, 0xfe, 0xfe, 0xf6, 0xbc, + 0x9f, 0xfc, 0xa3, 0x0a, 0x43, 0xc1, 0xe6, 0x18, 0xbf, 0x6b, 0x54, 0xc9, 0x3a, 0xa2, 0x90, 0x4a, + 0x73, 0xe7, 0x9e, 0xad, 0xf4, 0x5c, 0x01, 0x2f, 0x30, 0xd9, 0x7e, 0xda, 0xb2, 0x1a, 0x14, 0x89, + 0x17, 0x77, 0x5c, 0x5b, 0x10, 0x6d, 0x11, 0x52, 0x06, 0xfb, 0xa6, 0x5f, 0x81, 0xfe, 0xc7, 0x1c, + 0x22, 0xbb, 0x9f, 0xc8, 0x3e, 0xb1, 0xb7, 0xec, 0xab, 0xeb, 0x44, 0xf8, 0xc0, 0xd5, 0xf5, 0x4a, + 0x79, 0xd5, 0x58, 0xc9, 0x2d, 0x1b, 0x0c, 0xae, 0xdf, 0x06, 0xc9, 0x86, 0xf9, 0xf4, 0xae, 0xb8, + 0x14, 0x91, 0xa1, 0xb8, 0x86, 0xbf, 0x0d, 0x92, 0x4f, 0x22, 0xf3, 0x71, 0x71, 0x01, 0x20, 0x43, + 0x6f, 0x61, 0xe8, 0x9f, 0x82, 0x3e, 0x62, 0x2f, 0x1d, 0x80, 0x59, 0x4c, 0x3b, 0xa0, 0xa7, 0x20, + 0x59, 0x58, 0x35, 0x70, 0xf8, 0x6b, 0x30, 0x44, 0x47, 0x2b, 0x6b, 0x4b, 0xa5, 0x42, 0x49, 0x4b, + 0x64, 0xce, 0x42, 0x3f, 0x35, 0x02, 0x4e, 0x0d, 0xcf, 0x0c, 0xda, 0x01, 0xf6, 0x95, 0xc9, 0x50, + 0x38, 0x75, 0x73, 0x25, 0x5f, 0x32, 0xb4, 0x44, 0xd0, 0xbd, 0x0e, 0x0c, 0x05, 0xfb, 0xe2, 0xb7, + 0x27, 0xa6, 0xbe, 0xa5, 0xc0, 0x60, 0xa0, 0xcf, 0xc5, 0x0d, 0x8a, 0xd9, 0x68, 0xd8, 0x4f, 0x56, + 0xcc, 0x46, 0xdd, 0x74, 0x58, 0x50, 0x00, 0x19, 0xca, 0xe1, 0x91, 0xb8, 0x4e, 0x7b, 0x5b, 0x94, + 0x7f, 0x56, 0x01, 0x4d, 0x6e, 0x31, 0x25, 0x05, 0x95, 0x5f, 0xa8, 0x82, 0x9f, 0x50, 0x60, 0x44, + 0xec, 0x2b, 0x25, 0xf5, 0x8e, 0xff, 0x42, 0xd5, 0xfb, 0x41, 0x02, 0x86, 0x85, 0x6e, 0x32, 0xae, + 0x76, 0xef, 0x83, 0xb1, 0x7a, 0x0d, 0x35, 0x5b, 0xb6, 0x8b, 0xac, 0xea, 0x6e, 0xa5, 0x81, 0x9e, + 0x40, 0x8d, 0x74, 0x86, 0x14, 0x8a, 0x53, 0x7b, 0xf7, 0xab, 0x73, 0x4b, 0x3e, 0x6e, 0x19, 0xc3, + 0xb2, 0xe3, 0x4b, 0xc5, 0xd2, 0xca, 0xda, 0xea, 0x46, 0xa9, 0x5c, 0xb8, 0x56, 0xd9, 0x2c, 0xbf, + 0xb3, 0xbc, 0xfa, 0x48, 0xd9, 0xd0, 0xea, 0x12, 0xdb, 0x5b, 0x98, 0xea, 0x6b, 0xa0, 0xc9, 0x4a, + 0xe9, 0x47, 0x20, 0x4c, 0x2d, 0xed, 0x80, 0x3e, 0x0e, 0xa3, 0xe5, 0xd5, 0xca, 0xfa, 0x52, 0xb1, + 0x54, 0x29, 0x5d, 0xbe, 0x5c, 0x2a, 0x6c, 0xac, 0xd3, 0x1d, 0x08, 0x8f, 0x7b, 0x43, 0x4c, 0xea, + 0x8f, 0xab, 0x30, 0x1e, 0xa2, 0x89, 0x9e, 0x63, 0xef, 0x0e, 0xf4, 0x75, 0xe6, 0xfe, 0x38, 0xda, + 0xcf, 0xe1, 0x25, 0x7f, 0xcd, 0x6c, 0xbb, 0xec, 0x55, 0xe3, 0x1e, 0xc0, 0x56, 0xb2, 0xdc, 0xfa, + 0x56, 0x1d, 0xb5, 0xd9, 0x86, 0x0d, 0x7d, 0xa1, 0x18, 0xf5, 0xc7, 0xe9, 0x9e, 0xcd, 0x7d, 0xa0, + 0xb7, 0x6c, 0xa7, 0xee, 0xd6, 0x9f, 0x40, 0x95, 0xba, 0xc5, 0x77, 0x77, 0xf0, 0x0b, 0x46, 0xd2, + 0xd0, 0x38, 0x65, 0xc9, 0x72, 0x3d, 0x6e, 0x0b, 0x6d, 0x9b, 0x12, 0x37, 0x2e, 0xe0, 0xaa, 0xa1, + 0x71, 0x8a, 0xc7, 0x7d, 0x1c, 0x86, 0x6a, 0x76, 0x07, 0x77, 0x5d, 0x94, 0x0f, 0xaf, 0x17, 0x8a, + 0x31, 0x48, 0xc7, 0x3c, 0x16, 0xd6, 0x4f, 0xfb, 0xdb, 0x4a, 0x43, 0xc6, 0x20, 0x1d, 0xa3, 0x2c, + 0x77, 0xc3, 0xa8, 0xb9, 0xbd, 0xdd, 0xc6, 0xc2, 0xb9, 0x20, 0xfa, 0x86, 0x30, 0xe2, 0x0d, 0x13, + 0xc6, 0xc9, 0xab, 0x90, 0xe2, 0x76, 0xc0, 0x4b, 0x32, 0xb6, 0x44, 0xa5, 0x45, 0x5f, 0x7b, 0x13, + 0x33, 0x03, 0x46, 0xca, 0xe2, 0xc4, 0xe3, 0x30, 0x54, 0x77, 0x2a, 0xfe, 0x2e, 0x79, 0xe2, 0x58, + 0x62, 0x26, 0x65, 0x0c, 0xd6, 0x1d, 0x6f, 0x87, 0x31, 0xf3, 0x85, 0x04, 0x8c, 0x88, 0xbb, 0xfc, + 0x7a, 0x11, 0x52, 0x0d, 0xbb, 0x6a, 0x92, 0xd0, 0xa2, 0x47, 0x4c, 0x33, 0x11, 0x07, 0x03, 0x73, + 0xcb, 0x8c, 0xdf, 0xf0, 0x90, 0x93, 0x7f, 0xa7, 0x40, 0x8a, 0x0f, 0xeb, 0x13, 0x90, 0x6c, 0x99, + 0xee, 0x0e, 0x11, 0xd7, 0x97, 0x4f, 0x68, 0x8a, 0x41, 0xbe, 0xe3, 0x71, 0xa7, 0x65, 0x5a, 0x24, + 0x04, 0xd8, 0x38, 0xfe, 0x8e, 0xfd, 0xda, 0x40, 0x66, 0x8d, 0xbc, 0x7e, 0xd8, 0xcd, 0x26, 0xb2, + 0x5c, 0x87, 0xfb, 0x95, 0x8d, 0x17, 0xd8, 0xb0, 0x7e, 0x2f, 0x8c, 0xb9, 0x6d, 0xb3, 0xde, 0x10, + 0x78, 0x93, 0x84, 0x57, 0xe3, 0x04, 0x8f, 0x39, 0x0b, 0xb7, 0x71, 0xb9, 0x35, 0xe4, 0x9a, 0xd5, + 0x1d, 0x54, 0xf3, 0x41, 0xfd, 0x64, 0x9b, 0xe1, 0x08, 0x63, 0x28, 0x32, 0x3a, 0xc7, 0x66, 0xbe, + 0xa7, 0xc0, 0x18, 0x7f, 0x61, 0xaa, 0x79, 0xc6, 0x5a, 0x01, 0x30, 0x2d, 0xcb, 0x76, 0x83, 0xe6, + 0xea, 0x0e, 0xe5, 0x2e, 0xdc, 0x5c, 0xce, 0x03, 0x19, 0x01, 0x01, 0x93, 0x4d, 0x00, 0x9f, 0xd2, + 0xd3, 0x6c, 0xd3, 0x30, 0xc8, 0x8e, 0x70, 0xc8, 0x39, 0x20, 0x7d, 0xc5, 0x06, 0x3a, 0x84, 0xdf, + 0xac, 0xf4, 0x43, 0xd0, 0x77, 0x1d, 0x6d, 0xd7, 0x2d, 0xb6, 0x31, 0x4b, 0xbf, 0xf0, 0x8d, 0x90, + 0xa4, 0xb7, 0x11, 0x92, 0x7f, 0x2f, 0x8c, 0x57, 0xed, 0xa6, 0xac, 0x6e, 0x5e, 0x93, 0x5e, 0xf3, + 0x9d, 0x87, 0x95, 0xf7, 0x80, 0xdf, 0x62, 0xfe, 0x4c, 0x51, 0x3e, 0x93, 0x50, 0xaf, 0xac, 0xe5, + 0xbf, 0x94, 0x98, 0xbc, 0x42, 0xa1, 0x6b, 0x7c, 0xa6, 0x06, 0xda, 0x6a, 0xa0, 0x2a, 0xd6, 0x1e, + 0x3e, 0x7f, 0x2f, 0xdc, 0xbf, 0x5d, 0x77, 0x77, 0x3a, 0xd7, 0xe7, 0xaa, 0x76, 0xf3, 0xd4, 0xb6, + 0xbd, 0x6d, 0xfb, 0x47, 0x9f, 0xf8, 0x1b, 0xf9, 0x42, 0x3e, 0xb1, 0xe3, 0xcf, 0x01, 0x6f, 0x74, + 0x32, 0xf2, 0xac, 0x34, 0x5b, 0x86, 0x71, 0xc6, 0x5c, 0x21, 0xe7, 0x2f, 0xf4, 0x2d, 0x42, 0xdf, + 0x73, 0x0f, 0x2b, 0xfd, 0x95, 0x1f, 0x92, 0xe5, 0xda, 0x18, 0x63, 0x50, 0x4c, 0xa3, 0x2f, 0x1a, + 0x59, 0x03, 0x0e, 0x0b, 0xf2, 0x68, 0x6a, 0xa2, 0x76, 0x84, 0xc4, 0xef, 0x30, 0x89, 0xe3, 0x01, + 0x89, 0xeb, 0x0c, 0x9a, 0x2d, 0xc0, 0xf0, 0x7e, 0x64, 0xfd, 0x0d, 0x93, 0x35, 0x84, 0x82, 0x42, + 0xae, 0xc0, 0x28, 0x11, 0x52, 0xed, 0x38, 0xae, 0xdd, 0x24, 0x75, 0x6f, 0x6f, 0x31, 0xdf, 0xfd, + 0x21, 0xcd, 0x95, 0x11, 0x0c, 0x2b, 0x78, 0xa8, 0x6c, 0x16, 0xc8, 0x91, 0x53, 0x0d, 0x55, 0x1b, + 0x11, 0x12, 0x6e, 0x30, 0x45, 0x3c, 0xfe, 0xec, 0xbb, 0xe1, 0x10, 0xfe, 0x4c, 0xca, 0x52, 0x50, + 0x93, 0xe8, 0x0d, 0xaf, 0xf4, 0xf7, 0x3e, 0x40, 0xd3, 0x71, 0xdc, 0x13, 0x10, 0xd0, 0x29, 0xe0, + 0xc5, 0x6d, 0xe4, 0xba, 0xa8, 0xed, 0x54, 0xcc, 0x46, 0x98, 0x7a, 0x81, 0x1d, 0x83, 0xf4, 0xc7, + 0x5e, 0x15, 0xbd, 0x78, 0x85, 0x22, 0x73, 0x8d, 0x46, 0x76, 0x13, 0x8e, 0x84, 0x44, 0x45, 0x0c, + 0x99, 0x1f, 0x67, 0x32, 0x0f, 0x75, 0x45, 0x06, 0x16, 0xbb, 0x06, 0x7c, 0xdc, 0xf3, 0x65, 0x0c, + 0x99, 0x7f, 0xc0, 0x64, 0xea, 0x0c, 0xcb, 0x5d, 0x8a, 0x25, 0x5e, 0x85, 0xb1, 0x27, 0x50, 0xfb, + 0xba, 0xed, 0xb0, 0x5d, 0x9a, 0x18, 0xe2, 0x3e, 0xc1, 0xc4, 0x8d, 0x32, 0x20, 0xd9, 0xb6, 0xc1, + 0xb2, 0x2e, 0x42, 0x6a, 0xcb, 0xac, 0xa2, 0x18, 0x22, 0x3e, 0xc9, 0x44, 0x1c, 0xc4, 0xfc, 0x18, + 0x9a, 0x83, 0xa1, 0x6d, 0x9b, 0xad, 0x4c, 0xd1, 0xf0, 0x67, 0x19, 0x7c, 0x90, 0x63, 0x98, 0x88, + 0x96, 0xdd, 0xea, 0x34, 0xf0, 0xb2, 0x15, 0x2d, 0xe2, 0x53, 0x5c, 0x04, 0xc7, 0x30, 0x11, 0xfb, + 0x30, 0xeb, 0x73, 0x5c, 0x84, 0x13, 0xb0, 0xe7, 0x43, 0x30, 0x68, 0x5b, 0x8d, 0x5d, 0xdb, 0x8a, + 0xa3, 0xc4, 0xa7, 0x99, 0x04, 0x60, 0x10, 0x2c, 0xe0, 0x12, 0x0c, 0xc4, 0x75, 0xc4, 0xe7, 0x5e, + 0xe5, 0xe9, 0xc1, 0x3d, 0x70, 0x05, 0x46, 0x79, 0x81, 0xaa, 0xdb, 0x56, 0x0c, 0x11, 0x9f, 0x67, + 0x22, 0x46, 0x02, 0x30, 0x36, 0x0d, 0x17, 0x39, 0xee, 0x36, 0x8a, 0x23, 0xe4, 0x0b, 0x7c, 0x1a, + 0x0c, 0xc2, 0x4c, 0x79, 0x1d, 0x59, 0xd5, 0x9d, 0x78, 0x12, 0x9e, 0xe7, 0xa6, 0xe4, 0x18, 0x2c, + 0xa2, 0x00, 0xc3, 0x4d, 0xb3, 0xed, 0xec, 0x98, 0x8d, 0x58, 0xee, 0xf8, 0x22, 0x93, 0x31, 0xe4, + 0x81, 0x98, 0x45, 0x3a, 0xd6, 0x7e, 0xc4, 0x7c, 0x89, 0x5b, 0x24, 0x00, 0x63, 0xa9, 0xe7, 0xb8, + 0x64, 0x4b, 0x6b, 0x3f, 0xd2, 0xfe, 0x90, 0xa7, 0x1e, 0xc5, 0xae, 0x04, 0x25, 0x5e, 0x82, 0x01, + 0xa7, 0xfe, 0x74, 0x2c, 0x31, 0x7f, 0xc4, 0x3d, 0x4d, 0x00, 0x18, 0x7c, 0x0d, 0x6e, 0x0b, 0x5d, + 0x26, 0x62, 0x08, 0xfb, 0x63, 0x26, 0x6c, 0x22, 0x64, 0xa9, 0x60, 0x25, 0x61, 0xbf, 0x22, 0xff, + 0x84, 0x97, 0x04, 0x24, 0xc9, 0x5a, 0xc3, 0xef, 0x0a, 0x8e, 0xb9, 0xb5, 0x3f, 0xab, 0xfd, 0x29, + 0xb7, 0x1a, 0xc5, 0x0a, 0x56, 0xdb, 0x80, 0x09, 0x26, 0x71, 0x7f, 0x7e, 0xfd, 0x32, 0x2f, 0xac, + 0x14, 0xbd, 0x29, 0x7a, 0xf7, 0xbd, 0x30, 0xe9, 0x99, 0x93, 0x37, 0xa5, 0x4e, 0xa5, 0x69, 0xb6, + 0x62, 0x48, 0xfe, 0x0a, 0x93, 0xcc, 0x2b, 0xbe, 0xd7, 0xd5, 0x3a, 0x2b, 0x66, 0x0b, 0x0b, 0x7f, + 0x14, 0xd2, 0x5c, 0x78, 0xc7, 0x6a, 0xa3, 0xaa, 0xbd, 0x6d, 0xd5, 0x9f, 0x46, 0xb5, 0x18, 0xa2, + 0xff, 0x4c, 0x72, 0xd5, 0x66, 0x00, 0x8e, 0x25, 0x2f, 0x81, 0xe6, 0xf5, 0x2a, 0x95, 0x7a, 0xb3, + 0x65, 0xb7, 0xdd, 0x08, 0x89, 0x5f, 0xe5, 0x9e, 0xf2, 0x70, 0x4b, 0x04, 0x96, 0x2d, 0xc1, 0x08, + 0xf9, 0x1a, 0x37, 0x24, 0xbf, 0xc6, 0x04, 0x0d, 0xfb, 0x28, 0x56, 0x38, 0xaa, 0x76, 0xb3, 0x65, + 0xb6, 0xe3, 0xd4, 0xbf, 0x3f, 0xe7, 0x85, 0x83, 0x41, 0x58, 0xe1, 0x70, 0x77, 0x5b, 0x08, 0xaf, + 0xf6, 0x31, 0x24, 0x7c, 0x9d, 0x17, 0x0e, 0x8e, 0x61, 0x22, 0x78, 0xc3, 0x10, 0x43, 0xc4, 0x5f, + 0x70, 0x11, 0x1c, 0x83, 0x45, 0xbc, 0xcb, 0x5f, 0x68, 0xdb, 0x68, 0xbb, 0xee, 0xb8, 0x6d, 0xda, + 0x0a, 0xef, 0x2d, 0xea, 0x1b, 0xaf, 0x8a, 0x4d, 0x98, 0x11, 0x80, 0xe2, 0x4a, 0xc4, 0xb6, 0x50, + 0xc9, 0x9b, 0x52, 0xb4, 0x62, 0xdf, 0xe4, 0x95, 0x28, 0x00, 0xc3, 0xba, 0x05, 0x3a, 0x44, 0x6c, + 0xf6, 0x2a, 0x7e, 0x3f, 0x88, 0x21, 0xee, 0x5b, 0x92, 0x72, 0xeb, 0x1c, 0x8b, 0x65, 0x06, 0xfa, + 0x9f, 0x8e, 0xf5, 0x38, 0xda, 0x8d, 0x15, 0x9d, 0x7f, 0x29, 0xf5, 0x3f, 0x9b, 0x14, 0x49, 0x6b, + 0xc8, 0xa8, 0xd4, 0x4f, 0xe9, 0x51, 0x97, 0x75, 0xd2, 0xff, 0xf7, 0x35, 0x36, 0x5f, 0xb1, 0x9d, + 0xca, 0x2e, 0xe3, 0x20, 0x17, 0x9b, 0x9e, 0x68, 0x61, 0x1f, 0x78, 0xcd, 0x8b, 0x73, 0xa1, 0xe7, + 0xc9, 0x5e, 0x86, 0x61, 0xa1, 0xe1, 0x89, 0x16, 0xf5, 0xff, 0x98, 0xa8, 0xa1, 0x60, 0xbf, 0x93, + 0x3d, 0x0b, 0x49, 0xdc, 0xbc, 0x44, 0xc3, 0xff, 0x3f, 0x83, 0x13, 0xf6, 0xec, 0x03, 0x90, 0xe2, + 0x4d, 0x4b, 0x34, 0xf4, 0x83, 0x0c, 0xea, 0x41, 0x30, 0x9c, 0x37, 0x2c, 0xd1, 0xf0, 0x5f, 0xe1, + 0x70, 0x0e, 0xc1, 0xf0, 0xf8, 0x26, 0x7c, 0xe1, 0xd7, 0x92, 0x6c, 0xd1, 0xe1, 0xb6, 0xbb, 0x04, + 0x07, 0x59, 0xa7, 0x12, 0x8d, 0xfe, 0x30, 0x7b, 0x38, 0x47, 0x64, 0xcf, 0x43, 0x5f, 0x4c, 0x83, + 0xff, 0x3a, 0x83, 0x52, 0xfe, 0x6c, 0x01, 0x06, 0x03, 0xdd, 0x49, 0x34, 0xfc, 0x37, 0x18, 0x3c, + 0x88, 0xc2, 0xaa, 0xb3, 0xee, 0x24, 0x5a, 0xc0, 0x6f, 0x72, 0xd5, 0x19, 0x02, 0x9b, 0x8d, 0x37, + 0x26, 0xd1, 0xe8, 0xdf, 0xe2, 0x56, 0xe7, 0x90, 0xec, 0x43, 0x30, 0xe0, 0x2d, 0x36, 0xd1, 0xf8, + 0xdf, 0x66, 0x78, 0x1f, 0x83, 0x2d, 0x10, 0x58, 0xec, 0xa2, 0x45, 0xfc, 0x0e, 0xb7, 0x40, 0x00, + 0x85, 0xd3, 0x48, 0x6e, 0x60, 0xa2, 0x25, 0x7d, 0x84, 0xa7, 0x91, 0xd4, 0xbf, 0x60, 0x6f, 0x92, + 0x9a, 0x1f, 0x2d, 0xe2, 0x77, 0xb9, 0x37, 0x09, 0x3f, 0x56, 0x43, 0xee, 0x08, 0xa2, 0x65, 0xfc, + 0x3e, 0x57, 0x43, 0x6a, 0x08, 0xb2, 0x6b, 0xa0, 0x77, 0x77, 0x03, 0xd1, 0xf2, 0x3e, 0xca, 0xe4, + 0x8d, 0x75, 0x35, 0x03, 0xd9, 0x47, 0x60, 0x22, 0xbc, 0x13, 0x88, 0x96, 0xfa, 0xb1, 0xd7, 0xa4, + 0x77, 0xb7, 0x60, 0x23, 0x90, 0xdd, 0xf0, 0x97, 0x94, 0x60, 0x17, 0x10, 0x2d, 0xf6, 0xe3, 0xaf, + 0x89, 0x85, 0x3b, 0xd8, 0x04, 0x64, 0x73, 0x00, 0xfe, 0x02, 0x1c, 0x2d, 0xeb, 0x13, 0x4c, 0x56, + 0x00, 0x84, 0x53, 0x83, 0xad, 0xbf, 0xd1, 0xf8, 0x4f, 0xf2, 0xd4, 0x60, 0x08, 0x9c, 0x1a, 0x7c, + 0xe9, 0x8d, 0x46, 0x3f, 0xcb, 0x53, 0x83, 0x43, 0x70, 0x64, 0x07, 0x56, 0xb7, 0x68, 0x09, 0x9f, + 0xe6, 0x91, 0x1d, 0x40, 0x65, 0xcb, 0x30, 0xd6, 0xb5, 0x20, 0x46, 0x8b, 0xfa, 0x0c, 0x13, 0xa5, + 0xc9, 0xeb, 0x61, 0x70, 0xf1, 0x62, 0x8b, 0x61, 0xb4, 0xb4, 0xcf, 0x4a, 0x8b, 0x17, 0x5b, 0x0b, + 0xb3, 0x97, 0x20, 0x65, 0x75, 0x1a, 0x0d, 0x9c, 0x3c, 0xfa, 0xde, 0x17, 0xec, 0xd2, 0xff, 0xfc, + 0x3a, 0xb3, 0x0e, 0x07, 0x64, 0xcf, 0x42, 0x1f, 0x6a, 0x5e, 0x47, 0xb5, 0x28, 0xe4, 0xbf, 0xbc, + 0xce, 0x0b, 0x26, 0xe6, 0xce, 0x3e, 0x04, 0x40, 0xb7, 0x46, 0xc8, 0xb1, 0x5f, 0x04, 0xf6, 0x5f, + 0x5f, 0x67, 0x57, 0x5f, 0x7c, 0x88, 0x2f, 0x80, 0x5e, 0xa4, 0xd9, 0x5b, 0xc0, 0xab, 0xa2, 0x00, + 0xe2, 0x91, 0x8b, 0x70, 0xf0, 0x31, 0xc7, 0xb6, 0x5c, 0x73, 0x3b, 0x0a, 0xfd, 0x6f, 0x0c, 0xcd, + 0xf9, 0xb1, 0xc1, 0x9a, 0x76, 0x1b, 0xb9, 0xe6, 0xb6, 0x13, 0x85, 0xfd, 0x77, 0x86, 0xf5, 0x00, + 0x18, 0x5c, 0x35, 0x1d, 0x37, 0xce, 0xbc, 0x7f, 0xcc, 0xc1, 0x1c, 0x80, 0x95, 0xc6, 0x9f, 0x1f, + 0x47, 0xbb, 0x51, 0xd8, 0x9f, 0x70, 0xa5, 0x19, 0x7f, 0xf6, 0x01, 0x18, 0xc0, 0x1f, 0xe9, 0x7d, + 0xb6, 0x08, 0xf0, 0x7f, 0x30, 0xb0, 0x8f, 0xc0, 0x4f, 0x76, 0xdc, 0x9a, 0x5b, 0x8f, 0x36, 0xf6, + 0x4f, 0x99, 0xa7, 0x39, 0x7f, 0x36, 0x07, 0x83, 0x8e, 0x5b, 0xab, 0x75, 0x58, 0x7f, 0x1a, 0x01, + 0xff, 0xcf, 0xd7, 0xbd, 0x2d, 0x0b, 0x0f, 0x83, 0xbd, 0xfd, 0xe4, 0xe3, 0x6e, 0xcb, 0x26, 0xc7, + 0x1c, 0x51, 0x12, 0x5e, 0x63, 0x12, 0x02, 0x90, 0x7c, 0x29, 0x7c, 0xfb, 0x16, 0xae, 0xd8, 0x57, + 0x6c, 0xba, 0x71, 0xfb, 0x9e, 0x4c, 0xf4, 0x0e, 0x2c, 0x7c, 0xb7, 0x01, 0xb7, 0x55, 0xed, 0xe6, + 0x75, 0xdb, 0x39, 0x75, 0xdd, 0x76, 0x77, 0x4e, 0xb9, 0x3b, 0x08, 0x2f, 0xc0, 0x6c, 0x53, 0x36, + 0x89, 0x3f, 0x4f, 0xee, 0x6f, 0x27, 0x97, 0x9c, 0xd3, 0x97, 0xeb, 0x58, 0xf9, 0x32, 0x39, 0x2a, + 0xd1, 0x8f, 0x42, 0x3f, 0x99, 0xce, 0x69, 0x72, 0x1c, 0xa9, 0xe4, 0x93, 0x37, 0x5e, 0x9a, 0x3e, + 0x60, 0xb0, 0x31, 0x8f, 0xba, 0x40, 0xf6, 0xb2, 0x13, 0x02, 0x75, 0xc1, 0xa3, 0x9e, 0xa1, 0xdb, + 0xd9, 0x02, 0xf5, 0x8c, 0x47, 0x5d, 0x24, 0x1b, 0xdb, 0xaa, 0x40, 0x5d, 0xf4, 0xa8, 0x67, 0xc9, + 0xe1, 0xcd, 0xb0, 0x40, 0x3d, 0xeb, 0x51, 0xcf, 0x91, 0x23, 0x9b, 0xa4, 0x40, 0x3d, 0xe7, 0x51, + 0xcf, 0x93, 0xd3, 0x9a, 0x31, 0x81, 0x7a, 0xde, 0xa3, 0x5e, 0x20, 0xa7, 0x34, 0xba, 0x40, 0xbd, + 0xe0, 0x51, 0x2f, 0x92, 0x2b, 0x50, 0x07, 0x05, 0xea, 0x45, 0x7d, 0x0a, 0x0e, 0xd2, 0x99, 0xcf, + 0x93, 0x23, 0xfd, 0x51, 0x46, 0xe6, 0x83, 0x3e, 0xfd, 0x34, 0xb9, 0xee, 0xd4, 0x2f, 0xd2, 0x4f, + 0xfb, 0xf4, 0x05, 0xf2, 0x97, 0x17, 0x9a, 0x48, 0x5f, 0xf0, 0xe9, 0x67, 0xd2, 0xc3, 0xe4, 0xca, + 0x97, 0x40, 0x3f, 0xe3, 0xd3, 0x17, 0xd3, 0x23, 0x38, 0x27, 0x44, 0xfa, 0xa2, 0x4f, 0x3f, 0x9b, + 0x1e, 0x3d, 0xa6, 0xcc, 0x0c, 0x89, 0xf4, 0xb3, 0x99, 0xf7, 0x13, 0xf7, 0x5a, 0xbe, 0x7b, 0x27, + 0x44, 0xf7, 0x7a, 0x8e, 0x9d, 0x10, 0x1d, 0xeb, 0xb9, 0x74, 0x42, 0x74, 0xa9, 0xe7, 0xcc, 0x09, + 0xd1, 0x99, 0x9e, 0x1b, 0x27, 0x44, 0x37, 0x7a, 0x0e, 0x9c, 0x10, 0x1d, 0xe8, 0xb9, 0x6e, 0x42, + 0x74, 0x9d, 0xe7, 0xb4, 0x09, 0xd1, 0x69, 0x9e, 0xbb, 0x26, 0x44, 0x77, 0x79, 0x8e, 0x4a, 0x4b, + 0x8e, 0xf2, 0x5d, 0x94, 0x96, 0x5c, 0xe4, 0x3b, 0x27, 0x2d, 0x39, 0xc7, 0x77, 0x4b, 0x5a, 0x72, + 0x8b, 0xef, 0x90, 0xb4, 0xe4, 0x10, 0xdf, 0x15, 0x69, 0xc9, 0x15, 0xbe, 0x13, 0x58, 0x8e, 0x19, + 0xa8, 0x15, 0x92, 0x63, 0xea, 0x9e, 0x39, 0xa6, 0xee, 0x99, 0x63, 0xea, 0x9e, 0x39, 0xa6, 0xee, + 0x99, 0x63, 0xea, 0x9e, 0x39, 0xa6, 0xee, 0x99, 0x63, 0xea, 0x9e, 0x39, 0xa6, 0xee, 0x99, 0x63, + 0xea, 0xde, 0x39, 0xa6, 0x46, 0xe4, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0x44, 0x8e, 0xa9, 0x11, 0x39, + 0xa6, 0x46, 0xe4, 0x98, 0xda, 0x33, 0xc7, 0x7c, 0xf7, 0x4e, 0x88, 0xee, 0x0d, 0xcd, 0x31, 0xb5, + 0x47, 0x8e, 0xa9, 0x3d, 0x72, 0x4c, 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe4, 0x98, + 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, 0xca, 0x31, 0xb5, 0x67, 0x8e, 0xa9, 0x3d, 0x73, + 0x4c, 0xed, 0x99, 0x63, 0x6a, 0xcf, 0x1c, 0x53, 0x7b, 0xe6, 0x98, 0x1a, 0xcc, 0xb1, 0xbf, 0x52, + 0x41, 0xa7, 0x39, 0xb6, 0x46, 0x2e, 0x85, 0x31, 0x57, 0x4c, 0x49, 0x99, 0xd6, 0x8f, 0x5d, 0xa7, + 0xf9, 0x2e, 0x99, 0x92, 0x72, 0x4d, 0xa4, 0x2f, 0x78, 0x74, 0x9e, 0x6d, 0x22, 0xfd, 0x8c, 0x47, + 0xe7, 0xf9, 0x26, 0xd2, 0x17, 0x3d, 0x3a, 0xcf, 0x38, 0x91, 0x7e, 0xd6, 0xa3, 0xf3, 0x9c, 0x13, + 0xe9, 0xe7, 0x3c, 0x3a, 0xcf, 0x3a, 0x91, 0x7e, 0xde, 0xa3, 0xf3, 0xbc, 0x13, 0xe9, 0x17, 0x3c, + 0x3a, 0xcf, 0x3c, 0x91, 0x7e, 0x51, 0x3f, 0x26, 0xe7, 0x1e, 0x67, 0xf0, 0x5c, 0x7b, 0x4c, 0xce, + 0x3e, 0x89, 0xe3, 0xb4, 0xcf, 0xc1, 0xf3, 0x4f, 0xe2, 0x58, 0xf0, 0x39, 0x78, 0x06, 0x4a, 0x1c, + 0x67, 0x32, 0x1f, 0x22, 0xee, 0xb3, 0x64, 0xf7, 0x4d, 0x4a, 0xee, 0x4b, 0x04, 0x5c, 0x37, 0x29, + 0xb9, 0x2e, 0x11, 0x70, 0xdb, 0xa4, 0xe4, 0xb6, 0x44, 0xc0, 0x65, 0x93, 0x92, 0xcb, 0x12, 0x01, + 0x77, 0x4d, 0x4a, 0xee, 0x4a, 0x04, 0x5c, 0x35, 0x29, 0xb9, 0x2a, 0x11, 0x70, 0xd3, 0xa4, 0xe4, + 0xa6, 0x44, 0xc0, 0x45, 0x93, 0x92, 0x8b, 0x12, 0x01, 0xf7, 0x4c, 0x4a, 0xee, 0x49, 0x04, 0x5c, + 0x73, 0x54, 0x76, 0x4d, 0x22, 0xe8, 0x96, 0xa3, 0xb2, 0x5b, 0x12, 0x41, 0x97, 0x1c, 0x95, 0x5d, + 0x92, 0x08, 0xba, 0xe3, 0xa8, 0xec, 0x8e, 0x44, 0xd0, 0x15, 0x3f, 0x4f, 0xf0, 0x8e, 0x70, 0xdd, + 0x6d, 0x77, 0xaa, 0xee, 0x2d, 0x75, 0x84, 0xf3, 0x42, 0xfb, 0x30, 0xb8, 0xa0, 0xcf, 0x91, 0x86, + 0x35, 0xd8, 0x71, 0x4a, 0x2b, 0xd8, 0xbc, 0xd0, 0x58, 0x04, 0x10, 0x56, 0x38, 0x62, 0xf1, 0x96, + 0x7a, 0xc3, 0x79, 0xa1, 0xcd, 0x88, 0xd6, 0xef, 0xc2, 0x5b, 0xde, 0xb1, 0xbd, 0x90, 0xe0, 0x1d, + 0x1b, 0x33, 0xff, 0x7e, 0x3b, 0xb6, 0xd9, 0x68, 0x93, 0x7b, 0xc6, 0x9e, 0x8d, 0x36, 0x76, 0xd7, + 0xaa, 0x13, 0xb7, 0x83, 0x9b, 0x8d, 0x36, 0xad, 0x67, 0xd4, 0x37, 0xb7, 0xdf, 0x62, 0x11, 0x6c, + 0xa0, 0x56, 0x48, 0x04, 0xef, 0xb7, 0xdf, 0x9a, 0x17, 0x4a, 0xc9, 0x7e, 0x23, 0x58, 0xdd, 0x77, + 0x04, 0xef, 0xb7, 0xf3, 0x9a, 0x17, 0xca, 0xcb, 0xbe, 0x23, 0xf8, 0x2d, 0xe8, 0x87, 0x58, 0x04, + 0xfb, 0xe6, 0xdf, 0x6f, 0x3f, 0x34, 0x1b, 0x6d, 0xf2, 0xd0, 0x08, 0x56, 0xf7, 0x11, 0xc1, 0x71, + 0xfa, 0xa3, 0xd9, 0x68, 0xd3, 0x86, 0x47, 0xf0, 0x2d, 0x77, 0x33, 0x9f, 0x52, 0x60, 0xac, 0x5c, + 0xaf, 0x95, 0x9a, 0xd7, 0x51, 0xad, 0x86, 0x6a, 0xcc, 0x8e, 0xf3, 0x42, 0x25, 0xe8, 0xe1, 0xea, + 0x17, 0x5f, 0x9a, 0xf6, 0x2d, 0x7c, 0x16, 0x52, 0xd4, 0xa6, 0xf3, 0xf3, 0xe9, 0x1b, 0x4a, 0x44, + 0x85, 0xf3, 0x58, 0xf5, 0xe3, 0x1c, 0x76, 0x7a, 0x3e, 0xfd, 0xf7, 0x4a, 0xa0, 0xca, 0x79, 0xc3, + 0x99, 0x8f, 0x10, 0x0d, 0xad, 0x5b, 0xd6, 0xf0, 0x54, 0x2c, 0x0d, 0x03, 0xba, 0xdd, 0xde, 0xa5, + 0x5b, 0x40, 0xab, 0x0e, 0x8c, 0x96, 0xeb, 0xb5, 0x32, 0xf9, 0x9b, 0xff, 0x38, 0x2a, 0x51, 0x1e, + 0xa9, 0x1e, 0xcc, 0x0b, 0x61, 0x19, 0x44, 0x78, 0x21, 0x2d, 0xd6, 0x88, 0x4c, 0x1d, 0x3f, 0xd6, + 0x12, 0x1e, 0x3b, 0xdb, 0xeb, 0xb1, 0x7e, 0x65, 0xf7, 0x1e, 0x38, 0xdb, 0xeb, 0x81, 0x7e, 0x0e, + 0x79, 0x8f, 0x7a, 0x8a, 0x2f, 0xce, 0xf4, 0x6a, 0x96, 0x7e, 0x14, 0x12, 0x4b, 0xf4, 0xe6, 0xf8, + 0x50, 0x7e, 0x08, 0x2b, 0xf5, 0xfd, 0x97, 0xa6, 0x93, 0x9b, 0x9d, 0x7a, 0xcd, 0x48, 0x2c, 0xd5, + 0xf4, 0xab, 0xd0, 0xf7, 0x6e, 0xf6, 0x97, 0xa7, 0x98, 0x61, 0x91, 0x31, 0xdc, 0xd7, 0x73, 0x8f, + 0x08, 0x3f, 0xf8, 0x14, 0xdd, 0xa6, 0x9c, 0xdb, 0xac, 0x5b, 0xee, 0xe9, 0x85, 0x0b, 0x06, 0x15, + 0x91, 0xf9, 0x9f, 0x00, 0xf4, 0x99, 0x45, 0xd3, 0xd9, 0xd1, 0xcb, 0x5c, 0x32, 0x7d, 0xf4, 0x85, + 0xef, 0xbf, 0x34, 0xbd, 0x18, 0x47, 0xea, 0xfd, 0x35, 0xd3, 0xd9, 0xb9, 0xdf, 0xdd, 0x6d, 0xa1, + 0xb9, 0xfc, 0xae, 0x8b, 0x1c, 0x2e, 0xbd, 0xc5, 0x57, 0x3d, 0x36, 0xaf, 0x74, 0x60, 0x5e, 0x29, + 0x61, 0x4e, 0x97, 0xc5, 0x39, 0xcd, 0xbf, 0xd1, 0xf9, 0x3c, 0xc5, 0x17, 0x09, 0xc9, 0x92, 0x6a, + 0x94, 0x25, 0xd5, 0x5b, 0xb5, 0x64, 0x8b, 0xd7, 0x47, 0x69, 0xae, 0xea, 0x5e, 0x73, 0x55, 0x6f, + 0x65, 0xae, 0xff, 0x45, 0xb3, 0xd5, 0xcb, 0xa7, 0x4d, 0x8b, 0xde, 0x5a, 0xfd, 0xe5, 0xda, 0x0b, + 0x7a, 0x53, 0xbb, 0x80, 0x6c, 0xf2, 0xc6, 0x73, 0xd3, 0x4a, 0xe6, 0x53, 0x09, 0x3e, 0x73, 0x9a, + 0x48, 0x6f, 0x6c, 0xe6, 0xbf, 0x2c, 0x3d, 0xd5, 0x5b, 0x61, 0xa1, 0x67, 0x15, 0x98, 0xe8, 0xaa, + 0xe4, 0xd4, 0x4c, 0x6f, 0x6e, 0x39, 0xb7, 0xf6, 0x5b, 0xce, 0x99, 0x82, 0x5f, 0x53, 0xe0, 0x90, + 0x54, 0x5e, 0xa9, 0x7a, 0xa7, 0x24, 0xf5, 0x8e, 0x74, 0x3f, 0x89, 0x30, 0x06, 0xb4, 0x0b, 0xba, + 0x57, 0x02, 0x04, 0x24, 0x7b, 0x7e, 0x5f, 0x94, 0xfc, 0x7e, 0xd4, 0x03, 0x84, 0x98, 0x8b, 0x47, + 0x00, 0x53, 0xdb, 0x86, 0xe4, 0x46, 0x1b, 0x21, 0x7d, 0x0a, 0x12, 0xab, 0x6d, 0xa6, 0xe1, 0x08, + 0xc5, 0xaf, 0xb6, 0xf3, 0x6d, 0xd3, 0xaa, 0xee, 0x18, 0x89, 0xd5, 0xb6, 0x7e, 0x1c, 0xd4, 0x1c, + 0xfb, 0xab, 0xf7, 0xc1, 0x85, 0x51, 0xca, 0x90, 0xb3, 0x6a, 0x8c, 0x03, 0xd3, 0xf4, 0x29, 0x48, + 0x2e, 0x23, 0x73, 0x8b, 0x29, 0x01, 0x94, 0x07, 0x8f, 0x18, 0x64, 0x9c, 0x3d, 0xf0, 0x51, 0x48, + 0x71, 0xc1, 0xfa, 0x09, 0x8c, 0xd8, 0x72, 0xd9, 0x63, 0x19, 0x02, 0xab, 0xc3, 0x56, 0x2e, 0x42, + 0xd5, 0x4f, 0x42, 0x9f, 0x51, 0xdf, 0xde, 0x71, 0xd9, 0xc3, 0xbb, 0xd9, 0x28, 0x39, 0x73, 0x0d, + 0x06, 0x3c, 0x8d, 0xde, 0x64, 0xd1, 0x45, 0x3a, 0x35, 0x7d, 0x32, 0xb8, 0x9e, 0xf0, 0x7d, 0x4b, + 0x3a, 0xa4, 0x1f, 0x83, 0xd4, 0xba, 0xdb, 0xf6, 0x8b, 0x3e, 0xef, 0x48, 0xbd, 0xd1, 0xcc, 0xfb, + 0x15, 0x48, 0x15, 0x11, 0x6a, 0x11, 0x83, 0xdf, 0x05, 0xc9, 0xa2, 0xfd, 0xa4, 0xc5, 0x14, 0x1c, + 0x63, 0x16, 0xc5, 0x64, 0x66, 0x53, 0x42, 0xd6, 0xef, 0x0a, 0xda, 0x7d, 0xdc, 0xb3, 0x7b, 0x80, + 0x8f, 0xd8, 0x3e, 0x23, 0xd8, 0x9e, 0x39, 0x10, 0x33, 0x75, 0xd9, 0xff, 0x3c, 0x0c, 0x06, 0x9e, + 0xa2, 0xcf, 0x30, 0x35, 0x12, 0x32, 0x30, 0x68, 0x2b, 0xcc, 0x91, 0x41, 0x30, 0x2c, 0x3c, 0x18, + 0x43, 0x03, 0x26, 0xee, 0x01, 0x25, 0x66, 0x9e, 0x15, 0xcd, 0x1c, 0xce, 0xca, 0x4c, 0x3d, 0x4f, + 0x6d, 0x44, 0xcc, 0x7d, 0x82, 0x06, 0x67, 0x6f, 0x27, 0xe2, 0xcf, 0x99, 0x3e, 0x50, 0xcb, 0xf5, + 0x46, 0xe6, 0x01, 0x00, 0x9a, 0xf2, 0x25, 0xab, 0xd3, 0x94, 0xb2, 0x6e, 0x84, 0x1b, 0x78, 0x63, + 0x07, 0x6d, 0x20, 0x87, 0xb0, 0x88, 0xfd, 0x14, 0x2e, 0x30, 0x40, 0x53, 0x8c, 0xe0, 0xef, 0x89, + 0xc4, 0x87, 0x76, 0x62, 0x98, 0x35, 0x4d, 0x59, 0xaf, 0x21, 0x37, 0x67, 0xd9, 0xee, 0x0e, 0x6a, + 0x4b, 0x88, 0x05, 0xfd, 0x8c, 0x90, 0xb0, 0x23, 0x0b, 0xb7, 0x7b, 0x88, 0x9e, 0xa0, 0x33, 0x99, + 0x2f, 0x13, 0x05, 0x71, 0x2b, 0xd0, 0x35, 0x41, 0x35, 0xc6, 0x04, 0xf5, 0x73, 0x42, 0xff, 0xb6, + 0x87, 0x9a, 0xd2, 0xab, 0xe5, 0x45, 0xe1, 0x3d, 0x67, 0x6f, 0x65, 0xc5, 0x77, 0x4c, 0x6e, 0x53, + 0xae, 0xf2, 0x3d, 0x91, 0x2a, 0xf7, 0xe8, 0x6e, 0xf7, 0x6b, 0x53, 0x35, 0xae, 0x4d, 0xbf, 0xe5, + 0x75, 0x1c, 0xf4, 0xa7, 0x45, 0xc8, 0x8f, 0xf2, 0xe8, 0xf7, 0x45, 0xfa, 0x3e, 0xab, 0x14, 0x3c, + 0x55, 0x17, 0xe3, 0xba, 0x3f, 0x9b, 0xc8, 0xe7, 0x3d, 0x75, 0xcf, 0xef, 0x23, 0x04, 0xb2, 0x89, + 0x42, 0xc1, 0x2b, 0xdb, 0xa9, 0x0f, 0x3d, 0x37, 0xad, 0x3c, 0xff, 0xdc, 0xf4, 0x81, 0xcc, 0x17, + 0x15, 0x18, 0x63, 0x9c, 0x81, 0xc0, 0xbd, 0x5f, 0x52, 0xfe, 0x30, 0xaf, 0x19, 0x61, 0x16, 0x78, + 0xdb, 0x82, 0xf7, 0x3b, 0x0a, 0xa4, 0xbb, 0x74, 0xe5, 0xf6, 0x9e, 0x8f, 0xa5, 0x72, 0x56, 0x29, + 0xfd, 0xe2, 0x6d, 0x7e, 0x0d, 0xfa, 0x36, 0xea, 0x4d, 0xd4, 0xc6, 0x2b, 0x01, 0xfe, 0x40, 0x55, + 0xe6, 0x87, 0x39, 0x74, 0x88, 0xd3, 0xa8, 0x72, 0x02, 0x6d, 0x41, 0x4f, 0x43, 0xb2, 0x68, 0xba, + 0x26, 0xd1, 0x60, 0xc8, 0xab, 0xaf, 0xa6, 0x6b, 0x66, 0xce, 0xc0, 0xd0, 0xca, 0x2e, 0xb9, 0x6a, + 0x54, 0x23, 0xb7, 0x4c, 0xc4, 0xee, 0x8f, 0xf7, 0xab, 0xa7, 0x67, 0xfb, 0x52, 0x35, 0xed, 0x86, + 0x92, 0x4d, 0x12, 0x7d, 0x9e, 0x80, 0x91, 0x55, 0xac, 0x36, 0xc1, 0x09, 0x30, 0xfa, 0x74, 0xd5, + 0x9b, 0xbc, 0xd4, 0x94, 0xa9, 0x7e, 0x53, 0x76, 0x0c, 0x94, 0x15, 0xb1, 0x75, 0x0a, 0xea, 0x61, + 0x28, 0x2b, 0xb3, 0xc9, 0xd4, 0x88, 0x36, 0x36, 0x9b, 0x4c, 0x81, 0x36, 0xcc, 0x9e, 0xfb, 0xb7, + 0x2a, 0x68, 0xb4, 0xd5, 0x29, 0xa2, 0xad, 0xba, 0x55, 0x77, 0xbb, 0xfb, 0x55, 0x4f, 0x63, 0xfd, + 0x21, 0x18, 0xc0, 0x26, 0xbd, 0xcc, 0x7e, 0x9b, 0x0f, 0x9b, 0xfe, 0x38, 0x6b, 0x51, 0x24, 0x11, + 0x6c, 0x80, 0x84, 0x8e, 0x8f, 0xd1, 0x2f, 0x83, 0x5a, 0x2e, 0xaf, 0xb0, 0xc5, 0x6d, 0x71, 0x4f, + 0x28, 0xbb, 0xce, 0xc3, 0xbe, 0xb1, 0x31, 0x67, 0xdb, 0xc0, 0x02, 0xf4, 0x45, 0x48, 0x94, 0x57, + 0x58, 0xc3, 0x7b, 0x22, 0x8e, 0x18, 0x23, 0x51, 0x5e, 0x99, 0xfc, 0x6b, 0x05, 0x86, 0x85, 0x51, + 0x3d, 0x03, 0x43, 0x74, 0x20, 0x30, 0xdd, 0x7e, 0x43, 0x18, 0xe3, 0x3a, 0x27, 0x6e, 0x51, 0xe7, + 0xc9, 0x1c, 0x8c, 0x4a, 0xe3, 0xfa, 0x1c, 0xe8, 0xc1, 0x21, 0xa6, 0x04, 0xfd, 0x5d, 0xb0, 0x10, + 0x4a, 0xe6, 0x0e, 0x00, 0xdf, 0xae, 0xde, 0xcf, 0x59, 0x95, 0x4b, 0xeb, 0x1b, 0xa5, 0xa2, 0xa6, + 0x64, 0xbe, 0xae, 0xc0, 0x20, 0x6b, 0x5b, 0xab, 0x76, 0x0b, 0xe9, 0x79, 0x50, 0x72, 0x2c, 0x1e, + 0xde, 0x98, 0xde, 0x4a, 0x4e, 0x3f, 0x05, 0x4a, 0x3e, 0xbe, 0xab, 0x95, 0xbc, 0xbe, 0x00, 0x4a, + 0x81, 0x39, 0x38, 0x9e, 0x67, 0x94, 0x42, 0xe6, 0xa7, 0x2a, 0x8c, 0x07, 0xdb, 0x68, 0x5e, 0x4f, + 0x8e, 0x8b, 0xef, 0x4d, 0xd9, 0x81, 0xd3, 0x0b, 0x67, 0x16, 0xe7, 0xf0, 0x3f, 0x5e, 0x48, 0x66, + 0xc4, 0x57, 0xa8, 0x2c, 0x78, 0x2c, 0xa7, 0x7b, 0xdd, 0x13, 0xc9, 0x26, 0x03, 0x12, 0xba, 0xee, + 0x89, 0x08, 0xd4, 0xae, 0x7b, 0x22, 0x02, 0xb5, 0xeb, 0x9e, 0x88, 0x40, 0xed, 0x3a, 0x0b, 0x10, + 0xa8, 0x5d, 0xf7, 0x44, 0x04, 0x6a, 0xd7, 0x3d, 0x11, 0x81, 0xda, 0x7d, 0x4f, 0x84, 0x91, 0x7b, + 0xde, 0x13, 0x11, 0xe9, 0xdd, 0xf7, 0x44, 0x44, 0x7a, 0xf7, 0x3d, 0x91, 0x6c, 0xd2, 0x6d, 0x77, + 0x50, 0xef, 0x53, 0x07, 0x11, 0xbf, 0xd7, 0x4b, 0xa0, 0x5f, 0x81, 0x57, 0x61, 0x94, 0x6e, 0x48, + 0x14, 0x6c, 0xcb, 0x35, 0xeb, 0x16, 0x6a, 0xeb, 0xef, 0x80, 0x21, 0x3a, 0x44, 0x5f, 0x73, 0xc2, + 0x5e, 0x03, 0x29, 0x9d, 0xd5, 0x5b, 0x81, 0x3b, 0xf3, 0xf3, 0x24, 0x4c, 0xd0, 0x81, 0xb2, 0xd9, + 0x44, 0xc2, 0x2d, 0xa3, 0x93, 0xd2, 0x99, 0xd2, 0x08, 0x86, 0xdf, 0x7c, 0x69, 0x9a, 0x8e, 0xe6, + 0xbc, 0x68, 0x3a, 0x29, 0x9d, 0x2e, 0x89, 0x7c, 0xfe, 0x02, 0x74, 0x52, 0xba, 0x79, 0x24, 0xf2, + 0x79, 0xeb, 0x8d, 0xc7, 0xc7, 0xef, 0x20, 0x89, 0x7c, 0x45, 0x2f, 0xca, 0x4e, 0x4a, 0xb7, 0x91, + 0x44, 0xbe, 0x92, 0x17, 0x6f, 0x27, 0xa5, 0xb3, 0x27, 0x91, 0xef, 0xb2, 0x17, 0x79, 0x27, 0xa5, + 0x53, 0x28, 0x91, 0xef, 0x8a, 0x17, 0x83, 0x27, 0xa5, 0xbb, 0x4a, 0x22, 0xdf, 0xc3, 0x5e, 0x34, + 0x9e, 0x94, 0x6e, 0x2d, 0x89, 0x7c, 0x4b, 0x5e, 0x5c, 0xce, 0xc8, 0xf7, 0x97, 0x44, 0xc6, 0xab, + 0x7e, 0x84, 0xce, 0xc8, 0x37, 0x99, 0x44, 0xce, 0x77, 0xfa, 0xb1, 0x3a, 0x23, 0xdf, 0x69, 0x12, + 0x39, 0x97, 0xfd, 0xa8, 0x9d, 0x91, 0xcf, 0xca, 0x44, 0xce, 0x15, 0x3f, 0x7e, 0x67, 0xe4, 0x53, + 0x33, 0x91, 0xb3, 0xec, 0x47, 0xf2, 0x8c, 0x7c, 0x7e, 0x26, 0x72, 0xae, 0xfa, 0x9b, 0xe8, 0xdf, + 0x96, 0xc2, 0x2f, 0x70, 0x0b, 0x2a, 0x23, 0x85, 0x1f, 0x84, 0x84, 0x9e, 0x54, 0xc8, 0x02, 0x3c, + 0x7e, 0xd8, 0x65, 0xa4, 0xb0, 0x83, 0x90, 0x90, 0xcb, 0x48, 0x21, 0x07, 0x21, 0xe1, 0x96, 0x91, + 0xc2, 0x0d, 0x42, 0x42, 0x2d, 0x23, 0x85, 0x1a, 0x84, 0x84, 0x59, 0x46, 0x0a, 0x33, 0x08, 0x09, + 0xb1, 0x8c, 0x14, 0x62, 0x10, 0x12, 0x5e, 0x19, 0x29, 0xbc, 0x20, 0x24, 0xb4, 0x4e, 0xc8, 0xa1, + 0x05, 0x61, 0x61, 0x75, 0x42, 0x0e, 0x2b, 0x08, 0x0b, 0xa9, 0x3b, 0xe5, 0x90, 0x1a, 0xb8, 0xf9, + 0xd2, 0x74, 0x1f, 0x1e, 0x0a, 0x44, 0xd3, 0x09, 0x39, 0x9a, 0x20, 0x2c, 0x92, 0x4e, 0xc8, 0x91, + 0x04, 0x61, 0x51, 0x74, 0x42, 0x8e, 0x22, 0x08, 0x8b, 0xa0, 0x17, 0xe4, 0x08, 0xf2, 0xef, 0xf8, + 0x64, 0xa4, 0x23, 0xc5, 0xa8, 0x08, 0x52, 0x63, 0x44, 0x90, 0x1a, 0x23, 0x82, 0xd4, 0x18, 0x11, + 0xa4, 0xc6, 0x88, 0x20, 0x35, 0x46, 0x04, 0xa9, 0x31, 0x22, 0x48, 0x8d, 0x11, 0x41, 0x6a, 0x9c, + 0x08, 0x52, 0x63, 0x45, 0x90, 0xda, 0x2b, 0x82, 0x4e, 0xc8, 0x37, 0x1e, 0x20, 0xac, 0x20, 0x9d, + 0x90, 0x8f, 0x3e, 0xa3, 0x43, 0x48, 0x8d, 0x15, 0x42, 0x6a, 0xaf, 0x10, 0xfa, 0xb6, 0x0a, 0xe3, + 0x42, 0x08, 0xb1, 0xf3, 0xa1, 0x37, 0xab, 0x02, 0x9d, 0x8b, 0x71, 0xc1, 0x22, 0x2c, 0xa6, 0xce, + 0xc5, 0x38, 0xa4, 0xde, 0x2b, 0xce, 0xba, 0xab, 0x50, 0x29, 0x46, 0x15, 0xba, 0xec, 0xc5, 0xd0, + 0xb9, 0x18, 0x17, 0x2f, 0xba, 0x63, 0xef, 0xc2, 0x5e, 0x45, 0xe0, 0xe1, 0x58, 0x45, 0x60, 0x29, + 0x56, 0x11, 0xb8, 0xea, 0x7b, 0xf0, 0x83, 0x09, 0x38, 0xe4, 0x7b, 0x90, 0x7e, 0x22, 0xbf, 0x9d, + 0x95, 0x09, 0x1c, 0x51, 0xe9, 0xfc, 0xd8, 0x26, 0xe0, 0xc6, 0xc4, 0x52, 0x4d, 0x5f, 0x13, 0x0f, + 0xab, 0xb2, 0xfb, 0x3d, 0xc0, 0x09, 0x78, 0x9c, 0x6d, 0x86, 0x9e, 0x00, 0x75, 0xa9, 0xe6, 0x90, + 0x6a, 0x11, 0xf6, 0xd8, 0x82, 0x81, 0xc9, 0xba, 0x01, 0xfd, 0x84, 0xdd, 0x21, 0xee, 0xbd, 0x95, + 0x07, 0x17, 0x0d, 0x26, 0x29, 0xf3, 0x82, 0x02, 0xc7, 0x84, 0x50, 0x7e, 0x73, 0x8e, 0x0c, 0x2e, + 0xc5, 0x3a, 0x32, 0x10, 0x12, 0xc4, 0x3f, 0x3e, 0xb8, 0xbb, 0xfb, 0xa4, 0x3a, 0x98, 0x25, 0xf2, + 0x51, 0xc2, 0xff, 0x81, 0x11, 0x7f, 0x06, 0xe4, 0x9d, 0xed, 0x6c, 0xf4, 0x6e, 0x66, 0x58, 0x6a, + 0x9e, 0x95, 0x76, 0xd1, 0xf6, 0x84, 0x79, 0xd9, 0x9a, 0xc9, 0xc2, 0x68, 0x59, 0xfc, 0xa3, 0xa7, + 0xa8, 0xcd, 0x88, 0x14, 0x6e, 0xcd, 0x6f, 0x7c, 0x7a, 0xfa, 0x40, 0xe6, 0x3e, 0x18, 0x0a, 0xfe, + 0x5d, 0x93, 0x04, 0x1c, 0xe0, 0xc0, 0x6c, 0xf2, 0x45, 0xcc, 0xfd, 0x7b, 0x0a, 0x1c, 0x0e, 0xb2, + 0x3f, 0x52, 0x77, 0x77, 0x96, 0x2c, 0xdc, 0xd3, 0x3f, 0x00, 0x29, 0xc4, 0x1c, 0xc7, 0x7e, 0x06, + 0x87, 0xbd, 0x47, 0x86, 0xb2, 0xcf, 0x91, 0x7f, 0x0d, 0x0f, 0x22, 0xed, 0x82, 0xf0, 0xc7, 0x2e, + 0x4c, 0xde, 0x05, 0x7d, 0x54, 0xbe, 0xa8, 0xd7, 0xb0, 0xa4, 0xd7, 0xe7, 0x42, 0xf4, 0x22, 0x71, + 0xa4, 0x5f, 0x15, 0xf4, 0x0a, 0xbc, 0xae, 0x86, 0xb2, 0xcf, 0xf1, 0xe0, 0xcb, 0xa7, 0x70, 0xff, + 0x47, 0x22, 0x2a, 0x5a, 0xc9, 0x19, 0x48, 0x95, 0x64, 0x9e, 0x70, 0x3d, 0x8b, 0x90, 0x2c, 0xdb, + 0x35, 0xf2, 0x03, 0x3d, 0xe4, 0x17, 0xa9, 0x99, 0x91, 0xd9, 0xcf, 0x53, 0x9f, 0x84, 0x54, 0x61, + 0xa7, 0xde, 0xa8, 0xb5, 0x91, 0xc5, 0xce, 0xec, 0xd9, 0x16, 0x3a, 0xc6, 0x18, 0x1e, 0x2d, 0x53, + 0x80, 0xb1, 0xb2, 0x6d, 0xe5, 0x77, 0xdd, 0x60, 0xdd, 0x98, 0x93, 0x52, 0x84, 0x9d, 0xf9, 0x90, + 0xbf, 0x03, 0xc1, 0x0c, 0xf9, 0xbe, 0xef, 0xbf, 0x34, 0xad, 0x6c, 0x78, 0xfb, 0xe7, 0x2b, 0x70, + 0x84, 0xa5, 0x4f, 0x97, 0xa8, 0x85, 0x28, 0x51, 0x03, 0xec, 0x9c, 0x3a, 0x20, 0x6e, 0x09, 0x8b, + 0xb3, 0x42, 0xc5, 0xbd, 0x31, 0xcd, 0x70, 0x53, 0xb4, 0xa7, 0x66, 0xea, 0xbe, 0x34, 0x0b, 0x15, + 0x37, 0x17, 0x25, 0x4e, 0xd2, 0xec, 0x4e, 0x18, 0xf0, 0x68, 0x81, 0x68, 0x08, 0x66, 0xca, 0xc2, + 0x6c, 0x06, 0x06, 0x03, 0x09, 0xab, 0xf7, 0x81, 0x92, 0xd3, 0x0e, 0xe0, 0xff, 0xf2, 0x9a, 0x82, + 0xff, 0x2b, 0x68, 0x89, 0xd9, 0xbb, 0x60, 0x54, 0xda, 0xbf, 0xc4, 0x94, 0xa2, 0x06, 0xf8, 0xbf, + 0x92, 0x36, 0x38, 0x99, 0xfc, 0xd0, 0x67, 0xa7, 0x0e, 0xcc, 0x5e, 0x02, 0xbd, 0x7b, 0xa7, 0x53, + 0xef, 0x87, 0x44, 0x0e, 0x8b, 0x3c, 0x02, 0x89, 0x7c, 0x5e, 0x53, 0x26, 0x47, 0x7f, 0xf5, 0x93, + 0xc7, 0x06, 0xf3, 0xe4, 0x8f, 0xb6, 0xaf, 0x21, 0x37, 0x9f, 0x67, 0xe0, 0x07, 0xe1, 0x70, 0xe8, + 0x4e, 0x29, 0xc6, 0x17, 0x0a, 0x14, 0x5f, 0x2c, 0x76, 0xe1, 0x8b, 0x45, 0x82, 0x57, 0xb2, 0xfc, + 0xc4, 0x39, 0xa7, 0x87, 0xec, 0x32, 0xa6, 0x6b, 0x81, 0x13, 0xee, 0x5c, 0xf6, 0x41, 0xc6, 0x9b, + 0x0f, 0xe5, 0x45, 0x11, 0x27, 0xd6, 0xf9, 0x6c, 0x81, 0xe1, 0x0b, 0xa1, 0xf8, 0x2d, 0xe9, 0x58, + 0x55, 0x5c, 0x21, 0x98, 0x90, 0x82, 0xa7, 0x70, 0x31, 0x54, 0xc8, 0x4e, 0xe0, 0xb2, 0x7b, 0xd1, + 0x53, 0xb8, 0x14, 0xca, 0x5b, 0x8f, 0xb8, 0xf4, 0x55, 0xca, 0x9e, 0x62, 0x8b, 0x7c, 0xee, 0xb4, + 0x7e, 0x98, 0xe7, 0xa8, 0x50, 0x81, 0x99, 0x81, 0x38, 0x57, 0xb6, 0xc0, 0x00, 0xf9, 0x9e, 0x80, + 0xde, 0x56, 0xe2, 0xc8, 0xec, 0xc3, 0x4c, 0x48, 0xa1, 0xa7, 0x90, 0x08, 0x53, 0x71, 0x78, 0x7e, + 0xe3, 0xc6, 0xcb, 0x53, 0x07, 0x5e, 0x7c, 0x79, 0xea, 0xc0, 0x3f, 0xbc, 0x3c, 0x75, 0xe0, 0x07, + 0x2f, 0x4f, 0x29, 0x3f, 0x7a, 0x79, 0x4a, 0xf9, 0xc9, 0xcb, 0x53, 0xca, 0xcf, 0x5e, 0x9e, 0x52, + 0x9e, 0xb9, 0x39, 0xa5, 0x3c, 0x7f, 0x73, 0x4a, 0xf9, 0xf2, 0xcd, 0x29, 0xe5, 0x1b, 0x37, 0xa7, + 0x94, 0x17, 0x6e, 0x4e, 0x29, 0x37, 0x6e, 0x4e, 0x29, 0x2f, 0xde, 0x9c, 0x52, 0x7e, 0x70, 0x73, + 0x4a, 0xf9, 0xd1, 0xcd, 0xa9, 0x03, 0x3f, 0xb9, 0x39, 0xa5, 0xfc, 0xec, 0xe6, 0xd4, 0x81, 0x67, + 0x5e, 0x99, 0x3a, 0xf0, 0xdc, 0x2b, 0x53, 0x07, 0x9e, 0x7f, 0x65, 0x4a, 0xf9, 0xef, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xb3, 0x75, 0x57, 0xed, 0xe5, 0x68, 0x00, 0x00, } r := bytes.NewReader(gzipped) - gzipr, err := gzip.NewReader(r) + gzipr, err := compress_gzip.NewReader(r) if err != nil { panic(err) } - ungzipped, err := ioutil.ReadAll(gzipr) + ungzipped, err := io_ioutil.ReadAll(gzipr) if err != nil { panic(err) } - if err := proto.Unmarshal(ungzipped, d); err != nil { + if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil { panic(err) } return d @@ -12350,8 +14324,8 @@ func (this *MyExtendable) VerboseEqual(that interface{}) error { } else if that1.Field1 != nil { return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", this.Field1, that1.Field1) } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) for k, v := range thismap { if v2, ok := thatmap[k]; ok { if !v.Equal(&v2) { @@ -12399,8 +14373,8 @@ func (this *MyExtendable) Equal(that interface{}) bool { } else if that1.Field1 != nil { return false } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) for k, v := range thismap { if v2, ok := thatmap[k]; ok { if !v.Equal(&v2) { @@ -12466,8 +14440,8 @@ func (this *OtherExtenable) VerboseEqual(that interface{}) error { if !this.M.Equal(that1.M) { return fmt.Errorf("M this(%v) Not Equal that(%v)", this.M, that1.M) } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) for k, v := range thismap { if v2, ok := thatmap[k]; ok { if !v.Equal(&v2) { @@ -12527,8 +14501,8 @@ func (this *OtherExtenable) Equal(that interface{}) bool { if !this.M.Equal(that1.M) { return false } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) for k, v := range thismap { if v2, ok := thatmap[k]; ok { if !v.Equal(&v2) { @@ -15428,7 +17402,7 @@ func (this *ProtoType) Equal(that interface{}) bool { } type NidOptNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() float64 GetField2() float32 GetField3() int32 @@ -15446,11 +17420,11 @@ type NidOptNativeFace interface { GetField15() []byte } -func (this *NidOptNative) Proto() proto.Message { +func (this *NidOptNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptNative) TestProto() proto.Message { +func (this *NidOptNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptNativeFromFace(this) } @@ -15535,7 +17509,7 @@ func NewNidOptNativeFromFace(that NidOptNativeFace) *NidOptNative { } type NinOptNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *float64 GetField2() *float32 GetField3() *int32 @@ -15553,11 +17527,11 @@ type NinOptNativeFace interface { GetField15() []byte } -func (this *NinOptNative) Proto() proto.Message { +func (this *NinOptNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptNative) TestProto() proto.Message { +func (this *NinOptNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptNativeFromFace(this) } @@ -15642,7 +17616,7 @@ func NewNinOptNativeFromFace(that NinOptNativeFace) *NinOptNative { } type NidRepNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []int32 @@ -15660,11 +17634,11 @@ type NidRepNativeFace interface { GetField15() [][]byte } -func (this *NidRepNative) Proto() proto.Message { +func (this *NidRepNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepNative) TestProto() proto.Message { +func (this *NidRepNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepNativeFromFace(this) } @@ -15749,7 +17723,7 @@ func NewNidRepNativeFromFace(that NidRepNativeFace) *NidRepNative { } type NinRepNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []int32 @@ -15767,11 +17741,11 @@ type NinRepNativeFace interface { GetField15() [][]byte } -func (this *NinRepNative) Proto() proto.Message { +func (this *NinRepNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepNative) TestProto() proto.Message { +func (this *NinRepNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepNativeFromFace(this) } @@ -15856,7 +17830,7 @@ func NewNinRepNativeFromFace(that NinRepNativeFace) *NinRepNative { } type NidRepPackedNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []int32 @@ -15872,11 +17846,11 @@ type NidRepPackedNativeFace interface { GetField13() []bool } -func (this *NidRepPackedNative) Proto() proto.Message { +func (this *NidRepPackedNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepPackedNative) TestProto() proto.Message { +func (this *NidRepPackedNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepPackedNativeFromFace(this) } @@ -15951,7 +17925,7 @@ func NewNidRepPackedNativeFromFace(that NidRepPackedNativeFace) *NidRepPackedNat } type NinRepPackedNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []int32 @@ -15967,11 +17941,11 @@ type NinRepPackedNativeFace interface { GetField13() []bool } -func (this *NinRepPackedNative) Proto() proto.Message { +func (this *NinRepPackedNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepPackedNative) TestProto() proto.Message { +func (this *NinRepPackedNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepPackedNativeFromFace(this) } @@ -16046,7 +18020,7 @@ func NewNinRepPackedNativeFromFace(that NinRepPackedNativeFace) *NinRepPackedNat } type NidOptStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() float64 GetField2() float32 GetField3() NidOptNative @@ -16059,11 +18033,11 @@ type NidOptStructFace interface { GetField15() []byte } -func (this *NidOptStruct) Proto() proto.Message { +func (this *NidOptStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptStruct) TestProto() proto.Message { +func (this *NidOptStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptStructFromFace(this) } @@ -16123,7 +18097,7 @@ func NewNidOptStructFromFace(that NidOptStructFace) *NidOptStruct { } type NinOptStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *float64 GetField2() *float32 GetField3() *NidOptNative @@ -16136,11 +18110,11 @@ type NinOptStructFace interface { GetField15() []byte } -func (this *NinOptStruct) Proto() proto.Message { +func (this *NinOptStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptStruct) TestProto() proto.Message { +func (this *NinOptStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptStructFromFace(this) } @@ -16200,7 +18174,7 @@ func NewNinOptStructFromFace(that NinOptStructFace) *NinOptStruct { } type NidRepStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []NidOptNative @@ -16213,11 +18187,11 @@ type NidRepStructFace interface { GetField15() [][]byte } -func (this *NidRepStruct) Proto() proto.Message { +func (this *NidRepStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepStruct) TestProto() proto.Message { +func (this *NidRepStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepStructFromFace(this) } @@ -16277,7 +18251,7 @@ func NewNidRepStructFromFace(that NidRepStructFace) *NidRepStruct { } type NinRepStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []*NidOptNative @@ -16290,11 +18264,11 @@ type NinRepStructFace interface { GetField15() [][]byte } -func (this *NinRepStruct) Proto() proto.Message { +func (this *NinRepStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepStruct) TestProto() proto.Message { +func (this *NinRepStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepStructFromFace(this) } @@ -16354,17 +18328,17 @@ func NewNinRepStructFromFace(that NinRepStructFace) *NinRepStruct { } type NidEmbeddedStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNidOptNative() *NidOptNative GetField200() NidOptNative GetField210() bool } -func (this *NidEmbeddedStruct) Proto() proto.Message { +func (this *NidEmbeddedStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidEmbeddedStruct) TestProto() proto.Message { +func (this *NidEmbeddedStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidEmbeddedStructFromFace(this) } @@ -16389,17 +18363,17 @@ func NewNidEmbeddedStructFromFace(that NidEmbeddedStructFace) *NidEmbeddedStruct } type NinEmbeddedStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNidOptNative() *NidOptNative GetField200() *NidOptNative GetField210() *bool } -func (this *NinEmbeddedStruct) Proto() proto.Message { +func (this *NinEmbeddedStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinEmbeddedStruct) TestProto() proto.Message { +func (this *NinEmbeddedStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinEmbeddedStructFromFace(this) } @@ -16424,16 +18398,16 @@ func NewNinEmbeddedStructFromFace(that NinEmbeddedStructFace) *NinEmbeddedStruct } type NidNestedStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() NidOptStruct GetField2() []NidRepStruct } -func (this *NidNestedStruct) Proto() proto.Message { +func (this *NidNestedStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidNestedStruct) TestProto() proto.Message { +func (this *NidNestedStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidNestedStructFromFace(this) } @@ -16453,16 +18427,16 @@ func NewNidNestedStructFromFace(that NidNestedStructFace) *NidNestedStruct { } type NinNestedStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *NinOptStruct GetField2() []*NinRepStruct } -func (this *NinNestedStruct) Proto() proto.Message { +func (this *NinNestedStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinNestedStruct) TestProto() proto.Message { +func (this *NinNestedStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinNestedStructFromFace(this) } @@ -16482,16 +18456,16 @@ func NewNinNestedStructFromFace(that NinNestedStructFace) *NinNestedStruct { } type NidOptCustomFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetId() Uuid GetValue() github_com_gogo_protobuf_test_custom.Uint128 } -func (this *NidOptCustom) Proto() proto.Message { +func (this *NidOptCustom) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptCustom) TestProto() proto.Message { +func (this *NidOptCustom) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptCustomFromFace(this) } @@ -16511,15 +18485,15 @@ func NewNidOptCustomFromFace(that NidOptCustomFace) *NidOptCustom { } type CustomDashFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetValue() *github_com_gogo_protobuf_test_custom_dash_type.Bytes } -func (this *CustomDash) Proto() proto.Message { +func (this *CustomDash) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomDash) TestProto() proto.Message { +func (this *CustomDash) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomDashFromFace(this) } @@ -16534,16 +18508,16 @@ func NewCustomDashFromFace(that CustomDashFace) *CustomDash { } type NinOptCustomFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetId() *Uuid GetValue() *github_com_gogo_protobuf_test_custom.Uint128 } -func (this *NinOptCustom) Proto() proto.Message { +func (this *NinOptCustom) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptCustom) TestProto() proto.Message { +func (this *NinOptCustom) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptCustomFromFace(this) } @@ -16563,16 +18537,16 @@ func NewNinOptCustomFromFace(that NinOptCustomFace) *NinOptCustom { } type NidRepCustomFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetId() []Uuid GetValue() []github_com_gogo_protobuf_test_custom.Uint128 } -func (this *NidRepCustom) Proto() proto.Message { +func (this *NidRepCustom) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepCustom) TestProto() proto.Message { +func (this *NidRepCustom) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepCustomFromFace(this) } @@ -16592,16 +18566,16 @@ func NewNidRepCustomFromFace(that NidRepCustomFace) *NidRepCustom { } type NinRepCustomFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetId() []Uuid GetValue() []github_com_gogo_protobuf_test_custom.Uint128 } -func (this *NinRepCustom) Proto() proto.Message { +func (this *NinRepCustom) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepCustom) TestProto() proto.Message { +func (this *NinRepCustom) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepCustomFromFace(this) } @@ -16621,7 +18595,7 @@ func NewNinRepCustomFromFace(that NinRepCustomFace) *NinRepCustom { } type NinOptNativeUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *float64 GetField2() *float32 GetField3() *int32 @@ -16633,11 +18607,11 @@ type NinOptNativeUnionFace interface { GetField15() []byte } -func (this *NinOptNativeUnion) Proto() proto.Message { +func (this *NinOptNativeUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptNativeUnion) TestProto() proto.Message { +func (this *NinOptNativeUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptNativeUnionFromFace(this) } @@ -16692,7 +18666,7 @@ func NewNinOptNativeUnionFromFace(that NinOptNativeUnionFace) *NinOptNativeUnion } type NinOptStructUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *float64 GetField2() *float32 GetField3() *NidOptNative @@ -16704,11 +18678,11 @@ type NinOptStructUnionFace interface { GetField15() []byte } -func (this *NinOptStructUnion) Proto() proto.Message { +func (this *NinOptStructUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptStructUnion) TestProto() proto.Message { +func (this *NinOptStructUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptStructUnionFromFace(this) } @@ -16763,17 +18737,17 @@ func NewNinOptStructUnionFromFace(that NinOptStructUnionFace) *NinOptStructUnion } type NinEmbeddedStructUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNidOptNative() *NidOptNative GetField200() *NinOptNative GetField210() *bool } -func (this *NinEmbeddedStructUnion) Proto() proto.Message { +func (this *NinEmbeddedStructUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinEmbeddedStructUnion) TestProto() proto.Message { +func (this *NinEmbeddedStructUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinEmbeddedStructUnionFromFace(this) } @@ -16798,17 +18772,17 @@ func NewNinEmbeddedStructUnionFromFace(that NinEmbeddedStructUnionFace) *NinEmbe } type NinNestedStructUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *NinOptNativeUnion GetField2() *NinOptStructUnion GetField3() *NinEmbeddedStructUnion } -func (this *NinNestedStructUnion) Proto() proto.Message { +func (this *NinNestedStructUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinNestedStructUnion) TestProto() proto.Message { +func (this *NinNestedStructUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinNestedStructUnionFromFace(this) } @@ -16833,17 +18807,17 @@ func NewNinNestedStructUnionFromFace(that NinNestedStructUnionFace) *NinNestedSt } type TreeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetOr() *OrBranch GetAnd() *AndBranch GetLeaf() *Leaf } -func (this *Tree) Proto() proto.Message { +func (this *Tree) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Tree) TestProto() proto.Message { +func (this *Tree) TestProto() github_com_gogo_protobuf_proto.Message { return NewTreeFromFace(this) } @@ -16868,16 +18842,16 @@ func NewTreeFromFace(that TreeFace) *Tree { } type OrBranchFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetLeft() Tree GetRight() Tree } -func (this *OrBranch) Proto() proto.Message { +func (this *OrBranch) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *OrBranch) TestProto() proto.Message { +func (this *OrBranch) TestProto() github_com_gogo_protobuf_proto.Message { return NewOrBranchFromFace(this) } @@ -16897,16 +18871,16 @@ func NewOrBranchFromFace(that OrBranchFace) *OrBranch { } type AndBranchFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetLeft() Tree GetRight() Tree } -func (this *AndBranch) Proto() proto.Message { +func (this *AndBranch) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *AndBranch) TestProto() proto.Message { +func (this *AndBranch) TestProto() github_com_gogo_protobuf_proto.Message { return NewAndBranchFromFace(this) } @@ -16926,16 +18900,16 @@ func NewAndBranchFromFace(that AndBranchFace) *AndBranch { } type LeafFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetValue() int64 GetStrValue() string } -func (this *Leaf) Proto() proto.Message { +func (this *Leaf) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Leaf) TestProto() proto.Message { +func (this *Leaf) TestProto() github_com_gogo_protobuf_proto.Message { return NewLeafFromFace(this) } @@ -16955,17 +18929,17 @@ func NewLeafFromFace(that LeafFace) *Leaf { } type DeepTreeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetDown() *ADeepBranch GetAnd() *AndDeepBranch GetLeaf() *DeepLeaf } -func (this *DeepTree) Proto() proto.Message { +func (this *DeepTree) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *DeepTree) TestProto() proto.Message { +func (this *DeepTree) TestProto() github_com_gogo_protobuf_proto.Message { return NewDeepTreeFromFace(this) } @@ -16990,15 +18964,15 @@ func NewDeepTreeFromFace(that DeepTreeFace) *DeepTree { } type ADeepBranchFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetDown() DeepTree } -func (this *ADeepBranch) Proto() proto.Message { +func (this *ADeepBranch) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *ADeepBranch) TestProto() proto.Message { +func (this *ADeepBranch) TestProto() github_com_gogo_protobuf_proto.Message { return NewADeepBranchFromFace(this) } @@ -17013,16 +18987,16 @@ func NewADeepBranchFromFace(that ADeepBranchFace) *ADeepBranch { } type AndDeepBranchFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetLeft() DeepTree GetRight() DeepTree } -func (this *AndDeepBranch) Proto() proto.Message { +func (this *AndDeepBranch) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *AndDeepBranch) TestProto() proto.Message { +func (this *AndDeepBranch) TestProto() github_com_gogo_protobuf_proto.Message { return NewAndDeepBranchFromFace(this) } @@ -17042,15 +19016,15 @@ func NewAndDeepBranchFromFace(that AndDeepBranchFace) *AndDeepBranch { } type DeepLeafFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetTree() Tree } -func (this *DeepLeaf) Proto() proto.Message { +func (this *DeepLeaf) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *DeepLeaf) TestProto() proto.Message { +func (this *DeepLeaf) TestProto() github_com_gogo_protobuf_proto.Message { return NewDeepLeafFromFace(this) } @@ -17065,14 +19039,14 @@ func NewDeepLeafFromFace(that DeepLeafFace) *DeepLeaf { } type NilFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message } -func (this *Nil) Proto() proto.Message { +func (this *Nil) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Nil) TestProto() proto.Message { +func (this *Nil) TestProto() github_com_gogo_protobuf_proto.Message { return NewNilFromFace(this) } @@ -17082,15 +19056,15 @@ func NewNilFromFace(that NilFace) *Nil { } type NidOptEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() TheTestEnum } -func (this *NidOptEnum) Proto() proto.Message { +func (this *NidOptEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptEnum) TestProto() proto.Message { +func (this *NidOptEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptEnumFromFace(this) } @@ -17105,17 +19079,17 @@ func NewNidOptEnumFromFace(that NidOptEnumFace) *NidOptEnum { } type NinOptEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *TheTestEnum GetField2() *YetAnotherTestEnum GetField3() *YetYetAnotherTestEnum } -func (this *NinOptEnum) Proto() proto.Message { +func (this *NinOptEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptEnum) TestProto() proto.Message { +func (this *NinOptEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptEnumFromFace(this) } @@ -17140,17 +19114,17 @@ func NewNinOptEnumFromFace(that NinOptEnumFace) *NinOptEnum { } type NidRepEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []TheTestEnum GetField2() []YetAnotherTestEnum GetField3() []YetYetAnotherTestEnum } -func (this *NidRepEnum) Proto() proto.Message { +func (this *NidRepEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepEnum) TestProto() proto.Message { +func (this *NidRepEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepEnumFromFace(this) } @@ -17175,17 +19149,17 @@ func NewNidRepEnumFromFace(that NidRepEnumFace) *NidRepEnum { } type NinRepEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []TheTestEnum GetField2() []YetAnotherTestEnum GetField3() []YetYetAnotherTestEnum } -func (this *NinRepEnum) Proto() proto.Message { +func (this *NinRepEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepEnum) TestProto() proto.Message { +func (this *NinRepEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepEnumFromFace(this) } @@ -17210,17 +19184,17 @@ func NewNinRepEnumFromFace(that NinRepEnumFace) *NinRepEnum { } type AnotherNinOptEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *AnotherTestEnum GetField2() *YetAnotherTestEnum GetField3() *YetYetAnotherTestEnum } -func (this *AnotherNinOptEnum) Proto() proto.Message { +func (this *AnotherNinOptEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *AnotherNinOptEnum) TestProto() proto.Message { +func (this *AnotherNinOptEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewAnotherNinOptEnumFromFace(this) } @@ -17245,17 +19219,17 @@ func NewAnotherNinOptEnumFromFace(that AnotherNinOptEnumFace) *AnotherNinOptEnum } type TimerFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetTime1() int64 GetTime2() int64 GetData() []byte } -func (this *Timer) Proto() proto.Message { +func (this *Timer) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Timer) TestProto() proto.Message { +func (this *Timer) TestProto() github_com_gogo_protobuf_proto.Message { return NewTimerFromFace(this) } @@ -17280,18 +19254,18 @@ func NewTimerFromFace(that TimerFace) *Timer { } type NestedDefinitionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *int64 GetEnumField() *NestedDefinition_NestedEnum GetNNM() *NestedDefinition_NestedMessage_NestedNestedMsg GetNM() *NestedDefinition_NestedMessage } -func (this *NestedDefinition) Proto() proto.Message { +func (this *NestedDefinition) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NestedDefinition) TestProto() proto.Message { +func (this *NestedDefinition) TestProto() github_com_gogo_protobuf_proto.Message { return NewNestedDefinitionFromFace(this) } @@ -17321,16 +19295,16 @@ func NewNestedDefinitionFromFace(that NestedDefinitionFace) *NestedDefinition { } type NestedDefinition_NestedMessageFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNestedField1() *uint64 GetNNM() *NestedDefinition_NestedMessage_NestedNestedMsg } -func (this *NestedDefinition_NestedMessage) Proto() proto.Message { +func (this *NestedDefinition_NestedMessage) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NestedDefinition_NestedMessage) TestProto() proto.Message { +func (this *NestedDefinition_NestedMessage) TestProto() github_com_gogo_protobuf_proto.Message { return NewNestedDefinition_NestedMessageFromFace(this) } @@ -17350,15 +19324,15 @@ func NewNestedDefinition_NestedMessageFromFace(that NestedDefinition_NestedMessa } type NestedDefinition_NestedMessage_NestedNestedMsgFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNestedNestedField1() *string } -func (this *NestedDefinition_NestedMessage_NestedNestedMsg) Proto() proto.Message { +func (this *NestedDefinition_NestedMessage_NestedNestedMsg) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NestedDefinition_NestedMessage_NestedNestedMsg) TestProto() proto.Message { +func (this *NestedDefinition_NestedMessage_NestedNestedMsg) TestProto() github_com_gogo_protobuf_proto.Message { return NewNestedDefinition_NestedMessage_NestedNestedMsgFromFace(this) } @@ -17373,17 +19347,17 @@ func NewNestedDefinition_NestedMessage_NestedNestedMsgFromFace(that NestedDefini } type NestedScopeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetA() *NestedDefinition_NestedMessage_NestedNestedMsg GetB() *NestedDefinition_NestedEnum GetC() *NestedDefinition_NestedMessage } -func (this *NestedScope) Proto() proto.Message { +func (this *NestedScope) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NestedScope) TestProto() proto.Message { +func (this *NestedScope) TestProto() github_com_gogo_protobuf_proto.Message { return NewNestedScopeFromFace(this) } @@ -17408,15 +19382,15 @@ func NewNestedScopeFromFace(that NestedScopeFace) *NestedScope { } type CustomContainerFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetCustomStruct() NidOptCustom } -func (this *CustomContainer) Proto() proto.Message { +func (this *CustomContainer) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomContainer) TestProto() proto.Message { +func (this *CustomContainer) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomContainerFromFace(this) } @@ -17431,7 +19405,7 @@ func NewCustomContainerFromFace(that CustomContainerFace) *CustomContainer { } type CustomNameNidOptNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() float64 GetFieldB() float32 GetFieldC() int32 @@ -17449,11 +19423,11 @@ type CustomNameNidOptNativeFace interface { GetFieldO() []byte } -func (this *CustomNameNidOptNative) Proto() proto.Message { +func (this *CustomNameNidOptNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNidOptNative) TestProto() proto.Message { +func (this *CustomNameNidOptNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNidOptNativeFromFace(this) } @@ -17538,7 +19512,7 @@ func NewCustomNameNidOptNativeFromFace(that CustomNameNidOptNativeFace) *CustomN } type CustomNameNinOptNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() *float64 GetFieldB() *float32 GetFieldC() *int32 @@ -17556,11 +19530,11 @@ type CustomNameNinOptNativeFace interface { GetFieldO() []byte } -func (this *CustomNameNinOptNative) Proto() proto.Message { +func (this *CustomNameNinOptNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNinOptNative) TestProto() proto.Message { +func (this *CustomNameNinOptNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNinOptNativeFromFace(this) } @@ -17645,7 +19619,7 @@ func NewCustomNameNinOptNativeFromFace(that CustomNameNinOptNativeFace) *CustomN } type CustomNameNinRepNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() []float64 GetFieldB() []float32 GetFieldC() []int32 @@ -17663,11 +19637,11 @@ type CustomNameNinRepNativeFace interface { GetFieldO() [][]byte } -func (this *CustomNameNinRepNative) Proto() proto.Message { +func (this *CustomNameNinRepNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNinRepNative) TestProto() proto.Message { +func (this *CustomNameNinRepNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNinRepNativeFromFace(this) } @@ -17752,7 +19726,7 @@ func NewCustomNameNinRepNativeFromFace(that CustomNameNinRepNativeFace) *CustomN } type CustomNameNinStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() *float64 GetFieldB() *float32 GetFieldC() *NidOptNative @@ -17765,11 +19739,11 @@ type CustomNameNinStructFace interface { GetFieldJ() []byte } -func (this *CustomNameNinStruct) Proto() proto.Message { +func (this *CustomNameNinStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNinStruct) TestProto() proto.Message { +func (this *CustomNameNinStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNinStructFromFace(this) } @@ -17829,18 +19803,18 @@ func NewCustomNameNinStructFromFace(that CustomNameNinStructFace) *CustomNameNin } type CustomNameCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() *Uuid GetFieldB() *github_com_gogo_protobuf_test_custom.Uint128 GetFieldC() []Uuid GetFieldD() []github_com_gogo_protobuf_test_custom.Uint128 } -func (this *CustomNameCustomType) Proto() proto.Message { +func (this *CustomNameCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameCustomType) TestProto() proto.Message { +func (this *CustomNameCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameCustomTypeFromFace(this) } @@ -17870,17 +19844,17 @@ func NewCustomNameCustomTypeFromFace(that CustomNameCustomTypeFace) *CustomNameC } type CustomNameNinEmbeddedStructUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNidOptNative() *NidOptNative GetFieldA() *NinOptNative GetFieldB() *bool } -func (this *CustomNameNinEmbeddedStructUnion) Proto() proto.Message { +func (this *CustomNameNinEmbeddedStructUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNinEmbeddedStructUnion) TestProto() proto.Message { +func (this *CustomNameNinEmbeddedStructUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNinEmbeddedStructUnionFromFace(this) } @@ -17905,16 +19879,16 @@ func NewCustomNameNinEmbeddedStructUnionFromFace(that CustomNameNinEmbeddedStruc } type CustomNameEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() *TheTestEnum GetFieldB() []TheTestEnum } -func (this *CustomNameEnum) Proto() proto.Message { +func (this *CustomNameEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameEnum) TestProto() proto.Message { +func (this *CustomNameEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameEnumFromFace(this) } @@ -17934,15 +19908,15 @@ func NewCustomNameEnumFromFace(that CustomNameEnumFace) *CustomNameEnum { } type UnrecognizedFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *string } -func (this *Unrecognized) Proto() proto.Message { +func (this *Unrecognized) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Unrecognized) TestProto() proto.Message { +func (this *Unrecognized) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedFromFace(this) } @@ -17957,16 +19931,16 @@ func NewUnrecognizedFromFace(that UnrecognizedFace) *Unrecognized { } type UnrecognizedWithInnerFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetEmbedded() []*UnrecognizedWithInner_Inner GetField2() *string } -func (this *UnrecognizedWithInner) Proto() proto.Message { +func (this *UnrecognizedWithInner) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *UnrecognizedWithInner) TestProto() proto.Message { +func (this *UnrecognizedWithInner) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedWithInnerFromFace(this) } @@ -17986,15 +19960,15 @@ func NewUnrecognizedWithInnerFromFace(that UnrecognizedWithInnerFace) *Unrecogni } type UnrecognizedWithInner_InnerFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *uint32 } -func (this *UnrecognizedWithInner_Inner) Proto() proto.Message { +func (this *UnrecognizedWithInner_Inner) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *UnrecognizedWithInner_Inner) TestProto() proto.Message { +func (this *UnrecognizedWithInner_Inner) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedWithInner_InnerFromFace(this) } @@ -18009,16 +19983,16 @@ func NewUnrecognizedWithInner_InnerFromFace(that UnrecognizedWithInner_InnerFace } type UnrecognizedWithEmbedFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetUnrecognizedWithEmbed_Embedded() UnrecognizedWithEmbed_Embedded GetField2() *string } -func (this *UnrecognizedWithEmbed) Proto() proto.Message { +func (this *UnrecognizedWithEmbed) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *UnrecognizedWithEmbed) TestProto() proto.Message { +func (this *UnrecognizedWithEmbed) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedWithEmbedFromFace(this) } @@ -18038,15 +20012,15 @@ func NewUnrecognizedWithEmbedFromFace(that UnrecognizedWithEmbedFace) *Unrecogni } type UnrecognizedWithEmbed_EmbeddedFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *uint32 } -func (this *UnrecognizedWithEmbed_Embedded) Proto() proto.Message { +func (this *UnrecognizedWithEmbed_Embedded) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *UnrecognizedWithEmbed_Embedded) TestProto() proto.Message { +func (this *UnrecognizedWithEmbed_Embedded) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedWithEmbed_EmbeddedFromFace(this) } @@ -18061,16 +20035,16 @@ func NewUnrecognizedWithEmbed_EmbeddedFromFace(that UnrecognizedWithEmbed_Embedd } type NodeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetLabel() *string GetChildren() []*Node } -func (this *Node) Proto() proto.Message { +func (this *Node) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Node) TestProto() proto.Message { +func (this *Node) TestProto() github_com_gogo_protobuf_proto.Message { return NewNodeFromFace(this) } @@ -18090,15 +20064,15 @@ func NewNodeFromFace(that NodeFace) *Node { } type NonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *T } -func (this *NonByteCustomType) Proto() proto.Message { +func (this *NonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NonByteCustomType) TestProto() proto.Message { +func (this *NonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNonByteCustomTypeFromFace(this) } @@ -18113,15 +20087,15 @@ func NewNonByteCustomTypeFromFace(that NonByteCustomTypeFace) *NonByteCustomType } type NidOptNonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() T } -func (this *NidOptNonByteCustomType) Proto() proto.Message { +func (this *NidOptNonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptNonByteCustomType) TestProto() proto.Message { +func (this *NidOptNonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptNonByteCustomTypeFromFace(this) } @@ -18136,15 +20110,15 @@ func NewNidOptNonByteCustomTypeFromFace(that NidOptNonByteCustomTypeFace) *NidOp } type NinOptNonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *T } -func (this *NinOptNonByteCustomType) Proto() proto.Message { +func (this *NinOptNonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptNonByteCustomType) TestProto() proto.Message { +func (this *NinOptNonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptNonByteCustomTypeFromFace(this) } @@ -18159,15 +20133,15 @@ func NewNinOptNonByteCustomTypeFromFace(that NinOptNonByteCustomTypeFace) *NinOp } type NidRepNonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []T } -func (this *NidRepNonByteCustomType) Proto() proto.Message { +func (this *NidRepNonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepNonByteCustomType) TestProto() proto.Message { +func (this *NidRepNonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepNonByteCustomTypeFromFace(this) } @@ -18182,15 +20156,15 @@ func NewNidRepNonByteCustomTypeFromFace(that NidRepNonByteCustomTypeFace) *NidRe } type NinRepNonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []T } -func (this *NinRepNonByteCustomType) Proto() proto.Message { +func (this *NinRepNonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepNonByteCustomType) TestProto() proto.Message { +func (this *NinRepNonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepNonByteCustomTypeFromFace(this) } @@ -18205,15 +20179,15 @@ func NewNinRepNonByteCustomTypeFromFace(that NinRepNonByteCustomTypeFace) *NinRe } type ProtoTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField2() *string } -func (this *ProtoType) Proto() proto.Message { +func (this *ProtoType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *ProtoType) TestProto() proto.Message { +func (this *ProtoType) TestProto() github_com_gogo_protobuf_proto.Message { return NewProtoTypeFromFace(this) } @@ -19890,8 +21864,8 @@ func valueToGoStringThetest(v interface{}, typ string) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv) } -func extensionToGoStringThetest(m proto.Message) string { - e := proto.GetUnsafeExtensionsMap(m) +func extensionToGoStringThetest(m github_com_gogo_protobuf_proto.Message) string { + e := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(m) if e == nil { return "nil" } @@ -19925,11 +21899,11 @@ func (m *NidOptNative) MarshalTo(dAtA []byte) (int, error) { _ = l dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Field1)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Field1)))) i += 8 dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Field2)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Field2)))) i += 4 dAtA[i] = 0x18 i++ @@ -19951,19 +21925,19 @@ func (m *NidOptNative) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintThetest(dAtA, i, uint64((uint64(m.Field8)<<1)^uint64((m.Field8>>63)))) dAtA[i] = 0x4d i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Field9)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Field9)) i += 4 dAtA[i] = 0x55 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Field10)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Field10)) i += 4 dAtA[i] = 0x59 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Field11)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Field11)) i += 8 dAtA[i] = 0x61 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Field12)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Field12)) i += 8 dAtA[i] = 0x68 i++ @@ -20007,13 +21981,13 @@ func (m *NinOptNative) MarshalTo(dAtA []byte) (int, error) { if m.Field1 != nil { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) i += 8 } if m.Field2 != nil { dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) i += 4 } if m.Field3 != nil { @@ -20049,25 +22023,25 @@ func (m *NinOptNative) MarshalTo(dAtA []byte) (int, error) { if m.Field9 != nil { dAtA[i] = 0x4d i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.Field9)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.Field9)) i += 4 } if m.Field10 != nil { dAtA[i] = 0x55 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.Field10)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.Field10)) i += 4 } if m.Field11 != nil { dAtA[i] = 0x59 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.Field11)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.Field11)) i += 8 } if m.Field12 != nil { dAtA[i] = 0x61 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.Field12)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.Field12)) i += 8 } if m.Field13 != nil { @@ -20118,7 +22092,7 @@ func (m *NidRepNative) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x9 i++ f1 := math.Float64bits(float64(num)) - binary.LittleEndian.PutUint64(dAtA[i:], uint64(f1)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f1)) i += 8 } } @@ -20127,7 +22101,7 @@ func (m *NidRepNative) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x15 i++ f2 := math.Float32bits(float32(num)) - binary.LittleEndian.PutUint32(dAtA[i:], uint32(f2)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f2)) i += 4 } } @@ -20191,7 +22165,7 @@ func (m *NidRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.Field9 { dAtA[i] = 0x4d i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -20199,7 +22173,7 @@ func (m *NidRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.Field10 { dAtA[i] = 0x55 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -20207,7 +22181,7 @@ func (m *NidRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.Field11 { dAtA[i] = 0x59 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -20215,7 +22189,7 @@ func (m *NidRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.Field12 { dAtA[i] = 0x61 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -20280,7 +22254,7 @@ func (m *NinRepNative) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x9 i++ f5 := math.Float64bits(float64(num)) - binary.LittleEndian.PutUint64(dAtA[i:], uint64(f5)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f5)) i += 8 } } @@ -20289,7 +22263,7 @@ func (m *NinRepNative) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x15 i++ f6 := math.Float32bits(float32(num)) - binary.LittleEndian.PutUint32(dAtA[i:], uint32(f6)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f6)) i += 4 } } @@ -20353,7 +22327,7 @@ func (m *NinRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.Field9 { dAtA[i] = 0x4d i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -20361,7 +22335,7 @@ func (m *NinRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.Field10 { dAtA[i] = 0x55 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -20369,7 +22343,7 @@ func (m *NinRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.Field11 { dAtA[i] = 0x59 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -20377,7 +22351,7 @@ func (m *NinRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.Field12 { dAtA[i] = 0x61 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -20443,7 +22417,7 @@ func (m *NidRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintThetest(dAtA, i, uint64(len(m.Field1)*8)) for _, num := range m.Field1 { f9 := math.Float64bits(float64(num)) - binary.LittleEndian.PutUint64(dAtA[i:], uint64(f9)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f9)) i += 8 } } @@ -20453,7 +22427,7 @@ func (m *NidRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintThetest(dAtA, i, uint64(len(m.Field2)*4)) for _, num := range m.Field2 { f10 := math.Float32bits(float32(num)) - binary.LittleEndian.PutUint32(dAtA[i:], uint32(f10)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f10)) i += 4 } } @@ -20568,7 +22542,7 @@ func (m *NidRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(len(m.Field9)*4)) for _, num := range m.Field9 { - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -20577,7 +22551,7 @@ func (m *NidRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(len(m.Field10)*4)) for _, num := range m.Field10 { - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -20586,7 +22560,7 @@ func (m *NidRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(len(m.Field11)*8)) for _, num := range m.Field11 { - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -20595,7 +22569,7 @@ func (m *NidRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(len(m.Field12)*8)) for _, num := range m.Field12 { - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -20639,7 +22613,7 @@ func (m *NinRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintThetest(dAtA, i, uint64(len(m.Field1)*8)) for _, num := range m.Field1 { f25 := math.Float64bits(float64(num)) - binary.LittleEndian.PutUint64(dAtA[i:], uint64(f25)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f25)) i += 8 } } @@ -20649,7 +22623,7 @@ func (m *NinRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintThetest(dAtA, i, uint64(len(m.Field2)*4)) for _, num := range m.Field2 { f26 := math.Float32bits(float32(num)) - binary.LittleEndian.PutUint32(dAtA[i:], uint32(f26)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f26)) i += 4 } } @@ -20764,7 +22738,7 @@ func (m *NinRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(len(m.Field9)*4)) for _, num := range m.Field9 { - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -20773,7 +22747,7 @@ func (m *NinRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(len(m.Field10)*4)) for _, num := range m.Field10 { - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -20782,7 +22756,7 @@ func (m *NinRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(len(m.Field11)*8)) for _, num := range m.Field11 { - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -20791,7 +22765,7 @@ func (m *NinRepPackedNative) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(len(m.Field12)*8)) for _, num := range m.Field12 { - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -20831,11 +22805,11 @@ func (m *NidOptStruct) MarshalTo(dAtA []byte) (int, error) { _ = l dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Field1)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Field1)))) i += 8 dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Field2)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Field2)))) i += 4 dAtA[i] = 0x1a i++ @@ -20909,13 +22883,13 @@ func (m *NinOptStruct) MarshalTo(dAtA []byte) (int, error) { if m.Field1 != nil { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) i += 8 } if m.Field2 != nil { dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) i += 4 } if m.Field3 != nil { @@ -21006,7 +22980,7 @@ func (m *NidRepStruct) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x9 i++ f47 := math.Float64bits(float64(num)) - binary.LittleEndian.PutUint64(dAtA[i:], uint64(f47)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f47)) i += 8 } } @@ -21015,7 +22989,7 @@ func (m *NidRepStruct) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x15 i++ f48 := math.Float32bits(float32(num)) - binary.LittleEndian.PutUint32(dAtA[i:], uint32(f48)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f48)) i += 4 } } @@ -21137,7 +23111,7 @@ func (m *NinRepStruct) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x9 i++ f50 := math.Float64bits(float64(num)) - binary.LittleEndian.PutUint64(dAtA[i:], uint64(f50)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f50)) i += 8 } } @@ -21146,7 +23120,7 @@ func (m *NinRepStruct) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x15 i++ f51 := math.Float32bits(float32(num)) - binary.LittleEndian.PutUint32(dAtA[i:], uint32(f51)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f51)) i += 4 } } @@ -21655,13 +23629,13 @@ func (m *NinOptNativeUnion) MarshalTo(dAtA []byte) (int, error) { if m.Field1 != nil { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) i += 8 } if m.Field2 != nil { dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) i += 4 } if m.Field3 != nil { @@ -21730,13 +23704,13 @@ func (m *NinOptStructUnion) MarshalTo(dAtA []byte) (int, error) { if m.Field1 != nil { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) i += 8 } if m.Field2 != nil { dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) i += 4 } if m.Field3 != nil { @@ -22492,11 +24466,11 @@ func (m *Timer) MarshalTo(dAtA []byte) (int, error) { _ = l dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Time1)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Time1)) i += 8 dAtA[i] = 0x11 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Time2)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Time2)) i += 8 if m.Data != nil { dAtA[i] = 0x1a @@ -22530,7 +24504,7 @@ func (m *MyExtendable) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(*m.Field1)) } - n, err := proto.EncodeInternalExtension(m, dAtA[i:]) + n, err := github_com_gogo_protobuf_proto.EncodeInternalExtension(m, dAtA[i:]) if err != nil { return 0, err } @@ -22576,7 +24550,7 @@ func (m *OtherExtenable) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintThetest(dAtA, i, uint64(*m.Field13)) } - n, err := proto.EncodeInternalExtension(m, dAtA[i:]) + n, err := github_com_gogo_protobuf_proto.EncodeInternalExtension(m, dAtA[i:]) if err != nil { return 0, err } @@ -22656,7 +24630,7 @@ func (m *NestedDefinition_NestedMessage) MarshalTo(dAtA []byte) (int, error) { if m.NestedField1 != nil { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.NestedField1)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.NestedField1)) i += 8 } if m.NNM != nil { @@ -22766,13 +24740,13 @@ func (m *NinOptNativeDefault) MarshalTo(dAtA []byte) (int, error) { if m.Field1 != nil { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field1)))) i += 8 } if m.Field2 != nil { dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Field2)))) i += 4 } if m.Field3 != nil { @@ -22808,25 +24782,25 @@ func (m *NinOptNativeDefault) MarshalTo(dAtA []byte) (int, error) { if m.Field9 != nil { dAtA[i] = 0x4d i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.Field9)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.Field9)) i += 4 } if m.Field10 != nil { dAtA[i] = 0x55 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.Field10)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.Field10)) i += 4 } if m.Field11 != nil { dAtA[i] = 0x59 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.Field11)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.Field11)) i += 8 } if m.Field12 != nil { dAtA[i] = 0x61 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.Field12)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.Field12)) i += 8 } if m.Field13 != nil { @@ -22903,11 +24877,11 @@ func (m *CustomNameNidOptNative) MarshalTo(dAtA []byte) (int, error) { _ = l dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.FieldA)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.FieldA)))) i += 8 dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.FieldB)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.FieldB)))) i += 4 dAtA[i] = 0x18 i++ @@ -22929,19 +24903,19 @@ func (m *CustomNameNidOptNative) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintThetest(dAtA, i, uint64((uint64(m.FieldH)<<1)^uint64((m.FieldH>>63)))) dAtA[i] = 0x4d i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.FieldI)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.FieldI)) i += 4 dAtA[i] = 0x55 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.FieldJ)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.FieldJ)) i += 4 dAtA[i] = 0x59 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.FieldK)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.FieldK)) i += 8 dAtA[i] = 0x61 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.FieldL)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.FieldL)) i += 8 dAtA[i] = 0x68 i++ @@ -22985,13 +24959,13 @@ func (m *CustomNameNinOptNative) MarshalTo(dAtA []byte) (int, error) { if m.FieldA != nil { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.FieldA)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.FieldA)))) i += 8 } if m.FieldB != nil { dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.FieldB)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.FieldB)))) i += 4 } if m.FieldC != nil { @@ -23027,25 +25001,25 @@ func (m *CustomNameNinOptNative) MarshalTo(dAtA []byte) (int, error) { if m.FieldI != nil { dAtA[i] = 0x4d i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.FieldI)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.FieldI)) i += 4 } if m.FieldJ != nil { dAtA[i] = 0x55 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.FieldJ)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.FieldJ)) i += 4 } if m.FieldK != nil { dAtA[i] = 0x59 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.FieldK)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.FieldK)) i += 8 } if m.FielL != nil { dAtA[i] = 0x61 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.FielL)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(*m.FielL)) i += 8 } if m.FieldM != nil { @@ -23096,7 +25070,7 @@ func (m *CustomNameNinRepNative) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x9 i++ f92 := math.Float64bits(float64(num)) - binary.LittleEndian.PutUint64(dAtA[i:], uint64(f92)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f92)) i += 8 } } @@ -23105,7 +25079,7 @@ func (m *CustomNameNinRepNative) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x15 i++ f93 := math.Float32bits(float32(num)) - binary.LittleEndian.PutUint32(dAtA[i:], uint32(f93)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f93)) i += 4 } } @@ -23169,7 +25143,7 @@ func (m *CustomNameNinRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.FieldI { dAtA[i] = 0x4d i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -23177,7 +25151,7 @@ func (m *CustomNameNinRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.FieldJ { dAtA[i] = 0x55 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(num)) i += 4 } } @@ -23185,7 +25159,7 @@ func (m *CustomNameNinRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.FieldK { dAtA[i] = 0x59 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -23193,7 +25167,7 @@ func (m *CustomNameNinRepNative) MarshalTo(dAtA []byte) (int, error) { for _, num := range m.FieldL { dAtA[i] = 0x61 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(num)) i += 8 } } @@ -23256,13 +25230,13 @@ func (m *CustomNameNinStruct) MarshalTo(dAtA []byte) (int, error) { if m.FieldA != nil { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.FieldA)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.FieldA)))) i += 8 } if m.FieldB != nil { dAtA[i] = 0x15 i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.FieldB)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.FieldB)))) i += 4 } if m.FieldC != nil { @@ -25411,7 +27385,7 @@ func NewPopulatedMyExtendable(r randyThetest, easy bool) *MyExtendable { wire = 5 } dAtA := randFieldThetest(nil, r, fieldNumber, wire) - proto.SetRawExtension(this, int32(fieldNumber), dAtA) + github_com_gogo_protobuf_proto.SetRawExtension(this, int32(fieldNumber), dAtA) } } if !easy && r.Intn(10) != 0 { @@ -25455,7 +27429,7 @@ func NewPopulatedOtherExtenable(r randyThetest, easy bool) *OtherExtenable { wire = 5 } dAtA := randFieldThetest(nil, r, fieldNumber, wire) - proto.SetRawExtension(this, int32(fieldNumber), dAtA) + github_com_gogo_protobuf_proto.SetRawExtension(this, int32(fieldNumber), dAtA) } } if !easy && r.Intn(10) != 0 { @@ -26069,7 +28043,7 @@ func NewPopulatedNoExtensionsMap(r randyThetest, easy bool) *NoExtensionsMap { wire = 5 } dAtA := randFieldThetest(nil, r, fieldNumber, wire) - proto.SetRawExtension(this, int32(fieldNumber), dAtA) + github_com_gogo_protobuf_proto.SetRawExtension(this, int32(fieldNumber), dAtA) } } if !easy && r.Intn(10) != 0 { @@ -26312,6 +28286,9 @@ func encodeVarintPopulateThetest(dAtA []byte, v uint64) []byte { return dAtA } func (m *NidOptNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 @@ -26340,6 +28317,9 @@ func (m *NidOptNative) Size() (n int) { } func (m *NinOptNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -26396,6 +28376,9 @@ func (m *NinOptNative) Size() (n int) { } func (m *NidRepNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -26468,6 +28451,9 @@ func (m *NidRepNative) Size() (n int) { } func (m *NinRepNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -26540,6 +28526,9 @@ func (m *NinRepNative) Size() (n int) { } func (m *NidRepPackedNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -26612,6 +28601,9 @@ func (m *NidRepPackedNative) Size() (n int) { } func (m *NinRepPackedNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -26684,6 +28676,9 @@ func (m *NinRepPackedNative) Size() (n int) { } func (m *NidOptStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 @@ -26710,6 +28705,9 @@ func (m *NidOptStruct) Size() (n int) { } func (m *NinOptStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -26754,6 +28752,9 @@ func (m *NinOptStruct) Size() (n int) { } func (m *NidRepStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -26812,6 +28813,9 @@ func (m *NidRepStruct) Size() (n int) { } func (m *NinRepStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -26870,6 +28874,9 @@ func (m *NinRepStruct) Size() (n int) { } func (m *NidEmbeddedStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NidOptNative != nil { @@ -26886,6 +28893,9 @@ func (m *NidEmbeddedStruct) Size() (n int) { } func (m *NinEmbeddedStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NidOptNative != nil { @@ -26906,6 +28916,9 @@ func (m *NinEmbeddedStruct) Size() (n int) { } func (m *NidNestedStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Field1.Size() @@ -26923,6 +28936,9 @@ func (m *NidNestedStruct) Size() (n int) { } func (m *NinNestedStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -26942,6 +28958,9 @@ func (m *NinNestedStruct) Size() (n int) { } func (m *NidOptCustom) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Id.Size() @@ -26955,6 +28974,9 @@ func (m *NidOptCustom) Size() (n int) { } func (m *CustomDash) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != nil { @@ -26968,6 +28990,9 @@ func (m *CustomDash) Size() (n int) { } func (m *NinOptCustom) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Id != nil { @@ -26985,6 +29010,9 @@ func (m *NinOptCustom) Size() (n int) { } func (m *NidRepCustom) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Id) > 0 { @@ -27006,6 +29034,9 @@ func (m *NidRepCustom) Size() (n int) { } func (m *NinRepCustom) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Id) > 0 { @@ -27027,6 +29058,9 @@ func (m *NinRepCustom) Size() (n int) { } func (m *NinOptNativeUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27065,6 +29099,9 @@ func (m *NinOptNativeUnion) Size() (n int) { } func (m *NinOptStructUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27105,6 +29142,9 @@ func (m *NinOptStructUnion) Size() (n int) { } func (m *NinEmbeddedStructUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NidOptNative != nil { @@ -27125,6 +29165,9 @@ func (m *NinEmbeddedStructUnion) Size() (n int) { } func (m *NinNestedStructUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27146,6 +29189,9 @@ func (m *NinNestedStructUnion) Size() (n int) { } func (m *Tree) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Or != nil { @@ -27167,6 +29213,9 @@ func (m *Tree) Size() (n int) { } func (m *OrBranch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Left.Size() @@ -27180,6 +29229,9 @@ func (m *OrBranch) Size() (n int) { } func (m *AndBranch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Left.Size() @@ -27193,6 +29245,9 @@ func (m *AndBranch) Size() (n int) { } func (m *Leaf) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovThetest(uint64(m.Value)) @@ -27205,6 +29260,9 @@ func (m *Leaf) Size() (n int) { } func (m *DeepTree) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Down != nil { @@ -27226,6 +29284,9 @@ func (m *DeepTree) Size() (n int) { } func (m *ADeepBranch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Down.Size() @@ -27237,6 +29298,9 @@ func (m *ADeepBranch) Size() (n int) { } func (m *AndDeepBranch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Left.Size() @@ -27250,6 +29314,9 @@ func (m *AndDeepBranch) Size() (n int) { } func (m *DeepLeaf) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Tree.Size() @@ -27261,6 +29328,9 @@ func (m *DeepLeaf) Size() (n int) { } func (m *Nil) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.XXX_unrecognized != nil { @@ -27270,6 +29340,9 @@ func (m *Nil) Size() (n int) { } func (m *NidOptEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovThetest(uint64(m.Field1)) @@ -27280,6 +29353,9 @@ func (m *NidOptEnum) Size() (n int) { } func (m *NinOptEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27298,6 +29374,9 @@ func (m *NinOptEnum) Size() (n int) { } func (m *NidRepEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -27322,6 +29401,9 @@ func (m *NidRepEnum) Size() (n int) { } func (m *NinRepEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -27346,6 +29428,9 @@ func (m *NinRepEnum) Size() (n int) { } func (m *NinOptEnumDefault) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27364,6 +29449,9 @@ func (m *NinOptEnumDefault) Size() (n int) { } func (m *AnotherNinOptEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27382,6 +29470,9 @@ func (m *AnotherNinOptEnum) Size() (n int) { } func (m *AnotherNinOptEnumDefault) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27400,6 +29491,9 @@ func (m *AnotherNinOptEnumDefault) Size() (n int) { } func (m *Timer) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 @@ -27415,12 +29509,15 @@ func (m *Timer) Size() (n int) { } func (m *MyExtendable) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { n += 1 + sovThetest(uint64(*m.Field1)) } - n += proto.SizeOfInternalExtension(m) + n += github_com_gogo_protobuf_proto.SizeOfInternalExtension(m) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -27428,6 +29525,9 @@ func (m *MyExtendable) Size() (n int) { } func (m *OtherExtenable) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.M != nil { @@ -27440,7 +29540,7 @@ func (m *OtherExtenable) Size() (n int) { if m.Field13 != nil { n += 1 + sovThetest(uint64(*m.Field13)) } - n += proto.SizeOfInternalExtension(m) + n += github_com_gogo_protobuf_proto.SizeOfInternalExtension(m) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -27448,6 +29548,9 @@ func (m *OtherExtenable) Size() (n int) { } func (m *NestedDefinition) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27471,6 +29574,9 @@ func (m *NestedDefinition) Size() (n int) { } func (m *NestedDefinition_NestedMessage) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NestedField1 != nil { @@ -27487,6 +29593,9 @@ func (m *NestedDefinition_NestedMessage) Size() (n int) { } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NestedNestedField1 != nil { @@ -27500,6 +29609,9 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Size() (n int) { } func (m *NestedScope) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.A != nil { @@ -27520,6 +29632,9 @@ func (m *NestedScope) Size() (n int) { } func (m *NinOptNativeDefault) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27576,6 +29691,9 @@ func (m *NinOptNativeDefault) Size() (n int) { } func (m *CustomContainer) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.CustomStruct.Size() @@ -27587,6 +29705,9 @@ func (m *CustomContainer) Size() (n int) { } func (m *CustomNameNidOptNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 @@ -27615,6 +29736,9 @@ func (m *CustomNameNidOptNative) Size() (n int) { } func (m *CustomNameNinOptNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FieldA != nil { @@ -27671,6 +29795,9 @@ func (m *CustomNameNinOptNative) Size() (n int) { } func (m *CustomNameNinRepNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.FieldA) > 0 { @@ -27743,6 +29870,9 @@ func (m *CustomNameNinRepNative) Size() (n int) { } func (m *CustomNameNinStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FieldA != nil { @@ -27789,6 +29919,9 @@ func (m *CustomNameNinStruct) Size() (n int) { } func (m *CustomNameCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FieldA != nil { @@ -27818,6 +29951,9 @@ func (m *CustomNameCustomType) Size() (n int) { } func (m *CustomNameNinEmbeddedStructUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NidOptNative != nil { @@ -27838,6 +29974,9 @@ func (m *CustomNameNinEmbeddedStructUnion) Size() (n int) { } func (m *CustomNameEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FieldA != nil { @@ -27855,6 +29994,9 @@ func (m *CustomNameEnum) Size() (n int) { } func (m *NoExtensionsMap) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27870,6 +30012,9 @@ func (m *NoExtensionsMap) Size() (n int) { } func (m *Unrecognized) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27880,6 +30025,9 @@ func (m *Unrecognized) Size() (n int) { } func (m *UnrecognizedWithInner) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Embedded) > 0 { @@ -27899,6 +30047,9 @@ func (m *UnrecognizedWithInner) Size() (n int) { } func (m *UnrecognizedWithInner_Inner) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27908,6 +30059,9 @@ func (m *UnrecognizedWithInner_Inner) Size() (n int) { } func (m *UnrecognizedWithEmbed) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.UnrecognizedWithEmbed_Embedded.Size() @@ -27923,6 +30077,9 @@ func (m *UnrecognizedWithEmbed) Size() (n int) { } func (m *UnrecognizedWithEmbed_Embedded) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27932,6 +30089,9 @@ func (m *UnrecognizedWithEmbed_Embedded) Size() (n int) { } func (m *Node) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Label != nil { @@ -27951,6 +30111,9 @@ func (m *Node) Size() (n int) { } func (m *NonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27964,6 +30127,9 @@ func (m *NonByteCustomType) Size() (n int) { } func (m *NidOptNonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Field1.Size() @@ -27975,6 +30141,9 @@ func (m *NidOptNonByteCustomType) Size() (n int) { } func (m *NinOptNonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -27988,6 +30157,9 @@ func (m *NinOptNonByteCustomType) Size() (n int) { } func (m *NidRepNonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -28003,6 +30175,9 @@ func (m *NidRepNonByteCustomType) Size() (n int) { } func (m *NinRepNonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -28018,6 +30193,9 @@ func (m *NinRepNonByteCustomType) Size() (n int) { } func (m *ProtoType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field2 != nil { @@ -28656,7 +30834,7 @@ func (this *MyExtendable) String() string { } s := strings.Join([]string{`&MyExtendable{`, `Field1:` + valueToStringThetest(this.Field1) + `,`, - `XXX_InternalExtensions:` + proto.StringFromInternalExtension(this) + `,`, + `XXX_InternalExtensions:` + github_com_gogo_protobuf_proto.StringFromInternalExtension(this) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") @@ -28670,7 +30848,7 @@ func (this *OtherExtenable) String() string { `M:` + strings.Replace(fmt.Sprintf("%v", this.M), "MyExtendable", "MyExtendable", 1) + `,`, `Field2:` + valueToStringThetest(this.Field2) + `,`, `Field13:` + valueToStringThetest(this.Field13) + `,`, - `XXX_InternalExtensions:` + proto.StringFromInternalExtension(this) + `,`, + `XXX_InternalExtensions:` + github_com_gogo_protobuf_proto.StringFromInternalExtension(this) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") @@ -28902,7 +31080,7 @@ func (this *NoExtensionsMap) String() string { } s := strings.Join([]string{`&NoExtensionsMap{`, `Field1:` + valueToStringThetest(this.Field1) + `,`, - `XXX_extensions:` + proto.StringFromExtensionsBytes(this.XXX_extensions) + `,`, + `XXX_extensions:` + github_com_gogo_protobuf_proto.StringFromExtensionsBytes(this.XXX_extensions) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") @@ -29342,7 +31520,7 @@ func (m *NidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field1 = float64(math.Float64frombits(v)) case 2: @@ -29353,7 +31531,7 @@ func (m *NidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field2 = float32(math.Float32frombits(v)) case 3: @@ -29482,7 +31660,7 @@ func (m *NidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - m.Field9 = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + m.Field9 = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 case 10: if wireType != 5 { @@ -29492,7 +31670,7 @@ func (m *NidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - m.Field10 = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + m.Field10 = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 case 11: if wireType != 1 { @@ -29502,7 +31680,7 @@ func (m *NidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - m.Field11 = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + m.Field11 = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 case 12: if wireType != 1 { @@ -29512,7 +31690,7 @@ func (m *NidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - m.Field12 = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + m.Field12 = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 case 13: if wireType != 0 { @@ -29653,7 +31831,7 @@ func (m *NinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = &v2 @@ -29665,7 +31843,7 @@ func (m *NinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = &v2 @@ -29800,7 +31978,7 @@ func (m *NinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = &v case 10: @@ -29811,7 +31989,7 @@ func (m *NinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = &v case 11: @@ -29822,7 +32000,7 @@ func (m *NinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = &v case 12: @@ -29833,7 +32011,7 @@ func (m *NinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = &v case 13: @@ -29975,7 +32153,7 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -30002,12 +32180,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field1) == 0 { + m.Field1 = make([]float64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -30021,7 +32204,7 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -30048,12 +32231,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field2) == 0 { + m.Field2 = make([]float32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -30102,6 +32290,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field3) == 0 { + m.Field3 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -30164,6 +32363,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field4) == 0 { + m.Field4 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 for shift := uint(0); ; shift += 7 { @@ -30226,6 +32436,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field5) == 0 { + m.Field5 = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 for shift := uint(0); ; shift += 7 { @@ -30288,6 +32509,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field6) == 0 { + m.Field6 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -30351,6 +32583,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field7) == 0 { + m.Field7 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -30415,6 +32658,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field8) == 0 { + m.Field8 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -30443,7 +32697,7 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = append(m.Field9, v) } else if wireType == 2 { @@ -30469,12 +32723,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field9) == 0 { + m.Field9 = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = append(m.Field9, v) } @@ -30487,7 +32746,7 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = append(m.Field10, v) } else if wireType == 2 { @@ -30513,12 +32772,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field10) == 0 { + m.Field10 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = append(m.Field10, v) } @@ -30531,7 +32795,7 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = append(m.Field11, v) } else if wireType == 2 { @@ -30557,12 +32821,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field11) == 0 { + m.Field11 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = append(m.Field11, v) } @@ -30575,7 +32844,7 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = append(m.Field12, v) } else if wireType == 2 { @@ -30601,12 +32870,17 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field12) == 0 { + m.Field12 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = append(m.Field12, v) } @@ -30654,6 +32928,11 @@ func (m *NidRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Field13) == 0 { + m.Field13 = make([]bool, 0, elementCount) + } for iNdEx < postIndex { var v int for shift := uint(0); ; shift += 7 { @@ -30790,7 +33069,7 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -30817,12 +33096,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field1) == 0 { + m.Field1 = make([]float64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -30836,7 +33120,7 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -30863,12 +33147,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field2) == 0 { + m.Field2 = make([]float32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -30917,6 +33206,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field3) == 0 { + m.Field3 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -30979,6 +33279,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field4) == 0 { + m.Field4 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 for shift := uint(0); ; shift += 7 { @@ -31041,6 +33352,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field5) == 0 { + m.Field5 = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 for shift := uint(0); ; shift += 7 { @@ -31103,6 +33425,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field6) == 0 { + m.Field6 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -31166,6 +33499,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field7) == 0 { + m.Field7 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -31230,6 +33574,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field8) == 0 { + m.Field8 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -31258,7 +33613,7 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = append(m.Field9, v) } else if wireType == 2 { @@ -31284,12 +33639,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field9) == 0 { + m.Field9 = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = append(m.Field9, v) } @@ -31302,7 +33662,7 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = append(m.Field10, v) } else if wireType == 2 { @@ -31328,12 +33688,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field10) == 0 { + m.Field10 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = append(m.Field10, v) } @@ -31346,7 +33711,7 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = append(m.Field11, v) } else if wireType == 2 { @@ -31372,12 +33737,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field11) == 0 { + m.Field11 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = append(m.Field11, v) } @@ -31390,7 +33760,7 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = append(m.Field12, v) } else if wireType == 2 { @@ -31416,12 +33786,17 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field12) == 0 { + m.Field12 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = append(m.Field12, v) } @@ -31469,6 +33844,11 @@ func (m *NinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Field13) == 0 { + m.Field13 = make([]bool, 0, elementCount) + } for iNdEx < postIndex { var v int for shift := uint(0); ; shift += 7 { @@ -31605,7 +33985,7 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -31632,12 +34012,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field1) == 0 { + m.Field1 = make([]float64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -31651,7 +34036,7 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -31678,12 +34063,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field2) == 0 { + m.Field2 = make([]float32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -31732,6 +34122,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field3) == 0 { + m.Field3 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -31794,6 +34195,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field4) == 0 { + m.Field4 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 for shift := uint(0); ; shift += 7 { @@ -31856,6 +34268,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field5) == 0 { + m.Field5 = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 for shift := uint(0); ; shift += 7 { @@ -31918,6 +34341,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field6) == 0 { + m.Field6 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -31981,6 +34415,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field7) == 0 { + m.Field7 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -32045,6 +34490,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field8) == 0 { + m.Field8 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -32073,7 +34529,7 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = append(m.Field9, v) } else if wireType == 2 { @@ -32099,12 +34555,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field9) == 0 { + m.Field9 = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = append(m.Field9, v) } @@ -32117,7 +34578,7 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = append(m.Field10, v) } else if wireType == 2 { @@ -32143,12 +34604,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field10) == 0 { + m.Field10 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = append(m.Field10, v) } @@ -32161,7 +34627,7 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = append(m.Field11, v) } else if wireType == 2 { @@ -32187,12 +34653,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field11) == 0 { + m.Field11 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = append(m.Field11, v) } @@ -32205,7 +34676,7 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = append(m.Field12, v) } else if wireType == 2 { @@ -32231,12 +34702,17 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field12) == 0 { + m.Field12 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = append(m.Field12, v) } @@ -32284,6 +34760,11 @@ func (m *NidRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Field13) == 0 { + m.Field13 = make([]bool, 0, elementCount) + } for iNdEx < postIndex { var v int for shift := uint(0); ; shift += 7 { @@ -32362,7 +34843,7 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -32389,12 +34870,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field1) == 0 { + m.Field1 = make([]float64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -32408,7 +34894,7 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -32435,12 +34921,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field2) == 0 { + m.Field2 = make([]float32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -32489,6 +34980,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field3) == 0 { + m.Field3 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -32551,6 +35053,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field4) == 0 { + m.Field4 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 for shift := uint(0); ; shift += 7 { @@ -32613,6 +35126,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field5) == 0 { + m.Field5 = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 for shift := uint(0); ; shift += 7 { @@ -32675,6 +35199,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field6) == 0 { + m.Field6 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -32738,6 +35273,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field7) == 0 { + m.Field7 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -32802,6 +35348,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field8) == 0 { + m.Field8 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -32830,7 +35387,7 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = append(m.Field9, v) } else if wireType == 2 { @@ -32856,12 +35413,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field9) == 0 { + m.Field9 = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = append(m.Field9, v) } @@ -32874,7 +35436,7 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = append(m.Field10, v) } else if wireType == 2 { @@ -32900,12 +35462,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field10) == 0 { + m.Field10 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = append(m.Field10, v) } @@ -32918,7 +35485,7 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = append(m.Field11, v) } else if wireType == 2 { @@ -32944,12 +35511,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field11) == 0 { + m.Field11 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = append(m.Field11, v) } @@ -32962,7 +35534,7 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = append(m.Field12, v) } else if wireType == 2 { @@ -32988,12 +35560,17 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field12) == 0 { + m.Field12 = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = append(m.Field12, v) } @@ -33041,6 +35618,11 @@ func (m *NinRepPackedNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Field13) == 0 { + m.Field13 = make([]bool, 0, elementCount) + } for iNdEx < postIndex { var v int for shift := uint(0); ; shift += 7 { @@ -33121,7 +35703,7 @@ func (m *NidOptStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field1 = float64(math.Float64frombits(v)) case 2: @@ -33132,7 +35714,7 @@ func (m *NidOptStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field2 = float32(math.Float32frombits(v)) case 3: @@ -33404,7 +35986,7 @@ func (m *NinOptStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = &v2 @@ -33416,7 +35998,7 @@ func (m *NinOptStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = &v2 @@ -33699,7 +36281,7 @@ func (m *NidRepStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -33726,12 +36308,17 @@ func (m *NidRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field1) == 0 { + m.Field1 = make([]float64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -33745,7 +36332,7 @@ func (m *NidRepStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -33772,12 +36359,17 @@ func (m *NidRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field2) == 0 { + m.Field2 = make([]float32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -33888,6 +36480,17 @@ func (m *NidRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field6) == 0 { + m.Field6 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -33951,6 +36554,17 @@ func (m *NidRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field7) == 0 { + m.Field7 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -34045,6 +36659,11 @@ func (m *NidRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Field13) == 0 { + m.Field13 = make([]bool, 0, elementCount) + } for iNdEx < postIndex { var v int for shift := uint(0); ; shift += 7 { @@ -34181,7 +36800,7 @@ func (m *NinRepStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -34208,12 +36827,17 @@ func (m *NinRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.Field1) == 0 { + m.Field1 = make([]float64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = append(m.Field1, v2) @@ -34227,7 +36851,7 @@ func (m *NinRepStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -34254,12 +36878,17 @@ func (m *NinRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Field2) == 0 { + m.Field2 = make([]float32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = append(m.Field2, v2) @@ -34370,6 +36999,17 @@ func (m *NinRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field6) == 0 { + m.Field6 = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -34433,6 +37073,17 @@ func (m *NinRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Field7) == 0 { + m.Field7 = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -34527,6 +37178,11 @@ func (m *NinRepStruct) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.Field13) == 0 { + m.Field13 = make([]bool, 0, elementCount) + } for iNdEx < postIndex { var v int for shift := uint(0); ; shift += 7 { @@ -35703,7 +38359,7 @@ func (m *NinOptNativeUnion) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = &v2 @@ -35715,7 +38371,7 @@ func (m *NinOptNativeUnion) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = &v2 @@ -35940,7 +38596,7 @@ func (m *NinOptStructUnion) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = &v2 @@ -35952,7 +38608,7 @@ func (m *NinOptStructUnion) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = &v2 @@ -37651,6 +40307,10 @@ func (m *NidRepEnum) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + if elementCount != 0 && len(m.Field1) == 0 { + m.Field1 = make([]TheTestEnum, 0, elementCount) + } for iNdEx < postIndex { var v TheTestEnum for shift := uint(0); ; shift += 7 { @@ -37713,6 +40373,10 @@ func (m *NidRepEnum) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + if elementCount != 0 && len(m.Field2) == 0 { + m.Field2 = make([]YetAnotherTestEnum, 0, elementCount) + } for iNdEx < postIndex { var v YetAnotherTestEnum for shift := uint(0); ; shift += 7 { @@ -37775,6 +40439,10 @@ func (m *NidRepEnum) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + if elementCount != 0 && len(m.Field3) == 0 { + m.Field3 = make([]YetYetAnotherTestEnum, 0, elementCount) + } for iNdEx < postIndex { var v YetYetAnotherTestEnum for shift := uint(0); ; shift += 7 { @@ -37888,6 +40556,10 @@ func (m *NinRepEnum) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + if elementCount != 0 && len(m.Field1) == 0 { + m.Field1 = make([]TheTestEnum, 0, elementCount) + } for iNdEx < postIndex { var v TheTestEnum for shift := uint(0); ; shift += 7 { @@ -37950,6 +40622,10 @@ func (m *NinRepEnum) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + if elementCount != 0 && len(m.Field2) == 0 { + m.Field2 = make([]YetAnotherTestEnum, 0, elementCount) + } for iNdEx < postIndex { var v YetAnotherTestEnum for shift := uint(0); ; shift += 7 { @@ -38012,6 +40688,10 @@ func (m *NinRepEnum) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + if elementCount != 0 && len(m.Field3) == 0 { + m.Field3 = make([]YetYetAnotherTestEnum, 0, elementCount) + } for iNdEx < postIndex { var v YetYetAnotherTestEnum for shift := uint(0); ; shift += 7 { @@ -38425,7 +41105,7 @@ func (m *Timer) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - m.Time1 = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + m.Time1 = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 case 2: if wireType != 1 { @@ -38435,7 +41115,7 @@ func (m *Timer) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - m.Time2 = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + m.Time2 = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 case 3: if wireType != 2 { @@ -38560,7 +41240,7 @@ func (m *MyExtendable) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - proto.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy]) + github_com_gogo_protobuf_proto.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy]) iNdEx += skippy } else { iNdEx = preIndex @@ -38708,7 +41388,7 @@ func (m *OtherExtenable) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - proto.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy]) + github_com_gogo_protobuf_proto.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy]) iNdEx += skippy } else { iNdEx = preIndex @@ -38927,7 +41607,7 @@ func (m *NestedDefinition_NestedMessage) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.NestedField1 = &v case 2: @@ -39240,7 +41920,7 @@ func (m *NinOptNativeDefault) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.Field1 = &v2 @@ -39252,7 +41932,7 @@ func (m *NinOptNativeDefault) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.Field2 = &v2 @@ -39387,7 +42067,7 @@ func (m *NinOptNativeDefault) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field9 = &v case 10: @@ -39398,7 +42078,7 @@ func (m *NinOptNativeDefault) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Field10 = &v case 11: @@ -39409,7 +42089,7 @@ func (m *NinOptNativeDefault) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field11 = &v case 12: @@ -39420,7 +42100,7 @@ func (m *NinOptNativeDefault) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Field12 = &v case 13: @@ -39645,7 +42325,7 @@ func (m *CustomNameNidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.FieldA = float64(math.Float64frombits(v)) case 2: @@ -39656,7 +42336,7 @@ func (m *CustomNameNidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.FieldB = float32(math.Float32frombits(v)) case 3: @@ -39785,7 +42465,7 @@ func (m *CustomNameNidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - m.FieldI = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + m.FieldI = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 case 10: if wireType != 5 { @@ -39795,7 +42475,7 @@ func (m *CustomNameNidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - m.FieldJ = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + m.FieldJ = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 case 11: if wireType != 1 { @@ -39805,7 +42485,7 @@ func (m *CustomNameNidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - m.FieldK = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + m.FieldK = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 case 12: if wireType != 1 { @@ -39815,7 +42495,7 @@ func (m *CustomNameNidOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - m.FieldL = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + m.FieldL = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 case 13: if wireType != 0 { @@ -39956,7 +42636,7 @@ func (m *CustomNameNinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.FieldA = &v2 @@ -39968,7 +42648,7 @@ func (m *CustomNameNinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.FieldB = &v2 @@ -40103,7 +42783,7 @@ func (m *CustomNameNinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.FieldI = &v case 10: @@ -40114,7 +42794,7 @@ func (m *CustomNameNinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.FieldJ = &v case 11: @@ -40125,7 +42805,7 @@ func (m *CustomNameNinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.FieldK = &v case 12: @@ -40136,7 +42816,7 @@ func (m *CustomNameNinOptNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.FielL = &v case 13: @@ -40278,7 +42958,7 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.FieldA = append(m.FieldA, v2) @@ -40305,12 +42985,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.FieldA) == 0 { + m.FieldA = make([]float64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.FieldA = append(m.FieldA, v2) @@ -40324,7 +43009,7 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.FieldB = append(m.FieldB, v2) @@ -40351,12 +43036,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.FieldB) == 0 { + m.FieldB = make([]float32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.FieldB = append(m.FieldB, v2) @@ -40405,6 +43095,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.FieldC) == 0 { + m.FieldC = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -40467,6 +43168,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.FieldD) == 0 { + m.FieldD = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 for shift := uint(0); ; shift += 7 { @@ -40529,6 +43241,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.FieldE) == 0 { + m.FieldE = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 for shift := uint(0); ; shift += 7 { @@ -40591,6 +43314,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.FieldF) == 0 { + m.FieldF = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -40654,6 +43388,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.FieldG) == 0 { + m.FieldG = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 for shift := uint(0); ; shift += 7 { @@ -40718,6 +43463,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + var count int + for _, integer := range dAtA { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.FieldH) == 0 { + m.FieldH = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 for shift := uint(0); ; shift += 7 { @@ -40746,7 +43502,7 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.FieldI = append(m.FieldI, v) } else if wireType == 2 { @@ -40772,12 +43528,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.FieldI) == 0 { + m.FieldI = make([]uint32, 0, elementCount) + } for iNdEx < postIndex { var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.FieldI = append(m.FieldI, v) } @@ -40790,7 +43551,7 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.FieldJ = append(m.FieldJ, v) } else if wireType == 2 { @@ -40816,12 +43577,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.FieldJ) == 0 { + m.FieldJ = make([]int32, 0, elementCount) + } for iNdEx < postIndex { var v int32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = int32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.FieldJ = append(m.FieldJ, v) } @@ -40834,7 +43600,7 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.FieldK = append(m.FieldK, v) } else if wireType == 2 { @@ -40860,12 +43626,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.FieldK) == 0 { + m.FieldK = make([]uint64, 0, elementCount) + } for iNdEx < postIndex { var v uint64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.FieldK = append(m.FieldK, v) } @@ -40878,7 +43649,7 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.FieldL = append(m.FieldL, v) } else if wireType == 2 { @@ -40904,12 +43675,17 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen / 8 + if elementCount != 0 && len(m.FieldL) == 0 { + m.FieldL = make([]int64, 0, elementCount) + } for iNdEx < postIndex { var v int64 if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = int64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.FieldL = append(m.FieldL, v) } @@ -40957,6 +43733,11 @@ func (m *CustomNameNinRepNative) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + elementCount = packedLen + if elementCount != 0 && len(m.FieldM) == 0 { + m.FieldM = make([]bool, 0, elementCount) + } for iNdEx < postIndex { var v int for shift := uint(0); ; shift += 7 { @@ -41095,7 +43876,7 @@ func (m *CustomNameNinStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 v2 := float64(math.Float64frombits(v)) m.FieldA = &v2 @@ -41107,7 +43888,7 @@ func (m *CustomNameNinStruct) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 v2 := float32(math.Float32frombits(v)) m.FieldB = &v2 @@ -41760,6 +44541,10 @@ func (m *CustomNameEnum) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } + var elementCount int + if elementCount != 0 && len(m.FieldB) == 0 { + m.FieldB = make([]TheTestEnum, 0, elementCount) + } for iNdEx < postIndex { var v TheTestEnum for shift := uint(0); ; shift += 7 { @@ -41873,7 +44658,7 @@ func (m *NoExtensionsMap) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - proto.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy]) + github_com_gogo_protobuf_proto.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy]) iNdEx += skippy } else { iNdEx = preIndex @@ -43052,9 +45837,9 @@ var ( ErrIntOverflowThetest = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("combos/both/thetest.proto", fileDescriptorThetest) } +func init() { proto.RegisterFile("combos/both/thetest.proto", fileDescriptor_thetest_3e4f682cb8349b83) } -var fileDescriptorThetest = []byte{ +var fileDescriptor_thetest_3e4f682cb8349b83 = []byte{ // 3081 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4d, 0x6c, 0x1b, 0xc7, 0x15, 0xd6, 0xec, 0x50, 0x0a, 0xf5, 0x24, 0x4b, 0xf4, 0x26, 0x56, 0xb6, 0x8c, 0xba, 0xa2, 0x37, diff --git a/vendor/github.com/gogo/protobuf/test/combos/both/uuid.go b/vendor/github.com/gogo/protobuf/test/combos/both/uuid.go index ae349da4a..e5ac29760 100644 --- a/vendor/github.com/gogo/protobuf/test/combos/both/uuid.go +++ b/vendor/github.com/gogo/protobuf/test/combos/both/uuid.go @@ -47,6 +47,10 @@ func PutLittleEndianUint64(b []byte, offset int, v uint64) { type Uuid []byte +func (uuid Uuid) Bytes() []byte { + return uuid +} + func (uuid Uuid) Marshal() ([]byte, error) { if len(uuid) == 0 { return nil, nil diff --git a/vendor/github.com/gogo/protobuf/test/example/Makefile b/vendor/github.com/gogo/protobuf/test/example/Makefile index 251767a00..ececf09fe 100644 --- a/vendor/github.com/gogo/protobuf/test/example/Makefile +++ b/vendor/github.com/gogo/protobuf/test/example/Makefile @@ -27,4 +27,4 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. regenerate: - (protoc -I=. -I=$(GOPATH)/src -I=$(GOPATH)/src/github.com/gogo/protobuf/protobuf --gogo_out=. example.proto) + (protoc -I=. -I=$(GOPATH)/src/github.com/gogo/protobuf/protobuf -I=$(GOPATH)/src --gogo_out=. example.proto) diff --git a/vendor/github.com/gogo/protobuf/test/example/example.pb.go b/vendor/github.com/gogo/protobuf/test/example/example.pb.go index bd938d963..efd798ac9 100644 --- a/vendor/github.com/gogo/protobuf/test/example/example.pb.go +++ b/vendor/github.com/gogo/protobuf/test/example/example.pb.go @@ -1,21 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: example.proto -/* - Package test is a generated protocol buffer package. - - It is generated from these files: - example.proto - - It has these top-level messages: - A - B - C - U - E - R - CastType -*/ package test import proto "github.com/gogo/protobuf/proto" @@ -26,10 +11,11 @@ import _ "github.com/gogo/protobuf/gogoproto" import github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import gzip "compress/gzip" +import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" +import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" +import compress_gzip "compress/gzip" import bytes "bytes" -import ioutil "io/ioutil" +import io_ioutil "io/ioutil" import strings "strings" import reflect "reflect" @@ -48,34 +34,124 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type A struct { - Description string `protobuf:"bytes,1,opt,name=Description" json:"Description"` - Number int64 `protobuf:"varint,2,opt,name=Number" json:"Number"` - Id github_com_gogo_protobuf_test.Uuid `protobuf:"bytes,3,opt,name=Id,customtype=github.com/gogo/protobuf/test.Uuid" json:"Id"` - XXX_unrecognized []byte `json:"-"` + Description string `protobuf:"bytes,1,opt,name=Description" json:"Description"` + Number int64 `protobuf:"varint,2,opt,name=Number" json:"Number"` + Id github_com_gogo_protobuf_test.Uuid `protobuf:"bytes,3,opt,name=Id,customtype=github.com/gogo/protobuf/test.Uuid" json:"Id"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *A) Reset() { *m = A{} } -func (*A) ProtoMessage() {} -func (*A) Descriptor() ([]byte, []int) { return fileDescriptorExample, []int{0} } +func (m *A) Reset() { *m = A{} } +func (*A) ProtoMessage() {} +func (*A) Descriptor() ([]byte, []int) { + return fileDescriptor_example_32f420a2a58e4270, []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 (dst *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(dst, 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 { - A `protobuf:"bytes,1,opt,name=A,embedded=A" json:"A"` - G []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=G,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"G"` - XXX_unrecognized []byte `json:"-"` + A `protobuf:"bytes,1,opt,name=A,embedded=A" json:"A"` + G []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=G,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"G"` + 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 fileDescriptorExample, []int{1} } +func (m *B) Reset() { *m = B{} } +func (*B) ProtoMessage() {} +func (*B) Descriptor() ([]byte, []int) { + return fileDescriptor_example_32f420a2a58e4270, []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 (dst *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(dst, 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 C struct { - MySize *int64 `protobuf:"varint,1,opt,name=size" json:"size,omitempty"` - XXX_unrecognized []byte `json:"-"` + MySize *int64 `protobuf:"varint,1,opt,name=size" json:"size,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 fileDescriptorExample, []int{2} } +func (m *C) Reset() { *m = C{} } +func (*C) ProtoMessage() {} +func (*C) Descriptor() ([]byte, []int) { + return fileDescriptor_example_32f420a2a58e4270, []int{2} +} +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 (dst *C) XXX_Merge(src proto.Message) { + xxx_messageInfo_C.Merge(dst, 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 func (m *C) GetMySize() int64 { if m != nil && m.MySize != nil { @@ -85,14 +161,44 @@ func (m *C) GetMySize() int64 { } type U struct { - A *A `protobuf:"bytes,1,opt,name=A" json:"A,omitempty"` - B *B `protobuf:"bytes,2,opt,name=B" json:"B,omitempty"` - XXX_unrecognized []byte `json:"-"` + A *A `protobuf:"bytes,1,opt,name=A" json:"A,omitempty"` + B *B `protobuf:"bytes,2,opt,name=B" json:"B,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *U) Reset() { *m = U{} } -func (*U) ProtoMessage() {} -func (*U) Descriptor() ([]byte, []int) { return fileDescriptorExample, []int{3} } +func (m *U) Reset() { *m = U{} } +func (*U) ProtoMessage() {} +func (*U) Descriptor() ([]byte, []int) { + return fileDescriptor_example_32f420a2a58e4270, []int{3} +} +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 (dst *U) XXX_Merge(src proto.Message) { + xxx_messageInfo_U.Merge(dst, 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 func (m *U) GetA() *A { if m != nil { @@ -109,13 +215,17 @@ func (m *U) GetB() *B { } type E struct { - XXX_extensions []byte `protobuf:"bytes,0,opt" json:"-"` - XXX_unrecognized []byte `json:"-"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_extensions []byte `protobuf:"bytes,0,opt" json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *E) Reset() { *m = E{} } -func (*E) ProtoMessage() {} -func (*E) Descriptor() ([]byte, []int) { return fileDescriptorExample, []int{4} } +func (m *E) Reset() { *m = E{} } +func (*E) ProtoMessage() {} +func (*E) Descriptor() ([]byte, []int) { + return fileDescriptor_example_32f420a2a58e4270, []int{4} +} var extRange_E = []proto.ExtensionRange{ {Start: 1, End: 536870911}, @@ -130,14 +240,70 @@ func (m *E) GetExtensions() *[]byte { } return &m.XXX_extensions } - -type R struct { - Recognized *uint32 `protobuf:"varint,1,opt,name=recognized" json:"recognized,omitempty"` +func (m *E) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *E) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_E.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 (dst *E) XXX_Merge(src proto.Message) { + xxx_messageInfo_E.Merge(dst, src) +} +func (m *E) XXX_Size() int { + return m.Size() +} +func (m *E) XXX_DiscardUnknown() { + xxx_messageInfo_E.DiscardUnknown(m) } -func (m *R) Reset() { *m = R{} } -func (*R) ProtoMessage() {} -func (*R) Descriptor() ([]byte, []int) { return fileDescriptorExample, []int{5} } +var xxx_messageInfo_E proto.InternalMessageInfo + +type R struct { + Recognized *uint32 `protobuf:"varint,1,opt,name=recognized" json:"recognized,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *R) Reset() { *m = R{} } +func (*R) ProtoMessage() {} +func (*R) Descriptor() ([]byte, []int) { + return fileDescriptor_example_32f420a2a58e4270, []int{5} +} +func (m *R) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *R) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_R.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 (dst *R) XXX_Merge(src proto.Message) { + xxx_messageInfo_R.Merge(dst, src) +} +func (m *R) XXX_Size() int { + return m.Size() +} +func (m *R) XXX_DiscardUnknown() { + xxx_messageInfo_R.DiscardUnknown(m) +} + +var xxx_messageInfo_R proto.InternalMessageInfo func (m *R) GetRecognized() uint32 { if m != nil && m.Recognized != nil { @@ -147,13 +313,43 @@ func (m *R) GetRecognized() uint32 { } type CastType struct { - Int32 *int32 `protobuf:"varint,1,opt,name=Int32,casttype=int32" json:"Int32,omitempty"` - XXX_unrecognized []byte `json:"-"` + Int32 *int32 `protobuf:"varint,1,opt,name=Int32,casttype=int32" json:"Int32,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CastType) Reset() { *m = CastType{} } -func (*CastType) ProtoMessage() {} -func (*CastType) Descriptor() ([]byte, []int) { return fileDescriptorExample, []int{6} } +func (m *CastType) Reset() { *m = CastType{} } +func (*CastType) ProtoMessage() {} +func (*CastType) Descriptor() ([]byte, []int) { + return fileDescriptor_example_32f420a2a58e4270, []int{6} +} +func (m *CastType) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CastType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CastType.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 (dst *CastType) XXX_Merge(src proto.Message) { + xxx_messageInfo_CastType.Merge(dst, src) +} +func (m *CastType) XXX_Size() int { + return m.Size() +} +func (m *CastType) XXX_DiscardUnknown() { + xxx_messageInfo_CastType.DiscardUnknown(m) +} + +var xxx_messageInfo_CastType proto.InternalMessageInfo func (m *CastType) GetInt32() int32 { if m != nil && m.Int32 != nil { @@ -171,272 +367,279 @@ func init() { proto.RegisterType((*R)(nil), "test.R") proto.RegisterType((*CastType)(nil), "test.CastType") } -func (this *B) Description() (desc *descriptor.FileDescriptorSet) { +func (this *B) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ExampleDescription() } -func ExampleDescription() (desc *descriptor.FileDescriptorSet) { - d := &descriptor.FileDescriptorSet{} +func ExampleDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { + d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 3959 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x6b, 0x70, 0x1b, 0xd7, - 0x75, 0xd6, 0xe2, 0x41, 0x02, 0x07, 0x20, 0xb8, 0xbc, 0xa4, 0x24, 0x88, 0xb1, 0x49, 0x09, 0x7e, - 0x88, 0x92, 0x1d, 0x2a, 0x95, 0xf5, 0x5c, 0x35, 0x71, 0x01, 0x10, 0x62, 0xa0, 0xf2, 0x95, 0x05, - 0x19, 0x3f, 0x32, 0x9d, 0x9d, 0xe5, 0xe2, 0x12, 0x5c, 0x69, 0xb1, 0xbb, 0xd9, 0x5d, 0x48, 0xa2, - 0xa6, 0x3f, 0xd4, 0x71, 0x5f, 0x99, 0x4e, 0x9b, 0xbe, 0x66, 0x92, 0xb8, 0x8e, 0xeb, 0x74, 0xa6, - 0xb5, 0x9b, 0x3e, 0xd3, 0xb4, 0x69, 0xda, 0x3f, 0xcd, 0x9f, 0xb4, 0xfa, 0xd5, 0x71, 0xfe, 0x75, - 0x3a, 0x1d, 0x8d, 0xad, 0x7a, 0xa6, 0x2f, 0xb7, 0x71, 0x5b, 0xff, 0xc8, 0xd4, 0x7f, 0x3a, 0xf7, - 0xb5, 0x58, 0x3c, 0xa8, 0x05, 0x33, 0x63, 0xe7, 0x17, 0xb9, 0xe7, 0x9e, 0xef, 0xdb, 0x73, 0xcf, - 0x3d, 0xf7, 0x9c, 0x73, 0xef, 0x02, 0xbe, 0x7f, 0x19, 0x8e, 0xb7, 0x1c, 0xa7, 0x65, 0xe1, 0x33, - 0xae, 0xe7, 0x04, 0xce, 0x76, 0x67, 0xe7, 0x4c, 0x13, 0xfb, 0x86, 0x67, 0xba, 0x81, 0xe3, 0x2d, - 0x52, 0x19, 0x9a, 0x64, 0x1a, 0x8b, 0x42, 0xa3, 0xb4, 0x0a, 0x53, 0x57, 0x4d, 0x0b, 0x2f, 0x85, - 0x8a, 0x0d, 0x1c, 0xa0, 0x4b, 0x90, 0xda, 0x31, 0x2d, 0x5c, 0x94, 0x8e, 0x27, 0x17, 0x72, 0x67, - 0x1f, 0x5f, 0xec, 0x03, 0x2d, 0xf6, 0x22, 0x36, 0x88, 0x58, 0xa5, 0x88, 0xd2, 0x3b, 0x29, 0x98, - 0x1e, 0x32, 0x8a, 0x10, 0xa4, 0x6c, 0xbd, 0x4d, 0x18, 0xa5, 0x85, 0xac, 0x4a, 0xff, 0x47, 0x45, - 0x18, 0x77, 0x75, 0xe3, 0x86, 0xde, 0xc2, 0xc5, 0x04, 0x15, 0x8b, 0x47, 0x34, 0x07, 0xd0, 0xc4, - 0x2e, 0xb6, 0x9b, 0xd8, 0x36, 0xf6, 0x8a, 0xc9, 0xe3, 0xc9, 0x85, 0xac, 0x1a, 0x91, 0xa0, 0xa7, - 0x60, 0xca, 0xed, 0x6c, 0x5b, 0xa6, 0xa1, 0x45, 0xd4, 0xe0, 0x78, 0x72, 0x21, 0xad, 0xca, 0x6c, - 0x60, 0xa9, 0xab, 0x7c, 0x12, 0x26, 0x6f, 0x61, 0xfd, 0x46, 0x54, 0x35, 0x47, 0x55, 0x0b, 0x44, - 0x1c, 0x51, 0xac, 0x42, 0xbe, 0x8d, 0x7d, 0x5f, 0x6f, 0x61, 0x2d, 0xd8, 0x73, 0x71, 0x31, 0x45, - 0x67, 0x7f, 0x7c, 0x60, 0xf6, 0xfd, 0x33, 0xcf, 0x71, 0xd4, 0xe6, 0x9e, 0x8b, 0x51, 0x19, 0xb2, - 0xd8, 0xee, 0xb4, 0x19, 0x43, 0x7a, 0x1f, 0xff, 0xd5, 0xec, 0x4e, 0xbb, 0x9f, 0x25, 0x43, 0x60, - 0x9c, 0x62, 0xdc, 0xc7, 0xde, 0x4d, 0xd3, 0xc0, 0xc5, 0x31, 0x4a, 0x70, 0x72, 0x80, 0xa0, 0xc1, - 0xc6, 0xfb, 0x39, 0x04, 0x0e, 0x55, 0x21, 0x8b, 0x6f, 0x07, 0xd8, 0xf6, 0x4d, 0xc7, 0x2e, 0x8e, - 0x53, 0x92, 0x27, 0x86, 0xac, 0x22, 0xb6, 0x9a, 0xfd, 0x14, 0x5d, 0x1c, 0xba, 0x00, 0xe3, 0x8e, - 0x1b, 0x98, 0x8e, 0xed, 0x17, 0x33, 0xc7, 0xa5, 0x85, 0xdc, 0xd9, 0x47, 0x86, 0x06, 0xc2, 0x3a, - 0xd3, 0x51, 0x85, 0x32, 0xaa, 0x83, 0xec, 0x3b, 0x1d, 0xcf, 0xc0, 0x9a, 0xe1, 0x34, 0xb1, 0x66, - 0xda, 0x3b, 0x4e, 0x31, 0x4b, 0x09, 0xe6, 0x07, 0x27, 0x42, 0x15, 0xab, 0x4e, 0x13, 0xd7, 0xed, - 0x1d, 0x47, 0x2d, 0xf8, 0x3d, 0xcf, 0xe8, 0x08, 0x8c, 0xf9, 0x7b, 0x76, 0xa0, 0xdf, 0x2e, 0xe6, - 0x69, 0x84, 0xf0, 0xa7, 0xd2, 0x5f, 0x8d, 0xc1, 0xe4, 0x28, 0x21, 0x76, 0x05, 0xd2, 0x3b, 0x64, - 0x96, 0xc5, 0xc4, 0x41, 0x7c, 0xc0, 0x30, 0xbd, 0x4e, 0x1c, 0xfb, 0x21, 0x9d, 0x58, 0x86, 0x9c, - 0x8d, 0xfd, 0x00, 0x37, 0x59, 0x44, 0x24, 0x47, 0x8c, 0x29, 0x60, 0xa0, 0xc1, 0x90, 0x4a, 0xfd, - 0x50, 0x21, 0xf5, 0x3c, 0x4c, 0x86, 0x26, 0x69, 0x9e, 0x6e, 0xb7, 0x44, 0x6c, 0x9e, 0x89, 0xb3, - 0x64, 0xb1, 0x26, 0x70, 0x2a, 0x81, 0xa9, 0x05, 0xdc, 0xf3, 0x8c, 0x96, 0x00, 0x1c, 0x1b, 0x3b, - 0x3b, 0x5a, 0x13, 0x1b, 0x56, 0x31, 0xb3, 0x8f, 0x97, 0xd6, 0x89, 0xca, 0x80, 0x97, 0x1c, 0x26, - 0x35, 0x2c, 0x74, 0xb9, 0x1b, 0x6a, 0xe3, 0xfb, 0x44, 0xca, 0x2a, 0xdb, 0x64, 0x03, 0xd1, 0xb6, - 0x05, 0x05, 0x0f, 0x93, 0xb8, 0xc7, 0x4d, 0x3e, 0xb3, 0x2c, 0x35, 0x62, 0x31, 0x76, 0x66, 0x2a, - 0x87, 0xb1, 0x89, 0x4d, 0x78, 0xd1, 0x47, 0xf4, 0x18, 0x84, 0x02, 0x8d, 0x86, 0x15, 0xd0, 0x2c, - 0x94, 0x17, 0xc2, 0x35, 0xbd, 0x8d, 0x67, 0xef, 0x40, 0xa1, 0xd7, 0x3d, 0x68, 0x06, 0xd2, 0x7e, - 0xa0, 0x7b, 0x01, 0x8d, 0xc2, 0xb4, 0xca, 0x1e, 0x90, 0x0c, 0x49, 0x6c, 0x37, 0x69, 0x96, 0x4b, - 0xab, 0xe4, 0x5f, 0xf4, 0x13, 0xdd, 0x09, 0x27, 0xe9, 0x84, 0x9f, 0x1c, 0x5c, 0xd1, 0x1e, 0xe6, - 0xfe, 0x79, 0xcf, 0x5e, 0x84, 0x89, 0x9e, 0x09, 0x8c, 0xfa, 0xea, 0xd2, 0x4f, 0xc3, 0xe1, 0xa1, - 0xd4, 0xe8, 0x79, 0x98, 0xe9, 0xd8, 0xa6, 0x1d, 0x60, 0xcf, 0xf5, 0x30, 0x89, 0x58, 0xf6, 0xaa, - 0xe2, 0xbf, 0x8c, 0xef, 0x13, 0x73, 0x5b, 0x51, 0x6d, 0xc6, 0xa2, 0x4e, 0x77, 0x06, 0x85, 0xa7, - 0xb3, 0x99, 0x7f, 0x1d, 0x97, 0xef, 0xde, 0xbd, 0x7b, 0x37, 0x51, 0xfa, 0xf2, 0x18, 0xcc, 0x0c, - 0xdb, 0x33, 0x43, 0xb7, 0xef, 0x11, 0x18, 0xb3, 0x3b, 0xed, 0x6d, 0xec, 0x51, 0x27, 0xa5, 0x55, - 0xfe, 0x84, 0xca, 0x90, 0xb6, 0xf4, 0x6d, 0x6c, 0x15, 0x53, 0xc7, 0xa5, 0x85, 0xc2, 0xd9, 0xa7, - 0x46, 0xda, 0x95, 0x8b, 0x2b, 0x04, 0xa2, 0x32, 0x24, 0xfa, 0x14, 0xa4, 0x78, 0x8a, 0x26, 0x0c, - 0xa7, 0x47, 0x63, 0x20, 0x7b, 0x49, 0xa5, 0x38, 0xf4, 0x31, 0xc8, 0x92, 0xbf, 0x2c, 0x36, 0xc6, - 0xa8, 0xcd, 0x19, 0x22, 0x20, 0x71, 0x81, 0x66, 0x21, 0x43, 0xb7, 0x49, 0x13, 0x8b, 0xd2, 0x16, - 0x3e, 0x93, 0xc0, 0x6a, 0xe2, 0x1d, 0xbd, 0x63, 0x05, 0xda, 0x4d, 0xdd, 0xea, 0x60, 0x1a, 0xf0, - 0x59, 0x35, 0xcf, 0x85, 0x9f, 0x25, 0x32, 0x34, 0x0f, 0x39, 0xb6, 0xab, 0x4c, 0xbb, 0x89, 0x6f, - 0xd3, 0xec, 0x99, 0x56, 0xd9, 0x46, 0xab, 0x13, 0x09, 0x79, 0xfd, 0x75, 0xdf, 0xb1, 0x45, 0x68, - 0xd2, 0x57, 0x10, 0x01, 0x7d, 0xfd, 0xc5, 0xfe, 0xc4, 0xfd, 0xe8, 0xf0, 0xe9, 0xf5, 0xc7, 0x54, - 0xe9, 0x5b, 0x09, 0x48, 0xd1, 0x7c, 0x31, 0x09, 0xb9, 0xcd, 0x17, 0x36, 0x6a, 0xda, 0xd2, 0xfa, - 0x56, 0x65, 0xa5, 0x26, 0x4b, 0xa8, 0x00, 0x40, 0x05, 0x57, 0x57, 0xd6, 0xcb, 0x9b, 0x72, 0x22, - 0x7c, 0xae, 0xaf, 0x6d, 0x5e, 0x38, 0x27, 0x27, 0x43, 0xc0, 0x16, 0x13, 0xa4, 0xa2, 0x0a, 0xcf, - 0x9c, 0x95, 0xd3, 0x48, 0x86, 0x3c, 0x23, 0xa8, 0x3f, 0x5f, 0x5b, 0xba, 0x70, 0x4e, 0x1e, 0xeb, - 0x95, 0x3c, 0x73, 0x56, 0x1e, 0x47, 0x13, 0x90, 0xa5, 0x92, 0xca, 0xfa, 0xfa, 0x8a, 0x9c, 0x09, - 0x39, 0x1b, 0x9b, 0x6a, 0x7d, 0x6d, 0x59, 0xce, 0x86, 0x9c, 0xcb, 0xea, 0xfa, 0xd6, 0x86, 0x0c, - 0x21, 0xc3, 0x6a, 0xad, 0xd1, 0x28, 0x2f, 0xd7, 0xe4, 0x5c, 0xa8, 0x51, 0x79, 0x61, 0xb3, 0xd6, - 0x90, 0xf3, 0x3d, 0x66, 0x3d, 0x73, 0x56, 0x9e, 0x08, 0x5f, 0x51, 0x5b, 0xdb, 0x5a, 0x95, 0x0b, - 0x68, 0x0a, 0x26, 0xd8, 0x2b, 0x84, 0x11, 0x93, 0x7d, 0xa2, 0x0b, 0xe7, 0x64, 0xb9, 0x6b, 0x08, - 0x63, 0x99, 0xea, 0x11, 0x5c, 0x38, 0x27, 0xa3, 0x52, 0x15, 0xd2, 0x34, 0xba, 0x10, 0x82, 0xc2, - 0x4a, 0xb9, 0x52, 0x5b, 0xd1, 0xd6, 0x37, 0x36, 0xeb, 0xeb, 0x6b, 0xe5, 0x15, 0x59, 0xea, 0xca, - 0xd4, 0xda, 0x67, 0xb6, 0xea, 0x6a, 0x6d, 0x49, 0x4e, 0x44, 0x65, 0x1b, 0xb5, 0xf2, 0x66, 0x6d, - 0x49, 0x4e, 0x96, 0x0c, 0x98, 0x19, 0x96, 0x27, 0x87, 0xee, 0x8c, 0xc8, 0x12, 0x27, 0xf6, 0x59, - 0x62, 0xca, 0x35, 0xb0, 0xc4, 0xff, 0x9c, 0x80, 0xe9, 0x21, 0xb5, 0x62, 0xe8, 0x4b, 0x9e, 0x85, - 0x34, 0x0b, 0x51, 0x56, 0x3d, 0x4f, 0x0d, 0x2d, 0x3a, 0x34, 0x60, 0x07, 0x2a, 0x28, 0xc5, 0x45, - 0x3b, 0x88, 0xe4, 0x3e, 0x1d, 0x04, 0xa1, 0x18, 0xc8, 0xe9, 0x3f, 0x35, 0x90, 0xd3, 0x59, 0xd9, - 0xbb, 0x30, 0x4a, 0xd9, 0xa3, 0xb2, 0x83, 0xe5, 0xf6, 0xf4, 0x90, 0xdc, 0x7e, 0x05, 0xa6, 0x06, - 0x88, 0x46, 0xce, 0xb1, 0x2f, 0x49, 0x50, 0xdc, 0xcf, 0x39, 0x31, 0x99, 0x2e, 0xd1, 0x93, 0xe9, - 0xae, 0xf4, 0x7b, 0xf0, 0xc4, 0xfe, 0x8b, 0x30, 0xb0, 0xd6, 0xaf, 0x4b, 0x70, 0x64, 0x78, 0xa7, - 0x38, 0xd4, 0x86, 0x4f, 0xc1, 0x58, 0x1b, 0x07, 0xbb, 0x8e, 0xe8, 0x96, 0x9e, 0x1c, 0x52, 0x83, - 0xc9, 0x70, 0xff, 0x62, 0x73, 0x54, 0xb4, 0x88, 0x27, 0xf7, 0x6b, 0xf7, 0x98, 0x35, 0x03, 0x96, - 0x7e, 0x21, 0x01, 0x87, 0x87, 0x92, 0x0f, 0x35, 0xf4, 0x51, 0x00, 0xd3, 0x76, 0x3b, 0x01, 0xeb, - 0x88, 0x58, 0x82, 0xcd, 0x52, 0x09, 0x4d, 0x5e, 0x24, 0x79, 0x76, 0x82, 0x70, 0x3c, 0x49, 0xc7, - 0x81, 0x89, 0xa8, 0xc2, 0xa5, 0xae, 0xa1, 0x29, 0x6a, 0xe8, 0xdc, 0x3e, 0x33, 0x1d, 0x08, 0xcc, - 0x4f, 0x80, 0x6c, 0x58, 0x26, 0xb6, 0x03, 0xcd, 0x0f, 0x3c, 0xac, 0xb7, 0x4d, 0xbb, 0x45, 0x2b, - 0x48, 0x46, 0x49, 0xef, 0xe8, 0x96, 0x8f, 0xd5, 0x49, 0x36, 0xdc, 0x10, 0xa3, 0x04, 0x41, 0x03, - 0xc8, 0x8b, 0x20, 0xc6, 0x7a, 0x10, 0x6c, 0x38, 0x44, 0x94, 0xbe, 0x99, 0x81, 0x5c, 0xa4, 0xaf, - 0x46, 0x27, 0x20, 0x7f, 0x5d, 0xbf, 0xa9, 0x6b, 0xe2, 0xac, 0xc4, 0x3c, 0x91, 0x23, 0xb2, 0x0d, - 0x7e, 0x5e, 0xfa, 0x04, 0xcc, 0x50, 0x15, 0xa7, 0x13, 0x60, 0x4f, 0x33, 0x2c, 0xdd, 0xf7, 0xa9, - 0xd3, 0x32, 0x54, 0x15, 0x91, 0xb1, 0x75, 0x32, 0x54, 0x15, 0x23, 0xe8, 0x3c, 0x4c, 0x53, 0x44, - 0xbb, 0x63, 0x05, 0xa6, 0x6b, 0x61, 0x8d, 0x9c, 0xde, 0x7c, 0x5a, 0x49, 0x42, 0xcb, 0xa6, 0x88, - 0xc6, 0x2a, 0x57, 0x20, 0x16, 0xf9, 0x68, 0x09, 0x1e, 0xa5, 0xb0, 0x16, 0xb6, 0xb1, 0xa7, 0x07, - 0x58, 0xc3, 0x9f, 0xef, 0xe8, 0x96, 0xaf, 0xe9, 0x76, 0x53, 0xdb, 0xd5, 0xfd, 0xdd, 0xe2, 0x0c, - 0x21, 0xa8, 0x24, 0x8a, 0x92, 0x7a, 0x8c, 0x28, 0x2e, 0x73, 0xbd, 0x1a, 0x55, 0x2b, 0xdb, 0xcd, - 0x4f, 0xeb, 0xfe, 0x2e, 0x52, 0xe0, 0x08, 0x65, 0xf1, 0x03, 0xcf, 0xb4, 0x5b, 0x9a, 0xb1, 0x8b, - 0x8d, 0x1b, 0x5a, 0x27, 0xd8, 0xb9, 0x54, 0xfc, 0x58, 0xf4, 0xfd, 0xd4, 0xc2, 0x06, 0xd5, 0xa9, - 0x12, 0x95, 0xad, 0x60, 0xe7, 0x12, 0x6a, 0x40, 0x9e, 0x2c, 0x46, 0xdb, 0xbc, 0x83, 0xb5, 0x1d, - 0xc7, 0xa3, 0xa5, 0xb1, 0x30, 0x24, 0x35, 0x45, 0x3c, 0xb8, 0xb8, 0xce, 0x01, 0xab, 0x4e, 0x13, - 0x2b, 0xe9, 0xc6, 0x46, 0xad, 0xb6, 0xa4, 0xe6, 0x04, 0xcb, 0x55, 0xc7, 0x23, 0x01, 0xd5, 0x72, - 0x42, 0x07, 0xe7, 0x58, 0x40, 0xb5, 0x1c, 0xe1, 0xde, 0xf3, 0x30, 0x6d, 0x18, 0x6c, 0xce, 0xa6, - 0xa1, 0xf1, 0x33, 0x96, 0x5f, 0x94, 0x7b, 0x9c, 0x65, 0x18, 0xcb, 0x4c, 0x81, 0xc7, 0xb8, 0x8f, - 0x2e, 0xc3, 0xe1, 0xae, 0xb3, 0xa2, 0xc0, 0xa9, 0x81, 0x59, 0xf6, 0x43, 0xcf, 0xc3, 0xb4, 0xbb, - 0x37, 0x08, 0x44, 0x3d, 0x6f, 0x74, 0xf7, 0xfa, 0x61, 0x17, 0x61, 0xc6, 0xdd, 0x75, 0x07, 0x71, - 0xa7, 0xa3, 0x38, 0xe4, 0xee, 0xba, 0xfd, 0xc0, 0x27, 0xe8, 0x81, 0xdb, 0xc3, 0x86, 0x1e, 0xe0, - 0x66, 0xf1, 0x68, 0x54, 0x3d, 0x32, 0x80, 0xce, 0x80, 0x6c, 0x18, 0x1a, 0xb6, 0xf5, 0x6d, 0x0b, - 0x6b, 0xba, 0x87, 0x6d, 0xdd, 0x2f, 0xce, 0x47, 0x95, 0x0b, 0x86, 0x51, 0xa3, 0xa3, 0x65, 0x3a, - 0x88, 0x4e, 0xc3, 0x94, 0xb3, 0x7d, 0xdd, 0x60, 0x21, 0xa9, 0xb9, 0x1e, 0xde, 0x31, 0x6f, 0x17, - 0x1f, 0xa7, 0xfe, 0x9d, 0x24, 0x03, 0x34, 0x20, 0x37, 0xa8, 0x18, 0x9d, 0x02, 0xd9, 0xf0, 0x77, - 0x75, 0xcf, 0xa5, 0x39, 0xd9, 0x77, 0x75, 0x03, 0x17, 0x9f, 0x60, 0xaa, 0x4c, 0xbe, 0x26, 0xc4, - 0x64, 0x4b, 0xf8, 0xb7, 0xcc, 0x9d, 0x40, 0x30, 0x9e, 0x64, 0x5b, 0x82, 0xca, 0x38, 0xdb, 0x02, - 0xc8, 0xc4, 0x15, 0x3d, 0x2f, 0x5e, 0xa0, 0x6a, 0x05, 0x77, 0xd7, 0x8d, 0xbe, 0xf7, 0x31, 0x98, - 0x20, 0x9a, 0xdd, 0x97, 0x9e, 0x62, 0x0d, 0x99, 0xbb, 0x1b, 0x79, 0xe3, 0x87, 0xd6, 0x1b, 0x97, - 0x14, 0xc8, 0x47, 0xe3, 0x13, 0x65, 0x81, 0x45, 0xa8, 0x2c, 0x91, 0x66, 0xa5, 0xba, 0xbe, 0x44, - 0xda, 0x8c, 0x17, 0x6b, 0x72, 0x82, 0xb4, 0x3b, 0x2b, 0xf5, 0xcd, 0x9a, 0xa6, 0x6e, 0xad, 0x6d, - 0xd6, 0x57, 0x6b, 0x72, 0x32, 0xda, 0x57, 0x7f, 0x37, 0x01, 0x85, 0xde, 0x23, 0x12, 0xfa, 0x71, - 0x38, 0x2a, 0xee, 0x33, 0x7c, 0x1c, 0x68, 0xb7, 0x4c, 0x8f, 0x6e, 0x99, 0xb6, 0xce, 0xca, 0x57, - 0xb8, 0x68, 0x33, 0x5c, 0xab, 0x81, 0x83, 0xe7, 0x4c, 0x8f, 0x6c, 0x88, 0xb6, 0x1e, 0xa0, 0x15, - 0x98, 0xb7, 0x1d, 0xcd, 0x0f, 0x74, 0xbb, 0xa9, 0x7b, 0x4d, 0xad, 0x7b, 0x93, 0xa4, 0xe9, 0x86, - 0x81, 0x7d, 0xdf, 0x61, 0xa5, 0x2a, 0x64, 0x79, 0xc4, 0x76, 0x1a, 0x5c, 0xb9, 0x9b, 0xc3, 0xcb, - 0x5c, 0xb5, 0x2f, 0xc0, 0x92, 0xfb, 0x05, 0xd8, 0xc7, 0x20, 0xdb, 0xd6, 0x5d, 0x0d, 0xdb, 0x81, - 0xb7, 0x47, 0x1b, 0xe3, 0x8c, 0x9a, 0x69, 0xeb, 0x6e, 0x8d, 0x3c, 0x7f, 0x34, 0xe7, 0x93, 0x7f, - 0x4a, 0x42, 0x3e, 0xda, 0x1c, 0x93, 0xb3, 0x86, 0x41, 0xeb, 0x88, 0x44, 0x33, 0xcd, 0x63, 0x0f, - 0x6d, 0xa5, 0x17, 0xab, 0xa4, 0xc0, 0x28, 0x63, 0xac, 0x65, 0x55, 0x19, 0x92, 0x14, 0x77, 0x92, - 0x5b, 0x30, 0x6b, 0x11, 0x32, 0x2a, 0x7f, 0x42, 0xcb, 0x30, 0x76, 0xdd, 0xa7, 0xdc, 0x63, 0x94, - 0xfb, 0xf1, 0x87, 0x73, 0x5f, 0x6b, 0x50, 0xf2, 0xec, 0xb5, 0x86, 0xb6, 0xb6, 0xae, 0xae, 0x96, - 0x57, 0x54, 0x0e, 0x47, 0xc7, 0x20, 0x65, 0xe9, 0x77, 0xf6, 0x7a, 0x4b, 0x11, 0x15, 0x8d, 0xea, - 0xf8, 0x63, 0x90, 0xba, 0x85, 0xf5, 0x1b, 0xbd, 0x05, 0x80, 0x8a, 0x3e, 0xc4, 0xd0, 0x3f, 0x03, - 0x69, 0xea, 0x2f, 0x04, 0xc0, 0x3d, 0x26, 0x1f, 0x42, 0x19, 0x48, 0x55, 0xd7, 0x55, 0x12, 0xfe, - 0x32, 0xe4, 0x99, 0x54, 0xdb, 0xa8, 0xd7, 0xaa, 0x35, 0x39, 0x51, 0x3a, 0x0f, 0x63, 0xcc, 0x09, - 0x64, 0x6b, 0x84, 0x6e, 0x90, 0x0f, 0xf1, 0x47, 0xce, 0x21, 0x89, 0xd1, 0xad, 0xd5, 0x4a, 0x4d, - 0x95, 0x13, 0xd1, 0xe5, 0xf5, 0x21, 0x1f, 0xed, 0x8b, 0x3f, 0x9a, 0x98, 0xfa, 0x6b, 0x09, 0x72, - 0x91, 0x3e, 0x97, 0x34, 0x28, 0xba, 0x65, 0x39, 0xb7, 0x34, 0xdd, 0x32, 0x75, 0x9f, 0x07, 0x05, - 0x50, 0x51, 0x99, 0x48, 0x46, 0x5d, 0xb4, 0x8f, 0xc4, 0xf8, 0x57, 0x25, 0x90, 0xfb, 0x5b, 0xcc, - 0x3e, 0x03, 0xa5, 0x1f, 0xa9, 0x81, 0xaf, 0x48, 0x50, 0xe8, 0xed, 0x2b, 0xfb, 0xcc, 0x3b, 0xf1, - 0x23, 0x35, 0xef, 0xad, 0x04, 0x4c, 0xf4, 0x74, 0x93, 0xa3, 0x5a, 0xf7, 0x79, 0x98, 0x32, 0x9b, - 0xb8, 0xed, 0x3a, 0x01, 0xb6, 0x8d, 0x3d, 0xcd, 0xc2, 0x37, 0xb1, 0x55, 0x2c, 0xd1, 0x44, 0x71, - 0xe6, 0xe1, 0xfd, 0xea, 0x62, 0xbd, 0x8b, 0x5b, 0x21, 0x30, 0x65, 0xba, 0xbe, 0x54, 0x5b, 0xdd, - 0x58, 0xdf, 0xac, 0xad, 0x55, 0x5f, 0xd0, 0xb6, 0xd6, 0x7e, 0x72, 0x6d, 0xfd, 0xb9, 0x35, 0x55, - 0x36, 0xfb, 0xd4, 0x3e, 0xc4, 0xad, 0xbe, 0x01, 0x72, 0xbf, 0x51, 0xe8, 0x28, 0x0c, 0x33, 0x4b, - 0x3e, 0x84, 0xa6, 0x61, 0x72, 0x6d, 0x5d, 0x6b, 0xd4, 0x97, 0x6a, 0x5a, 0xed, 0xea, 0xd5, 0x5a, - 0x75, 0xb3, 0xc1, 0x6e, 0x20, 0x42, 0xed, 0xcd, 0xde, 0x4d, 0xfd, 0x72, 0x12, 0xa6, 0x87, 0x58, - 0x82, 0xca, 0xfc, 0xec, 0xc0, 0x8e, 0x33, 0x1f, 0x1f, 0xc5, 0xfa, 0x45, 0x52, 0xf2, 0x37, 0x74, - 0x2f, 0xe0, 0x47, 0x8d, 0x53, 0x40, 0xbc, 0x64, 0x07, 0xe6, 0x8e, 0x89, 0x3d, 0x7e, 0x61, 0xc3, - 0x0e, 0x14, 0x93, 0x5d, 0x39, 0xbb, 0xb3, 0x79, 0x1a, 0x90, 0xeb, 0xf8, 0x66, 0x60, 0xde, 0xc4, - 0x9a, 0x69, 0x8b, 0xdb, 0x1d, 0x72, 0xc0, 0x48, 0xa9, 0xb2, 0x18, 0xa9, 0xdb, 0x41, 0xa8, 0x6d, - 0xe3, 0x96, 0xde, 0xa7, 0x4d, 0x12, 0x78, 0x52, 0x95, 0xc5, 0x48, 0xa8, 0x7d, 0x02, 0xf2, 0x4d, - 0xa7, 0x43, 0xba, 0x2e, 0xa6, 0x47, 0xea, 0x85, 0xa4, 0xe6, 0x98, 0x2c, 0x54, 0xe1, 0xfd, 0x74, - 0xf7, 0x5a, 0x29, 0xaf, 0xe6, 0x98, 0x8c, 0xa9, 0x9c, 0x84, 0x49, 0xbd, 0xd5, 0xf2, 0x08, 0xb9, - 0x20, 0x62, 0x27, 0x84, 0x42, 0x28, 0xa6, 0x8a, 0xb3, 0xd7, 0x20, 0x23, 0xfc, 0x40, 0x4a, 0x32, - 0xf1, 0x84, 0xe6, 0xb2, 0x63, 0x6f, 0x62, 0x21, 0xab, 0x66, 0x6c, 0x31, 0x78, 0x02, 0xf2, 0xa6, - 0xaf, 0x75, 0x6f, 0xc9, 0x13, 0xc7, 0x13, 0x0b, 0x19, 0x35, 0x67, 0xfa, 0xe1, 0x0d, 0x63, 0xe9, - 0xf5, 0x04, 0x14, 0x7a, 0x6f, 0xf9, 0xd1, 0x12, 0x64, 0x2c, 0xc7, 0xd0, 0x69, 0x68, 0xb1, 0x4f, - 0x4c, 0x0b, 0x31, 0x1f, 0x06, 0x16, 0x57, 0xb8, 0xbe, 0x1a, 0x22, 0x67, 0xff, 0x5e, 0x82, 0x8c, - 0x10, 0xa3, 0x23, 0x90, 0x72, 0xf5, 0x60, 0x97, 0xd2, 0xa5, 0x2b, 0x09, 0x59, 0x52, 0xe9, 0x33, - 0x91, 0xfb, 0xae, 0x6e, 0xd3, 0x10, 0xe0, 0x72, 0xf2, 0x4c, 0xd6, 0xd5, 0xc2, 0x7a, 0x93, 0x1e, - 0x3f, 0x9c, 0x76, 0x1b, 0xdb, 0x81, 0x2f, 0xd6, 0x95, 0xcb, 0xab, 0x5c, 0x8c, 0x9e, 0x82, 0xa9, - 0xc0, 0xd3, 0x4d, 0xab, 0x47, 0x37, 0x45, 0x75, 0x65, 0x31, 0x10, 0x2a, 0x2b, 0x70, 0x4c, 0xf0, - 0x36, 0x71, 0xa0, 0x1b, 0xbb, 0xb8, 0xd9, 0x05, 0x8d, 0xd1, 0x6b, 0x86, 0xa3, 0x5c, 0x61, 0x89, - 0x8f, 0x0b, 0x6c, 0xe9, 0x7b, 0x12, 0x4c, 0x89, 0x03, 0x53, 0x33, 0x74, 0xd6, 0x2a, 0x80, 0x6e, - 0xdb, 0x4e, 0x10, 0x75, 0xd7, 0x60, 0x28, 0x0f, 0xe0, 0x16, 0xcb, 0x21, 0x48, 0x8d, 0x10, 0xcc, - 0xb6, 0x01, 0xba, 0x23, 0xfb, 0xba, 0x6d, 0x1e, 0x72, 0xfc, 0x13, 0x0e, 0xfd, 0x0e, 0xc8, 0x8e, - 0xd8, 0xc0, 0x44, 0xe4, 0x64, 0x85, 0x66, 0x20, 0xbd, 0x8d, 0x5b, 0xa6, 0xcd, 0x2f, 0x66, 0xd9, - 0x83, 0xb8, 0x08, 0x49, 0x85, 0x17, 0x21, 0x95, 0xcf, 0xc1, 0xb4, 0xe1, 0xb4, 0xfb, 0xcd, 0xad, - 0xc8, 0x7d, 0xc7, 0x7c, 0xff, 0xd3, 0xd2, 0x8b, 0xd0, 0x6d, 0x31, 0x7f, 0x20, 0x49, 0xbf, 0x93, - 0x48, 0x2e, 0x6f, 0x54, 0xbe, 0x9e, 0x98, 0x5d, 0x66, 0xd0, 0x0d, 0x31, 0x53, 0x15, 0xef, 0x58, - 0xd8, 0x20, 0xd6, 0xc3, 0x97, 0x4e, 0xc2, 0xc7, 0x5b, 0x66, 0xb0, 0xdb, 0xd9, 0x5e, 0x34, 0x9c, - 0xf6, 0x99, 0x96, 0xd3, 0x72, 0xba, 0x9f, 0x3e, 0xc9, 0x13, 0x7d, 0xa0, 0xff, 0xf1, 0xcf, 0x9f, - 0xd9, 0x50, 0x3a, 0x1b, 0xfb, 0xad, 0x54, 0x59, 0x83, 0x69, 0xae, 0xac, 0xd1, 0xef, 0x2f, 0xec, - 0x14, 0x81, 0x1e, 0x7a, 0x87, 0x55, 0xfc, 0xc6, 0x3b, 0xb4, 0x5c, 0xab, 0x53, 0x1c, 0x4a, 0xc6, - 0xd8, 0x41, 0x43, 0x51, 0xe1, 0x70, 0x0f, 0x1f, 0xdb, 0x9a, 0xd8, 0x8b, 0x61, 0xfc, 0x2e, 0x67, - 0x9c, 0x8e, 0x30, 0x36, 0x38, 0x54, 0xa9, 0xc2, 0xc4, 0x41, 0xb8, 0xfe, 0x96, 0x73, 0xe5, 0x71, - 0x94, 0x64, 0x19, 0x26, 0x29, 0x89, 0xd1, 0xf1, 0x03, 0xa7, 0x4d, 0xf3, 0xde, 0xc3, 0x69, 0xfe, - 0xee, 0x1d, 0xb6, 0x57, 0x0a, 0x04, 0x56, 0x0d, 0x51, 0x8a, 0x02, 0xf4, 0x93, 0x53, 0x13, 0x1b, - 0x56, 0x0c, 0xc3, 0x3d, 0x6e, 0x48, 0xa8, 0xaf, 0x7c, 0x16, 0x66, 0xc8, 0xff, 0x34, 0x2d, 0x45, - 0x2d, 0x89, 0xbf, 0xf0, 0x2a, 0x7e, 0xef, 0x25, 0xb6, 0x1d, 0xa7, 0x43, 0x82, 0x88, 0x4d, 0x91, - 0x55, 0x6c, 0xe1, 0x20, 0xc0, 0x9e, 0xaf, 0xe9, 0xd6, 0x30, 0xf3, 0x22, 0x37, 0x06, 0xc5, 0xaf, - 0xbc, 0xdb, 0xbb, 0x8a, 0xcb, 0x0c, 0x59, 0xb6, 0x2c, 0x65, 0x0b, 0x8e, 0x0e, 0x89, 0x8a, 0x11, - 0x38, 0x5f, 0xe6, 0x9c, 0x33, 0x03, 0x91, 0x41, 0x68, 0x37, 0x40, 0xc8, 0xc3, 0xb5, 0x1c, 0x81, - 0xf3, 0xb7, 0x38, 0x27, 0xe2, 0x58, 0xb1, 0xa4, 0x84, 0xf1, 0x1a, 0x4c, 0xdd, 0xc4, 0xde, 0xb6, - 0xe3, 0xf3, 0x5b, 0x9a, 0x11, 0xe8, 0x5e, 0xe1, 0x74, 0x93, 0x1c, 0x48, 0xaf, 0x6d, 0x08, 0xd7, - 0x65, 0xc8, 0xec, 0xe8, 0x06, 0x1e, 0x81, 0xe2, 0xab, 0x9c, 0x62, 0x9c, 0xe8, 0x13, 0x68, 0x19, - 0xf2, 0x2d, 0x87, 0x57, 0xa6, 0x78, 0xf8, 0xab, 0x1c, 0x9e, 0x13, 0x18, 0x4e, 0xe1, 0x3a, 0x6e, - 0xc7, 0x22, 0x65, 0x2b, 0x9e, 0xe2, 0xb7, 0x05, 0x85, 0xc0, 0x70, 0x8a, 0x03, 0xb8, 0xf5, 0x35, - 0x41, 0xe1, 0x47, 0xfc, 0xf9, 0x2c, 0xe4, 0x1c, 0xdb, 0xda, 0x73, 0xec, 0x51, 0x8c, 0xf8, 0x1a, - 0x67, 0x00, 0x0e, 0x21, 0x04, 0x57, 0x20, 0x3b, 0xea, 0x42, 0xfc, 0xee, 0xbb, 0x62, 0x7b, 0x88, - 0x15, 0x58, 0x86, 0x49, 0x91, 0xa0, 0x4c, 0xc7, 0x1e, 0x81, 0xe2, 0xf7, 0x38, 0x45, 0x21, 0x02, - 0xe3, 0xd3, 0x08, 0xb0, 0x1f, 0xb4, 0xf0, 0x28, 0x24, 0xaf, 0x8b, 0x69, 0x70, 0x08, 0x77, 0xe5, - 0x36, 0xb6, 0x8d, 0xdd, 0xd1, 0x18, 0xde, 0x10, 0xae, 0x14, 0x18, 0x42, 0x51, 0x85, 0x89, 0xb6, - 0xee, 0xf9, 0xbb, 0xba, 0x35, 0xd2, 0x72, 0xfc, 0x3e, 0xe7, 0xc8, 0x87, 0x20, 0xee, 0x91, 0x8e, - 0x7d, 0x10, 0x9a, 0xaf, 0x0b, 0x8f, 0x44, 0x60, 0x7c, 0xeb, 0xf9, 0x01, 0xbd, 0xd2, 0x3a, 0x08, - 0xdb, 0x1f, 0x88, 0xad, 0xc7, 0xb0, 0xab, 0x51, 0xc6, 0x2b, 0x90, 0xf5, 0xcd, 0x3b, 0x23, 0xd1, - 0xfc, 0xa1, 0x58, 0x69, 0x0a, 0x20, 0xe0, 0x17, 0xe0, 0xd8, 0xd0, 0x32, 0x31, 0x02, 0xd9, 0x1f, - 0x71, 0xb2, 0x23, 0x43, 0x4a, 0x05, 0x4f, 0x09, 0x07, 0xa5, 0xfc, 0x63, 0x91, 0x12, 0x70, 0x1f, - 0xd7, 0x06, 0x39, 0x2b, 0xf8, 0xfa, 0xce, 0xc1, 0xbc, 0xf6, 0x27, 0xc2, 0x6b, 0x0c, 0xdb, 0xe3, - 0xb5, 0x4d, 0x38, 0xc2, 0x19, 0x0f, 0xb6, 0xae, 0x7f, 0x2a, 0x12, 0x2b, 0x43, 0x6f, 0xf5, 0xae, - 0xee, 0xe7, 0x60, 0x36, 0x74, 0xa7, 0x68, 0x4a, 0x7d, 0xad, 0xad, 0xbb, 0x23, 0x30, 0x7f, 0x83, - 0x33, 0x8b, 0x8c, 0x1f, 0x76, 0xb5, 0xfe, 0xaa, 0xee, 0x12, 0xf2, 0xe7, 0xa1, 0x28, 0xc8, 0x3b, - 0xb6, 0x87, 0x0d, 0xa7, 0x65, 0x9b, 0x77, 0x70, 0x73, 0x04, 0xea, 0x3f, 0xeb, 0x5b, 0xaa, 0xad, - 0x08, 0x9c, 0x30, 0xd7, 0x41, 0x0e, 0x7b, 0x15, 0xcd, 0x6c, 0xbb, 0x8e, 0x17, 0xc4, 0x30, 0x7e, - 0x53, 0xac, 0x54, 0x88, 0xab, 0x53, 0x98, 0x52, 0x83, 0x02, 0x7d, 0x1c, 0x35, 0x24, 0xff, 0x9c, - 0x13, 0x4d, 0x74, 0x51, 0x3c, 0x71, 0x18, 0x4e, 0xdb, 0xd5, 0xbd, 0x51, 0xf2, 0xdf, 0x5f, 0x88, - 0xc4, 0xc1, 0x21, 0x3c, 0x71, 0x04, 0x7b, 0x2e, 0x26, 0xd5, 0x7e, 0x04, 0x86, 0x6f, 0x89, 0xc4, - 0x21, 0x30, 0x9c, 0x42, 0x34, 0x0c, 0x23, 0x50, 0xfc, 0xa5, 0xa0, 0x10, 0x18, 0x42, 0xf1, 0x99, - 0x6e, 0xa1, 0xf5, 0x70, 0xcb, 0xf4, 0x03, 0x8f, 0xb5, 0xc2, 0x0f, 0xa7, 0xfa, 0xf6, 0xbb, 0xbd, - 0x4d, 0x98, 0x1a, 0x81, 0x2a, 0xd7, 0x60, 0xb2, 0xaf, 0xc5, 0x40, 0x71, 0xbf, 0x5f, 0x29, 0xfe, - 0xcc, 0xfb, 0x3c, 0x19, 0xf5, 0x76, 0x18, 0xca, 0x0a, 0x59, 0xf7, 0xde, 0x3e, 0x20, 0x9e, 0xec, - 0xa5, 0xf7, 0xc3, 0xa5, 0xef, 0x69, 0x03, 0x94, 0xab, 0x30, 0xd1, 0xd3, 0x03, 0xc4, 0x53, 0xfd, - 0x2c, 0xa7, 0xca, 0x47, 0x5b, 0x00, 0xe5, 0x3c, 0xa4, 0x48, 0x3d, 0x8f, 0x87, 0xff, 0x1c, 0x87, - 0x53, 0x75, 0xe5, 0x93, 0x90, 0x11, 0x75, 0x3c, 0x1e, 0xfa, 0xf3, 0x1c, 0x1a, 0x42, 0x08, 0x5c, - 0xd4, 0xf0, 0x78, 0xf8, 0x2f, 0x08, 0xb8, 0x80, 0x10, 0xf8, 0xe8, 0x2e, 0xfc, 0xce, 0x2f, 0xa5, - 0x78, 0x1e, 0x16, 0xbe, 0xbb, 0x02, 0xe3, 0xbc, 0x78, 0xc7, 0xa3, 0xbf, 0xc0, 0x5f, 0x2e, 0x10, - 0xca, 0x45, 0x48, 0x8f, 0xe8, 0xf0, 0x5f, 0xe6, 0x50, 0xa6, 0xaf, 0x54, 0x21, 0x17, 0x29, 0xd8, - 0xf1, 0xf0, 0x5f, 0xe1, 0xf0, 0x28, 0x8a, 0x98, 0xce, 0x0b, 0x76, 0x3c, 0xc1, 0x17, 0x85, 0xe9, - 0x1c, 0x41, 0xdc, 0x26, 0x6a, 0x75, 0x3c, 0xfa, 0x57, 0x85, 0xd7, 0x05, 0x44, 0x79, 0x16, 0xb2, - 0x61, 0xfe, 0x8d, 0xc7, 0xff, 0x1a, 0xc7, 0x77, 0x31, 0xc4, 0x03, 0x91, 0xfc, 0x1f, 0x4f, 0xf1, - 0xeb, 0xc2, 0x03, 0x11, 0x14, 0xd9, 0x46, 0xfd, 0x35, 0x3d, 0x9e, 0xe9, 0x37, 0xc4, 0x36, 0xea, - 0x2b, 0xe9, 0x64, 0x35, 0x69, 0x1a, 0x8c, 0xa7, 0xf8, 0x4d, 0xb1, 0x9a, 0x54, 0x9f, 0x98, 0xd1, - 0x5f, 0x24, 0xe3, 0x39, 0xbe, 0x24, 0xcc, 0xe8, 0xab, 0x91, 0xca, 0x06, 0xa0, 0xc1, 0x02, 0x19, - 0xcf, 0xf7, 0x65, 0xce, 0x37, 0x35, 0x50, 0x1f, 0x95, 0xe7, 0xe0, 0xc8, 0xf0, 0xe2, 0x18, 0xcf, - 0xfa, 0x95, 0xf7, 0xfb, 0x8e, 0x33, 0xd1, 0xda, 0xa8, 0x6c, 0x76, 0xb3, 0x6c, 0xb4, 0x30, 0xc6, - 0xd3, 0xbe, 0xfc, 0x7e, 0x6f, 0xa2, 0x8d, 0xd6, 0x45, 0xa5, 0x0c, 0xd0, 0xad, 0x49, 0xf1, 0x5c, - 0xaf, 0x70, 0xae, 0x08, 0x88, 0x6c, 0x0d, 0x5e, 0x92, 0xe2, 0xf1, 0x5f, 0x15, 0x5b, 0x83, 0x23, - 0xc8, 0xd6, 0x10, 0xd5, 0x28, 0x1e, 0xfd, 0xaa, 0xd8, 0x1a, 0x02, 0xa2, 0x5c, 0x81, 0x8c, 0xdd, - 0xb1, 0x2c, 0x12, 0x5b, 0xe8, 0xe1, 0x3f, 0xc9, 0x2a, 0xfe, 0xdb, 0x07, 0x1c, 0x2c, 0x00, 0xca, - 0x79, 0x48, 0xe3, 0xf6, 0x36, 0x6e, 0xc6, 0x21, 0xff, 0xfd, 0x03, 0x91, 0x4f, 0x88, 0xb6, 0xf2, - 0x2c, 0x00, 0x3b, 0x4c, 0xd3, 0x0f, 0x45, 0x31, 0xd8, 0xff, 0xf8, 0x80, 0xff, 0x58, 0xa2, 0x0b, - 0xe9, 0x12, 0xb0, 0x9f, 0x5e, 0x3c, 0x9c, 0xe0, 0xdd, 0x5e, 0x02, 0x7a, 0x00, 0xbf, 0x0c, 0xe3, - 0xd7, 0x7d, 0xc7, 0x0e, 0xf4, 0x56, 0x1c, 0xfa, 0x3f, 0x39, 0x5a, 0xe8, 0x13, 0x87, 0xb5, 0x1d, - 0x0f, 0x07, 0x7a, 0xcb, 0x8f, 0xc3, 0xfe, 0x17, 0xc7, 0x86, 0x00, 0x02, 0x36, 0x74, 0x3f, 0x18, - 0x65, 0xde, 0xdf, 0x17, 0x60, 0x01, 0x20, 0x46, 0x93, 0xff, 0x6f, 0xe0, 0xbd, 0x38, 0xec, 0x7b, - 0xc2, 0x68, 0xae, 0xaf, 0x7c, 0x12, 0xb2, 0xe4, 0x5f, 0xf6, 0x0b, 0xa8, 0x18, 0xf0, 0x7f, 0x73, - 0x70, 0x17, 0x41, 0xde, 0xec, 0x07, 0xcd, 0xc0, 0x8c, 0x77, 0xf6, 0xff, 0xf0, 0x95, 0x16, 0xfa, - 0x4a, 0x19, 0x72, 0x7e, 0xd0, 0x6c, 0x76, 0x78, 0x47, 0x13, 0x03, 0xff, 0xdf, 0x0f, 0xc2, 0x43, - 0x6e, 0x88, 0xa9, 0xd4, 0x86, 0xdf, 0xd7, 0xc1, 0xb2, 0xb3, 0xec, 0xb0, 0x9b, 0xba, 0x17, 0x4b, - 0xf1, 0x57, 0x6e, 0xf0, 0x37, 0x29, 0x98, 0xc0, 0xb7, 0xf5, 0xb6, 0x2b, 0x48, 0x50, 0x8a, 0x94, - 0x97, 0xd9, 0x83, 0x5d, 0xd7, 0x95, 0xbe, 0x28, 0x81, 0x54, 0x46, 0x4f, 0x42, 0x6e, 0xa9, 0x5b, - 0xdc, 0xd8, 0xef, 0x5f, 0x2a, 0xa9, 0x7b, 0xf7, 0xe7, 0x0f, 0xa9, 0xd1, 0x01, 0xf4, 0x08, 0x8c, - 0xad, 0x75, 0x7f, 0x43, 0x95, 0xe4, 0x2a, 0x5c, 0x86, 0x14, 0x48, 0xd4, 0xd9, 0xb7, 0xb4, 0x7c, - 0xe5, 0x34, 0x19, 0xf9, 0xc7, 0xfb, 0xf3, 0xfb, 0x4f, 0x85, 0x58, 0xbb, 0xb8, 0xd5, 0x31, 0x9b, - 0x6a, 0xa2, 0xde, 0x54, 0x32, 0xbf, 0xf8, 0xda, 0xfc, 0xa1, 0x37, 0x5e, 0x9b, 0x97, 0x4a, 0x36, - 0x48, 0x15, 0x34, 0x0f, 0x52, 0x99, 0x9a, 0x91, 0x3b, 0x3b, 0xbe, 0x48, 0x35, 0xcb, 0x95, 0x0c, - 0xa1, 0x7c, 0xf3, 0xfe, 0xbc, 0xa4, 0x4a, 0x65, 0x54, 0x01, 0x69, 0x99, 0x5e, 0x39, 0xe7, 0x2b, - 0xe7, 0xf8, 0xab, 0x9e, 0x7e, 0xe8, 0xab, 0xce, 0xb0, 0xfd, 0xb2, 0xb8, 0x65, 0xda, 0xc1, 0x8f, - 0x9d, 0xbd, 0xa4, 0x4a, 0xcb, 0x4a, 0xea, 0x3d, 0xf2, 0xbe, 0xc7, 0x40, 0xaa, 0xa2, 0x39, 0x48, - 0x91, 0xe4, 0x45, 0x5f, 0x99, 0xac, 0xc0, 0x83, 0xfb, 0xf3, 0x63, 0xab, 0x7b, 0x0d, 0xf3, 0x0e, - 0x56, 0xa9, 0xbc, 0x74, 0x11, 0xa4, 0x2d, 0x74, 0x78, 0xd0, 0x28, 0x62, 0xca, 0x61, 0x90, 0x2a, - 0xfc, 0x27, 0x82, 0x5c, 0x5c, 0x51, 0xa5, 0x8a, 0x92, 0xba, 0x47, 0xd8, 0xa7, 0x41, 0xaa, 0x9d, - 0xce, 0x64, 0x24, 0xf6, 0x1d, 0x45, 0x49, 0xdd, 0xfb, 0xda, 0xfc, 0xa1, 0xd2, 0x29, 0x90, 0x54, - 0x34, 0x07, 0xd0, 0xcd, 0xbb, 0x94, 0x76, 0x42, 0x8d, 0x48, 0x94, 0xd4, 0x9b, 0x44, 0xf5, 0x29, - 0xc8, 0x54, 0x75, 0x5f, 0xfc, 0xea, 0x2a, 0x5d, 0xb7, 0x83, 0x67, 0xce, 0x72, 0x2b, 0xb3, 0xff, - 0x77, 0x7f, 0x3e, 0x6d, 0x12, 0x81, 0xca, 0xe4, 0x95, 0xa7, 0xff, 0xe1, 0xed, 0xb9, 0x43, 0x6f, - 0xbd, 0x3d, 0x27, 0xbd, 0xf7, 0xf6, 0x9c, 0xf4, 0x83, 0xb7, 0xe7, 0xa4, 0xbb, 0x0f, 0xe6, 0xa4, - 0x37, 0x1e, 0xcc, 0x49, 0xdf, 0x7e, 0x30, 0x27, 0x7d, 0xe7, 0xc1, 0x9c, 0x74, 0xef, 0xc1, 0x9c, - 0xf4, 0xe6, 0x83, 0x39, 0xe9, 0xad, 0x07, 0x73, 0xd2, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xae, - 0x69, 0x71, 0xec, 0xce, 0x32, 0x00, 0x00, + // 4068 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7a, 0x59, 0x70, 0x1c, 0xd7, + 0x75, 0x36, 0x7b, 0x16, 0x60, 0xe6, 0xcc, 0x60, 0xd0, 0xb8, 0x00, 0xc9, 0x21, 0x24, 0x01, 0xe4, + 0x68, 0x03, 0x49, 0x19, 0xf4, 0x4f, 0x71, 0x6d, 0xfe, 0xb6, 0x32, 0x33, 0x18, 0xc2, 0xa3, 0x60, + 0x73, 0x03, 0xb0, 0x16, 0x57, 0xaa, 0xab, 0xd1, 0x73, 0x31, 0x68, 0xb2, 0xa7, 0xbb, 0xdd, 0xdd, + 0x43, 0x12, 0xac, 0x3c, 0x30, 0xa5, 0x6c, 0xae, 0x54, 0xe2, 0x6c, 0x55, 0xb1, 0x15, 0x59, 0x91, + 0x9c, 0x8a, 0xa5, 0x38, 0xab, 0xe3, 0xc4, 0xb1, 0x9d, 0x87, 0xf8, 0xc5, 0x09, 0x9f, 0x52, 0xf2, + 0x5b, 0x2a, 0x95, 0x62, 0x49, 0x8c, 0xaa, 0xb2, 0x29, 0xb1, 0x92, 0xf0, 0xc1, 0x15, 0xbd, 0xa4, + 0xee, 0xd6, 0xd3, 0xb3, 0x00, 0x3d, 0x70, 0x95, 0xe4, 0x27, 0xa0, 0xcf, 0x3d, 0xdf, 0xd7, 0xe7, + 0x9e, 0x7b, 0xee, 0x39, 0xe7, 0xde, 0x1e, 0xf8, 0xc1, 0x65, 0x38, 0xde, 0x74, 0x9c, 0xa6, 0x85, + 0xcf, 0xb8, 0x9e, 0x13, 0x38, 0x5b, 0xed, 0xed, 0x33, 0x0d, 0xec, 0x1b, 0x9e, 0xe9, 0x06, 0x8e, + 0x37, 0x4f, 0x65, 0x68, 0x9c, 0x69, 0xcc, 0x0b, 0x8d, 0xd2, 0x32, 0x4c, 0x5c, 0x35, 0x2d, 0xbc, + 0x10, 0x2a, 0xae, 0xe3, 0x00, 0x5d, 0x82, 0xd4, 0xb6, 0x69, 0xe1, 0xa2, 0x74, 0x3c, 0x39, 0x97, + 0x3b, 0xfb, 0xd8, 0x7c, 0x0f, 0x68, 0xbe, 0x1b, 0xb1, 0x46, 0xc4, 0x2a, 0x45, 0x94, 0xde, 0x4d, + 0xc1, 0xe4, 0x80, 0x51, 0x84, 0x20, 0x65, 0xeb, 0x2d, 0xc2, 0x28, 0xcd, 0x65, 0x55, 0xfa, 0x3f, + 0x2a, 0xc2, 0xa8, 0xab, 0x1b, 0xd7, 0xf5, 0x26, 0x2e, 0x26, 0xa8, 0x58, 0x3c, 0xa2, 0x19, 0x80, + 0x06, 0x76, 0xb1, 0xdd, 0xc0, 0xb6, 0xb1, 0x5b, 0x4c, 0x1e, 0x4f, 0xce, 0x65, 0xd5, 0x88, 0x04, + 0x9d, 0x86, 0x09, 0xb7, 0xbd, 0x65, 0x99, 0x86, 0x16, 0x51, 0x83, 0xe3, 0xc9, 0xb9, 0xb4, 0x2a, + 0xb3, 0x81, 0x85, 0x8e, 0xf2, 0x93, 0x30, 0x7e, 0x13, 0xeb, 0xd7, 0xa3, 0xaa, 0x39, 0xaa, 0x5a, + 0x20, 0xe2, 0x88, 0x62, 0x15, 0xf2, 0x2d, 0xec, 0xfb, 0x7a, 0x13, 0x6b, 0xc1, 0xae, 0x8b, 0x8b, + 0x29, 0x3a, 0xfb, 0xe3, 0x7d, 0xb3, 0xef, 0x9d, 0x79, 0x8e, 0xa3, 0x36, 0x76, 0x5d, 0x8c, 0xca, + 0x90, 0xc5, 0x76, 0xbb, 0xc5, 0x18, 0xd2, 0x7b, 0xf8, 0xaf, 0x66, 0xb7, 0x5b, 0xbd, 0x2c, 0x19, + 0x02, 0xe3, 0x14, 0xa3, 0x3e, 0xf6, 0x6e, 0x98, 0x06, 0x2e, 0x8e, 0x50, 0x82, 0x27, 0xfb, 0x08, + 0xd6, 0xd9, 0x78, 0x2f, 0x87, 0xc0, 0xa1, 0x2a, 0x64, 0xf1, 0xad, 0x00, 0xdb, 0xbe, 0xe9, 0xd8, + 0xc5, 0x51, 0x4a, 0xf2, 0xf8, 0x80, 0x55, 0xc4, 0x56, 0xa3, 0x97, 0xa2, 0x83, 0x43, 0x17, 0x60, + 0xd4, 0x71, 0x03, 0xd3, 0xb1, 0xfd, 0x62, 0xe6, 0xb8, 0x34, 0x97, 0x3b, 0xfb, 0xf0, 0xc0, 0x40, + 0x58, 0x65, 0x3a, 0xaa, 0x50, 0x46, 0x75, 0x90, 0x7d, 0xa7, 0xed, 0x19, 0x58, 0x33, 0x9c, 0x06, + 0xd6, 0x4c, 0x7b, 0xdb, 0x29, 0x66, 0x29, 0xc1, 0x6c, 0xff, 0x44, 0xa8, 0x62, 0xd5, 0x69, 0xe0, + 0xba, 0xbd, 0xed, 0xa8, 0x05, 0xbf, 0xeb, 0x19, 0x1d, 0x81, 0x11, 0x7f, 0xd7, 0x0e, 0xf4, 0x5b, + 0xc5, 0x3c, 0x8d, 0x10, 0xfe, 0x54, 0xfa, 0xf6, 0x08, 0x8c, 0x0f, 0x13, 0x62, 0x57, 0x20, 0xbd, + 0x4d, 0x66, 0x59, 0x4c, 0x1c, 0xc4, 0x07, 0x0c, 0xd3, 0xed, 0xc4, 0x91, 0x1f, 0xd1, 0x89, 0x65, + 0xc8, 0xd9, 0xd8, 0x0f, 0x70, 0x83, 0x45, 0x44, 0x72, 0xc8, 0x98, 0x02, 0x06, 0xea, 0x0f, 0xa9, + 0xd4, 0x8f, 0x14, 0x52, 0xcf, 0xc3, 0x78, 0x68, 0x92, 0xe6, 0xe9, 0x76, 0x53, 0xc4, 0xe6, 0x99, + 0x38, 0x4b, 0xe6, 0x6b, 0x02, 0xa7, 0x12, 0x98, 0x5a, 0xc0, 0x5d, 0xcf, 0x68, 0x01, 0xc0, 0xb1, + 0xb1, 0xb3, 0xad, 0x35, 0xb0, 0x61, 0x15, 0x33, 0x7b, 0x78, 0x69, 0x95, 0xa8, 0xf4, 0x79, 0xc9, + 0x61, 0x52, 0xc3, 0x42, 0x97, 0x3b, 0xa1, 0x36, 0xba, 0x47, 0xa4, 0x2c, 0xb3, 0x4d, 0xd6, 0x17, + 0x6d, 0x9b, 0x50, 0xf0, 0x30, 0x89, 0x7b, 0xdc, 0xe0, 0x33, 0xcb, 0x52, 0x23, 0xe6, 0x63, 0x67, + 0xa6, 0x72, 0x18, 0x9b, 0xd8, 0x98, 0x17, 0x7d, 0x44, 0x8f, 0x42, 0x28, 0xd0, 0x68, 0x58, 0x01, + 0xcd, 0x42, 0x79, 0x21, 0x5c, 0xd1, 0x5b, 0x78, 0xfa, 0x36, 0x14, 0xba, 0xdd, 0x83, 0xa6, 0x20, + 0xed, 0x07, 0xba, 0x17, 0xd0, 0x28, 0x4c, 0xab, 0xec, 0x01, 0xc9, 0x90, 0xc4, 0x76, 0x83, 0x66, + 0xb9, 0xb4, 0x4a, 0xfe, 0x45, 0x3f, 0xd1, 0x99, 0x70, 0x92, 0x4e, 0xf8, 0x89, 0xfe, 0x15, 0xed, + 0x62, 0xee, 0x9d, 0xf7, 0xf4, 0x45, 0x18, 0xeb, 0x9a, 0xc0, 0xb0, 0xaf, 0x2e, 0xfd, 0x34, 0x1c, + 0x1e, 0x48, 0x8d, 0x9e, 0x87, 0xa9, 0xb6, 0x6d, 0xda, 0x01, 0xf6, 0x5c, 0x0f, 0x93, 0x88, 0x65, + 0xaf, 0x2a, 0xfe, 0xf3, 0xe8, 0x1e, 0x31, 0xb7, 0x19, 0xd5, 0x66, 0x2c, 0xea, 0x64, 0xbb, 0x5f, + 0x78, 0x2a, 0x9b, 0xf9, 0x97, 0x51, 0xf9, 0xce, 0x9d, 0x3b, 0x77, 0x12, 0xa5, 0x2f, 0x8e, 0xc0, + 0xd4, 0xa0, 0x3d, 0x33, 0x70, 0xfb, 0x1e, 0x81, 0x11, 0xbb, 0xdd, 0xda, 0xc2, 0x1e, 0x75, 0x52, + 0x5a, 0xe5, 0x4f, 0xa8, 0x0c, 0x69, 0x4b, 0xdf, 0xc2, 0x56, 0x31, 0x75, 0x5c, 0x9a, 0x2b, 0x9c, + 0x3d, 0x3d, 0xd4, 0xae, 0x9c, 0x5f, 0x22, 0x10, 0x95, 0x21, 0xd1, 0x27, 0x21, 0xc5, 0x53, 0x34, + 0x61, 0x38, 0x35, 0x1c, 0x03, 0xd9, 0x4b, 0x2a, 0xc5, 0xa1, 0x87, 0x20, 0x4b, 0xfe, 0xb2, 0xd8, + 0x18, 0xa1, 0x36, 0x67, 0x88, 0x80, 0xc4, 0x05, 0x9a, 0x86, 0x0c, 0xdd, 0x26, 0x0d, 0x2c, 0x4a, + 0x5b, 0xf8, 0x4c, 0x02, 0xab, 0x81, 0xb7, 0xf5, 0xb6, 0x15, 0x68, 0x37, 0x74, 0xab, 0x8d, 0x69, + 0xc0, 0x67, 0xd5, 0x3c, 0x17, 0x7e, 0x86, 0xc8, 0xd0, 0x2c, 0xe4, 0xd8, 0xae, 0x32, 0xed, 0x06, + 0xbe, 0x45, 0xb3, 0x67, 0x5a, 0x65, 0x1b, 0xad, 0x4e, 0x24, 0xe4, 0xf5, 0xd7, 0x7c, 0xc7, 0x16, + 0xa1, 0x49, 0x5f, 0x41, 0x04, 0xf4, 0xf5, 0x17, 0x7b, 0x13, 0xf7, 0x23, 0x83, 0xa7, 0xd7, 0x1b, + 0x53, 0xa5, 0x6f, 0x26, 0x20, 0x45, 0xf3, 0xc5, 0x38, 0xe4, 0x36, 0x5e, 0x58, 0xab, 0x69, 0x0b, + 0xab, 0x9b, 0x95, 0xa5, 0x9a, 0x2c, 0xa1, 0x02, 0x00, 0x15, 0x5c, 0x5d, 0x5a, 0x2d, 0x6f, 0xc8, + 0x89, 0xf0, 0xb9, 0xbe, 0xb2, 0x71, 0xe1, 0x9c, 0x9c, 0x0c, 0x01, 0x9b, 0x4c, 0x90, 0x8a, 0x2a, + 0x3c, 0x7d, 0x56, 0x4e, 0x23, 0x19, 0xf2, 0x8c, 0xa0, 0xfe, 0x7c, 0x6d, 0xe1, 0xc2, 0x39, 0x79, + 0xa4, 0x5b, 0xf2, 0xf4, 0x59, 0x79, 0x14, 0x8d, 0x41, 0x96, 0x4a, 0x2a, 0xab, 0xab, 0x4b, 0x72, + 0x26, 0xe4, 0x5c, 0xdf, 0x50, 0xeb, 0x2b, 0x8b, 0x72, 0x36, 0xe4, 0x5c, 0x54, 0x57, 0x37, 0xd7, + 0x64, 0x08, 0x19, 0x96, 0x6b, 0xeb, 0xeb, 0xe5, 0xc5, 0x9a, 0x9c, 0x0b, 0x35, 0x2a, 0x2f, 0x6c, + 0xd4, 0xd6, 0xe5, 0x7c, 0x97, 0x59, 0x4f, 0x9f, 0x95, 0xc7, 0xc2, 0x57, 0xd4, 0x56, 0x36, 0x97, + 0xe5, 0x02, 0x9a, 0x80, 0x31, 0xf6, 0x0a, 0x61, 0xc4, 0x78, 0x8f, 0xe8, 0xc2, 0x39, 0x59, 0xee, + 0x18, 0xc2, 0x58, 0x26, 0xba, 0x04, 0x17, 0xce, 0xc9, 0xa8, 0x54, 0x85, 0x34, 0x8d, 0x2e, 0x84, + 0xa0, 0xb0, 0x54, 0xae, 0xd4, 0x96, 0xb4, 0xd5, 0xb5, 0x8d, 0xfa, 0xea, 0x4a, 0x79, 0x49, 0x96, + 0x3a, 0x32, 0xb5, 0xf6, 0xe9, 0xcd, 0xba, 0x5a, 0x5b, 0x90, 0x13, 0x51, 0xd9, 0x5a, 0xad, 0xbc, + 0x51, 0x5b, 0x90, 0x93, 0x25, 0x03, 0xa6, 0x06, 0xe5, 0xc9, 0x81, 0x3b, 0x23, 0xb2, 0xc4, 0x89, + 0x3d, 0x96, 0x98, 0x72, 0xf5, 0x2d, 0xf1, 0x3f, 0x25, 0x60, 0x72, 0x40, 0xad, 0x18, 0xf8, 0x92, + 0x67, 0x20, 0xcd, 0x42, 0x94, 0x55, 0xcf, 0x93, 0x03, 0x8b, 0x0e, 0x0d, 0xd8, 0xbe, 0x0a, 0x4a, + 0x71, 0xd1, 0x0e, 0x22, 0xb9, 0x47, 0x07, 0x41, 0x28, 0xfa, 0x72, 0xfa, 0x4f, 0xf5, 0xe5, 0x74, + 0x56, 0xf6, 0x2e, 0x0c, 0x53, 0xf6, 0xa8, 0xec, 0x60, 0xb9, 0x3d, 0x3d, 0x20, 0xb7, 0x5f, 0x81, + 0x89, 0x3e, 0xa2, 0xa1, 0x73, 0xec, 0x4b, 0x12, 0x14, 0xf7, 0x72, 0x4e, 0x4c, 0xa6, 0x4b, 0x74, + 0x65, 0xba, 0x2b, 0xbd, 0x1e, 0x3c, 0xb1, 0xf7, 0x22, 0xf4, 0xad, 0xf5, 0x1b, 0x12, 0x1c, 0x19, + 0xdc, 0x29, 0x0e, 0xb4, 0xe1, 0x93, 0x30, 0xd2, 0xc2, 0xc1, 0x8e, 0x23, 0xba, 0xa5, 0x27, 0x06, + 0xd4, 0x60, 0x32, 0xdc, 0xbb, 0xd8, 0x1c, 0x15, 0x2d, 0xe2, 0xc9, 0xbd, 0xda, 0x3d, 0x66, 0x4d, + 0x9f, 0xa5, 0x9f, 0x4f, 0xc0, 0xe1, 0x81, 0xe4, 0x03, 0x0d, 0x7d, 0x04, 0xc0, 0xb4, 0xdd, 0x76, + 0xc0, 0x3a, 0x22, 0x96, 0x60, 0xb3, 0x54, 0x42, 0x93, 0x17, 0x49, 0x9e, 0xed, 0x20, 0x1c, 0x4f, + 0xd2, 0x71, 0x60, 0x22, 0xaa, 0x70, 0xa9, 0x63, 0x68, 0x8a, 0x1a, 0x3a, 0xb3, 0xc7, 0x4c, 0xfb, + 0x02, 0xf3, 0xe3, 0x20, 0x1b, 0x96, 0x89, 0xed, 0x40, 0xf3, 0x03, 0x0f, 0xeb, 0x2d, 0xd3, 0x6e, + 0xd2, 0x0a, 0x92, 0x51, 0xd2, 0xdb, 0xba, 0xe5, 0x63, 0x75, 0x9c, 0x0d, 0xaf, 0x8b, 0x51, 0x82, + 0xa0, 0x01, 0xe4, 0x45, 0x10, 0x23, 0x5d, 0x08, 0x36, 0x1c, 0x22, 0x4a, 0xdf, 0xc8, 0x40, 0x2e, + 0xd2, 0x57, 0xa3, 0x13, 0x90, 0xbf, 0xa6, 0xdf, 0xd0, 0x35, 0x71, 0x56, 0x62, 0x9e, 0xc8, 0x11, + 0xd9, 0x1a, 0x3f, 0x2f, 0x7d, 0x1c, 0xa6, 0xa8, 0x8a, 0xd3, 0x0e, 0xb0, 0xa7, 0x19, 0x96, 0xee, + 0xfb, 0xd4, 0x69, 0x19, 0xaa, 0x8a, 0xc8, 0xd8, 0x2a, 0x19, 0xaa, 0x8a, 0x11, 0x74, 0x1e, 0x26, + 0x29, 0xa2, 0xd5, 0xb6, 0x02, 0xd3, 0xb5, 0xb0, 0x46, 0x4e, 0x6f, 0x3e, 0xad, 0x24, 0xa1, 0x65, + 0x13, 0x44, 0x63, 0x99, 0x2b, 0x10, 0x8b, 0x7c, 0xb4, 0x00, 0x8f, 0x50, 0x58, 0x13, 0xdb, 0xd8, + 0xd3, 0x03, 0xac, 0xe1, 0xcf, 0xb5, 0x75, 0xcb, 0xd7, 0x74, 0xbb, 0xa1, 0xed, 0xe8, 0xfe, 0x4e, + 0x71, 0x8a, 0x10, 0x54, 0x12, 0x45, 0x49, 0x3d, 0x46, 0x14, 0x17, 0xb9, 0x5e, 0x8d, 0xaa, 0x95, + 0xed, 0xc6, 0xa7, 0x74, 0x7f, 0x07, 0x29, 0x70, 0x84, 0xb2, 0xf8, 0x81, 0x67, 0xda, 0x4d, 0xcd, + 0xd8, 0xc1, 0xc6, 0x75, 0xad, 0x1d, 0x6c, 0x5f, 0x2a, 0x3e, 0x14, 0x7d, 0x3f, 0xb5, 0x70, 0x9d, + 0xea, 0x54, 0x89, 0xca, 0x66, 0xb0, 0x7d, 0x09, 0xad, 0x43, 0x9e, 0x2c, 0x46, 0xcb, 0xbc, 0x8d, + 0xb5, 0x6d, 0xc7, 0xa3, 0xa5, 0xb1, 0x30, 0x20, 0x35, 0x45, 0x3c, 0x38, 0xbf, 0xca, 0x01, 0xcb, + 0x4e, 0x03, 0x2b, 0xe9, 0xf5, 0xb5, 0x5a, 0x6d, 0x41, 0xcd, 0x09, 0x96, 0xab, 0x8e, 0x47, 0x02, + 0xaa, 0xe9, 0x84, 0x0e, 0xce, 0xb1, 0x80, 0x6a, 0x3a, 0xc2, 0xbd, 0xe7, 0x61, 0xd2, 0x30, 0xd8, + 0x9c, 0x4d, 0x43, 0xe3, 0x67, 0x2c, 0xbf, 0x28, 0x77, 0x39, 0xcb, 0x30, 0x16, 0x99, 0x02, 0x8f, + 0x71, 0x1f, 0x5d, 0x86, 0xc3, 0x1d, 0x67, 0x45, 0x81, 0x13, 0x7d, 0xb3, 0xec, 0x85, 0x9e, 0x87, + 0x49, 0x77, 0xb7, 0x1f, 0x88, 0xba, 0xde, 0xe8, 0xee, 0xf6, 0xc2, 0x2e, 0xc2, 0x94, 0xbb, 0xe3, + 0xf6, 0xe3, 0x4e, 0x45, 0x71, 0xc8, 0xdd, 0x71, 0x7b, 0x81, 0x8f, 0xd3, 0x03, 0xb7, 0x87, 0x0d, + 0x3d, 0xc0, 0x8d, 0xe2, 0xd1, 0xa8, 0x7a, 0x64, 0x00, 0x9d, 0x01, 0xd9, 0x30, 0x34, 0x6c, 0xeb, + 0x5b, 0x16, 0xd6, 0x74, 0x0f, 0xdb, 0xba, 0x5f, 0x9c, 0x8d, 0x2a, 0x17, 0x0c, 0xa3, 0x46, 0x47, + 0xcb, 0x74, 0x10, 0x9d, 0x82, 0x09, 0x67, 0xeb, 0x9a, 0xc1, 0x42, 0x52, 0x73, 0x3d, 0xbc, 0x6d, + 0xde, 0x2a, 0x3e, 0x46, 0xfd, 0x3b, 0x4e, 0x06, 0x68, 0x40, 0xae, 0x51, 0x31, 0x3a, 0x09, 0xb2, + 0xe1, 0xef, 0xe8, 0x9e, 0x4b, 0x73, 0xb2, 0xef, 0xea, 0x06, 0x2e, 0x3e, 0xce, 0x54, 0x99, 0x7c, + 0x45, 0x88, 0xc9, 0x96, 0xf0, 0x6f, 0x9a, 0xdb, 0x81, 0x60, 0x7c, 0x92, 0x6d, 0x09, 0x2a, 0xe3, + 0x6c, 0x73, 0x20, 0x13, 0x57, 0x74, 0xbd, 0x78, 0x8e, 0xaa, 0x15, 0xdc, 0x1d, 0x37, 0xfa, 0xde, + 0x47, 0x61, 0x8c, 0x68, 0x76, 0x5e, 0x7a, 0x92, 0x35, 0x64, 0xee, 0x4e, 0xe4, 0x8d, 0x1f, 0x5a, + 0x6f, 0x5c, 0x52, 0x20, 0x1f, 0x8d, 0x4f, 0x94, 0x05, 0x16, 0xa1, 0xb2, 0x44, 0x9a, 0x95, 0xea, + 0xea, 0x02, 0x69, 0x33, 0x5e, 0xac, 0xc9, 0x09, 0xd2, 0xee, 0x2c, 0xd5, 0x37, 0x6a, 0x9a, 0xba, + 0xb9, 0xb2, 0x51, 0x5f, 0xae, 0xc9, 0xc9, 0x68, 0x5f, 0xfd, 0xbd, 0x04, 0x14, 0xba, 0x8f, 0x48, + 0xe8, 0xff, 0xc3, 0x51, 0x71, 0x9f, 0xe1, 0xe3, 0x40, 0xbb, 0x69, 0x7a, 0x74, 0xcb, 0xb4, 0x74, + 0x56, 0xbe, 0xc2, 0x45, 0x9b, 0xe2, 0x5a, 0xeb, 0x38, 0x78, 0xce, 0xf4, 0xc8, 0x86, 0x68, 0xe9, + 0x01, 0x5a, 0x82, 0x59, 0xdb, 0xd1, 0xfc, 0x40, 0xb7, 0x1b, 0xba, 0xd7, 0xd0, 0x3a, 0x37, 0x49, + 0x9a, 0x6e, 0x18, 0xd8, 0xf7, 0x1d, 0x56, 0xaa, 0x42, 0x96, 0x87, 0x6d, 0x67, 0x9d, 0x2b, 0x77, + 0x72, 0x78, 0x99, 0xab, 0xf6, 0x04, 0x58, 0x72, 0xaf, 0x00, 0x7b, 0x08, 0xb2, 0x2d, 0xdd, 0xd5, + 0xb0, 0x1d, 0x78, 0xbb, 0xb4, 0x31, 0xce, 0xa8, 0x99, 0x96, 0xee, 0xd6, 0xc8, 0xf3, 0x47, 0x73, + 0x3e, 0xf9, 0xc7, 0x24, 0xe4, 0xa3, 0xcd, 0x31, 0x39, 0x6b, 0x18, 0xb4, 0x8e, 0x48, 0x34, 0xd3, + 0x3c, 0xba, 0x6f, 0x2b, 0x3d, 0x5f, 0x25, 0x05, 0x46, 0x19, 0x61, 0x2d, 0xab, 0xca, 0x90, 0xa4, + 0xb8, 0x93, 0xdc, 0x82, 0x59, 0x8b, 0x90, 0x51, 0xf9, 0x13, 0x5a, 0x84, 0x91, 0x6b, 0x3e, 0xe5, + 0x1e, 0xa1, 0xdc, 0x8f, 0xed, 0xcf, 0xfd, 0xec, 0x3a, 0x25, 0xcf, 0x3e, 0xbb, 0xae, 0xad, 0xac, + 0xaa, 0xcb, 0xe5, 0x25, 0x95, 0xc3, 0xd1, 0x31, 0x48, 0x59, 0xfa, 0xed, 0xdd, 0xee, 0x52, 0x44, + 0x45, 0xc3, 0x3a, 0xfe, 0x18, 0xa4, 0x6e, 0x62, 0xfd, 0x7a, 0x77, 0x01, 0xa0, 0xa2, 0x0f, 0x31, + 0xf4, 0xcf, 0x40, 0x9a, 0xfa, 0x0b, 0x01, 0x70, 0x8f, 0xc9, 0x87, 0x50, 0x06, 0x52, 0xd5, 0x55, + 0x95, 0x84, 0xbf, 0x0c, 0x79, 0x26, 0xd5, 0xd6, 0xea, 0xb5, 0x6a, 0x4d, 0x4e, 0x94, 0xce, 0xc3, + 0x08, 0x73, 0x02, 0xd9, 0x1a, 0xa1, 0x1b, 0xe4, 0x43, 0xfc, 0x91, 0x73, 0x48, 0x62, 0x74, 0x73, + 0xb9, 0x52, 0x53, 0xe5, 0x44, 0x74, 0x79, 0x7d, 0xc8, 0x47, 0xfb, 0xe2, 0x8f, 0x26, 0xa6, 0xbe, + 0x23, 0x41, 0x2e, 0xd2, 0xe7, 0x92, 0x06, 0x45, 0xb7, 0x2c, 0xe7, 0xa6, 0xa6, 0x5b, 0xa6, 0xee, + 0xf3, 0xa0, 0x00, 0x2a, 0x2a, 0x13, 0xc9, 0xb0, 0x8b, 0xf6, 0x91, 0x18, 0xff, 0xaa, 0x04, 0x72, + 0x6f, 0x8b, 0xd9, 0x63, 0xa0, 0xf4, 0x63, 0x35, 0xf0, 0x15, 0x09, 0x0a, 0xdd, 0x7d, 0x65, 0x8f, + 0x79, 0x27, 0x7e, 0xac, 0xe6, 0xbd, 0x9d, 0x80, 0xb1, 0xae, 0x6e, 0x72, 0x58, 0xeb, 0x3e, 0x07, + 0x13, 0x66, 0x03, 0xb7, 0x5c, 0x27, 0xc0, 0xb6, 0xb1, 0xab, 0x59, 0xf8, 0x06, 0xb6, 0x8a, 0x25, + 0x9a, 0x28, 0xce, 0xec, 0xdf, 0xaf, 0xce, 0xd7, 0x3b, 0xb8, 0x25, 0x02, 0x53, 0x26, 0xeb, 0x0b, + 0xb5, 0xe5, 0xb5, 0xd5, 0x8d, 0xda, 0x4a, 0xf5, 0x05, 0x6d, 0x73, 0xe5, 0x27, 0x57, 0x56, 0x9f, + 0x5b, 0x51, 0x65, 0xb3, 0x47, 0xed, 0x43, 0xdc, 0xea, 0x6b, 0x20, 0xf7, 0x1a, 0x85, 0x8e, 0xc2, + 0x20, 0xb3, 0xe4, 0x43, 0x68, 0x12, 0xc6, 0x57, 0x56, 0xb5, 0xf5, 0xfa, 0x42, 0x4d, 0xab, 0x5d, + 0xbd, 0x5a, 0xab, 0x6e, 0xac, 0xb3, 0x1b, 0x88, 0x50, 0x7b, 0xa3, 0x7b, 0x53, 0xbf, 0x9c, 0x84, + 0xc9, 0x01, 0x96, 0xa0, 0x32, 0x3f, 0x3b, 0xb0, 0xe3, 0xcc, 0xc7, 0x86, 0xb1, 0x7e, 0x9e, 0x94, + 0xfc, 0x35, 0xdd, 0x0b, 0xf8, 0x51, 0xe3, 0x24, 0x10, 0x2f, 0xd9, 0x81, 0xb9, 0x6d, 0x62, 0x8f, + 0x5f, 0xd8, 0xb0, 0x03, 0xc5, 0x78, 0x47, 0xce, 0xee, 0x6c, 0x9e, 0x02, 0xe4, 0x3a, 0xbe, 0x19, + 0x98, 0x37, 0xb0, 0x66, 0xda, 0xe2, 0x76, 0x87, 0x1c, 0x30, 0x52, 0xaa, 0x2c, 0x46, 0xea, 0x76, + 0x10, 0x6a, 0xdb, 0xb8, 0xa9, 0xf7, 0x68, 0x93, 0x04, 0x9e, 0x54, 0x65, 0x31, 0x12, 0x6a, 0x9f, + 0x80, 0x7c, 0xc3, 0x69, 0x93, 0xae, 0x8b, 0xe9, 0x91, 0x7a, 0x21, 0xa9, 0x39, 0x26, 0x0b, 0x55, + 0x78, 0x3f, 0xdd, 0xb9, 0x56, 0xca, 0xab, 0x39, 0x26, 0x63, 0x2a, 0x4f, 0xc2, 0xb8, 0xde, 0x6c, + 0x7a, 0x84, 0x5c, 0x10, 0xb1, 0x13, 0x42, 0x21, 0x14, 0x53, 0xc5, 0xe9, 0x67, 0x21, 0x23, 0xfc, + 0x40, 0x4a, 0x32, 0xf1, 0x84, 0xe6, 0xb2, 0x63, 0x6f, 0x62, 0x2e, 0xab, 0x66, 0x6c, 0x31, 0x78, + 0x02, 0xf2, 0xa6, 0xaf, 0x75, 0x6e, 0xc9, 0x13, 0xc7, 0x13, 0x73, 0x19, 0x35, 0x67, 0xfa, 0xe1, + 0x0d, 0x63, 0xe9, 0x8d, 0x04, 0x14, 0xba, 0x6f, 0xf9, 0xd1, 0x02, 0x64, 0x2c, 0xc7, 0xd0, 0x69, + 0x68, 0xb1, 0x4f, 0x4c, 0x73, 0x31, 0x1f, 0x06, 0xe6, 0x97, 0xb8, 0xbe, 0x1a, 0x22, 0xa7, 0xff, + 0x4e, 0x82, 0x8c, 0x10, 0xa3, 0x23, 0x90, 0x72, 0xf5, 0x60, 0x87, 0xd2, 0xa5, 0x2b, 0x09, 0x59, + 0x52, 0xe9, 0x33, 0x91, 0xfb, 0xae, 0x6e, 0xd3, 0x10, 0xe0, 0x72, 0xf2, 0x4c, 0xd6, 0xd5, 0xc2, + 0x7a, 0x83, 0x1e, 0x3f, 0x9c, 0x56, 0x0b, 0xdb, 0x81, 0x2f, 0xd6, 0x95, 0xcb, 0xab, 0x5c, 0x8c, + 0x4e, 0xc3, 0x44, 0xe0, 0xe9, 0xa6, 0xd5, 0xa5, 0x9b, 0xa2, 0xba, 0xb2, 0x18, 0x08, 0x95, 0x15, + 0x38, 0x26, 0x78, 0x1b, 0x38, 0xd0, 0x8d, 0x1d, 0xdc, 0xe8, 0x80, 0x46, 0xe8, 0x35, 0xc3, 0x51, + 0xae, 0xb0, 0xc0, 0xc7, 0x05, 0xb6, 0xf4, 0x7d, 0x09, 0x26, 0xc4, 0x81, 0xa9, 0x11, 0x3a, 0x6b, + 0x19, 0x40, 0xb7, 0x6d, 0x27, 0x88, 0xba, 0xab, 0x3f, 0x94, 0xfb, 0x70, 0xf3, 0xe5, 0x10, 0xa4, + 0x46, 0x08, 0xa6, 0x5b, 0x00, 0x9d, 0x91, 0x3d, 0xdd, 0x36, 0x0b, 0x39, 0xfe, 0x09, 0x87, 0x7e, + 0x07, 0x64, 0x47, 0x6c, 0x60, 0x22, 0x72, 0xb2, 0x42, 0x53, 0x90, 0xde, 0xc2, 0x4d, 0xd3, 0xe6, + 0x17, 0xb3, 0xec, 0x41, 0x5c, 0x84, 0xa4, 0xc2, 0x8b, 0x90, 0xca, 0x67, 0x61, 0xd2, 0x70, 0x5a, + 0xbd, 0xe6, 0x56, 0xe4, 0x9e, 0x63, 0xbe, 0xff, 0x29, 0xe9, 0x45, 0xe8, 0xb4, 0x98, 0x3f, 0x94, + 0xa4, 0xaf, 0x24, 0x92, 0x8b, 0x6b, 0x95, 0xaf, 0x25, 0xa6, 0x17, 0x19, 0x74, 0x4d, 0xcc, 0x54, + 0xc5, 0xdb, 0x16, 0x36, 0x88, 0xf5, 0xf0, 0xd5, 0xd3, 0xf0, 0xb1, 0xa6, 0x19, 0xec, 0xb4, 0xb7, + 0xe6, 0x0d, 0xa7, 0x75, 0xa6, 0xe9, 0x34, 0x9d, 0xce, 0xa7, 0x4f, 0xf2, 0x44, 0x1f, 0xe8, 0x7f, + 0xfc, 0xf3, 0x67, 0x36, 0x94, 0x4e, 0xc7, 0x7e, 0x2b, 0x55, 0x56, 0x60, 0x92, 0x2b, 0x6b, 0xf4, + 0xfb, 0x0b, 0x3b, 0x45, 0xa0, 0x7d, 0xef, 0xb0, 0x8a, 0x5f, 0x7f, 0x97, 0x96, 0x6b, 0x75, 0x82, + 0x43, 0xc9, 0x18, 0x3b, 0x68, 0x28, 0x2a, 0x1c, 0xee, 0xe2, 0x63, 0x5b, 0x13, 0x7b, 0x31, 0x8c, + 0xdf, 0xe3, 0x8c, 0x93, 0x11, 0xc6, 0x75, 0x0e, 0x55, 0xaa, 0x30, 0x76, 0x10, 0xae, 0xbf, 0xe1, + 0x5c, 0x79, 0x1c, 0x25, 0x59, 0x84, 0x71, 0x4a, 0x62, 0xb4, 0xfd, 0xc0, 0x69, 0xd1, 0xbc, 0xb7, + 0x3f, 0xcd, 0xdf, 0xbe, 0xcb, 0xf6, 0x4a, 0x81, 0xc0, 0xaa, 0x21, 0x4a, 0x51, 0x80, 0x7e, 0x72, + 0x6a, 0x60, 0xc3, 0x8a, 0x61, 0xb8, 0xcb, 0x0d, 0x09, 0xf5, 0x95, 0xcf, 0xc0, 0x14, 0xf9, 0x9f, + 0xa6, 0xa5, 0xa8, 0x25, 0xf1, 0x17, 0x5e, 0xc5, 0xef, 0xbf, 0xc4, 0xb6, 0xe3, 0x64, 0x48, 0x10, + 0xb1, 0x29, 0xb2, 0x8a, 0x4d, 0x1c, 0x04, 0xd8, 0xf3, 0x35, 0xdd, 0x1a, 0x64, 0x5e, 0xe4, 0xc6, + 0xa0, 0xf8, 0xa5, 0xf7, 0xba, 0x57, 0x71, 0x91, 0x21, 0xcb, 0x96, 0xa5, 0x6c, 0xc2, 0xd1, 0x01, + 0x51, 0x31, 0x04, 0xe7, 0xcb, 0x9c, 0x73, 0xaa, 0x2f, 0x32, 0x08, 0xed, 0x1a, 0x08, 0x79, 0xb8, + 0x96, 0x43, 0x70, 0xfe, 0x36, 0xe7, 0x44, 0x1c, 0x2b, 0x96, 0x94, 0x30, 0x3e, 0x0b, 0x13, 0x37, + 0xb0, 0xb7, 0xe5, 0xf8, 0xfc, 0x96, 0x66, 0x08, 0xba, 0x57, 0x38, 0xdd, 0x38, 0x07, 0xd2, 0x6b, + 0x1b, 0xc2, 0x75, 0x19, 0x32, 0xdb, 0xba, 0x81, 0x87, 0xa0, 0xf8, 0x32, 0xa7, 0x18, 0x25, 0xfa, + 0x04, 0x5a, 0x86, 0x7c, 0xd3, 0xe1, 0x95, 0x29, 0x1e, 0xfe, 0x2a, 0x87, 0xe7, 0x04, 0x86, 0x53, + 0xb8, 0x8e, 0xdb, 0xb6, 0x48, 0xd9, 0x8a, 0xa7, 0xf8, 0x1d, 0x41, 0x21, 0x30, 0x9c, 0xe2, 0x00, + 0x6e, 0x7d, 0x4d, 0x50, 0xf8, 0x11, 0x7f, 0x3e, 0x03, 0x39, 0xc7, 0xb6, 0x76, 0x1d, 0x7b, 0x18, + 0x23, 0x5e, 0xe7, 0x0c, 0xc0, 0x21, 0x84, 0xe0, 0x0a, 0x64, 0x87, 0x5d, 0x88, 0xdf, 0x7b, 0x4f, + 0x6c, 0x0f, 0xb1, 0x02, 0x8b, 0x30, 0x2e, 0x12, 0x94, 0xe9, 0xd8, 0x43, 0x50, 0x7c, 0x95, 0x53, + 0x14, 0x22, 0x30, 0x3e, 0x8d, 0x00, 0xfb, 0x41, 0x13, 0x0f, 0x43, 0xf2, 0x86, 0x98, 0x06, 0x87, + 0x70, 0x57, 0x6e, 0x61, 0xdb, 0xd8, 0x19, 0x8e, 0xe1, 0x4d, 0xe1, 0x4a, 0x81, 0x21, 0x14, 0x55, + 0x18, 0x6b, 0xe9, 0x9e, 0xbf, 0xa3, 0x5b, 0x43, 0x2d, 0xc7, 0xef, 0x73, 0x8e, 0x7c, 0x08, 0xe2, + 0x1e, 0x69, 0xdb, 0x07, 0xa1, 0xf9, 0x9a, 0xf0, 0x48, 0x04, 0xc6, 0xb7, 0x9e, 0x1f, 0xd0, 0x2b, + 0xad, 0x83, 0xb0, 0xfd, 0x81, 0xd8, 0x7a, 0x0c, 0xbb, 0x1c, 0x65, 0xbc, 0x02, 0x59, 0xdf, 0xbc, + 0x3d, 0x14, 0xcd, 0x1f, 0x8a, 0x95, 0xa6, 0x00, 0x02, 0x7e, 0x01, 0x8e, 0x0d, 0x2c, 0x13, 0x43, + 0x90, 0xfd, 0x11, 0x27, 0x3b, 0x32, 0xa0, 0x54, 0xf0, 0x94, 0x70, 0x50, 0xca, 0x3f, 0x16, 0x29, + 0x01, 0xf7, 0x70, 0xad, 0x91, 0xb3, 0x82, 0xaf, 0x6f, 0x1f, 0xcc, 0x6b, 0x7f, 0x22, 0xbc, 0xc6, + 0xb0, 0x5d, 0x5e, 0xdb, 0x80, 0x23, 0x9c, 0xf1, 0x60, 0xeb, 0xfa, 0xa7, 0x22, 0xb1, 0x32, 0xf4, + 0x66, 0xf7, 0xea, 0x7e, 0x16, 0xa6, 0x43, 0x77, 0x8a, 0xa6, 0xd4, 0xd7, 0x5a, 0xba, 0x3b, 0x04, + 0xf3, 0xd7, 0x39, 0xb3, 0xc8, 0xf8, 0x61, 0x57, 0xeb, 0x2f, 0xeb, 0x2e, 0x21, 0x7f, 0x1e, 0x8a, + 0x82, 0xbc, 0x6d, 0x7b, 0xd8, 0x70, 0x9a, 0xb6, 0x79, 0x1b, 0x37, 0x86, 0xa0, 0xfe, 0xb3, 0x9e, + 0xa5, 0xda, 0x8c, 0xc0, 0x09, 0x73, 0x1d, 0xe4, 0xb0, 0x57, 0xd1, 0xcc, 0x96, 0xeb, 0x78, 0x41, + 0x0c, 0xe3, 0x37, 0xc4, 0x4a, 0x85, 0xb8, 0x3a, 0x85, 0x29, 0x35, 0x28, 0xd0, 0xc7, 0x61, 0x43, + 0xf2, 0xcf, 0x39, 0xd1, 0x58, 0x07, 0xc5, 0x13, 0x87, 0xe1, 0xb4, 0x5c, 0xdd, 0x1b, 0x26, 0xff, + 0xfd, 0x85, 0x48, 0x1c, 0x1c, 0xc2, 0x13, 0x47, 0xb0, 0xeb, 0x62, 0x52, 0xed, 0x87, 0x60, 0xf8, + 0xa6, 0x48, 0x1c, 0x02, 0xc3, 0x29, 0x44, 0xc3, 0x30, 0x04, 0xc5, 0x5f, 0x0a, 0x0a, 0x81, 0x21, + 0x14, 0x9f, 0xee, 0x14, 0x5a, 0x0f, 0x37, 0x4d, 0x3f, 0xf0, 0x58, 0x2b, 0xbc, 0x3f, 0xd5, 0xb7, + 0xde, 0xeb, 0x6e, 0xc2, 0xd4, 0x08, 0x94, 0x64, 0x22, 0x7e, 0x85, 0x4a, 0x4f, 0x4a, 0xf1, 0x86, + 0x7d, 0x5b, 0x64, 0xa2, 0x08, 0x8c, 0xd8, 0x16, 0xe9, 0x10, 0x89, 0xdb, 0x0d, 0x72, 0x3e, 0x18, + 0x82, 0xee, 0x3b, 0x3d, 0xc6, 0xad, 0x0b, 0x2c, 0xe1, 0x8c, 0xf4, 0x3f, 0x6d, 0xfb, 0x3a, 0xde, + 0x1d, 0x2a, 0x3a, 0xff, 0xaa, 0xa7, 0xff, 0xd9, 0x64, 0x48, 0x96, 0x43, 0xc6, 0x7b, 0xfa, 0x29, + 0x14, 0xf7, 0x63, 0x9d, 0xe2, 0xcf, 0x3c, 0xe0, 0xf3, 0xed, 0x6e, 0xa7, 0x94, 0x25, 0x12, 0xe4, + 0xdd, 0x4d, 0x4f, 0x3c, 0xd9, 0x4b, 0x0f, 0xc2, 0x38, 0xef, 0xea, 0x79, 0x94, 0xab, 0x30, 0xd6, + 0xd5, 0xf0, 0xc4, 0x53, 0xfd, 0x2c, 0xa7, 0xca, 0x47, 0xfb, 0x1d, 0xe5, 0x3c, 0xa4, 0x48, 0xf3, + 0x12, 0x0f, 0xff, 0x39, 0x0e, 0xa7, 0xea, 0xca, 0x27, 0x20, 0x23, 0x9a, 0x96, 0x78, 0xe8, 0xcf, + 0x73, 0x68, 0x08, 0x21, 0x70, 0xd1, 0xb0, 0xc4, 0xc3, 0x7f, 0x41, 0xc0, 0x05, 0x84, 0xc0, 0x87, + 0x77, 0xe1, 0x77, 0x7f, 0x29, 0xc5, 0x8b, 0x8e, 0xf0, 0xdd, 0x15, 0x18, 0xe5, 0x9d, 0x4a, 0x3c, + 0xfa, 0xf3, 0xfc, 0xe5, 0x02, 0xa1, 0x5c, 0x84, 0xf4, 0x90, 0x0e, 0xff, 0x65, 0x0e, 0x65, 0xfa, + 0x4a, 0x15, 0x72, 0x91, 0xee, 0x24, 0x1e, 0xfe, 0x2b, 0x1c, 0x1e, 0x45, 0x11, 0xd3, 0x79, 0x77, + 0x12, 0x4f, 0xf0, 0x05, 0x61, 0x3a, 0x47, 0x10, 0xb7, 0x89, 0xc6, 0x24, 0x1e, 0xfd, 0xab, 0xc2, + 0xeb, 0x02, 0xa2, 0x3c, 0x03, 0xd9, 0xb0, 0xd8, 0xc4, 0xe3, 0x7f, 0x8d, 0xe3, 0x3b, 0x18, 0xe2, + 0x81, 0x48, 0xb1, 0x8b, 0xa7, 0xf8, 0x75, 0xe1, 0x81, 0x08, 0x8a, 0x6c, 0xa3, 0xde, 0x06, 0x26, + 0x9e, 0xe9, 0x37, 0xc4, 0x36, 0xea, 0xe9, 0x5f, 0xc8, 0x6a, 0xd2, 0x9c, 0x1f, 0x4f, 0xf1, 0x9b, + 0x62, 0x35, 0xa9, 0x3e, 0x31, 0xa3, 0xb7, 0x23, 0x88, 0xe7, 0xf8, 0x2d, 0x61, 0x46, 0x4f, 0x43, + 0xa0, 0xac, 0x01, 0xea, 0xef, 0x06, 0xe2, 0xf9, 0xbe, 0xc8, 0xf9, 0x26, 0xfa, 0x9a, 0x01, 0xe5, + 0x39, 0x38, 0x32, 0xb8, 0x13, 0x88, 0x67, 0xfd, 0xd2, 0x83, 0x9e, 0xb3, 0x5b, 0xb4, 0x11, 0x50, + 0x36, 0x3a, 0x25, 0x25, 0xda, 0x05, 0xc4, 0xd3, 0xbe, 0xfc, 0xa0, 0x3b, 0x71, 0x47, 0x9b, 0x00, + 0xa5, 0x0c, 0xd0, 0x29, 0xc0, 0xf1, 0x5c, 0xaf, 0x70, 0xae, 0x08, 0x88, 0x6c, 0x0d, 0x5e, 0x7f, + 0xe3, 0xf1, 0x5f, 0x16, 0x5b, 0x83, 0x23, 0xc8, 0xd6, 0x10, 0xa5, 0x37, 0x1e, 0xfd, 0xaa, 0xd8, + 0x1a, 0x02, 0x42, 0x22, 0x3b, 0x52, 0xdd, 0xe2, 0x19, 0x5e, 0x17, 0x91, 0x1d, 0x41, 0x29, 0x2b, + 0x30, 0xd1, 0x57, 0x10, 0xe3, 0xa9, 0xbe, 0xc2, 0xa9, 0xe4, 0xde, 0x7a, 0x18, 0x2d, 0x5e, 0xbc, + 0x18, 0xc6, 0xb3, 0xfd, 0x6e, 0x4f, 0xf1, 0xe2, 0xb5, 0x50, 0xb9, 0x02, 0x19, 0xbb, 0x6d, 0x59, + 0x64, 0xf3, 0xa0, 0xfd, 0x7f, 0x60, 0x57, 0xfc, 0xd7, 0x0f, 0xb8, 0x77, 0x04, 0x40, 0x39, 0x0f, + 0x69, 0xdc, 0xda, 0xc2, 0x8d, 0x38, 0xe4, 0xbf, 0x7d, 0x20, 0x12, 0x26, 0xd1, 0x56, 0x9e, 0x01, + 0x60, 0x57, 0x23, 0xf4, 0xb3, 0x5f, 0x0c, 0xf6, 0xdf, 0x3f, 0xe0, 0x3f, 0x7d, 0xe9, 0x40, 0x3a, + 0x04, 0xec, 0x87, 0x34, 0xfb, 0x13, 0xbc, 0xd7, 0x4d, 0x40, 0x57, 0xe4, 0x32, 0x8c, 0x5e, 0xf3, + 0x1d, 0x3b, 0xd0, 0x9b, 0x71, 0xe8, 0xff, 0xe0, 0x68, 0xa1, 0x4f, 0x1c, 0xd6, 0x72, 0x3c, 0x1c, + 0xe8, 0x4d, 0x3f, 0x0e, 0xfb, 0x9f, 0x1c, 0x1b, 0x02, 0x08, 0xd8, 0xd0, 0xfd, 0x60, 0x98, 0x79, + 0xff, 0x40, 0x80, 0x05, 0x80, 0x18, 0x4d, 0xfe, 0xbf, 0x8e, 0x77, 0xe3, 0xb0, 0xef, 0x0b, 0xa3, + 0xb9, 0xbe, 0xf2, 0x09, 0xc8, 0x92, 0x7f, 0xd9, 0xef, 0xd9, 0x62, 0xc0, 0xff, 0xc5, 0xc1, 0x1d, + 0x04, 0x79, 0xb3, 0x1f, 0x34, 0x02, 0x33, 0xde, 0xd9, 0xff, 0xcd, 0x57, 0x5a, 0xe8, 0x2b, 0x65, + 0xc8, 0xf9, 0x41, 0xa3, 0xd1, 0xe6, 0xfd, 0x69, 0x0c, 0xfc, 0x7f, 0x3e, 0x08, 0xaf, 0x2c, 0x42, + 0x0c, 0x59, 0xed, 0x9b, 0xd7, 0x03, 0xd7, 0xa1, 0x9f, 0x39, 0xe2, 0x18, 0x1e, 0x70, 0x86, 0x08, + 0xa4, 0x52, 0x1b, 0x7c, 0x7d, 0x0b, 0x8b, 0xce, 0xa2, 0xc3, 0x2e, 0x6e, 0x5f, 0x2c, 0xc5, 0xdf, + 0xc0, 0xc2, 0x5f, 0xa7, 0x60, 0x0c, 0xdf, 0xd2, 0x5b, 0xae, 0x20, 0x41, 0x29, 0x52, 0x80, 0xa7, + 0x0f, 0x76, 0x7b, 0x5b, 0xfa, 0x82, 0x04, 0x52, 0x19, 0x3d, 0x01, 0xb9, 0x85, 0x4e, 0xf9, 0x67, + 0x3f, 0x87, 0xaa, 0xa4, 0xee, 0xde, 0x9b, 0x3d, 0xa4, 0x46, 0x07, 0xd0, 0xc3, 0x30, 0xb2, 0xd2, + 0xf9, 0x49, 0x5d, 0x92, 0xab, 0x70, 0x19, 0x52, 0x20, 0x51, 0x67, 0x9f, 0x56, 0xf3, 0x95, 0x53, + 0x64, 0xe4, 0x1f, 0xee, 0xcd, 0xee, 0x3d, 0x15, 0x62, 0xed, 0xfc, 0x66, 0xdb, 0x6c, 0xa8, 0x89, + 0x7a, 0x43, 0xc9, 0xfc, 0xe2, 0x6b, 0xb3, 0x87, 0xde, 0x7c, 0x6d, 0x56, 0x2a, 0xd9, 0x20, 0x55, + 0xd0, 0x2c, 0x48, 0x65, 0x6a, 0x46, 0xee, 0xec, 0xe8, 0x3c, 0xd5, 0x2c, 0x57, 0x32, 0x84, 0xf2, + 0xad, 0x7b, 0xb3, 0x92, 0x2a, 0x95, 0x51, 0x05, 0xa4, 0x45, 0xfa, 0x05, 0x22, 0x5f, 0x39, 0xc7, + 0x5f, 0xf5, 0xd4, 0xbe, 0xaf, 0x3a, 0xc3, 0x36, 0xdc, 0xfc, 0xa6, 0x69, 0x07, 0xff, 0xef, 0xec, + 0x25, 0x55, 0x5a, 0x54, 0x52, 0xef, 0x93, 0xf7, 0x3d, 0x0a, 0x52, 0x15, 0xcd, 0x40, 0x8a, 0x24, + 0x43, 0xfa, 0xca, 0x64, 0x05, 0xee, 0xdf, 0x9b, 0x1d, 0x59, 0xde, 0x25, 0x39, 0x4e, 0xa5, 0xf2, + 0xd2, 0x45, 0x90, 0x36, 0xd1, 0xe1, 0x7e, 0xa3, 0x88, 0x29, 0x87, 0x41, 0xaa, 0xf0, 0x5f, 0x8c, + 0x72, 0x71, 0x45, 0x95, 0x2a, 0x4a, 0xea, 0x2e, 0x61, 0x9f, 0x04, 0xa9, 0x76, 0x2a, 0x93, 0x91, + 0xd8, 0x67, 0x35, 0x25, 0x75, 0xf7, 0xf5, 0xd9, 0x43, 0xa5, 0x93, 0x20, 0xa9, 0x68, 0x06, 0xa0, + 0x53, 0x99, 0x28, 0xed, 0x98, 0x1a, 0x91, 0x28, 0xa9, 0xb7, 0x88, 0xea, 0x69, 0xc8, 0x54, 0x75, + 0x5f, 0xfc, 0x08, 0x2f, 0x5d, 0xb7, 0x83, 0xa7, 0xcf, 0x72, 0x2b, 0xb3, 0xff, 0x7b, 0x6f, 0x36, + 0x6d, 0x12, 0x81, 0xca, 0xe4, 0x95, 0xa7, 0xfe, 0xfe, 0x9d, 0x99, 0x43, 0x6f, 0xbf, 0x33, 0x23, + 0xbd, 0xff, 0xce, 0x8c, 0xf4, 0xc3, 0x77, 0x66, 0xa4, 0x3b, 0xf7, 0x67, 0xa4, 0x37, 0xef, 0xcf, + 0x48, 0xdf, 0xba, 0x3f, 0x23, 0x7d, 0xf7, 0xfe, 0x8c, 0x74, 0xf7, 0xfe, 0x8c, 0xf4, 0xd6, 0xfd, + 0x19, 0xe9, 0xed, 0xfb, 0x33, 0xd2, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x26, 0x51, 0x9d, + 0xdd, 0x34, 0x00, 0x00, } r := bytes.NewReader(gzipped) - gzipr, err := gzip.NewReader(r) + gzipr, err := compress_gzip.NewReader(r) if err != nil { panic(err) } - ungzipped, err := ioutil.ReadAll(gzipr) + ungzipped, err := io_ioutil.ReadAll(gzipr) if err != nil { panic(err) } - if err := proto.Unmarshal(ungzipped, d); err != nil { + if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil { panic(err) } return d @@ -927,17 +1130,17 @@ func (this *CastType) Equal(that interface{}) bool { } type AFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetDescription() string GetNumber() int64 GetId() github_com_gogo_protobuf_test.Uuid } -func (this *A) Proto() proto.Message { +func (this *A) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *A) TestProto() proto.Message { +func (this *A) TestProto() github_com_gogo_protobuf_proto.Message { return NewAFromFace(this) } @@ -1372,7 +1575,7 @@ func NewPopulatedE(r randyExample, easy bool) *E { wire = 5 } dAtA := randFieldExample(nil, r, fieldNumber, wire) - proto.SetRawExtension(this, int32(fieldNumber), dAtA) + github_com_gogo_protobuf_proto.SetRawExtension(this, int32(fieldNumber), dAtA) } } return this @@ -1477,6 +1680,9 @@ func encodeVarintPopulateExample(dAtA []byte, v uint64) []byte { return dAtA } func (m *A) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Description) @@ -1491,6 +1697,9 @@ func (m *A) Size() (n int) { } func (m *B) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.A.Size() @@ -1508,6 +1717,9 @@ func (m *B) Size() (n int) { } func (m *C) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.MySize != nil { @@ -1520,6 +1732,9 @@ func (m *C) Size() (n int) { } func (m *U) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.A != nil { @@ -1537,6 +1752,9 @@ func (m *U) Size() (n int) { } func (m *E) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.XXX_extensions != nil { @@ -1549,6 +1767,9 @@ func (m *E) Size() (n int) { } func (m *R) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Recognized != nil { @@ -1558,6 +1779,9 @@ func (m *R) Size() (n int) { } func (m *CastType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Int32 != nil { @@ -1635,7 +1859,7 @@ func (this *E) String() string { return "nil" } s := strings.Join([]string{`&E{`, - `XXX_extensions:` + proto.StringFromExtensionsBytes(this.XXX_extensions) + `,`, + `XXX_extensions:` + github_com_gogo_protobuf_proto.StringFromExtensionsBytes(this.XXX_extensions) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") @@ -2171,7 +2395,7 @@ func (m *E) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - proto.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy]) + github_com_gogo_protobuf_proto.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy]) iNdEx += skippy } else { iNdEx = preIndex @@ -2442,9 +2666,9 @@ var ( ErrIntOverflowExample = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("example.proto", fileDescriptorExample) } +func init() { proto.RegisterFile("example.proto", fileDescriptor_example_32f420a2a58e4270) } -var fileDescriptorExample = []byte{ +var fileDescriptor_example_32f420a2a58e4270 = []byte{ // 425 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0x41, 0x6b, 0x13, 0x41, 0x14, 0xc7, 0xf3, 0x36, 0xdb, 0xba, 0x7d, 0x6d, 0x41, 0x46, 0x0a, 0x41, 0x64, 0x26, 0xac, 0x20, diff --git a/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/Makefile b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/Makefile new file mode 100644 index 000000000..c5f75100d --- /dev/null +++ b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/Makefile @@ -0,0 +1,4 @@ +regenerate: + go install github.com/gogo/protobuf/protoc-gen-gogo + go install github.com/gogo/protobuf/protoc-min-version + protoc-min-version --version="3.0.0" --proto_path=../../../../../../:../../../protobuf/:. --gogo_out=. a.proto \ No newline at end of file diff --git a/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.pb.go b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.pb.go new file mode 100644 index 000000000..e12b0cf18 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.pb.go @@ -0,0 +1,446 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: a.proto + +package imported + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" +import _ "github.com/gogo/protobuf/gogoproto" + +import bytes "bytes" + +import io "io" + +// 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 { + F1 string `protobuf:"bytes,1,opt,name=f1,proto3" json:"f1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *A) Reset() { *m = A{} } +func (m *A) String() string { return proto.CompactTextString(m) } +func (*A) ProtoMessage() {} +func (*A) Descriptor() ([]byte, []int) { + return fileDescriptor_a_b3350f4009dfb5d2, []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 (dst *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(dst, 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 + +func (m *A) GetF1() string { + if m != nil { + return m.F1 + } + return "" +} + +func init() { + proto.RegisterType((*A)(nil), "imported.A") +} +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.F1 != that1.F1 { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +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.F1) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintA(dAtA, i, uint64(len(m.F1))) + i += copy(dAtA[i:], m.F1) + } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } + return i, nil +} + +func encodeVarintA(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 randyA, easy bool) *A { + this := &A{} + this.F1 = string(randStringA(r)) + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedA(r, 2) + } + return this +} + +type randyA interface { + Float32() float32 + Float64() float64 + Int63() int64 + Int31() int32 + Uint32() uint32 + Intn(n int) int +} + +func randUTF8RuneA(r randyA) 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 randStringA(r randyA) string { + v1 := r.Intn(100) + tmps := make([]rune, v1) + for i := 0; i < v1; i++ { + tmps[i] = randUTF8RuneA(r) + } + return string(tmps) +} +func randUnrecognizedA(r randyA, 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 = randFieldA(dAtA, r, fieldNumber, wire) + } + return dAtA +} +func randFieldA(dAtA []byte, r randyA, fieldNumber int, wire int) []byte { + key := uint32(fieldNumber)<<3 | uint32(wire) + switch wire { + case 0: + dAtA = encodeVarintPopulateA(dAtA, uint64(key)) + v2 := r.Int63() + if r.Intn(2) == 0 { + v2 *= -1 + } + dAtA = encodeVarintPopulateA(dAtA, uint64(v2)) + case 1: + dAtA = encodeVarintPopulateA(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 = encodeVarintPopulateA(dAtA, uint64(key)) + ll := r.Intn(100) + dAtA = encodeVarintPopulateA(dAtA, uint64(ll)) + for j := 0; j < ll; j++ { + dAtA = append(dAtA, byte(r.Intn(256))) + } + default: + dAtA = encodeVarintPopulateA(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 encodeVarintPopulateA(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 + l = len(m.F1) + if l > 0 { + n += 1 + l + sovA(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func sovA(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozA(x uint64) (n int) { + return sovA(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +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 ErrIntOverflowA + } + 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 F1", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowA + } + 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 ErrInvalidLengthA + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.F1 = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipA(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthA + } + 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 skipA(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, ErrIntOverflowA + } + 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, ErrIntOverflowA + } + 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, ErrIntOverflowA + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthA + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowA + } + 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 := skipA(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + 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 ( + ErrInvalidLengthA = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowA = fmt.Errorf("proto: integer overflow") +) + +func init() { proto.RegisterFile("a.proto", fileDescriptor_a_b3350f4009dfb5d2) } + +var fileDescriptor_a_b3350f4009dfb5d2 = []byte{ + // 127 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x62, 0x4f, 0xd4, 0x2b, 0x28, + 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xc8, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x49, 0x4d, 0x91, 0xd2, 0x4d, + 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, + 0x2b, 0x48, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, 0x51, 0x49, 0x98, 0x8b, 0xd1, + 0x51, 0x88, 0x8f, 0x8b, 0x29, 0xcd, 0x50, 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x88, 0x29, 0xcd, + 0xd0, 0x49, 0xe2, 0xc7, 0x43, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, 0x92, 0x63, 0x3c, + 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x93, 0xd8, 0xc0, 0xba, + 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x70, 0x12, 0x2a, 0xca, 0x79, 0x00, 0x00, 0x00, +} diff --git a/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.proto b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.proto new file mode 100644 index 000000000..39d65cd1a --- /dev/null +++ b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; +package imported; + +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; + +option (gogoproto.sizer_all) = true; +option (gogoproto.marshaler_all) = true; +option (gogoproto.unmarshaler_all) = true; +option (gogoproto.testgen_all) = true; +option (gogoproto.populate_all) = true; +option (gogoproto.equal_all) = true; + +message A { + string f1 = 1; +} \ No newline at end of file diff --git a/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/b.go b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/b.go new file mode 100644 index 000000000..058e6a3ac --- /dev/null +++ b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/b.go @@ -0,0 +1,55 @@ +package imported + +import ( + "encoding/json" + + "github.com/gogo/protobuf/proto" +) + +type B struct { + A +} + +func (b B) Equal(other B) bool { + return b.A.Equal(other.A) +} + +func (b B) Size() int { + return b.A.Size() +} + +func NewPopulatedB(r randyA) *B { + a := NewPopulatedA(r, true) + if a == nil { + return nil + } + return &B{*a} +} + +func (b B) Marshal() ([]byte, error) { + return proto.Marshal(&b.A) +} + +func (b *B) Unmarshal(data []byte) error { + a := &A{} + err := proto.Unmarshal(data, a) + if err != nil { + return err + } + b.A = *a + return nil +} + +func (b B) MarshalJSON() ([]byte, error) { + return json.Marshal(b.A) +} + +func (b *B) UnmarshalJSON(data []byte) error { + a := &A{} + err := json.Unmarshal(data, a) + if err != nil { + return err + } + *b = B{A: *a} + return nil +} diff --git a/vendor/github.com/gogo/protobuf/test/importdedup/subpkg/subproto.pb.go b/vendor/github.com/gogo/protobuf/test/importdedup/subpkg/subproto.pb.go index 1f24f5d0b..c8666c5b0 100644 --- a/vendor/github.com/gogo/protobuf/test/importdedup/subpkg/subproto.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importdedup/subpkg/subproto.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: subpkg/subproto.proto -/* -Package subpkg is a generated protocol buffer package. - -It is generated from these files: - subpkg/subproto.proto - -It has these top-level messages: - SubObject -*/ package subpkg import proto "github.com/gogo/protobuf/proto" @@ -29,21 +20,42 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type SubObject struct { - XXX_unrecognized []byte `json:"-"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *SubObject) Reset() { *m = SubObject{} } -func (m *SubObject) String() string { return proto.CompactTextString(m) } -func (*SubObject) ProtoMessage() {} -func (*SubObject) Descriptor() ([]byte, []int) { return fileDescriptorSubproto, []int{0} } +func (m *SubObject) Reset() { *m = SubObject{} } +func (m *SubObject) String() string { return proto.CompactTextString(m) } +func (*SubObject) ProtoMessage() {} +func (*SubObject) Descriptor() ([]byte, []int) { + return fileDescriptor_subproto_094c5f22e1aecb1e, []int{0} +} +func (m *SubObject) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubObject.Unmarshal(m, b) +} +func (m *SubObject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubObject.Marshal(b, m, deterministic) +} +func (dst *SubObject) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubObject.Merge(dst, src) +} +func (m *SubObject) XXX_Size() int { + return xxx_messageInfo_SubObject.Size(m) +} +func (m *SubObject) XXX_DiscardUnknown() { + xxx_messageInfo_SubObject.DiscardUnknown(m) +} + +var xxx_messageInfo_SubObject proto.InternalMessageInfo func init() { proto.RegisterType((*SubObject)(nil), "subpkg.SubObject") } -func init() { proto.RegisterFile("subpkg/subproto.proto", fileDescriptorSubproto) } +func init() { proto.RegisterFile("subpkg/subproto.proto", fileDescriptor_subproto_094c5f22e1aecb1e) } -var fileDescriptorSubproto = []byte{ +var fileDescriptor_subproto_094c5f22e1aecb1e = []byte{ // 88 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2d, 0x2e, 0x4d, 0x2a, 0xc8, 0x4e, 0xd7, 0x07, 0x51, 0x45, 0xf9, 0x25, 0xf9, 0x7a, 0x60, 0x52, 0x88, 0x0d, 0x22, 0x2c, diff --git a/vendor/github.com/gogo/protobuf/test/importduplicate/proto/proto.pb.go b/vendor/github.com/gogo/protobuf/test/importduplicate/proto/proto.pb.go index d7100a6ba..f9691630f 100644 --- a/vendor/github.com/gogo/protobuf/test/importduplicate/proto/proto.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importduplicate/proto/proto.pb.go @@ -1,27 +1,20 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: proto/proto.proto -/* -Package proto is a generated protocol buffer package. - -It is generated from these files: - proto/proto.proto - -It has these top-level messages: - Subject -*/ package proto -import proto1 "github.com/gogo/protobuf/proto" +import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" import _ "github.com/gogo/protobuf/gogoproto" +import bytes "bytes" + import strings "strings" import reflect "reflect" // Reference imports to suppress errors if they are not otherwise used. -var _ = proto1.Marshal +var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf @@ -29,18 +22,40 @@ var _ = math.Inf // 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 _ = proto1.GoGoProtoPackageIsVersion2 // please upgrade the proto package +const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type Subject struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Subject) Reset() { *m = Subject{} } -func (m *Subject) String() string { return proto1.CompactTextString(m) } -func (*Subject) ProtoMessage() {} -func (*Subject) Descriptor() ([]byte, []int) { return fileDescriptorProto, []int{0} } +func (m *Subject) Reset() { *m = Subject{} } +func (m *Subject) String() string { return proto.CompactTextString(m) } +func (*Subject) ProtoMessage() {} +func (*Subject) Descriptor() ([]byte, []int) { + return fileDescriptor_proto_2eb405ba8c57e5a9, []int{0} +} +func (m *Subject) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Subject.Unmarshal(m, b) +} +func (m *Subject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Subject.Marshal(b, m, deterministic) +} +func (dst *Subject) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subject.Merge(dst, src) +} +func (m *Subject) XXX_Size() int { + return xxx_messageInfo_Subject.Size(m) +} +func (m *Subject) XXX_DiscardUnknown() { + xxx_messageInfo_Subject.DiscardUnknown(m) +} + +var xxx_messageInfo_Subject proto.InternalMessageInfo func init() { - proto1.RegisterType((*Subject)(nil), "proto.Subject") + proto.RegisterType((*Subject)(nil), "proto.Subject") } func (this *Subject) Equal(that interface{}) bool { if that == nil { @@ -61,6 +76,9 @@ func (this *Subject) Equal(that interface{}) bool { } else if this == nil { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Subject) GoString() string { @@ -69,6 +87,9 @@ func (this *Subject) GoString() string { } s := make([]string, 0, 4) s = append(s, "&proto.Subject{") + if this.XXX_unrecognized != nil { + s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -83,6 +104,7 @@ func valueToGoStringProto(v interface{}, typ string) string { func NewPopulatedSubject(r randyProto, easy bool) *Subject { this := &Subject{} if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedProto(r, 1) } return this } @@ -160,9 +182,9 @@ func encodeVarintPopulateProto(dAtA []byte, v uint64) []byte { return dAtA } -func init() { proto1.RegisterFile("proto/proto.proto", fileDescriptorProto) } +func init() { proto.RegisterFile("proto/proto.proto", fileDescriptor_proto_2eb405ba8c57e5a9) } -var fileDescriptorProto = []byte{ +var fileDescriptor_proto_2eb405ba8c57e5a9 = []byte{ // 103 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2c, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x07, 0x93, 0x7a, 0x60, 0x52, 0x88, 0x15, 0x4c, 0x49, 0xe9, 0xa6, 0x67, 0x96, 0x64, diff --git a/vendor/github.com/gogo/protobuf/test/importduplicate/sortkeys/sortable.pb.go b/vendor/github.com/gogo/protobuf/test/importduplicate/sortkeys/sortable.pb.go index f9c1a8b9f..cb6b8d31b 100644 --- a/vendor/github.com/gogo/protobuf/test/importduplicate/sortkeys/sortable.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importduplicate/sortkeys/sortable.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: sortkeys/sortable.proto -/* -Package sortkeys is a generated protocol buffer package. - -It is generated from these files: - sortkeys/sortable.proto - -It has these top-level messages: - Object -*/ package sortkeys import proto "github.com/gogo/protobuf/proto" @@ -17,6 +8,8 @@ import fmt "fmt" import math "math" import _ "github.com/gogo/protobuf/gogoproto" +import bytes "bytes" + import strings "strings" import reflect "reflect" @@ -32,12 +25,34 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type Object struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Object) Reset() { *m = Object{} } -func (m *Object) String() string { return proto.CompactTextString(m) } -func (*Object) ProtoMessage() {} -func (*Object) Descriptor() ([]byte, []int) { return fileDescriptorSortable, []int{0} } +func (m *Object) Reset() { *m = Object{} } +func (m *Object) String() string { return proto.CompactTextString(m) } +func (*Object) ProtoMessage() {} +func (*Object) Descriptor() ([]byte, []int) { + return fileDescriptor_sortable_d1adc3e2593f24f3, []int{0} +} +func (m *Object) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Object.Unmarshal(m, b) +} +func (m *Object) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Object.Marshal(b, m, deterministic) +} +func (dst *Object) XXX_Merge(src proto.Message) { + xxx_messageInfo_Object.Merge(dst, src) +} +func (m *Object) XXX_Size() int { + return xxx_messageInfo_Object.Size(m) +} +func (m *Object) XXX_DiscardUnknown() { + xxx_messageInfo_Object.DiscardUnknown(m) +} + +var xxx_messageInfo_Object proto.InternalMessageInfo func init() { proto.RegisterType((*Object)(nil), "sortkeys.Object") @@ -61,6 +76,9 @@ func (this *Object) Equal(that interface{}) bool { } else if this == nil { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Object) GoString() string { @@ -69,6 +87,9 @@ func (this *Object) GoString() string { } s := make([]string, 0, 4) s = append(s, "&sortkeys.Object{") + if this.XXX_unrecognized != nil { + s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -83,6 +104,7 @@ func valueToGoStringSortable(v interface{}, typ string) string { func NewPopulatedObject(r randySortable, easy bool) *Object { this := &Object{} if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedSortable(r, 1) } return this } @@ -160,9 +182,9 @@ func encodeVarintPopulateSortable(dAtA []byte, v uint64) []byte { return dAtA } -func init() { proto.RegisterFile("sortkeys/sortable.proto", fileDescriptorSortable) } +func init() { proto.RegisterFile("sortkeys/sortable.proto", fileDescriptor_sortable_d1adc3e2593f24f3) } -var fileDescriptorSortable = []byte{ +var fileDescriptor_sortable_d1adc3e2593f24f3 = []byte{ // 115 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2f, 0xce, 0x2f, 0x2a, 0xc9, 0x4e, 0xad, 0x2c, 0xd6, 0x07, 0x31, 0x12, 0x93, 0x72, 0x52, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, diff --git a/vendor/github.com/gogo/protobuf/test/indeximport-issue72/index/index.pb.go b/vendor/github.com/gogo/protobuf/test/indeximport-issue72/index/index.pb.go index 7a05a4935..343c85bed 100644 --- a/vendor/github.com/gogo/protobuf/test/indeximport-issue72/index/index.pb.go +++ b/vendor/github.com/gogo/protobuf/test/indeximport-issue72/index/index.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: index.proto -/* - Package index is a generated protocol buffer package. - - It is generated from these files: - index.proto - - It has these top-level messages: - IndexQuery -*/ package index import proto "github.com/gogo/protobuf/proto" @@ -33,15 +24,45 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type IndexQuery struct { - Key *string `protobuf:"bytes,1,opt,name=Key" json:"Key,omitempty"` - Value *string `protobuf:"bytes,2,opt,name=Value" json:"Value,omitempty"` - XXX_unrecognized []byte `json:"-"` + Key *string `protobuf:"bytes,1,opt,name=Key" json:"Key,omitempty"` + Value *string `protobuf:"bytes,2,opt,name=Value" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *IndexQuery) Reset() { *m = IndexQuery{} } -func (m *IndexQuery) String() string { return proto.CompactTextString(m) } -func (*IndexQuery) ProtoMessage() {} -func (*IndexQuery) Descriptor() ([]byte, []int) { return fileDescriptorIndex, []int{0} } +func (m *IndexQuery) Reset() { *m = IndexQuery{} } +func (m *IndexQuery) String() string { return proto.CompactTextString(m) } +func (*IndexQuery) ProtoMessage() {} +func (*IndexQuery) Descriptor() ([]byte, []int) { + return fileDescriptor_index_5bc64712555c00b6, []int{0} +} +func (m *IndexQuery) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *IndexQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_IndexQuery.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 (dst *IndexQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_IndexQuery.Merge(dst, src) +} +func (m *IndexQuery) XXX_Size() int { + return m.Size() +} +func (m *IndexQuery) XXX_DiscardUnknown() { + xxx_messageInfo_IndexQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_IndexQuery proto.InternalMessageInfo func (m *IndexQuery) GetKey() string { if m != nil && m.Key != nil { @@ -233,6 +254,9 @@ func encodeVarintPopulateIndex(dAtA []byte, v uint64) []byte { return dAtA } func (m *IndexQuery) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Key != nil { @@ -478,9 +502,9 @@ var ( ErrIntOverflowIndex = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("index.proto", fileDescriptorIndex) } +func init() { proto.RegisterFile("index.proto", fileDescriptor_index_5bc64712555c00b6) } -var fileDescriptorIndex = []byte{ +var fileDescriptor_index_5bc64712555c00b6 = []byte{ // 141 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xce, 0xcc, 0x4b, 0x49, 0xad, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x73, 0xa4, 0x74, 0xd3, 0x33, 0x4b, diff --git a/vendor/github.com/gogo/protobuf/test/issue312/issue312.pb.go b/vendor/github.com/gogo/protobuf/test/issue312/issue312.pb.go index 56a3c511d..98b0142c4 100644 --- a/vendor/github.com/gogo/protobuf/test/issue312/issue312.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue312/issue312.pb.go @@ -1,14 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: issue312.proto -/* -Package issue312 is a generated protocol buffer package. - -It is generated from these files: - issue312.proto - -It has these top-level messages: -*/ package issue312 import proto "github.com/gogo/protobuf/proto" @@ -62,15 +54,17 @@ func (x *TaskState) UnmarshalJSON(data []byte) error { *x = TaskState(value) return nil } -func (TaskState) EnumDescriptor() ([]byte, []int) { return fileDescriptorIssue312, []int{0} } +func (TaskState) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_issue312_ffe23d3d41bbbf36, []int{0} +} func init() { proto.RegisterEnum("issue312.TaskState", TaskState_name, TaskState_value) } -func init() { proto.RegisterFile("issue312.proto", fileDescriptorIssue312) } +func init() { proto.RegisterFile("issue312.proto", fileDescriptor_issue312_ffe23d3d41bbbf36) } -var fileDescriptorIssue312 = []byte{ +var fileDescriptor_issue312_ffe23d3d41bbbf36 = []byte{ // 147 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, 0x4d, 0x35, 0x36, 0x34, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, diff --git a/vendor/github.com/gogo/protobuf/test/issue411/Makefile b/vendor/github.com/gogo/protobuf/test/issue411/Makefile new file mode 100644 index 000000000..7e0573b61 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/test/issue411/Makefile @@ -0,0 +1,3 @@ +regenerate: + go install github.com/gogo/protobuf/protoc-gen-gogo + protoc-min-version --version="3.0.0" --gogo_out=Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types:. --proto_path=../../../../../:../../protobuf/:. issue411.proto diff --git a/vendor/github.com/gogo/protobuf/test/issue411/ids.go b/vendor/github.com/gogo/protobuf/test/issue411/ids.go new file mode 100644 index 000000000..ee7eab0f5 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/test/issue411/ids.go @@ -0,0 +1,222 @@ +package issue411 + +import ( + "encoding/base64" + "encoding/binary" + "fmt" + "strconv" +) + +// TraceID is a random 128bit identifier for a trace +type TraceID struct { + Low uint64 `json:"lo"` + High uint64 `json:"hi"` +} + +// SpanID is a random 64bit identifier for a span +type SpanID uint64 + +// ------- TraceID ------- + +// NewTraceID creates a new TraceID from two 64bit unsigned ints. +func NewTraceID(high, low uint64) TraceID { + return TraceID{High: high, Low: low} +} + +func (t TraceID) String() string { + if t.High == 0 { + return fmt.Sprintf("%x", t.Low) + } + return fmt.Sprintf("%x%016x", t.High, t.Low) +} + +// TraceIDFromString creates a TraceID from a hexadecimal string +func TraceIDFromString(s string) (TraceID, error) { + var hi, lo uint64 + var err error + if len(s) > 32 { + return TraceID{}, fmt.Errorf("TraceID cannot be longer than 32 hex characters: %s", s) + } else if len(s) > 16 { + hiLen := len(s) - 16 + if hi, err = strconv.ParseUint(s[0:hiLen], 16, 64); err != nil { + return TraceID{}, err + } + if lo, err = strconv.ParseUint(s[hiLen:], 16, 64); err != nil { + return TraceID{}, err + } + } else { + if lo, err = strconv.ParseUint(s, 16, 64); err != nil { + return TraceID{}, err + } + } + return TraceID{High: hi, Low: lo}, nil +} + +// MarshalText is called by encoding/json, which we do not want people to use. +func (t TraceID) MarshalText() ([]byte, error) { + return nil, fmt.Errorf("unsupported method TraceID.MarshalText; please use github.com/gogo/protobuf/jsonpb for marshalling") +} + +// UnmarshalText is called by encoding/json, which we do not want people to use. +func (t *TraceID) UnmarshalText(text []byte) error { + return fmt.Errorf("unsupported method TraceID.UnmarshalText; please use github.com/gogo/protobuf/jsonpb for marshalling") +} + +// Size returns the size of this datum in protobuf. It is always 16 bytes. +func (t *TraceID) Size() int { + return 16 +} + +// Marshal converts trace ID into a binary representation. Called by protobuf serialization. +func (t TraceID) Marshal() ([]byte, error) { + b := make([]byte, t.Size()) + _, err := t.MarshalTo(b) + return b, err +} + +// MarshalTo converts trace ID into a binary representation. Called by protobuf serialization. +func (t *TraceID) MarshalTo(data []byte) (n int, err error) { + var b [16]byte + binary.BigEndian.PutUint64(b[:8], uint64(t.High)) + binary.BigEndian.PutUint64(b[8:], uint64(t.Low)) + return marshalBytes(data, b[:]) +} + +// Unmarshal inflates this trace ID from binary representation. Called by protobuf serialization. +func (t *TraceID) Unmarshal(data []byte) error { + if len(data) < 16 { + return fmt.Errorf("buffer is too short") + } + t.High = binary.BigEndian.Uint64(data[:8]) + t.Low = binary.BigEndian.Uint64(data[8:]) + return nil +} + +func marshalBytes(dst []byte, src []byte) (n int, err error) { + if len(dst) < len(src) { + return 0, fmt.Errorf("buffer is too short") + } + return copy(dst, src), nil +} + +// MarshalJSON converts trace id into a base64 string enclosed in quotes. +// Used by protobuf JSON serialization. +// Example: {high:2, low:1} => "AAAAAAAAAAIAAAAAAAAAAQ==". +func (t TraceID) MarshalJSON() ([]byte, error) { + var b [16]byte + _, err := t.MarshalTo(b[:]) // can only error on incorrect buffer size + if err != nil { + return []byte{}, err + } + s := make([]byte, 24+2) + base64.StdEncoding.Encode(s[1:25], b[:]) + s[0], s[25] = '"', '"' + return s, nil +} + +// UnmarshalJSON inflates trace id from base64 string, possibly enclosed in quotes. +// User by protobuf JSON serialization. +func (t *TraceID) UnmarshalJSON(data []byte) error { + s := string(data) + if l := len(s); l > 2 && s[0] == '"' && s[l-1] == '"' { + s = s[1 : l-1] + } + b, err := base64.StdEncoding.DecodeString(s) + if err != nil { + return fmt.Errorf("cannot unmarshal TraceID from string '%s': %v", string(data), err) + } + return t.Unmarshal(b) +} + +// ------- SpanID ------- + +// NewSpanID creates a new SpanID from a 64bit unsigned int. +func NewSpanID(v uint64) SpanID { + return SpanID(v) +} + +func (s SpanID) String() string { + return fmt.Sprintf("%x", uint64(s)) +} + +// SpanIDFromString creates a SpanID from a hexadecimal string +func SpanIDFromString(s string) (SpanID, error) { + if len(s) > 16 { + return SpanID(0), fmt.Errorf("SpanID cannot be longer than 16 hex characters: %s", s) + } + id, err := strconv.ParseUint(s, 16, 64) + if err != nil { + return SpanID(0), err + } + return SpanID(id), nil +} + +// MarshalText is called by encoding/json, which we do not want people to use. +func (s SpanID) MarshalText() ([]byte, error) { + return nil, fmt.Errorf("unsupported method SpanID.MarshalText; please use github.com/gogo/protobuf/jsonpb for marshalling") +} + +// UnmarshalText is called by encoding/json, which we do not want people to use. +func (s *SpanID) UnmarshalText(text []byte) error { + return fmt.Errorf("unsupported method SpanID.UnmarshalText; please use github.com/gogo/protobuf/jsonpb for marshalling") +} + +// Size returns the size of this datum in protobuf. It is always 8 bytes. +func (s *SpanID) Size() int { + return 8 +} + +// Marshal converts span ID into a binary representation. Called by protobuf serialization. +func (s SpanID) Marshal() ([]byte, error) { + b := make([]byte, s.Size()) + _, err := s.MarshalTo(b) + return b, err +} + +// MarshalTo converts span ID into a binary representation. Called by protobuf serialization. +func (s *SpanID) MarshalTo(data []byte) (n int, err error) { + var b [8]byte + binary.BigEndian.PutUint64(b[:], uint64(*s)) + return marshalBytes(data, b[:]) +} + +// Unmarshal inflates span ID from a binary representation. Called by protobuf serialization. +func (s *SpanID) Unmarshal(data []byte) error { + if len(data) < 8 { + return fmt.Errorf("buffer is too short") + } + *s = NewSpanID(binary.BigEndian.Uint64(data)) + return nil +} + +// MarshalJSON converts span id into a base64 string enclosed in quotes. +// Used by protobuf JSON serialization. +// Example: {1} => "AAAAAAAAAAE=". +func (s SpanID) MarshalJSON() ([]byte, error) { + var b [8]byte + _, err := s.MarshalTo(b[:]) // can only error on incorrect buffer size + if err != nil { + return []byte{}, err + } + v := make([]byte, 12+2) + base64.StdEncoding.Encode(v[1:13], b[:]) + v[0], v[13] = '"', '"' + return v, nil +} + +// UnmarshalJSON inflates span id from base64 string, possibly enclosed in quotes. +// User by protobuf JSON serialization. +// +// There appears to be a bug in gogoproto, as this function is only called for numeric values. +// https://github.com/gogo/protobuf/issues/411#issuecomment-393856837 +func (s *SpanID) UnmarshalJSON(data []byte) error { + str := string(data) + if l := len(str); l > 2 && str[0] == '"' && str[l-1] == '"' { + str = str[1 : l-1] + } + b, err := base64.StdEncoding.DecodeString(str) + if err != nil { + return fmt.Errorf("cannot unmarshal SpanID from string '%s': %v", string(data), err) + } + return s.Unmarshal(b) +} diff --git a/vendor/github.com/gogo/protobuf/test/issue411/issue411.pb.go b/vendor/github.com/gogo/protobuf/test/issue411/issue411.pb.go new file mode 100644 index 000000000..6a31eceda --- /dev/null +++ b/vendor/github.com/gogo/protobuf/test/issue411/issue411.pb.go @@ -0,0 +1,72 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: issue411.proto + +package issue411 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" +import _ "github.com/gogo/protobuf/gogoproto" + +// 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 Span struct { + TraceID TraceID `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3,customtype=TraceID" json:"trace_id"` + SpanID SpanID `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3,customtype=SpanID" json:"span_id"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Span) Reset() { *m = Span{} } +func (m *Span) String() string { return proto.CompactTextString(m) } +func (*Span) ProtoMessage() {} +func (*Span) Descriptor() ([]byte, []int) { + return fileDescriptor_issue411_3de9ea40a93d370b, []int{0} +} +func (m *Span) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Span.Unmarshal(m, b) +} +func (m *Span) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Span.Marshal(b, m, deterministic) +} +func (dst *Span) XXX_Merge(src proto.Message) { + xxx_messageInfo_Span.Merge(dst, src) +} +func (m *Span) XXX_Size() int { + return xxx_messageInfo_Span.Size(m) +} +func (m *Span) XXX_DiscardUnknown() { + xxx_messageInfo_Span.DiscardUnknown(m) +} + +var xxx_messageInfo_Span proto.InternalMessageInfo + +func init() { + proto.RegisterType((*Span)(nil), "issue411.Span") +} + +func init() { proto.RegisterFile("issue411.proto", fileDescriptor_issue411_3de9ea40a93d370b) } + +var fileDescriptor_issue411_3de9ea40a93d370b = []byte{ + // 158 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, + 0x4d, 0x35, 0x31, 0x34, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, + 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, + 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x2a, 0xe0, 0x62, + 0x09, 0x2e, 0x48, 0xcc, 0x13, 0x32, 0xe5, 0xe2, 0x28, 0x29, 0x4a, 0x4c, 0x4e, 0x8d, 0xcf, 0x4c, + 0x91, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x71, 0x92, 0x3a, 0x71, 0x4f, 0x9e, 0xe1, 0xd6, 0x3d, 0x79, + 0xf6, 0x10, 0x90, 0xb8, 0xa7, 0xcb, 0x23, 0x04, 0x33, 0x88, 0x1d, 0xac, 0xd6, 0x33, 0x45, 0xc8, + 0x90, 0x8b, 0xbd, 0xb8, 0x20, 0x31, 0x0f, 0xa4, 0x8b, 0x09, 0xac, 0x4b, 0x02, 0xaa, 0x8b, 0x0d, + 0x64, 0x2a, 0x58, 0x13, 0x94, 0x15, 0xc4, 0x06, 0x52, 0xe8, 0x99, 0x92, 0xc4, 0x06, 0xb6, 0xd8, + 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xd9, 0x68, 0x60, 0x2b, 0xc3, 0x00, 0x00, 0x00, +} diff --git a/vendor/github.com/gogo/protobuf/test/issue411/issue411.proto b/vendor/github.com/gogo/protobuf/test/issue411/issue411.proto new file mode 100644 index 000000000..e9f592f7c --- /dev/null +++ b/vendor/github.com/gogo/protobuf/test/issue411/issue411.proto @@ -0,0 +1,49 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2015 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package issue411; + +import "github.com/gogo/protobuf/gogoproto/gogo.proto"; + +message Span { + bytes trace_id = 1 [ + (gogoproto.nullable) = false, + (gogoproto.customtype) = "TraceID", + (gogoproto.customname) = "TraceID" + ]; + bytes span_id = 2 [ + (gogoproto.nullable) = false, + (gogoproto.customtype) = "SpanID", + (gogoproto.customname) = "SpanID" + ]; +} diff --git a/vendor/github.com/gogo/protobuf/test/thetest.pb.go b/vendor/github.com/gogo/protobuf/test/thetest.pb.go index 692f99634..131c864de 100644 --- a/vendor/github.com/gogo/protobuf/test/thetest.pb.go +++ b/vendor/github.com/gogo/protobuf/test/thetest.pb.go @@ -1,78 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: thetest.proto -/* - Package test is a generated protocol buffer package. - - It is generated from these files: - thetest.proto - - It has these top-level messages: - NidOptNative - NinOptNative - NidRepNative - NinRepNative - NidRepPackedNative - NinRepPackedNative - NidOptStruct - NinOptStruct - NidRepStruct - NinRepStruct - NidEmbeddedStruct - NinEmbeddedStruct - NidNestedStruct - NinNestedStruct - NidOptCustom - CustomDash - NinOptCustom - NidRepCustom - NinRepCustom - NinOptNativeUnion - NinOptStructUnion - NinEmbeddedStructUnion - NinNestedStructUnion - Tree - OrBranch - AndBranch - Leaf - DeepTree - ADeepBranch - AndDeepBranch - DeepLeaf - Nil - NidOptEnum - NinOptEnum - NidRepEnum - NinRepEnum - NinOptEnumDefault - AnotherNinOptEnum - AnotherNinOptEnumDefault - Timer - MyExtendable - OtherExtenable - NestedDefinition - NestedScope - NinOptNativeDefault - CustomContainer - CustomNameNidOptNative - CustomNameNinOptNative - CustomNameNinRepNative - CustomNameNinStruct - CustomNameCustomType - CustomNameNinEmbeddedStructUnion - CustomNameEnum - NoExtensionsMap - Unrecognized - UnrecognizedWithInner - UnrecognizedWithEmbed - Node - NonByteCustomType - NidOptNonByteCustomType - NinOptNonByteCustomType - NidRepNonByteCustomType - NinRepNonByteCustomType - ProtoType -*/ package test import proto "github.com/gogo/protobuf/proto" @@ -84,11 +12,12 @@ import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custo import github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" import bytes "bytes" -import sortkeys "github.com/gogo/protobuf/sortkeys" +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import gzip "compress/gzip" -import ioutil "io/ioutil" +import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" +import compress_gzip "compress/gzip" +import io_ioutil "io/ioutil" import strconv "strconv" @@ -142,7 +71,9 @@ func (x *TheTestEnum) UnmarshalJSON(data []byte) error { *x = TheTestEnum(value) return nil } -func (TheTestEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptorThetest, []int{0} } +func (TheTestEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{0} +} type AnotherTestEnum int32 @@ -176,7 +107,9 @@ func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { *x = AnotherTestEnum(value) return nil } -func (AnotherTestEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptorThetest, []int{1} } +func (AnotherTestEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{1} +} // YetAnotherTestEnum is used to test cross-package import of custom name // fields and default resolution. @@ -212,7 +145,9 @@ func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetAnotherTestEnum(value) return nil } -func (YetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptorThetest, []int{2} } +func (YetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{2} +} // YetAnotherTestEnum is used to test cross-package import of custom name // fields and default resolution. @@ -248,7 +183,9 @@ func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetYetAnotherTestEnum(value) return nil } -func (YetYetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptorThetest, []int{3} } +func (YetYetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{3} +} type NestedDefinition_NestedEnum int32 @@ -280,502 +217,1279 @@ func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { return nil } func (NestedDefinition_NestedEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{42, 0} + return fileDescriptor_thetest_14aea7c379120fb7, []int{42, 0} } type NidOptNative struct { - Field1 float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` - Field2 float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` - Field3 int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3"` - Field4 int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4"` - Field5 uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5"` - Field6 uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` - Field7 int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` - Field8 int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8"` - Field9 uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9"` - Field10 int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10"` - Field11 uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11"` - Field12 int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12"` - Field13 bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` - Field14 string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` - XXX_unrecognized []byte `json:"-"` + Field1 float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` + Field2 float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` + Field3 int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3"` + Field4 int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4"` + Field5 uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5"` + Field6 uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` + Field7 int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` + Field8 int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8"` + Field9 uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9"` + Field10 int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10"` + Field11 uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11"` + Field12 int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12"` + Field13 bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` + Field14 string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptNative) Reset() { *m = NidOptNative{} } -func (*NidOptNative) ProtoMessage() {} -func (*NidOptNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{0} } +func (m *NidOptNative) Reset() { *m = NidOptNative{} } +func (*NidOptNative) ProtoMessage() {} +func (*NidOptNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{0} +} +func (m *NidOptNative) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidOptNative.Unmarshal(m, b) +} +func (m *NidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidOptNative.Marshal(b, m, deterministic) +} +func (dst *NidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNative.Merge(dst, src) +} +func (m *NidOptNative) XXX_Size() int { + return xxx_messageInfo_NidOptNative.Size(m) +} +func (m *NidOptNative) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptNative proto.InternalMessageInfo type NinOptNative struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` - Field4 *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` - Field5 *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - Field8 *int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8,omitempty"` - Field9 *uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9,omitempty"` - Field10 *int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10,omitempty"` - Field11 *uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11,omitempty"` - Field12 *int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` + Field4 *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` + Field5 *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + Field8 *int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8,omitempty"` + Field9 *uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9,omitempty"` + Field10 *int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10,omitempty"` + Field11 *uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11,omitempty"` + Field12 *int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptNative) Reset() { *m = NinOptNative{} } -func (*NinOptNative) ProtoMessage() {} -func (*NinOptNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{1} } +func (m *NinOptNative) Reset() { *m = NinOptNative{} } +func (*NinOptNative) ProtoMessage() {} +func (*NinOptNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{1} +} +func (m *NinOptNative) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinOptNative.Unmarshal(m, b) +} +func (m *NinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinOptNative.Marshal(b, m, deterministic) +} +func (dst *NinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNative.Merge(dst, src) +} +func (m *NinOptNative) XXX_Size() int { + return xxx_messageInfo_NinOptNative.Size(m) +} +func (m *NinOptNative) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptNative proto.InternalMessageInfo type NidRepNative struct { - Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - Field3 []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` - Field4 []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` - Field5 []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - Field8 []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` - Field9 []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` - Field10 []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` - Field11 []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` - Field12 []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + Field3 []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` + Field4 []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` + Field5 []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + Field8 []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` + Field9 []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` + Field10 []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` + Field11 []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` + Field12 []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepNative) Reset() { *m = NidRepNative{} } -func (*NidRepNative) ProtoMessage() {} -func (*NidRepNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{2} } +func (m *NidRepNative) Reset() { *m = NidRepNative{} } +func (*NidRepNative) ProtoMessage() {} +func (*NidRepNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{2} +} +func (m *NidRepNative) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidRepNative.Unmarshal(m, b) +} +func (m *NidRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidRepNative.Marshal(b, m, deterministic) +} +func (dst *NidRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNative.Merge(dst, src) +} +func (m *NidRepNative) XXX_Size() int { + return xxx_messageInfo_NidRepNative.Size(m) +} +func (m *NidRepNative) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepNative proto.InternalMessageInfo type NinRepNative struct { - Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - Field3 []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` - Field4 []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` - Field5 []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - Field8 []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` - Field9 []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` - Field10 []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` - Field11 []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` - Field12 []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + Field3 []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` + Field4 []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` + Field5 []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + Field8 []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` + Field9 []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` + Field10 []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` + Field11 []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` + Field12 []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepNative) Reset() { *m = NinRepNative{} } -func (*NinRepNative) ProtoMessage() {} -func (*NinRepNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{3} } +func (m *NinRepNative) Reset() { *m = NinRepNative{} } +func (*NinRepNative) ProtoMessage() {} +func (*NinRepNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{3} +} +func (m *NinRepNative) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinRepNative.Unmarshal(m, b) +} +func (m *NinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinRepNative.Marshal(b, m, deterministic) +} +func (dst *NinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNative.Merge(dst, src) +} +func (m *NinRepNative) XXX_Size() int { + return xxx_messageInfo_NinRepNative.Size(m) +} +func (m *NinRepNative) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepNative proto.InternalMessageInfo type NidRepPackedNative struct { - Field1 []float64 `protobuf:"fixed64,1,rep,packed,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,packed,name=Field2" json:"Field2,omitempty"` - Field3 []int32 `protobuf:"varint,3,rep,packed,name=Field3" json:"Field3,omitempty"` - Field4 []int64 `protobuf:"varint,4,rep,packed,name=Field4" json:"Field4,omitempty"` - Field5 []uint32 `protobuf:"varint,5,rep,packed,name=Field5" json:"Field5,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,packed,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,packed,name=Field7" json:"Field7,omitempty"` - Field8 []int64 `protobuf:"zigzag64,8,rep,packed,name=Field8" json:"Field8,omitempty"` - Field9 []uint32 `protobuf:"fixed32,9,rep,packed,name=Field9" json:"Field9,omitempty"` - Field10 []int32 `protobuf:"fixed32,10,rep,packed,name=Field10" json:"Field10,omitempty"` - Field11 []uint64 `protobuf:"fixed64,11,rep,packed,name=Field11" json:"Field11,omitempty"` - Field12 []int64 `protobuf:"fixed64,12,rep,packed,name=Field12" json:"Field12,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,packed,name=Field13" json:"Field13,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,packed,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,packed,name=Field2" json:"Field2,omitempty"` + Field3 []int32 `protobuf:"varint,3,rep,packed,name=Field3" json:"Field3,omitempty"` + Field4 []int64 `protobuf:"varint,4,rep,packed,name=Field4" json:"Field4,omitempty"` + Field5 []uint32 `protobuf:"varint,5,rep,packed,name=Field5" json:"Field5,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,packed,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,packed,name=Field7" json:"Field7,omitempty"` + Field8 []int64 `protobuf:"zigzag64,8,rep,packed,name=Field8" json:"Field8,omitempty"` + Field9 []uint32 `protobuf:"fixed32,9,rep,packed,name=Field9" json:"Field9,omitempty"` + Field10 []int32 `protobuf:"fixed32,10,rep,packed,name=Field10" json:"Field10,omitempty"` + Field11 []uint64 `protobuf:"fixed64,11,rep,packed,name=Field11" json:"Field11,omitempty"` + Field12 []int64 `protobuf:"fixed64,12,rep,packed,name=Field12" json:"Field12,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,packed,name=Field13" json:"Field13,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepPackedNative) Reset() { *m = NidRepPackedNative{} } -func (*NidRepPackedNative) ProtoMessage() {} -func (*NidRepPackedNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{4} } +func (m *NidRepPackedNative) Reset() { *m = NidRepPackedNative{} } +func (*NidRepPackedNative) ProtoMessage() {} +func (*NidRepPackedNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{4} +} +func (m *NidRepPackedNative) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidRepPackedNative.Unmarshal(m, b) +} +func (m *NidRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidRepPackedNative.Marshal(b, m, deterministic) +} +func (dst *NidRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepPackedNative.Merge(dst, src) +} +func (m *NidRepPackedNative) XXX_Size() int { + return xxx_messageInfo_NidRepPackedNative.Size(m) +} +func (m *NidRepPackedNative) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepPackedNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepPackedNative proto.InternalMessageInfo type NinRepPackedNative struct { - Field1 []float64 `protobuf:"fixed64,1,rep,packed,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,packed,name=Field2" json:"Field2,omitempty"` - Field3 []int32 `protobuf:"varint,3,rep,packed,name=Field3" json:"Field3,omitempty"` - Field4 []int64 `protobuf:"varint,4,rep,packed,name=Field4" json:"Field4,omitempty"` - Field5 []uint32 `protobuf:"varint,5,rep,packed,name=Field5" json:"Field5,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,packed,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,packed,name=Field7" json:"Field7,omitempty"` - Field8 []int64 `protobuf:"zigzag64,8,rep,packed,name=Field8" json:"Field8,omitempty"` - Field9 []uint32 `protobuf:"fixed32,9,rep,packed,name=Field9" json:"Field9,omitempty"` - Field10 []int32 `protobuf:"fixed32,10,rep,packed,name=Field10" json:"Field10,omitempty"` - Field11 []uint64 `protobuf:"fixed64,11,rep,packed,name=Field11" json:"Field11,omitempty"` - Field12 []int64 `protobuf:"fixed64,12,rep,packed,name=Field12" json:"Field12,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,packed,name=Field13" json:"Field13,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,packed,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,packed,name=Field2" json:"Field2,omitempty"` + Field3 []int32 `protobuf:"varint,3,rep,packed,name=Field3" json:"Field3,omitempty"` + Field4 []int64 `protobuf:"varint,4,rep,packed,name=Field4" json:"Field4,omitempty"` + Field5 []uint32 `protobuf:"varint,5,rep,packed,name=Field5" json:"Field5,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,packed,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,packed,name=Field7" json:"Field7,omitempty"` + Field8 []int64 `protobuf:"zigzag64,8,rep,packed,name=Field8" json:"Field8,omitempty"` + Field9 []uint32 `protobuf:"fixed32,9,rep,packed,name=Field9" json:"Field9,omitempty"` + Field10 []int32 `protobuf:"fixed32,10,rep,packed,name=Field10" json:"Field10,omitempty"` + Field11 []uint64 `protobuf:"fixed64,11,rep,packed,name=Field11" json:"Field11,omitempty"` + Field12 []int64 `protobuf:"fixed64,12,rep,packed,name=Field12" json:"Field12,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,packed,name=Field13" json:"Field13,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } -func (*NinRepPackedNative) ProtoMessage() {} -func (*NinRepPackedNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{5} } +func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } +func (*NinRepPackedNative) ProtoMessage() {} +func (*NinRepPackedNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{5} +} +func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinRepPackedNative.Unmarshal(m, b) +} +func (m *NinRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinRepPackedNative.Marshal(b, m, deterministic) +} +func (dst *NinRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepPackedNative.Merge(dst, src) +} +func (m *NinRepPackedNative) XXX_Size() int { + return xxx_messageInfo_NinRepPackedNative.Size(m) +} +func (m *NinRepPackedNative) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepPackedNative.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepPackedNative proto.InternalMessageInfo type NidOptStruct struct { - Field1 float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` - Field2 float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` - Field3 NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3"` - Field4 NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4"` - Field6 uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` - Field7 int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` - Field8 NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8"` - Field13 bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` - Field14 string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` - XXX_unrecognized []byte `json:"-"` + Field1 float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` + Field2 float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` + Field3 NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3"` + Field4 NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4"` + Field6 uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` + Field7 int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` + Field8 NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8"` + Field13 bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` + Field14 string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptStruct) Reset() { *m = NidOptStruct{} } -func (*NidOptStruct) ProtoMessage() {} -func (*NidOptStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{6} } +func (m *NidOptStruct) Reset() { *m = NidOptStruct{} } +func (*NidOptStruct) ProtoMessage() {} +func (*NidOptStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{6} +} +func (m *NidOptStruct) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidOptStruct.Unmarshal(m, b) +} +func (m *NidOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidOptStruct.Marshal(b, m, deterministic) +} +func (dst *NidOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptStruct.Merge(dst, src) +} +func (m *NidOptStruct) XXX_Size() int { + return xxx_messageInfo_NidOptStruct.Size(m) +} +func (m *NidOptStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptStruct proto.InternalMessageInfo type NinOptStruct struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` - Field4 *NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - Field8 *NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` + Field4 *NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + Field8 *NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptStruct) Reset() { *m = NinOptStruct{} } -func (*NinOptStruct) ProtoMessage() {} -func (*NinOptStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{7} } +func (m *NinOptStruct) Reset() { *m = NinOptStruct{} } +func (*NinOptStruct) ProtoMessage() {} +func (*NinOptStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{7} +} +func (m *NinOptStruct) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinOptStruct.Unmarshal(m, b) +} +func (m *NinOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinOptStruct.Marshal(b, m, deterministic) +} +func (dst *NinOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStruct.Merge(dst, src) +} +func (m *NinOptStruct) XXX_Size() int { + return xxx_messageInfo_NinOptStruct.Size(m) +} +func (m *NinOptStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptStruct proto.InternalMessageInfo type NidRepStruct struct { - Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - Field3 []NidOptNative `protobuf:"bytes,3,rep,name=Field3" json:"Field3"` - Field4 []NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4"` - Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - Field8 []NidOptNative `protobuf:"bytes,8,rep,name=Field8" json:"Field8"` - Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + Field3 []NidOptNative `protobuf:"bytes,3,rep,name=Field3" json:"Field3"` + Field4 []NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4"` + Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + Field8 []NidOptNative `protobuf:"bytes,8,rep,name=Field8" json:"Field8"` + Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepStruct) Reset() { *m = NidRepStruct{} } -func (*NidRepStruct) ProtoMessage() {} -func (*NidRepStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{8} } +func (m *NidRepStruct) Reset() { *m = NidRepStruct{} } +func (*NidRepStruct) ProtoMessage() {} +func (*NidRepStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{8} +} +func (m *NidRepStruct) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidRepStruct.Unmarshal(m, b) +} +func (m *NidRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidRepStruct.Marshal(b, m, deterministic) +} +func (dst *NidRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepStruct.Merge(dst, src) +} +func (m *NidRepStruct) XXX_Size() int { + return xxx_messageInfo_NidRepStruct.Size(m) +} +func (m *NidRepStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepStruct proto.InternalMessageInfo type NinRepStruct struct { - Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - Field3 []*NidOptNative `protobuf:"bytes,3,rep,name=Field3" json:"Field3,omitempty"` - Field4 []*NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4,omitempty"` - Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - Field8 []*NidOptNative `protobuf:"bytes,8,rep,name=Field8" json:"Field8,omitempty"` - Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + Field2 []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + Field3 []*NidOptNative `protobuf:"bytes,3,rep,name=Field3" json:"Field3,omitempty"` + Field4 []*NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4,omitempty"` + Field6 []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + Field7 []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + Field8 []*NidOptNative `protobuf:"bytes,8,rep,name=Field8" json:"Field8,omitempty"` + Field13 []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + Field14 []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + Field15 [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepStruct) Reset() { *m = NinRepStruct{} } -func (*NinRepStruct) ProtoMessage() {} -func (*NinRepStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{9} } +func (m *NinRepStruct) Reset() { *m = NinRepStruct{} } +func (*NinRepStruct) ProtoMessage() {} +func (*NinRepStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{9} +} +func (m *NinRepStruct) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinRepStruct.Unmarshal(m, b) +} +func (m *NinRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinRepStruct.Marshal(b, m, deterministic) +} +func (dst *NinRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepStruct.Merge(dst, src) +} +func (m *NinRepStruct) XXX_Size() int { + return xxx_messageInfo_NinRepStruct.Size(m) +} +func (m *NinRepStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepStruct proto.InternalMessageInfo type NidEmbeddedStruct struct { - *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` - Field200 NidOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200"` - Field210 bool `protobuf:"varint,210,opt,name=Field210" json:"Field210"` - XXX_unrecognized []byte `json:"-"` + *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` + Field200 NidOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200"` + Field210 bool `protobuf:"varint,210,opt,name=Field210" json:"Field210"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidEmbeddedStruct) Reset() { *m = NidEmbeddedStruct{} } -func (*NidEmbeddedStruct) ProtoMessage() {} -func (*NidEmbeddedStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{10} } +func (m *NidEmbeddedStruct) Reset() { *m = NidEmbeddedStruct{} } +func (*NidEmbeddedStruct) ProtoMessage() {} +func (*NidEmbeddedStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{10} +} +func (m *NidEmbeddedStruct) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidEmbeddedStruct.Unmarshal(m, b) +} +func (m *NidEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidEmbeddedStruct.Marshal(b, m, deterministic) +} +func (dst *NidEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidEmbeddedStruct.Merge(dst, src) +} +func (m *NidEmbeddedStruct) XXX_Size() int { + return xxx_messageInfo_NidEmbeddedStruct.Size(m) +} +func (m *NidEmbeddedStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NidEmbeddedStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NidEmbeddedStruct proto.InternalMessageInfo type NinEmbeddedStruct struct { - *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` - Field200 *NidOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` - Field210 *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` - XXX_unrecognized []byte `json:"-"` + *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` + Field200 *NidOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` + Field210 *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinEmbeddedStruct) Reset() { *m = NinEmbeddedStruct{} } -func (*NinEmbeddedStruct) ProtoMessage() {} -func (*NinEmbeddedStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{11} } +func (m *NinEmbeddedStruct) Reset() { *m = NinEmbeddedStruct{} } +func (*NinEmbeddedStruct) ProtoMessage() {} +func (*NinEmbeddedStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{11} +} +func (m *NinEmbeddedStruct) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinEmbeddedStruct.Unmarshal(m, b) +} +func (m *NinEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinEmbeddedStruct.Marshal(b, m, deterministic) +} +func (dst *NinEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStruct.Merge(dst, src) +} +func (m *NinEmbeddedStruct) XXX_Size() int { + return xxx_messageInfo_NinEmbeddedStruct.Size(m) +} +func (m *NinEmbeddedStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NinEmbeddedStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NinEmbeddedStruct proto.InternalMessageInfo type NidNestedStruct struct { - Field1 NidOptStruct `protobuf:"bytes,1,opt,name=Field1" json:"Field1"` - Field2 []NidRepStruct `protobuf:"bytes,2,rep,name=Field2" json:"Field2"` - XXX_unrecognized []byte `json:"-"` + Field1 NidOptStruct `protobuf:"bytes,1,opt,name=Field1" json:"Field1"` + Field2 []NidRepStruct `protobuf:"bytes,2,rep,name=Field2" json:"Field2"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidNestedStruct) Reset() { *m = NidNestedStruct{} } -func (*NidNestedStruct) ProtoMessage() {} -func (*NidNestedStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{12} } +func (m *NidNestedStruct) Reset() { *m = NidNestedStruct{} } +func (*NidNestedStruct) ProtoMessage() {} +func (*NidNestedStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{12} +} +func (m *NidNestedStruct) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidNestedStruct.Unmarshal(m, b) +} +func (m *NidNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidNestedStruct.Marshal(b, m, deterministic) +} +func (dst *NidNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidNestedStruct.Merge(dst, src) +} +func (m *NidNestedStruct) XXX_Size() int { + return xxx_messageInfo_NidNestedStruct.Size(m) +} +func (m *NidNestedStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NidNestedStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NidNestedStruct proto.InternalMessageInfo type NinNestedStruct struct { - Field1 *NinOptStruct `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 []*NinRepStruct `protobuf:"bytes,2,rep,name=Field2" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *NinOptStruct `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 []*NinRepStruct `protobuf:"bytes,2,rep,name=Field2" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinNestedStruct) Reset() { *m = NinNestedStruct{} } -func (*NinNestedStruct) ProtoMessage() {} -func (*NinNestedStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{13} } +func (m *NinNestedStruct) Reset() { *m = NinNestedStruct{} } +func (*NinNestedStruct) ProtoMessage() {} +func (*NinNestedStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{13} +} +func (m *NinNestedStruct) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinNestedStruct.Unmarshal(m, b) +} +func (m *NinNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinNestedStruct.Marshal(b, m, deterministic) +} +func (dst *NinNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStruct.Merge(dst, src) +} +func (m *NinNestedStruct) XXX_Size() int { + return xxx_messageInfo_NinNestedStruct.Size(m) +} +func (m *NinNestedStruct) XXX_DiscardUnknown() { + xxx_messageInfo_NinNestedStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_NinNestedStruct proto.InternalMessageInfo type NidOptCustom struct { - Id Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id"` - Value github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value"` - XXX_unrecognized []byte `json:"-"` + Id Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id"` + Value github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptCustom) Reset() { *m = NidOptCustom{} } -func (*NidOptCustom) ProtoMessage() {} -func (*NidOptCustom) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{14} } +func (m *NidOptCustom) Reset() { *m = NidOptCustom{} } +func (*NidOptCustom) ProtoMessage() {} +func (*NidOptCustom) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{14} +} +func (m *NidOptCustom) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidOptCustom.Unmarshal(m, b) +} +func (m *NidOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidOptCustom.Marshal(b, m, deterministic) +} +func (dst *NidOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptCustom.Merge(dst, src) +} +func (m *NidOptCustom) XXX_Size() int { + return xxx_messageInfo_NidOptCustom.Size(m) +} +func (m *NidOptCustom) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptCustom.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptCustom proto.InternalMessageInfo type CustomDash struct { - Value *github_com_gogo_protobuf_test_custom_dash_type.Bytes `protobuf:"bytes,1,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom-dash-type.Bytes" json:"Value,omitempty"` - XXX_unrecognized []byte `json:"-"` + Value *github_com_gogo_protobuf_test_custom_dash_type.Bytes `protobuf:"bytes,1,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom-dash-type.Bytes" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomDash) Reset() { *m = CustomDash{} } -func (*CustomDash) ProtoMessage() {} -func (*CustomDash) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{15} } +func (m *CustomDash) Reset() { *m = CustomDash{} } +func (*CustomDash) ProtoMessage() {} +func (*CustomDash) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{15} +} +func (m *CustomDash) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CustomDash.Unmarshal(m, b) +} +func (m *CustomDash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CustomDash.Marshal(b, m, deterministic) +} +func (dst *CustomDash) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomDash.Merge(dst, src) +} +func (m *CustomDash) XXX_Size() int { + return xxx_messageInfo_CustomDash.Size(m) +} +func (m *CustomDash) XXX_DiscardUnknown() { + xxx_messageInfo_CustomDash.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomDash proto.InternalMessageInfo type NinOptCustom struct { - Id *Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id,omitempty"` - Value *github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` - XXX_unrecognized []byte `json:"-"` + Id *Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id,omitempty"` + Value *github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptCustom) Reset() { *m = NinOptCustom{} } -func (*NinOptCustom) ProtoMessage() {} -func (*NinOptCustom) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{16} } +func (m *NinOptCustom) Reset() { *m = NinOptCustom{} } +func (*NinOptCustom) ProtoMessage() {} +func (*NinOptCustom) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{16} +} +func (m *NinOptCustom) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinOptCustom.Unmarshal(m, b) +} +func (m *NinOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinOptCustom.Marshal(b, m, deterministic) +} +func (dst *NinOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptCustom.Merge(dst, src) +} +func (m *NinOptCustom) XXX_Size() int { + return xxx_messageInfo_NinOptCustom.Size(m) +} +func (m *NinOptCustom) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptCustom.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptCustom proto.InternalMessageInfo type NidRepCustom struct { - Id []Uuid `protobuf:"bytes,1,rep,name=Id,customtype=Uuid" json:"Id"` - Value []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value"` - XXX_unrecognized []byte `json:"-"` + Id []Uuid `protobuf:"bytes,1,rep,name=Id,customtype=Uuid" json:"Id"` + Value []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepCustom) Reset() { *m = NidRepCustom{} } -func (*NidRepCustom) ProtoMessage() {} -func (*NidRepCustom) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{17} } +func (m *NidRepCustom) Reset() { *m = NidRepCustom{} } +func (*NidRepCustom) ProtoMessage() {} +func (*NidRepCustom) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{17} +} +func (m *NidRepCustom) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidRepCustom.Unmarshal(m, b) +} +func (m *NidRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidRepCustom.Marshal(b, m, deterministic) +} +func (dst *NidRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepCustom.Merge(dst, src) +} +func (m *NidRepCustom) XXX_Size() int { + return xxx_messageInfo_NidRepCustom.Size(m) +} +func (m *NidRepCustom) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepCustom.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepCustom proto.InternalMessageInfo type NinRepCustom struct { - Id []Uuid `protobuf:"bytes,1,rep,name=Id,customtype=Uuid" json:"Id,omitempty"` - Value []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` - XXX_unrecognized []byte `json:"-"` + Id []Uuid `protobuf:"bytes,1,rep,name=Id,customtype=Uuid" json:"Id,omitempty"` + Value []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,rep,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepCustom) Reset() { *m = NinRepCustom{} } -func (*NinRepCustom) ProtoMessage() {} -func (*NinRepCustom) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{18} } +func (m *NinRepCustom) Reset() { *m = NinRepCustom{} } +func (*NinRepCustom) ProtoMessage() {} +func (*NinRepCustom) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{18} +} +func (m *NinRepCustom) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinRepCustom.Unmarshal(m, b) +} +func (m *NinRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinRepCustom.Marshal(b, m, deterministic) +} +func (dst *NinRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepCustom.Merge(dst, src) +} +func (m *NinRepCustom) XXX_Size() int { + return xxx_messageInfo_NinRepCustom.Size(m) +} +func (m *NinRepCustom) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepCustom.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepCustom proto.InternalMessageInfo type NinOptNativeUnion struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` - Field4 *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` - Field5 *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` + Field4 *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` + Field5 *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptNativeUnion) Reset() { *m = NinOptNativeUnion{} } -func (*NinOptNativeUnion) ProtoMessage() {} -func (*NinOptNativeUnion) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{19} } +func (m *NinOptNativeUnion) Reset() { *m = NinOptNativeUnion{} } +func (*NinOptNativeUnion) ProtoMessage() {} +func (*NinOptNativeUnion) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{19} +} +func (m *NinOptNativeUnion) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinOptNativeUnion.Unmarshal(m, b) +} +func (m *NinOptNativeUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinOptNativeUnion.Marshal(b, m, deterministic) +} +func (dst *NinOptNativeUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeUnion.Merge(dst, src) +} +func (m *NinOptNativeUnion) XXX_Size() int { + return xxx_messageInfo_NinOptNativeUnion.Size(m) +} +func (m *NinOptNativeUnion) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptNativeUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptNativeUnion proto.InternalMessageInfo type NinOptStructUnion struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` - Field4 *NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` + Field4 *NinOptNative `protobuf:"bytes,4,opt,name=Field4" json:"Field4,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptStructUnion) Reset() { *m = NinOptStructUnion{} } -func (*NinOptStructUnion) ProtoMessage() {} -func (*NinOptStructUnion) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{20} } +func (m *NinOptStructUnion) Reset() { *m = NinOptStructUnion{} } +func (*NinOptStructUnion) ProtoMessage() {} +func (*NinOptStructUnion) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{20} +} +func (m *NinOptStructUnion) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinOptStructUnion.Unmarshal(m, b) +} +func (m *NinOptStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinOptStructUnion.Marshal(b, m, deterministic) +} +func (dst *NinOptStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStructUnion.Merge(dst, src) +} +func (m *NinOptStructUnion) XXX_Size() int { + return xxx_messageInfo_NinOptStructUnion.Size(m) +} +func (m *NinOptStructUnion) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptStructUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptStructUnion proto.InternalMessageInfo type NinEmbeddedStructUnion struct { - *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` - Field200 *NinOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` - Field210 *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` - XXX_unrecognized []byte `json:"-"` + *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` + Field200 *NinOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` + Field210 *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinEmbeddedStructUnion) Reset() { *m = NinEmbeddedStructUnion{} } -func (*NinEmbeddedStructUnion) ProtoMessage() {} -func (*NinEmbeddedStructUnion) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{21} } +func (m *NinEmbeddedStructUnion) Reset() { *m = NinEmbeddedStructUnion{} } +func (*NinEmbeddedStructUnion) ProtoMessage() {} +func (*NinEmbeddedStructUnion) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{21} +} +func (m *NinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinEmbeddedStructUnion.Unmarshal(m, b) +} +func (m *NinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinEmbeddedStructUnion.Marshal(b, m, deterministic) +} +func (dst *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStructUnion.Merge(dst, src) +} +func (m *NinEmbeddedStructUnion) XXX_Size() int { + return xxx_messageInfo_NinEmbeddedStructUnion.Size(m) +} +func (m *NinEmbeddedStructUnion) XXX_DiscardUnknown() { + xxx_messageInfo_NinEmbeddedStructUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_NinEmbeddedStructUnion proto.InternalMessageInfo type NinNestedStructUnion struct { - Field1 *NinOptNativeUnion `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` - Field2 *NinOptStructUnion `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` - Field3 *NinEmbeddedStructUnion `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *NinOptNativeUnion `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` + Field2 *NinOptStructUnion `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` + Field3 *NinEmbeddedStructUnion `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinNestedStructUnion) Reset() { *m = NinNestedStructUnion{} } -func (*NinNestedStructUnion) ProtoMessage() {} -func (*NinNestedStructUnion) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{22} } +func (m *NinNestedStructUnion) Reset() { *m = NinNestedStructUnion{} } +func (*NinNestedStructUnion) ProtoMessage() {} +func (*NinNestedStructUnion) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{22} +} +func (m *NinNestedStructUnion) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinNestedStructUnion.Unmarshal(m, b) +} +func (m *NinNestedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinNestedStructUnion.Marshal(b, m, deterministic) +} +func (dst *NinNestedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStructUnion.Merge(dst, src) +} +func (m *NinNestedStructUnion) XXX_Size() int { + return xxx_messageInfo_NinNestedStructUnion.Size(m) +} +func (m *NinNestedStructUnion) XXX_DiscardUnknown() { + xxx_messageInfo_NinNestedStructUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_NinNestedStructUnion proto.InternalMessageInfo type Tree struct { - Or *OrBranch `protobuf:"bytes,1,opt,name=Or" json:"Or,omitempty"` - And *AndBranch `protobuf:"bytes,2,opt,name=And" json:"And,omitempty"` - Leaf *Leaf `protobuf:"bytes,3,opt,name=Leaf" json:"Leaf,omitempty"` - XXX_unrecognized []byte `json:"-"` + Or *OrBranch `protobuf:"bytes,1,opt,name=Or" json:"Or,omitempty"` + And *AndBranch `protobuf:"bytes,2,opt,name=And" json:"And,omitempty"` + Leaf *Leaf `protobuf:"bytes,3,opt,name=Leaf" json:"Leaf,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Tree) Reset() { *m = Tree{} } -func (*Tree) ProtoMessage() {} -func (*Tree) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{23} } +func (m *Tree) Reset() { *m = Tree{} } +func (*Tree) ProtoMessage() {} +func (*Tree) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{23} +} +func (m *Tree) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Tree.Unmarshal(m, b) +} +func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Tree.Marshal(b, m, deterministic) +} +func (dst *Tree) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tree.Merge(dst, src) +} +func (m *Tree) XXX_Size() int { + return xxx_messageInfo_Tree.Size(m) +} +func (m *Tree) XXX_DiscardUnknown() { + xxx_messageInfo_Tree.DiscardUnknown(m) +} + +var xxx_messageInfo_Tree proto.InternalMessageInfo type OrBranch struct { - Left Tree `protobuf:"bytes,1,opt,name=Left" json:"Left"` - Right Tree `protobuf:"bytes,2,opt,name=Right" json:"Right"` - XXX_unrecognized []byte `json:"-"` + Left Tree `protobuf:"bytes,1,opt,name=Left" json:"Left"` + Right Tree `protobuf:"bytes,2,opt,name=Right" json:"Right"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *OrBranch) Reset() { *m = OrBranch{} } -func (*OrBranch) ProtoMessage() {} -func (*OrBranch) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{24} } +func (m *OrBranch) Reset() { *m = OrBranch{} } +func (*OrBranch) ProtoMessage() {} +func (*OrBranch) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{24} +} +func (m *OrBranch) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrBranch.Unmarshal(m, b) +} +func (m *OrBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrBranch.Marshal(b, m, deterministic) +} +func (dst *OrBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrBranch.Merge(dst, src) +} +func (m *OrBranch) XXX_Size() int { + return xxx_messageInfo_OrBranch.Size(m) +} +func (m *OrBranch) XXX_DiscardUnknown() { + xxx_messageInfo_OrBranch.DiscardUnknown(m) +} + +var xxx_messageInfo_OrBranch proto.InternalMessageInfo type AndBranch struct { - Left Tree `protobuf:"bytes,1,opt,name=Left" json:"Left"` - Right Tree `protobuf:"bytes,2,opt,name=Right" json:"Right"` - XXX_unrecognized []byte `json:"-"` + Left Tree `protobuf:"bytes,1,opt,name=Left" json:"Left"` + Right Tree `protobuf:"bytes,2,opt,name=Right" json:"Right"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AndBranch) Reset() { *m = AndBranch{} } -func (*AndBranch) ProtoMessage() {} -func (*AndBranch) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{25} } +func (m *AndBranch) Reset() { *m = AndBranch{} } +func (*AndBranch) ProtoMessage() {} +func (*AndBranch) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{25} +} +func (m *AndBranch) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AndBranch.Unmarshal(m, b) +} +func (m *AndBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AndBranch.Marshal(b, m, deterministic) +} +func (dst *AndBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndBranch.Merge(dst, src) +} +func (m *AndBranch) XXX_Size() int { + return xxx_messageInfo_AndBranch.Size(m) +} +func (m *AndBranch) XXX_DiscardUnknown() { + xxx_messageInfo_AndBranch.DiscardUnknown(m) +} + +var xxx_messageInfo_AndBranch proto.InternalMessageInfo type Leaf struct { - Value int64 `protobuf:"varint,1,opt,name=Value" json:"Value"` - StrValue string `protobuf:"bytes,2,opt,name=StrValue" json:"StrValue"` - XXX_unrecognized []byte `json:"-"` + Value int64 `protobuf:"varint,1,opt,name=Value" json:"Value"` + StrValue string `protobuf:"bytes,2,opt,name=StrValue" json:"StrValue"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Leaf) Reset() { *m = Leaf{} } -func (*Leaf) ProtoMessage() {} -func (*Leaf) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{26} } +func (m *Leaf) Reset() { *m = Leaf{} } +func (*Leaf) ProtoMessage() {} +func (*Leaf) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{26} +} +func (m *Leaf) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Leaf.Unmarshal(m, b) +} +func (m *Leaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Leaf.Marshal(b, m, deterministic) +} +func (dst *Leaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_Leaf.Merge(dst, src) +} +func (m *Leaf) XXX_Size() int { + return xxx_messageInfo_Leaf.Size(m) +} +func (m *Leaf) XXX_DiscardUnknown() { + xxx_messageInfo_Leaf.DiscardUnknown(m) +} + +var xxx_messageInfo_Leaf proto.InternalMessageInfo type DeepTree struct { - Down *ADeepBranch `protobuf:"bytes,1,opt,name=Down" json:"Down,omitempty"` - And *AndDeepBranch `protobuf:"bytes,2,opt,name=And" json:"And,omitempty"` - Leaf *DeepLeaf `protobuf:"bytes,3,opt,name=Leaf" json:"Leaf,omitempty"` - XXX_unrecognized []byte `json:"-"` + Down *ADeepBranch `protobuf:"bytes,1,opt,name=Down" json:"Down,omitempty"` + And *AndDeepBranch `protobuf:"bytes,2,opt,name=And" json:"And,omitempty"` + Leaf *DeepLeaf `protobuf:"bytes,3,opt,name=Leaf" json:"Leaf,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DeepTree) Reset() { *m = DeepTree{} } -func (*DeepTree) ProtoMessage() {} -func (*DeepTree) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{27} } +func (m *DeepTree) Reset() { *m = DeepTree{} } +func (*DeepTree) ProtoMessage() {} +func (*DeepTree) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{27} +} +func (m *DeepTree) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeepTree.Unmarshal(m, b) +} +func (m *DeepTree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeepTree.Marshal(b, m, deterministic) +} +func (dst *DeepTree) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepTree.Merge(dst, src) +} +func (m *DeepTree) XXX_Size() int { + return xxx_messageInfo_DeepTree.Size(m) +} +func (m *DeepTree) XXX_DiscardUnknown() { + xxx_messageInfo_DeepTree.DiscardUnknown(m) +} + +var xxx_messageInfo_DeepTree proto.InternalMessageInfo type ADeepBranch struct { - Down DeepTree `protobuf:"bytes,2,opt,name=Down" json:"Down"` - XXX_unrecognized []byte `json:"-"` + Down DeepTree `protobuf:"bytes,2,opt,name=Down" json:"Down"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ADeepBranch) Reset() { *m = ADeepBranch{} } -func (*ADeepBranch) ProtoMessage() {} -func (*ADeepBranch) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{28} } +func (m *ADeepBranch) Reset() { *m = ADeepBranch{} } +func (*ADeepBranch) ProtoMessage() {} +func (*ADeepBranch) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{28} +} +func (m *ADeepBranch) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ADeepBranch.Unmarshal(m, b) +} +func (m *ADeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ADeepBranch.Marshal(b, m, deterministic) +} +func (dst *ADeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_ADeepBranch.Merge(dst, src) +} +func (m *ADeepBranch) XXX_Size() int { + return xxx_messageInfo_ADeepBranch.Size(m) +} +func (m *ADeepBranch) XXX_DiscardUnknown() { + xxx_messageInfo_ADeepBranch.DiscardUnknown(m) +} + +var xxx_messageInfo_ADeepBranch proto.InternalMessageInfo type AndDeepBranch struct { - Left DeepTree `protobuf:"bytes,1,opt,name=Left" json:"Left"` - Right DeepTree `protobuf:"bytes,2,opt,name=Right" json:"Right"` - XXX_unrecognized []byte `json:"-"` + Left DeepTree `protobuf:"bytes,1,opt,name=Left" json:"Left"` + Right DeepTree `protobuf:"bytes,2,opt,name=Right" json:"Right"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AndDeepBranch) Reset() { *m = AndDeepBranch{} } -func (*AndDeepBranch) ProtoMessage() {} -func (*AndDeepBranch) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{29} } +func (m *AndDeepBranch) Reset() { *m = AndDeepBranch{} } +func (*AndDeepBranch) ProtoMessage() {} +func (*AndDeepBranch) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{29} +} +func (m *AndDeepBranch) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AndDeepBranch.Unmarshal(m, b) +} +func (m *AndDeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AndDeepBranch.Marshal(b, m, deterministic) +} +func (dst *AndDeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndDeepBranch.Merge(dst, src) +} +func (m *AndDeepBranch) XXX_Size() int { + return xxx_messageInfo_AndDeepBranch.Size(m) +} +func (m *AndDeepBranch) XXX_DiscardUnknown() { + xxx_messageInfo_AndDeepBranch.DiscardUnknown(m) +} + +var xxx_messageInfo_AndDeepBranch proto.InternalMessageInfo type DeepLeaf struct { - Tree Tree `protobuf:"bytes,1,opt,name=Tree" json:"Tree"` - XXX_unrecognized []byte `json:"-"` + Tree Tree `protobuf:"bytes,1,opt,name=Tree" json:"Tree"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DeepLeaf) Reset() { *m = DeepLeaf{} } -func (*DeepLeaf) ProtoMessage() {} -func (*DeepLeaf) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{30} } +func (m *DeepLeaf) Reset() { *m = DeepLeaf{} } +func (*DeepLeaf) ProtoMessage() {} +func (*DeepLeaf) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{30} +} +func (m *DeepLeaf) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeepLeaf.Unmarshal(m, b) +} +func (m *DeepLeaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeepLeaf.Marshal(b, m, deterministic) +} +func (dst *DeepLeaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepLeaf.Merge(dst, src) +} +func (m *DeepLeaf) XXX_Size() int { + return xxx_messageInfo_DeepLeaf.Size(m) +} +func (m *DeepLeaf) XXX_DiscardUnknown() { + xxx_messageInfo_DeepLeaf.DiscardUnknown(m) +} + +var xxx_messageInfo_DeepLeaf proto.InternalMessageInfo type Nil struct { - XXX_unrecognized []byte `json:"-"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Nil) Reset() { *m = Nil{} } -func (*Nil) ProtoMessage() {} -func (*Nil) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{31} } +func (m *Nil) Reset() { *m = Nil{} } +func (*Nil) ProtoMessage() {} +func (*Nil) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{31} +} +func (m *Nil) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Nil.Unmarshal(m, b) +} +func (m *Nil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Nil.Marshal(b, m, deterministic) +} +func (dst *Nil) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nil.Merge(dst, src) +} +func (m *Nil) XXX_Size() int { + return xxx_messageInfo_Nil.Size(m) +} +func (m *Nil) XXX_DiscardUnknown() { + xxx_messageInfo_Nil.DiscardUnknown(m) +} + +var xxx_messageInfo_Nil proto.InternalMessageInfo type NidOptEnum struct { - Field1 TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1"` - XXX_unrecognized []byte `json:"-"` + Field1 TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptEnum) Reset() { *m = NidOptEnum{} } -func (*NidOptEnum) ProtoMessage() {} -func (*NidOptEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{32} } +func (m *NidOptEnum) Reset() { *m = NidOptEnum{} } +func (*NidOptEnum) ProtoMessage() {} +func (*NidOptEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{32} +} +func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidOptEnum.Unmarshal(m, b) +} +func (m *NidOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidOptEnum.Marshal(b, m, deterministic) +} +func (dst *NidOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptEnum.Merge(dst, src) +} +func (m *NidOptEnum) XXX_Size() int { + return xxx_messageInfo_NidOptEnum.Size(m) +} +func (m *NidOptEnum) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptEnum proto.InternalMessageInfo type NinOptEnum struct { - Field1 *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` - Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` - Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` + Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` + Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptEnum) Reset() { *m = NinOptEnum{} } -func (*NinOptEnum) ProtoMessage() {} -func (*NinOptEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{33} } +func (m *NinOptEnum) Reset() { *m = NinOptEnum{} } +func (*NinOptEnum) ProtoMessage() {} +func (*NinOptEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{33} +} +func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinOptEnum.Unmarshal(m, b) +} +func (m *NinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinOptEnum.Marshal(b, m, deterministic) +} +func (dst *NinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnum.Merge(dst, src) +} +func (m *NinOptEnum) XXX_Size() int { + return xxx_messageInfo_NinOptEnum.Size(m) +} +func (m *NinOptEnum) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptEnum proto.InternalMessageInfo type NidRepEnum struct { - Field1 []TheTestEnum `protobuf:"varint,1,rep,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` - Field2 []YetAnotherTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` - Field3 []YetYetAnotherTestEnum `protobuf:"varint,3,rep,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []TheTestEnum `protobuf:"varint,1,rep,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` + Field2 []YetAnotherTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` + Field3 []YetYetAnotherTestEnum `protobuf:"varint,3,rep,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepEnum) Reset() { *m = NidRepEnum{} } -func (*NidRepEnum) ProtoMessage() {} -func (*NidRepEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{34} } +func (m *NidRepEnum) Reset() { *m = NidRepEnum{} } +func (*NidRepEnum) ProtoMessage() {} +func (*NidRepEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{34} +} +func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidRepEnum.Unmarshal(m, b) +} +func (m *NidRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidRepEnum.Marshal(b, m, deterministic) +} +func (dst *NidRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepEnum.Merge(dst, src) +} +func (m *NidRepEnum) XXX_Size() int { + return xxx_messageInfo_NidRepEnum.Size(m) +} +func (m *NidRepEnum) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepEnum proto.InternalMessageInfo type NinRepEnum struct { - Field1 []TheTestEnum `protobuf:"varint,1,rep,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` - Field2 []YetAnotherTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` - Field3 []YetYetAnotherTestEnum `protobuf:"varint,3,rep,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []TheTestEnum `protobuf:"varint,1,rep,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` + Field2 []YetAnotherTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` + Field3 []YetYetAnotherTestEnum `protobuf:"varint,3,rep,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepEnum) Reset() { *m = NinRepEnum{} } -func (*NinRepEnum) ProtoMessage() {} -func (*NinRepEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{35} } +func (m *NinRepEnum) Reset() { *m = NinRepEnum{} } +func (*NinRepEnum) ProtoMessage() {} +func (*NinRepEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{35} +} +func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinRepEnum.Unmarshal(m, b) +} +func (m *NinRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinRepEnum.Marshal(b, m, deterministic) +} +func (dst *NinRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepEnum.Merge(dst, src) +} +func (m *NinRepEnum) XXX_Size() int { + return xxx_messageInfo_NinRepEnum.Size(m) +} +func (m *NinRepEnum) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepEnum proto.InternalMessageInfo type NinOptEnumDefault struct { - Field1 *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum,def=2" json:"Field1,omitempty"` - Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum,def=1" json:"Field2,omitempty"` - Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum,def=0" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum,def=2" json:"Field1,omitempty"` + Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum,def=1" json:"Field2,omitempty"` + Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum,def=0" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptEnumDefault) Reset() { *m = NinOptEnumDefault{} } -func (*NinOptEnumDefault) ProtoMessage() {} -func (*NinOptEnumDefault) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{36} } +func (m *NinOptEnumDefault) Reset() { *m = NinOptEnumDefault{} } +func (*NinOptEnumDefault) ProtoMessage() {} +func (*NinOptEnumDefault) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{36} +} +func (m *NinOptEnumDefault) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinOptEnumDefault.Unmarshal(m, b) +} +func (m *NinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinOptEnumDefault.Marshal(b, m, deterministic) +} +func (dst *NinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnumDefault.Merge(dst, src) +} +func (m *NinOptEnumDefault) XXX_Size() int { + return xxx_messageInfo_NinOptEnumDefault.Size(m) +} +func (m *NinOptEnumDefault) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptEnumDefault.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptEnumDefault proto.InternalMessageInfo const Default_NinOptEnumDefault_Field1 TheTestEnum = C const Default_NinOptEnumDefault_Field2 YetAnotherTestEnum = BetterYetBB @@ -803,26 +1517,68 @@ func (m *NinOptEnumDefault) GetField3() YetYetAnotherTestEnum { } type AnotherNinOptEnum struct { - Field1 *AnotherTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.AnotherTestEnum" json:"Field1,omitempty"` - Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` - Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *AnotherTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.AnotherTestEnum" json:"Field1,omitempty"` + Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum" json:"Field2,omitempty"` + Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AnotherNinOptEnum) Reset() { *m = AnotherNinOptEnum{} } -func (*AnotherNinOptEnum) ProtoMessage() {} -func (*AnotherNinOptEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{37} } +func (m *AnotherNinOptEnum) Reset() { *m = AnotherNinOptEnum{} } +func (*AnotherNinOptEnum) ProtoMessage() {} +func (*AnotherNinOptEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{37} +} +func (m *AnotherNinOptEnum) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnotherNinOptEnum.Unmarshal(m, b) +} +func (m *AnotherNinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnotherNinOptEnum.Marshal(b, m, deterministic) +} +func (dst *AnotherNinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnum.Merge(dst, src) +} +func (m *AnotherNinOptEnum) XXX_Size() int { + return xxx_messageInfo_AnotherNinOptEnum.Size(m) +} +func (m *AnotherNinOptEnum) XXX_DiscardUnknown() { + xxx_messageInfo_AnotherNinOptEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_AnotherNinOptEnum proto.InternalMessageInfo type AnotherNinOptEnumDefault struct { - Field1 *AnotherTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.AnotherTestEnum,def=11" json:"Field1,omitempty"` - Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum,def=1" json:"Field2,omitempty"` - Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum,def=0" json:"Field3,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *AnotherTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.AnotherTestEnum,def=11" json:"Field1,omitempty"` + Field2 *YetAnotherTestEnum `protobuf:"varint,2,opt,name=Field2,enum=test.YetAnotherTestEnum,def=1" json:"Field2,omitempty"` + Field3 *YetYetAnotherTestEnum `protobuf:"varint,3,opt,name=Field3,enum=test.YetYetAnotherTestEnum,def=0" json:"Field3,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AnotherNinOptEnumDefault) Reset() { *m = AnotherNinOptEnumDefault{} } -func (*AnotherNinOptEnumDefault) ProtoMessage() {} -func (*AnotherNinOptEnumDefault) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{38} } +func (m *AnotherNinOptEnumDefault) Reset() { *m = AnotherNinOptEnumDefault{} } +func (*AnotherNinOptEnumDefault) ProtoMessage() {} +func (*AnotherNinOptEnumDefault) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{38} +} +func (m *AnotherNinOptEnumDefault) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnotherNinOptEnumDefault.Unmarshal(m, b) +} +func (m *AnotherNinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnotherNinOptEnumDefault.Marshal(b, m, deterministic) +} +func (dst *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnumDefault.Merge(dst, src) +} +func (m *AnotherNinOptEnumDefault) XXX_Size() int { + return xxx_messageInfo_AnotherNinOptEnumDefault.Size(m) +} +func (m *AnotherNinOptEnumDefault) XXX_DiscardUnknown() { + xxx_messageInfo_AnotherNinOptEnumDefault.DiscardUnknown(m) +} + +var xxx_messageInfo_AnotherNinOptEnumDefault proto.InternalMessageInfo const Default_AnotherNinOptEnumDefault_Field1 AnotherTestEnum = E const Default_AnotherNinOptEnumDefault_Field2 YetAnotherTestEnum = BetterYetBB @@ -850,25 +1606,50 @@ func (m *AnotherNinOptEnumDefault) GetField3() YetYetAnotherTestEnum { } type Timer struct { - Time1 int64 `protobuf:"fixed64,1,opt,name=Time1" json:"Time1"` - Time2 int64 `protobuf:"fixed64,2,opt,name=Time2" json:"Time2"` - Data []byte `protobuf:"bytes,3,opt,name=Data" json:"Data"` - XXX_unrecognized []byte `json:"-"` + Time1 int64 `protobuf:"fixed64,1,opt,name=Time1" json:"Time1"` + Time2 int64 `protobuf:"fixed64,2,opt,name=Time2" json:"Time2"` + Data []byte `protobuf:"bytes,3,opt,name=Data" json:"Data"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Timer) Reset() { *m = Timer{} } -func (*Timer) ProtoMessage() {} -func (*Timer) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{39} } +func (m *Timer) Reset() { *m = Timer{} } +func (*Timer) ProtoMessage() {} +func (*Timer) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{39} +} +func (m *Timer) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Timer.Unmarshal(m, b) +} +func (m *Timer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Timer.Marshal(b, m, deterministic) +} +func (dst *Timer) XXX_Merge(src proto.Message) { + xxx_messageInfo_Timer.Merge(dst, src) +} +func (m *Timer) XXX_Size() int { + return xxx_messageInfo_Timer.Size(m) +} +func (m *Timer) XXX_DiscardUnknown() { + xxx_messageInfo_Timer.DiscardUnknown(m) +} + +var xxx_messageInfo_Timer proto.InternalMessageInfo type MyExtendable struct { - Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *MyExtendable) Reset() { *m = MyExtendable{} } -func (*MyExtendable) ProtoMessage() {} -func (*MyExtendable) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{40} } +func (m *MyExtendable) Reset() { *m = MyExtendable{} } +func (*MyExtendable) ProtoMessage() {} +func (*MyExtendable) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{40} +} var extRange_MyExtendable = []proto.ExtensionRange{ {Start: 100, End: 199}, @@ -877,18 +1658,39 @@ var extRange_MyExtendable = []proto.ExtensionRange{ func (*MyExtendable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MyExtendable } +func (m *MyExtendable) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MyExtendable.Unmarshal(m, b) +} +func (m *MyExtendable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MyExtendable.Marshal(b, m, deterministic) +} +func (dst *MyExtendable) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyExtendable.Merge(dst, src) +} +func (m *MyExtendable) XXX_Size() int { + return xxx_messageInfo_MyExtendable.Size(m) +} +func (m *MyExtendable) XXX_DiscardUnknown() { + xxx_messageInfo_MyExtendable.DiscardUnknown(m) +} + +var xxx_messageInfo_MyExtendable proto.InternalMessageInfo type OtherExtenable struct { Field2 *int64 `protobuf:"varint,2,opt,name=Field2" json:"Field2,omitempty"` Field13 *int64 `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` M *MyExtendable `protobuf:"bytes,1,opt,name=M" json:"M,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` proto.XXX_InternalExtensions `json:"-"` XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *OtherExtenable) Reset() { *m = OtherExtenable{} } -func (*OtherExtenable) ProtoMessage() {} -func (*OtherExtenable) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{41} } +func (m *OtherExtenable) Reset() { *m = OtherExtenable{} } +func (*OtherExtenable) ProtoMessage() {} +func (*OtherExtenable) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{41} +} var extRange_OtherExtenable = []proto.ExtensionRange{ {Start: 14, End: 16}, @@ -898,34 +1700,93 @@ var extRange_OtherExtenable = []proto.ExtensionRange{ func (*OtherExtenable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OtherExtenable } - -type NestedDefinition struct { - Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` - EnumField *NestedDefinition_NestedEnum `protobuf:"varint,2,opt,name=EnumField,enum=test.NestedDefinition_NestedEnum" json:"EnumField,omitempty"` - NNM *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,3,opt,name=NNM" json:"NNM,omitempty"` - NM *NestedDefinition_NestedMessage `protobuf:"bytes,4,opt,name=NM" json:"NM,omitempty"` - XXX_unrecognized []byte `json:"-"` +func (m *OtherExtenable) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OtherExtenable.Unmarshal(m, b) +} +func (m *OtherExtenable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OtherExtenable.Marshal(b, m, deterministic) +} +func (dst *OtherExtenable) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherExtenable.Merge(dst, src) +} +func (m *OtherExtenable) XXX_Size() int { + return xxx_messageInfo_OtherExtenable.Size(m) +} +func (m *OtherExtenable) XXX_DiscardUnknown() { + xxx_messageInfo_OtherExtenable.DiscardUnknown(m) } -func (m *NestedDefinition) Reset() { *m = NestedDefinition{} } -func (*NestedDefinition) ProtoMessage() {} -func (*NestedDefinition) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{42} } +var xxx_messageInfo_OtherExtenable proto.InternalMessageInfo + +type NestedDefinition struct { + Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + EnumField *NestedDefinition_NestedEnum `protobuf:"varint,2,opt,name=EnumField,enum=test.NestedDefinition_NestedEnum" json:"EnumField,omitempty"` + NNM *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,3,opt,name=NNM" json:"NNM,omitempty"` + NM *NestedDefinition_NestedMessage `protobuf:"bytes,4,opt,name=NM" json:"NM,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NestedDefinition) Reset() { *m = NestedDefinition{} } +func (*NestedDefinition) ProtoMessage() {} +func (*NestedDefinition) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{42} +} +func (m *NestedDefinition) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NestedDefinition.Unmarshal(m, b) +} +func (m *NestedDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NestedDefinition.Marshal(b, m, deterministic) +} +func (dst *NestedDefinition) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition.Merge(dst, src) +} +func (m *NestedDefinition) XXX_Size() int { + return xxx_messageInfo_NestedDefinition.Size(m) +} +func (m *NestedDefinition) XXX_DiscardUnknown() { + xxx_messageInfo_NestedDefinition.DiscardUnknown(m) +} + +var xxx_messageInfo_NestedDefinition proto.InternalMessageInfo type NestedDefinition_NestedMessage struct { - NestedField1 *uint64 `protobuf:"fixed64,1,opt,name=NestedField1" json:"NestedField1,omitempty"` - NNM *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,2,opt,name=NNM" json:"NNM,omitempty"` - XXX_unrecognized []byte `json:"-"` + NestedField1 *uint64 `protobuf:"fixed64,1,opt,name=NestedField1" json:"NestedField1,omitempty"` + NNM *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,2,opt,name=NNM" json:"NNM,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *NestedDefinition_NestedMessage) Reset() { *m = NestedDefinition_NestedMessage{} } func (*NestedDefinition_NestedMessage) ProtoMessage() {} func (*NestedDefinition_NestedMessage) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{42, 0} + return fileDescriptor_thetest_14aea7c379120fb7, []int{42, 0} +} +func (m *NestedDefinition_NestedMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NestedDefinition_NestedMessage.Unmarshal(m, b) +} +func (m *NestedDefinition_NestedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NestedDefinition_NestedMessage.Marshal(b, m, deterministic) +} +func (dst *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage.Merge(dst, src) +} +func (m *NestedDefinition_NestedMessage) XXX_Size() int { + return xxx_messageInfo_NestedDefinition_NestedMessage.Size(m) +} +func (m *NestedDefinition_NestedMessage) XXX_DiscardUnknown() { + xxx_messageInfo_NestedDefinition_NestedMessage.DiscardUnknown(m) } +var xxx_messageInfo_NestedDefinition_NestedMessage proto.InternalMessageInfo + type NestedDefinition_NestedMessage_NestedNestedMsg struct { - NestedNestedField1 *string `protobuf:"bytes,10,opt,name=NestedNestedField1" json:"NestedNestedField1,omitempty"` - XXX_unrecognized []byte `json:"-"` + NestedNestedField1 *string `protobuf:"bytes,10,opt,name=NestedNestedField1" json:"NestedNestedField1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Reset() { @@ -933,42 +1794,101 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Reset() { } func (*NestedDefinition_NestedMessage_NestedNestedMsg) ProtoMessage() {} func (*NestedDefinition_NestedMessage_NestedNestedMsg) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{42, 0, 0} + return fileDescriptor_thetest_14aea7c379120fb7, []int{42, 0, 0} } +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Unmarshal(m, b) +} +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Marshal(b, m, deterministic) +} +func (dst *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(dst, src) +} +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Size() int { + return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Size(m) +} +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_DiscardUnknown() { + xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.DiscardUnknown(m) +} + +var xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg proto.InternalMessageInfo type NestedScope struct { - A *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,1,opt,name=A" json:"A,omitempty"` - B *NestedDefinition_NestedEnum `protobuf:"varint,2,opt,name=B,enum=test.NestedDefinition_NestedEnum" json:"B,omitempty"` - C *NestedDefinition_NestedMessage `protobuf:"bytes,3,opt,name=C" json:"C,omitempty"` - XXX_unrecognized []byte `json:"-"` + A *NestedDefinition_NestedMessage_NestedNestedMsg `protobuf:"bytes,1,opt,name=A" json:"A,omitempty"` + B *NestedDefinition_NestedEnum `protobuf:"varint,2,opt,name=B,enum=test.NestedDefinition_NestedEnum" json:"B,omitempty"` + C *NestedDefinition_NestedMessage `protobuf:"bytes,3,opt,name=C" json:"C,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NestedScope) Reset() { *m = NestedScope{} } -func (*NestedScope) ProtoMessage() {} -func (*NestedScope) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{43} } +func (m *NestedScope) Reset() { *m = NestedScope{} } +func (*NestedScope) ProtoMessage() {} +func (*NestedScope) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{43} +} +func (m *NestedScope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NestedScope.Unmarshal(m, b) +} +func (m *NestedScope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NestedScope.Marshal(b, m, deterministic) +} +func (dst *NestedScope) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedScope.Merge(dst, src) +} +func (m *NestedScope) XXX_Size() int { + return xxx_messageInfo_NestedScope.Size(m) +} +func (m *NestedScope) XXX_DiscardUnknown() { + xxx_messageInfo_NestedScope.DiscardUnknown(m) +} + +var xxx_messageInfo_NestedScope proto.InternalMessageInfo type NinOptNativeDefault struct { - Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1,def=1234.1234" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.12341" json:"Field2,omitempty"` - Field3 *int32 `protobuf:"varint,3,opt,name=Field3,def=1234" json:"Field3,omitempty"` - Field4 *int64 `protobuf:"varint,4,opt,name=Field4,def=1234" json:"Field4,omitempty"` - Field5 *uint32 `protobuf:"varint,5,opt,name=Field5,def=1234" json:"Field5,omitempty"` - Field6 *uint64 `protobuf:"varint,6,opt,name=Field6,def=1234" json:"Field6,omitempty"` - Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7,def=1234" json:"Field7,omitempty"` - Field8 *int64 `protobuf:"zigzag64,8,opt,name=Field8,def=1234" json:"Field8,omitempty"` - Field9 *uint32 `protobuf:"fixed32,9,opt,name=Field9,def=1234" json:"Field9,omitempty"` - Field10 *int32 `protobuf:"fixed32,10,opt,name=Field10,def=1234" json:"Field10,omitempty"` - Field11 *uint64 `protobuf:"fixed64,11,opt,name=Field11,def=1234" json:"Field11,omitempty"` - Field12 *int64 `protobuf:"fixed64,12,opt,name=Field12,def=1234" json:"Field12,omitempty"` - Field13 *bool `protobuf:"varint,13,opt,name=Field13,def=1" json:"Field13,omitempty"` - Field14 *string `protobuf:"bytes,14,opt,name=Field14,def=1234" json:"Field14,omitempty"` - Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1,def=1234.1234" json:"Field1,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.12341" json:"Field2,omitempty"` + Field3 *int32 `protobuf:"varint,3,opt,name=Field3,def=1234" json:"Field3,omitempty"` + Field4 *int64 `protobuf:"varint,4,opt,name=Field4,def=1234" json:"Field4,omitempty"` + Field5 *uint32 `protobuf:"varint,5,opt,name=Field5,def=1234" json:"Field5,omitempty"` + Field6 *uint64 `protobuf:"varint,6,opt,name=Field6,def=1234" json:"Field6,omitempty"` + Field7 *int32 `protobuf:"zigzag32,7,opt,name=Field7,def=1234" json:"Field7,omitempty"` + Field8 *int64 `protobuf:"zigzag64,8,opt,name=Field8,def=1234" json:"Field8,omitempty"` + Field9 *uint32 `protobuf:"fixed32,9,opt,name=Field9,def=1234" json:"Field9,omitempty"` + Field10 *int32 `protobuf:"fixed32,10,opt,name=Field10,def=1234" json:"Field10,omitempty"` + Field11 *uint64 `protobuf:"fixed64,11,opt,name=Field11,def=1234" json:"Field11,omitempty"` + Field12 *int64 `protobuf:"fixed64,12,opt,name=Field12,def=1234" json:"Field12,omitempty"` + Field13 *bool `protobuf:"varint,13,opt,name=Field13,def=1" json:"Field13,omitempty"` + Field14 *string `protobuf:"bytes,14,opt,name=Field14,def=1234" json:"Field14,omitempty"` + Field15 []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptNativeDefault) Reset() { *m = NinOptNativeDefault{} } -func (*NinOptNativeDefault) ProtoMessage() {} -func (*NinOptNativeDefault) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{44} } +func (m *NinOptNativeDefault) Reset() { *m = NinOptNativeDefault{} } +func (*NinOptNativeDefault) ProtoMessage() {} +func (*NinOptNativeDefault) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{44} +} +func (m *NinOptNativeDefault) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinOptNativeDefault.Unmarshal(m, b) +} +func (m *NinOptNativeDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinOptNativeDefault.Marshal(b, m, deterministic) +} +func (dst *NinOptNativeDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeDefault.Merge(dst, src) +} +func (m *NinOptNativeDefault) XXX_Size() int { + return xxx_messageInfo_NinOptNativeDefault.Size(m) +} +func (m *NinOptNativeDefault) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptNativeDefault.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptNativeDefault proto.InternalMessageInfo const Default_NinOptNativeDefault_Field1 float64 = 1234.1234 const Default_NinOptNativeDefault_Field2 float32 = 1234.12341 @@ -1091,145 +2011,315 @@ func (m *NinOptNativeDefault) GetField15() []byte { } type CustomContainer struct { - CustomStruct NidOptCustom `protobuf:"bytes,1,opt,name=CustomStruct" json:"CustomStruct"` - XXX_unrecognized []byte `json:"-"` + CustomStruct NidOptCustom `protobuf:"bytes,1,opt,name=CustomStruct" json:"CustomStruct"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomContainer) Reset() { *m = CustomContainer{} } -func (*CustomContainer) ProtoMessage() {} -func (*CustomContainer) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{45} } +func (m *CustomContainer) Reset() { *m = CustomContainer{} } +func (*CustomContainer) ProtoMessage() {} +func (*CustomContainer) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{45} +} +func (m *CustomContainer) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CustomContainer.Unmarshal(m, b) +} +func (m *CustomContainer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CustomContainer.Marshal(b, m, deterministic) +} +func (dst *CustomContainer) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomContainer.Merge(dst, src) +} +func (m *CustomContainer) XXX_Size() int { + return xxx_messageInfo_CustomContainer.Size(m) +} +func (m *CustomContainer) XXX_DiscardUnknown() { + xxx_messageInfo_CustomContainer.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomContainer proto.InternalMessageInfo type CustomNameNidOptNative struct { - FieldA float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` - FieldB float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` - FieldC int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3"` - FieldD int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4"` - FieldE uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5"` - FieldF uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` - FieldG int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` - FieldH int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8"` - FieldI uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9"` - FieldJ int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10"` - FieldK uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11"` - FieldL int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12"` - FieldM bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` - FieldN string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` - FieldO []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` - XXX_unrecognized []byte `json:"-"` + FieldA float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1"` + FieldB float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2"` + FieldC int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3"` + FieldD int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4"` + FieldE uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5"` + FieldF uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6"` + FieldG int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7"` + FieldH int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8"` + FieldI uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9"` + FieldJ int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10"` + FieldK uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11"` + FieldL int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12"` + FieldM bool `protobuf:"varint,13,opt,name=Field13" json:"Field13"` + FieldN string `protobuf:"bytes,14,opt,name=Field14" json:"Field14"` + FieldO []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameNidOptNative) Reset() { *m = CustomNameNidOptNative{} } -func (*CustomNameNidOptNative) ProtoMessage() {} -func (*CustomNameNidOptNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{46} } +func (m *CustomNameNidOptNative) Reset() { *m = CustomNameNidOptNative{} } +func (*CustomNameNidOptNative) ProtoMessage() {} +func (*CustomNameNidOptNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{46} +} +func (m *CustomNameNidOptNative) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CustomNameNidOptNative.Unmarshal(m, b) +} +func (m *CustomNameNidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CustomNameNidOptNative.Marshal(b, m, deterministic) +} +func (dst *CustomNameNidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNidOptNative.Merge(dst, src) +} +func (m *CustomNameNidOptNative) XXX_Size() int { + return xxx_messageInfo_CustomNameNidOptNative.Size(m) +} +func (m *CustomNameNidOptNative) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNidOptNative.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNidOptNative proto.InternalMessageInfo type CustomNameNinOptNative struct { - FieldA *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - FieldB *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - FieldC *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` - FieldD *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` - FieldE *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` - FieldF *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - FieldG *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - FieldH *int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8,omitempty"` - FieldI *uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9,omitempty"` - FieldJ *int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10,omitempty"` - FieldK *uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11,omitempty"` - FielL *int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12,omitempty"` - FieldM *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - FieldN *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - FieldO []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + FieldB *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + FieldC *int32 `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"` + FieldD *int64 `protobuf:"varint,4,opt,name=Field4" json:"Field4,omitempty"` + FieldE *uint32 `protobuf:"varint,5,opt,name=Field5" json:"Field5,omitempty"` + FieldF *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + FieldG *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + FieldH *int64 `protobuf:"zigzag64,8,opt,name=Field8" json:"Field8,omitempty"` + FieldI *uint32 `protobuf:"fixed32,9,opt,name=Field9" json:"Field9,omitempty"` + FieldJ *int32 `protobuf:"fixed32,10,opt,name=Field10" json:"Field10,omitempty"` + FieldK *uint64 `protobuf:"fixed64,11,opt,name=Field11" json:"Field11,omitempty"` + FielL *int64 `protobuf:"fixed64,12,opt,name=Field12" json:"Field12,omitempty"` + FieldM *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + FieldN *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + FieldO []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameNinOptNative) Reset() { *m = CustomNameNinOptNative{} } -func (*CustomNameNinOptNative) ProtoMessage() {} -func (*CustomNameNinOptNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{47} } +func (m *CustomNameNinOptNative) Reset() { *m = CustomNameNinOptNative{} } +func (*CustomNameNinOptNative) ProtoMessage() {} +func (*CustomNameNinOptNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{47} +} +func (m *CustomNameNinOptNative) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CustomNameNinOptNative.Unmarshal(m, b) +} +func (m *CustomNameNinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CustomNameNinOptNative.Marshal(b, m, deterministic) +} +func (dst *CustomNameNinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinOptNative.Merge(dst, src) +} +func (m *CustomNameNinOptNative) XXX_Size() int { + return xxx_messageInfo_CustomNameNinOptNative.Size(m) +} +func (m *CustomNameNinOptNative) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNinOptNative.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNinOptNative proto.InternalMessageInfo type CustomNameNinRepNative struct { - FieldA []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` - FieldB []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` - FieldC []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` - FieldD []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` - FieldE []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` - FieldF []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` - FieldG []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` - FieldH []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` - FieldI []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` - FieldJ []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` - FieldK []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` - FieldL []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` - FieldM []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` - FieldN []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` - FieldO [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA []float64 `protobuf:"fixed64,1,rep,name=Field1" json:"Field1,omitempty"` + FieldB []float32 `protobuf:"fixed32,2,rep,name=Field2" json:"Field2,omitempty"` + FieldC []int32 `protobuf:"varint,3,rep,name=Field3" json:"Field3,omitempty"` + FieldD []int64 `protobuf:"varint,4,rep,name=Field4" json:"Field4,omitempty"` + FieldE []uint32 `protobuf:"varint,5,rep,name=Field5" json:"Field5,omitempty"` + FieldF []uint64 `protobuf:"varint,6,rep,name=Field6" json:"Field6,omitempty"` + FieldG []int32 `protobuf:"zigzag32,7,rep,name=Field7" json:"Field7,omitempty"` + FieldH []int64 `protobuf:"zigzag64,8,rep,name=Field8" json:"Field8,omitempty"` + FieldI []uint32 `protobuf:"fixed32,9,rep,name=Field9" json:"Field9,omitempty"` + FieldJ []int32 `protobuf:"fixed32,10,rep,name=Field10" json:"Field10,omitempty"` + FieldK []uint64 `protobuf:"fixed64,11,rep,name=Field11" json:"Field11,omitempty"` + FieldL []int64 `protobuf:"fixed64,12,rep,name=Field12" json:"Field12,omitempty"` + FieldM []bool `protobuf:"varint,13,rep,name=Field13" json:"Field13,omitempty"` + FieldN []string `protobuf:"bytes,14,rep,name=Field14" json:"Field14,omitempty"` + FieldO [][]byte `protobuf:"bytes,15,rep,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameNinRepNative) Reset() { *m = CustomNameNinRepNative{} } -func (*CustomNameNinRepNative) ProtoMessage() {} -func (*CustomNameNinRepNative) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{48} } +func (m *CustomNameNinRepNative) Reset() { *m = CustomNameNinRepNative{} } +func (*CustomNameNinRepNative) ProtoMessage() {} +func (*CustomNameNinRepNative) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{48} +} +func (m *CustomNameNinRepNative) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CustomNameNinRepNative.Unmarshal(m, b) +} +func (m *CustomNameNinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CustomNameNinRepNative.Marshal(b, m, deterministic) +} +func (dst *CustomNameNinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinRepNative.Merge(dst, src) +} +func (m *CustomNameNinRepNative) XXX_Size() int { + return xxx_messageInfo_CustomNameNinRepNative.Size(m) +} +func (m *CustomNameNinRepNative) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNinRepNative.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNinRepNative proto.InternalMessageInfo type CustomNameNinStruct struct { - FieldA *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` - FieldB *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` - FieldC *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` - FieldD []*NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4,omitempty"` - FieldE *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` - FieldF *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` - FieldG *NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8,omitempty"` - FieldH *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` - FieldI *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` - FieldJ []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA *float64 `protobuf:"fixed64,1,opt,name=Field1" json:"Field1,omitempty"` + FieldB *float32 `protobuf:"fixed32,2,opt,name=Field2" json:"Field2,omitempty"` + FieldC *NidOptNative `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"` + FieldD []*NinOptNative `protobuf:"bytes,4,rep,name=Field4" json:"Field4,omitempty"` + FieldE *uint64 `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"` + FieldF *int32 `protobuf:"zigzag32,7,opt,name=Field7" json:"Field7,omitempty"` + FieldG *NidOptNative `protobuf:"bytes,8,opt,name=Field8" json:"Field8,omitempty"` + FieldH *bool `protobuf:"varint,13,opt,name=Field13" json:"Field13,omitempty"` + FieldI *string `protobuf:"bytes,14,opt,name=Field14" json:"Field14,omitempty"` + FieldJ []byte `protobuf:"bytes,15,opt,name=Field15" json:"Field15,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameNinStruct) Reset() { *m = CustomNameNinStruct{} } -func (*CustomNameNinStruct) ProtoMessage() {} -func (*CustomNameNinStruct) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{49} } +func (m *CustomNameNinStruct) Reset() { *m = CustomNameNinStruct{} } +func (*CustomNameNinStruct) ProtoMessage() {} +func (*CustomNameNinStruct) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{49} +} +func (m *CustomNameNinStruct) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CustomNameNinStruct.Unmarshal(m, b) +} +func (m *CustomNameNinStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CustomNameNinStruct.Marshal(b, m, deterministic) +} +func (dst *CustomNameNinStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinStruct.Merge(dst, src) +} +func (m *CustomNameNinStruct) XXX_Size() int { + return xxx_messageInfo_CustomNameNinStruct.Size(m) +} +func (m *CustomNameNinStruct) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNinStruct.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNinStruct proto.InternalMessageInfo type CustomNameCustomType struct { - FieldA *Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id,omitempty"` - FieldB *github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` - FieldC []Uuid `protobuf:"bytes,3,rep,name=Ids,customtype=Uuid" json:"Ids,omitempty"` - FieldD []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,4,rep,name=Values,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Values,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA *Uuid `protobuf:"bytes,1,opt,name=Id,customtype=Uuid" json:"Id,omitempty"` + FieldB *github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,2,opt,name=Value,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Value,omitempty"` + FieldC []Uuid `protobuf:"bytes,3,rep,name=Ids,customtype=Uuid" json:"Ids,omitempty"` + FieldD []github_com_gogo_protobuf_test_custom.Uint128 `protobuf:"bytes,4,rep,name=Values,customtype=github.com/gogo/protobuf/test/custom.Uint128" json:"Values,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameCustomType) Reset() { *m = CustomNameCustomType{} } -func (*CustomNameCustomType) ProtoMessage() {} -func (*CustomNameCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{50} } +func (m *CustomNameCustomType) Reset() { *m = CustomNameCustomType{} } +func (*CustomNameCustomType) ProtoMessage() {} +func (*CustomNameCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{50} +} +func (m *CustomNameCustomType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CustomNameCustomType.Unmarshal(m, b) +} +func (m *CustomNameCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CustomNameCustomType.Marshal(b, m, deterministic) +} +func (dst *CustomNameCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameCustomType.Merge(dst, src) +} +func (m *CustomNameCustomType) XXX_Size() int { + return xxx_messageInfo_CustomNameCustomType.Size(m) +} +func (m *CustomNameCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameCustomType proto.InternalMessageInfo type CustomNameNinEmbeddedStructUnion struct { - *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` - FieldA *NinOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` - FieldB *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` - XXX_unrecognized []byte `json:"-"` + *NidOptNative `protobuf:"bytes,1,opt,name=Field1,embedded=Field1" json:"Field1,omitempty"` + FieldA *NinOptNative `protobuf:"bytes,200,opt,name=Field200" json:"Field200,omitempty"` + FieldB *bool `protobuf:"varint,210,opt,name=Field210" json:"Field210,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *CustomNameNinEmbeddedStructUnion) Reset() { *m = CustomNameNinEmbeddedStructUnion{} } func (*CustomNameNinEmbeddedStructUnion) ProtoMessage() {} func (*CustomNameNinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{51} + return fileDescriptor_thetest_14aea7c379120fb7, []int{51} } +func (m *CustomNameNinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Unmarshal(m, b) +} +func (m *CustomNameNinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Marshal(b, m, deterministic) +} +func (dst *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(dst, src) +} +func (m *CustomNameNinEmbeddedStructUnion) XXX_Size() int { + return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Size(m) +} +func (m *CustomNameNinEmbeddedStructUnion) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameNinEmbeddedStructUnion.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameNinEmbeddedStructUnion proto.InternalMessageInfo type CustomNameEnum struct { - FieldA *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` - FieldB []TheTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.TheTestEnum" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + FieldA *TheTestEnum `protobuf:"varint,1,opt,name=Field1,enum=test.TheTestEnum" json:"Field1,omitempty"` + FieldB []TheTestEnum `protobuf:"varint,2,rep,name=Field2,enum=test.TheTestEnum" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *CustomNameEnum) Reset() { *m = CustomNameEnum{} } -func (*CustomNameEnum) ProtoMessage() {} -func (*CustomNameEnum) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{52} } +func (m *CustomNameEnum) Reset() { *m = CustomNameEnum{} } +func (*CustomNameEnum) ProtoMessage() {} +func (*CustomNameEnum) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{52} +} +func (m *CustomNameEnum) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CustomNameEnum.Unmarshal(m, b) +} +func (m *CustomNameEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CustomNameEnum.Marshal(b, m, deterministic) +} +func (dst *CustomNameEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameEnum.Merge(dst, src) +} +func (m *CustomNameEnum) XXX_Size() int { + return xxx_messageInfo_CustomNameEnum.Size(m) +} +func (m *CustomNameEnum) XXX_DiscardUnknown() { + xxx_messageInfo_CustomNameEnum.DiscardUnknown(m) +} + +var xxx_messageInfo_CustomNameEnum proto.InternalMessageInfo type NoExtensionsMap struct { - Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` - XXX_extensions []byte `protobuf:"bytes,0,opt" json:"-"` - XXX_unrecognized []byte `json:"-"` + Field1 *int64 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_extensions []byte `protobuf:"bytes,0,opt" json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NoExtensionsMap) Reset() { *m = NoExtensionsMap{} } -func (*NoExtensionsMap) ProtoMessage() {} -func (*NoExtensionsMap) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{53} } +func (m *NoExtensionsMap) Reset() { *m = NoExtensionsMap{} } +func (*NoExtensionsMap) ProtoMessage() {} +func (*NoExtensionsMap) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{53} +} var extRange_NoExtensionsMap = []proto.ExtensionRange{ {Start: 100, End: 199}, @@ -1244,118 +2334,383 @@ func (m *NoExtensionsMap) GetExtensions() *[]byte { } return &m.XXX_extensions } +func (m *NoExtensionsMap) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NoExtensionsMap.Unmarshal(m, b) +} +func (m *NoExtensionsMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NoExtensionsMap.Marshal(b, m, deterministic) +} +func (dst *NoExtensionsMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_NoExtensionsMap.Merge(dst, src) +} +func (m *NoExtensionsMap) XXX_Size() int { + return xxx_messageInfo_NoExtensionsMap.Size(m) +} +func (m *NoExtensionsMap) XXX_DiscardUnknown() { + xxx_messageInfo_NoExtensionsMap.DiscardUnknown(m) +} + +var xxx_messageInfo_NoExtensionsMap proto.InternalMessageInfo type Unrecognized struct { - Field1 *string `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` + Field1 *string `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Unrecognized) Reset() { *m = Unrecognized{} } -func (*Unrecognized) ProtoMessage() {} -func (*Unrecognized) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{54} } +func (m *Unrecognized) Reset() { *m = Unrecognized{} } +func (*Unrecognized) ProtoMessage() {} +func (*Unrecognized) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{54} +} +func (m *Unrecognized) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Unrecognized.Unmarshal(m, b) +} +func (m *Unrecognized) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Unrecognized.Marshal(b, m, deterministic) +} +func (dst *Unrecognized) XXX_Merge(src proto.Message) { + xxx_messageInfo_Unrecognized.Merge(dst, src) +} +func (m *Unrecognized) XXX_Size() int { + return xxx_messageInfo_Unrecognized.Size(m) +} +func (m *Unrecognized) XXX_DiscardUnknown() { + xxx_messageInfo_Unrecognized.DiscardUnknown(m) +} + +var xxx_messageInfo_Unrecognized proto.InternalMessageInfo type UnrecognizedWithInner struct { - Embedded []*UnrecognizedWithInner_Inner `protobuf:"bytes,1,rep,name=embedded" json:"embedded,omitempty"` - Field2 *string `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + Embedded []*UnrecognizedWithInner_Inner `protobuf:"bytes,1,rep,name=embedded" json:"embedded,omitempty"` + Field2 *string `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UnrecognizedWithInner) Reset() { *m = UnrecognizedWithInner{} } -func (*UnrecognizedWithInner) ProtoMessage() {} -func (*UnrecognizedWithInner) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{55} } +func (m *UnrecognizedWithInner) Reset() { *m = UnrecognizedWithInner{} } +func (*UnrecognizedWithInner) ProtoMessage() {} +func (*UnrecognizedWithInner) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{55} +} +func (m *UnrecognizedWithInner) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UnrecognizedWithInner.Unmarshal(m, b) +} +func (m *UnrecognizedWithInner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UnrecognizedWithInner.Marshal(b, m, deterministic) +} +func (dst *UnrecognizedWithInner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner.Merge(dst, src) +} +func (m *UnrecognizedWithInner) XXX_Size() int { + return xxx_messageInfo_UnrecognizedWithInner.Size(m) +} +func (m *UnrecognizedWithInner) XXX_DiscardUnknown() { + xxx_messageInfo_UnrecognizedWithInner.DiscardUnknown(m) +} + +var xxx_messageInfo_UnrecognizedWithInner proto.InternalMessageInfo type UnrecognizedWithInner_Inner struct { - Field1 *uint32 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + Field1 *uint32 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *UnrecognizedWithInner_Inner) Reset() { *m = UnrecognizedWithInner_Inner{} } func (*UnrecognizedWithInner_Inner) ProtoMessage() {} func (*UnrecognizedWithInner_Inner) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{55, 0} + return fileDescriptor_thetest_14aea7c379120fb7, []int{55, 0} } +func (m *UnrecognizedWithInner_Inner) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UnrecognizedWithInner_Inner.Unmarshal(m, b) +} +func (m *UnrecognizedWithInner_Inner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UnrecognizedWithInner_Inner.Marshal(b, m, deterministic) +} +func (dst *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(dst, src) +} +func (m *UnrecognizedWithInner_Inner) XXX_Size() int { + return xxx_messageInfo_UnrecognizedWithInner_Inner.Size(m) +} +func (m *UnrecognizedWithInner_Inner) XXX_DiscardUnknown() { + xxx_messageInfo_UnrecognizedWithInner_Inner.DiscardUnknown(m) +} + +var xxx_messageInfo_UnrecognizedWithInner_Inner proto.InternalMessageInfo type UnrecognizedWithEmbed struct { UnrecognizedWithEmbed_Embedded `protobuf:"bytes,1,opt,name=embedded,embedded=embedded" json:"embedded"` - Field2 *string `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field2 *string `protobuf:"bytes,2,opt,name=Field2" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UnrecognizedWithEmbed) Reset() { *m = UnrecognizedWithEmbed{} } -func (*UnrecognizedWithEmbed) ProtoMessage() {} -func (*UnrecognizedWithEmbed) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{56} } +func (m *UnrecognizedWithEmbed) Reset() { *m = UnrecognizedWithEmbed{} } +func (*UnrecognizedWithEmbed) ProtoMessage() {} +func (*UnrecognizedWithEmbed) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{56} +} +func (m *UnrecognizedWithEmbed) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UnrecognizedWithEmbed.Unmarshal(m, b) +} +func (m *UnrecognizedWithEmbed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UnrecognizedWithEmbed.Marshal(b, m, deterministic) +} +func (dst *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed.Merge(dst, src) +} +func (m *UnrecognizedWithEmbed) XXX_Size() int { + return xxx_messageInfo_UnrecognizedWithEmbed.Size(m) +} +func (m *UnrecognizedWithEmbed) XXX_DiscardUnknown() { + xxx_messageInfo_UnrecognizedWithEmbed.DiscardUnknown(m) +} + +var xxx_messageInfo_UnrecognizedWithEmbed proto.InternalMessageInfo type UnrecognizedWithEmbed_Embedded struct { - Field1 *uint32 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + Field1 *uint32 `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *UnrecognizedWithEmbed_Embedded) Reset() { *m = UnrecognizedWithEmbed_Embedded{} } func (*UnrecognizedWithEmbed_Embedded) ProtoMessage() {} func (*UnrecognizedWithEmbed_Embedded) Descriptor() ([]byte, []int) { - return fileDescriptorThetest, []int{56, 0} + return fileDescriptor_thetest_14aea7c379120fb7, []int{56, 0} } +func (m *UnrecognizedWithEmbed_Embedded) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Unmarshal(m, b) +} +func (m *UnrecognizedWithEmbed_Embedded) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Marshal(b, m, deterministic) +} +func (dst *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(dst, src) +} +func (m *UnrecognizedWithEmbed_Embedded) XXX_Size() int { + return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Size(m) +} +func (m *UnrecognizedWithEmbed_Embedded) XXX_DiscardUnknown() { + xxx_messageInfo_UnrecognizedWithEmbed_Embedded.DiscardUnknown(m) +} + +var xxx_messageInfo_UnrecognizedWithEmbed_Embedded proto.InternalMessageInfo type Node struct { - Label *string `protobuf:"bytes,1,opt,name=Label" json:"Label,omitempty"` - Children []*Node `protobuf:"bytes,2,rep,name=Children" json:"Children,omitempty"` - XXX_unrecognized []byte `json:"-"` + Label *string `protobuf:"bytes,1,opt,name=Label" json:"Label,omitempty"` + Children []*Node `protobuf:"bytes,2,rep,name=Children" json:"Children,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Node) Reset() { *m = Node{} } -func (*Node) ProtoMessage() {} -func (*Node) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{57} } +func (m *Node) Reset() { *m = Node{} } +func (*Node) ProtoMessage() {} +func (*Node) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{57} +} +func (m *Node) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Node.Unmarshal(m, b) +} +func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Node.Marshal(b, m, deterministic) +} +func (dst *Node) XXX_Merge(src proto.Message) { + xxx_messageInfo_Node.Merge(dst, src) +} +func (m *Node) XXX_Size() int { + return xxx_messageInfo_Node.Size(m) +} +func (m *Node) XXX_DiscardUnknown() { + xxx_messageInfo_Node.DiscardUnknown(m) +} + +var xxx_messageInfo_Node proto.InternalMessageInfo type NonByteCustomType struct { - Field1 *T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NonByteCustomType) Reset() { *m = NonByteCustomType{} } -func (*NonByteCustomType) ProtoMessage() {} -func (*NonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{58} } +func (m *NonByteCustomType) Reset() { *m = NonByteCustomType{} } +func (*NonByteCustomType) ProtoMessage() {} +func (*NonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{58} +} +func (m *NonByteCustomType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NonByteCustomType.Unmarshal(m, b) +} +func (m *NonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NonByteCustomType.Marshal(b, m, deterministic) +} +func (dst *NonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonByteCustomType.Merge(dst, src) +} +func (m *NonByteCustomType) XXX_Size() int { + return xxx_messageInfo_NonByteCustomType.Size(m) +} +func (m *NonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NonByteCustomType proto.InternalMessageInfo type NidOptNonByteCustomType struct { - Field1 T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1"` - XXX_unrecognized []byte `json:"-"` + Field1 T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidOptNonByteCustomType) Reset() { *m = NidOptNonByteCustomType{} } -func (*NidOptNonByteCustomType) ProtoMessage() {} -func (*NidOptNonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{59} } +func (m *NidOptNonByteCustomType) Reset() { *m = NidOptNonByteCustomType{} } +func (*NidOptNonByteCustomType) ProtoMessage() {} +func (*NidOptNonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{59} +} +func (m *NidOptNonByteCustomType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidOptNonByteCustomType.Unmarshal(m, b) +} +func (m *NidOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidOptNonByteCustomType.Marshal(b, m, deterministic) +} +func (dst *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNonByteCustomType.Merge(dst, src) +} +func (m *NidOptNonByteCustomType) XXX_Size() int { + return xxx_messageInfo_NidOptNonByteCustomType.Size(m) +} +func (m *NidOptNonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NidOptNonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NidOptNonByteCustomType proto.InternalMessageInfo type NinOptNonByteCustomType struct { - Field1 *T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 *T `protobuf:"bytes,1,opt,name=Field1,customtype=T" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinOptNonByteCustomType) Reset() { *m = NinOptNonByteCustomType{} } -func (*NinOptNonByteCustomType) ProtoMessage() {} -func (*NinOptNonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{60} } +func (m *NinOptNonByteCustomType) Reset() { *m = NinOptNonByteCustomType{} } +func (*NinOptNonByteCustomType) ProtoMessage() {} +func (*NinOptNonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{60} +} +func (m *NinOptNonByteCustomType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinOptNonByteCustomType.Unmarshal(m, b) +} +func (m *NinOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinOptNonByteCustomType.Marshal(b, m, deterministic) +} +func (dst *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNonByteCustomType.Merge(dst, src) +} +func (m *NinOptNonByteCustomType) XXX_Size() int { + return xxx_messageInfo_NinOptNonByteCustomType.Size(m) +} +func (m *NinOptNonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NinOptNonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NinOptNonByteCustomType proto.InternalMessageInfo type NidRepNonByteCustomType struct { - Field1 []T `protobuf:"bytes,1,rep,name=Field1,customtype=T" json:"Field1"` - XXX_unrecognized []byte `json:"-"` + Field1 []T `protobuf:"bytes,1,rep,name=Field1,customtype=T" json:"Field1"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NidRepNonByteCustomType) Reset() { *m = NidRepNonByteCustomType{} } -func (*NidRepNonByteCustomType) ProtoMessage() {} -func (*NidRepNonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{61} } +func (m *NidRepNonByteCustomType) Reset() { *m = NidRepNonByteCustomType{} } +func (*NidRepNonByteCustomType) ProtoMessage() {} +func (*NidRepNonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{61} +} +func (m *NidRepNonByteCustomType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NidRepNonByteCustomType.Unmarshal(m, b) +} +func (m *NidRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NidRepNonByteCustomType.Marshal(b, m, deterministic) +} +func (dst *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNonByteCustomType.Merge(dst, src) +} +func (m *NidRepNonByteCustomType) XXX_Size() int { + return xxx_messageInfo_NidRepNonByteCustomType.Size(m) +} +func (m *NidRepNonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NidRepNonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NidRepNonByteCustomType proto.InternalMessageInfo type NinRepNonByteCustomType struct { - Field1 []T `protobuf:"bytes,1,rep,name=Field1,customtype=T" json:"Field1,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field1 []T `protobuf:"bytes,1,rep,name=Field1,customtype=T" json:"Field1,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *NinRepNonByteCustomType) Reset() { *m = NinRepNonByteCustomType{} } -func (*NinRepNonByteCustomType) ProtoMessage() {} -func (*NinRepNonByteCustomType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{62} } +func (m *NinRepNonByteCustomType) Reset() { *m = NinRepNonByteCustomType{} } +func (*NinRepNonByteCustomType) ProtoMessage() {} +func (*NinRepNonByteCustomType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{62} +} +func (m *NinRepNonByteCustomType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NinRepNonByteCustomType.Unmarshal(m, b) +} +func (m *NinRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NinRepNonByteCustomType.Marshal(b, m, deterministic) +} +func (dst *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNonByteCustomType.Merge(dst, src) +} +func (m *NinRepNonByteCustomType) XXX_Size() int { + return xxx_messageInfo_NinRepNonByteCustomType.Size(m) +} +func (m *NinRepNonByteCustomType) XXX_DiscardUnknown() { + xxx_messageInfo_NinRepNonByteCustomType.DiscardUnknown(m) +} + +var xxx_messageInfo_NinRepNonByteCustomType proto.InternalMessageInfo type ProtoType struct { - Field2 *string `protobuf:"bytes,1,opt,name=Field2" json:"Field2,omitempty"` - XXX_unrecognized []byte `json:"-"` + Field2 *string `protobuf:"bytes,1,opt,name=Field2" json:"Field2,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ProtoType) Reset() { *m = ProtoType{} } -func (*ProtoType) ProtoMessage() {} -func (*ProtoType) Descriptor() ([]byte, []int) { return fileDescriptorThetest, []int{63} } +func (m *ProtoType) Reset() { *m = ProtoType{} } +func (*ProtoType) ProtoMessage() {} +func (*ProtoType) Descriptor() ([]byte, []int) { + return fileDescriptor_thetest_14aea7c379120fb7, []int{63} +} +func (m *ProtoType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProtoType.Unmarshal(m, b) +} +func (m *ProtoType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProtoType.Marshal(b, m, deterministic) +} +func (dst *ProtoType) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoType.Merge(dst, src) +} +func (m *ProtoType) XXX_Size() int { + return xxx_messageInfo_ProtoType.Size(m) +} +func (m *ProtoType) XXX_DiscardUnknown() { + xxx_messageInfo_ProtoType.DiscardUnknown(m) +} + +var xxx_messageInfo_ProtoType proto.InternalMessageInfo var E_FieldA = &proto.ExtensionDesc{ ExtendedType: (*MyExtendable)(nil), @@ -4818,8 +6173,8 @@ func (this *MyExtendable) Compare(that interface{}) int { } else if that1.Field1 != nil { return -1 } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) extkeys := make([]int32, 0, len(thismap)+len(thatmap)) for k := range thismap { extkeys = append(extkeys, k) @@ -4829,7 +6184,7 @@ func (this *MyExtendable) Compare(that interface{}) int { extkeys = append(extkeys, k) } } - sortkeys.Int32s(extkeys) + github_com_gogo_protobuf_sortkeys.Int32s(extkeys) for _, k := range extkeys { if v, ok := thismap[k]; ok { if v2, ok := thatmap[k]; ok { @@ -4900,8 +6255,8 @@ func (this *OtherExtenable) Compare(that interface{}) int { if c := this.M.Compare(that1.M); c != 0 { return c } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) extkeys := make([]int32, 0, len(thismap)+len(thatmap)) for k := range thismap { extkeys = append(extkeys, k) @@ -4911,7 +6266,7 @@ func (this *OtherExtenable) Compare(that interface{}) int { extkeys = append(extkeys, k) } } - sortkeys.Int32s(extkeys) + github_com_gogo_protobuf_sortkeys.Int32s(extkeys) for _, k := range extkeys { if v, ok := thismap[k]; ok { if v2, ok := thatmap[k]; ok { @@ -6758,639 +8113,645 @@ func (this *ProtoType) Compare(that interface{}) int { } return 0 } -func (this *NidOptNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepPackedNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepPackedNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepPackedNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepPackedNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidOptStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidEmbeddedStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidEmbeddedStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinEmbeddedStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinEmbeddedStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidNestedStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidNestedStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinNestedStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinNestedStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidOptCustom) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptCustom) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomDash) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomDash) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptCustom) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptCustom) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepCustom) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepCustom) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepCustom) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepCustom) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptNativeUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptNativeUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptStructUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptStructUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinEmbeddedStructUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinEmbeddedStructUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinNestedStructUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinNestedStructUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Tree) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Tree) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *OrBranch) Description() (desc *descriptor.FileDescriptorSet) { +func (this *OrBranch) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *AndBranch) Description() (desc *descriptor.FileDescriptorSet) { +func (this *AndBranch) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Leaf) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Leaf) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *DeepTree) Description() (desc *descriptor.FileDescriptorSet) { +func (this *DeepTree) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *ADeepBranch) Description() (desc *descriptor.FileDescriptorSet) { +func (this *ADeepBranch) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *AndDeepBranch) Description() (desc *descriptor.FileDescriptorSet) { +func (this *AndDeepBranch) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *DeepLeaf) Description() (desc *descriptor.FileDescriptorSet) { +func (this *DeepLeaf) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Nil) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Nil) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidOptEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptEnumDefault) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptEnumDefault) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *AnotherNinOptEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *AnotherNinOptEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *AnotherNinOptEnumDefault) Description() (desc *descriptor.FileDescriptorSet) { +func (this *AnotherNinOptEnumDefault) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Timer) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Timer) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *MyExtendable) Description() (desc *descriptor.FileDescriptorSet) { +func (this *MyExtendable) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *OtherExtenable) Description() (desc *descriptor.FileDescriptorSet) { +func (this *OtherExtenable) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NestedDefinition) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NestedDefinition) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NestedDefinition_NestedMessage) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NestedDefinition_NestedMessage) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NestedDefinition_NestedMessage_NestedNestedMsg) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NestedDefinition_NestedMessage_NestedNestedMsg) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NestedScope) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NestedScope) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptNativeDefault) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptNativeDefault) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomContainer) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomContainer) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNidOptNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNidOptNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNinOptNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNinOptNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNinRepNative) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNinRepNative) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNinStruct) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNinStruct) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameNinEmbeddedStructUnion) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameNinEmbeddedStructUnion) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *CustomNameEnum) Description() (desc *descriptor.FileDescriptorSet) { +func (this *CustomNameEnum) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NoExtensionsMap) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NoExtensionsMap) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Unrecognized) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Unrecognized) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *UnrecognizedWithInner) Description() (desc *descriptor.FileDescriptorSet) { +func (this *UnrecognizedWithInner) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *UnrecognizedWithInner_Inner) Description() (desc *descriptor.FileDescriptorSet) { +func (this *UnrecognizedWithInner_Inner) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *UnrecognizedWithEmbed) Description() (desc *descriptor.FileDescriptorSet) { +func (this *UnrecognizedWithEmbed) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *UnrecognizedWithEmbed_Embedded) Description() (desc *descriptor.FileDescriptorSet) { +func (this *UnrecognizedWithEmbed_Embedded) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *Node) Description() (desc *descriptor.FileDescriptorSet) { +func (this *Node) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidOptNonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidOptNonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinOptNonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinOptNonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NidRepNonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NidRepNonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *NinRepNonByteCustomType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *NinRepNonByteCustomType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func (this *ProtoType) Description() (desc *descriptor.FileDescriptorSet) { +func (this *ProtoType) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ThetestDescription() } -func ThetestDescription() (desc *descriptor.FileDescriptorSet) { - d := &descriptor.FileDescriptorSet{} +func ThetestDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { + d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 6609 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x6b, 0x70, 0x1b, 0xd7, - 0x75, 0x3f, 0x17, 0x0b, 0x52, 0xe0, 0xe1, 0x6b, 0xb9, 0x94, 0x28, 0x98, 0x96, 0x49, 0x0a, 0x96, - 0x65, 0x9a, 0xb1, 0x29, 0x8a, 0xa2, 0x5e, 0x50, 0x6c, 0xff, 0xf1, 0x92, 0x4c, 0x85, 0x04, 0x99, - 0x25, 0x19, 0x5b, 0xc9, 0xff, 0x3f, 0x98, 0x15, 0x70, 0x49, 0xc2, 0x06, 0x76, 0x11, 0xec, 0xd2, - 0x36, 0x3d, 0xff, 0xe9, 0xb8, 0x49, 0x9b, 0x26, 0xed, 0xf4, 0x99, 0x76, 0xf2, 0x68, 0xe2, 0x38, - 0xed, 0xa4, 0x71, 0xd2, 0x57, 0xd2, 0xa4, 0x69, 0x9a, 0x76, 0x1a, 0x7f, 0x49, 0xab, 0x7e, 0xe9, - 0x38, 0xfd, 0xd4, 0xc9, 0x74, 0x3c, 0x91, 0x9c, 0x99, 0xa6, 0xad, 0xdb, 0xa4, 0xa9, 0x67, 0x9a, - 0x19, 0xe7, 0x43, 0xe7, 0xbe, 0x76, 0xf7, 0x5e, 0x2c, 0xb8, 0x4b, 0xcb, 0x76, 0xf2, 0x45, 0x02, - 0xee, 0x39, 0xbf, 0xb3, 0x67, 0xcf, 0xeb, 0x9e, 0xfb, 0x20, 0xe0, 0x07, 0x17, 0x61, 0x7a, 0xdb, - 0xb6, 0xb7, 0x1b, 0xe8, 0x54, 0xab, 0x6d, 0xbb, 0xf6, 0xf5, 0xdd, 0xad, 0x53, 0x35, 0xe4, 0x54, - 0xdb, 0xf5, 0x96, 0x6b, 0xb7, 0xe7, 0xc8, 0x98, 0x3e, 0x42, 0x39, 0xe6, 0x38, 0x47, 0x66, 0x05, - 0x46, 0x2f, 0xd7, 0x1b, 0xa8, 0xe8, 0x31, 0xae, 0x23, 0x57, 0xbf, 0x00, 0xc9, 0xad, 0x7a, 0x03, - 0xa5, 0x95, 0x69, 0x75, 0x66, 0x60, 0xe1, 0xc4, 0x9c, 0x04, 0x9a, 0x13, 0x11, 0x6b, 0x78, 0xd8, - 0x20, 0x88, 0xcc, 0xf7, 0x92, 0x30, 0x16, 0x42, 0xd5, 0x75, 0x48, 0x5a, 0x66, 0x13, 0x4b, 0x54, - 0x66, 0xfa, 0x0d, 0xf2, 0x59, 0x4f, 0xc3, 0xa1, 0x96, 0x59, 0x7d, 0xc2, 0xdc, 0x46, 0xe9, 0x04, - 0x19, 0xe6, 0x5f, 0xf5, 0x49, 0x80, 0x1a, 0x6a, 0x21, 0xab, 0x86, 0xac, 0xea, 0x5e, 0x5a, 0x9d, - 0x56, 0x67, 0xfa, 0x8d, 0xc0, 0x88, 0xfe, 0x0e, 0x18, 0x6d, 0xed, 0x5e, 0x6f, 0xd4, 0xab, 0x95, - 0x00, 0x1b, 0x4c, 0xab, 0x33, 0xbd, 0x86, 0x46, 0x09, 0x45, 0x9f, 0xf9, 0x5e, 0x18, 0x79, 0x0a, - 0x99, 0x4f, 0x04, 0x59, 0x07, 0x08, 0xeb, 0x30, 0x1e, 0x0e, 0x30, 0x16, 0x60, 0xb0, 0x89, 0x1c, - 0xc7, 0xdc, 0x46, 0x15, 0x77, 0xaf, 0x85, 0xd2, 0x49, 0xf2, 0xf6, 0xd3, 0x1d, 0x6f, 0x2f, 0xbf, - 0xf9, 0x00, 0x43, 0x6d, 0xec, 0xb5, 0x90, 0x9e, 0x83, 0x7e, 0x64, 0xed, 0x36, 0xa9, 0x84, 0xde, - 0x2e, 0xf6, 0x2b, 0x59, 0xbb, 0x4d, 0x59, 0x4a, 0x0a, 0xc3, 0x98, 0x88, 0x43, 0x0e, 0x6a, 0x3f, - 0x59, 0xaf, 0xa2, 0x74, 0x1f, 0x11, 0x70, 0x6f, 0x87, 0x80, 0x75, 0x4a, 0x97, 0x65, 0x70, 0x9c, - 0x5e, 0x80, 0x7e, 0xf4, 0xb4, 0x8b, 0x2c, 0xa7, 0x6e, 0x5b, 0xe9, 0x43, 0x44, 0xc8, 0x3d, 0x21, - 0x5e, 0x44, 0x8d, 0x9a, 0x2c, 0xc2, 0xc7, 0xe9, 0xe7, 0xe0, 0x90, 0xdd, 0x72, 0xeb, 0xb6, 0xe5, - 0xa4, 0x53, 0xd3, 0xca, 0xcc, 0xc0, 0xc2, 0xb1, 0xd0, 0x40, 0x58, 0xa5, 0x3c, 0x06, 0x67, 0xd6, - 0x97, 0x40, 0x73, 0xec, 0xdd, 0x76, 0x15, 0x55, 0xaa, 0x76, 0x0d, 0x55, 0xea, 0xd6, 0x96, 0x9d, - 0xee, 0x27, 0x02, 0xa6, 0x3a, 0x5f, 0x84, 0x30, 0x16, 0xec, 0x1a, 0x5a, 0xb2, 0xb6, 0x6c, 0x63, - 0xd8, 0x11, 0xbe, 0xeb, 0xe3, 0xd0, 0xe7, 0xec, 0x59, 0xae, 0xf9, 0x74, 0x7a, 0x90, 0x44, 0x08, - 0xfb, 0x96, 0xf9, 0xcb, 0x3e, 0x18, 0x89, 0x13, 0x62, 0x97, 0xa0, 0x77, 0x0b, 0xbf, 0x65, 0x3a, - 0x71, 0x10, 0x1b, 0x50, 0x8c, 0x68, 0xc4, 0xbe, 0x37, 0x68, 0xc4, 0x1c, 0x0c, 0x58, 0xc8, 0x71, - 0x51, 0x8d, 0x46, 0x84, 0x1a, 0x33, 0xa6, 0x80, 0x82, 0x3a, 0x43, 0x2a, 0xf9, 0x86, 0x42, 0xea, - 0x31, 0x18, 0xf1, 0x54, 0xaa, 0xb4, 0x4d, 0x6b, 0x9b, 0xc7, 0xe6, 0xa9, 0x28, 0x4d, 0xe6, 0x4a, - 0x1c, 0x67, 0x60, 0x98, 0x31, 0x8c, 0x84, 0xef, 0x7a, 0x11, 0xc0, 0xb6, 0x90, 0xbd, 0x55, 0xa9, - 0xa1, 0x6a, 0x23, 0x9d, 0xea, 0x62, 0xa5, 0x55, 0xcc, 0xd2, 0x61, 0x25, 0x9b, 0x8e, 0x56, 0x1b, - 0xfa, 0x45, 0x3f, 0xd4, 0x0e, 0x75, 0x89, 0x94, 0x15, 0x9a, 0x64, 0x1d, 0xd1, 0xb6, 0x09, 0xc3, - 0x6d, 0x84, 0xe3, 0x1e, 0xd5, 0xd8, 0x9b, 0xf5, 0x13, 0x25, 0xe6, 0x22, 0xdf, 0xcc, 0x60, 0x30, - 0xfa, 0x62, 0x43, 0xed, 0xe0, 0x57, 0xfd, 0x6e, 0xf0, 0x06, 0x2a, 0x24, 0xac, 0x80, 0x54, 0xa1, - 0x41, 0x3e, 0x58, 0x36, 0x9b, 0x68, 0xe2, 0x19, 0x18, 0x16, 0xcd, 0xa3, 0x1f, 0x86, 0x5e, 0xc7, - 0x35, 0xdb, 0x2e, 0x89, 0xc2, 0x5e, 0x83, 0x7e, 0xd1, 0x35, 0x50, 0x91, 0x55, 0x23, 0x55, 0xae, - 0xd7, 0xc0, 0x1f, 0xf5, 0xff, 0xe3, 0xbf, 0xb0, 0x4a, 0x5e, 0xf8, 0x64, 0xa7, 0x47, 0x05, 0xc9, - 0xf2, 0x7b, 0x4f, 0x9c, 0x87, 0x21, 0xe1, 0x05, 0xe2, 0x3e, 0x3a, 0xf3, 0xff, 0xe1, 0x48, 0xa8, - 0x68, 0xfd, 0x31, 0x38, 0xbc, 0x6b, 0xd5, 0x2d, 0x17, 0xb5, 0x5b, 0x6d, 0x84, 0x23, 0x96, 0x3e, - 0x2a, 0xfd, 0x2f, 0x87, 0xba, 0xc4, 0xdc, 0x66, 0x90, 0x9b, 0x4a, 0x31, 0xc6, 0x76, 0x3b, 0x07, - 0x67, 0xfb, 0x53, 0xdf, 0x3f, 0xa4, 0x3d, 0xfb, 0xec, 0xb3, 0xcf, 0x26, 0x32, 0x1f, 0xef, 0x83, - 0xc3, 0x61, 0x39, 0x13, 0x9a, 0xbe, 0xe3, 0xd0, 0x67, 0xed, 0x36, 0xaf, 0xa3, 0x36, 0x31, 0x52, - 0xaf, 0xc1, 0xbe, 0xe9, 0x39, 0xe8, 0x6d, 0x98, 0xd7, 0x51, 0x23, 0x9d, 0x9c, 0x56, 0x66, 0x86, - 0x17, 0xde, 0x11, 0x2b, 0x2b, 0xe7, 0x96, 0x31, 0xc4, 0xa0, 0x48, 0xfd, 0x21, 0x48, 0xb2, 0x12, - 0x8d, 0x25, 0xcc, 0xc6, 0x93, 0x80, 0x73, 0xc9, 0x20, 0x38, 0xfd, 0x4e, 0xe8, 0xc7, 0xff, 0xd3, - 0xd8, 0xe8, 0x23, 0x3a, 0xa7, 0xf0, 0x00, 0x8e, 0x0b, 0x7d, 0x02, 0x52, 0x24, 0x4d, 0x6a, 0x88, - 0x4f, 0x6d, 0xde, 0x77, 0x1c, 0x58, 0x35, 0xb4, 0x65, 0xee, 0x36, 0xdc, 0xca, 0x93, 0x66, 0x63, - 0x17, 0x91, 0x80, 0xef, 0x37, 0x06, 0xd9, 0xe0, 0x7b, 0xf0, 0x98, 0x3e, 0x05, 0x03, 0x34, 0xab, - 0xea, 0x56, 0x0d, 0x3d, 0x4d, 0xaa, 0x67, 0xaf, 0x41, 0x13, 0x6d, 0x09, 0x8f, 0xe0, 0xc7, 0x3f, - 0xee, 0xd8, 0x16, 0x0f, 0x4d, 0xf2, 0x08, 0x3c, 0x40, 0x1e, 0x7f, 0x5e, 0x2e, 0xdc, 0x77, 0x85, - 0xbf, 0x9e, 0x1c, 0x53, 0x99, 0xaf, 0x25, 0x20, 0x49, 0xea, 0xc5, 0x08, 0x0c, 0x6c, 0x5c, 0x5b, - 0x2b, 0x55, 0x8a, 0xab, 0x9b, 0xf9, 0xe5, 0x92, 0xa6, 0xe8, 0xc3, 0x00, 0x64, 0xe0, 0xf2, 0xf2, - 0x6a, 0x6e, 0x43, 0x4b, 0x78, 0xdf, 0x97, 0xca, 0x1b, 0xe7, 0x16, 0x35, 0xd5, 0x03, 0x6c, 0xd2, - 0x81, 0x64, 0x90, 0xe1, 0xcc, 0x82, 0xd6, 0xab, 0x6b, 0x30, 0x48, 0x05, 0x2c, 0x3d, 0x56, 0x2a, - 0x9e, 0x5b, 0xd4, 0xfa, 0xc4, 0x91, 0x33, 0x0b, 0xda, 0x21, 0x7d, 0x08, 0xfa, 0xc9, 0x48, 0x7e, - 0x75, 0x75, 0x59, 0x4b, 0x79, 0x32, 0xd7, 0x37, 0x8c, 0xa5, 0xf2, 0x15, 0xad, 0xdf, 0x93, 0x79, - 0xc5, 0x58, 0xdd, 0x5c, 0xd3, 0xc0, 0x93, 0xb0, 0x52, 0x5a, 0x5f, 0xcf, 0x5d, 0x29, 0x69, 0x03, - 0x1e, 0x47, 0xfe, 0xda, 0x46, 0x69, 0x5d, 0x1b, 0x14, 0xd4, 0x3a, 0xb3, 0xa0, 0x0d, 0x79, 0x8f, - 0x28, 0x95, 0x37, 0x57, 0xb4, 0x61, 0x7d, 0x14, 0x86, 0xe8, 0x23, 0xb8, 0x12, 0x23, 0xd2, 0xd0, - 0xb9, 0x45, 0x4d, 0xf3, 0x15, 0xa1, 0x52, 0x46, 0x85, 0x81, 0x73, 0x8b, 0x9a, 0x9e, 0x29, 0x40, - 0x2f, 0x89, 0x2e, 0x5d, 0x87, 0xe1, 0xe5, 0x5c, 0xbe, 0xb4, 0x5c, 0x59, 0x5d, 0xdb, 0x58, 0x5a, - 0x2d, 0xe7, 0x96, 0x35, 0xc5, 0x1f, 0x33, 0x4a, 0xef, 0xde, 0x5c, 0x32, 0x4a, 0x45, 0x2d, 0x11, - 0x1c, 0x5b, 0x2b, 0xe5, 0x36, 0x4a, 0x45, 0x4d, 0xcd, 0x54, 0xe1, 0x70, 0x58, 0x9d, 0x0c, 0xcd, - 0x8c, 0x80, 0x8b, 0x13, 0x5d, 0x5c, 0x4c, 0x64, 0x75, 0xb8, 0xf8, 0x95, 0x04, 0x8c, 0x85, 0xcc, - 0x15, 0xa1, 0x0f, 0x79, 0x18, 0x7a, 0x69, 0x88, 0xd2, 0xd9, 0xf3, 0xbe, 0xd0, 0x49, 0x87, 0x04, - 0x6c, 0xc7, 0x0c, 0x4a, 0x70, 0xc1, 0x0e, 0x42, 0xed, 0xd2, 0x41, 0x60, 0x11, 0x1d, 0x35, 0xfd, - 0xff, 0x75, 0xd4, 0x74, 0x3a, 0xed, 0x9d, 0x8b, 0x33, 0xed, 0x91, 0xb1, 0x83, 0xd5, 0xf6, 0xde, - 0x90, 0xda, 0x7e, 0x09, 0x46, 0x3b, 0x04, 0xc5, 0xae, 0xb1, 0x1f, 0x54, 0x20, 0xdd, 0xcd, 0x38, - 0x11, 0x95, 0x2e, 0x21, 0x54, 0xba, 0x4b, 0xb2, 0x05, 0x8f, 0x77, 0x77, 0x42, 0x87, 0xaf, 0x3f, - 0xaf, 0xc0, 0x78, 0x78, 0xa7, 0x18, 0xaa, 0xc3, 0x43, 0xd0, 0xd7, 0x44, 0xee, 0x8e, 0xcd, 0xbb, - 0xa5, 0x93, 0x21, 0x73, 0x30, 0x26, 0xcb, 0xce, 0x66, 0xa8, 0xe0, 0x24, 0xae, 0x76, 0x6b, 0xf7, - 0xa8, 0x36, 0x1d, 0x9a, 0x7e, 0x24, 0x01, 0x47, 0x42, 0x85, 0x87, 0x2a, 0x7a, 0x17, 0x40, 0xdd, - 0x6a, 0xed, 0xba, 0xb4, 0x23, 0xa2, 0x05, 0xb6, 0x9f, 0x8c, 0x90, 0xe2, 0x85, 0x8b, 0xe7, 0xae, - 0xeb, 0xd1, 0x55, 0x42, 0x07, 0x3a, 0x44, 0x18, 0x2e, 0xf8, 0x8a, 0x26, 0x89, 0xa2, 0x93, 0x5d, - 0xde, 0xb4, 0x23, 0x30, 0xe7, 0x41, 0xab, 0x36, 0xea, 0xc8, 0x72, 0x2b, 0x8e, 0xdb, 0x46, 0x66, - 0xb3, 0x6e, 0x6d, 0x93, 0x19, 0x24, 0x95, 0xed, 0xdd, 0x32, 0x1b, 0x0e, 0x32, 0x46, 0x28, 0x79, - 0x9d, 0x53, 0x31, 0x82, 0x04, 0x50, 0x3b, 0x80, 0xe8, 0x13, 0x10, 0x94, 0xec, 0x21, 0x32, 0x5f, - 0x49, 0xc1, 0x40, 0xa0, 0xaf, 0xd6, 0x8f, 0xc3, 0xe0, 0xe3, 0xe6, 0x93, 0x66, 0x85, 0xaf, 0x95, - 0xa8, 0x25, 0x06, 0xf0, 0xd8, 0x1a, 0x5b, 0x2f, 0xcd, 0xc3, 0x61, 0xc2, 0x62, 0xef, 0xba, 0xa8, - 0x5d, 0xa9, 0x36, 0x4c, 0xc7, 0x21, 0x46, 0x4b, 0x11, 0x56, 0x1d, 0xd3, 0x56, 0x31, 0xa9, 0xc0, - 0x29, 0xfa, 0x59, 0x18, 0x23, 0x88, 0xe6, 0x6e, 0xc3, 0xad, 0xb7, 0x1a, 0xa8, 0x82, 0x57, 0x6f, - 0x0e, 0x99, 0x49, 0x3c, 0xcd, 0x46, 0x31, 0xc7, 0x0a, 0x63, 0xc0, 0x1a, 0x39, 0x7a, 0x11, 0xee, - 0x22, 0xb0, 0x6d, 0x64, 0xa1, 0xb6, 0xe9, 0xa2, 0x0a, 0x7a, 0xff, 0xae, 0xd9, 0x70, 0x2a, 0xa6, - 0x55, 0xab, 0xec, 0x98, 0xce, 0x4e, 0xfa, 0x30, 0x16, 0x90, 0x4f, 0xa4, 0x15, 0xe3, 0x0e, 0xcc, - 0x78, 0x85, 0xf1, 0x95, 0x08, 0x5b, 0xce, 0xaa, 0x3d, 0x62, 0x3a, 0x3b, 0x7a, 0x16, 0xc6, 0x89, - 0x14, 0xc7, 0x6d, 0xd7, 0xad, 0xed, 0x4a, 0x75, 0x07, 0x55, 0x9f, 0xa8, 0xec, 0xba, 0x5b, 0x17, - 0xd2, 0x77, 0x06, 0x9f, 0x4f, 0x34, 0x5c, 0x27, 0x3c, 0x05, 0xcc, 0xb2, 0xe9, 0x6e, 0x5d, 0xd0, - 0xd7, 0x61, 0x10, 0x3b, 0xa3, 0x59, 0x7f, 0x06, 0x55, 0xb6, 0xec, 0x36, 0x99, 0x1a, 0x87, 0x43, - 0x4a, 0x53, 0xc0, 0x82, 0x73, 0xab, 0x0c, 0xb0, 0x62, 0xd7, 0x50, 0xb6, 0x77, 0x7d, 0xad, 0x54, - 0x2a, 0x1a, 0x03, 0x5c, 0xca, 0x65, 0xbb, 0x8d, 0x03, 0x6a, 0xdb, 0xf6, 0x0c, 0x3c, 0x40, 0x03, - 0x6a, 0xdb, 0xe6, 0xe6, 0x3d, 0x0b, 0x63, 0xd5, 0x2a, 0x7d, 0xe7, 0x7a, 0xb5, 0xc2, 0xd6, 0x58, - 0x4e, 0x5a, 0x13, 0x8c, 0x55, 0xad, 0x5e, 0xa1, 0x0c, 0x2c, 0xc6, 0x1d, 0xfd, 0x22, 0x1c, 0xf1, - 0x8d, 0x15, 0x04, 0x8e, 0x76, 0xbc, 0xa5, 0x0c, 0x3d, 0x0b, 0x63, 0xad, 0xbd, 0x4e, 0xa0, 0x2e, - 0x3c, 0xb1, 0xb5, 0x27, 0xc3, 0xce, 0xc3, 0xe1, 0xd6, 0x4e, 0xab, 0x13, 0x37, 0x1b, 0xc4, 0xe9, - 0xad, 0x9d, 0x96, 0x0c, 0xbc, 0x87, 0x2c, 0xb8, 0xdb, 0xa8, 0x6a, 0xba, 0xa8, 0x96, 0x3e, 0x1a, - 0x64, 0x0f, 0x10, 0xf4, 0x53, 0xa0, 0x55, 0xab, 0x15, 0x64, 0x99, 0xd7, 0x1b, 0xa8, 0x62, 0xb6, - 0x91, 0x65, 0x3a, 0xe9, 0xa9, 0x20, 0xf3, 0x70, 0xb5, 0x5a, 0x22, 0xd4, 0x1c, 0x21, 0xea, 0xb3, - 0x30, 0x6a, 0x5f, 0x7f, 0xbc, 0x4a, 0x43, 0xb2, 0xd2, 0x6a, 0xa3, 0xad, 0xfa, 0xd3, 0xe9, 0x13, - 0xc4, 0xbe, 0x23, 0x98, 0x40, 0x02, 0x72, 0x8d, 0x0c, 0xeb, 0xf7, 0x81, 0x56, 0x75, 0x76, 0xcc, - 0x76, 0x8b, 0xd4, 0x64, 0xa7, 0x65, 0x56, 0x51, 0xfa, 0x1e, 0xca, 0x4a, 0xc7, 0xcb, 0x7c, 0x18, - 0xa7, 0x84, 0xf3, 0x54, 0x7d, 0xcb, 0xe5, 0x12, 0xef, 0xa5, 0x29, 0x41, 0xc6, 0x98, 0xb4, 0x19, - 0xd0, 0xb0, 0x29, 0x84, 0x07, 0xcf, 0x10, 0xb6, 0xe1, 0xd6, 0x4e, 0x2b, 0xf8, 0xdc, 0xbb, 0x61, - 0x08, 0x73, 0xfa, 0x0f, 0xbd, 0x8f, 0x36, 0x64, 0xad, 0x9d, 0xc0, 0x13, 0xdf, 0xb2, 0xde, 0x38, - 0x93, 0x85, 0xc1, 0x60, 0x7c, 0xea, 0xfd, 0x40, 0x23, 0x54, 0x53, 0x70, 0xb3, 0x52, 0x58, 0x2d, - 0xe2, 0x36, 0xe3, 0xbd, 0x25, 0x2d, 0x81, 0xdb, 0x9d, 0xe5, 0xa5, 0x8d, 0x52, 0xc5, 0xd8, 0x2c, - 0x6f, 0x2c, 0xad, 0x94, 0x34, 0x35, 0xd8, 0x57, 0x7f, 0x2b, 0x01, 0xc3, 0xe2, 0x12, 0x49, 0x7f, - 0x27, 0x1c, 0xe5, 0xfb, 0x19, 0x0e, 0x72, 0x2b, 0x4f, 0xd5, 0xdb, 0x24, 0x65, 0x9a, 0x26, 0x9d, - 0xbe, 0x3c, 0xa7, 0x1d, 0x66, 0x5c, 0xeb, 0xc8, 0x7d, 0xb4, 0xde, 0xc6, 0x09, 0xd1, 0x34, 0x5d, - 0x7d, 0x19, 0xa6, 0x2c, 0xbb, 0xe2, 0xb8, 0xa6, 0x55, 0x33, 0xdb, 0xb5, 0x8a, 0xbf, 0x93, 0x54, - 0x31, 0xab, 0x55, 0xe4, 0x38, 0x36, 0x9d, 0xaa, 0x3c, 0x29, 0xc7, 0x2c, 0x7b, 0x9d, 0x31, 0xfb, - 0x35, 0x3c, 0xc7, 0x58, 0xa5, 0x00, 0x53, 0xbb, 0x05, 0xd8, 0x9d, 0xd0, 0xdf, 0x34, 0x5b, 0x15, - 0x64, 0xb9, 0xed, 0x3d, 0xd2, 0x18, 0xa7, 0x8c, 0x54, 0xd3, 0x6c, 0x95, 0xf0, 0xf7, 0xb7, 0x67, - 0x7d, 0xf2, 0xcf, 0x2a, 0x0c, 0x06, 0x9b, 0x63, 0xbc, 0xd6, 0xa8, 0x92, 0x79, 0x44, 0x21, 0x95, - 0xe6, 0xee, 0x7d, 0x5b, 0xe9, 0xb9, 0x02, 0x9e, 0x60, 0xb2, 0x7d, 0xb4, 0x65, 0x35, 0x28, 0x12, - 0x4f, 0xee, 0xb8, 0xb6, 0x20, 0xda, 0x22, 0xa4, 0x0c, 0xf6, 0x4d, 0xbf, 0x02, 0x7d, 0x8f, 0x3b, - 0x44, 0x76, 0x1f, 0x91, 0x7d, 0x62, 0x7f, 0xd9, 0x57, 0xd7, 0x89, 0xf0, 0xfe, 0xab, 0xeb, 0x95, - 0xf2, 0xaa, 0xb1, 0x92, 0x5b, 0x36, 0x18, 0x5c, 0xbf, 0x03, 0x92, 0x0d, 0xf3, 0x99, 0x3d, 0x71, - 0x2a, 0x22, 0x43, 0x71, 0x0d, 0x7f, 0x07, 0x24, 0x9f, 0x42, 0xe6, 0x13, 0xe2, 0x04, 0x40, 0x86, - 0xde, 0xc2, 0xd0, 0x3f, 0x05, 0xbd, 0xc4, 0x5e, 0x3a, 0x00, 0xb3, 0x98, 0xd6, 0xa3, 0xa7, 0x20, - 0x59, 0x58, 0x35, 0x70, 0xf8, 0x6b, 0x30, 0x48, 0x47, 0x2b, 0x6b, 0x4b, 0xa5, 0x42, 0x49, 0x4b, - 0x64, 0xce, 0x42, 0x1f, 0x35, 0x02, 0x4e, 0x0d, 0xcf, 0x0c, 0x5a, 0x0f, 0xfb, 0xca, 0x64, 0x28, - 0x9c, 0xba, 0xb9, 0x92, 0x2f, 0x19, 0x5a, 0x22, 0xe8, 0x5e, 0x07, 0x06, 0x83, 0x7d, 0xf1, 0xdb, - 0x13, 0x53, 0xdf, 0x50, 0x60, 0x20, 0xd0, 0xe7, 0xe2, 0x06, 0xc5, 0x6c, 0x34, 0xec, 0xa7, 0x2a, - 0x66, 0xa3, 0x6e, 0x3a, 0x2c, 0x28, 0x80, 0x0c, 0xe5, 0xf0, 0x48, 0x5c, 0xa7, 0xbd, 0x2d, 0xca, - 0x3f, 0xa7, 0x80, 0x26, 0xb7, 0x98, 0x92, 0x82, 0xca, 0x4f, 0x55, 0xc1, 0x4f, 0x29, 0x30, 0x2c, - 0xf6, 0x95, 0x92, 0x7a, 0xc7, 0x7f, 0xaa, 0xea, 0x7d, 0x37, 0x01, 0x43, 0x42, 0x37, 0x19, 0x57, - 0xbb, 0xf7, 0xc3, 0x68, 0xbd, 0x86, 0x9a, 0x2d, 0xdb, 0x45, 0x56, 0x75, 0xaf, 0xd2, 0x40, 0x4f, - 0xa2, 0x46, 0x3a, 0x43, 0x0a, 0xc5, 0xa9, 0xfd, 0xfb, 0xd5, 0xb9, 0x25, 0x1f, 0xb7, 0x8c, 0x61, - 0xd9, 0xb1, 0xa5, 0x62, 0x69, 0x65, 0x6d, 0x75, 0xa3, 0x54, 0x2e, 0x5c, 0xab, 0x6c, 0x96, 0xdf, - 0x55, 0x5e, 0x7d, 0xb4, 0x6c, 0x68, 0x75, 0x89, 0xed, 0x2d, 0x4c, 0xf5, 0x35, 0xd0, 0x64, 0xa5, - 0xf4, 0xa3, 0x10, 0xa6, 0x96, 0xd6, 0xa3, 0x8f, 0xc1, 0x48, 0x79, 0xb5, 0xb2, 0xbe, 0x54, 0x2c, - 0x55, 0x4a, 0x97, 0x2f, 0x97, 0x0a, 0x1b, 0xeb, 0x74, 0x07, 0xc2, 0xe3, 0xde, 0x10, 0x93, 0xfa, - 0x93, 0x2a, 0x8c, 0x85, 0x68, 0xa2, 0xe7, 0xd8, 0xda, 0x81, 0x2e, 0x67, 0x1e, 0x88, 0xa3, 0xfd, - 0x1c, 0x9e, 0xf2, 0xd7, 0xcc, 0xb6, 0xcb, 0x96, 0x1a, 0xf7, 0x01, 0xb6, 0x92, 0xe5, 0xd6, 0xb7, - 0xea, 0xa8, 0xcd, 0x36, 0x6c, 0xe8, 0x82, 0x62, 0xc4, 0x1f, 0xa7, 0x7b, 0x36, 0xf7, 0x83, 0xde, - 0xb2, 0x9d, 0xba, 0x5b, 0x7f, 0x12, 0x55, 0xea, 0x16, 0xdf, 0xdd, 0xc1, 0x0b, 0x8c, 0xa4, 0xa1, - 0x71, 0xca, 0x92, 0xe5, 0x7a, 0xdc, 0x16, 0xda, 0x36, 0x25, 0x6e, 0x5c, 0xc0, 0x55, 0x43, 0xe3, - 0x14, 0x8f, 0xfb, 0x38, 0x0c, 0xd6, 0xec, 0x5d, 0xdc, 0x75, 0x51, 0x3e, 0x3c, 0x5f, 0x28, 0xc6, - 0x00, 0x1d, 0xf3, 0x58, 0x58, 0x3f, 0xed, 0x6f, 0x2b, 0x0d, 0x1a, 0x03, 0x74, 0x8c, 0xb2, 0xdc, - 0x0b, 0x23, 0xe6, 0xf6, 0x76, 0x1b, 0x0b, 0xe7, 0x82, 0xe8, 0x0a, 0x61, 0xd8, 0x1b, 0x26, 0x8c, - 0x13, 0x57, 0x21, 0xc5, 0xed, 0x80, 0xa7, 0x64, 0x6c, 0x89, 0x4a, 0x8b, 0x2e, 0x7b, 0x13, 0x33, - 0xfd, 0x46, 0xca, 0xe2, 0xc4, 0xe3, 0x30, 0x58, 0x77, 0x2a, 0xfe, 0x2e, 0x79, 0x62, 0x3a, 0x31, - 0x93, 0x32, 0x06, 0xea, 0x8e, 0xb7, 0xc3, 0x98, 0xf9, 0x7c, 0x02, 0x86, 0xc5, 0x5d, 0x7e, 0xbd, - 0x08, 0xa9, 0x86, 0x5d, 0x35, 0x49, 0x68, 0xd1, 0x23, 0xa6, 0x99, 0x88, 0x83, 0x81, 0xb9, 0x65, - 0xc6, 0x6f, 0x78, 0xc8, 0x89, 0x7f, 0x50, 0x20, 0xc5, 0x87, 0xf5, 0x71, 0x48, 0xb6, 0x4c, 0x77, - 0x87, 0x88, 0xeb, 0xcd, 0x27, 0x34, 0xc5, 0x20, 0xdf, 0xf1, 0xb8, 0xd3, 0x32, 0x2d, 0x12, 0x02, - 0x6c, 0x1c, 0x7f, 0xc7, 0x7e, 0x6d, 0x20, 0xb3, 0x46, 0x96, 0x1f, 0x76, 0xb3, 0x89, 0x2c, 0xd7, - 0xe1, 0x7e, 0x65, 0xe3, 0x05, 0x36, 0xac, 0xbf, 0x03, 0x46, 0xdd, 0xb6, 0x59, 0x6f, 0x08, 0xbc, - 0x49, 0xc2, 0xab, 0x71, 0x82, 0xc7, 0x9c, 0x85, 0x3b, 0xb8, 0xdc, 0x1a, 0x72, 0xcd, 0xea, 0x0e, - 0xaa, 0xf9, 0xa0, 0x3e, 0xb2, 0xcd, 0x70, 0x94, 0x31, 0x14, 0x19, 0x9d, 0x63, 0x33, 0xdf, 0x56, - 0x60, 0x94, 0x2f, 0x98, 0x6a, 0x9e, 0xb1, 0x56, 0x00, 0x4c, 0xcb, 0xb2, 0xdd, 0xa0, 0xb9, 0x3a, - 0x43, 0xb9, 0x03, 0x37, 0x97, 0xf3, 0x40, 0x46, 0x40, 0xc0, 0x44, 0x13, 0xc0, 0xa7, 0x74, 0x35, - 0xdb, 0x14, 0x0c, 0xb0, 0x23, 0x1c, 0x72, 0x0e, 0x48, 0x97, 0xd8, 0x40, 0x87, 0xf0, 0xca, 0x4a, - 0x3f, 0x0c, 0xbd, 0xd7, 0xd1, 0x76, 0xdd, 0x62, 0x1b, 0xb3, 0xf4, 0x0b, 0xdf, 0x08, 0x49, 0x7a, - 0x1b, 0x21, 0xf9, 0xf7, 0xc1, 0x58, 0xd5, 0x6e, 0xca, 0xea, 0xe6, 0x35, 0x69, 0x99, 0xef, 0x3c, - 0xa2, 0xbc, 0x17, 0xfc, 0x16, 0xf3, 0xc7, 0x8a, 0xf2, 0x7b, 0x09, 0xf5, 0xca, 0x5a, 0xfe, 0x8b, - 0x89, 0x89, 0x2b, 0x14, 0xba, 0xc6, 0xdf, 0xd4, 0x40, 0x5b, 0x0d, 0x54, 0xc5, 0xda, 0xc3, 0xc7, - 0xee, 0x85, 0x07, 0xb6, 0xeb, 0xee, 0xce, 0xee, 0xf5, 0xb9, 0xaa, 0xdd, 0x3c, 0xb5, 0x6d, 0x6f, - 0xdb, 0xfe, 0xd1, 0x27, 0xfe, 0x46, 0xbe, 0x90, 0x4f, 0xec, 0xf8, 0xb3, 0xdf, 0x1b, 0x9d, 0x88, - 0x3c, 0x2b, 0xcd, 0x96, 0x61, 0x8c, 0x31, 0x57, 0xc8, 0xf9, 0x0b, 0x5d, 0x45, 0xe8, 0xfb, 0xee, - 0x61, 0xa5, 0xbf, 0xfc, 0x3d, 0x32, 0x5d, 0x1b, 0xa3, 0x0c, 0x8a, 0x69, 0x74, 0xa1, 0x91, 0x35, - 0xe0, 0x88, 0x20, 0x8f, 0xa6, 0x26, 0x6a, 0x47, 0x48, 0xfc, 0x16, 0x93, 0x38, 0x16, 0x90, 0xb8, - 0xce, 0xa0, 0xd9, 0x02, 0x0c, 0x1d, 0x44, 0xd6, 0xdf, 0x32, 0x59, 0x83, 0x28, 0x28, 0xe4, 0x0a, - 0x8c, 0x10, 0x21, 0xd5, 0x5d, 0xc7, 0xb5, 0x9b, 0xa4, 0xee, 0xed, 0x2f, 0xe6, 0xef, 0xbe, 0x47, - 0x73, 0x65, 0x18, 0xc3, 0x0a, 0x1e, 0x2a, 0x9b, 0x05, 0x72, 0xe4, 0x54, 0x43, 0xd5, 0x46, 0x84, - 0x84, 0x1b, 0x4c, 0x11, 0x8f, 0x3f, 0xfb, 0x1e, 0x38, 0x8c, 0x3f, 0x93, 0xb2, 0x14, 0xd4, 0x24, - 0x7a, 0xc3, 0x2b, 0xfd, 0xed, 0x0f, 0xd2, 0x74, 0x1c, 0xf3, 0x04, 0x04, 0x74, 0x0a, 0x78, 0x71, - 0x1b, 0xb9, 0x2e, 0x6a, 0x3b, 0x15, 0xb3, 0x11, 0xa6, 0x5e, 0x60, 0xc7, 0x20, 0xfd, 0x89, 0x57, - 0x45, 0x2f, 0x5e, 0xa1, 0xc8, 0x5c, 0xa3, 0x91, 0xdd, 0x84, 0xa3, 0x21, 0x51, 0x11, 0x43, 0xe6, - 0x27, 0x99, 0xcc, 0xc3, 0x1d, 0x91, 0x81, 0xc5, 0xae, 0x01, 0x1f, 0xf7, 0x7c, 0x19, 0x43, 0xe6, - 0xef, 0x32, 0x99, 0x3a, 0xc3, 0x72, 0x97, 0x62, 0x89, 0x57, 0x61, 0xf4, 0x49, 0xd4, 0xbe, 0x6e, - 0x3b, 0x6c, 0x97, 0x26, 0x86, 0xb8, 0x4f, 0x31, 0x71, 0x23, 0x0c, 0x48, 0xb6, 0x6d, 0xb0, 0xac, - 0x8b, 0x90, 0xda, 0x32, 0xab, 0x28, 0x86, 0x88, 0x4f, 0x33, 0x11, 0x87, 0x30, 0x3f, 0x86, 0xe6, - 0x60, 0x70, 0xdb, 0x66, 0x33, 0x53, 0x34, 0xfc, 0x39, 0x06, 0x1f, 0xe0, 0x18, 0x26, 0xa2, 0x65, - 0xb7, 0x76, 0x1b, 0x78, 0xda, 0x8a, 0x16, 0xf1, 0x19, 0x2e, 0x82, 0x63, 0x98, 0x88, 0x03, 0x98, - 0xf5, 0x79, 0x2e, 0xc2, 0x09, 0xd8, 0xf3, 0x61, 0x18, 0xb0, 0xad, 0xc6, 0x9e, 0x6d, 0xc5, 0x51, - 0xe2, 0xb3, 0x4c, 0x02, 0x30, 0x08, 0x16, 0x70, 0x09, 0xfa, 0xe3, 0x3a, 0xe2, 0x73, 0xaf, 0xf2, - 0xf4, 0xe0, 0x1e, 0xb8, 0x02, 0x23, 0xbc, 0x40, 0xd5, 0x6d, 0x2b, 0x86, 0x88, 0x3f, 0x60, 0x22, - 0x86, 0x03, 0x30, 0xf6, 0x1a, 0x2e, 0x72, 0xdc, 0x6d, 0x14, 0x47, 0xc8, 0xe7, 0xf9, 0x6b, 0x30, - 0x08, 0x33, 0xe5, 0x75, 0x64, 0x55, 0x77, 0xe2, 0x49, 0x78, 0x81, 0x9b, 0x92, 0x63, 0xb0, 0x88, - 0x02, 0x0c, 0x35, 0xcd, 0xb6, 0xb3, 0x63, 0x36, 0x62, 0xb9, 0xe3, 0x0b, 0x4c, 0xc6, 0xa0, 0x07, - 0x62, 0x16, 0xd9, 0xb5, 0x0e, 0x22, 0xe6, 0x8b, 0xdc, 0x22, 0x01, 0x18, 0x4b, 0x3d, 0xc7, 0x25, - 0x5b, 0x5a, 0x07, 0x91, 0xf6, 0x87, 0x3c, 0xf5, 0x28, 0x76, 0x25, 0x28, 0xf1, 0x12, 0xf4, 0x3b, - 0xf5, 0x67, 0x62, 0x89, 0xf9, 0x23, 0xee, 0x69, 0x02, 0xc0, 0xe0, 0x6b, 0x70, 0x47, 0xe8, 0x34, - 0x11, 0x43, 0xd8, 0x1f, 0x33, 0x61, 0xe3, 0x21, 0x53, 0x05, 0x2b, 0x09, 0x07, 0x15, 0xf9, 0x27, - 0xbc, 0x24, 0x20, 0x49, 0xd6, 0x1a, 0x5e, 0x2b, 0x38, 0xe6, 0xd6, 0xc1, 0xac, 0xf6, 0xa7, 0xdc, - 0x6a, 0x14, 0x2b, 0x58, 0x6d, 0x03, 0xc6, 0x99, 0xc4, 0x83, 0xf9, 0xf5, 0x4b, 0xbc, 0xb0, 0x52, - 0xf4, 0xa6, 0xe8, 0xdd, 0xf7, 0xc1, 0x84, 0x67, 0x4e, 0xde, 0x94, 0x3a, 0x95, 0xa6, 0xd9, 0x8a, - 0x21, 0xf9, 0xcb, 0x4c, 0x32, 0xaf, 0xf8, 0x5e, 0x57, 0xeb, 0xac, 0x98, 0x2d, 0x2c, 0xfc, 0x31, - 0x48, 0x73, 0xe1, 0xbb, 0x56, 0x1b, 0x55, 0xed, 0x6d, 0xab, 0xfe, 0x0c, 0xaa, 0xc5, 0x10, 0xfd, - 0x67, 0x92, 0xab, 0x36, 0x03, 0x70, 0x2c, 0x79, 0x09, 0x34, 0xaf, 0x57, 0xa9, 0xd4, 0x9b, 0x2d, - 0xbb, 0xed, 0x46, 0x48, 0xfc, 0x0a, 0xf7, 0x94, 0x87, 0x5b, 0x22, 0xb0, 0x6c, 0x09, 0x86, 0xc9, - 0xd7, 0xb8, 0x21, 0xf9, 0x55, 0x26, 0x68, 0xc8, 0x47, 0xb1, 0xc2, 0x51, 0xb5, 0x9b, 0x2d, 0xb3, - 0x1d, 0xa7, 0xfe, 0xfd, 0x39, 0x2f, 0x1c, 0x0c, 0xc2, 0x0a, 0x87, 0xbb, 0xd7, 0x42, 0x78, 0xb6, - 0x8f, 0x21, 0xe1, 0x6b, 0xbc, 0x70, 0x70, 0x0c, 0x13, 0xc1, 0x1b, 0x86, 0x18, 0x22, 0xfe, 0x82, - 0x8b, 0xe0, 0x18, 0x2c, 0xe2, 0xdd, 0xfe, 0x44, 0xdb, 0x46, 0xdb, 0x75, 0xc7, 0x6d, 0xd3, 0x56, - 0x78, 0x7f, 0x51, 0x5f, 0x7f, 0x55, 0x6c, 0xc2, 0x8c, 0x00, 0x34, 0x7b, 0x15, 0x46, 0xa4, 0x16, - 0x43, 0x8f, 0xba, 0xbf, 0x92, 0xfe, 0xf9, 0xd7, 0x58, 0x31, 0x12, 0x3b, 0x8c, 0xec, 0x32, 0xf6, - 0xbb, 0xd8, 0x07, 0x44, 0x0b, 0xfb, 0xe0, 0x6b, 0x9e, 0xeb, 0x85, 0x36, 0x20, 0x7b, 0x19, 0x86, - 0x84, 0x1e, 0x20, 0x5a, 0xd4, 0x2f, 0x30, 0x51, 0x83, 0xc1, 0x16, 0x20, 0x7b, 0x16, 0x92, 0x78, - 0x3e, 0x8f, 0x86, 0xff, 0x22, 0x83, 0x13, 0xf6, 0xec, 0x83, 0x90, 0xe2, 0xf3, 0x78, 0x34, 0xf4, - 0x43, 0x0c, 0xea, 0x41, 0x30, 0x9c, 0xcf, 0xe1, 0xd1, 0xf0, 0x5f, 0xe2, 0x70, 0x0e, 0xc1, 0xf0, - 0xf8, 0x26, 0x7c, 0xf1, 0x57, 0x92, 0xac, 0x0e, 0x73, 0xdb, 0x5d, 0x82, 0x43, 0x6c, 0xf2, 0x8e, - 0x46, 0x7f, 0x84, 0x3d, 0x9c, 0x23, 0xb2, 0xe7, 0xa1, 0x37, 0xa6, 0xc1, 0x7f, 0x95, 0x41, 0x29, - 0x7f, 0xb6, 0x00, 0x03, 0x81, 0x09, 0x3b, 0x1a, 0xfe, 0x6b, 0x0c, 0x1e, 0x44, 0x61, 0xd5, 0xd9, - 0x84, 0x1d, 0x2d, 0xe0, 0xd7, 0xb9, 0xea, 0x0c, 0x81, 0xcd, 0xc6, 0xe7, 0xea, 0x68, 0xf4, 0x6f, - 0x70, 0xab, 0x73, 0x48, 0xf6, 0x61, 0xe8, 0xf7, 0xea, 0x6f, 0x34, 0xfe, 0x37, 0x19, 0xde, 0xc7, - 0x60, 0x0b, 0x04, 0xea, 0x7f, 0xb4, 0x88, 0xdf, 0xe2, 0x16, 0x08, 0xa0, 0x70, 0x1a, 0xc9, 0x73, - 0x7a, 0xb4, 0xa4, 0x8f, 0xf2, 0x34, 0x92, 0xa6, 0x74, 0xec, 0x4d, 0x52, 0x06, 0xa3, 0x45, 0xfc, - 0x36, 0xf7, 0x26, 0xe1, 0xc7, 0x6a, 0xc8, 0x93, 0x64, 0xb4, 0x8c, 0x8f, 0x71, 0x35, 0xa4, 0x39, - 0x32, 0xbb, 0x06, 0x7a, 0xe7, 0x04, 0x19, 0x2d, 0xef, 0xe3, 0x4c, 0xde, 0x68, 0xc7, 0xfc, 0x98, - 0x7d, 0x14, 0xc6, 0xc3, 0x27, 0xc7, 0x68, 0xa9, 0x9f, 0x78, 0x4d, 0x5a, 0xce, 0x04, 0xe7, 0xc6, - 0xec, 0x86, 0x5f, 0x65, 0x83, 0x13, 0x63, 0xb4, 0xd8, 0x4f, 0xbe, 0x26, 0x16, 0xda, 0xe0, 0xbc, - 0x98, 0xcd, 0x01, 0xf8, 0x73, 0x52, 0xb4, 0xac, 0x4f, 0x31, 0x59, 0x01, 0x10, 0x4e, 0x0d, 0x36, - 0x25, 0x45, 0xe3, 0x3f, 0xcd, 0x53, 0x83, 0x21, 0x70, 0x6a, 0xf0, 0xd9, 0x28, 0x1a, 0xfd, 0x1c, - 0x4f, 0x0d, 0x0e, 0xc9, 0x5e, 0x82, 0x94, 0xb5, 0xdb, 0x68, 0xe0, 0xd8, 0xd2, 0xf7, 0xbf, 0x92, - 0x95, 0xfe, 0xd7, 0xd7, 0x19, 0x98, 0x03, 0xb2, 0x67, 0xa1, 0x17, 0x35, 0xaf, 0xa3, 0x5a, 0x14, - 0xf2, 0xdf, 0x5e, 0xe7, 0xf5, 0x04, 0x73, 0x67, 0x1f, 0x06, 0xa0, 0x8b, 0x69, 0x72, 0x50, 0x14, - 0x81, 0xfd, 0xf7, 0xd7, 0xd9, 0x65, 0x09, 0x1f, 0xe2, 0x0b, 0xa0, 0x57, 0x2f, 0xf6, 0x17, 0xf0, - 0xaa, 0x28, 0x80, 0x2c, 0xc0, 0x2f, 0xc2, 0xa1, 0xc7, 0x1d, 0xdb, 0x72, 0xcd, 0xed, 0x28, 0xf4, - 0x7f, 0x30, 0x34, 0xe7, 0xc7, 0x06, 0x6b, 0xda, 0x6d, 0xe4, 0x9a, 0xdb, 0x4e, 0x14, 0xf6, 0x3f, - 0x19, 0xd6, 0x03, 0x60, 0x70, 0xd5, 0x74, 0xdc, 0x38, 0xef, 0xfd, 0x03, 0x0e, 0xe6, 0x00, 0xac, - 0x34, 0xfe, 0xfc, 0x04, 0xda, 0x8b, 0xc2, 0xfe, 0x90, 0x2b, 0xcd, 0xf8, 0xb3, 0x0f, 0x42, 0x3f, - 0xfe, 0x48, 0x6f, 0x40, 0x45, 0x80, 0xff, 0x8b, 0x81, 0x7d, 0x04, 0x7e, 0xb2, 0xe3, 0xd6, 0xdc, - 0x7a, 0xb4, 0xb1, 0x7f, 0xc4, 0x3c, 0xcd, 0xf9, 0xb3, 0x39, 0x18, 0x70, 0xdc, 0x5a, 0x6d, 0x97, - 0x75, 0x34, 0x11, 0xf0, 0xff, 0x7e, 0xdd, 0x5b, 0xe4, 0x7a, 0x98, 0x7c, 0x29, 0x7c, 0xbf, 0x0e, - 0xae, 0xd8, 0x57, 0x6c, 0xba, 0x53, 0xf7, 0xde, 0x4c, 0xf4, 0x96, 0x1b, 0xfc, 0x55, 0x03, 0x86, - 0xdc, 0x1d, 0x84, 0xa7, 0x14, 0xb6, 0xf3, 0x96, 0xc4, 0x9f, 0x27, 0x0e, 0xb6, 0x5d, 0x47, 0x0e, - 0x63, 0xcb, 0x75, 0xac, 0x71, 0x99, 0xec, 0x87, 0xeb, 0xc7, 0xa0, 0x8f, 0xbc, 0xc3, 0x69, 0x72, - 0xe6, 0xa4, 0xe4, 0x93, 0x37, 0x5e, 0x9e, 0xea, 0x31, 0xd8, 0x98, 0x47, 0x5d, 0x20, 0x1b, 0x96, - 0x09, 0x81, 0xba, 0xe0, 0x51, 0xcf, 0xd0, 0x3d, 0x4b, 0x81, 0x7a, 0xc6, 0xa3, 0x2e, 0x92, 0xdd, - 0x4b, 0x55, 0xa0, 0x2e, 0x7a, 0xd4, 0xb3, 0x64, 0x87, 0x7e, 0x48, 0xa0, 0x9e, 0xf5, 0xa8, 0xe7, - 0xc8, 0xbe, 0x7c, 0x52, 0xa0, 0x9e, 0xf3, 0xa8, 0xe7, 0xc9, 0x96, 0xfc, 0xa8, 0x40, 0x3d, 0xef, - 0x51, 0x2f, 0x90, 0xad, 0x78, 0x5d, 0xa0, 0x5e, 0xf0, 0xa8, 0x17, 0xc9, 0x3d, 0x97, 0x43, 0x02, - 0xf5, 0xa2, 0x3e, 0x09, 0x87, 0xe8, 0x9b, 0xcf, 0x93, 0x73, 0xdb, 0x11, 0x46, 0xe6, 0x83, 0x3e, - 0xfd, 0x34, 0xb9, 0xd3, 0xd2, 0x27, 0xd2, 0x4f, 0xfb, 0xf4, 0x05, 0x72, 0xbd, 0x5e, 0x13, 0xe9, - 0x0b, 0x3e, 0xfd, 0x4c, 0x7a, 0x88, 0xdc, 0xeb, 0x11, 0xe8, 0x67, 0x7c, 0xfa, 0x62, 0x7a, 0x18, - 0x87, 0xb1, 0x48, 0x5f, 0xf4, 0xe9, 0x67, 0xd3, 0x23, 0xd3, 0xca, 0xcc, 0xa0, 0x48, 0x3f, 0x9b, - 0xf9, 0x00, 0x71, 0xaf, 0xe5, 0xbb, 0x77, 0x5c, 0x74, 0xaf, 0xe7, 0xd8, 0x71, 0xd1, 0xb1, 0x9e, - 0x4b, 0xc7, 0x45, 0x97, 0x7a, 0xce, 0x1c, 0x17, 0x9d, 0xe9, 0xb9, 0x71, 0x5c, 0x74, 0xa3, 0xe7, - 0xc0, 0x71, 0xd1, 0x81, 0x9e, 0xeb, 0xc6, 0x45, 0xd7, 0x79, 0x4e, 0x1b, 0x17, 0x9d, 0xe6, 0xb9, - 0x6b, 0x5c, 0x74, 0x97, 0xe7, 0xa8, 0xb4, 0xe4, 0x28, 0xdf, 0x45, 0x69, 0xc9, 0x45, 0xbe, 0x73, - 0xd2, 0x92, 0x73, 0x7c, 0xb7, 0xa4, 0x25, 0xb7, 0xf8, 0x0e, 0x49, 0x4b, 0x0e, 0xf1, 0x5d, 0x91, - 0x96, 0x5c, 0xe1, 0x3b, 0x81, 0xe5, 0x98, 0x81, 0x5a, 0x21, 0x39, 0xa6, 0xee, 0x9b, 0x63, 0xea, - 0xbe, 0x39, 0xa6, 0xee, 0x9b, 0x63, 0xea, 0xbe, 0x39, 0xa6, 0xee, 0x9b, 0x63, 0xea, 0xbe, 0x39, - 0xa6, 0xee, 0x9b, 0x63, 0xea, 0xbe, 0x39, 0xa6, 0xee, 0x9f, 0x63, 0x6a, 0x44, 0x8e, 0xa9, 0x11, - 0x39, 0xa6, 0x46, 0xe4, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0x44, 0x8e, 0xa9, 0x5d, 0x73, 0xcc, 0x77, - 0xef, 0xb8, 0xe8, 0xde, 0xd0, 0x1c, 0x53, 0xbb, 0xe4, 0x98, 0xda, 0x25, 0xc7, 0xd4, 0x2e, 0x39, - 0xa6, 0x76, 0xc9, 0x31, 0xb5, 0x4b, 0x8e, 0xa9, 0x5d, 0x72, 0x4c, 0xed, 0x92, 0x63, 0x6a, 0xb7, - 0x1c, 0x53, 0xbb, 0xe6, 0x98, 0xda, 0x35, 0xc7, 0xd4, 0xae, 0x39, 0xa6, 0x76, 0xcd, 0x31, 0xb5, - 0x6b, 0x8e, 0xa9, 0xc1, 0x1c, 0xfb, 0x6b, 0x15, 0x74, 0x9a, 0x63, 0x6b, 0xe4, 0xe6, 0x0f, 0x73, - 0xc5, 0xa4, 0x94, 0x69, 0x7d, 0xd8, 0x75, 0x9a, 0xef, 0x92, 0x49, 0x29, 0xd7, 0x44, 0xfa, 0x82, - 0x47, 0xe7, 0xd9, 0x26, 0xd2, 0xcf, 0x78, 0x74, 0x9e, 0x6f, 0x22, 0x7d, 0xd1, 0xa3, 0xf3, 0x8c, - 0x13, 0xe9, 0x67, 0x3d, 0x3a, 0xcf, 0x39, 0x91, 0x7e, 0xce, 0xa3, 0xf3, 0xac, 0x13, 0xe9, 0xe7, - 0x3d, 0x3a, 0xcf, 0x3b, 0x91, 0x7e, 0xc1, 0xa3, 0xf3, 0xcc, 0x13, 0xe9, 0x17, 0xf5, 0x69, 0x39, - 0xf7, 0x38, 0x83, 0xe7, 0xda, 0x69, 0x39, 0xfb, 0x24, 0x8e, 0xd3, 0x3e, 0x07, 0xcf, 0x3f, 0x89, - 0x63, 0xc1, 0xe7, 0xe0, 0x19, 0x28, 0x71, 0x9c, 0xc9, 0x7c, 0x98, 0xb8, 0xcf, 0x92, 0xdd, 0x37, - 0x21, 0xb9, 0x2f, 0x11, 0x70, 0xdd, 0x84, 0xe4, 0xba, 0x44, 0xc0, 0x6d, 0x13, 0x92, 0xdb, 0x12, - 0x01, 0x97, 0x4d, 0x48, 0x2e, 0x4b, 0x04, 0xdc, 0x35, 0x21, 0xb9, 0x2b, 0x11, 0x70, 0xd5, 0x84, - 0xe4, 0xaa, 0x44, 0xc0, 0x4d, 0x13, 0x92, 0x9b, 0x12, 0x01, 0x17, 0x4d, 0x48, 0x2e, 0x4a, 0x04, - 0xdc, 0x33, 0x21, 0xb9, 0x27, 0x11, 0x70, 0xcd, 0x31, 0xd9, 0x35, 0x89, 0xa0, 0x5b, 0x8e, 0xc9, - 0x6e, 0x49, 0x04, 0x5d, 0x72, 0x4c, 0x76, 0x49, 0x22, 0xe8, 0x8e, 0x63, 0xb2, 0x3b, 0x12, 0x41, - 0x57, 0xfc, 0x24, 0xc1, 0x3b, 0xc2, 0x75, 0xb7, 0xbd, 0x5b, 0x75, 0x6f, 0xab, 0x23, 0x9c, 0x17, - 0xda, 0x87, 0x81, 0x05, 0x7d, 0x8e, 0x34, 0xac, 0xc1, 0x8e, 0x53, 0x9a, 0xc1, 0xe6, 0x85, 0xc6, - 0x22, 0x80, 0xb0, 0xc2, 0x11, 0x8b, 0xb7, 0xd5, 0x1b, 0xce, 0x0b, 0x6d, 0x46, 0xb4, 0x7e, 0x17, - 0xde, 0xf2, 0x8e, 0xed, 0xc5, 0x04, 0xef, 0xd8, 0x98, 0xf9, 0x0f, 0xda, 0xb1, 0xcd, 0x46, 0x9b, - 0xdc, 0x33, 0xf6, 0x6c, 0xb4, 0xb1, 0x3b, 0x66, 0x9d, 0xb8, 0x1d, 0xdc, 0x6c, 0xb4, 0x69, 0x3d, - 0xa3, 0xbe, 0xb9, 0xfd, 0x16, 0x8b, 0x60, 0x03, 0xb5, 0x42, 0x22, 0xf8, 0xa0, 0xfd, 0xd6, 0xbc, - 0x50, 0x4a, 0x0e, 0x1a, 0xc1, 0xea, 0x81, 0x23, 0xf8, 0xa0, 0x9d, 0xd7, 0xbc, 0x50, 0x5e, 0x0e, - 0x1c, 0xc1, 0x6f, 0x41, 0x3f, 0xc4, 0x22, 0xd8, 0x37, 0xff, 0x41, 0xfb, 0xa1, 0xd9, 0x68, 0x93, - 0x87, 0x46, 0xb0, 0x7a, 0x80, 0x08, 0x8e, 0xd3, 0x1f, 0xcd, 0x46, 0x9b, 0x36, 0x3c, 0x82, 0x6f, - 0xbb, 0x9b, 0xf9, 0x8c, 0x02, 0xa3, 0xe5, 0x7a, 0xad, 0xd4, 0xbc, 0x8e, 0x6a, 0x35, 0x54, 0x63, - 0x76, 0x9c, 0x17, 0x2a, 0x41, 0x17, 0x57, 0xbf, 0xf4, 0xf2, 0x94, 0x6f, 0xe1, 0xb3, 0x90, 0xa2, - 0x36, 0x9d, 0x9f, 0x4f, 0xdf, 0x50, 0x22, 0x2a, 0x9c, 0xc7, 0xaa, 0x1f, 0xe7, 0xb0, 0xd3, 0xf3, - 0xe9, 0x7f, 0x54, 0x02, 0x55, 0xce, 0x1b, 0xce, 0x7c, 0x94, 0x68, 0x68, 0xdd, 0xb6, 0x86, 0xa7, - 0x62, 0x69, 0x18, 0xd0, 0xed, 0xce, 0x0e, 0xdd, 0x02, 0x5a, 0xed, 0xc2, 0x48, 0xb9, 0x5e, 0x2b, - 0x93, 0x3f, 0xec, 0x8e, 0xa3, 0x12, 0xe5, 0x91, 0xea, 0xc1, 0xbc, 0x10, 0x96, 0x41, 0x84, 0x17, - 0xd2, 0x62, 0x8d, 0xc8, 0xd4, 0xf1, 0x63, 0x2d, 0xe1, 0xb1, 0xb3, 0xdd, 0x1e, 0xeb, 0x57, 0x76, - 0xef, 0x81, 0xb3, 0xdd, 0x1e, 0xe8, 0xe7, 0x90, 0xf7, 0xa8, 0xa7, 0xf9, 0xe4, 0x4c, 0xef, 0xdf, - 0xe8, 0xc7, 0x20, 0xb1, 0x44, 0xaf, 0x07, 0x0f, 0xe6, 0x07, 0xb1, 0x52, 0xdf, 0x79, 0x79, 0x2a, - 0xb9, 0xb9, 0x5b, 0xaf, 0x19, 0x89, 0xa5, 0x9a, 0x7e, 0x15, 0x7a, 0xdf, 0xc3, 0xfe, 0xbc, 0x10, - 0x33, 0x2c, 0x32, 0x86, 0xfb, 0xbb, 0xee, 0x11, 0xe1, 0x07, 0x9f, 0xa2, 0x3b, 0x8b, 0x73, 0x9b, - 0x75, 0xcb, 0x3d, 0xbd, 0x70, 0xc1, 0xa0, 0x22, 0x32, 0xff, 0x17, 0x80, 0x3e, 0xb3, 0x68, 0x3a, - 0x3b, 0x7a, 0x99, 0x4b, 0xa6, 0x8f, 0xbe, 0xf0, 0x9d, 0x97, 0xa7, 0x16, 0xe3, 0x48, 0x7d, 0xa0, - 0x66, 0x3a, 0x3b, 0x0f, 0xb8, 0x7b, 0x2d, 0x34, 0x97, 0xdf, 0x73, 0x91, 0xc3, 0xa5, 0xb7, 0xf8, - 0xac, 0xc7, 0xde, 0x2b, 0x1d, 0x78, 0xaf, 0x94, 0xf0, 0x4e, 0x97, 0xc5, 0x77, 0x9a, 0x7f, 0xa3, - 0xef, 0xf3, 0x34, 0x9f, 0x24, 0x24, 0x4b, 0xaa, 0x51, 0x96, 0x54, 0x6f, 0xd7, 0x92, 0x2d, 0x5e, - 0x1f, 0xa5, 0x77, 0x55, 0xf7, 0x7b, 0x57, 0xf5, 0x76, 0xde, 0xf5, 0x7f, 0x68, 0xb6, 0x7a, 0xf9, - 0xb4, 0x69, 0xd1, 0xab, 0x89, 0x3f, 0x5b, 0x7b, 0x41, 0x6f, 0x6a, 0x17, 0x90, 0x4d, 0xde, 0x78, - 0x7e, 0x4a, 0xc9, 0x7c, 0x26, 0xc1, 0xdf, 0x9c, 0x26, 0xd2, 0x1b, 0x7b, 0xf3, 0x9f, 0x95, 0x9e, - 0xea, 0xad, 0xb0, 0xd0, 0x73, 0x0a, 0x8c, 0x77, 0x54, 0x72, 0x6a, 0xa6, 0x37, 0xb7, 0x9c, 0x5b, - 0x07, 0x2d, 0xe7, 0x4c, 0xc1, 0xaf, 0x2a, 0x70, 0x58, 0x2a, 0xaf, 0x54, 0xbd, 0x53, 0x92, 0x7a, - 0x47, 0x3b, 0x9f, 0x44, 0x18, 0x03, 0xda, 0x05, 0xdd, 0x2b, 0x01, 0x02, 0x92, 0x3d, 0xbf, 0x2f, - 0x4a, 0x7e, 0x3f, 0xe6, 0x01, 0x42, 0xcc, 0xc5, 0x23, 0x80, 0xa9, 0x6d, 0x43, 0x72, 0xa3, 0x8d, - 0x90, 0x3e, 0x09, 0x89, 0xd5, 0x36, 0xd3, 0x70, 0x98, 0xe2, 0x57, 0xdb, 0xf9, 0xb6, 0x69, 0x55, - 0x77, 0x8c, 0xc4, 0x6a, 0x5b, 0x3f, 0x0e, 0x6a, 0x8e, 0xfd, 0x69, 0xf3, 0xc0, 0xc2, 0x08, 0x65, - 0xc8, 0x59, 0x35, 0xc6, 0x81, 0x69, 0xfa, 0x24, 0x24, 0x97, 0x91, 0xb9, 0xc5, 0x94, 0x00, 0xca, - 0x83, 0x47, 0x0c, 0x32, 0xce, 0x1e, 0xf8, 0x18, 0xa4, 0xb8, 0x60, 0xfd, 0x04, 0x46, 0x6c, 0xb9, - 0xec, 0xb1, 0x0c, 0x81, 0xd5, 0x61, 0x33, 0x17, 0xa1, 0xea, 0x27, 0xa1, 0xd7, 0xa8, 0x6f, 0xef, - 0xb8, 0xec, 0xe1, 0x9d, 0x6c, 0x94, 0x9c, 0xb9, 0x06, 0xfd, 0x9e, 0x46, 0x6f, 0xb2, 0xe8, 0x22, - 0x7d, 0x35, 0x7d, 0x22, 0x38, 0x9f, 0xf0, 0x7d, 0x4b, 0x3a, 0xa4, 0x4f, 0x43, 0x6a, 0xdd, 0x6d, - 0xfb, 0x45, 0x9f, 0x77, 0xa4, 0xde, 0x68, 0xe6, 0x03, 0x0a, 0xa4, 0x8a, 0x08, 0xb5, 0x88, 0xc1, - 0xef, 0x81, 0x64, 0xd1, 0x7e, 0xca, 0x62, 0x0a, 0x8e, 0x32, 0x8b, 0x62, 0x32, 0xb3, 0x29, 0x21, - 0xeb, 0xf7, 0x04, 0xed, 0x3e, 0xe6, 0xd9, 0x3d, 0xc0, 0x47, 0x6c, 0x9f, 0x11, 0x6c, 0xcf, 0x1c, - 0x88, 0x99, 0x3a, 0xec, 0x7f, 0x1e, 0x06, 0x02, 0x4f, 0xd1, 0x67, 0x98, 0x1a, 0x09, 0x19, 0x18, - 0xb4, 0x15, 0xe6, 0xc8, 0x20, 0x18, 0x12, 0x1e, 0x8c, 0xa1, 0x01, 0x13, 0x77, 0x81, 0x12, 0x33, - 0xcf, 0x8a, 0x66, 0x0e, 0x67, 0x65, 0xa6, 0x9e, 0xa7, 0x36, 0x22, 0xe6, 0x3e, 0x41, 0x83, 0xb3, - 0xbb, 0x13, 0xf1, 0xe7, 0x4c, 0x2f, 0xa8, 0xe5, 0x7a, 0x23, 0xf3, 0x20, 0x00, 0x4d, 0xf9, 0x92, - 0xb5, 0xdb, 0x94, 0xb2, 0x6e, 0x98, 0x1b, 0x78, 0x63, 0x07, 0x6d, 0x20, 0x87, 0xb0, 0x88, 0xfd, - 0x14, 0x2e, 0x30, 0x40, 0x53, 0x8c, 0xe0, 0xef, 0x8b, 0xc4, 0x87, 0x76, 0x62, 0x98, 0x35, 0x4d, - 0x59, 0xaf, 0x21, 0x37, 0x67, 0xd9, 0xee, 0x0e, 0x6a, 0x4b, 0x88, 0x05, 0xfd, 0x8c, 0x90, 0xb0, - 0xc3, 0x0b, 0x77, 0x7a, 0x88, 0xae, 0xa0, 0x33, 0x99, 0x2f, 0x11, 0x05, 0x71, 0x2b, 0xd0, 0xf1, - 0x82, 0x6a, 0x8c, 0x17, 0xd4, 0xcf, 0x09, 0xfd, 0xdb, 0x3e, 0x6a, 0x4a, 0x4b, 0xcb, 0x8b, 0xc2, - 0x3a, 0x67, 0x7f, 0x65, 0xc5, 0x35, 0x26, 0xb7, 0x29, 0x57, 0xf9, 0xbe, 0x48, 0x95, 0xbb, 0x74, - 0xb7, 0x07, 0xb5, 0xa9, 0x1a, 0xd7, 0xa6, 0xdf, 0xf0, 0x3a, 0x0e, 0xfa, 0xfb, 0x11, 0xe4, 0x97, - 0x57, 0xf4, 0xfb, 0x23, 0x7d, 0x9f, 0x55, 0x0a, 0x9e, 0xaa, 0x8b, 0x71, 0xdd, 0x9f, 0x4d, 0xe4, - 0xf3, 0x9e, 0xba, 0xe7, 0x0f, 0x10, 0x02, 0xd9, 0x44, 0xa1, 0xe0, 0x95, 0xed, 0xd4, 0x87, 0x9f, - 0x9f, 0x52, 0x5e, 0x78, 0x7e, 0xaa, 0x27, 0xf3, 0x05, 0x05, 0x46, 0x19, 0x67, 0x20, 0x70, 0x1f, - 0x90, 0x94, 0x3f, 0xc2, 0x6b, 0x46, 0x98, 0x05, 0xde, 0xb6, 0xe0, 0xfd, 0x96, 0x02, 0xe9, 0x0e, - 0x5d, 0xb9, 0xbd, 0xe7, 0x63, 0xa9, 0x9c, 0x55, 0x4a, 0x3f, 0x7d, 0x9b, 0x5f, 0x83, 0xde, 0x8d, - 0x7a, 0x13, 0xb5, 0xf1, 0x4c, 0x80, 0x3f, 0x50, 0x95, 0xf9, 0x61, 0x0e, 0x1d, 0xe2, 0x34, 0xaa, - 0x9c, 0x40, 0x5b, 0xd0, 0xd3, 0x90, 0x2c, 0x9a, 0xae, 0x49, 0x34, 0x18, 0xf4, 0xea, 0xab, 0xe9, - 0x9a, 0x99, 0x33, 0x30, 0xb8, 0xb2, 0x47, 0x2e, 0xcf, 0xd4, 0xc8, 0xc5, 0x10, 0xb1, 0xfb, 0xe3, - 0xfd, 0xea, 0xe9, 0xd9, 0xde, 0x54, 0x4d, 0xbb, 0xa1, 0x64, 0x93, 0x44, 0x9f, 0x27, 0x61, 0x78, - 0x15, 0xab, 0x4d, 0x70, 0x02, 0x8c, 0x3e, 0x5d, 0xf5, 0x5e, 0x5e, 0x6a, 0xca, 0x54, 0xbf, 0x29, - 0x9b, 0x06, 0x65, 0x45, 0x6c, 0x9d, 0x82, 0x7a, 0x18, 0xca, 0xca, 0x6c, 0x32, 0x35, 0xac, 0x8d, - 0xce, 0x26, 0x53, 0xa0, 0x0d, 0xb1, 0xe7, 0xfe, 0xbd, 0x0a, 0x1a, 0x6d, 0x75, 0x8a, 0x68, 0xab, - 0x6e, 0xd5, 0xdd, 0xce, 0x7e, 0xd5, 0xd3, 0x58, 0x7f, 0x18, 0xfa, 0xb1, 0x49, 0x2f, 0xb3, 0x1f, - 0x60, 0xc3, 0xa6, 0x3f, 0xce, 0x5a, 0x14, 0x49, 0x04, 0x1b, 0x20, 0xa1, 0xe3, 0x63, 0xf4, 0xcb, - 0xa0, 0x96, 0xcb, 0x2b, 0x6c, 0x72, 0x5b, 0xdc, 0x17, 0xca, 0xee, 0xde, 0xb0, 0x6f, 0x6c, 0xcc, - 0xd9, 0x36, 0xb0, 0x00, 0x7d, 0x11, 0x12, 0xe5, 0x15, 0xd6, 0xf0, 0x9e, 0x88, 0x23, 0xc6, 0x48, - 0x94, 0x57, 0x26, 0xfe, 0x46, 0x81, 0x21, 0x61, 0x54, 0xcf, 0xc0, 0x20, 0x1d, 0x08, 0xbc, 0x6e, - 0x9f, 0x21, 0x8c, 0x71, 0x9d, 0x13, 0xb7, 0xa9, 0xf3, 0x44, 0x0e, 0x46, 0xa4, 0x71, 0x7d, 0x0e, - 0xf4, 0xe0, 0x10, 0x53, 0x82, 0xfe, 0xf8, 0x53, 0x08, 0x25, 0x73, 0x17, 0x80, 0x6f, 0x57, 0xef, - 0x37, 0x8b, 0xca, 0xa5, 0xf5, 0x8d, 0x52, 0x51, 0x53, 0x32, 0x5f, 0x53, 0x60, 0x80, 0xb5, 0xad, - 0x55, 0xbb, 0x85, 0xf4, 0x3c, 0x28, 0x39, 0x16, 0x0f, 0x6f, 0x4c, 0x6f, 0x25, 0xa7, 0x9f, 0x02, - 0x25, 0x1f, 0xdf, 0xd5, 0x4a, 0x5e, 0x5f, 0x00, 0xa5, 0xc0, 0x1c, 0x1c, 0xcf, 0x33, 0x4a, 0x21, - 0xf3, 0x23, 0x15, 0xc6, 0x82, 0x6d, 0x34, 0xaf, 0x27, 0xc7, 0xc5, 0x75, 0x53, 0xb6, 0xff, 0xf4, - 0xc2, 0x99, 0xc5, 0x39, 0xfc, 0x8f, 0x17, 0x92, 0x19, 0x71, 0x09, 0x95, 0x05, 0x8f, 0xe5, 0x74, - 0xb7, 0x7b, 0x22, 0xd9, 0x64, 0x40, 0x42, 0xc7, 0x3d, 0x11, 0x81, 0xda, 0x71, 0x4f, 0x44, 0xa0, - 0x76, 0xdc, 0x13, 0x11, 0xa8, 0x1d, 0x67, 0x01, 0x02, 0xb5, 0xe3, 0x9e, 0x88, 0x40, 0xed, 0xb8, - 0x27, 0x22, 0x50, 0x3b, 0xef, 0x89, 0x30, 0x72, 0xd7, 0x7b, 0x22, 0x22, 0xbd, 0xf3, 0x9e, 0x88, - 0x48, 0xef, 0xbc, 0x27, 0x92, 0x4d, 0xba, 0xed, 0x5d, 0xd4, 0xfd, 0xd4, 0x41, 0xc4, 0xef, 0xb7, - 0x08, 0xf4, 0x2b, 0xf0, 0x2a, 0x8c, 0xd0, 0x0d, 0x89, 0x82, 0x6d, 0xb9, 0x66, 0xdd, 0x42, 0x6d, - 0xfd, 0x9d, 0x30, 0x48, 0x87, 0xe8, 0x32, 0x27, 0x6c, 0x19, 0x48, 0xe9, 0xac, 0xde, 0x0a, 0xdc, - 0x99, 0x9f, 0x24, 0x61, 0x9c, 0x0e, 0x94, 0xcd, 0x26, 0x12, 0x6e, 0x19, 0x9d, 0x94, 0xce, 0x94, - 0x86, 0x31, 0xfc, 0xd6, 0xcb, 0x53, 0x74, 0x34, 0xe7, 0x45, 0xd3, 0x49, 0xe9, 0x74, 0x49, 0xe4, - 0xf3, 0x27, 0xa0, 0x93, 0xd2, 0xcd, 0x23, 0x91, 0xcf, 0x9b, 0x6f, 0x3c, 0x3e, 0x7e, 0x07, 0x49, - 0xe4, 0x2b, 0x7a, 0x51, 0x76, 0x52, 0xba, 0x8d, 0x24, 0xf2, 0x95, 0xbc, 0x78, 0x3b, 0x29, 0x9d, - 0x3d, 0x89, 0x7c, 0x97, 0xbd, 0xc8, 0x3b, 0x29, 0x9d, 0x42, 0x89, 0x7c, 0x57, 0xbc, 0x18, 0x3c, - 0x29, 0xdd, 0x55, 0x12, 0xf9, 0x1e, 0xf1, 0xa2, 0xf1, 0xa4, 0x74, 0x6b, 0x49, 0xe4, 0x5b, 0xf2, - 0xe2, 0x72, 0x46, 0xbe, 0xbf, 0x24, 0x32, 0x5e, 0xf5, 0x23, 0x74, 0x46, 0xbe, 0xc9, 0x24, 0x72, - 0xbe, 0xcb, 0x8f, 0xd5, 0x19, 0xf9, 0x4e, 0x93, 0xc8, 0xb9, 0xec, 0x47, 0xed, 0x8c, 0x7c, 0x56, - 0x26, 0x72, 0xae, 0xf8, 0xf1, 0x3b, 0x23, 0x9f, 0x9a, 0x89, 0x9c, 0x65, 0x3f, 0x92, 0x67, 0xe4, - 0xf3, 0x33, 0x91, 0x73, 0xd5, 0xdf, 0x44, 0xff, 0xa6, 0x14, 0x7e, 0x81, 0x5b, 0x50, 0x19, 0x29, - 0xfc, 0x20, 0x24, 0xf4, 0xa4, 0x42, 0x16, 0xe0, 0xf1, 0xc3, 0x2e, 0x23, 0x85, 0x1d, 0x84, 0x84, - 0x5c, 0x46, 0x0a, 0x39, 0x08, 0x09, 0xb7, 0x8c, 0x14, 0x6e, 0x10, 0x12, 0x6a, 0x19, 0x29, 0xd4, - 0x20, 0x24, 0xcc, 0x32, 0x52, 0x98, 0x41, 0x48, 0x88, 0x65, 0xa4, 0x10, 0x83, 0x90, 0xf0, 0xca, - 0x48, 0xe1, 0x05, 0x21, 0xa1, 0x75, 0x42, 0x0e, 0x2d, 0x08, 0x0b, 0xab, 0x13, 0x72, 0x58, 0x41, - 0x58, 0x48, 0xdd, 0x2d, 0x87, 0x54, 0xff, 0xad, 0x97, 0xa7, 0x7a, 0xf1, 0x50, 0x20, 0x9a, 0x4e, - 0xc8, 0xd1, 0x04, 0x61, 0x91, 0x74, 0x42, 0x8e, 0x24, 0x08, 0x8b, 0xa2, 0x13, 0x72, 0x14, 0x41, - 0x58, 0x04, 0xbd, 0x28, 0x47, 0x90, 0x7f, 0xc7, 0x27, 0x23, 0x1d, 0x29, 0x46, 0x45, 0x90, 0x1a, - 0x23, 0x82, 0xd4, 0x18, 0x11, 0xa4, 0xc6, 0x88, 0x20, 0x35, 0x46, 0x04, 0xa9, 0x31, 0x22, 0x48, - 0x8d, 0x11, 0x41, 0x6a, 0x8c, 0x08, 0x52, 0xe3, 0x44, 0x90, 0x1a, 0x2b, 0x82, 0xd4, 0x6e, 0x11, - 0x74, 0x42, 0xbe, 0xf1, 0x00, 0x61, 0x05, 0xe9, 0x84, 0x7c, 0xf4, 0x19, 0x1d, 0x42, 0x6a, 0xac, - 0x10, 0x52, 0xbb, 0x85, 0xd0, 0x37, 0x55, 0x18, 0x13, 0x42, 0x88, 0x9d, 0x0f, 0xbd, 0x59, 0x15, - 0xe8, 0x5c, 0x8c, 0x0b, 0x16, 0x61, 0x31, 0x75, 0x2e, 0xc6, 0x21, 0xf5, 0x7e, 0x71, 0xd6, 0x59, - 0x85, 0x4a, 0x31, 0xaa, 0xd0, 0x65, 0x2f, 0x86, 0xce, 0xc5, 0xb8, 0x78, 0xd1, 0x19, 0x7b, 0x17, - 0xf6, 0x2b, 0x02, 0x8f, 0xc4, 0x2a, 0x02, 0x4b, 0xb1, 0x8a, 0xc0, 0x55, 0xdf, 0x83, 0x1f, 0x4a, - 0xc0, 0x61, 0xdf, 0x83, 0xf4, 0x13, 0xf9, 0x81, 0xa4, 0x4c, 0xe0, 0x88, 0x4a, 0xe7, 0xc7, 0x36, - 0x01, 0x37, 0x26, 0x96, 0x6a, 0xfa, 0x9a, 0x78, 0x58, 0x95, 0x3d, 0xe8, 0x01, 0x4e, 0xc0, 0xe3, - 0x6c, 0x33, 0xf4, 0x04, 0xa8, 0x4b, 0x35, 0x87, 0x54, 0x8b, 0xb0, 0xc7, 0x16, 0x0c, 0x4c, 0xd6, - 0x0d, 0xe8, 0x23, 0xec, 0x0e, 0x71, 0xef, 0xed, 0x3c, 0xb8, 0x68, 0x30, 0x49, 0x99, 0x17, 0x15, - 0x98, 0x16, 0x42, 0xf9, 0xcd, 0x39, 0x32, 0xb8, 0x14, 0xeb, 0xc8, 0x40, 0x48, 0x10, 0xff, 0xf8, - 0xe0, 0xde, 0xce, 0x93, 0xea, 0x60, 0x96, 0xc8, 0x47, 0x09, 0x3f, 0x07, 0xc3, 0xfe, 0x1b, 0x90, - 0x35, 0xdb, 0xd9, 0xe8, 0xdd, 0xcc, 0xb0, 0xd4, 0x3c, 0x2b, 0xed, 0xa2, 0xed, 0x0b, 0xf3, 0xb2, - 0x35, 0x93, 0x85, 0x91, 0xb2, 0xf8, 0x67, 0x3c, 0x51, 0x9b, 0x11, 0x29, 0xdc, 0x9a, 0xdf, 0xf8, - 0xec, 0x54, 0x4f, 0xe6, 0x7e, 0x18, 0x0c, 0xfe, 0xa5, 0x8e, 0x04, 0xec, 0xe7, 0xc0, 0x6c, 0xf2, - 0x25, 0xcc, 0xfd, 0x3b, 0x0a, 0x1c, 0x09, 0xb2, 0x3f, 0x5a, 0x77, 0x77, 0x96, 0x2c, 0xdc, 0xd3, - 0x3f, 0x08, 0x29, 0xc4, 0x1c, 0xc7, 0x7e, 0xeb, 0x84, 0xad, 0x23, 0x43, 0xd9, 0xe7, 0xc8, 0xbf, - 0x86, 0x07, 0x91, 0x76, 0x41, 0xf8, 0x63, 0x17, 0x26, 0xee, 0x81, 0x5e, 0x2a, 0x5f, 0xd4, 0x6b, - 0x48, 0xd2, 0xeb, 0x73, 0x21, 0x7a, 0x91, 0x38, 0xd2, 0xaf, 0x0a, 0x7a, 0x05, 0x96, 0xab, 0xa1, - 0xec, 0x73, 0x3c, 0xf8, 0xf2, 0x29, 0xdc, 0xff, 0x91, 0x88, 0x8a, 0x56, 0x72, 0x06, 0x52, 0x25, - 0x99, 0x27, 0x5c, 0xcf, 0x22, 0x24, 0xcb, 0x76, 0x8d, 0xfc, 0x0a, 0x0b, 0xf9, 0xd9, 0x61, 0x66, - 0x64, 0xf6, 0x1b, 0xc4, 0x27, 0x21, 0x55, 0xd8, 0xa9, 0x37, 0x6a, 0x6d, 0x64, 0xb1, 0x33, 0x7b, - 0xb6, 0x85, 0x8e, 0x31, 0x86, 0x47, 0xcb, 0x14, 0x60, 0xb4, 0x6c, 0x5b, 0xf9, 0x3d, 0x37, 0x58, - 0x37, 0xe6, 0xa4, 0x14, 0x61, 0x67, 0x3e, 0xe4, 0x6f, 0x3f, 0x30, 0x43, 0xbe, 0xf7, 0x3b, 0x2f, - 0x4f, 0x29, 0x1b, 0xde, 0xfe, 0xf9, 0x0a, 0x1c, 0x65, 0xe9, 0xd3, 0x21, 0x6a, 0x21, 0x4a, 0x54, - 0x3f, 0x3b, 0xa7, 0x0e, 0x88, 0x5b, 0xc2, 0xe2, 0xac, 0x50, 0x71, 0x6f, 0x4c, 0x33, 0xdc, 0x14, - 0xed, 0xab, 0x99, 0x7a, 0x20, 0xcd, 0x42, 0xc5, 0xcd, 0x45, 0x89, 0x93, 0x34, 0xbb, 0x1b, 0xfa, - 0x3d, 0x5a, 0x20, 0x1a, 0x82, 0x99, 0xb2, 0x30, 0x9b, 0x81, 0x81, 0x40, 0xc2, 0xea, 0xbd, 0xa0, - 0xe4, 0xb4, 0x1e, 0xfc, 0x5f, 0x5e, 0x53, 0xf0, 0x7f, 0x05, 0x2d, 0x31, 0x7b, 0x0f, 0x8c, 0x48, - 0xfb, 0x97, 0x98, 0x52, 0xd4, 0x00, 0xff, 0x57, 0xd2, 0x06, 0x26, 0x92, 0x1f, 0xfe, 0xfd, 0xc9, - 0x9e, 0xd9, 0x4b, 0xa0, 0x77, 0xee, 0x74, 0xea, 0x7d, 0x90, 0xc8, 0x61, 0x91, 0x47, 0x21, 0x91, - 0xcf, 0x6b, 0xca, 0xc4, 0xc8, 0x2f, 0x7f, 0x7a, 0x7a, 0x20, 0x4f, 0xfe, 0x0c, 0xf9, 0x1a, 0x72, - 0xf3, 0x79, 0x06, 0x7e, 0x08, 0x8e, 0x84, 0xee, 0x94, 0x62, 0x7c, 0xa1, 0x40, 0xf1, 0xc5, 0x62, - 0x07, 0xbe, 0x58, 0x24, 0x78, 0x25, 0xcb, 0x4f, 0x9c, 0x73, 0x7a, 0xc8, 0x2e, 0x63, 0xba, 0x16, - 0x38, 0xe1, 0xce, 0x65, 0x1f, 0x62, 0xbc, 0xf9, 0x50, 0x5e, 0x14, 0x71, 0x62, 0x9d, 0xcf, 0x16, - 0x18, 0xbe, 0x10, 0x8a, 0xdf, 0x92, 0x8e, 0x55, 0xc5, 0x19, 0x82, 0x09, 0x29, 0x78, 0x0a, 0x17, - 0x43, 0x85, 0xec, 0x04, 0x2e, 0xbb, 0x17, 0x3d, 0x85, 0x4b, 0xa1, 0xbc, 0xf5, 0x88, 0x4b, 0x5f, - 0xa5, 0xec, 0x29, 0x36, 0xc9, 0xe7, 0x4e, 0xeb, 0x47, 0x78, 0x8e, 0x0a, 0x15, 0x98, 0x19, 0x88, - 0x73, 0x65, 0x0b, 0x0c, 0x90, 0xef, 0x0a, 0xe8, 0x6e, 0x25, 0x8e, 0xcc, 0x3e, 0xc2, 0x84, 0x14, - 0xba, 0x0a, 0x89, 0x30, 0x15, 0x87, 0xe7, 0x37, 0x6e, 0xdc, 0x9c, 0xec, 0x79, 0xe9, 0xe6, 0x64, - 0xcf, 0x3f, 0xdd, 0x9c, 0xec, 0xf9, 0xee, 0xcd, 0x49, 0xe5, 0xfb, 0x37, 0x27, 0x95, 0x1f, 0xde, - 0x9c, 0x54, 0x7e, 0x7c, 0x73, 0x52, 0x79, 0xf6, 0xd6, 0xa4, 0xf2, 0xc2, 0xad, 0x49, 0xe5, 0x4b, - 0xb7, 0x26, 0x95, 0xaf, 0xdf, 0x9a, 0x54, 0x5e, 0xbc, 0x35, 0xa9, 0xdc, 0xb8, 0x35, 0xd9, 0xf3, - 0xd2, 0xad, 0xc9, 0x9e, 0xef, 0xde, 0x9a, 0x54, 0xbe, 0x7f, 0x6b, 0xb2, 0xe7, 0x87, 0xb7, 0x26, - 0x95, 0x1f, 0xdf, 0x9a, 0xec, 0x79, 0xf6, 0x95, 0xc9, 0x9e, 0xe7, 0x5f, 0x99, 0xec, 0x79, 0xe1, - 0x95, 0x49, 0xe5, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x77, 0xc4, 0xa9, 0xd6, 0xca, 0x66, 0x00, - 0x00, + // 6720 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x6b, 0x70, 0x1c, 0xc7, + 0x75, 0x2e, 0x66, 0x67, 0x01, 0x2e, 0x0e, 0x5e, 0x83, 0x01, 0x09, 0xae, 0x20, 0x0a, 0x20, 0x57, + 0x14, 0x05, 0x41, 0x12, 0x08, 0x82, 0xe0, 0x6b, 0x69, 0x49, 0x77, 0x5f, 0xa4, 0x40, 0x13, 0x0b, + 0x78, 0x00, 0x58, 0xa2, 0x7d, 0x6f, 0x6d, 0x0d, 0x77, 0x1b, 0xc0, 0x4a, 0xbb, 0x33, 0xeb, 0x9d, + 0x59, 0x49, 0x50, 0xdd, 0xba, 0xa5, 0x6b, 0xdf, 0xeb, 0xd8, 0x49, 0xe5, 0xe9, 0xa4, 0x62, 0x3b, + 0xb6, 0x2c, 0xdb, 0x65, 0x5b, 0x76, 0x5e, 0x76, 0xec, 0x38, 0x7e, 0xa4, 0x62, 0xfd, 0x71, 0xc2, + 0xfc, 0x49, 0xc9, 0xf9, 0x95, 0x72, 0xa5, 0x54, 0x16, 0xe5, 0xaa, 0x38, 0x89, 0x12, 0x3b, 0x8e, + 0xaa, 0xe2, 0x2a, 0xf9, 0x47, 0xaa, 0x5f, 0x33, 0xd3, 0xbd, 0xb3, 0x98, 0x81, 0x28, 0xc9, 0xfe, + 0x43, 0xee, 0xf6, 0x39, 0xdf, 0x99, 0xd3, 0xe7, 0xd5, 0x67, 0xba, 0x1b, 0x0b, 0x3f, 0xbe, 0x00, + 0x47, 0xb7, 0x6d, 0x7b, 0xbb, 0x81, 0x4e, 0xb6, 0xda, 0xb6, 0x6b, 0x5f, 0xef, 0x6c, 0x9d, 0xac, + 0x21, 0xa7, 0xda, 0xae, 0xb7, 0x5c, 0xbb, 0x3d, 0x4f, 0xc6, 0xf4, 0x31, 0xca, 0x31, 0xcf, 0x39, + 0x32, 0x2b, 0x30, 0x7e, 0xa9, 0xde, 0x40, 0x45, 0x8f, 0x71, 0x1d, 0xb9, 0xfa, 0x79, 0x48, 0x6e, + 0xd5, 0x1b, 0x28, 0xad, 0x1c, 0x55, 0x67, 0x87, 0x16, 0x8f, 0xcf, 0x4b, 0xa0, 0x79, 0x11, 0xb1, + 0x86, 0x87, 0x0d, 0x82, 0xc8, 0xfc, 0x30, 0x09, 0x13, 0x21, 0x54, 0x5d, 0x87, 0xa4, 0x65, 0x36, + 0xb1, 0x44, 0x65, 0x76, 0xd0, 0x20, 0x9f, 0xf5, 0x34, 0x1c, 0x68, 0x99, 0xd5, 0xc7, 0xcd, 0x6d, + 0x94, 0x4e, 0x90, 0x61, 0xfe, 0x55, 0x9f, 0x06, 0xa8, 0xa1, 0x16, 0xb2, 0x6a, 0xc8, 0xaa, 0xee, + 0xa6, 0xd5, 0xa3, 0xea, 0xec, 0xa0, 0x11, 0x18, 0xd1, 0xef, 0x85, 0xf1, 0x56, 0xe7, 0x7a, 0xa3, + 0x5e, 0xad, 0x04, 0xd8, 0xe0, 0xa8, 0x3a, 0xdb, 0x6f, 0x68, 0x94, 0x50, 0xf4, 0x99, 0xef, 0x86, + 0xb1, 0x27, 0x91, 0xf9, 0x78, 0x90, 0x75, 0x88, 0xb0, 0x8e, 0xe2, 0xe1, 0x00, 0x63, 0x01, 0x86, + 0x9b, 0xc8, 0x71, 0xcc, 0x6d, 0x54, 0x71, 0x77, 0x5b, 0x28, 0x9d, 0x24, 0xb3, 0x3f, 0xda, 0x35, + 0x7b, 0x79, 0xe6, 0x43, 0x0c, 0xb5, 0xb1, 0xdb, 0x42, 0x7a, 0x0e, 0x06, 0x91, 0xd5, 0x69, 0x52, + 0x09, 0xfd, 0x3d, 0xec, 0x57, 0xb2, 0x3a, 0x4d, 0x59, 0x4a, 0x0a, 0xc3, 0x98, 0x88, 0x03, 0x0e, + 0x6a, 0x3f, 0x51, 0xaf, 0xa2, 0xf4, 0x00, 0x11, 0x70, 0x77, 0x97, 0x80, 0x75, 0x4a, 0x97, 0x65, + 0x70, 0x9c, 0x5e, 0x80, 0x41, 0xf4, 0x94, 0x8b, 0x2c, 0xa7, 0x6e, 0x5b, 0xe9, 0x03, 0x44, 0xc8, + 0x5d, 0x21, 0x5e, 0x44, 0x8d, 0x9a, 0x2c, 0xc2, 0xc7, 0xe9, 0x67, 0xe1, 0x80, 0xdd, 0x72, 0xeb, + 0xb6, 0xe5, 0xa4, 0x53, 0x47, 0x95, 0xd9, 0xa1, 0xc5, 0x23, 0xa1, 0x81, 0xb0, 0x4a, 0x79, 0x0c, + 0xce, 0xac, 0x2f, 0x83, 0xe6, 0xd8, 0x9d, 0x76, 0x15, 0x55, 0xaa, 0x76, 0x0d, 0x55, 0xea, 0xd6, + 0x96, 0x9d, 0x1e, 0x24, 0x02, 0x66, 0xba, 0x27, 0x42, 0x18, 0x0b, 0x76, 0x0d, 0x2d, 0x5b, 0x5b, + 0xb6, 0x31, 0xea, 0x08, 0xdf, 0xf5, 0x49, 0x18, 0x70, 0x76, 0x2d, 0xd7, 0x7c, 0x2a, 0x3d, 0x4c, + 0x22, 0x84, 0x7d, 0xcb, 0x7c, 0x73, 0x00, 0xc6, 0xe2, 0x84, 0xd8, 0x45, 0xe8, 0xdf, 0xc2, 0xb3, + 0x4c, 0x27, 0xf6, 0x63, 0x03, 0x8a, 0x11, 0x8d, 0x38, 0xf0, 0x06, 0x8d, 0x98, 0x83, 0x21, 0x0b, + 0x39, 0x2e, 0xaa, 0xd1, 0x88, 0x50, 0x63, 0xc6, 0x14, 0x50, 0x50, 0x77, 0x48, 0x25, 0xdf, 0x50, + 0x48, 0x3d, 0x0a, 0x63, 0x9e, 0x4a, 0x95, 0xb6, 0x69, 0x6d, 0xf3, 0xd8, 0x3c, 0x19, 0xa5, 0xc9, + 0x7c, 0x89, 0xe3, 0x0c, 0x0c, 0x33, 0x46, 0x91, 0xf0, 0x5d, 0x2f, 0x02, 0xd8, 0x16, 0xb2, 0xb7, + 0x2a, 0x35, 0x54, 0x6d, 0xa4, 0x53, 0x3d, 0xac, 0xb4, 0x8a, 0x59, 0xba, 0xac, 0x64, 0xd3, 0xd1, + 0x6a, 0x43, 0xbf, 0xe0, 0x87, 0xda, 0x81, 0x1e, 0x91, 0xb2, 0x42, 0x93, 0xac, 0x2b, 0xda, 0x36, + 0x61, 0xb4, 0x8d, 0x70, 0xdc, 0xa3, 0x1a, 0x9b, 0xd9, 0x20, 0x51, 0x62, 0x3e, 0x72, 0x66, 0x06, + 0x83, 0xd1, 0x89, 0x8d, 0xb4, 0x83, 0x5f, 0xf5, 0x3b, 0xc1, 0x1b, 0xa8, 0x90, 0xb0, 0x02, 0x52, + 0x85, 0x86, 0xf9, 0x60, 0xd9, 0x6c, 0xa2, 0xa9, 0xa7, 0x61, 0x54, 0x34, 0x8f, 0x7e, 0x10, 0xfa, + 0x1d, 0xd7, 0x6c, 0xbb, 0x24, 0x0a, 0xfb, 0x0d, 0xfa, 0x45, 0xd7, 0x40, 0x45, 0x56, 0x8d, 0x54, + 0xb9, 0x7e, 0x03, 0x7f, 0xd4, 0xff, 0x87, 0x3f, 0x61, 0x95, 0x4c, 0xf8, 0x44, 0xb7, 0x47, 0x05, + 0xc9, 0xf2, 0xbc, 0xa7, 0xce, 0xc1, 0x88, 0x30, 0x81, 0xb8, 0x8f, 0xce, 0xfc, 0x6f, 0x38, 0x14, + 0x2a, 0x5a, 0x7f, 0x14, 0x0e, 0x76, 0xac, 0xba, 0xe5, 0xa2, 0x76, 0xab, 0x8d, 0x70, 0xc4, 0xd2, + 0x47, 0xa5, 0xff, 0xe9, 0x40, 0x8f, 0x98, 0xdb, 0x0c, 0x72, 0x53, 0x29, 0xc6, 0x44, 0xa7, 0x7b, + 0x70, 0x6e, 0x30, 0xf5, 0xa3, 0x03, 0xda, 0x33, 0xcf, 0x3c, 0xf3, 0x4c, 0x22, 0xf3, 0xd1, 0x01, + 0x38, 0x18, 0x96, 0x33, 0xa1, 0xe9, 0x3b, 0x09, 0x03, 0x56, 0xa7, 0x79, 0x1d, 0xb5, 0x89, 0x91, + 0xfa, 0x0d, 0xf6, 0x4d, 0xcf, 0x41, 0x7f, 0xc3, 0xbc, 0x8e, 0x1a, 0xe9, 0xe4, 0x51, 0x65, 0x76, + 0x74, 0xf1, 0xde, 0x58, 0x59, 0x39, 0x7f, 0x15, 0x43, 0x0c, 0x8a, 0xd4, 0x1f, 0x84, 0x24, 0x2b, + 0xd1, 0x58, 0xc2, 0x5c, 0x3c, 0x09, 0x38, 0x97, 0x0c, 0x82, 0xd3, 0x6f, 0x87, 0x41, 0xfc, 0x3f, + 0x8d, 0x8d, 0x01, 0xa2, 0x73, 0x0a, 0x0f, 0xe0, 0xb8, 0xd0, 0xa7, 0x20, 0x45, 0xd2, 0xa4, 0x86, + 0xf8, 0xd2, 0xe6, 0x7d, 0xc7, 0x81, 0x55, 0x43, 0x5b, 0x66, 0xa7, 0xe1, 0x56, 0x9e, 0x30, 0x1b, + 0x1d, 0x44, 0x02, 0x7e, 0xd0, 0x18, 0x66, 0x83, 0xef, 0xc6, 0x63, 0xfa, 0x0c, 0x0c, 0xd1, 0xac, + 0xaa, 0x5b, 0x35, 0xf4, 0x14, 0xa9, 0x9e, 0xfd, 0x06, 0x4d, 0xb4, 0x65, 0x3c, 0x82, 0x1f, 0xff, + 0x98, 0x63, 0x5b, 0x3c, 0x34, 0xc9, 0x23, 0xf0, 0x00, 0x79, 0xfc, 0x39, 0xb9, 0x70, 0xdf, 0x11, + 0x3e, 0x3d, 0x39, 0xa6, 0x32, 0x5f, 0x4f, 0x40, 0x92, 0xd4, 0x8b, 0x31, 0x18, 0xda, 0xb8, 0xb6, + 0x56, 0xaa, 0x14, 0x57, 0x37, 0xf3, 0x57, 0x4b, 0x9a, 0xa2, 0x8f, 0x02, 0x90, 0x81, 0x4b, 0x57, + 0x57, 0x73, 0x1b, 0x5a, 0xc2, 0xfb, 0xbe, 0x5c, 0xde, 0x38, 0xbb, 0xa4, 0xa9, 0x1e, 0x60, 0x93, + 0x0e, 0x24, 0x83, 0x0c, 0xa7, 0x17, 0xb5, 0x7e, 0x5d, 0x83, 0x61, 0x2a, 0x60, 0xf9, 0xd1, 0x52, + 0xf1, 0xec, 0x92, 0x36, 0x20, 0x8e, 0x9c, 0x5e, 0xd4, 0x0e, 0xe8, 0x23, 0x30, 0x48, 0x46, 0xf2, + 0xab, 0xab, 0x57, 0xb5, 0x94, 0x27, 0x73, 0x7d, 0xc3, 0x58, 0x2e, 0x5f, 0xd6, 0x06, 0x3d, 0x99, + 0x97, 0x8d, 0xd5, 0xcd, 0x35, 0x0d, 0x3c, 0x09, 0x2b, 0xa5, 0xf5, 0xf5, 0xdc, 0xe5, 0x92, 0x36, + 0xe4, 0x71, 0xe4, 0xaf, 0x6d, 0x94, 0xd6, 0xb5, 0x61, 0x41, 0xad, 0xd3, 0x8b, 0xda, 0x88, 0xf7, + 0x88, 0x52, 0x79, 0x73, 0x45, 0x1b, 0xd5, 0xc7, 0x61, 0x84, 0x3e, 0x82, 0x2b, 0x31, 0x26, 0x0d, + 0x9d, 0x5d, 0xd2, 0x34, 0x5f, 0x11, 0x2a, 0x65, 0x5c, 0x18, 0x38, 0xbb, 0xa4, 0xe9, 0x99, 0x02, + 0xf4, 0x93, 0xe8, 0xd2, 0x75, 0x18, 0xbd, 0x9a, 0xcb, 0x97, 0xae, 0x56, 0x56, 0xd7, 0x36, 0x96, + 0x57, 0xcb, 0xb9, 0xab, 0x9a, 0xe2, 0x8f, 0x19, 0xa5, 0x77, 0x6d, 0x2e, 0x1b, 0xa5, 0xa2, 0x96, + 0x08, 0x8e, 0xad, 0x95, 0x72, 0x1b, 0xa5, 0xa2, 0xa6, 0x66, 0xaa, 0x70, 0x30, 0xac, 0x4e, 0x86, + 0x66, 0x46, 0xc0, 0xc5, 0x89, 0x1e, 0x2e, 0x26, 0xb2, 0xba, 0x5c, 0xfc, 0x4a, 0x02, 0x26, 0x42, + 0xd6, 0x8a, 0xd0, 0x87, 0x3c, 0x04, 0xfd, 0x34, 0x44, 0xe9, 0xea, 0x79, 0x4f, 0xe8, 0xa2, 0x43, + 0x02, 0xb6, 0x6b, 0x05, 0x25, 0xb8, 0x60, 0x07, 0xa1, 0xf6, 0xe8, 0x20, 0xb0, 0x88, 0xae, 0x9a, + 0xfe, 0xbf, 0xba, 0x6a, 0x3a, 0x5d, 0xf6, 0xce, 0xc6, 0x59, 0xf6, 0xc8, 0xd8, 0xfe, 0x6a, 0x7b, + 0x7f, 0x48, 0x6d, 0xbf, 0x08, 0xe3, 0x5d, 0x82, 0x62, 0xd7, 0xd8, 0x0f, 0x28, 0x90, 0xee, 0x65, + 0x9c, 0x88, 0x4a, 0x97, 0x10, 0x2a, 0xdd, 0x45, 0xd9, 0x82, 0xc7, 0x7a, 0x3b, 0xa1, 0xcb, 0xd7, + 0x5f, 0x50, 0x60, 0x32, 0xbc, 0x53, 0x0c, 0xd5, 0xe1, 0x41, 0x18, 0x68, 0x22, 0x77, 0xc7, 0xe6, + 0xdd, 0xd2, 0x89, 0x90, 0x35, 0x18, 0x93, 0x65, 0x67, 0x33, 0x54, 0x70, 0x11, 0x57, 0x7b, 0xb5, + 0x7b, 0x54, 0x9b, 0x2e, 0x4d, 0x3f, 0x9c, 0x80, 0x43, 0xa1, 0xc2, 0x43, 0x15, 0xbd, 0x03, 0xa0, + 0x6e, 0xb5, 0x3a, 0x2e, 0xed, 0x88, 0x68, 0x81, 0x1d, 0x24, 0x23, 0xa4, 0x78, 0xe1, 0xe2, 0xd9, + 0x71, 0x3d, 0xba, 0x4a, 0xe8, 0x40, 0x87, 0x08, 0xc3, 0x79, 0x5f, 0xd1, 0x24, 0x51, 0x74, 0xba, + 0xc7, 0x4c, 0xbb, 0x02, 0x73, 0x01, 0xb4, 0x6a, 0xa3, 0x8e, 0x2c, 0xb7, 0xe2, 0xb8, 0x6d, 0x64, + 0x36, 0xeb, 0xd6, 0x36, 0x59, 0x41, 0x52, 0xd9, 0xfe, 0x2d, 0xb3, 0xe1, 0x20, 0x63, 0x8c, 0x92, + 0xd7, 0x39, 0x15, 0x23, 0x48, 0x00, 0xb5, 0x03, 0x88, 0x01, 0x01, 0x41, 0xc9, 0x1e, 0x22, 0xf3, + 0xd5, 0x14, 0x0c, 0x05, 0xfa, 0x6a, 0xfd, 0x18, 0x0c, 0x3f, 0x66, 0x3e, 0x61, 0x56, 0xf8, 0xbb, + 0x12, 0xb5, 0xc4, 0x10, 0x1e, 0x5b, 0x63, 0xef, 0x4b, 0x0b, 0x70, 0x90, 0xb0, 0xd8, 0x1d, 0x17, + 0xb5, 0x2b, 0xd5, 0x86, 0xe9, 0x38, 0xc4, 0x68, 0x29, 0xc2, 0xaa, 0x63, 0xda, 0x2a, 0x26, 0x15, + 0x38, 0x45, 0x3f, 0x03, 0x13, 0x04, 0xd1, 0xec, 0x34, 0xdc, 0x7a, 0xab, 0x81, 0x2a, 0xf8, 0xed, + 0xcd, 0x21, 0x2b, 0x89, 0xa7, 0xd9, 0x38, 0xe6, 0x58, 0x61, 0x0c, 0x58, 0x23, 0x47, 0x2f, 0xc2, + 0x1d, 0x04, 0xb6, 0x8d, 0x2c, 0xd4, 0x36, 0x5d, 0x54, 0x41, 0xef, 0xeb, 0x98, 0x0d, 0xa7, 0x62, + 0x5a, 0xb5, 0xca, 0x8e, 0xe9, 0xec, 0xa4, 0x0f, 0x62, 0x01, 0xf9, 0x44, 0x5a, 0x31, 0x6e, 0xc3, + 0x8c, 0x97, 0x19, 0x5f, 0x89, 0xb0, 0xe5, 0xac, 0xda, 0xc3, 0xa6, 0xb3, 0xa3, 0x67, 0x61, 0x92, + 0x48, 0x71, 0xdc, 0x76, 0xdd, 0xda, 0xae, 0x54, 0x77, 0x50, 0xf5, 0xf1, 0x4a, 0xc7, 0xdd, 0x3a, + 0x9f, 0xbe, 0x3d, 0xf8, 0x7c, 0xa2, 0xe1, 0x3a, 0xe1, 0x29, 0x60, 0x96, 0x4d, 0x77, 0xeb, 0xbc, + 0xbe, 0x0e, 0xc3, 0xd8, 0x19, 0xcd, 0xfa, 0xd3, 0xa8, 0xb2, 0x65, 0xb7, 0xc9, 0xd2, 0x38, 0x1a, + 0x52, 0x9a, 0x02, 0x16, 0x9c, 0x5f, 0x65, 0x80, 0x15, 0xbb, 0x86, 0xb2, 0xfd, 0xeb, 0x6b, 0xa5, + 0x52, 0xd1, 0x18, 0xe2, 0x52, 0x2e, 0xd9, 0x6d, 0x1c, 0x50, 0xdb, 0xb6, 0x67, 0xe0, 0x21, 0x1a, + 0x50, 0xdb, 0x36, 0x37, 0xef, 0x19, 0x98, 0xa8, 0x56, 0xe9, 0x9c, 0xeb, 0xd5, 0x0a, 0x7b, 0xc7, + 0x72, 0xd2, 0x9a, 0x60, 0xac, 0x6a, 0xf5, 0x32, 0x65, 0x60, 0x31, 0xee, 0xe8, 0x17, 0xe0, 0x90, + 0x6f, 0xac, 0x20, 0x70, 0xbc, 0x6b, 0x96, 0x32, 0xf4, 0x0c, 0x4c, 0xb4, 0x76, 0xbb, 0x81, 0xba, + 0xf0, 0xc4, 0xd6, 0xae, 0x0c, 0x3b, 0x07, 0x07, 0x5b, 0x3b, 0xad, 0x6e, 0xdc, 0x5c, 0x10, 0xa7, + 0xb7, 0x76, 0x5a, 0x32, 0xf0, 0x2e, 0xf2, 0xc2, 0xdd, 0x46, 0x55, 0xd3, 0x45, 0xb5, 0xf4, 0xe1, + 0x20, 0x7b, 0x80, 0xa0, 0x9f, 0x04, 0xad, 0x5a, 0xad, 0x20, 0xcb, 0xbc, 0xde, 0x40, 0x15, 0xb3, + 0x8d, 0x2c, 0xd3, 0x49, 0xcf, 0x04, 0x99, 0x47, 0xab, 0xd5, 0x12, 0xa1, 0xe6, 0x08, 0x51, 0x9f, + 0x83, 0x71, 0xfb, 0xfa, 0x63, 0x55, 0x1a, 0x92, 0x95, 0x56, 0x1b, 0x6d, 0xd5, 0x9f, 0x4a, 0x1f, + 0x27, 0xf6, 0x1d, 0xc3, 0x04, 0x12, 0x90, 0x6b, 0x64, 0x58, 0xbf, 0x07, 0xb4, 0xaa, 0xb3, 0x63, + 0xb6, 0x5b, 0xa4, 0x26, 0x3b, 0x2d, 0xb3, 0x8a, 0xd2, 0x77, 0x51, 0x56, 0x3a, 0x5e, 0xe6, 0xc3, + 0x38, 0x25, 0x9c, 0x27, 0xeb, 0x5b, 0x2e, 0x97, 0x78, 0x37, 0x4d, 0x09, 0x32, 0xc6, 0xa4, 0xcd, + 0x82, 0x86, 0x4d, 0x21, 0x3c, 0x78, 0x96, 0xb0, 0x8d, 0xb6, 0x76, 0x5a, 0xc1, 0xe7, 0xde, 0x09, + 0x23, 0x98, 0xd3, 0x7f, 0xe8, 0x3d, 0xb4, 0x21, 0x6b, 0xed, 0x04, 0x9e, 0xf8, 0x96, 0xf5, 0xc6, + 0x99, 0x2c, 0x0c, 0x07, 0xe3, 0x53, 0x1f, 0x04, 0x1a, 0xa1, 0x9a, 0x82, 0x9b, 0x95, 0xc2, 0x6a, + 0x11, 0xb7, 0x19, 0xef, 0x29, 0x69, 0x09, 0xdc, 0xee, 0x5c, 0x5d, 0xde, 0x28, 0x55, 0x8c, 0xcd, + 0xf2, 0xc6, 0xf2, 0x4a, 0x49, 0x53, 0x83, 0x7d, 0xf5, 0x77, 0x13, 0x30, 0x2a, 0xbe, 0x22, 0xe9, + 0xef, 0x80, 0xc3, 0x7c, 0x3f, 0xc3, 0x41, 0x6e, 0xe5, 0xc9, 0x7a, 0x9b, 0xa4, 0x4c, 0xd3, 0xa4, + 0xcb, 0x97, 0xe7, 0xb4, 0x83, 0x8c, 0x6b, 0x1d, 0xb9, 0x8f, 0xd4, 0xdb, 0x38, 0x21, 0x9a, 0xa6, + 0xab, 0x5f, 0x85, 0x19, 0xcb, 0xae, 0x38, 0xae, 0x69, 0xd5, 0xcc, 0x76, 0xad, 0xe2, 0xef, 0x24, + 0x55, 0xcc, 0x6a, 0x15, 0x39, 0x8e, 0x4d, 0x97, 0x2a, 0x4f, 0xca, 0x11, 0xcb, 0x5e, 0x67, 0xcc, + 0x7e, 0x0d, 0xcf, 0x31, 0x56, 0x29, 0xc0, 0xd4, 0x5e, 0x01, 0x76, 0x3b, 0x0c, 0x36, 0xcd, 0x56, + 0x05, 0x59, 0x6e, 0x7b, 0x97, 0x34, 0xc6, 0x29, 0x23, 0xd5, 0x34, 0x5b, 0x25, 0xfc, 0xfd, 0xed, + 0x79, 0x3f, 0xf9, 0x47, 0x15, 0x86, 0x83, 0xcd, 0x31, 0x7e, 0xd7, 0xa8, 0x92, 0x75, 0x44, 0x21, + 0x95, 0xe6, 0xce, 0x3d, 0x5b, 0xe9, 0xf9, 0x02, 0x5e, 0x60, 0xb2, 0x03, 0xb4, 0x65, 0x35, 0x28, + 0x12, 0x2f, 0xee, 0xb8, 0xb6, 0x20, 0xda, 0x22, 0xa4, 0x0c, 0xf6, 0x4d, 0xbf, 0x0c, 0x03, 0x8f, + 0x39, 0x44, 0xf6, 0x00, 0x91, 0x7d, 0x7c, 0x6f, 0xd9, 0x57, 0xd6, 0x89, 0xf0, 0xc1, 0x2b, 0xeb, + 0x95, 0xf2, 0xaa, 0xb1, 0x92, 0xbb, 0x6a, 0x30, 0xb8, 0x7e, 0x1b, 0x24, 0x1b, 0xe6, 0xd3, 0xbb, + 0xe2, 0x52, 0x44, 0x86, 0xe2, 0x1a, 0xfe, 0x36, 0x48, 0x3e, 0x89, 0xcc, 0xc7, 0xc5, 0x05, 0x80, + 0x0c, 0xbd, 0x85, 0xa1, 0x7f, 0x12, 0xfa, 0x89, 0xbd, 0x74, 0x00, 0x66, 0x31, 0xad, 0x4f, 0x4f, + 0x41, 0xb2, 0xb0, 0x6a, 0xe0, 0xf0, 0xd7, 0x60, 0x98, 0x8e, 0x56, 0xd6, 0x96, 0x4b, 0x85, 0x92, + 0x96, 0xc8, 0x9c, 0x81, 0x01, 0x6a, 0x04, 0x9c, 0x1a, 0x9e, 0x19, 0xb4, 0x3e, 0xf6, 0x95, 0xc9, + 0x50, 0x38, 0x75, 0x73, 0x25, 0x5f, 0x32, 0xb4, 0x44, 0xd0, 0xbd, 0x0e, 0x0c, 0x07, 0xfb, 0xe2, + 0xb7, 0x27, 0xa6, 0xbe, 0xa5, 0xc0, 0x50, 0xa0, 0xcf, 0xc5, 0x0d, 0x8a, 0xd9, 0x68, 0xd8, 0x4f, + 0x56, 0xcc, 0x46, 0xdd, 0x74, 0x58, 0x50, 0x00, 0x19, 0xca, 0xe1, 0x91, 0xb8, 0x4e, 0x7b, 0x5b, + 0x94, 0x7f, 0x56, 0x01, 0x4d, 0x6e, 0x31, 0x25, 0x05, 0x95, 0x5f, 0xa8, 0x82, 0x9f, 0x50, 0x60, + 0x54, 0xec, 0x2b, 0x25, 0xf5, 0x8e, 0xfd, 0x42, 0xd5, 0xfb, 0x41, 0x02, 0x46, 0x84, 0x6e, 0x32, + 0xae, 0x76, 0xef, 0x83, 0xf1, 0x7a, 0x0d, 0x35, 0x5b, 0xb6, 0x8b, 0xac, 0xea, 0x6e, 0xa5, 0x81, + 0x9e, 0x40, 0x8d, 0x74, 0x86, 0x14, 0x8a, 0x93, 0x7b, 0xf7, 0xab, 0xf3, 0xcb, 0x3e, 0xee, 0x2a, + 0x86, 0x65, 0x27, 0x96, 0x8b, 0xa5, 0x95, 0xb5, 0xd5, 0x8d, 0x52, 0xb9, 0x70, 0xad, 0xb2, 0x59, + 0x7e, 0x67, 0x79, 0xf5, 0x91, 0xb2, 0xa1, 0xd5, 0x25, 0xb6, 0xb7, 0x30, 0xd5, 0xd7, 0x40, 0x93, + 0x95, 0xd2, 0x0f, 0x43, 0x98, 0x5a, 0x5a, 0x9f, 0x3e, 0x01, 0x63, 0xe5, 0xd5, 0xca, 0xfa, 0x72, + 0xb1, 0x54, 0x29, 0x5d, 0xba, 0x54, 0x2a, 0x6c, 0xac, 0xd3, 0x1d, 0x08, 0x8f, 0x7b, 0x43, 0x4c, + 0xea, 0x8f, 0xab, 0x30, 0x11, 0xa2, 0x89, 0x9e, 0x63, 0xef, 0x0e, 0xf4, 0x75, 0xe6, 0xfe, 0x38, + 0xda, 0xcf, 0xe3, 0x25, 0x7f, 0xcd, 0x6c, 0xbb, 0xec, 0x55, 0xe3, 0x1e, 0xc0, 0x56, 0xb2, 0xdc, + 0xfa, 0x56, 0x1d, 0xb5, 0xd9, 0x86, 0x0d, 0x7d, 0xa1, 0x18, 0xf3, 0xc7, 0xe9, 0x9e, 0xcd, 0x7d, + 0xa0, 0xb7, 0x6c, 0xa7, 0xee, 0xd6, 0x9f, 0x40, 0x95, 0xba, 0xc5, 0x77, 0x77, 0xf0, 0x0b, 0x46, + 0xd2, 0xd0, 0x38, 0x65, 0xd9, 0x72, 0x3d, 0x6e, 0x0b, 0x6d, 0x9b, 0x12, 0x37, 0x2e, 0xe0, 0xaa, + 0xa1, 0x71, 0x8a, 0xc7, 0x7d, 0x0c, 0x86, 0x6b, 0x76, 0x07, 0x77, 0x5d, 0x94, 0x0f, 0xaf, 0x17, + 0x8a, 0x31, 0x44, 0xc7, 0x3c, 0x16, 0xd6, 0x4f, 0xfb, 0xdb, 0x4a, 0xc3, 0xc6, 0x10, 0x1d, 0xa3, + 0x2c, 0x77, 0xc3, 0x98, 0xb9, 0xbd, 0xdd, 0xc6, 0xc2, 0xb9, 0x20, 0xfa, 0x86, 0x30, 0xea, 0x0d, + 0x13, 0xc6, 0xa9, 0x2b, 0x90, 0xe2, 0x76, 0xc0, 0x4b, 0x32, 0xb6, 0x44, 0xa5, 0x45, 0x5f, 0x7b, + 0x13, 0xb3, 0x83, 0x46, 0xca, 0xe2, 0xc4, 0x63, 0x30, 0x5c, 0x77, 0x2a, 0xfe, 0x2e, 0x79, 0xe2, + 0x68, 0x62, 0x36, 0x65, 0x0c, 0xd5, 0x1d, 0x6f, 0x87, 0x31, 0xf3, 0x85, 0x04, 0x8c, 0x8a, 0xbb, + 0xfc, 0x7a, 0x11, 0x52, 0x0d, 0xbb, 0x6a, 0x92, 0xd0, 0xa2, 0x47, 0x4c, 0xb3, 0x11, 0x07, 0x03, + 0xf3, 0x57, 0x19, 0xbf, 0xe1, 0x21, 0xa7, 0xfe, 0x4e, 0x81, 0x14, 0x1f, 0xd6, 0x27, 0x21, 0xd9, + 0x32, 0xdd, 0x1d, 0x22, 0xae, 0x3f, 0x9f, 0xd0, 0x14, 0x83, 0x7c, 0xc7, 0xe3, 0x4e, 0xcb, 0xb4, + 0x48, 0x08, 0xb0, 0x71, 0xfc, 0x1d, 0xfb, 0xb5, 0x81, 0xcc, 0x1a, 0x79, 0xfd, 0xb0, 0x9b, 0x4d, + 0x64, 0xb9, 0x0e, 0xf7, 0x2b, 0x1b, 0x2f, 0xb0, 0x61, 0xfd, 0x5e, 0x18, 0x77, 0xdb, 0x66, 0xbd, + 0x21, 0xf0, 0x26, 0x09, 0xaf, 0xc6, 0x09, 0x1e, 0x73, 0x16, 0x6e, 0xe3, 0x72, 0x6b, 0xc8, 0x35, + 0xab, 0x3b, 0xa8, 0xe6, 0x83, 0x06, 0xc8, 0x36, 0xc3, 0x61, 0xc6, 0x50, 0x64, 0x74, 0x8e, 0xcd, + 0x7c, 0x4f, 0x81, 0x71, 0xfe, 0xc2, 0x54, 0xf3, 0x8c, 0xb5, 0x02, 0x60, 0x5a, 0x96, 0xed, 0x06, + 0xcd, 0xd5, 0x1d, 0xca, 0x5d, 0xb8, 0xf9, 0x9c, 0x07, 0x32, 0x02, 0x02, 0xa6, 0x9a, 0x00, 0x3e, + 0xa5, 0xa7, 0xd9, 0x66, 0x60, 0x88, 0x1d, 0xe1, 0x90, 0x73, 0x40, 0xfa, 0x8a, 0x0d, 0x74, 0x08, + 0xbf, 0x59, 0xe9, 0x07, 0xa1, 0xff, 0x3a, 0xda, 0xae, 0x5b, 0x6c, 0x63, 0x96, 0x7e, 0xe1, 0x1b, + 0x21, 0x49, 0x6f, 0x23, 0x24, 0xff, 0x5e, 0x98, 0xa8, 0xda, 0x4d, 0x59, 0xdd, 0xbc, 0x26, 0xbd, + 0xe6, 0x3b, 0x0f, 0x2b, 0xef, 0x01, 0xbf, 0xc5, 0xfc, 0x99, 0xa2, 0x7c, 0x26, 0xa1, 0x5e, 0x5e, + 0xcb, 0x7f, 0x29, 0x31, 0x75, 0x99, 0x42, 0xd7, 0xf8, 0x4c, 0x0d, 0xb4, 0xd5, 0x40, 0x55, 0xac, + 0x3d, 0x7c, 0xfe, 0x5e, 0xb8, 0x7f, 0xbb, 0xee, 0xee, 0x74, 0xae, 0xcf, 0x57, 0xed, 0xe6, 0xc9, + 0x6d, 0x7b, 0xdb, 0xf6, 0x8f, 0x3e, 0xf1, 0x37, 0xf2, 0x85, 0x7c, 0x62, 0xc7, 0x9f, 0x83, 0xde, + 0xe8, 0x54, 0xe4, 0x59, 0x69, 0xb6, 0x0c, 0x13, 0x8c, 0xb9, 0x42, 0xce, 0x5f, 0xe8, 0x5b, 0x84, + 0xbe, 0xe7, 0x1e, 0x56, 0xfa, 0x2b, 0x3f, 0x24, 0xcb, 0xb5, 0x31, 0xce, 0xa0, 0x98, 0x46, 0x5f, + 0x34, 0xb2, 0x06, 0x1c, 0x12, 0xe4, 0xd1, 0xd4, 0x44, 0xed, 0x08, 0x89, 0xdf, 0x65, 0x12, 0x27, + 0x02, 0x12, 0xd7, 0x19, 0x34, 0x5b, 0x80, 0x91, 0xfd, 0xc8, 0xfa, 0x6b, 0x26, 0x6b, 0x18, 0x05, + 0x85, 0x5c, 0x86, 0x31, 0x22, 0xa4, 0xda, 0x71, 0x5c, 0xbb, 0x49, 0xea, 0xde, 0xde, 0x62, 0xfe, + 0xe6, 0x87, 0x34, 0x57, 0x46, 0x31, 0xac, 0xe0, 0xa1, 0xb2, 0x59, 0x20, 0x47, 0x4e, 0x35, 0x54, + 0x6d, 0x44, 0x48, 0xb8, 0xc1, 0x14, 0xf1, 0xf8, 0xb3, 0xef, 0x86, 0x83, 0xf8, 0x33, 0x29, 0x4b, + 0x41, 0x4d, 0xa2, 0x37, 0xbc, 0xd2, 0xdf, 0xfb, 0x00, 0x4d, 0xc7, 0x09, 0x4f, 0x40, 0x40, 0xa7, + 0x80, 0x17, 0xb7, 0x91, 0xeb, 0xa2, 0xb6, 0x53, 0x31, 0x1b, 0x61, 0xea, 0x05, 0x76, 0x0c, 0xd2, + 0x1f, 0x7b, 0x55, 0xf4, 0xe2, 0x65, 0x8a, 0xcc, 0x35, 0x1a, 0xd9, 0x4d, 0x38, 0x1c, 0x12, 0x15, + 0x31, 0x64, 0x7e, 0x9c, 0xc9, 0x3c, 0xd8, 0x15, 0x19, 0x58, 0xec, 0x1a, 0xf0, 0x71, 0xcf, 0x97, + 0x31, 0x64, 0xfe, 0x01, 0x93, 0xa9, 0x33, 0x2c, 0x77, 0x29, 0x96, 0x78, 0x05, 0xc6, 0x9f, 0x40, + 0xed, 0xeb, 0xb6, 0xc3, 0x76, 0x69, 0x62, 0x88, 0xfb, 0x04, 0x13, 0x37, 0xc6, 0x80, 0x64, 0xdb, + 0x06, 0xcb, 0xba, 0x00, 0xa9, 0x2d, 0xb3, 0x8a, 0x62, 0x88, 0xf8, 0x24, 0x13, 0x71, 0x00, 0xf3, + 0x63, 0x68, 0x0e, 0x86, 0xb7, 0x6d, 0xb6, 0x32, 0x45, 0xc3, 0x9f, 0x65, 0xf0, 0x21, 0x8e, 0x61, + 0x22, 0x5a, 0x76, 0xab, 0xd3, 0xc0, 0xcb, 0x56, 0xb4, 0x88, 0x4f, 0x71, 0x11, 0x1c, 0xc3, 0x44, + 0xec, 0xc3, 0xac, 0xcf, 0x71, 0x11, 0x4e, 0xc0, 0x9e, 0x0f, 0xc1, 0x90, 0x6d, 0x35, 0x76, 0x6d, + 0x2b, 0x8e, 0x12, 0x9f, 0x66, 0x12, 0x80, 0x41, 0xb0, 0x80, 0x8b, 0x30, 0x18, 0xd7, 0x11, 0x9f, + 0x7b, 0x95, 0xa7, 0x07, 0xf7, 0xc0, 0x65, 0x18, 0xe3, 0x05, 0xaa, 0x6e, 0x5b, 0x31, 0x44, 0x7c, + 0x9e, 0x89, 0x18, 0x0d, 0xc0, 0xd8, 0x34, 0x5c, 0xe4, 0xb8, 0xdb, 0x28, 0x8e, 0x90, 0x2f, 0xf0, + 0x69, 0x30, 0x08, 0x33, 0xe5, 0x75, 0x64, 0x55, 0x77, 0xe2, 0x49, 0x78, 0x9e, 0x9b, 0x92, 0x63, + 0xb0, 0x88, 0x02, 0x8c, 0x34, 0xcd, 0xb6, 0xb3, 0x63, 0x36, 0x62, 0xb9, 0xe3, 0x8b, 0x4c, 0xc6, + 0xb0, 0x07, 0x62, 0x16, 0xe9, 0x58, 0xfb, 0x11, 0xf3, 0x25, 0x6e, 0x91, 0x00, 0x8c, 0xa5, 0x9e, + 0xe3, 0x92, 0x2d, 0xad, 0xfd, 0x48, 0xfb, 0x43, 0x9e, 0x7a, 0x14, 0xbb, 0x12, 0x94, 0x78, 0x11, + 0x06, 0x9d, 0xfa, 0xd3, 0xb1, 0xc4, 0xfc, 0x11, 0xf7, 0x34, 0x01, 0x60, 0xf0, 0x35, 0xb8, 0x2d, + 0x74, 0x99, 0x88, 0x21, 0xec, 0x8f, 0x99, 0xb0, 0xc9, 0x90, 0xa5, 0x82, 0x95, 0x84, 0xfd, 0x8a, + 0xfc, 0x13, 0x5e, 0x12, 0x90, 0x24, 0x6b, 0x0d, 0xbf, 0x2b, 0x38, 0xe6, 0xd6, 0xfe, 0xac, 0xf6, + 0xa7, 0xdc, 0x6a, 0x14, 0x2b, 0x58, 0x6d, 0x03, 0x26, 0x99, 0xc4, 0xfd, 0xf9, 0xf5, 0xcb, 0xbc, + 0xb0, 0x52, 0xf4, 0xa6, 0xe8, 0xdd, 0xf7, 0xc2, 0x94, 0x67, 0x4e, 0xde, 0x94, 0x3a, 0x95, 0xa6, + 0xd9, 0x8a, 0x21, 0xf9, 0x2b, 0x4c, 0x32, 0xaf, 0xf8, 0x5e, 0x57, 0xeb, 0xac, 0x98, 0x2d, 0x2c, + 0xfc, 0x51, 0x48, 0x73, 0xe1, 0x1d, 0xab, 0x8d, 0xaa, 0xf6, 0xb6, 0x55, 0x7f, 0x1a, 0xd5, 0x62, + 0x88, 0xfe, 0x33, 0xc9, 0x55, 0x9b, 0x01, 0x38, 0x96, 0xbc, 0x0c, 0x9a, 0xd7, 0xab, 0x54, 0xea, + 0xcd, 0x96, 0xdd, 0x76, 0x23, 0x24, 0x7e, 0x95, 0x7b, 0xca, 0xc3, 0x2d, 0x13, 0x58, 0xb6, 0x04, + 0xa3, 0xe4, 0x6b, 0xdc, 0x90, 0xfc, 0x1a, 0x13, 0x34, 0xe2, 0xa3, 0x58, 0xe1, 0xa8, 0xda, 0xcd, + 0x96, 0xd9, 0x8e, 0x53, 0xff, 0xfe, 0x9c, 0x17, 0x0e, 0x06, 0x61, 0x85, 0xc3, 0xdd, 0x6d, 0x21, + 0xbc, 0xda, 0xc7, 0x90, 0xf0, 0x75, 0x5e, 0x38, 0x38, 0x86, 0x89, 0xe0, 0x0d, 0x43, 0x0c, 0x11, + 0x7f, 0xc1, 0x45, 0x70, 0x0c, 0x16, 0xf1, 0x2e, 0x7f, 0xa1, 0x6d, 0xa3, 0xed, 0xba, 0xe3, 0xb6, + 0x69, 0x2b, 0xbc, 0xb7, 0xa8, 0x6f, 0xbc, 0x2a, 0x36, 0x61, 0x46, 0x00, 0x8a, 0x2b, 0x11, 0xdb, + 0x42, 0x25, 0x6f, 0x4a, 0xd1, 0x8a, 0x7d, 0x93, 0x57, 0xa2, 0x00, 0x0c, 0xeb, 0x16, 0xe8, 0x10, + 0xb1, 0xd9, 0xab, 0xf8, 0xfd, 0x20, 0x86, 0xb8, 0x6f, 0x49, 0xca, 0xad, 0x73, 0x2c, 0x96, 0x19, + 0xe8, 0x7f, 0x3a, 0xd6, 0xe3, 0x68, 0x37, 0x56, 0x74, 0x7e, 0x5b, 0xea, 0x7f, 0x36, 0x29, 0x92, + 0xd6, 0x90, 0x31, 0xa9, 0x9f, 0xd2, 0xa3, 0x2e, 0xeb, 0xa4, 0xff, 0xef, 0x6b, 0x6c, 0xbe, 0x62, + 0x3b, 0x95, 0xbd, 0x8a, 0x83, 0x5c, 0x6c, 0x7a, 0xa2, 0x85, 0x7d, 0xe0, 0x35, 0x2f, 0xce, 0x85, + 0x9e, 0x27, 0x7b, 0x09, 0x46, 0x84, 0x86, 0x27, 0x5a, 0xd4, 0xff, 0x63, 0xa2, 0x86, 0x83, 0xfd, + 0x4e, 0xf6, 0x0c, 0x24, 0x71, 0xf3, 0x12, 0x0d, 0xff, 0xff, 0x0c, 0x4e, 0xd8, 0xb3, 0x0f, 0x40, + 0x8a, 0x37, 0x2d, 0xd1, 0xd0, 0x0f, 0x32, 0xa8, 0x07, 0xc1, 0x70, 0xde, 0xb0, 0x44, 0xc3, 0x7f, + 0x85, 0xc3, 0x39, 0x04, 0xc3, 0xe3, 0x9b, 0xf0, 0x85, 0x5f, 0x4b, 0xb2, 0x45, 0x87, 0xdb, 0xee, + 0x22, 0x1c, 0x60, 0x9d, 0x4a, 0x34, 0xfa, 0xc3, 0xec, 0xe1, 0x1c, 0x91, 0x3d, 0x07, 0xfd, 0x31, + 0x0d, 0xfe, 0xeb, 0x0c, 0x4a, 0xf9, 0xb3, 0x05, 0x18, 0x0a, 0x74, 0x27, 0xd1, 0xf0, 0xdf, 0x60, + 0xf0, 0x20, 0x0a, 0xab, 0xce, 0xba, 0x93, 0x68, 0x01, 0xbf, 0xc9, 0x55, 0x67, 0x08, 0x6c, 0x36, + 0xde, 0x98, 0x44, 0xa3, 0x7f, 0x8b, 0x5b, 0x9d, 0x43, 0xb2, 0x0f, 0xc1, 0xa0, 0xb7, 0xd8, 0x44, + 0xe3, 0x7f, 0x9b, 0xe1, 0x7d, 0x0c, 0xb6, 0x40, 0x60, 0xb1, 0x8b, 0x16, 0xf1, 0x3b, 0xdc, 0x02, + 0x01, 0x14, 0x4e, 0x23, 0xb9, 0x81, 0x89, 0x96, 0xf4, 0x11, 0x9e, 0x46, 0x52, 0xff, 0x82, 0xbd, + 0x49, 0x6a, 0x7e, 0xb4, 0x88, 0xdf, 0xe5, 0xde, 0x24, 0xfc, 0x58, 0x0d, 0xb9, 0x23, 0x88, 0x96, + 0xf1, 0xfb, 0x5c, 0x0d, 0xa9, 0x21, 0xc8, 0xae, 0x81, 0xde, 0xdd, 0x0d, 0x44, 0xcb, 0xfb, 0x28, + 0x93, 0x37, 0xde, 0xd5, 0x0c, 0x64, 0x1f, 0x81, 0xc9, 0xf0, 0x4e, 0x20, 0x5a, 0xea, 0xc7, 0x5e, + 0x93, 0xde, 0xdd, 0x82, 0x8d, 0x40, 0x76, 0xc3, 0x5f, 0x52, 0x82, 0x5d, 0x40, 0xb4, 0xd8, 0x8f, + 0xbf, 0x26, 0x16, 0xee, 0x60, 0x13, 0x90, 0xcd, 0x01, 0xf8, 0x0b, 0x70, 0xb4, 0xac, 0x4f, 0x30, + 0x59, 0x01, 0x10, 0x4e, 0x0d, 0xb6, 0xfe, 0x46, 0xe3, 0x3f, 0xc9, 0x53, 0x83, 0x21, 0x70, 0x6a, + 0xf0, 0xa5, 0x37, 0x1a, 0xfd, 0x2c, 0x4f, 0x0d, 0x0e, 0xc1, 0x91, 0x1d, 0x58, 0xdd, 0xa2, 0x25, + 0x7c, 0x9a, 0x47, 0x76, 0x00, 0x95, 0x2d, 0xc3, 0x78, 0xd7, 0x82, 0x18, 0x2d, 0xea, 0x33, 0x4c, + 0x94, 0x26, 0xaf, 0x87, 0xc1, 0xc5, 0x8b, 0x2d, 0x86, 0xd1, 0xd2, 0x3e, 0x2b, 0x2d, 0x5e, 0x6c, + 0x2d, 0xcc, 0x5e, 0x84, 0x94, 0xd5, 0x69, 0x34, 0x70, 0xf2, 0xe8, 0x7b, 0x5f, 0xb0, 0x4b, 0xff, + 0xf3, 0xeb, 0xcc, 0x3a, 0x1c, 0x90, 0x3d, 0x03, 0xfd, 0xa8, 0x79, 0x1d, 0xd5, 0xa2, 0x90, 0xff, + 0xf2, 0x3a, 0x2f, 0x98, 0x98, 0x3b, 0xfb, 0x10, 0x00, 0xdd, 0x1a, 0x21, 0xc7, 0x7e, 0x11, 0xd8, + 0x7f, 0x7d, 0x9d, 0x5d, 0x7d, 0xf1, 0x21, 0xbe, 0x00, 0x7a, 0x91, 0x66, 0x6f, 0x01, 0xaf, 0x8a, + 0x02, 0x88, 0x47, 0x2e, 0xc0, 0x81, 0xc7, 0x1c, 0xdb, 0x72, 0xcd, 0xed, 0x28, 0xf4, 0xbf, 0x31, + 0x34, 0xe7, 0xc7, 0x06, 0x6b, 0xda, 0x6d, 0xe4, 0x9a, 0xdb, 0x4e, 0x14, 0xf6, 0xdf, 0x19, 0xd6, + 0x03, 0x60, 0x70, 0xd5, 0x74, 0xdc, 0x38, 0xf3, 0xfe, 0x31, 0x07, 0x73, 0x00, 0x56, 0x1a, 0x7f, + 0x7e, 0x1c, 0xed, 0x46, 0x61, 0x7f, 0xc2, 0x95, 0x66, 0xfc, 0xd9, 0x07, 0x60, 0x10, 0x7f, 0xa4, + 0xf7, 0xd9, 0x22, 0xc0, 0xff, 0xc1, 0xc0, 0x3e, 0x02, 0x3f, 0xd9, 0x71, 0x6b, 0x6e, 0x3d, 0xda, + 0xd8, 0x3f, 0x65, 0x9e, 0xe6, 0xfc, 0xd9, 0x1c, 0x0c, 0x39, 0x6e, 0xad, 0xd6, 0x61, 0xfd, 0x69, + 0x04, 0xfc, 0x3f, 0x5f, 0xf7, 0xb6, 0x2c, 0x3c, 0x0c, 0xf6, 0xf6, 0x93, 0x8f, 0xbb, 0x2d, 0x9b, + 0x1c, 0x73, 0x44, 0x49, 0x78, 0x8d, 0x49, 0x08, 0x40, 0xf2, 0xa5, 0xf0, 0xed, 0x5b, 0xb8, 0x6c, + 0x5f, 0xb6, 0xe9, 0xc6, 0xed, 0x7b, 0x32, 0xd1, 0x3b, 0xb0, 0xf0, 0xed, 0x06, 0x8c, 0xb8, 0x3b, + 0x08, 0x2f, 0xba, 0x6c, 0x23, 0x36, 0x89, 0x3f, 0x4f, 0xed, 0x6f, 0xf7, 0x96, 0x9c, 0xcd, 0x97, + 0xeb, 0x58, 0xe1, 0x32, 0x39, 0x1e, 0xd1, 0x8f, 0xc0, 0x00, 0x99, 0xc2, 0x29, 0x72, 0x04, 0xa9, + 0xe4, 0x93, 0x37, 0x5e, 0x9a, 0xe9, 0x33, 0xd8, 0x98, 0x47, 0x5d, 0x24, 0xfb, 0xd7, 0x09, 0x81, + 0xba, 0xe8, 0x51, 0x4f, 0xd3, 0x2d, 0x6c, 0x81, 0x7a, 0xda, 0xa3, 0x2e, 0x91, 0xcd, 0x6c, 0x55, + 0xa0, 0x2e, 0x79, 0xd4, 0x33, 0xe4, 0xc0, 0x66, 0x44, 0xa0, 0x9e, 0xf1, 0xa8, 0x67, 0xc9, 0x31, + 0x4d, 0x52, 0xa0, 0x9e, 0xf5, 0xa8, 0xe7, 0xc8, 0x09, 0xcd, 0xb8, 0x40, 0x3d, 0xe7, 0x51, 0xcf, + 0x93, 0x93, 0x19, 0x5d, 0xa0, 0x9e, 0xf7, 0xa8, 0x17, 0xc8, 0xb5, 0xa7, 0x03, 0x02, 0xf5, 0x82, + 0x3e, 0x0d, 0x07, 0xe8, 0xcc, 0x17, 0xc8, 0x31, 0xfe, 0x18, 0x23, 0xf3, 0x41, 0x9f, 0x7e, 0x8a, + 0x5c, 0x71, 0x1a, 0x10, 0xe9, 0xa7, 0x7c, 0xfa, 0x22, 0xf9, 0x6b, 0x0b, 0x4d, 0xa4, 0x2f, 0xfa, + 0xf4, 0xd3, 0xe9, 0x11, 0x72, 0xcd, 0x4b, 0xa0, 0x9f, 0xf6, 0xe9, 0x4b, 0xe9, 0x51, 0x9c, 0x07, + 0x22, 0x7d, 0xc9, 0xa7, 0x9f, 0x49, 0x8f, 0x1d, 0x55, 0x66, 0x87, 0x45, 0xfa, 0x99, 0xcc, 0xfb, + 0x89, 0x7b, 0x2d, 0xdf, 0xbd, 0x93, 0xa2, 0x7b, 0x3d, 0xc7, 0x4e, 0x8a, 0x8e, 0xf5, 0x5c, 0x3a, + 0x29, 0xba, 0xd4, 0x73, 0xe6, 0xa4, 0xe8, 0x4c, 0xcf, 0x8d, 0x93, 0xa2, 0x1b, 0x3d, 0x07, 0x4e, + 0x8a, 0x0e, 0xf4, 0x5c, 0x37, 0x29, 0xba, 0xce, 0x73, 0xda, 0xa4, 0xe8, 0x34, 0xcf, 0x5d, 0x93, + 0xa2, 0xbb, 0x3c, 0x47, 0xa5, 0x25, 0x47, 0xf9, 0x2e, 0x4a, 0x4b, 0x2e, 0xf2, 0x9d, 0x93, 0x96, + 0x9c, 0xe3, 0xbb, 0x25, 0x2d, 0xb9, 0xc5, 0x77, 0x48, 0x5a, 0x72, 0x88, 0xef, 0x8a, 0xb4, 0xe4, + 0x0a, 0xdf, 0x09, 0x2c, 0xc7, 0x0c, 0xd4, 0x0a, 0xc9, 0x31, 0x75, 0xcf, 0x1c, 0x53, 0xf7, 0xcc, + 0x31, 0x75, 0xcf, 0x1c, 0x53, 0xf7, 0xcc, 0x31, 0x75, 0xcf, 0x1c, 0x53, 0xf7, 0xcc, 0x31, 0x75, + 0xcf, 0x1c, 0x53, 0xf7, 0xcc, 0x31, 0x75, 0xef, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0x8d, 0xc8, 0x31, + 0x35, 0x22, 0xc7, 0xd4, 0x88, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0xed, 0x99, 0x63, 0xbe, 0x7b, 0x27, + 0x45, 0xf7, 0x86, 0xe6, 0x98, 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, 0xc8, 0x31, 0xb5, + 0x47, 0x8e, 0xa9, 0x3d, 0x72, 0x4c, 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe5, 0x98, + 0xda, 0x33, 0xc7, 0xd4, 0x9e, 0x39, 0xa6, 0xf6, 0xcc, 0x31, 0xb5, 0x67, 0x8e, 0xa9, 0x3d, 0x73, + 0x4c, 0x0d, 0xe6, 0xd8, 0x5f, 0xaa, 0xa0, 0xd3, 0x1c, 0x5b, 0x23, 0x17, 0xc1, 0x98, 0x2b, 0xa6, + 0xa5, 0x4c, 0x1b, 0xc0, 0xae, 0xd3, 0x7c, 0x97, 0x4c, 0x4b, 0xb9, 0x26, 0xd2, 0x17, 0x3d, 0x3a, + 0xcf, 0x36, 0x91, 0x7e, 0xda, 0xa3, 0xf3, 0x7c, 0x13, 0xe9, 0x4b, 0x1e, 0x9d, 0x67, 0x9c, 0x48, + 0x3f, 0xe3, 0xd1, 0x79, 0xce, 0x89, 0xf4, 0xb3, 0x1e, 0x9d, 0x67, 0x9d, 0x48, 0x3f, 0xe7, 0xd1, + 0x79, 0xde, 0x89, 0xf4, 0xf3, 0x1e, 0x9d, 0x67, 0x9e, 0x48, 0xbf, 0xa0, 0x1f, 0x95, 0x73, 0x8f, + 0x33, 0x78, 0xae, 0x3d, 0x2a, 0x67, 0x9f, 0xc4, 0x71, 0xca, 0xe7, 0xe0, 0xf9, 0x27, 0x71, 0x2c, + 0xfa, 0x1c, 0x3c, 0x03, 0x25, 0x8e, 0xd3, 0x99, 0x0f, 0x11, 0xf7, 0x59, 0xb2, 0xfb, 0xa6, 0x24, + 0xf7, 0x25, 0x02, 0xae, 0x9b, 0x92, 0x5c, 0x97, 0x08, 0xb8, 0x6d, 0x4a, 0x72, 0x5b, 0x22, 0xe0, + 0xb2, 0x29, 0xc9, 0x65, 0x89, 0x80, 0xbb, 0xa6, 0x24, 0x77, 0x25, 0x02, 0xae, 0x9a, 0x92, 0x5c, + 0x95, 0x08, 0xb8, 0x69, 0x4a, 0x72, 0x53, 0x22, 0xe0, 0xa2, 0x29, 0xc9, 0x45, 0x89, 0x80, 0x7b, + 0xa6, 0x24, 0xf7, 0x24, 0x02, 0xae, 0x39, 0x22, 0xbb, 0x26, 0x11, 0x74, 0xcb, 0x11, 0xd9, 0x2d, + 0x89, 0xa0, 0x4b, 0x8e, 0xc8, 0x2e, 0x49, 0x04, 0xdd, 0x71, 0x44, 0x76, 0x47, 0x22, 0xe8, 0x8a, + 0x9f, 0x27, 0x78, 0x47, 0xb8, 0xee, 0xb6, 0x3b, 0x55, 0xf7, 0x96, 0x3a, 0xc2, 0x05, 0xa1, 0x7d, + 0x18, 0x5a, 0xd4, 0xe7, 0x49, 0xc3, 0x1a, 0xec, 0x38, 0xa5, 0x15, 0x6c, 0x41, 0x68, 0x2c, 0x02, + 0x08, 0x2b, 0x1c, 0xb1, 0x74, 0x4b, 0xbd, 0xe1, 0x82, 0xd0, 0x66, 0x44, 0xeb, 0x77, 0xfe, 0x2d, + 0xef, 0xd8, 0x5e, 0x48, 0xf0, 0x8e, 0x8d, 0x99, 0x7f, 0xbf, 0x1d, 0xdb, 0x5c, 0xb4, 0xc9, 0x3d, + 0x63, 0xcf, 0x45, 0x1b, 0xbb, 0x6b, 0xd5, 0x89, 0xdb, 0xc1, 0xcd, 0x45, 0x9b, 0xd6, 0x33, 0xea, + 0x9b, 0xdb, 0x6f, 0xb1, 0x08, 0x36, 0x50, 0x2b, 0x24, 0x82, 0xf7, 0xdb, 0x6f, 0x2d, 0x08, 0xa5, + 0x64, 0xbf, 0x11, 0xac, 0xee, 0x3b, 0x82, 0xf7, 0xdb, 0x79, 0x2d, 0x08, 0xe5, 0x65, 0xdf, 0x11, + 0xfc, 0x16, 0xf4, 0x43, 0x2c, 0x82, 0x7d, 0xf3, 0xef, 0xb7, 0x1f, 0x9a, 0x8b, 0x36, 0x79, 0x68, + 0x04, 0xab, 0xfb, 0x88, 0xe0, 0x38, 0xfd, 0xd1, 0x5c, 0xb4, 0x69, 0xc3, 0x23, 0xf8, 0x96, 0xbb, + 0x99, 0x4f, 0x29, 0x30, 0x5e, 0xae, 0xd7, 0x4a, 0xcd, 0xeb, 0xa8, 0x56, 0x43, 0x35, 0x66, 0xc7, + 0x05, 0xa1, 0x12, 0xf4, 0x70, 0xf5, 0x8b, 0x2f, 0xcd, 0xf8, 0x16, 0x3e, 0x03, 0x29, 0x6a, 0xd3, + 0x85, 0x85, 0xf4, 0x0d, 0x25, 0xa2, 0xc2, 0x79, 0xac, 0xfa, 0x31, 0x0e, 0x3b, 0xb5, 0x90, 0xfe, + 0x7b, 0x25, 0x50, 0xe5, 0xbc, 0xe1, 0xcc, 0x47, 0x88, 0x86, 0xd6, 0x2d, 0x6b, 0x78, 0x32, 0x96, + 0x86, 0x01, 0xdd, 0x6e, 0xef, 0xd2, 0x2d, 0xa0, 0x55, 0x07, 0xc6, 0xca, 0xf5, 0x5a, 0x99, 0xfc, + 0x9d, 0x7f, 0x1c, 0x95, 0x28, 0x8f, 0x54, 0x0f, 0x16, 0x84, 0xb0, 0x0c, 0x22, 0xbc, 0x90, 0x16, + 0x6b, 0x44, 0xa6, 0x8e, 0x1f, 0x6b, 0x09, 0x8f, 0x9d, 0xeb, 0xf5, 0x58, 0xbf, 0xb2, 0x7b, 0x0f, + 0x9c, 0xeb, 0xf5, 0x40, 0x3f, 0x87, 0xbc, 0x47, 0x3d, 0xc5, 0x17, 0x67, 0x7a, 0x1d, 0x4b, 0x3f, + 0x02, 0x89, 0x65, 0x7a, 0x5b, 0x7c, 0x38, 0x3f, 0x8c, 0x95, 0xfa, 0xfe, 0x4b, 0x33, 0xc9, 0xcd, + 0x4e, 0xbd, 0x66, 0x24, 0x96, 0x6b, 0xfa, 0x15, 0xe8, 0x7f, 0x37, 0xfb, 0x6b, 0x53, 0xcc, 0xb0, + 0xc4, 0x18, 0xee, 0xeb, 0xb9, 0x47, 0x84, 0x1f, 0x7c, 0x92, 0x6e, 0x4d, 0xce, 0x6f, 0xd6, 0x2d, + 0xf7, 0xd4, 0xe2, 0x79, 0x83, 0x8a, 0xc8, 0xfc, 0x4f, 0x00, 0xfa, 0xcc, 0xa2, 0xe9, 0xec, 0xe8, + 0x65, 0x2e, 0x99, 0x3e, 0xfa, 0xfc, 0xf7, 0x5f, 0x9a, 0x59, 0x8a, 0x23, 0xf5, 0xfe, 0x9a, 0xe9, + 0xec, 0xdc, 0xef, 0xee, 0xb6, 0xd0, 0x7c, 0x7e, 0xd7, 0x45, 0x0e, 0x97, 0xde, 0xe2, 0xab, 0x1e, + 0x9b, 0x57, 0x3a, 0x30, 0xaf, 0x94, 0x30, 0xa7, 0x4b, 0xe2, 0x9c, 0x16, 0xde, 0xe8, 0x7c, 0x9e, + 0xe2, 0x8b, 0x84, 0x64, 0x49, 0x35, 0xca, 0x92, 0xea, 0xad, 0x5a, 0xb2, 0xc5, 0xeb, 0xa3, 0x34, + 0x57, 0x75, 0xaf, 0xb9, 0xaa, 0xb7, 0x32, 0xd7, 0xff, 0xa2, 0xd9, 0xea, 0xe5, 0xd3, 0xa6, 0x45, + 0x6f, 0xaa, 0xfe, 0x72, 0xed, 0x05, 0xbd, 0xa9, 0x5d, 0x40, 0x36, 0x79, 0xe3, 0xb9, 0x19, 0x25, + 0xf3, 0xa9, 0x04, 0x9f, 0x39, 0x4d, 0xa4, 0x37, 0x36, 0xf3, 0x5f, 0x96, 0x9e, 0xea, 0xad, 0xb0, + 0xd0, 0xb3, 0x0a, 0x4c, 0x76, 0x55, 0x72, 0x6a, 0xa6, 0x37, 0xb7, 0x9c, 0x5b, 0xfb, 0x2d, 0xe7, + 0x4c, 0xc1, 0xaf, 0x29, 0x70, 0x50, 0x2a, 0xaf, 0x54, 0xbd, 0x93, 0x92, 0x7a, 0x87, 0xbb, 0x9f, + 0x44, 0x18, 0x03, 0xda, 0x05, 0xdd, 0x2b, 0x01, 0x02, 0x92, 0x3d, 0xbf, 0x2f, 0x49, 0x7e, 0x3f, + 0xe2, 0x01, 0x42, 0xcc, 0xc5, 0x23, 0x80, 0xa9, 0x6d, 0x43, 0x72, 0xa3, 0x8d, 0x90, 0x3e, 0x0d, + 0x89, 0xd5, 0x36, 0xd3, 0x70, 0x94, 0xe2, 0x57, 0xdb, 0xf9, 0xb6, 0x69, 0x55, 0x77, 0x8c, 0xc4, + 0x6a, 0x5b, 0x3f, 0x06, 0x6a, 0x8e, 0xfd, 0xa5, 0xfb, 0xd0, 0xe2, 0x18, 0x65, 0xc8, 0x59, 0x35, + 0xc6, 0x81, 0x69, 0xfa, 0x34, 0x24, 0xaf, 0x22, 0x73, 0x8b, 0x29, 0x01, 0x94, 0x07, 0x8f, 0x18, + 0x64, 0x9c, 0x3d, 0xf0, 0x51, 0x48, 0x71, 0xc1, 0xfa, 0x71, 0x8c, 0xd8, 0x72, 0xd9, 0x63, 0x19, + 0x02, 0xab, 0xc3, 0x56, 0x2e, 0x42, 0xd5, 0x4f, 0x40, 0xbf, 0x51, 0xdf, 0xde, 0x71, 0xd9, 0xc3, + 0xbb, 0xd9, 0x28, 0x39, 0x73, 0x0d, 0x06, 0x3d, 0x8d, 0xde, 0x64, 0xd1, 0x45, 0x3a, 0x35, 0x7d, + 0x2a, 0xb8, 0x9e, 0xf0, 0x7d, 0x4b, 0x3a, 0xa4, 0x1f, 0x85, 0xd4, 0xba, 0xdb, 0xf6, 0x8b, 0x3e, + 0xef, 0x48, 0xbd, 0xd1, 0xcc, 0xfb, 0x15, 0x48, 0x15, 0x11, 0x6a, 0x11, 0x83, 0xdf, 0x05, 0xc9, + 0xa2, 0xfd, 0xa4, 0xc5, 0x14, 0x1c, 0x67, 0x16, 0xc5, 0x64, 0x66, 0x53, 0x42, 0xd6, 0xef, 0x0a, + 0xda, 0x7d, 0xc2, 0xb3, 0x7b, 0x80, 0x8f, 0xd8, 0x3e, 0x23, 0xd8, 0x9e, 0x39, 0x10, 0x33, 0x75, + 0xd9, 0xff, 0x1c, 0x0c, 0x05, 0x9e, 0xa2, 0xcf, 0x32, 0x35, 0x12, 0x32, 0x30, 0x68, 0x2b, 0xcc, + 0x91, 0x41, 0x30, 0x22, 0x3c, 0x18, 0x43, 0x03, 0x26, 0xee, 0x01, 0x25, 0x66, 0x9e, 0x13, 0xcd, + 0x1c, 0xce, 0xca, 0x4c, 0xbd, 0x40, 0x6d, 0x44, 0xcc, 0x7d, 0x9c, 0x06, 0x67, 0x6f, 0x27, 0xe2, + 0xcf, 0x99, 0x7e, 0x50, 0xcb, 0xf5, 0x46, 0xe6, 0x01, 0x00, 0x9a, 0xf2, 0x25, 0xab, 0xd3, 0x94, + 0xb2, 0x6e, 0x94, 0x1b, 0x78, 0x63, 0x07, 0x6d, 0x20, 0x87, 0xb0, 0x88, 0xfd, 0x14, 0x2e, 0x30, + 0x40, 0x53, 0x8c, 0xe0, 0xef, 0x89, 0xc4, 0x87, 0x76, 0x62, 0x98, 0x35, 0x4d, 0x59, 0xaf, 0x21, + 0x37, 0x67, 0xd9, 0xee, 0x0e, 0x6a, 0x4b, 0x88, 0x45, 0xfd, 0xb4, 0x90, 0xb0, 0xa3, 0x8b, 0xb7, + 0x7b, 0x88, 0x9e, 0xa0, 0xd3, 0x99, 0x2f, 0x13, 0x05, 0x71, 0x2b, 0xd0, 0x35, 0x41, 0x35, 0xc6, + 0x04, 0xf5, 0xb3, 0x42, 0xff, 0xb6, 0x87, 0x9a, 0xd2, 0xab, 0xe5, 0x05, 0xe1, 0x3d, 0x67, 0x6f, + 0x65, 0xc5, 0x77, 0x4c, 0x6e, 0x53, 0xae, 0xf2, 0x3d, 0x91, 0x2a, 0xf7, 0xe8, 0x6e, 0xf7, 0x6b, + 0x53, 0x35, 0xae, 0x4d, 0xbf, 0xe5, 0x75, 0x1c, 0xf4, 0xe7, 0x44, 0xc8, 0x0f, 0xf1, 0xe8, 0xf7, + 0x45, 0xfa, 0x3e, 0xab, 0x14, 0x3c, 0x55, 0x97, 0xe2, 0xba, 0x3f, 0x9b, 0xc8, 0xe7, 0x3d, 0x75, + 0xcf, 0xed, 0x23, 0x04, 0xb2, 0x89, 0x42, 0xc1, 0x2b, 0xdb, 0xa9, 0x0f, 0x3d, 0x37, 0xa3, 0x3c, + 0xff, 0xdc, 0x4c, 0x5f, 0xe6, 0x8b, 0x0a, 0x8c, 0x33, 0xce, 0x40, 0xe0, 0xde, 0x2f, 0x29, 0x7f, + 0x88, 0xd7, 0x8c, 0x30, 0x0b, 0xbc, 0x6d, 0xc1, 0xfb, 0x5d, 0x05, 0xd2, 0x5d, 0xba, 0x72, 0x7b, + 0x2f, 0xc4, 0x52, 0x39, 0xab, 0x94, 0x7e, 0xf1, 0x36, 0xbf, 0x06, 0xfd, 0x1b, 0xf5, 0x26, 0x6a, + 0xe3, 0x95, 0x00, 0x7f, 0xa0, 0x2a, 0xf3, 0xc3, 0x1c, 0x3a, 0xc4, 0x69, 0x54, 0x39, 0x81, 0xb6, + 0xa8, 0xa7, 0x21, 0x59, 0x34, 0x5d, 0x93, 0x68, 0x30, 0xec, 0xd5, 0x57, 0xd3, 0x35, 0x33, 0xa7, + 0x61, 0x78, 0x65, 0x97, 0x5c, 0x2f, 0xaa, 0x91, 0x9b, 0x25, 0x62, 0xf7, 0xc7, 0xfb, 0xd5, 0x53, + 0x73, 0xfd, 0xa9, 0x9a, 0x76, 0x43, 0xc9, 0x26, 0x89, 0x3e, 0x4f, 0xc0, 0xe8, 0x2a, 0x56, 0x9b, + 0xe0, 0x04, 0x18, 0x7d, 0xba, 0xea, 0x4d, 0x5e, 0x6a, 0xca, 0x54, 0xbf, 0x29, 0x3b, 0x0a, 0xca, + 0x8a, 0xd8, 0x3a, 0x05, 0xf5, 0x30, 0x94, 0x95, 0xb9, 0x64, 0x6a, 0x54, 0x1b, 0x9f, 0x4b, 0xa6, + 0x40, 0x1b, 0x61, 0xcf, 0xfd, 0x5b, 0x15, 0x34, 0xda, 0xea, 0x14, 0xd1, 0x56, 0xdd, 0xaa, 0xbb, + 0xdd, 0xfd, 0xaa, 0xa7, 0xb1, 0xfe, 0x10, 0x0c, 0x62, 0x93, 0x5e, 0x62, 0xbf, 0xc7, 0x87, 0x4d, + 0x7f, 0x8c, 0xb5, 0x28, 0x92, 0x08, 0x36, 0x40, 0x42, 0xc7, 0xc7, 0xe8, 0x97, 0x40, 0x2d, 0x97, + 0x57, 0xd8, 0xe2, 0xb6, 0xb4, 0x27, 0x94, 0x5d, 0xe1, 0x61, 0xdf, 0xd8, 0x98, 0xb3, 0x6d, 0x60, + 0x01, 0xfa, 0x12, 0x24, 0xca, 0x2b, 0xac, 0xe1, 0x3d, 0x1e, 0x47, 0x8c, 0x91, 0x28, 0xaf, 0x4c, + 0xfd, 0x95, 0x02, 0x23, 0xc2, 0xa8, 0x9e, 0x81, 0x61, 0x3a, 0x10, 0x98, 0xee, 0x80, 0x21, 0x8c, + 0x71, 0x9d, 0x13, 0xb7, 0xa8, 0xf3, 0x54, 0x0e, 0xc6, 0xa4, 0x71, 0x7d, 0x1e, 0xf4, 0xe0, 0x10, + 0x53, 0x82, 0xfe, 0x16, 0x58, 0x08, 0x25, 0x73, 0x07, 0x80, 0x6f, 0x57, 0xef, 0x27, 0xac, 0xca, + 0xa5, 0xf5, 0x8d, 0x52, 0x51, 0x53, 0x32, 0x5f, 0x57, 0x60, 0x88, 0xb5, 0xad, 0x55, 0xbb, 0x85, + 0xf4, 0x3c, 0x28, 0x39, 0x16, 0x0f, 0x6f, 0x4c, 0x6f, 0x25, 0xa7, 0x9f, 0x04, 0x25, 0x1f, 0xdf, + 0xd5, 0x4a, 0x5e, 0x5f, 0x04, 0xa5, 0xc0, 0x1c, 0x1c, 0xcf, 0x33, 0x4a, 0x21, 0xf3, 0x53, 0x15, + 0x26, 0x82, 0x6d, 0x34, 0xaf, 0x27, 0xc7, 0xc4, 0xf7, 0xa6, 0xec, 0xe0, 0xa9, 0xc5, 0xd3, 0x4b, + 0xf3, 0xf8, 0x1f, 0x2f, 0x24, 0x33, 0xe2, 0x2b, 0x54, 0x16, 0x3c, 0x96, 0x53, 0xbd, 0xee, 0x89, + 0x64, 0x93, 0x01, 0x09, 0x5d, 0xf7, 0x44, 0x04, 0x6a, 0xd7, 0x3d, 0x11, 0x81, 0xda, 0x75, 0x4f, + 0x44, 0xa0, 0x76, 0x9d, 0x05, 0x08, 0xd4, 0xae, 0x7b, 0x22, 0x02, 0xb5, 0xeb, 0x9e, 0x88, 0x40, + 0xed, 0xbe, 0x27, 0xc2, 0xc8, 0x3d, 0xef, 0x89, 0x88, 0xf4, 0xee, 0x7b, 0x22, 0x22, 0xbd, 0xfb, + 0x9e, 0x48, 0x36, 0xe9, 0xb6, 0x3b, 0xa8, 0xf7, 0xa9, 0x83, 0x88, 0xdf, 0xeb, 0x25, 0xd0, 0xaf, + 0xc0, 0xab, 0x30, 0x46, 0x37, 0x24, 0x0a, 0xb6, 0xe5, 0x9a, 0x75, 0x0b, 0xb5, 0xf5, 0x77, 0xc0, + 0x30, 0x1d, 0xa2, 0xaf, 0x39, 0x61, 0xaf, 0x81, 0x94, 0xce, 0xea, 0xad, 0xc0, 0x9d, 0xf9, 0x79, + 0x12, 0x26, 0xe9, 0x40, 0xd9, 0x6c, 0x22, 0xe1, 0x96, 0xd1, 0x09, 0xe9, 0x4c, 0x69, 0x14, 0xc3, + 0x6f, 0xbe, 0x34, 0x43, 0x47, 0x73, 0x5e, 0x34, 0x9d, 0x90, 0x4e, 0x97, 0x44, 0x3e, 0x7f, 0x01, + 0x3a, 0x21, 0xdd, 0x3c, 0x12, 0xf9, 0xbc, 0xf5, 0xc6, 0xe3, 0xe3, 0x77, 0x90, 0x44, 0xbe, 0xa2, + 0x17, 0x65, 0x27, 0xa4, 0xdb, 0x48, 0x22, 0x5f, 0xc9, 0x8b, 0xb7, 0x13, 0xd2, 0xd9, 0x93, 0xc8, + 0x77, 0xc9, 0x8b, 0xbc, 0x13, 0xd2, 0x29, 0x94, 0xc8, 0x77, 0xd9, 0x8b, 0xc1, 0x13, 0xd2, 0x5d, + 0x25, 0x91, 0xef, 0x61, 0x2f, 0x1a, 0x4f, 0x48, 0xb7, 0x96, 0x44, 0xbe, 0x65, 0x2f, 0x2e, 0x67, + 0xe5, 0xfb, 0x4b, 0x22, 0xe3, 0x15, 0x3f, 0x42, 0x67, 0xe5, 0x9b, 0x4c, 0x22, 0xe7, 0x3b, 0xfd, + 0x58, 0x9d, 0x95, 0xef, 0x34, 0x89, 0x9c, 0x57, 0xfd, 0xa8, 0x9d, 0x95, 0xcf, 0xca, 0x44, 0xce, + 0x15, 0x3f, 0x7e, 0x67, 0xe5, 0x53, 0x33, 0x91, 0xb3, 0xec, 0x47, 0xf2, 0xac, 0x7c, 0x7e, 0x26, + 0x72, 0xae, 0xfa, 0x9b, 0xe8, 0xdf, 0x91, 0xc2, 0x2f, 0x70, 0x0b, 0x2a, 0x23, 0x85, 0x1f, 0x84, + 0x84, 0x9e, 0x54, 0xc8, 0x02, 0x3c, 0x7e, 0xd8, 0x65, 0xa4, 0xb0, 0x83, 0x90, 0x90, 0xcb, 0x48, + 0x21, 0x07, 0x21, 0xe1, 0x96, 0x91, 0xc2, 0x0d, 0x42, 0x42, 0x2d, 0x23, 0x85, 0x1a, 0x84, 0x84, + 0x59, 0x46, 0x0a, 0x33, 0x08, 0x09, 0xb1, 0x8c, 0x14, 0x62, 0x10, 0x12, 0x5e, 0x19, 0x29, 0xbc, + 0x20, 0x24, 0xb4, 0x8e, 0xcb, 0xa1, 0x05, 0x61, 0x61, 0x75, 0x5c, 0x0e, 0x2b, 0x08, 0x0b, 0xa9, + 0x3b, 0xe5, 0x90, 0x1a, 0xbc, 0xf9, 0xd2, 0x4c, 0x3f, 0x1e, 0x0a, 0x44, 0xd3, 0x71, 0x39, 0x9a, + 0x20, 0x2c, 0x92, 0x8e, 0xcb, 0x91, 0x04, 0x61, 0x51, 0x74, 0x5c, 0x8e, 0x22, 0x08, 0x8b, 0xa0, + 0x17, 0xe4, 0x08, 0xf2, 0xef, 0xf8, 0x64, 0xa4, 0x23, 0xc5, 0xa8, 0x08, 0x52, 0x63, 0x44, 0x90, + 0x1a, 0x23, 0x82, 0xd4, 0x18, 0x11, 0xa4, 0xc6, 0x88, 0x20, 0x35, 0x46, 0x04, 0xa9, 0x31, 0x22, + 0x48, 0x8d, 0x11, 0x41, 0x6a, 0x9c, 0x08, 0x52, 0x63, 0x45, 0x90, 0xda, 0x2b, 0x82, 0x8e, 0xcb, + 0x37, 0x1e, 0x20, 0xac, 0x20, 0x1d, 0x97, 0x8f, 0x3e, 0xa3, 0x43, 0x48, 0x8d, 0x15, 0x42, 0x6a, + 0xaf, 0x10, 0xfa, 0x8e, 0x0a, 0x13, 0x42, 0x08, 0xb1, 0xf3, 0xa1, 0x37, 0xab, 0x02, 0x9d, 0x8d, + 0x71, 0xc1, 0x22, 0x2c, 0xa6, 0xce, 0xc6, 0x38, 0xa4, 0xde, 0x2b, 0xce, 0xba, 0xab, 0x50, 0x29, + 0x46, 0x15, 0xba, 0xe4, 0xc5, 0xd0, 0xd9, 0x18, 0x17, 0x2f, 0xba, 0x63, 0xef, 0xfc, 0x5e, 0x45, + 0xe0, 0xe1, 0x58, 0x45, 0x60, 0x39, 0x56, 0x11, 0xb8, 0xe2, 0x7b, 0xf0, 0x83, 0x09, 0x38, 0xe8, + 0x7b, 0x90, 0x7e, 0x22, 0xbf, 0x97, 0x95, 0x09, 0x1c, 0x51, 0xe9, 0xfc, 0xd8, 0x26, 0xe0, 0xc6, + 0xc4, 0x72, 0x4d, 0x5f, 0x13, 0x0f, 0xab, 0xb2, 0xfb, 0x3d, 0xc0, 0x09, 0x78, 0x9c, 0x6d, 0x86, + 0x1e, 0x07, 0x75, 0xb9, 0xe6, 0x90, 0x6a, 0x11, 0xf6, 0xd8, 0x82, 0x81, 0xc9, 0xba, 0x01, 0x03, + 0x84, 0xdd, 0x21, 0xee, 0xbd, 0x95, 0x07, 0x17, 0x0d, 0x26, 0x29, 0xf3, 0x82, 0x02, 0x47, 0x85, + 0x50, 0x7e, 0x73, 0x8e, 0x0c, 0x2e, 0xc6, 0x3a, 0x32, 0x10, 0x12, 0xc4, 0x3f, 0x3e, 0xb8, 0xbb, + 0xfb, 0xa4, 0x3a, 0x98, 0x25, 0xf2, 0x51, 0xc2, 0xff, 0x81, 0x51, 0x7f, 0x06, 0xe4, 0x9d, 0xed, + 0x4c, 0xf4, 0x6e, 0x66, 0x58, 0x6a, 0x9e, 0x91, 0x76, 0xd1, 0xf6, 0x84, 0x79, 0xd9, 0x9a, 0xc9, + 0xc2, 0x58, 0x59, 0xfc, 0x43, 0xa7, 0xa8, 0xcd, 0x88, 0x14, 0x6e, 0xcd, 0x6f, 0x7c, 0x7a, 0xa6, + 0x2f, 0x73, 0x1f, 0x0c, 0x07, 0xff, 0x96, 0x49, 0x02, 0x0e, 0x72, 0x60, 0x36, 0xf9, 0x22, 0xe6, + 0xfe, 0x3d, 0x05, 0x0e, 0x05, 0xd9, 0x1f, 0xa9, 0xbb, 0x3b, 0xcb, 0x16, 0xee, 0xe9, 0x1f, 0x80, + 0x14, 0x62, 0x8e, 0x63, 0x3f, 0x7d, 0xc3, 0xde, 0x23, 0x43, 0xd9, 0xe7, 0xc9, 0xbf, 0x86, 0x07, + 0x91, 0x76, 0x41, 0xf8, 0x63, 0x17, 0xa7, 0xee, 0x82, 0x7e, 0x2a, 0x5f, 0xd4, 0x6b, 0x44, 0xd2, + 0xeb, 0x73, 0x21, 0x7a, 0x91, 0x38, 0xd2, 0xaf, 0x08, 0x7a, 0x05, 0x5e, 0x57, 0x43, 0xd9, 0xe7, + 0x79, 0xf0, 0xe5, 0x53, 0xb8, 0xff, 0x23, 0x11, 0x15, 0xad, 0xe4, 0x2c, 0xa4, 0x4a, 0x32, 0x4f, + 0xb8, 0x9e, 0x45, 0x48, 0x96, 0xed, 0x1a, 0xf9, 0x51, 0x1e, 0xf2, 0x2b, 0xd4, 0xcc, 0xc8, 0xec, + 0x27, 0xa9, 0x4f, 0x40, 0xaa, 0xb0, 0x53, 0x6f, 0xd4, 0xda, 0xc8, 0x62, 0x67, 0xf6, 0x6c, 0x0b, + 0x1d, 0x63, 0x0c, 0x8f, 0x96, 0x29, 0xc0, 0x78, 0xd9, 0xb6, 0xf2, 0xbb, 0x6e, 0xb0, 0x6e, 0xcc, + 0x4b, 0x29, 0xc2, 0xce, 0x7c, 0xc8, 0xdf, 0x7e, 0x60, 0x86, 0x7c, 0xff, 0xf7, 0x5f, 0x9a, 0x51, + 0x36, 0xbc, 0xfd, 0xf3, 0x15, 0x38, 0xcc, 0xd2, 0xa7, 0x4b, 0xd4, 0x62, 0x94, 0xa8, 0x41, 0x76, + 0x4e, 0x1d, 0x10, 0xb7, 0x8c, 0xc5, 0x59, 0xa1, 0xe2, 0xde, 0x98, 0x66, 0xb8, 0x29, 0xda, 0x53, + 0x33, 0x75, 0x5f, 0x9a, 0x85, 0x8a, 0x9b, 0x8f, 0x12, 0x27, 0x69, 0x76, 0x27, 0x0c, 0x7a, 0xb4, + 0x40, 0x34, 0x04, 0x33, 0x65, 0x71, 0x2e, 0x03, 0x43, 0x81, 0x84, 0xd5, 0xfb, 0x41, 0xc9, 0x69, + 0x7d, 0xf8, 0xbf, 0xbc, 0xa6, 0xe0, 0xff, 0x0a, 0x5a, 0x62, 0xee, 0x2e, 0x18, 0x93, 0xf6, 0x2f, + 0x31, 0xa5, 0xa8, 0x01, 0xfe, 0xaf, 0xa4, 0x0d, 0x4d, 0x25, 0x3f, 0xf4, 0xd9, 0xe9, 0xbe, 0xb9, + 0x8b, 0xa0, 0x77, 0xef, 0x74, 0xea, 0x03, 0x90, 0xc8, 0x61, 0x91, 0x87, 0x21, 0x91, 0xcf, 0x6b, + 0xca, 0xd4, 0xd8, 0xaf, 0x7e, 0xf2, 0xe8, 0x50, 0x9e, 0xfc, 0xa1, 0xf6, 0x35, 0xe4, 0xe6, 0xf3, + 0x0c, 0xfc, 0x20, 0x1c, 0x0a, 0xdd, 0x29, 0xc5, 0xf8, 0x42, 0x81, 0xe2, 0x8b, 0xc5, 0x2e, 0x7c, + 0xb1, 0x48, 0xf0, 0x4a, 0x96, 0x9f, 0x38, 0xe7, 0xf4, 0x90, 0x5d, 0xc6, 0x74, 0x2d, 0x70, 0xc2, + 0x9d, 0xcb, 0x3e, 0xc8, 0x78, 0xf3, 0xa1, 0xbc, 0x28, 0xe2, 0xc4, 0x3a, 0x9f, 0x2d, 0x30, 0x7c, + 0x21, 0x14, 0xbf, 0x25, 0x1d, 0xab, 0x8a, 0x2b, 0x04, 0x13, 0x52, 0xf0, 0x14, 0x2e, 0x86, 0x0a, + 0xd9, 0x09, 0x5c, 0x76, 0x2f, 0x7a, 0x0a, 0x97, 0x42, 0x79, 0xeb, 0x11, 0x97, 0xbe, 0x4a, 0xd9, + 0x93, 0x6c, 0x91, 0xcf, 0x9d, 0xd2, 0x0f, 0xf1, 0x1c, 0x15, 0x2a, 0x30, 0x33, 0x10, 0xe7, 0xca, + 0x16, 0x18, 0x20, 0xdf, 0x13, 0xd0, 0xdb, 0x4a, 0x1c, 0x99, 0x7d, 0x98, 0x09, 0x29, 0xf4, 0x14, + 0x12, 0x61, 0x2a, 0x0e, 0xcf, 0x6f, 0xdc, 0x78, 0x79, 0xba, 0xef, 0xc5, 0x97, 0xa7, 0xfb, 0xfe, + 0xe1, 0xe5, 0xe9, 0xbe, 0x1f, 0xbc, 0x3c, 0xad, 0xfc, 0xe8, 0xe5, 0x69, 0xe5, 0x27, 0x2f, 0x4f, + 0x2b, 0x3f, 0x7b, 0x79, 0x5a, 0x79, 0xe6, 0xe6, 0xb4, 0xf2, 0xfc, 0xcd, 0x69, 0xe5, 0xcb, 0x37, + 0xa7, 0x95, 0x6f, 0xdc, 0x9c, 0x56, 0x5e, 0xb8, 0x39, 0xad, 0xdc, 0xb8, 0x39, 0xdd, 0xf7, 0xe2, + 0xcd, 0xe9, 0xbe, 0x1f, 0xdc, 0x9c, 0x56, 0x7e, 0x74, 0x73, 0xba, 0xef, 0x27, 0x37, 0xa7, 0x95, + 0x9f, 0xdd, 0x9c, 0xee, 0x7b, 0xe6, 0x95, 0xe9, 0xbe, 0xe7, 0x5e, 0x99, 0xee, 0x7b, 0xfe, 0x95, + 0x69, 0xe5, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x03, 0x1e, 0xc6, 0x1e, 0xd9, 0x68, 0x00, 0x00, } r := bytes.NewReader(gzipped) - gzipr, err := gzip.NewReader(r) + gzipr, err := compress_gzip.NewReader(r) if err != nil { panic(err) } - ungzipped, err := ioutil.ReadAll(gzipr) + ungzipped, err := io_ioutil.ReadAll(gzipr) if err != nil { panic(err) } - if err := proto.Unmarshal(ungzipped, d); err != nil { + if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil { panic(err) } return d @@ -12346,8 +13707,8 @@ func (this *MyExtendable) VerboseEqual(that interface{}) error { } else if that1.Field1 != nil { return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", this.Field1, that1.Field1) } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) for k, v := range thismap { if v2, ok := thatmap[k]; ok { if !v.Equal(&v2) { @@ -12395,8 +13756,8 @@ func (this *MyExtendable) Equal(that interface{}) bool { } else if that1.Field1 != nil { return false } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) for k, v := range thismap { if v2, ok := thatmap[k]; ok { if !v.Equal(&v2) { @@ -12462,8 +13823,8 @@ func (this *OtherExtenable) VerboseEqual(that interface{}) error { if !this.M.Equal(that1.M) { return fmt.Errorf("M this(%v) Not Equal that(%v)", this.M, that1.M) } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) for k, v := range thismap { if v2, ok := thatmap[k]; ok { if !v.Equal(&v2) { @@ -12523,8 +13884,8 @@ func (this *OtherExtenable) Equal(that interface{}) bool { if !this.M.Equal(that1.M) { return false } - thismap := proto.GetUnsafeExtensionsMap(this) - thatmap := proto.GetUnsafeExtensionsMap(that1) + thismap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(this) + thatmap := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(that1) for k, v := range thismap { if v2, ok := thatmap[k]; ok { if !v.Equal(&v2) { @@ -15424,7 +16785,7 @@ func (this *ProtoType) Equal(that interface{}) bool { } type NidOptNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() float64 GetField2() float32 GetField3() int32 @@ -15442,11 +16803,11 @@ type NidOptNativeFace interface { GetField15() []byte } -func (this *NidOptNative) Proto() proto.Message { +func (this *NidOptNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptNative) TestProto() proto.Message { +func (this *NidOptNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptNativeFromFace(this) } @@ -15531,7 +16892,7 @@ func NewNidOptNativeFromFace(that NidOptNativeFace) *NidOptNative { } type NinOptNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *float64 GetField2() *float32 GetField3() *int32 @@ -15549,11 +16910,11 @@ type NinOptNativeFace interface { GetField15() []byte } -func (this *NinOptNative) Proto() proto.Message { +func (this *NinOptNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptNative) TestProto() proto.Message { +func (this *NinOptNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptNativeFromFace(this) } @@ -15638,7 +16999,7 @@ func NewNinOptNativeFromFace(that NinOptNativeFace) *NinOptNative { } type NidRepNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []int32 @@ -15656,11 +17017,11 @@ type NidRepNativeFace interface { GetField15() [][]byte } -func (this *NidRepNative) Proto() proto.Message { +func (this *NidRepNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepNative) TestProto() proto.Message { +func (this *NidRepNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepNativeFromFace(this) } @@ -15745,7 +17106,7 @@ func NewNidRepNativeFromFace(that NidRepNativeFace) *NidRepNative { } type NinRepNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []int32 @@ -15763,11 +17124,11 @@ type NinRepNativeFace interface { GetField15() [][]byte } -func (this *NinRepNative) Proto() proto.Message { +func (this *NinRepNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepNative) TestProto() proto.Message { +func (this *NinRepNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepNativeFromFace(this) } @@ -15852,7 +17213,7 @@ func NewNinRepNativeFromFace(that NinRepNativeFace) *NinRepNative { } type NidRepPackedNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []int32 @@ -15868,11 +17229,11 @@ type NidRepPackedNativeFace interface { GetField13() []bool } -func (this *NidRepPackedNative) Proto() proto.Message { +func (this *NidRepPackedNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepPackedNative) TestProto() proto.Message { +func (this *NidRepPackedNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepPackedNativeFromFace(this) } @@ -15947,7 +17308,7 @@ func NewNidRepPackedNativeFromFace(that NidRepPackedNativeFace) *NidRepPackedNat } type NinRepPackedNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []int32 @@ -15963,11 +17324,11 @@ type NinRepPackedNativeFace interface { GetField13() []bool } -func (this *NinRepPackedNative) Proto() proto.Message { +func (this *NinRepPackedNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepPackedNative) TestProto() proto.Message { +func (this *NinRepPackedNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepPackedNativeFromFace(this) } @@ -16042,7 +17403,7 @@ func NewNinRepPackedNativeFromFace(that NinRepPackedNativeFace) *NinRepPackedNat } type NidOptStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() float64 GetField2() float32 GetField3() NidOptNative @@ -16055,11 +17416,11 @@ type NidOptStructFace interface { GetField15() []byte } -func (this *NidOptStruct) Proto() proto.Message { +func (this *NidOptStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptStruct) TestProto() proto.Message { +func (this *NidOptStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptStructFromFace(this) } @@ -16119,7 +17480,7 @@ func NewNidOptStructFromFace(that NidOptStructFace) *NidOptStruct { } type NinOptStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *float64 GetField2() *float32 GetField3() *NidOptNative @@ -16132,11 +17493,11 @@ type NinOptStructFace interface { GetField15() []byte } -func (this *NinOptStruct) Proto() proto.Message { +func (this *NinOptStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptStruct) TestProto() proto.Message { +func (this *NinOptStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptStructFromFace(this) } @@ -16196,7 +17557,7 @@ func NewNinOptStructFromFace(that NinOptStructFace) *NinOptStruct { } type NidRepStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []NidOptNative @@ -16209,11 +17570,11 @@ type NidRepStructFace interface { GetField15() [][]byte } -func (this *NidRepStruct) Proto() proto.Message { +func (this *NidRepStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepStruct) TestProto() proto.Message { +func (this *NidRepStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepStructFromFace(this) } @@ -16273,7 +17634,7 @@ func NewNidRepStructFromFace(that NidRepStructFace) *NidRepStruct { } type NinRepStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []float64 GetField2() []float32 GetField3() []*NidOptNative @@ -16286,11 +17647,11 @@ type NinRepStructFace interface { GetField15() [][]byte } -func (this *NinRepStruct) Proto() proto.Message { +func (this *NinRepStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepStruct) TestProto() proto.Message { +func (this *NinRepStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepStructFromFace(this) } @@ -16350,17 +17711,17 @@ func NewNinRepStructFromFace(that NinRepStructFace) *NinRepStruct { } type NidEmbeddedStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNidOptNative() *NidOptNative GetField200() NidOptNative GetField210() bool } -func (this *NidEmbeddedStruct) Proto() proto.Message { +func (this *NidEmbeddedStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidEmbeddedStruct) TestProto() proto.Message { +func (this *NidEmbeddedStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidEmbeddedStructFromFace(this) } @@ -16385,17 +17746,17 @@ func NewNidEmbeddedStructFromFace(that NidEmbeddedStructFace) *NidEmbeddedStruct } type NinEmbeddedStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNidOptNative() *NidOptNative GetField200() *NidOptNative GetField210() *bool } -func (this *NinEmbeddedStruct) Proto() proto.Message { +func (this *NinEmbeddedStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinEmbeddedStruct) TestProto() proto.Message { +func (this *NinEmbeddedStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinEmbeddedStructFromFace(this) } @@ -16420,16 +17781,16 @@ func NewNinEmbeddedStructFromFace(that NinEmbeddedStructFace) *NinEmbeddedStruct } type NidNestedStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() NidOptStruct GetField2() []NidRepStruct } -func (this *NidNestedStruct) Proto() proto.Message { +func (this *NidNestedStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidNestedStruct) TestProto() proto.Message { +func (this *NidNestedStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidNestedStructFromFace(this) } @@ -16449,16 +17810,16 @@ func NewNidNestedStructFromFace(that NidNestedStructFace) *NidNestedStruct { } type NinNestedStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *NinOptStruct GetField2() []*NinRepStruct } -func (this *NinNestedStruct) Proto() proto.Message { +func (this *NinNestedStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinNestedStruct) TestProto() proto.Message { +func (this *NinNestedStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinNestedStructFromFace(this) } @@ -16478,16 +17839,16 @@ func NewNinNestedStructFromFace(that NinNestedStructFace) *NinNestedStruct { } type NidOptCustomFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetId() Uuid GetValue() github_com_gogo_protobuf_test_custom.Uint128 } -func (this *NidOptCustom) Proto() proto.Message { +func (this *NidOptCustom) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptCustom) TestProto() proto.Message { +func (this *NidOptCustom) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptCustomFromFace(this) } @@ -16507,15 +17868,15 @@ func NewNidOptCustomFromFace(that NidOptCustomFace) *NidOptCustom { } type CustomDashFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetValue() *github_com_gogo_protobuf_test_custom_dash_type.Bytes } -func (this *CustomDash) Proto() proto.Message { +func (this *CustomDash) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomDash) TestProto() proto.Message { +func (this *CustomDash) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomDashFromFace(this) } @@ -16530,16 +17891,16 @@ func NewCustomDashFromFace(that CustomDashFace) *CustomDash { } type NinOptCustomFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetId() *Uuid GetValue() *github_com_gogo_protobuf_test_custom.Uint128 } -func (this *NinOptCustom) Proto() proto.Message { +func (this *NinOptCustom) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptCustom) TestProto() proto.Message { +func (this *NinOptCustom) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptCustomFromFace(this) } @@ -16559,16 +17920,16 @@ func NewNinOptCustomFromFace(that NinOptCustomFace) *NinOptCustom { } type NidRepCustomFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetId() []Uuid GetValue() []github_com_gogo_protobuf_test_custom.Uint128 } -func (this *NidRepCustom) Proto() proto.Message { +func (this *NidRepCustom) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepCustom) TestProto() proto.Message { +func (this *NidRepCustom) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepCustomFromFace(this) } @@ -16588,16 +17949,16 @@ func NewNidRepCustomFromFace(that NidRepCustomFace) *NidRepCustom { } type NinRepCustomFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetId() []Uuid GetValue() []github_com_gogo_protobuf_test_custom.Uint128 } -func (this *NinRepCustom) Proto() proto.Message { +func (this *NinRepCustom) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepCustom) TestProto() proto.Message { +func (this *NinRepCustom) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepCustomFromFace(this) } @@ -16617,7 +17978,7 @@ func NewNinRepCustomFromFace(that NinRepCustomFace) *NinRepCustom { } type NinOptNativeUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *float64 GetField2() *float32 GetField3() *int32 @@ -16629,11 +17990,11 @@ type NinOptNativeUnionFace interface { GetField15() []byte } -func (this *NinOptNativeUnion) Proto() proto.Message { +func (this *NinOptNativeUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptNativeUnion) TestProto() proto.Message { +func (this *NinOptNativeUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptNativeUnionFromFace(this) } @@ -16688,7 +18049,7 @@ func NewNinOptNativeUnionFromFace(that NinOptNativeUnionFace) *NinOptNativeUnion } type NinOptStructUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *float64 GetField2() *float32 GetField3() *NidOptNative @@ -16700,11 +18061,11 @@ type NinOptStructUnionFace interface { GetField15() []byte } -func (this *NinOptStructUnion) Proto() proto.Message { +func (this *NinOptStructUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptStructUnion) TestProto() proto.Message { +func (this *NinOptStructUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptStructUnionFromFace(this) } @@ -16759,17 +18120,17 @@ func NewNinOptStructUnionFromFace(that NinOptStructUnionFace) *NinOptStructUnion } type NinEmbeddedStructUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNidOptNative() *NidOptNative GetField200() *NinOptNative GetField210() *bool } -func (this *NinEmbeddedStructUnion) Proto() proto.Message { +func (this *NinEmbeddedStructUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinEmbeddedStructUnion) TestProto() proto.Message { +func (this *NinEmbeddedStructUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinEmbeddedStructUnionFromFace(this) } @@ -16794,17 +18155,17 @@ func NewNinEmbeddedStructUnionFromFace(that NinEmbeddedStructUnionFace) *NinEmbe } type NinNestedStructUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *NinOptNativeUnion GetField2() *NinOptStructUnion GetField3() *NinEmbeddedStructUnion } -func (this *NinNestedStructUnion) Proto() proto.Message { +func (this *NinNestedStructUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinNestedStructUnion) TestProto() proto.Message { +func (this *NinNestedStructUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinNestedStructUnionFromFace(this) } @@ -16829,17 +18190,17 @@ func NewNinNestedStructUnionFromFace(that NinNestedStructUnionFace) *NinNestedSt } type TreeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetOr() *OrBranch GetAnd() *AndBranch GetLeaf() *Leaf } -func (this *Tree) Proto() proto.Message { +func (this *Tree) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Tree) TestProto() proto.Message { +func (this *Tree) TestProto() github_com_gogo_protobuf_proto.Message { return NewTreeFromFace(this) } @@ -16864,16 +18225,16 @@ func NewTreeFromFace(that TreeFace) *Tree { } type OrBranchFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetLeft() Tree GetRight() Tree } -func (this *OrBranch) Proto() proto.Message { +func (this *OrBranch) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *OrBranch) TestProto() proto.Message { +func (this *OrBranch) TestProto() github_com_gogo_protobuf_proto.Message { return NewOrBranchFromFace(this) } @@ -16893,16 +18254,16 @@ func NewOrBranchFromFace(that OrBranchFace) *OrBranch { } type AndBranchFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetLeft() Tree GetRight() Tree } -func (this *AndBranch) Proto() proto.Message { +func (this *AndBranch) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *AndBranch) TestProto() proto.Message { +func (this *AndBranch) TestProto() github_com_gogo_protobuf_proto.Message { return NewAndBranchFromFace(this) } @@ -16922,16 +18283,16 @@ func NewAndBranchFromFace(that AndBranchFace) *AndBranch { } type LeafFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetValue() int64 GetStrValue() string } -func (this *Leaf) Proto() proto.Message { +func (this *Leaf) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Leaf) TestProto() proto.Message { +func (this *Leaf) TestProto() github_com_gogo_protobuf_proto.Message { return NewLeafFromFace(this) } @@ -16951,17 +18312,17 @@ func NewLeafFromFace(that LeafFace) *Leaf { } type DeepTreeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetDown() *ADeepBranch GetAnd() *AndDeepBranch GetLeaf() *DeepLeaf } -func (this *DeepTree) Proto() proto.Message { +func (this *DeepTree) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *DeepTree) TestProto() proto.Message { +func (this *DeepTree) TestProto() github_com_gogo_protobuf_proto.Message { return NewDeepTreeFromFace(this) } @@ -16986,15 +18347,15 @@ func NewDeepTreeFromFace(that DeepTreeFace) *DeepTree { } type ADeepBranchFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetDown() DeepTree } -func (this *ADeepBranch) Proto() proto.Message { +func (this *ADeepBranch) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *ADeepBranch) TestProto() proto.Message { +func (this *ADeepBranch) TestProto() github_com_gogo_protobuf_proto.Message { return NewADeepBranchFromFace(this) } @@ -17009,16 +18370,16 @@ func NewADeepBranchFromFace(that ADeepBranchFace) *ADeepBranch { } type AndDeepBranchFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetLeft() DeepTree GetRight() DeepTree } -func (this *AndDeepBranch) Proto() proto.Message { +func (this *AndDeepBranch) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *AndDeepBranch) TestProto() proto.Message { +func (this *AndDeepBranch) TestProto() github_com_gogo_protobuf_proto.Message { return NewAndDeepBranchFromFace(this) } @@ -17038,15 +18399,15 @@ func NewAndDeepBranchFromFace(that AndDeepBranchFace) *AndDeepBranch { } type DeepLeafFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetTree() Tree } -func (this *DeepLeaf) Proto() proto.Message { +func (this *DeepLeaf) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *DeepLeaf) TestProto() proto.Message { +func (this *DeepLeaf) TestProto() github_com_gogo_protobuf_proto.Message { return NewDeepLeafFromFace(this) } @@ -17061,14 +18422,14 @@ func NewDeepLeafFromFace(that DeepLeafFace) *DeepLeaf { } type NilFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message } -func (this *Nil) Proto() proto.Message { +func (this *Nil) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Nil) TestProto() proto.Message { +func (this *Nil) TestProto() github_com_gogo_protobuf_proto.Message { return NewNilFromFace(this) } @@ -17078,15 +18439,15 @@ func NewNilFromFace(that NilFace) *Nil { } type NidOptEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() TheTestEnum } -func (this *NidOptEnum) Proto() proto.Message { +func (this *NidOptEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptEnum) TestProto() proto.Message { +func (this *NidOptEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptEnumFromFace(this) } @@ -17101,17 +18462,17 @@ func NewNidOptEnumFromFace(that NidOptEnumFace) *NidOptEnum { } type NinOptEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *TheTestEnum GetField2() *YetAnotherTestEnum GetField3() *YetYetAnotherTestEnum } -func (this *NinOptEnum) Proto() proto.Message { +func (this *NinOptEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptEnum) TestProto() proto.Message { +func (this *NinOptEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptEnumFromFace(this) } @@ -17136,17 +18497,17 @@ func NewNinOptEnumFromFace(that NinOptEnumFace) *NinOptEnum { } type NidRepEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []TheTestEnum GetField2() []YetAnotherTestEnum GetField3() []YetYetAnotherTestEnum } -func (this *NidRepEnum) Proto() proto.Message { +func (this *NidRepEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepEnum) TestProto() proto.Message { +func (this *NidRepEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepEnumFromFace(this) } @@ -17171,17 +18532,17 @@ func NewNidRepEnumFromFace(that NidRepEnumFace) *NidRepEnum { } type NinRepEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []TheTestEnum GetField2() []YetAnotherTestEnum GetField3() []YetYetAnotherTestEnum } -func (this *NinRepEnum) Proto() proto.Message { +func (this *NinRepEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepEnum) TestProto() proto.Message { +func (this *NinRepEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepEnumFromFace(this) } @@ -17206,17 +18567,17 @@ func NewNinRepEnumFromFace(that NinRepEnumFace) *NinRepEnum { } type AnotherNinOptEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *AnotherTestEnum GetField2() *YetAnotherTestEnum GetField3() *YetYetAnotherTestEnum } -func (this *AnotherNinOptEnum) Proto() proto.Message { +func (this *AnotherNinOptEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *AnotherNinOptEnum) TestProto() proto.Message { +func (this *AnotherNinOptEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewAnotherNinOptEnumFromFace(this) } @@ -17241,17 +18602,17 @@ func NewAnotherNinOptEnumFromFace(that AnotherNinOptEnumFace) *AnotherNinOptEnum } type TimerFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetTime1() int64 GetTime2() int64 GetData() []byte } -func (this *Timer) Proto() proto.Message { +func (this *Timer) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Timer) TestProto() proto.Message { +func (this *Timer) TestProto() github_com_gogo_protobuf_proto.Message { return NewTimerFromFace(this) } @@ -17276,18 +18637,18 @@ func NewTimerFromFace(that TimerFace) *Timer { } type NestedDefinitionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *int64 GetEnumField() *NestedDefinition_NestedEnum GetNNM() *NestedDefinition_NestedMessage_NestedNestedMsg GetNM() *NestedDefinition_NestedMessage } -func (this *NestedDefinition) Proto() proto.Message { +func (this *NestedDefinition) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NestedDefinition) TestProto() proto.Message { +func (this *NestedDefinition) TestProto() github_com_gogo_protobuf_proto.Message { return NewNestedDefinitionFromFace(this) } @@ -17317,16 +18678,16 @@ func NewNestedDefinitionFromFace(that NestedDefinitionFace) *NestedDefinition { } type NestedDefinition_NestedMessageFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNestedField1() *uint64 GetNNM() *NestedDefinition_NestedMessage_NestedNestedMsg } -func (this *NestedDefinition_NestedMessage) Proto() proto.Message { +func (this *NestedDefinition_NestedMessage) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NestedDefinition_NestedMessage) TestProto() proto.Message { +func (this *NestedDefinition_NestedMessage) TestProto() github_com_gogo_protobuf_proto.Message { return NewNestedDefinition_NestedMessageFromFace(this) } @@ -17346,15 +18707,15 @@ func NewNestedDefinition_NestedMessageFromFace(that NestedDefinition_NestedMessa } type NestedDefinition_NestedMessage_NestedNestedMsgFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNestedNestedField1() *string } -func (this *NestedDefinition_NestedMessage_NestedNestedMsg) Proto() proto.Message { +func (this *NestedDefinition_NestedMessage_NestedNestedMsg) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NestedDefinition_NestedMessage_NestedNestedMsg) TestProto() proto.Message { +func (this *NestedDefinition_NestedMessage_NestedNestedMsg) TestProto() github_com_gogo_protobuf_proto.Message { return NewNestedDefinition_NestedMessage_NestedNestedMsgFromFace(this) } @@ -17369,17 +18730,17 @@ func NewNestedDefinition_NestedMessage_NestedNestedMsgFromFace(that NestedDefini } type NestedScopeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetA() *NestedDefinition_NestedMessage_NestedNestedMsg GetB() *NestedDefinition_NestedEnum GetC() *NestedDefinition_NestedMessage } -func (this *NestedScope) Proto() proto.Message { +func (this *NestedScope) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NestedScope) TestProto() proto.Message { +func (this *NestedScope) TestProto() github_com_gogo_protobuf_proto.Message { return NewNestedScopeFromFace(this) } @@ -17404,15 +18765,15 @@ func NewNestedScopeFromFace(that NestedScopeFace) *NestedScope { } type CustomContainerFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetCustomStruct() NidOptCustom } -func (this *CustomContainer) Proto() proto.Message { +func (this *CustomContainer) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomContainer) TestProto() proto.Message { +func (this *CustomContainer) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomContainerFromFace(this) } @@ -17427,7 +18788,7 @@ func NewCustomContainerFromFace(that CustomContainerFace) *CustomContainer { } type CustomNameNidOptNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() float64 GetFieldB() float32 GetFieldC() int32 @@ -17445,11 +18806,11 @@ type CustomNameNidOptNativeFace interface { GetFieldO() []byte } -func (this *CustomNameNidOptNative) Proto() proto.Message { +func (this *CustomNameNidOptNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNidOptNative) TestProto() proto.Message { +func (this *CustomNameNidOptNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNidOptNativeFromFace(this) } @@ -17534,7 +18895,7 @@ func NewCustomNameNidOptNativeFromFace(that CustomNameNidOptNativeFace) *CustomN } type CustomNameNinOptNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() *float64 GetFieldB() *float32 GetFieldC() *int32 @@ -17552,11 +18913,11 @@ type CustomNameNinOptNativeFace interface { GetFieldO() []byte } -func (this *CustomNameNinOptNative) Proto() proto.Message { +func (this *CustomNameNinOptNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNinOptNative) TestProto() proto.Message { +func (this *CustomNameNinOptNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNinOptNativeFromFace(this) } @@ -17641,7 +19002,7 @@ func NewCustomNameNinOptNativeFromFace(that CustomNameNinOptNativeFace) *CustomN } type CustomNameNinRepNativeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() []float64 GetFieldB() []float32 GetFieldC() []int32 @@ -17659,11 +19020,11 @@ type CustomNameNinRepNativeFace interface { GetFieldO() [][]byte } -func (this *CustomNameNinRepNative) Proto() proto.Message { +func (this *CustomNameNinRepNative) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNinRepNative) TestProto() proto.Message { +func (this *CustomNameNinRepNative) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNinRepNativeFromFace(this) } @@ -17748,7 +19109,7 @@ func NewCustomNameNinRepNativeFromFace(that CustomNameNinRepNativeFace) *CustomN } type CustomNameNinStructFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() *float64 GetFieldB() *float32 GetFieldC() *NidOptNative @@ -17761,11 +19122,11 @@ type CustomNameNinStructFace interface { GetFieldJ() []byte } -func (this *CustomNameNinStruct) Proto() proto.Message { +func (this *CustomNameNinStruct) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNinStruct) TestProto() proto.Message { +func (this *CustomNameNinStruct) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNinStructFromFace(this) } @@ -17825,18 +19186,18 @@ func NewCustomNameNinStructFromFace(that CustomNameNinStructFace) *CustomNameNin } type CustomNameCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() *Uuid GetFieldB() *github_com_gogo_protobuf_test_custom.Uint128 GetFieldC() []Uuid GetFieldD() []github_com_gogo_protobuf_test_custom.Uint128 } -func (this *CustomNameCustomType) Proto() proto.Message { +func (this *CustomNameCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameCustomType) TestProto() proto.Message { +func (this *CustomNameCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameCustomTypeFromFace(this) } @@ -17866,17 +19227,17 @@ func NewCustomNameCustomTypeFromFace(that CustomNameCustomTypeFace) *CustomNameC } type CustomNameNinEmbeddedStructUnionFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetNidOptNative() *NidOptNative GetFieldA() *NinOptNative GetFieldB() *bool } -func (this *CustomNameNinEmbeddedStructUnion) Proto() proto.Message { +func (this *CustomNameNinEmbeddedStructUnion) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameNinEmbeddedStructUnion) TestProto() proto.Message { +func (this *CustomNameNinEmbeddedStructUnion) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameNinEmbeddedStructUnionFromFace(this) } @@ -17901,16 +19262,16 @@ func NewCustomNameNinEmbeddedStructUnionFromFace(that CustomNameNinEmbeddedStruc } type CustomNameEnumFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetFieldA() *TheTestEnum GetFieldB() []TheTestEnum } -func (this *CustomNameEnum) Proto() proto.Message { +func (this *CustomNameEnum) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *CustomNameEnum) TestProto() proto.Message { +func (this *CustomNameEnum) TestProto() github_com_gogo_protobuf_proto.Message { return NewCustomNameEnumFromFace(this) } @@ -17930,15 +19291,15 @@ func NewCustomNameEnumFromFace(that CustomNameEnumFace) *CustomNameEnum { } type UnrecognizedFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *string } -func (this *Unrecognized) Proto() proto.Message { +func (this *Unrecognized) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Unrecognized) TestProto() proto.Message { +func (this *Unrecognized) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedFromFace(this) } @@ -17953,16 +19314,16 @@ func NewUnrecognizedFromFace(that UnrecognizedFace) *Unrecognized { } type UnrecognizedWithInnerFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetEmbedded() []*UnrecognizedWithInner_Inner GetField2() *string } -func (this *UnrecognizedWithInner) Proto() proto.Message { +func (this *UnrecognizedWithInner) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *UnrecognizedWithInner) TestProto() proto.Message { +func (this *UnrecognizedWithInner) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedWithInnerFromFace(this) } @@ -17982,15 +19343,15 @@ func NewUnrecognizedWithInnerFromFace(that UnrecognizedWithInnerFace) *Unrecogni } type UnrecognizedWithInner_InnerFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *uint32 } -func (this *UnrecognizedWithInner_Inner) Proto() proto.Message { +func (this *UnrecognizedWithInner_Inner) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *UnrecognizedWithInner_Inner) TestProto() proto.Message { +func (this *UnrecognizedWithInner_Inner) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedWithInner_InnerFromFace(this) } @@ -18005,16 +19366,16 @@ func NewUnrecognizedWithInner_InnerFromFace(that UnrecognizedWithInner_InnerFace } type UnrecognizedWithEmbedFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetUnrecognizedWithEmbed_Embedded() UnrecognizedWithEmbed_Embedded GetField2() *string } -func (this *UnrecognizedWithEmbed) Proto() proto.Message { +func (this *UnrecognizedWithEmbed) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *UnrecognizedWithEmbed) TestProto() proto.Message { +func (this *UnrecognizedWithEmbed) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedWithEmbedFromFace(this) } @@ -18034,15 +19395,15 @@ func NewUnrecognizedWithEmbedFromFace(that UnrecognizedWithEmbedFace) *Unrecogni } type UnrecognizedWithEmbed_EmbeddedFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *uint32 } -func (this *UnrecognizedWithEmbed_Embedded) Proto() proto.Message { +func (this *UnrecognizedWithEmbed_Embedded) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *UnrecognizedWithEmbed_Embedded) TestProto() proto.Message { +func (this *UnrecognizedWithEmbed_Embedded) TestProto() github_com_gogo_protobuf_proto.Message { return NewUnrecognizedWithEmbed_EmbeddedFromFace(this) } @@ -18057,16 +19418,16 @@ func NewUnrecognizedWithEmbed_EmbeddedFromFace(that UnrecognizedWithEmbed_Embedd } type NodeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetLabel() *string GetChildren() []*Node } -func (this *Node) Proto() proto.Message { +func (this *Node) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *Node) TestProto() proto.Message { +func (this *Node) TestProto() github_com_gogo_protobuf_proto.Message { return NewNodeFromFace(this) } @@ -18086,15 +19447,15 @@ func NewNodeFromFace(that NodeFace) *Node { } type NonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *T } -func (this *NonByteCustomType) Proto() proto.Message { +func (this *NonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NonByteCustomType) TestProto() proto.Message { +func (this *NonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNonByteCustomTypeFromFace(this) } @@ -18109,15 +19470,15 @@ func NewNonByteCustomTypeFromFace(that NonByteCustomTypeFace) *NonByteCustomType } type NidOptNonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() T } -func (this *NidOptNonByteCustomType) Proto() proto.Message { +func (this *NidOptNonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidOptNonByteCustomType) TestProto() proto.Message { +func (this *NidOptNonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidOptNonByteCustomTypeFromFace(this) } @@ -18132,15 +19493,15 @@ func NewNidOptNonByteCustomTypeFromFace(that NidOptNonByteCustomTypeFace) *NidOp } type NinOptNonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() *T } -func (this *NinOptNonByteCustomType) Proto() proto.Message { +func (this *NinOptNonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinOptNonByteCustomType) TestProto() proto.Message { +func (this *NinOptNonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinOptNonByteCustomTypeFromFace(this) } @@ -18155,15 +19516,15 @@ func NewNinOptNonByteCustomTypeFromFace(that NinOptNonByteCustomTypeFace) *NinOp } type NidRepNonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []T } -func (this *NidRepNonByteCustomType) Proto() proto.Message { +func (this *NidRepNonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NidRepNonByteCustomType) TestProto() proto.Message { +func (this *NidRepNonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNidRepNonByteCustomTypeFromFace(this) } @@ -18178,15 +19539,15 @@ func NewNidRepNonByteCustomTypeFromFace(that NidRepNonByteCustomTypeFace) *NidRe } type NinRepNonByteCustomTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField1() []T } -func (this *NinRepNonByteCustomType) Proto() proto.Message { +func (this *NinRepNonByteCustomType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *NinRepNonByteCustomType) TestProto() proto.Message { +func (this *NinRepNonByteCustomType) TestProto() github_com_gogo_protobuf_proto.Message { return NewNinRepNonByteCustomTypeFromFace(this) } @@ -18201,15 +19562,15 @@ func NewNinRepNonByteCustomTypeFromFace(that NinRepNonByteCustomTypeFace) *NinRe } type ProtoTypeFace interface { - Proto() proto.Message + Proto() github_com_gogo_protobuf_proto.Message GetField2() *string } -func (this *ProtoType) Proto() proto.Message { +func (this *ProtoType) Proto() github_com_gogo_protobuf_proto.Message { return this } -func (this *ProtoType) TestProto() proto.Message { +func (this *ProtoType) TestProto() github_com_gogo_protobuf_proto.Message { return NewProtoTypeFromFace(this) } @@ -19886,8 +21247,8 @@ func valueToGoStringThetest(v interface{}, typ string) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv) } -func extensionToGoStringThetest(m proto.Message) string { - e := proto.GetUnsafeExtensionsMap(m) +func extensionToGoStringThetest(m github_com_gogo_protobuf_proto.Message) string { + e := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(m) if e == nil { return "nil" } @@ -21422,7 +22783,7 @@ func NewPopulatedMyExtendable(r randyThetest, easy bool) *MyExtendable { wire = 5 } dAtA := randFieldThetest(nil, r, fieldNumber, wire) - proto.SetRawExtension(this, int32(fieldNumber), dAtA) + github_com_gogo_protobuf_proto.SetRawExtension(this, int32(fieldNumber), dAtA) } } if !easy && r.Intn(10) != 0 { @@ -21466,7 +22827,7 @@ func NewPopulatedOtherExtenable(r randyThetest, easy bool) *OtherExtenable { wire = 5 } dAtA := randFieldThetest(nil, r, fieldNumber, wire) - proto.SetRawExtension(this, int32(fieldNumber), dAtA) + github_com_gogo_protobuf_proto.SetRawExtension(this, int32(fieldNumber), dAtA) } } if !easy && r.Intn(10) != 0 { @@ -22080,7 +23441,7 @@ func NewPopulatedNoExtensionsMap(r randyThetest, easy bool) *NoExtensionsMap { wire = 5 } dAtA := randFieldThetest(nil, r, fieldNumber, wire) - proto.SetRawExtension(this, int32(fieldNumber), dAtA) + github_com_gogo_protobuf_proto.SetRawExtension(this, int32(fieldNumber), dAtA) } } if !easy && r.Intn(10) != 0 { @@ -22323,6 +23684,9 @@ func encodeVarintPopulateThetest(dAtA []byte, v uint64) []byte { return dAtA } func (m *NidOptNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 @@ -22351,6 +23715,9 @@ func (m *NidOptNative) Size() (n int) { } func (m *NinOptNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -22407,6 +23774,9 @@ func (m *NinOptNative) Size() (n int) { } func (m *NidRepNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -22479,6 +23849,9 @@ func (m *NidRepNative) Size() (n int) { } func (m *NinRepNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -22551,6 +23924,9 @@ func (m *NinRepNative) Size() (n int) { } func (m *NidRepPackedNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -22623,6 +23999,9 @@ func (m *NidRepPackedNative) Size() (n int) { } func (m *NinRepPackedNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -22695,6 +24074,9 @@ func (m *NinRepPackedNative) Size() (n int) { } func (m *NidOptStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 @@ -22721,6 +24103,9 @@ func (m *NidOptStruct) Size() (n int) { } func (m *NinOptStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -22765,6 +24150,9 @@ func (m *NinOptStruct) Size() (n int) { } func (m *NidRepStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -22823,6 +24211,9 @@ func (m *NidRepStruct) Size() (n int) { } func (m *NinRepStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -22881,6 +24272,9 @@ func (m *NinRepStruct) Size() (n int) { } func (m *NidEmbeddedStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NidOptNative != nil { @@ -22897,6 +24291,9 @@ func (m *NidEmbeddedStruct) Size() (n int) { } func (m *NinEmbeddedStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NidOptNative != nil { @@ -22917,6 +24314,9 @@ func (m *NinEmbeddedStruct) Size() (n int) { } func (m *NidNestedStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Field1.Size() @@ -22934,6 +24334,9 @@ func (m *NidNestedStruct) Size() (n int) { } func (m *NinNestedStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -22953,6 +24356,9 @@ func (m *NinNestedStruct) Size() (n int) { } func (m *NidOptCustom) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Id.Size() @@ -22966,6 +24372,9 @@ func (m *NidOptCustom) Size() (n int) { } func (m *CustomDash) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != nil { @@ -22979,6 +24388,9 @@ func (m *CustomDash) Size() (n int) { } func (m *NinOptCustom) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Id != nil { @@ -22996,6 +24408,9 @@ func (m *NinOptCustom) Size() (n int) { } func (m *NidRepCustom) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Id) > 0 { @@ -23017,6 +24432,9 @@ func (m *NidRepCustom) Size() (n int) { } func (m *NinRepCustom) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Id) > 0 { @@ -23038,6 +24456,9 @@ func (m *NinRepCustom) Size() (n int) { } func (m *NinOptNativeUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23076,6 +24497,9 @@ func (m *NinOptNativeUnion) Size() (n int) { } func (m *NinOptStructUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23116,6 +24540,9 @@ func (m *NinOptStructUnion) Size() (n int) { } func (m *NinEmbeddedStructUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NidOptNative != nil { @@ -23136,6 +24563,9 @@ func (m *NinEmbeddedStructUnion) Size() (n int) { } func (m *NinNestedStructUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23157,6 +24587,9 @@ func (m *NinNestedStructUnion) Size() (n int) { } func (m *Tree) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Or != nil { @@ -23178,6 +24611,9 @@ func (m *Tree) Size() (n int) { } func (m *OrBranch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Left.Size() @@ -23191,6 +24627,9 @@ func (m *OrBranch) Size() (n int) { } func (m *AndBranch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Left.Size() @@ -23204,6 +24643,9 @@ func (m *AndBranch) Size() (n int) { } func (m *Leaf) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovThetest(uint64(m.Value)) @@ -23216,6 +24658,9 @@ func (m *Leaf) Size() (n int) { } func (m *DeepTree) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Down != nil { @@ -23237,6 +24682,9 @@ func (m *DeepTree) Size() (n int) { } func (m *ADeepBranch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Down.Size() @@ -23248,6 +24696,9 @@ func (m *ADeepBranch) Size() (n int) { } func (m *AndDeepBranch) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Left.Size() @@ -23261,6 +24712,9 @@ func (m *AndDeepBranch) Size() (n int) { } func (m *DeepLeaf) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Tree.Size() @@ -23272,6 +24726,9 @@ func (m *DeepLeaf) Size() (n int) { } func (m *Nil) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.XXX_unrecognized != nil { @@ -23281,6 +24738,9 @@ func (m *Nil) Size() (n int) { } func (m *NidOptEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovThetest(uint64(m.Field1)) @@ -23291,6 +24751,9 @@ func (m *NidOptEnum) Size() (n int) { } func (m *NinOptEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23309,6 +24772,9 @@ func (m *NinOptEnum) Size() (n int) { } func (m *NidRepEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -23333,6 +24799,9 @@ func (m *NidRepEnum) Size() (n int) { } func (m *NinRepEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -23357,6 +24826,9 @@ func (m *NinRepEnum) Size() (n int) { } func (m *NinOptEnumDefault) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23375,6 +24847,9 @@ func (m *NinOptEnumDefault) Size() (n int) { } func (m *AnotherNinOptEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23393,6 +24868,9 @@ func (m *AnotherNinOptEnum) Size() (n int) { } func (m *AnotherNinOptEnumDefault) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23411,6 +24889,9 @@ func (m *AnotherNinOptEnumDefault) Size() (n int) { } func (m *Timer) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 @@ -23426,12 +24907,15 @@ func (m *Timer) Size() (n int) { } func (m *MyExtendable) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { n += 1 + sovThetest(uint64(*m.Field1)) } - n += proto.SizeOfInternalExtension(m) + n += github_com_gogo_protobuf_proto.SizeOfInternalExtension(m) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -23439,6 +24923,9 @@ func (m *MyExtendable) Size() (n int) { } func (m *OtherExtenable) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field2 != nil { @@ -23451,7 +24938,7 @@ func (m *OtherExtenable) Size() (n int) { l = m.M.Size() n += 1 + l + sovThetest(uint64(l)) } - n += proto.SizeOfInternalExtension(m) + n += github_com_gogo_protobuf_proto.SizeOfInternalExtension(m) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -23459,6 +24946,9 @@ func (m *OtherExtenable) Size() (n int) { } func (m *NestedDefinition) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23482,6 +24972,9 @@ func (m *NestedDefinition) Size() (n int) { } func (m *NestedDefinition_NestedMessage) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NestedField1 != nil { @@ -23498,6 +24991,9 @@ func (m *NestedDefinition_NestedMessage) Size() (n int) { } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NestedNestedField1 != nil { @@ -23511,6 +25007,9 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Size() (n int) { } func (m *NestedScope) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.A != nil { @@ -23531,6 +25030,9 @@ func (m *NestedScope) Size() (n int) { } func (m *NinOptNativeDefault) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23587,6 +25089,9 @@ func (m *NinOptNativeDefault) Size() (n int) { } func (m *CustomContainer) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.CustomStruct.Size() @@ -23598,6 +25103,9 @@ func (m *CustomContainer) Size() (n int) { } func (m *CustomNameNidOptNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 @@ -23626,6 +25134,9 @@ func (m *CustomNameNidOptNative) Size() (n int) { } func (m *CustomNameNinOptNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FieldA != nil { @@ -23682,6 +25193,9 @@ func (m *CustomNameNinOptNative) Size() (n int) { } func (m *CustomNameNinRepNative) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.FieldA) > 0 { @@ -23754,6 +25268,9 @@ func (m *CustomNameNinRepNative) Size() (n int) { } func (m *CustomNameNinStruct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FieldA != nil { @@ -23800,6 +25317,9 @@ func (m *CustomNameNinStruct) Size() (n int) { } func (m *CustomNameCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FieldA != nil { @@ -23829,6 +25349,9 @@ func (m *CustomNameCustomType) Size() (n int) { } func (m *CustomNameNinEmbeddedStructUnion) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.NidOptNative != nil { @@ -23849,6 +25372,9 @@ func (m *CustomNameNinEmbeddedStructUnion) Size() (n int) { } func (m *CustomNameEnum) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.FieldA != nil { @@ -23866,6 +25392,9 @@ func (m *CustomNameEnum) Size() (n int) { } func (m *NoExtensionsMap) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23881,6 +25410,9 @@ func (m *NoExtensionsMap) Size() (n int) { } func (m *Unrecognized) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23891,6 +25423,9 @@ func (m *Unrecognized) Size() (n int) { } func (m *UnrecognizedWithInner) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Embedded) > 0 { @@ -23910,6 +25445,9 @@ func (m *UnrecognizedWithInner) Size() (n int) { } func (m *UnrecognizedWithInner_Inner) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23919,6 +25457,9 @@ func (m *UnrecognizedWithInner_Inner) Size() (n int) { } func (m *UnrecognizedWithEmbed) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.UnrecognizedWithEmbed_Embedded.Size() @@ -23934,6 +25475,9 @@ func (m *UnrecognizedWithEmbed) Size() (n int) { } func (m *UnrecognizedWithEmbed_Embedded) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23943,6 +25487,9 @@ func (m *UnrecognizedWithEmbed_Embedded) Size() (n int) { } func (m *Node) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Label != nil { @@ -23962,6 +25509,9 @@ func (m *Node) Size() (n int) { } func (m *NonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23975,6 +25525,9 @@ func (m *NonByteCustomType) Size() (n int) { } func (m *NidOptNonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = m.Field1.Size() @@ -23986,6 +25539,9 @@ func (m *NidOptNonByteCustomType) Size() (n int) { } func (m *NinOptNonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field1 != nil { @@ -23999,6 +25555,9 @@ func (m *NinOptNonByteCustomType) Size() (n int) { } func (m *NidRepNonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -24014,6 +25573,9 @@ func (m *NidRepNonByteCustomType) Size() (n int) { } func (m *NinRepNonByteCustomType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Field1) > 0 { @@ -24029,6 +25591,9 @@ func (m *NinRepNonByteCustomType) Size() (n int) { } func (m *ProtoType) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Field2 != nil { @@ -24667,7 +26232,7 @@ func (this *MyExtendable) String() string { } s := strings.Join([]string{`&MyExtendable{`, `Field1:` + valueToStringThetest(this.Field1) + `,`, - `XXX_InternalExtensions:` + proto.StringFromInternalExtension(this) + `,`, + `XXX_InternalExtensions:` + github_com_gogo_protobuf_proto.StringFromInternalExtension(this) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") @@ -24681,7 +26246,7 @@ func (this *OtherExtenable) String() string { `Field2:` + valueToStringThetest(this.Field2) + `,`, `Field13:` + valueToStringThetest(this.Field13) + `,`, `M:` + strings.Replace(fmt.Sprintf("%v", this.M), "MyExtendable", "MyExtendable", 1) + `,`, - `XXX_InternalExtensions:` + proto.StringFromInternalExtension(this) + `,`, + `XXX_InternalExtensions:` + github_com_gogo_protobuf_proto.StringFromInternalExtension(this) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") @@ -24913,7 +26478,7 @@ func (this *NoExtensionsMap) String() string { } s := strings.Join([]string{`&NoExtensionsMap{`, `Field1:` + valueToStringThetest(this.Field1) + `,`, - `XXX_extensions:` + proto.StringFromExtensionsBytes(this.XXX_extensions) + `,`, + `XXX_extensions:` + github_com_gogo_protobuf_proto.StringFromExtensionsBytes(this.XXX_extensions) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") @@ -25317,9 +26882,9 @@ func (this *CustomNameNinEmbeddedStructUnion) SetValue(value interface{}) bool { return true } -func init() { proto.RegisterFile("thetest.proto", fileDescriptorThetest) } +func init() { proto.RegisterFile("thetest.proto", fileDescriptor_thetest_14aea7c379120fb7) } -var fileDescriptorThetest = []byte{ +var fileDescriptor_thetest_14aea7c379120fb7 = []byte{ // 3070 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4d, 0x6c, 0x1b, 0xc7, 0xf5, 0xe7, 0xec, 0x50, 0x0a, 0xf5, 0xf4, 0x45, 0x6f, 0x62, 0x65, 0xc1, 0xe8, 0xbf, 0xa2, 0x37, diff --git a/vendor/github.com/gogo/protobuf/test/uuid.go b/vendor/github.com/gogo/protobuf/test/uuid.go index ae349da4a..e5ac29760 100644 --- a/vendor/github.com/gogo/protobuf/test/uuid.go +++ b/vendor/github.com/gogo/protobuf/test/uuid.go @@ -47,6 +47,10 @@ func PutLittleEndianUint64(b []byte, offset int, v uint64) { type Uuid []byte +func (uuid Uuid) Bytes() []byte { + return uuid +} + func (uuid Uuid) Marshal() ([]byte, error) { if len(uuid) == 0 { return nil, nil diff --git a/vendor/github.com/gogo/protobuf/types/Makefile b/vendor/github.com/gogo/protobuf/types/Makefile deleted file mode 100644 index c326d2578..000000000 --- a/vendor/github.com/gogo/protobuf/types/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# Protocol Buffers for Go with Gadgets -# -# Copyright (c) 2016, The GoGo Authors. All rights reserved. -# http://github.com/gogo/protobuf -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -regenerate: - go install github.com/gogo/protobuf/protoc-gen-gogotypes - go install github.com/gogo/protobuf/protoc-min-version - - protoc-min-version --version="3.0.0" --gogotypes_out=. -I=../protobuf/google/protobuf ../protobuf/google/protobuf/any.proto - protoc-min-version --version="3.0.0" --gogotypes_out=. -I=../protobuf/google/protobuf ../protobuf/google/protobuf/empty.proto - protoc-min-version --version="3.0.0" --gogotypes_out=. -I=../protobuf/google/protobuf ../protobuf/google/protobuf/timestamp.proto - protoc-min-version --version="3.0.0" --gogotypes_out=. -I=../protobuf/google/protobuf ../protobuf/google/protobuf/duration.proto - protoc-min-version --version="3.0.0" --gogotypes_out=. -I=../protobuf/google/protobuf ../protobuf/google/protobuf/struct.proto - protoc-min-version --version="3.0.0" --gogotypes_out=. -I=../protobuf/google/protobuf ../protobuf/google/protobuf/wrappers.proto - protoc-min-version --version="3.0.0" --gogotypes_out=. -I=../protobuf/google/protobuf ../protobuf/google/protobuf/field_mask.proto diff --git a/vendor/github.com/gogo/protobuf/types/any.go b/vendor/github.com/gogo/protobuf/types/any.go index d83c3ad00..df4787de3 100644 --- a/vendor/github.com/gogo/protobuf/types/any.go +++ b/vendor/github.com/gogo/protobuf/types/any.go @@ -129,10 +129,12 @@ func UnmarshalAny(any *Any, pb proto.Message) error { // Is returns true if any value contains a given message type. func Is(any *Any, pb proto.Message) bool { - aname, err := AnyMessageName(any) - if err != nil { + // The following is equivalent to AnyMessageName(any) == proto.MessageName(pb), + // but it avoids scanning TypeUrl for the slash. + if any == nil { return false } - - return aname == proto.MessageName(pb) + name := proto.MessageName(pb) + prefix := len(any.TypeUrl) - len(name) + return prefix >= 1 && any.TypeUrl[prefix-1] == '/' && any.TypeUrl[prefix:] == name } diff --git a/vendor/github.com/gogo/protobuf/types/any.pb.go b/vendor/github.com/gogo/protobuf/types/any.pb.go index 4b5f5705a..cb774dbce 100644 --- a/vendor/github.com/gogo/protobuf/types/any.pb.go +++ b/vendor/github.com/gogo/protobuf/types/any.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: any.proto +// source: google/protobuf/any.proto -/* - Package types is a generated protocol buffer package. - - It is generated from these files: - any.proto - - It has these top-level messages: - Any -*/ package types import proto "github.com/gogo/protobuf/proto" @@ -115,17 +106,18 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // } // type Any struct { - // A URL/resource name whose content describes the type of the - // serialized protocol buffer message. + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). // - // For URLs which use the scheme `http`, `https`, or no scheme, the - // following restrictions and interpretations apply: + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: // // * If no scheme is provided, `https` is assumed. - // * The last segment of the URL's path must represent the fully - // qualified name of the type (as in `path/google.protobuf.Duration`). - // The name should be in a canonical form (e.g., leading "." is - // not accepted). // * An HTTP GET on the URL must yield a [google.protobuf.Type][] // value in binary format, or produce an error. // * Applications are allowed to cache lookup results based on the @@ -134,18 +126,53 @@ type Any struct { // on changes to types. (Use versioned type names to manage // breaking changes.) // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. + // // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. // TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` // Must be a valid serialized protocol buffer of the above specified type. - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Any) Reset() { *m = Any{} } -func (*Any) ProtoMessage() {} -func (*Any) Descriptor() ([]byte, []int) { return fileDescriptorAny, []int{0} } -func (*Any) XXX_WellKnownType() string { return "Any" } +func (m *Any) Reset() { *m = Any{} } +func (*Any) ProtoMessage() {} +func (*Any) Descriptor() ([]byte, []int) { + return fileDescriptor_any_f098d1a3c592d16a, []int{0} +} +func (*Any) XXX_WellKnownType() string { return "Any" } +func (m *Any) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Any) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Any.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 (dst *Any) XXX_Merge(src proto.Message) { + xxx_messageInfo_Any.Merge(dst, src) +} +func (m *Any) XXX_Size() int { + return m.Size() +} +func (m *Any) XXX_DiscardUnknown() { + xxx_messageInfo_Any.DiscardUnknown(m) +} + +var xxx_messageInfo_Any proto.InternalMessageInfo func (m *Any) GetTypeUrl() string { if m != nil { @@ -161,6 +188,9 @@ func (m *Any) GetValue() []byte { return nil } +func (*Any) XXX_MessageName() string { + return "google.protobuf.Any" +} func init() { proto.RegisterType((*Any)(nil), "google.protobuf.Any") } @@ -198,6 +228,9 @@ func (this *Any) Compare(that interface{}) int { if c := bytes.Compare(this.Value, that1.Value); c != 0 { return c } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *Any) Equal(that interface{}) bool { @@ -225,6 +258,9 @@ func (this *Any) Equal(that interface{}) bool { if !bytes.Equal(this.Value, that1.Value) { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Any) GoString() string { @@ -235,6 +271,9 @@ func (this *Any) GoString() string { s = append(s, "&types.Any{") s = append(s, "TypeUrl: "+fmt.Sprintf("%#v", this.TypeUrl)+",\n") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -273,6 +312,9 @@ func (m *Any) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintAny(dAtA, i, uint64(len(m.Value))) i += copy(dAtA[i:], m.Value) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -294,6 +336,7 @@ func NewPopulatedAny(r randyAny, easy bool) *Any { this.Value[i] = byte(r.Intn(256)) } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedAny(r, 3) } return this } @@ -371,6 +414,9 @@ func encodeVarintPopulateAny(dAtA []byte, v uint64) []byte { return dAtA } func (m *Any) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.TypeUrl) @@ -381,6 +427,9 @@ func (m *Any) Size() (n int) { if l > 0 { n += 1 + l + sovAny(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -404,6 +453,7 @@ func (this *Any) String() string { s := strings.Join([]string{`&Any{`, `TypeUrl:` + fmt.Sprintf("%v", this.TypeUrl) + `,`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -517,6 +567,7 @@ func (m *Any) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -631,21 +682,22 @@ var ( ErrIntOverflowAny = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("any.proto", fileDescriptorAny) } +func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_any_f098d1a3c592d16a) } -var fileDescriptorAny = []byte{ - // 204 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4c, 0xcc, 0xab, 0xd4, - 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x4f, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0x85, 0xf0, 0x92, - 0x4a, 0xd3, 0x94, 0xcc, 0xb8, 0x98, 0x1d, 0xf3, 0x2a, 0x85, 0x24, 0xb9, 0x38, 0x4a, 0x2a, 0x0b, - 0x52, 0xe3, 0x4b, 0x8b, 0x72, 0x24, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, 0xd8, 0x41, 0xfc, 0xd0, - 0xa2, 0x1c, 0x21, 0x11, 0x2e, 0xd6, 0xb2, 0xc4, 0x9c, 0xd2, 0x54, 0x09, 0x26, 0x05, 0x46, 0x0d, - 0x9e, 0x20, 0x08, 0xc7, 0xa9, 0xfe, 0xc2, 0x43, 0x39, 0x86, 0x1b, 0x0f, 0xe5, 0x18, 0x3e, 0x3c, - 0x94, 0x63, 0xfc, 0xf1, 0x50, 0x8e, 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x27, - 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8b, 0x47, 0x72, 0x0c, - 0x1f, 0x40, 0xe2, 0x8f, 0xe5, 0x18, 0xb9, 0x84, 0x93, 0xf3, 0x73, 0xf5, 0xd0, 0xac, 0x77, 0xe2, - 0x70, 0xcc, 0xab, 0x0c, 0x00, 0x71, 0x02, 0x18, 0xa3, 0x58, 0x41, 0x36, 0x16, 0x2f, 0x62, 0x62, - 0x76, 0x0f, 0x70, 0x5a, 0xc5, 0x24, 0xe7, 0x0e, 0x51, 0x1a, 0x00, 0x55, 0xaa, 0x17, 0x9e, 0x9a, - 0x93, 0xe3, 0x9d, 0x97, 0x5f, 0x9e, 0x17, 0x02, 0x52, 0x96, 0xc4, 0x06, 0x36, 0xc3, 0x18, 0x10, - 0x00, 0x00, 0xff, 0xff, 0xb7, 0x39, 0x2f, 0x89, 0xdd, 0x00, 0x00, 0x00, +var fileDescriptor_any_f098d1a3c592d16a = []byte{ + // 211 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4, + 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a, + 0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46, + 0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7, + 0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xaa, 0xbf, 0xf1, 0x50, 0x8e, + 0xe1, 0xc3, 0x43, 0x39, 0xc6, 0x1f, 0x0f, 0xe5, 0x18, 0x1b, 0x1e, 0xc9, 0x31, 0xae, 0x78, 0x24, + 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, + 0x24, 0xc7, 0xf0, 0x01, 0x24, 0xfe, 0x58, 0x8e, 0xf1, 0xc4, 0x63, 0x39, 0x46, 0x2e, 0xe1, 0xe4, + 0xfc, 0x5c, 0x3d, 0x34, 0xeb, 0x9d, 0x38, 0x1c, 0xf3, 0x2a, 0x03, 0x40, 0x9c, 0x00, 0xc6, 0x28, + 0x56, 0x90, 0x8d, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x94, + 0x06, 0x40, 0x95, 0xea, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, 0x94, + 0x25, 0xb1, 0x81, 0xcd, 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb7, 0x81, 0x82, 0xd3, 0xed, + 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/types/api.pb.go b/vendor/github.com/gogo/protobuf/types/api.pb.go new file mode 100644 index 000000000..420fa55e6 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/types/api.pb.go @@ -0,0 +1,2067 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: google/protobuf/api.proto + +package types + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import bytes "bytes" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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 + +// Api is a light-weight descriptor for an API Interface. +// +// Interfaces are also described as "protocol buffer services" in some contexts, +// such as by the "service" keyword in a .proto file, but they are different +// from API Services, which represent a concrete implementation of an interface +// as opposed to simply a description of methods and bindings. They are also +// sometimes simply referred to as "APIs" in other contexts, such as the name of +// this message itself. See https://cloud.google.com/apis/design/glossary for +// detailed terminology. +type Api struct { + // The fully qualified name of this interface, including package name + // followed by the interface's simple name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The methods of this interface, in unspecified order. + Methods []*Method `protobuf:"bytes,2,rep,name=methods,proto3" json:"methods,omitempty"` + // Any metadata attached to the interface. + Options []*Option `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + // A version string for this interface. If specified, must have the form + // `major-version.minor-version`, as in `1.10`. If the minor version is + // omitted, it defaults to zero. If the entire version field is empty, the + // major version is derived from the package name, as outlined below. If the + // field is not empty, the version in the package name will be verified to be + // consistent with what is provided here. + // + // The versioning schema uses [semantic + // versioning](http://semver.org) where the major version number + // indicates a breaking change and the minor version an additive, + // non-breaking change. Both version numbers are signals to users + // what to expect from different versions, and should be carefully + // chosen based on the product plan. + // + // The major version is also reflected in the package name of the + // interface, which must end in `v`, as in + // `google.feature.v1`. For major versions 0 and 1, the suffix can + // be omitted. Zero major versions must only be used for + // experimental, non-GA interfaces. + // + // + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + // Source context for the protocol buffer service represented by this + // message. + SourceContext *SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"` + // Included interfaces. See [Mixin][]. + Mixins []*Mixin `protobuf:"bytes,6,rep,name=mixins,proto3" json:"mixins,omitempty"` + // The source syntax of the service. + Syntax Syntax `protobuf:"varint,7,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Api) Reset() { *m = Api{} } +func (*Api) ProtoMessage() {} +func (*Api) Descriptor() ([]byte, []int) { + return fileDescriptor_api_a4406062c749da1f, []int{0} +} +func (m *Api) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Api) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Api.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 (dst *Api) XXX_Merge(src proto.Message) { + xxx_messageInfo_Api.Merge(dst, src) +} +func (m *Api) XXX_Size() int { + return m.Size() +} +func (m *Api) XXX_DiscardUnknown() { + xxx_messageInfo_Api.DiscardUnknown(m) +} + +var xxx_messageInfo_Api proto.InternalMessageInfo + +func (m *Api) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Api) GetMethods() []*Method { + if m != nil { + return m.Methods + } + return nil +} + +func (m *Api) GetOptions() []*Option { + if m != nil { + return m.Options + } + return nil +} + +func (m *Api) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *Api) GetSourceContext() *SourceContext { + if m != nil { + return m.SourceContext + } + return nil +} + +func (m *Api) GetMixins() []*Mixin { + if m != nil { + return m.Mixins + } + return nil +} + +func (m *Api) GetSyntax() Syntax { + if m != nil { + return m.Syntax + } + return Syntax_SYNTAX_PROTO2 +} + +func (*Api) XXX_MessageName() string { + return "google.protobuf.Api" +} + +// Method represents a method of an API interface. +type Method struct { + // The simple name of this method. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // A URL of the input message type. + RequestTypeUrl string `protobuf:"bytes,2,opt,name=request_type_url,json=requestTypeUrl,proto3" json:"request_type_url,omitempty"` + // If true, the request is streamed. + RequestStreaming bool `protobuf:"varint,3,opt,name=request_streaming,json=requestStreaming,proto3" json:"request_streaming,omitempty"` + // The URL of the output message type. + ResponseTypeUrl string `protobuf:"bytes,4,opt,name=response_type_url,json=responseTypeUrl,proto3" json:"response_type_url,omitempty"` + // If true, the response is streamed. + ResponseStreaming bool `protobuf:"varint,5,opt,name=response_streaming,json=responseStreaming,proto3" json:"response_streaming,omitempty"` + // Any metadata attached to the method. + Options []*Option `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` + // The source syntax of this method. + Syntax Syntax `protobuf:"varint,7,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Method) Reset() { *m = Method{} } +func (*Method) ProtoMessage() {} +func (*Method) Descriptor() ([]byte, []int) { + return fileDescriptor_api_a4406062c749da1f, []int{1} +} +func (m *Method) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Method) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Method.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 (dst *Method) XXX_Merge(src proto.Message) { + xxx_messageInfo_Method.Merge(dst, src) +} +func (m *Method) XXX_Size() int { + return m.Size() +} +func (m *Method) XXX_DiscardUnknown() { + xxx_messageInfo_Method.DiscardUnknown(m) +} + +var xxx_messageInfo_Method proto.InternalMessageInfo + +func (m *Method) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Method) GetRequestTypeUrl() string { + if m != nil { + return m.RequestTypeUrl + } + return "" +} + +func (m *Method) GetRequestStreaming() bool { + if m != nil { + return m.RequestStreaming + } + return false +} + +func (m *Method) GetResponseTypeUrl() string { + if m != nil { + return m.ResponseTypeUrl + } + return "" +} + +func (m *Method) GetResponseStreaming() bool { + if m != nil { + return m.ResponseStreaming + } + return false +} + +func (m *Method) GetOptions() []*Option { + if m != nil { + return m.Options + } + return nil +} + +func (m *Method) GetSyntax() Syntax { + if m != nil { + return m.Syntax + } + return Syntax_SYNTAX_PROTO2 +} + +func (*Method) XXX_MessageName() string { + return "google.protobuf.Method" +} + +// Declares an API Interface to be included in this interface. The including +// interface must redeclare all the methods from the included interface, but +// documentation and options are inherited as follows: +// +// - If after comment and whitespace stripping, the documentation +// string of the redeclared method is empty, it will be inherited +// from the original method. +// +// - Each annotation belonging to the service config (http, +// visibility) which is not set in the redeclared method will be +// inherited. +// +// - If an http annotation is inherited, the path pattern will be +// modified as follows. Any version prefix will be replaced by the +// version of the including interface plus the [root][] path if +// specified. +// +// Example of a simple mixin: +// +// package google.acl.v1; +// service AccessControl { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v1/{resource=**}:getAcl"; +// } +// } +// +// package google.storage.v2; +// service Storage { +// rpc GetAcl(GetAclRequest) returns (Acl); +// +// // Get a data record. +// rpc GetData(GetDataRequest) returns (Data) { +// option (google.api.http).get = "/v2/{resource=**}"; +// } +// } +// +// Example of a mixin configuration: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// +// The mixin construct implies that all methods in `AccessControl` are +// also declared with same name and request/response types in +// `Storage`. A documentation generator or annotation processor will +// see the effective `Storage.GetAcl` method after inherting +// documentation and annotations as follows: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/{resource=**}:getAcl"; +// } +// ... +// } +// +// Note how the version in the path pattern changed from `v1` to `v2`. +// +// If the `root` field in the mixin is specified, it should be a +// relative path under which inherited HTTP paths are placed. Example: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// root: acls +// +// This implies the following inherited HTTP annotation: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; +// } +// ... +// } +type Mixin struct { + // The fully qualified name of the interface which is included. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If non-empty specifies a path under which inherited HTTP paths + // are rooted. + Root string `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Mixin) Reset() { *m = Mixin{} } +func (*Mixin) ProtoMessage() {} +func (*Mixin) Descriptor() ([]byte, []int) { + return fileDescriptor_api_a4406062c749da1f, []int{2} +} +func (m *Mixin) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Mixin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Mixin.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 (dst *Mixin) XXX_Merge(src proto.Message) { + xxx_messageInfo_Mixin.Merge(dst, src) +} +func (m *Mixin) XXX_Size() int { + return m.Size() +} +func (m *Mixin) XXX_DiscardUnknown() { + xxx_messageInfo_Mixin.DiscardUnknown(m) +} + +var xxx_messageInfo_Mixin proto.InternalMessageInfo + +func (m *Mixin) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Mixin) GetRoot() string { + if m != nil { + return m.Root + } + return "" +} + +func (*Mixin) XXX_MessageName() string { + return "google.protobuf.Mixin" +} +func init() { + proto.RegisterType((*Api)(nil), "google.protobuf.Api") + proto.RegisterType((*Method)(nil), "google.protobuf.Method") + proto.RegisterType((*Mixin)(nil), "google.protobuf.Mixin") +} +func (this *Api) Compare(that interface{}) int { + if that == nil { + if this == nil { + return 0 + } + return 1 + } + + that1, ok := that.(*Api) + if !ok { + that2, ok := that.(Api) + if ok { + that1 = &that2 + } else { + return 1 + } + } + if that1 == nil { + if this == nil { + return 0 + } + return 1 + } else if this == nil { + return -1 + } + if this.Name != that1.Name { + if this.Name < that1.Name { + return -1 + } + return 1 + } + if len(this.Methods) != len(that1.Methods) { + if len(this.Methods) < len(that1.Methods) { + return -1 + } + return 1 + } + for i := range this.Methods { + if c := this.Methods[i].Compare(that1.Methods[i]); c != 0 { + return c + } + } + if len(this.Options) != len(that1.Options) { + if len(this.Options) < len(that1.Options) { + return -1 + } + return 1 + } + for i := range this.Options { + if c := this.Options[i].Compare(that1.Options[i]); c != 0 { + return c + } + } + if this.Version != that1.Version { + if this.Version < that1.Version { + return -1 + } + return 1 + } + if c := this.SourceContext.Compare(that1.SourceContext); c != 0 { + return c + } + if len(this.Mixins) != len(that1.Mixins) { + if len(this.Mixins) < len(that1.Mixins) { + return -1 + } + return 1 + } + for i := range this.Mixins { + if c := this.Mixins[i].Compare(that1.Mixins[i]); c != 0 { + return c + } + } + if this.Syntax != that1.Syntax { + if this.Syntax < that1.Syntax { + return -1 + } + return 1 + } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } + return 0 +} +func (this *Method) Compare(that interface{}) int { + if that == nil { + if this == nil { + return 0 + } + return 1 + } + + that1, ok := that.(*Method) + if !ok { + that2, ok := that.(Method) + if ok { + that1 = &that2 + } else { + return 1 + } + } + if that1 == nil { + if this == nil { + return 0 + } + return 1 + } else if this == nil { + return -1 + } + if this.Name != that1.Name { + if this.Name < that1.Name { + return -1 + } + return 1 + } + if this.RequestTypeUrl != that1.RequestTypeUrl { + if this.RequestTypeUrl < that1.RequestTypeUrl { + return -1 + } + return 1 + } + if this.RequestStreaming != that1.RequestStreaming { + if !this.RequestStreaming { + return -1 + } + return 1 + } + if this.ResponseTypeUrl != that1.ResponseTypeUrl { + if this.ResponseTypeUrl < that1.ResponseTypeUrl { + return -1 + } + return 1 + } + if this.ResponseStreaming != that1.ResponseStreaming { + if !this.ResponseStreaming { + return -1 + } + return 1 + } + if len(this.Options) != len(that1.Options) { + if len(this.Options) < len(that1.Options) { + return -1 + } + return 1 + } + for i := range this.Options { + if c := this.Options[i].Compare(that1.Options[i]); c != 0 { + return c + } + } + if this.Syntax != that1.Syntax { + if this.Syntax < that1.Syntax { + return -1 + } + return 1 + } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } + return 0 +} +func (this *Mixin) Compare(that interface{}) int { + if that == nil { + if this == nil { + return 0 + } + return 1 + } + + that1, ok := that.(*Mixin) + if !ok { + that2, ok := that.(Mixin) + if ok { + that1 = &that2 + } else { + return 1 + } + } + if that1 == nil { + if this == nil { + return 0 + } + return 1 + } else if this == nil { + return -1 + } + if this.Name != that1.Name { + if this.Name < that1.Name { + return -1 + } + return 1 + } + if this.Root != that1.Root { + if this.Root < that1.Root { + return -1 + } + return 1 + } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } + return 0 +} +func (this *Api) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Api) + if !ok { + that2, ok := that.(Api) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Name != that1.Name { + return false + } + if len(this.Methods) != len(that1.Methods) { + return false + } + for i := range this.Methods { + if !this.Methods[i].Equal(that1.Methods[i]) { + return false + } + } + if len(this.Options) != len(that1.Options) { + return false + } + for i := range this.Options { + if !this.Options[i].Equal(that1.Options[i]) { + return false + } + } + if this.Version != that1.Version { + return false + } + if !this.SourceContext.Equal(that1.SourceContext) { + return false + } + if len(this.Mixins) != len(that1.Mixins) { + return false + } + for i := range this.Mixins { + if !this.Mixins[i].Equal(that1.Mixins[i]) { + return false + } + } + if this.Syntax != that1.Syntax { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +func (this *Method) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Method) + if !ok { + that2, ok := that.(Method) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Name != that1.Name { + return false + } + if this.RequestTypeUrl != that1.RequestTypeUrl { + return false + } + if this.RequestStreaming != that1.RequestStreaming { + return false + } + if this.ResponseTypeUrl != that1.ResponseTypeUrl { + return false + } + if this.ResponseStreaming != that1.ResponseStreaming { + return false + } + if len(this.Options) != len(that1.Options) { + return false + } + for i := range this.Options { + if !this.Options[i].Equal(that1.Options[i]) { + return false + } + } + if this.Syntax != that1.Syntax { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +func (this *Mixin) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Mixin) + if !ok { + that2, ok := that.(Mixin) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Name != that1.Name { + return false + } + if this.Root != that1.Root { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +func (this *Api) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 11) + s = append(s, "&types.Api{") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + if this.Methods != nil { + s = append(s, "Methods: "+fmt.Sprintf("%#v", this.Methods)+",\n") + } + if this.Options != nil { + s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") + } + s = append(s, "Version: "+fmt.Sprintf("%#v", this.Version)+",\n") + if this.SourceContext != nil { + s = append(s, "SourceContext: "+fmt.Sprintf("%#v", this.SourceContext)+",\n") + } + if this.Mixins != nil { + s = append(s, "Mixins: "+fmt.Sprintf("%#v", this.Mixins)+",\n") + } + s = append(s, "Syntax: "+fmt.Sprintf("%#v", this.Syntax)+",\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 *Method) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 11) + s = append(s, "&types.Method{") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + s = append(s, "RequestTypeUrl: "+fmt.Sprintf("%#v", this.RequestTypeUrl)+",\n") + s = append(s, "RequestStreaming: "+fmt.Sprintf("%#v", this.RequestStreaming)+",\n") + s = append(s, "ResponseTypeUrl: "+fmt.Sprintf("%#v", this.ResponseTypeUrl)+",\n") + s = append(s, "ResponseStreaming: "+fmt.Sprintf("%#v", this.ResponseStreaming)+",\n") + if this.Options != nil { + s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") + } + s = append(s, "Syntax: "+fmt.Sprintf("%#v", this.Syntax)+",\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 *Mixin) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 6) + s = append(s, "&types.Mixin{") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + s = append(s, "Root: "+fmt.Sprintf("%#v", this.Root)+",\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 valueToGoStringApi(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 *Api) 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 *Api) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Name) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintApi(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + } + if len(m.Methods) > 0 { + for _, msg := range m.Methods { + dAtA[i] = 0x12 + i++ + i = encodeVarintApi(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Options) > 0 { + for _, msg := range m.Options { + dAtA[i] = 0x1a + i++ + i = encodeVarintApi(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Version) > 0 { + dAtA[i] = 0x22 + i++ + i = encodeVarintApi(dAtA, i, uint64(len(m.Version))) + i += copy(dAtA[i:], m.Version) + } + if m.SourceContext != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintApi(dAtA, i, uint64(m.SourceContext.Size())) + n1, err := m.SourceContext.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + } + if len(m.Mixins) > 0 { + for _, msg := range m.Mixins { + dAtA[i] = 0x32 + i++ + i = encodeVarintApi(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.Syntax != 0 { + dAtA[i] = 0x38 + i++ + i = encodeVarintApi(dAtA, i, uint64(m.Syntax)) + } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } + return i, nil +} + +func (m *Method) 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 *Method) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Name) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintApi(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + } + if len(m.RequestTypeUrl) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintApi(dAtA, i, uint64(len(m.RequestTypeUrl))) + i += copy(dAtA[i:], m.RequestTypeUrl) + } + if m.RequestStreaming { + dAtA[i] = 0x18 + i++ + if m.RequestStreaming { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + if len(m.ResponseTypeUrl) > 0 { + dAtA[i] = 0x22 + i++ + i = encodeVarintApi(dAtA, i, uint64(len(m.ResponseTypeUrl))) + i += copy(dAtA[i:], m.ResponseTypeUrl) + } + if m.ResponseStreaming { + dAtA[i] = 0x28 + i++ + if m.ResponseStreaming { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + if len(m.Options) > 0 { + for _, msg := range m.Options { + dAtA[i] = 0x32 + i++ + i = encodeVarintApi(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.Syntax != 0 { + dAtA[i] = 0x38 + i++ + i = encodeVarintApi(dAtA, i, uint64(m.Syntax)) + } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } + return i, nil +} + +func (m *Mixin) 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 *Mixin) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Name) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintApi(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + } + if len(m.Root) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintApi(dAtA, i, uint64(len(m.Root))) + i += copy(dAtA[i:], m.Root) + } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } + return i, nil +} + +func encodeVarintApi(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 NewPopulatedApi(r randyApi, easy bool) *Api { + this := &Api{} + this.Name = string(randStringApi(r)) + if r.Intn(10) != 0 { + v1 := r.Intn(5) + this.Methods = make([]*Method, v1) + for i := 0; i < v1; i++ { + this.Methods[i] = NewPopulatedMethod(r, easy) + } + } + if r.Intn(10) != 0 { + v2 := r.Intn(5) + this.Options = make([]*Option, v2) + for i := 0; i < v2; i++ { + this.Options[i] = NewPopulatedOption(r, easy) + } + } + this.Version = string(randStringApi(r)) + if r.Intn(10) != 0 { + this.SourceContext = NewPopulatedSourceContext(r, easy) + } + if r.Intn(10) != 0 { + v3 := r.Intn(5) + this.Mixins = make([]*Mixin, v3) + for i := 0; i < v3; i++ { + this.Mixins[i] = NewPopulatedMixin(r, easy) + } + } + this.Syntax = Syntax([]int32{0, 1}[r.Intn(2)]) + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedApi(r, 8) + } + return this +} + +func NewPopulatedMethod(r randyApi, easy bool) *Method { + this := &Method{} + this.Name = string(randStringApi(r)) + this.RequestTypeUrl = string(randStringApi(r)) + this.RequestStreaming = bool(bool(r.Intn(2) == 0)) + this.ResponseTypeUrl = string(randStringApi(r)) + this.ResponseStreaming = bool(bool(r.Intn(2) == 0)) + if r.Intn(10) != 0 { + v4 := r.Intn(5) + this.Options = make([]*Option, v4) + for i := 0; i < v4; i++ { + this.Options[i] = NewPopulatedOption(r, easy) + } + } + this.Syntax = Syntax([]int32{0, 1}[r.Intn(2)]) + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedApi(r, 8) + } + return this +} + +func NewPopulatedMixin(r randyApi, easy bool) *Mixin { + this := &Mixin{} + this.Name = string(randStringApi(r)) + this.Root = string(randStringApi(r)) + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedApi(r, 3) + } + return this +} + +type randyApi interface { + Float32() float32 + Float64() float64 + Int63() int64 + Int31() int32 + Uint32() uint32 + Intn(n int) int +} + +func randUTF8RuneApi(r randyApi) 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 randStringApi(r randyApi) string { + v5 := r.Intn(100) + tmps := make([]rune, v5) + for i := 0; i < v5; i++ { + tmps[i] = randUTF8RuneApi(r) + } + return string(tmps) +} +func randUnrecognizedApi(r randyApi, 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 = randFieldApi(dAtA, r, fieldNumber, wire) + } + return dAtA +} +func randFieldApi(dAtA []byte, r randyApi, fieldNumber int, wire int) []byte { + key := uint32(fieldNumber)<<3 | uint32(wire) + switch wire { + case 0: + dAtA = encodeVarintPopulateApi(dAtA, uint64(key)) + v6 := r.Int63() + if r.Intn(2) == 0 { + v6 *= -1 + } + dAtA = encodeVarintPopulateApi(dAtA, uint64(v6)) + case 1: + dAtA = encodeVarintPopulateApi(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 = encodeVarintPopulateApi(dAtA, uint64(key)) + ll := r.Intn(100) + dAtA = encodeVarintPopulateApi(dAtA, uint64(ll)) + for j := 0; j < ll; j++ { + dAtA = append(dAtA, byte(r.Intn(256))) + } + default: + dAtA = encodeVarintPopulateApi(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 encodeVarintPopulateApi(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 *Api) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } + if len(m.Methods) > 0 { + for _, e := range m.Methods { + l = e.Size() + n += 1 + l + sovApi(uint64(l)) + } + } + if len(m.Options) > 0 { + for _, e := range m.Options { + l = e.Size() + n += 1 + l + sovApi(uint64(l)) + } + } + l = len(m.Version) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } + if m.SourceContext != nil { + l = m.SourceContext.Size() + n += 1 + l + sovApi(uint64(l)) + } + if len(m.Mixins) > 0 { + for _, e := range m.Mixins { + l = e.Size() + n += 1 + l + sovApi(uint64(l)) + } + } + if m.Syntax != 0 { + n += 1 + sovApi(uint64(m.Syntax)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *Method) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } + l = len(m.RequestTypeUrl) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } + if m.RequestStreaming { + n += 2 + } + l = len(m.ResponseTypeUrl) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } + if m.ResponseStreaming { + n += 2 + } + if len(m.Options) > 0 { + for _, e := range m.Options { + l = e.Size() + n += 1 + l + sovApi(uint64(l)) + } + } + if m.Syntax != 0 { + n += 1 + sovApi(uint64(m.Syntax)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *Mixin) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } + l = len(m.Root) + if l > 0 { + n += 1 + l + sovApi(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func sovApi(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozApi(x uint64) (n int) { + return sovApi(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *Api) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Api{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Methods:` + strings.Replace(fmt.Sprintf("%v", this.Methods), "Method", "Method", 1) + `,`, + `Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "Option", "Option", 1) + `,`, + `Version:` + fmt.Sprintf("%v", this.Version) + `,`, + `SourceContext:` + strings.Replace(fmt.Sprintf("%v", this.SourceContext), "SourceContext", "SourceContext", 1) + `,`, + `Mixins:` + strings.Replace(fmt.Sprintf("%v", this.Mixins), "Mixin", "Mixin", 1) + `,`, + `Syntax:` + fmt.Sprintf("%v", this.Syntax) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *Method) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Method{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `RequestTypeUrl:` + fmt.Sprintf("%v", this.RequestTypeUrl) + `,`, + `RequestStreaming:` + fmt.Sprintf("%v", this.RequestStreaming) + `,`, + `ResponseTypeUrl:` + fmt.Sprintf("%v", this.ResponseTypeUrl) + `,`, + `ResponseStreaming:` + fmt.Sprintf("%v", this.ResponseStreaming) + `,`, + `Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "Option", "Option", 1) + `,`, + `Syntax:` + fmt.Sprintf("%v", this.Syntax) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *Mixin) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Mixin{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Root:` + fmt.Sprintf("%v", this.Root) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func valueToStringApi(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *Api) 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 ErrIntOverflowApi + } + 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: Api: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Api: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + 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 ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Methods", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Methods = append(m.Methods, &Method{}) + if err := m.Methods[len(m.Methods)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Options = append(m.Options, &Option{}) + if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + 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 ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourceContext", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SourceContext == nil { + m.SourceContext = &SourceContext{} + } + if err := m.SourceContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Mixins", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Mixins = append(m.Mixins, &Mixin{}) + if err := m.Mixins[len(m.Mixins)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Syntax", wireType) + } + m.Syntax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Syntax |= (Syntax(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthApi + } + 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 *Method) 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 ErrIntOverflowApi + } + 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: Method: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Method: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + 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 ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestTypeUrl", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + 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 ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RequestTypeUrl = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestStreaming", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.RequestStreaming = bool(v != 0) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResponseTypeUrl", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + 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 ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ResponseTypeUrl = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ResponseStreaming", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ResponseStreaming = bool(v != 0) + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthApi + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Options = append(m.Options, &Option{}) + if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Syntax", wireType) + } + m.Syntax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Syntax |= (Syntax(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthApi + } + 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 *Mixin) 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 ErrIntOverflowApi + } + 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: Mixin: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Mixin: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + 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 ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Root", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowApi + } + 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 ErrInvalidLengthApi + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Root = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipApi(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthApi + } + 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 skipApi(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, ErrIntOverflowApi + } + 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, ErrIntOverflowApi + } + 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, ErrIntOverflowApi + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthApi + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowApi + } + 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 := skipApi(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + 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 ( + ErrInvalidLengthApi = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowApi = fmt.Errorf("proto: integer overflow") +) + +func init() { proto.RegisterFile("google/protobuf/api.proto", fileDescriptor_api_a4406062c749da1f) } + +var fileDescriptor_api_a4406062c749da1f = []byte{ + // 467 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x31, 0x6f, 0x13, 0x31, + 0x14, 0xc7, 0xeb, 0xbb, 0xe4, 0x52, 0x5c, 0x91, 0x82, 0x91, 0xc0, 0x64, 0xb0, 0x4e, 0x15, 0xc3, + 0x09, 0xc4, 0x45, 0x94, 0x4f, 0xd0, 0x20, 0xd4, 0x01, 0x21, 0xa2, 0x0b, 0x08, 0x89, 0x25, 0x4a, + 0x83, 0x09, 0x96, 0xee, 0x6c, 0x63, 0x3b, 0x90, 0x4c, 0xf0, 0x59, 0x98, 0x10, 0x23, 0xdf, 0x80, + 0xad, 0x23, 0x23, 0x23, 0xb9, 0x2e, 0x8c, 0x1d, 0x19, 0x91, 0x7d, 0xe7, 0xa6, 0x5c, 0x83, 0x04, + 0x9b, 0xdf, 0xfb, 0xff, 0xfc, 0xf7, 0x7b, 0x7f, 0xc3, 0x9b, 0x33, 0x21, 0x66, 0x39, 0xed, 0x4b, + 0x25, 0x8c, 0x38, 0x9a, 0xbf, 0xea, 0x4f, 0x24, 0x4b, 0x5d, 0x81, 0x76, 0x2b, 0x29, 0xf5, 0x52, + 0xef, 0x56, 0x93, 0xd5, 0x62, 0xae, 0xa6, 0x74, 0x3c, 0x15, 0xdc, 0xd0, 0x85, 0xa9, 0xc0, 0x5e, + 0xaf, 0x49, 0x99, 0xa5, 0xac, 0x4d, 0xf6, 0xbe, 0x06, 0x30, 0x3c, 0x90, 0x0c, 0x21, 0xd8, 0xe2, + 0x93, 0x82, 0x62, 0x10, 0x83, 0xe4, 0x52, 0xe6, 0xce, 0xe8, 0x1e, 0xec, 0x14, 0xd4, 0xbc, 0x16, + 0x2f, 0x35, 0x0e, 0xe2, 0x30, 0xd9, 0xd9, 0xbf, 0x91, 0x36, 0x06, 0x48, 0x1f, 0x3b, 0x3d, 0xf3, + 0x9c, 0xbd, 0x22, 0xa4, 0x61, 0x82, 0x6b, 0x1c, 0xfe, 0xe5, 0xca, 0x13, 0xa7, 0x67, 0x9e, 0x43, + 0x18, 0x76, 0xde, 0x52, 0xa5, 0x99, 0xe0, 0xb8, 0xe5, 0x1e, 0xf7, 0x25, 0x7a, 0x08, 0xbb, 0x7f, + 0xee, 0x83, 0xdb, 0x31, 0x48, 0x76, 0xf6, 0xc9, 0x05, 0xcf, 0x91, 0xc3, 0x1e, 0x54, 0x54, 0x76, + 0x59, 0x9f, 0x2f, 0x51, 0x0a, 0xa3, 0x82, 0x2d, 0x18, 0xd7, 0x38, 0x72, 0x23, 0x5d, 0xbf, 0xb8, + 0x85, 0x95, 0xb3, 0x9a, 0x42, 0x7d, 0x18, 0xe9, 0x25, 0x37, 0x93, 0x05, 0xee, 0xc4, 0x20, 0xe9, + 0x6e, 0x58, 0x61, 0xe4, 0xe4, 0xac, 0xc6, 0xf6, 0xbe, 0x04, 0x30, 0xaa, 0x82, 0xd8, 0x18, 0x63, + 0x02, 0xaf, 0x28, 0xfa, 0x66, 0x4e, 0xb5, 0x19, 0xdb, 0xe0, 0xc7, 0x73, 0x95, 0xe3, 0xc0, 0xe9, + 0xdd, 0xba, 0xff, 0x74, 0x29, 0xe9, 0x33, 0x95, 0xa3, 0x3b, 0xf0, 0xaa, 0x27, 0xb5, 0x51, 0x74, + 0x52, 0x30, 0x3e, 0xc3, 0x61, 0x0c, 0x92, 0xed, 0xcc, 0x5b, 0x8c, 0x7c, 0x1f, 0xdd, 0xb6, 0xb0, + 0x96, 0x82, 0x6b, 0xba, 0xf6, 0xad, 0x12, 0xdc, 0xf5, 0x82, 0x37, 0xbe, 0x0b, 0xd1, 0x19, 0xbb, + 0x76, 0x6e, 0x3b, 0xe7, 0x33, 0x97, 0xb5, 0xf5, 0xb9, 0x5f, 0x8c, 0xfe, 0xf1, 0x17, 0xff, 0x3b, + 0xb4, 0x3e, 0x6c, 0xbb, 0xd8, 0x37, 0x46, 0x86, 0x60, 0x4b, 0x09, 0x61, 0xea, 0x98, 0xdc, 0x79, + 0xf0, 0xfe, 0xfb, 0x8a, 0x6c, 0x9d, 0xae, 0x08, 0xf8, 0xb5, 0x22, 0xe0, 0x43, 0x49, 0xc0, 0xa7, + 0x92, 0x80, 0xe3, 0x92, 0x80, 0x6f, 0x25, 0x01, 0x3f, 0x4a, 0x02, 0x7e, 0x96, 0x64, 0xeb, 0xd4, + 0xf6, 0x4f, 0x08, 0x38, 0x3e, 0x21, 0x00, 0x5e, 0x9b, 0x8a, 0xa2, 0x39, 0xc6, 0x60, 0xfb, 0x40, + 0xb2, 0xa1, 0x2d, 0x86, 0xe0, 0x45, 0xdb, 0xe6, 0xa6, 0x3f, 0x06, 0xe1, 0xe1, 0x70, 0xf0, 0x39, + 0x20, 0x87, 0x15, 0x3a, 0xf4, 0x13, 0x3f, 0xa7, 0x79, 0xfe, 0x88, 0x8b, 0x77, 0xdc, 0xc6, 0xa8, + 0x8f, 0x22, 0xe7, 0x71, 0xff, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x64, 0x40, 0x40, 0xa1, + 0x03, 0x00, 0x00, +} diff --git a/vendor/github.com/gogo/protobuf/types/duration.pb.go b/vendor/github.com/gogo/protobuf/types/duration.pb.go index ee9deacfd..545ef962e 100644 --- a/vendor/github.com/gogo/protobuf/types/duration.pb.go +++ b/vendor/github.com/gogo/protobuf/types/duration.pb.go @@ -1,21 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: duration.proto +// source: google/protobuf/duration.proto -/* - Package types is a generated protocol buffer package. - - It is generated from these files: - duration.proto - - It has these top-level messages: - Duration -*/ package types import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import bytes "bytes" + import strings "strings" import reflect "reflect" @@ -103,13 +96,44 @@ type Duration struct { // of one second or more, a non-zero value for the `nanos` field must be // of the same sign as the `seconds` field. Must be from -999,999,999 // to +999,999,999 inclusive. - Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` + Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Duration) Reset() { *m = Duration{} } -func (*Duration) ProtoMessage() {} -func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptorDuration, []int{0} } -func (*Duration) XXX_WellKnownType() string { return "Duration" } +func (m *Duration) Reset() { *m = Duration{} } +func (*Duration) ProtoMessage() {} +func (*Duration) Descriptor() ([]byte, []int) { + return fileDescriptor_duration_187e4d5f80a83848, []int{0} +} +func (*Duration) XXX_WellKnownType() string { return "Duration" } +func (m *Duration) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Duration.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 (dst *Duration) XXX_Merge(src proto.Message) { + xxx_messageInfo_Duration.Merge(dst, src) +} +func (m *Duration) XXX_Size() int { + return m.Size() +} +func (m *Duration) XXX_DiscardUnknown() { + xxx_messageInfo_Duration.DiscardUnknown(m) +} + +var xxx_messageInfo_Duration proto.InternalMessageInfo func (m *Duration) GetSeconds() int64 { if m != nil { @@ -125,6 +149,9 @@ func (m *Duration) GetNanos() int32 { return 0 } +func (*Duration) XXX_MessageName() string { + return "google.protobuf.Duration" +} func init() { proto.RegisterType((*Duration)(nil), "google.protobuf.Duration") } @@ -165,6 +192,9 @@ func (this *Duration) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *Duration) Equal(that interface{}) bool { @@ -192,6 +222,9 @@ func (this *Duration) Equal(that interface{}) bool { if this.Nanos != that1.Nanos { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Duration) GoString() string { @@ -202,6 +235,9 @@ func (this *Duration) GoString() string { s = append(s, "&types.Duration{") s = append(s, "Seconds: "+fmt.Sprintf("%#v", this.Seconds)+",\n") s = append(s, "Nanos: "+fmt.Sprintf("%#v", this.Nanos)+",\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, "") } @@ -238,6 +274,9 @@ func (m *Duration) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintDuration(dAtA, i, uint64(m.Nanos)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -251,6 +290,9 @@ func encodeVarintDuration(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Duration) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Seconds != 0 { @@ -259,6 +301,9 @@ func (m *Duration) Size() (n int) { if m.Nanos != 0 { n += 1 + sovDuration(uint64(m.Nanos)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -354,6 +399,7 @@ func (m *Duration) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -468,21 +514,24 @@ var ( ErrIntOverflowDuration = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("duration.proto", fileDescriptorDuration) } - -var fileDescriptorDuration = []byte{ - // 203 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4b, 0x29, 0x2d, 0x4a, - 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x4f, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0x85, 0xf0, 0x92, 0x4a, 0xd3, 0x94, 0xac, 0xb8, 0x38, 0x5c, 0xa0, 0x4a, 0x84, 0x24, - 0xb8, 0xd8, 0x8b, 0x53, 0x93, 0xf3, 0xf3, 0x52, 0x8a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x98, 0x83, - 0x60, 0x5c, 0x21, 0x11, 0x2e, 0xd6, 0xbc, 0xc4, 0xbc, 0xfc, 0x62, 0x09, 0x26, 0x05, 0x46, 0x0d, - 0xd6, 0x20, 0x08, 0xc7, 0xa9, 0xfe, 0xc2, 0x43, 0x39, 0x86, 0x1b, 0x0f, 0xe5, 0x18, 0x3e, 0x3c, - 0x94, 0x63, 0x5c, 0xf1, 0x48, 0x8e, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, - 0x3c, 0x92, 0x63, 0x7c, 0xf1, 0x48, 0x8e, 0xe1, 0xc3, 0x23, 0x39, 0xc6, 0x15, 0x8f, 0xe5, 0x18, - 0xb9, 0x84, 0x93, 0xf3, 0x73, 0xf5, 0xd0, 0xac, 0x76, 0xe2, 0x85, 0x59, 0x1c, 0x00, 0x12, 0x09, - 0x60, 0x8c, 0x62, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0xfe, 0xc1, 0xc8, 0xb8, 0x88, 0x89, 0xd9, 0x3d, - 0xc0, 0x69, 0x15, 0x93, 0x9c, 0x3b, 0x44, 0x4b, 0x00, 0x54, 0x8b, 0x5e, 0x78, 0x6a, 0x4e, 0x8e, - 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x65, 0x12, 0x1b, 0xd8, 0x2c, 0x63, 0x40, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x9d, 0x5a, 0x25, 0xa5, 0xe6, 0x00, 0x00, 0x00, +func init() { + proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor_duration_187e4d5f80a83848) +} + +var fileDescriptor_duration_187e4d5f80a83848 = []byte{ + // 209 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a, + 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56, + 0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5, + 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e, + 0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0x7f, 0xe3, 0xa1, 0x1c, + 0xc3, 0x87, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, + 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e, 0xc9, 0x31, 0x7c, 0x78, 0x24, 0xc7, 0xb8, 0xe2, + 0xb1, 0x1c, 0xe3, 0x89, 0xc7, 0x72, 0x8c, 0x5c, 0xc2, 0xc9, 0xf9, 0xb9, 0x7a, 0x68, 0x56, 0x3b, + 0xf1, 0xc2, 0x2c, 0x0e, 0x00, 0x89, 0x04, 0x30, 0x46, 0xb1, 0x96, 0x54, 0x16, 0xa4, 0x16, 0xff, + 0x60, 0x64, 0x5c, 0xc4, 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0xa2, 0x25, 0x00, + 0xaa, 0x45, 0x2f, 0x3c, 0x35, 0x27, 0xc7, 0x3b, 0x2f, 0xbf, 0x3c, 0x2f, 0x04, 0xa4, 0x32, 0x89, + 0x0d, 0x6c, 0x96, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x1c, 0x64, 0x4e, 0xf6, 0x00, 0x00, + 0x00, } diff --git a/vendor/github.com/gogo/protobuf/types/empty.pb.go b/vendor/github.com/gogo/protobuf/types/empty.pb.go index e7018b905..323b246a6 100644 --- a/vendor/github.com/gogo/protobuf/types/empty.pb.go +++ b/vendor/github.com/gogo/protobuf/types/empty.pb.go @@ -1,21 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: empty.proto +// source: google/protobuf/empty.proto -/* -Package types is a generated protocol buffer package. - -It is generated from these files: - empty.proto - -It has these top-level messages: - Empty -*/ package types import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import bytes "bytes" + import strings "strings" import reflect "reflect" @@ -42,13 +35,47 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // // The JSON representation for `Empty` is empty JSON object `{}`. type Empty struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Empty) Reset() { *m = Empty{} } -func (*Empty) ProtoMessage() {} -func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptorEmpty, []int{0} } -func (*Empty) XXX_WellKnownType() string { return "Empty" } +func (m *Empty) Reset() { *m = Empty{} } +func (*Empty) ProtoMessage() {} +func (*Empty) Descriptor() ([]byte, []int) { + return fileDescriptor_empty_b366a5cbb7c614df, []int{0} +} +func (*Empty) XXX_WellKnownType() string { return "Empty" } +func (m *Empty) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Empty.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 (dst *Empty) XXX_Merge(src proto.Message) { + xxx_messageInfo_Empty.Merge(dst, src) +} +func (m *Empty) XXX_Size() int { + return m.Size() +} +func (m *Empty) XXX_DiscardUnknown() { + xxx_messageInfo_Empty.DiscardUnknown(m) +} +var xxx_messageInfo_Empty proto.InternalMessageInfo + +func (*Empty) XXX_MessageName() string { + return "google.protobuf.Empty" +} func init() { proto.RegisterType((*Empty)(nil), "google.protobuf.Empty") } @@ -77,6 +104,9 @@ func (this *Empty) Compare(that interface{}) int { } else if this == nil { return -1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *Empty) Equal(that interface{}) bool { @@ -98,6 +128,9 @@ func (this *Empty) Equal(that interface{}) bool { } else if this == nil { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Empty) GoString() string { @@ -106,6 +139,9 @@ func (this *Empty) GoString() string { } s := make([]string, 0, 4) s = append(s, "&types.Empty{") + if this.XXX_unrecognized != nil { + s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") + } s = append(s, "}") return strings.Join(s, "") } @@ -132,6 +168,9 @@ func (m *Empty) MarshalTo(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -147,6 +186,7 @@ func encodeVarintEmpty(dAtA []byte, offset int, v uint64) int { func NewPopulatedEmpty(r randyEmpty, easy bool) *Empty { this := &Empty{} if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedEmpty(r, 1) } return this } @@ -224,8 +264,14 @@ func encodeVarintPopulateEmpty(dAtA []byte, v uint64) []byte { return dAtA } func (m *Empty) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -247,6 +293,7 @@ func (this *Empty) String() string { return "nil" } s := strings.Join([]string{`&Empty{`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -300,6 +347,7 @@ func (m *Empty) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -414,19 +462,19 @@ var ( ErrIntOverflowEmpty = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("empty.proto", fileDescriptorEmpty) } +func init() { proto.RegisterFile("google/protobuf/empty.proto", fileDescriptor_empty_b366a5cbb7c614df) } -var fileDescriptorEmpty = []byte{ - // 169 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4e, 0xcd, 0x2d, 0x28, - 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x4f, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0x85, - 0xf0, 0x92, 0x4a, 0xd3, 0x94, 0xd8, 0xb9, 0x58, 0x5d, 0x41, 0xf2, 0x4e, 0x2d, 0x8c, 0x17, 0x1e, - 0xca, 0x31, 0xdc, 0x78, 0x28, 0xc7, 0xf0, 0xe1, 0xa1, 0x1c, 0xe3, 0x8f, 0x87, 0x72, 0x8c, 0x0d, - 0x8f, 0xe4, 0x18, 0x57, 0x3c, 0x92, 0x63, 0x3c, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, - 0x07, 0x8f, 0xe4, 0x18, 0x5f, 0x3c, 0x92, 0x63, 0xf8, 0x00, 0x12, 0x7f, 0x2c, 0xc7, 0xc8, 0x25, - 0x9c, 0x9c, 0x9f, 0xab, 0x87, 0x66, 0xa0, 0x13, 0x17, 0xd8, 0xb8, 0x00, 0x10, 0x37, 0x80, 0x31, - 0x8a, 0xb5, 0xa4, 0xb2, 0x20, 0xb5, 0xf8, 0x07, 0x23, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, - 0x55, 0x4c, 0x72, 0xee, 0x10, 0xf5, 0x01, 0x50, 0xf5, 0x7a, 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, - 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x95, 0x49, 0x6c, 0x60, 0x83, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, - 0xff, 0x7c, 0xa8, 0xf0, 0xc4, 0xb6, 0x00, 0x00, 0x00, +var fileDescriptor_empty_b366a5cbb7c614df = []byte{ + // 176 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcd, 0x2d, 0x28, + 0xa9, 0xd4, 0x03, 0x73, 0x85, 0xf8, 0x21, 0x92, 0x7a, 0x30, 0x49, 0x25, 0x76, 0x2e, 0x56, 0x57, + 0x90, 0xbc, 0x53, 0x0b, 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, + 0xc7, 0xd8, 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, + 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72, + 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x19, 0xe8, 0xc4, 0x05, + 0x36, 0x2e, 0x00, 0xc4, 0x0d, 0x60, 0x8c, 0x62, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0xfe, 0xc1, 0xc8, + 0xb8, 0x88, 0x89, 0xd9, 0x3d, 0xc0, 0x69, 0x15, 0x93, 0x9c, 0x3b, 0x44, 0x7d, 0x00, 0x54, 0xbd, + 0x5e, 0x78, 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x65, 0x12, 0x1b, 0xd8, + 0x20, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0xbe, 0xb6, 0x31, 0xc6, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/types/field_mask.pb.go b/vendor/github.com/gogo/protobuf/types/field_mask.pb.go index 22e8b4f0d..3e60fcf07 100644 --- a/vendor/github.com/gogo/protobuf/types/field_mask.pb.go +++ b/vendor/github.com/gogo/protobuf/types/field_mask.pb.go @@ -1,21 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: field_mask.proto +// source: google/protobuf/field_mask.proto -/* -Package types is a generated protocol buffer package. - -It is generated from these files: - field_mask.proto - -It has these top-level messages: - FieldMask -*/ package types import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import bytes "bytes" + import strings "strings" import reflect "reflect" @@ -233,14 +226,51 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // // Note that oneof type names ("test_oneof" in this case) cannot be used in // paths. +// +// ## Field Mask Verification +// +// The implementation of the all the API methods, which have any FieldMask type +// field in the request, should verify the included field paths, and return +// `INVALID_ARGUMENT` error if any path is duplicated or unmappable. type FieldMask struct { // The set of field mask paths. - Paths []string `protobuf:"bytes,1,rep,name=paths" json:"paths,omitempty"` + Paths []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *FieldMask) Reset() { *m = FieldMask{} } -func (*FieldMask) ProtoMessage() {} -func (*FieldMask) Descriptor() ([]byte, []int) { return fileDescriptorFieldMask, []int{0} } +func (m *FieldMask) Reset() { *m = FieldMask{} } +func (*FieldMask) ProtoMessage() {} +func (*FieldMask) Descriptor() ([]byte, []int) { + return fileDescriptor_field_mask_f1676d06eb3d88ba, []int{0} +} +func (m *FieldMask) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FieldMask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FieldMask.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 (dst *FieldMask) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldMask.Merge(dst, src) +} +func (m *FieldMask) XXX_Size() int { + return m.Size() +} +func (m *FieldMask) XXX_DiscardUnknown() { + xxx_messageInfo_FieldMask.DiscardUnknown(m) +} + +var xxx_messageInfo_FieldMask proto.InternalMessageInfo func (m *FieldMask) GetPaths() []string { if m != nil { @@ -249,6 +279,9 @@ func (m *FieldMask) GetPaths() []string { return nil } +func (*FieldMask) XXX_MessageName() string { + return "google.protobuf.FieldMask" +} func init() { proto.RegisterType((*FieldMask)(nil), "google.protobuf.FieldMask") } @@ -291,6 +324,9 @@ func (this *FieldMask) Compare(that interface{}) int { return 1 } } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *FieldMask) Equal(that interface{}) bool { @@ -320,6 +356,9 @@ func (this *FieldMask) Equal(that interface{}) bool { return false } } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *FieldMask) GoString() string { @@ -329,6 +368,9 @@ func (this *FieldMask) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.FieldMask{") s = append(s, "Paths: "+fmt.Sprintf("%#v", this.Paths)+",\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, "") } @@ -370,6 +412,9 @@ func (m *FieldMask) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], s) } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -390,6 +435,7 @@ func NewPopulatedFieldMask(r randyFieldMask, easy bool) *FieldMask { this.Paths[i] = string(randStringFieldMask(r)) } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedFieldMask(r, 2) } return this } @@ -467,6 +513,9 @@ func encodeVarintPopulateFieldMask(dAtA []byte, v uint64) []byte { return dAtA } func (m *FieldMask) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Paths) > 0 { @@ -475,6 +524,9 @@ func (m *FieldMask) Size() (n int) { n += 1 + l + sovFieldMask(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -497,6 +549,7 @@ func (this *FieldMask) String() string { } s := strings.Join([]string{`&FieldMask{`, `Paths:` + fmt.Sprintf("%v", this.Paths) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -579,6 +632,7 @@ func (m *FieldMask) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -693,21 +747,23 @@ var ( ErrIntOverflowFieldMask = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("field_mask.proto", fileDescriptorFieldMask) } - -var fileDescriptorFieldMask = []byte{ - // 193 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcb, 0x4c, 0xcd, - 0x49, 0x89, 0xcf, 0x4d, 0x2c, 0xce, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x4f, 0xcf, - 0xcf, 0x4f, 0xcf, 0x49, 0x85, 0xf0, 0x92, 0x4a, 0xd3, 0x94, 0x14, 0xb9, 0x38, 0xdd, 0x40, 0x8a, - 0x7c, 0x13, 0x8b, 0xb3, 0x85, 0x44, 0xb8, 0x58, 0x0b, 0x12, 0x4b, 0x32, 0x8a, 0x25, 0x18, 0x15, - 0x98, 0x35, 0x38, 0x83, 0x20, 0x1c, 0xa7, 0x56, 0xc6, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, - 0x63, 0xf8, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x86, 0x47, 0x72, 0x8c, 0x2b, 0x1e, - 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, - 0x1e, 0xc9, 0x31, 0x7c, 0x00, 0x89, 0x3f, 0x96, 0x63, 0xe4, 0x12, 0x4e, 0xce, 0xcf, 0xd5, 0x43, - 0xb3, 0xca, 0x89, 0x0f, 0x6e, 0x51, 0x00, 0x48, 0x28, 0x80, 0x31, 0x8a, 0xb5, 0xa4, 0xb2, 0x20, - 0xb5, 0x78, 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0x86, 0x00, 0xa8, - 0x06, 0xbd, 0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x10, 0x90, 0xb2, 0x24, 0x36, - 0xb0, 0x49, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x51, 0x31, 0x89, 0xb5, 0xd6, 0x00, 0x00, - 0x00, +func init() { + proto.RegisterFile("google/protobuf/field_mask.proto", fileDescriptor_field_mask_f1676d06eb3d88ba) +} + +var fileDescriptor_field_mask_f1676d06eb3d88ba = []byte{ + // 200 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcb, 0x4c, 0xcd, + 0x49, 0x89, 0xcf, 0x4d, 0x2c, 0xce, 0xd6, 0x03, 0x8b, 0x09, 0xf1, 0x43, 0x54, 0xe8, 0xc1, 0x54, + 0x28, 0x29, 0x72, 0x71, 0xba, 0x81, 0x14, 0xf9, 0x26, 0x16, 0x67, 0x0b, 0x89, 0x70, 0xb1, 0x16, + 0x24, 0x96, 0x64, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x41, 0x38, 0x4e, 0xad, 0x8c, + 0x37, 0x1e, 0xca, 0x31, 0x7c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, + 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, + 0x39, 0xc6, 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x80, 0xc4, 0x1f, 0xcb, 0x31, 0x9e, 0x78, 0x2c, 0xc7, + 0xc8, 0x25, 0x9c, 0x9c, 0x9f, 0xab, 0x87, 0x66, 0x95, 0x13, 0x1f, 0xdc, 0xa2, 0x00, 0x90, 0x50, + 0x00, 0x63, 0x14, 0x6b, 0x49, 0x65, 0x41, 0x6a, 0xf1, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55, + 0x4c, 0x72, 0xee, 0x10, 0x0d, 0x01, 0x50, 0x0d, 0x7a, 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, + 0xe5, 0x79, 0x21, 0x20, 0x65, 0x49, 0x6c, 0x60, 0x93, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, + 0xcf, 0xae, 0x5b, 0xec, 0xe6, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/types/protosize.go b/vendor/github.com/gogo/protobuf/types/protosize.go new file mode 100644 index 000000000..3a2d1b7e1 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/types/protosize.go @@ -0,0 +1,34 @@ +package types + +func (m *Any) ProtoSize() (n int) { return m.Size() } +func (m *Api) ProtoSize() (n int) { return m.Size() } +func (m *Method) ProtoSize() (n int) { return m.Size() } +func (m *Mixin) ProtoSize() (n int) { return m.Size() } +func (m *Duration) ProtoSize() (n int) { return m.Size() } +func (m *Empty) ProtoSize() (n int) { return m.Size() } +func (m *FieldMask) ProtoSize() (n int) { return m.Size() } +func (m *SourceContext) ProtoSize() (n int) { return m.Size() } +func (m *Struct) ProtoSize() (n int) { return m.Size() } +func (m *Value) ProtoSize() (n int) { return m.Size() } +func (m *Value_NullValue) ProtoSize() (n int) { return m.Size() } +func (m *Value_NumberValue) ProtoSize() (n int) { return m.Size() } +func (m *Value_StringValue) ProtoSize() (n int) { return m.Size() } +func (m *Value_BoolValue) ProtoSize() (n int) { return m.Size() } +func (m *Value_StructValue) ProtoSize() (n int) { return m.Size() } +func (m *Value_ListValue) ProtoSize() (n int) { return m.Size() } +func (m *ListValue) ProtoSize() (n int) { return m.Size() } +func (m *Timestamp) ProtoSize() (n int) { return m.Size() } +func (m *Type) ProtoSize() (n int) { return m.Size() } +func (m *Field) ProtoSize() (n int) { return m.Size() } +func (m *Enum) ProtoSize() (n int) { return m.Size() } +func (m *EnumValue) ProtoSize() (n int) { return m.Size() } +func (m *Option) ProtoSize() (n int) { return m.Size() } +func (m *DoubleValue) ProtoSize() (n int) { return m.Size() } +func (m *FloatValue) ProtoSize() (n int) { return m.Size() } +func (m *Int64Value) ProtoSize() (n int) { return m.Size() } +func (m *UInt64Value) ProtoSize() (n int) { return m.Size() } +func (m *Int32Value) ProtoSize() (n int) { return m.Size() } +func (m *UInt32Value) ProtoSize() (n int) { return m.Size() } +func (m *BoolValue) ProtoSize() (n int) { return m.Size() } +func (m *StringValue) ProtoSize() (n int) { return m.Size() } +func (m *BytesValue) ProtoSize() (n int) { return m.Size() } diff --git a/vendor/github.com/gogo/protobuf/types/source_context.pb.go b/vendor/github.com/gogo/protobuf/types/source_context.pb.go new file mode 100644 index 000000000..97b6d62ab --- /dev/null +++ b/vendor/github.com/gogo/protobuf/types/source_context.pb.go @@ -0,0 +1,538 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: google/protobuf/source_context.proto + +package types + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import bytes "bytes" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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 + +// `SourceContext` represents information about the source of a +// protobuf element, like the file in which it is defined. +type SourceContext struct { + // The path-qualified name of the .proto file that contained the associated + // protobuf element. For example: `"google/protobuf/source_context.proto"`. + FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SourceContext) Reset() { *m = SourceContext{} } +func (*SourceContext) ProtoMessage() {} +func (*SourceContext) Descriptor() ([]byte, []int) { + return fileDescriptor_source_context_b387e69fb08d10e5, []int{0} +} +func (m *SourceContext) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SourceContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SourceContext.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 (dst *SourceContext) XXX_Merge(src proto.Message) { + xxx_messageInfo_SourceContext.Merge(dst, src) +} +func (m *SourceContext) XXX_Size() int { + return m.Size() +} +func (m *SourceContext) XXX_DiscardUnknown() { + xxx_messageInfo_SourceContext.DiscardUnknown(m) +} + +var xxx_messageInfo_SourceContext proto.InternalMessageInfo + +func (m *SourceContext) GetFileName() string { + if m != nil { + return m.FileName + } + return "" +} + +func (*SourceContext) XXX_MessageName() string { + return "google.protobuf.SourceContext" +} +func init() { + proto.RegisterType((*SourceContext)(nil), "google.protobuf.SourceContext") +} +func (this *SourceContext) Compare(that interface{}) int { + if that == nil { + if this == nil { + return 0 + } + return 1 + } + + that1, ok := that.(*SourceContext) + if !ok { + that2, ok := that.(SourceContext) + if ok { + that1 = &that2 + } else { + return 1 + } + } + if that1 == nil { + if this == nil { + return 0 + } + return 1 + } else if this == nil { + return -1 + } + if this.FileName != that1.FileName { + if this.FileName < that1.FileName { + return -1 + } + return 1 + } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } + return 0 +} +func (this *SourceContext) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*SourceContext) + if !ok { + that2, ok := that.(SourceContext) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.FileName != that1.FileName { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +func (this *SourceContext) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 5) + s = append(s, "&types.SourceContext{") + s = append(s, "FileName: "+fmt.Sprintf("%#v", this.FileName)+",\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 valueToGoStringSourceContext(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 *SourceContext) 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 *SourceContext) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.FileName) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintSourceContext(dAtA, i, uint64(len(m.FileName))) + i += copy(dAtA[i:], m.FileName) + } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } + return i, nil +} + +func encodeVarintSourceContext(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 NewPopulatedSourceContext(r randySourceContext, easy bool) *SourceContext { + this := &SourceContext{} + this.FileName = string(randStringSourceContext(r)) + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedSourceContext(r, 2) + } + return this +} + +type randySourceContext interface { + Float32() float32 + Float64() float64 + Int63() int64 + Int31() int32 + Uint32() uint32 + Intn(n int) int +} + +func randUTF8RuneSourceContext(r randySourceContext) 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 randStringSourceContext(r randySourceContext) string { + v1 := r.Intn(100) + tmps := make([]rune, v1) + for i := 0; i < v1; i++ { + tmps[i] = randUTF8RuneSourceContext(r) + } + return string(tmps) +} +func randUnrecognizedSourceContext(r randySourceContext, 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 = randFieldSourceContext(dAtA, r, fieldNumber, wire) + } + return dAtA +} +func randFieldSourceContext(dAtA []byte, r randySourceContext, fieldNumber int, wire int) []byte { + key := uint32(fieldNumber)<<3 | uint32(wire) + switch wire { + case 0: + dAtA = encodeVarintPopulateSourceContext(dAtA, uint64(key)) + v2 := r.Int63() + if r.Intn(2) == 0 { + v2 *= -1 + } + dAtA = encodeVarintPopulateSourceContext(dAtA, uint64(v2)) + case 1: + dAtA = encodeVarintPopulateSourceContext(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 = encodeVarintPopulateSourceContext(dAtA, uint64(key)) + ll := r.Intn(100) + dAtA = encodeVarintPopulateSourceContext(dAtA, uint64(ll)) + for j := 0; j < ll; j++ { + dAtA = append(dAtA, byte(r.Intn(256))) + } + default: + dAtA = encodeVarintPopulateSourceContext(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 encodeVarintPopulateSourceContext(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 *SourceContext) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.FileName) + if l > 0 { + n += 1 + l + sovSourceContext(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func sovSourceContext(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozSourceContext(x uint64) (n int) { + return sovSourceContext(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *SourceContext) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SourceContext{`, + `FileName:` + fmt.Sprintf("%v", this.FileName) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func valueToStringSourceContext(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *SourceContext) 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 ErrIntOverflowSourceContext + } + 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: SourceContext: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SourceContext: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FileName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSourceContext + } + 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 ErrInvalidLengthSourceContext + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FileName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipSourceContext(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthSourceContext + } + 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 skipSourceContext(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, ErrIntOverflowSourceContext + } + 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, ErrIntOverflowSourceContext + } + 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, ErrIntOverflowSourceContext + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthSourceContext + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowSourceContext + } + 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 := skipSourceContext(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + 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 ( + ErrInvalidLengthSourceContext = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowSourceContext = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("google/protobuf/source_context.proto", fileDescriptor_source_context_b387e69fb08d10e5) +} + +var fileDescriptor_source_context_b387e69fb08d10e5 = []byte{ + // 212 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x49, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xce, 0x2f, 0x2d, + 0x4a, 0x4e, 0x8d, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xad, 0x28, 0xd1, 0x03, 0x8b, 0x0b, 0xf1, 0x43, + 0x54, 0xe9, 0xc1, 0x54, 0x29, 0xe9, 0x70, 0xf1, 0x06, 0x83, 0x15, 0x3a, 0x43, 0xd4, 0x09, 0x49, + 0x73, 0x71, 0xa6, 0x65, 0xe6, 0xa4, 0xc6, 0xe7, 0x25, 0xe6, 0xa6, 0x4a, 0x30, 0x2a, 0x30, 0x6a, + 0x70, 0x06, 0x71, 0x80, 0x04, 0xfc, 0x12, 0x73, 0x53, 0x9d, 0x3a, 0x19, 0x6f, 0x3c, 0x94, 0x63, + 0xf8, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x86, 0x47, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, + 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e, + 0xc9, 0x31, 0x7c, 0x00, 0x89, 0x3f, 0x96, 0x63, 0x3c, 0xf1, 0x58, 0x8e, 0x91, 0x4b, 0x38, 0x39, + 0x3f, 0x57, 0x0f, 0xcd, 0x56, 0x27, 0x21, 0x14, 0x3b, 0x03, 0x40, 0xc2, 0x01, 0x8c, 0x51, 0xac, + 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, + 0x34, 0x05, 0x40, 0x35, 0xe9, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, + 0x94, 0x25, 0xb1, 0x81, 0x4d, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x37, 0x2a, 0xa1, + 0xf9, 0x00, 0x00, 0x00, +} diff --git a/vendor/github.com/gogo/protobuf/types/struct.pb.go b/vendor/github.com/gogo/protobuf/types/struct.pb.go index 7d5372b03..2b6575ffa 100644 --- a/vendor/github.com/gogo/protobuf/types/struct.pb.go +++ b/vendor/github.com/gogo/protobuf/types/struct.pb.go @@ -1,17 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: struct.proto +// source: google/protobuf/struct.proto -/* - Package types is a generated protocol buffer package. - - It is generated from these files: - struct.proto - - It has these top-level messages: - Struct - Value - ListValue -*/ package types import proto "github.com/gogo/protobuf/proto" @@ -20,11 +9,13 @@ import math "math" import strconv "strconv" +import bytes "bytes" + import strings "strings" import reflect "reflect" -import sortkeys "github.com/gogo/protobuf/sortkeys" +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" -import binary "encoding/binary" +import encoding_binary "encoding/binary" import io "io" @@ -47,7 +38,7 @@ type NullValue int32 const ( // Null value. - NULL_VALUE NullValue = 0 + NullValue_NULL_VALUE NullValue = 0 ) var NullValue_name = map[int32]string{ @@ -57,8 +48,10 @@ var NullValue_value = map[string]int32{ "NULL_VALUE": 0, } -func (NullValue) EnumDescriptor() ([]byte, []int) { return fileDescriptorStruct, []int{0} } -func (NullValue) XXX_WellKnownType() string { return "NullValue" } +func (NullValue) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_struct_7f9d36853146434f, []int{0} +} +func (NullValue) XXX_WellKnownType() string { return "NullValue" } // `Struct` represents a structured data value, consisting of fields // which map to dynamically typed values. In some languages, `Struct` @@ -70,13 +63,44 @@ func (NullValue) XXX_WellKnownType() string { return "NullValue" } // The JSON representation for `Struct` is JSON object. type Struct struct { // Unordered map of dynamically typed values. - Fields map[string]*Value `protobuf:"bytes,1,rep,name=fields" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"` + Fields map[string]*Value `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Struct) Reset() { *m = Struct{} } -func (*Struct) ProtoMessage() {} -func (*Struct) Descriptor() ([]byte, []int) { return fileDescriptorStruct, []int{0} } -func (*Struct) XXX_WellKnownType() string { return "Struct" } +func (m *Struct) Reset() { *m = Struct{} } +func (*Struct) ProtoMessage() {} +func (*Struct) Descriptor() ([]byte, []int) { + return fileDescriptor_struct_7f9d36853146434f, []int{0} +} +func (*Struct) XXX_WellKnownType() string { return "Struct" } +func (m *Struct) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Struct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Struct.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 (dst *Struct) XXX_Merge(src proto.Message) { + xxx_messageInfo_Struct.Merge(dst, src) +} +func (m *Struct) XXX_Size() int { + return m.Size() +} +func (m *Struct) XXX_DiscardUnknown() { + xxx_messageInfo_Struct.DiscardUnknown(m) +} + +var xxx_messageInfo_Struct proto.InternalMessageInfo func (m *Struct) GetFields() map[string]*Value { if m != nil { @@ -85,6 +109,10 @@ func (m *Struct) GetFields() map[string]*Value { return nil } +func (*Struct) XXX_MessageName() string { + return "google.protobuf.Struct" +} + // `Value` represents a dynamically typed value which can be either // null, a number, a string, a boolean, a recursive struct value, or a // list of values. A producer of value is expected to set one of that @@ -101,13 +129,44 @@ type Value struct { // *Value_BoolValue // *Value_StructValue // *Value_ListValue - Kind isValue_Kind `protobuf_oneof:"kind"` + Kind isValue_Kind `protobuf_oneof:"kind"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Value) Reset() { *m = Value{} } -func (*Value) ProtoMessage() {} -func (*Value) Descriptor() ([]byte, []int) { return fileDescriptorStruct, []int{1} } -func (*Value) XXX_WellKnownType() string { return "Value" } +func (m *Value) Reset() { *m = Value{} } +func (*Value) ProtoMessage() {} +func (*Value) Descriptor() ([]byte, []int) { + return fileDescriptor_struct_7f9d36853146434f, []int{1} +} +func (*Value) XXX_WellKnownType() string { return "Value" } +func (m *Value) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Value.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 (dst *Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_Value.Merge(dst, src) +} +func (m *Value) XXX_Size() int { + return m.Size() +} +func (m *Value) XXX_DiscardUnknown() { + xxx_messageInfo_Value.DiscardUnknown(m) +} + +var xxx_messageInfo_Value proto.InternalMessageInfo type isValue_Kind interface { isValue_Kind() @@ -129,10 +188,10 @@ type Value_BoolValue struct { BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"` } type Value_StructValue struct { - StructValue *Struct `protobuf:"bytes,5,opt,name=struct_value,json=structValue,oneof"` + StructValue *Struct `protobuf:"bytes,5,opt,name=struct_value,json=structValue,proto3,oneof"` } type Value_ListValue struct { - ListValue *ListValue `protobuf:"bytes,6,opt,name=list_value,json=listValue,oneof"` + ListValue *ListValue `protobuf:"bytes,6,opt,name=list_value,json=listValue,proto3,oneof"` } func (*Value_NullValue) isValue_Kind() {} @@ -153,7 +212,7 @@ func (m *Value) GetNullValue() NullValue { if x, ok := m.GetKind().(*Value_NullValue); ok { return x.NullValue } - return NULL_VALUE + return NullValue_NULL_VALUE } func (m *Value) GetNumberValue() float64 { @@ -297,26 +356,26 @@ func _Value_OneofSizer(msg proto.Message) (n int) { // kind switch x := m.Kind.(type) { case *Value_NullValue: - n += proto.SizeVarint(1<<3 | proto.WireVarint) + n += 1 // tag and wire n += proto.SizeVarint(uint64(x.NullValue)) case *Value_NumberValue: - n += proto.SizeVarint(2<<3 | proto.WireFixed64) + n += 1 // tag and wire n += 8 case *Value_StringValue: - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(len(x.StringValue))) n += len(x.StringValue) case *Value_BoolValue: - n += proto.SizeVarint(4<<3 | proto.WireVarint) + n += 1 // tag and wire n += 1 case *Value_StructValue: s := proto.Size(x.StructValue) - n += proto.SizeVarint(5<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case *Value_ListValue: s := proto.Size(x.ListValue) - n += proto.SizeVarint(6<<3 | proto.WireBytes) + n += 1 // tag and wire n += proto.SizeVarint(uint64(s)) n += s case nil: @@ -326,18 +385,53 @@ func _Value_OneofSizer(msg proto.Message) (n int) { return n } +func (*Value) XXX_MessageName() string { + return "google.protobuf.Value" +} + // `ListValue` is a wrapper around a repeated field of values. // // The JSON representation for `ListValue` is JSON array. type ListValue struct { // Repeated field of dynamically typed values. - Values []*Value `protobuf:"bytes,1,rep,name=values" json:"values,omitempty"` + Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ListValue) Reset() { *m = ListValue{} } -func (*ListValue) ProtoMessage() {} -func (*ListValue) Descriptor() ([]byte, []int) { return fileDescriptorStruct, []int{2} } -func (*ListValue) XXX_WellKnownType() string { return "ListValue" } +func (m *ListValue) Reset() { *m = ListValue{} } +func (*ListValue) ProtoMessage() {} +func (*ListValue) Descriptor() ([]byte, []int) { + return fileDescriptor_struct_7f9d36853146434f, []int{2} +} +func (*ListValue) XXX_WellKnownType() string { return "ListValue" } +func (m *ListValue) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ListValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ListValue.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 (dst *ListValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListValue.Merge(dst, src) +} +func (m *ListValue) XXX_Size() int { + return m.Size() +} +func (m *ListValue) XXX_DiscardUnknown() { + xxx_messageInfo_ListValue.DiscardUnknown(m) +} + +var xxx_messageInfo_ListValue proto.InternalMessageInfo func (m *ListValue) GetValues() []*Value { if m != nil { @@ -346,8 +440,12 @@ func (m *ListValue) GetValues() []*Value { return nil } +func (*ListValue) XXX_MessageName() string { + return "google.protobuf.ListValue" +} func init() { proto.RegisterType((*Struct)(nil), "google.protobuf.Struct") + proto.RegisterMapType((map[string]*Value)(nil), "google.protobuf.Struct.FieldsEntry") proto.RegisterType((*Value)(nil), "google.protobuf.Value") proto.RegisterType((*ListValue)(nil), "google.protobuf.ListValue") proto.RegisterEnum("google.protobuf.NullValue", NullValue_name, NullValue_value) @@ -386,6 +484,9 @@ func (this *Struct) Equal(that interface{}) bool { return false } } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Value) Equal(that interface{}) bool { @@ -416,6 +517,9 @@ func (this *Value) Equal(that interface{}) bool { } else if !this.Kind.Equal(that1.Kind) { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Value_NullValue) Equal(that interface{}) bool { @@ -589,6 +693,9 @@ func (this *ListValue) Equal(that interface{}) bool { return false } } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Struct) GoString() string { @@ -601,7 +708,7 @@ func (this *Struct) GoString() string { for k := range this.Fields { keysForFields = append(keysForFields, k) } - sortkeys.Strings(keysForFields) + github_com_gogo_protobuf_sortkeys.Strings(keysForFields) mapStringForFields := "map[string]*Value{" for _, k := range keysForFields { mapStringForFields += fmt.Sprintf("%#v: %#v,", k, this.Fields[k]) @@ -610,6 +717,9 @@ func (this *Struct) GoString() string { if this.Fields != nil { s = append(s, "Fields: "+mapStringForFields+",\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, "") } @@ -622,6 +732,9 @@ func (this *Value) GoString() string { if this.Kind != nil { s = append(s, "Kind: "+fmt.Sprintf("%#v", this.Kind)+",\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, "") } @@ -682,6 +795,9 @@ func (this *ListValue) GoString() string { if this.Values != nil { s = append(s, "Values: "+fmt.Sprintf("%#v", this.Values)+",\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, "") } @@ -736,6 +852,9 @@ func (m *Struct) MarshalTo(dAtA []byte) (int, error) { } } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -761,6 +880,9 @@ func (m *Value) MarshalTo(dAtA []byte) (int, error) { } i += nn2 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -775,7 +897,7 @@ func (m *Value_NumberValue) MarshalTo(dAtA []byte) (int, error) { i := 0 dAtA[i] = 0x11 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) i += 8 return i, nil } @@ -854,6 +976,9 @@ func (m *ListValue) MarshalTo(dAtA []byte) (int, error) { i += n } } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -876,6 +1001,7 @@ func NewPopulatedStruct(r randyStruct, easy bool) *Struct { } } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedStruct(r, 2) } return this } @@ -898,6 +1024,7 @@ func NewPopulatedValue(r randyStruct, easy bool) *Value { this.Kind = NewPopulatedValue_ListValue(r, easy) } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedStruct(r, 7) } return this } @@ -945,6 +1072,7 @@ func NewPopulatedListValue(r randyStruct, easy bool) *ListValue { } } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedStruct(r, 2) } return this } @@ -1022,6 +1150,9 @@ func encodeVarintPopulateStruct(dAtA []byte, v uint64) []byte { return dAtA } func (m *Struct) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Fields) > 0 { @@ -1037,31 +1168,49 @@ func (m *Struct) Size() (n int) { n += mapEntrySize + 1 + sovStruct(uint64(mapEntrySize)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Value) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Kind != nil { n += m.Kind.Size() } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Value_NullValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 1 + sovStruct(uint64(m.NullValue)) return n } func (m *Value_NumberValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 9 return n } func (m *Value_StringValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.StringValue) @@ -1069,12 +1218,18 @@ func (m *Value_StringValue) Size() (n int) { return n } func (m *Value_BoolValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l n += 2 return n } func (m *Value_StructValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.StructValue != nil { @@ -1084,6 +1239,9 @@ func (m *Value_StructValue) Size() (n int) { return n } func (m *Value_ListValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.ListValue != nil { @@ -1093,6 +1251,9 @@ func (m *Value_ListValue) Size() (n int) { return n } func (m *ListValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if len(m.Values) > 0 { @@ -1101,6 +1262,9 @@ func (m *ListValue) Size() (n int) { n += 1 + l + sovStruct(uint64(l)) } } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -1125,7 +1289,7 @@ func (this *Struct) String() string { for k := range this.Fields { keysForFields = append(keysForFields, k) } - sortkeys.Strings(keysForFields) + github_com_gogo_protobuf_sortkeys.Strings(keysForFields) mapStringForFields := "map[string]*Value{" for _, k := range keysForFields { mapStringForFields += fmt.Sprintf("%v: %v,", k, this.Fields[k]) @@ -1133,6 +1297,7 @@ func (this *Struct) String() string { mapStringForFields += "}" s := strings.Join([]string{`&Struct{`, `Fields:` + mapStringForFields + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1143,6 +1308,7 @@ func (this *Value) String() string { } s := strings.Join([]string{`&Value{`, `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1213,6 +1379,7 @@ func (this *ListValue) String() string { } s := strings.Join([]string{`&ListValue{`, `Values:` + strings.Replace(fmt.Sprintf("%v", this.Values), "Value", "Value", 1) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1389,6 +1556,7 @@ func (m *Struct) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1455,7 +1623,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Kind = &Value_NumberValue{float64(math.Float64frombits(v))} case 3: @@ -1584,6 +1752,7 @@ func (m *Value) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1665,6 +1834,7 @@ func (m *ListValue) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1779,35 +1949,38 @@ var ( ErrIntOverflowStruct = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("struct.proto", fileDescriptorStruct) } - -var fileDescriptorStruct = []byte{ - // 432 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xb1, 0x6f, 0xd3, 0x40, - 0x14, 0xc6, 0xfd, 0x9c, 0xc6, 0x22, 0xcf, 0x55, 0xa9, 0x0e, 0x09, 0xa2, 0x22, 0x1d, 0x51, 0xba, - 0x58, 0x08, 0x79, 0x08, 0x0b, 0x22, 0x2c, 0x58, 0x2a, 0xad, 0x84, 0x55, 0x19, 0x43, 0x8b, 0xc4, - 0x12, 0xe1, 0xd4, 0x8d, 0xac, 0x5e, 0xef, 0x2a, 0xfb, 0x0c, 0xca, 0x06, 0xff, 0x05, 0x33, 0x13, - 0x62, 0xe4, 0xaf, 0x60, 0xec, 0xc8, 0x88, 0x3d, 0x31, 0x76, 0xec, 0x88, 0xee, 0xce, 0x36, 0xa8, - 0x51, 0x36, 0xbf, 0xcf, 0xbf, 0xf7, 0xbd, 0xf7, 0xbd, 0xc3, 0xcd, 0x42, 0xe6, 0xe5, 0x5c, 0xfa, - 0x17, 0xb9, 0x90, 0x82, 0xdc, 0x5e, 0x08, 0xb1, 0x60, 0xa9, 0xa9, 0x92, 0xf2, 0x74, 0xfc, 0x05, - 0xd0, 0x79, 0xad, 0x09, 0x32, 0x45, 0xe7, 0x34, 0x4b, 0xd9, 0x49, 0x31, 0x84, 0x51, 0xcf, 0x73, - 0x27, 0xbb, 0xfe, 0x0d, 0xd8, 0x37, 0xa0, 0xff, 0x42, 0x53, 0x7b, 0x5c, 0xe6, 0xcb, 0xb8, 0x69, - 0xd9, 0x79, 0x85, 0xee, 0x7f, 0x32, 0xd9, 0xc6, 0xde, 0x59, 0xba, 0x1c, 0xc2, 0x08, 0xbc, 0x41, - 0xac, 0x3e, 0xc9, 0x23, 0xec, 0x7f, 0x78, 0xcf, 0xca, 0x74, 0x68, 0x8f, 0xc0, 0x73, 0x27, 0x77, - 0x57, 0xcc, 0x8f, 0xd5, 0xdf, 0xd8, 0x40, 0x4f, 0xed, 0x27, 0x30, 0xfe, 0x61, 0x63, 0x5f, 0x8b, - 0x64, 0x8a, 0xc8, 0x4b, 0xc6, 0x66, 0xc6, 0x40, 0x99, 0x6e, 0x4d, 0x76, 0x56, 0x0c, 0x0e, 0x4b, - 0xc6, 0x34, 0x7f, 0x60, 0xc5, 0x03, 0xde, 0x16, 0x64, 0x17, 0x37, 0x79, 0x79, 0x9e, 0xa4, 0xf9, - 0xec, 0xdf, 0x7c, 0x38, 0xb0, 0x62, 0xd7, 0xa8, 0x1d, 0x54, 0xc8, 0x3c, 0xe3, 0x8b, 0x06, 0xea, - 0xa9, 0xc5, 0x15, 0x64, 0x54, 0x03, 0x3d, 0x40, 0x4c, 0x84, 0x68, 0xd7, 0xd8, 0x18, 0x81, 0x77, - 0x4b, 0x8d, 0x52, 0x9a, 0x01, 0x9e, 0xb5, 0xd7, 0x6e, 0x90, 0xbe, 0x8e, 0x7a, 0x6f, 0xcd, 0x1d, - 0x1b, 0xfb, 0x72, 0x2e, 0xbb, 0x94, 0x2c, 0x2b, 0xda, 0x5e, 0x47, 0xf7, 0xae, 0xa6, 0x0c, 0xb3, - 0x42, 0x76, 0x29, 0x59, 0x5b, 0x04, 0x0e, 0x6e, 0x9c, 0x65, 0xfc, 0x64, 0x3c, 0xc5, 0x41, 0x47, - 0x10, 0x1f, 0x1d, 0x6d, 0xd6, 0xbe, 0xe8, 0xba, 0xa3, 0x37, 0xd4, 0xc3, 0xfb, 0x38, 0xe8, 0x8e, - 0x48, 0xb6, 0x10, 0x0f, 0x8f, 0xc2, 0x70, 0x76, 0xfc, 0x3c, 0x3c, 0xda, 0xdb, 0xb6, 0x82, 0xcf, - 0x70, 0x59, 0x51, 0xeb, 0x57, 0x45, 0xad, 0xab, 0x8a, 0xc2, 0x75, 0x45, 0xe1, 0x53, 0x4d, 0xe1, - 0x5b, 0x4d, 0xe1, 0x67, 0x4d, 0xe1, 0xb2, 0xa6, 0xf0, 0xbb, 0xa6, 0xf0, 0xa7, 0xa6, 0xd6, 0x55, - 0x4d, 0x01, 0xef, 0xcc, 0xc5, 0xf9, 0xcd, 0x71, 0x81, 0x6b, 0x92, 0x47, 0xaa, 0x8e, 0xe0, 0x5d, - 0x5f, 0x2e, 0x2f, 0xd2, 0xe2, 0x1a, 0xe0, 0xab, 0xdd, 0xdb, 0x8f, 0x82, 0xef, 0x36, 0xdd, 0x37, - 0x0d, 0x51, 0xbb, 0xdf, 0xdb, 0x94, 0xb1, 0x97, 0x5c, 0x7c, 0xe4, 0x6f, 0x14, 0x99, 0x38, 0xda, - 0xe9, 0xf1, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x75, 0xc5, 0x1c, 0x3b, 0xd5, 0x02, 0x00, 0x00, +func init() { + proto.RegisterFile("google/protobuf/struct.proto", fileDescriptor_struct_7f9d36853146434f) +} + +var fileDescriptor_struct_7f9d36853146434f = []byte{ + // 439 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xc1, 0x6b, 0xd4, 0x40, + 0x14, 0xc6, 0xf3, 0xb2, 0xdd, 0xe0, 0xbe, 0x48, 0x2d, 0x23, 0xe8, 0x52, 0x65, 0x5c, 0xb6, 0x97, + 0x45, 0x24, 0x85, 0xf5, 0x22, 0xae, 0x17, 0x17, 0x6a, 0x0b, 0x86, 0x12, 0xa3, 0xad, 0xe0, 0x65, + 0x31, 0x69, 0xba, 0x84, 0x4e, 0x67, 0x4a, 0x32, 0xa3, 0xec, 0x4d, 0xff, 0x0b, 0xcf, 0x9e, 0xc4, + 0xa3, 0x7f, 0x85, 0x47, 0x8f, 0x1e, 0xdd, 0x78, 0xf1, 0xd8, 0x63, 0x8f, 0x32, 0x33, 0x49, 0x94, + 0x2e, 0xbd, 0xe5, 0x7d, 0xf3, 0x7b, 0xdf, 0x7b, 0xdf, 0x0b, 0xde, 0x9d, 0x0b, 0x31, 0x67, 0xd9, + 0xf6, 0x59, 0x21, 0xa4, 0x48, 0xd4, 0xf1, 0x76, 0x29, 0x0b, 0x95, 0xca, 0xc0, 0xd4, 0xe4, 0x86, + 0x7d, 0x0d, 0x9a, 0xd7, 0xe1, 0x27, 0x40, 0xef, 0xa5, 0x21, 0xc8, 0x04, 0xbd, 0xe3, 0x3c, 0x63, + 0x47, 0x65, 0x1f, 0x06, 0x9d, 0x91, 0x3f, 0xde, 0x0a, 0x2e, 0xc1, 0x81, 0x05, 0x83, 0x67, 0x86, + 0xda, 0xe1, 0xb2, 0x58, 0xc4, 0x75, 0xcb, 0xe6, 0x0b, 0xf4, 0xff, 0x93, 0xc9, 0x06, 0x76, 0x4e, + 0xb2, 0x45, 0x1f, 0x06, 0x30, 0xea, 0xc5, 0xfa, 0x93, 0x3c, 0xc0, 0xee, 0xbb, 0xb7, 0x4c, 0x65, + 0x7d, 0x77, 0x00, 0x23, 0x7f, 0x7c, 0x6b, 0xc5, 0xfc, 0x50, 0xbf, 0xc6, 0x16, 0x7a, 0xec, 0x3e, + 0x82, 0xe1, 0x37, 0x17, 0xbb, 0x46, 0x24, 0x13, 0x44, 0xae, 0x18, 0x9b, 0x59, 0x03, 0x6d, 0xba, + 0x3e, 0xde, 0x5c, 0x31, 0xd8, 0x57, 0x8c, 0x19, 0x7e, 0xcf, 0x89, 0x7b, 0xbc, 0x29, 0xc8, 0x16, + 0x5e, 0xe7, 0xea, 0x34, 0xc9, 0x8a, 0xd9, 0xbf, 0xf9, 0xb0, 0xe7, 0xc4, 0xbe, 0x55, 0x5b, 0xa8, + 0x94, 0x45, 0xce, 0xe7, 0x35, 0xd4, 0xd1, 0x8b, 0x6b, 0xc8, 0xaa, 0x16, 0xba, 0x87, 0x98, 0x08, + 0xd1, 0xac, 0xb1, 0x36, 0x80, 0xd1, 0x35, 0x3d, 0x4a, 0x6b, 0x16, 0x78, 0x62, 0x5c, 0x54, 0x2a, + 0x6b, 0xa4, 0x6b, 0xa2, 0xde, 0xbe, 0xe2, 0x8e, 0xb5, 0xbd, 0x4a, 0x65, 0x9b, 0x92, 0xe5, 0x65, + 0xd3, 0xeb, 0x99, 0xde, 0xd5, 0x94, 0x61, 0x5e, 0xca, 0x36, 0x25, 0x6b, 0x8a, 0xa9, 0x87, 0x6b, + 0x27, 0x39, 0x3f, 0x1a, 0x4e, 0xb0, 0xd7, 0x12, 0x24, 0x40, 0xcf, 0x98, 0x35, 0x7f, 0xf4, 0xaa, + 0xa3, 0xd7, 0xd4, 0xfd, 0x3b, 0xd8, 0x6b, 0x8f, 0x48, 0xd6, 0x11, 0xf7, 0x0f, 0xc2, 0x70, 0x76, + 0xf8, 0x34, 0x3c, 0xd8, 0xd9, 0x70, 0xa6, 0x1f, 0xe1, 0xe7, 0x92, 0x3a, 0xe7, 0x4b, 0x0a, 0x17, + 0x4b, 0x0a, 0x1f, 0x2a, 0x0a, 0x5f, 0x2a, 0x0a, 0xdf, 0x2b, 0x0a, 0x3f, 0x2a, 0x0a, 0xbf, 0x2a, + 0x0a, 0x7f, 0x2a, 0xea, 0x9c, 0x6b, 0xed, 0x37, 0x05, 0xbc, 0x99, 0x8a, 0xd3, 0xcb, 0xe3, 0xa6, + 0xbe, 0x4d, 0x1e, 0xe9, 0x3a, 0x82, 0x37, 0x5d, 0xb9, 0x38, 0xcb, 0xca, 0x0b, 0x80, 0xcf, 0x6e, + 0x67, 0x37, 0x9a, 0x7e, 0x75, 0xe9, 0xae, 0x6d, 0x88, 0x9a, 0xfd, 0x5e, 0x67, 0x8c, 0x3d, 0xe7, + 0xe2, 0x3d, 0x7f, 0xa5, 0xc9, 0xc4, 0x33, 0x4e, 0x0f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xad, + 0x84, 0x08, 0xae, 0xe5, 0x02, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/types/timestamp.pb.go b/vendor/github.com/gogo/protobuf/types/timestamp.pb.go index 41b18f941..b6c910012 100644 --- a/vendor/github.com/gogo/protobuf/types/timestamp.pb.go +++ b/vendor/github.com/gogo/protobuf/types/timestamp.pb.go @@ -1,21 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: timestamp.proto +// source: google/protobuf/timestamp.proto -/* - Package types is a generated protocol buffer package. - - It is generated from these files: - timestamp.proto - - It has these top-level messages: - Timestamp -*/ package types import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import bytes "bytes" + import strings "strings" import reflect "reflect" @@ -95,7 +88,9 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone -// is required, though only UTC (as indicated by "Z") is presently supported. +// is required. A proto3 JSON serializer should always use UTC (as indicated by +// "Z") when printing the Timestamp type and a proto3 JSON parser should be +// able to accept both UTC and other timezones (as indicated by an offset). // // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past // 01:30 UTC on January 15, 2017. @@ -106,8 +101,8 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) // with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one // can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( -// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()) -// to obtain a formatter capable of generating timestamps in this format. +// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime-- +// ) to obtain a formatter capable of generating timestamps in this format. // // type Timestamp struct { @@ -119,13 +114,44 @@ type Timestamp struct { // second values with fractions must still have non-negative nanos values // that count forward in time. Must be from 0 to 999,999,999 // inclusive. - Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` + Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Timestamp) Reset() { *m = Timestamp{} } -func (*Timestamp) ProtoMessage() {} -func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptorTimestamp, []int{0} } -func (*Timestamp) XXX_WellKnownType() string { return "Timestamp" } +func (m *Timestamp) Reset() { *m = Timestamp{} } +func (*Timestamp) ProtoMessage() {} +func (*Timestamp) Descriptor() ([]byte, []int) { + return fileDescriptor_timestamp_820f61227bd8f1e8, []int{0} +} +func (*Timestamp) XXX_WellKnownType() string { return "Timestamp" } +func (m *Timestamp) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Timestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Timestamp.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 (dst *Timestamp) XXX_Merge(src proto.Message) { + xxx_messageInfo_Timestamp.Merge(dst, src) +} +func (m *Timestamp) XXX_Size() int { + return m.Size() +} +func (m *Timestamp) XXX_DiscardUnknown() { + xxx_messageInfo_Timestamp.DiscardUnknown(m) +} + +var xxx_messageInfo_Timestamp proto.InternalMessageInfo func (m *Timestamp) GetSeconds() int64 { if m != nil { @@ -141,6 +167,9 @@ func (m *Timestamp) GetNanos() int32 { return 0 } +func (*Timestamp) XXX_MessageName() string { + return "google.protobuf.Timestamp" +} func init() { proto.RegisterType((*Timestamp)(nil), "google.protobuf.Timestamp") } @@ -181,6 +210,9 @@ func (this *Timestamp) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *Timestamp) Equal(that interface{}) bool { @@ -208,6 +240,9 @@ func (this *Timestamp) Equal(that interface{}) bool { if this.Nanos != that1.Nanos { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Timestamp) GoString() string { @@ -218,6 +253,9 @@ func (this *Timestamp) GoString() string { s = append(s, "&types.Timestamp{") s = append(s, "Seconds: "+fmt.Sprintf("%#v", this.Seconds)+",\n") s = append(s, "Nanos: "+fmt.Sprintf("%#v", this.Nanos)+",\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, "") } @@ -254,6 +292,9 @@ func (m *Timestamp) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintTimestamp(dAtA, i, uint64(m.Nanos)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -267,6 +308,9 @@ func encodeVarintTimestamp(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Timestamp) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Seconds != 0 { @@ -275,6 +319,9 @@ func (m *Timestamp) Size() (n int) { if m.Nanos != 0 { n += 1 + sovTimestamp(uint64(m.Nanos)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -370,6 +417,7 @@ func (m *Timestamp) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -484,21 +532,24 @@ var ( ErrIntOverflowTimestamp = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("timestamp.proto", fileDescriptorTimestamp) } - -var fileDescriptorTimestamp = []byte{ - // 205 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2f, 0xc9, 0xcc, 0x4d, - 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x4f, 0xcf, 0xcf, - 0x4f, 0xcf, 0x49, 0x85, 0xf0, 0x92, 0x4a, 0xd3, 0x94, 0xac, 0xb9, 0x38, 0x43, 0x60, 0x6a, 0x84, - 0x24, 0xb8, 0xd8, 0x8b, 0x53, 0x93, 0xf3, 0xf3, 0x52, 0x8a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x98, - 0x83, 0x60, 0x5c, 0x21, 0x11, 0x2e, 0xd6, 0xbc, 0xc4, 0xbc, 0xfc, 0x62, 0x09, 0x26, 0x05, 0x46, - 0x0d, 0xd6, 0x20, 0x08, 0xc7, 0xa9, 0x81, 0xf1, 0xc2, 0x43, 0x39, 0x86, 0x1b, 0x0f, 0xe5, 0x18, - 0x3e, 0x3c, 0x94, 0x63, 0x5c, 0xf1, 0x48, 0x8e, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, - 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x7c, 0xf1, 0x48, 0x8e, 0xe1, 0xc3, 0x23, 0x39, 0xc6, 0x15, 0x8f, - 0xe5, 0x18, 0xb9, 0x84, 0x93, 0xf3, 0x73, 0xf5, 0xd0, 0x2c, 0x77, 0xe2, 0x83, 0x5b, 0x1d, 0x00, - 0x12, 0x0a, 0x60, 0x8c, 0x62, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0xfe, 0xc1, 0xc8, 0xb8, 0x88, 0x89, - 0xd9, 0x3d, 0xc0, 0x69, 0x15, 0x93, 0x9c, 0x3b, 0x44, 0x4f, 0x00, 0x54, 0x8f, 0x5e, 0x78, 0x6a, - 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x65, 0x12, 0x1b, 0xd8, 0x30, 0x63, 0x40, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x9b, 0xa2, 0x42, 0xda, 0xea, 0x00, 0x00, 0x00, +func init() { + proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor_timestamp_820f61227bd8f1e8) +} + +var fileDescriptor_timestamp_820f61227bd8f1e8 = []byte{ + // 212 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d, + 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28, + 0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, + 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89, + 0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x03, 0xe3, 0x8d, + 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, + 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0xc7, 0xf0, 0xe1, 0x91, 0x1c, + 0xe3, 0x8a, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, + 0x59, 0xee, 0xc4, 0x07, 0xb7, 0x3a, 0x00, 0x24, 0x14, 0xc0, 0x18, 0xc5, 0x5a, 0x52, 0x59, 0x90, + 0x5a, 0xfc, 0x83, 0x91, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, + 0x9e, 0x00, 0xa8, 0x1e, 0xbd, 0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x10, 0x90, + 0xca, 0x24, 0x36, 0xb0, 0x61, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x23, 0x83, 0xdd, + 0xfa, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/types/type.pb.go b/vendor/github.com/gogo/protobuf/types/type.pb.go new file mode 100644 index 000000000..b422be3a4 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/types/type.pb.go @@ -0,0 +1,3243 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: google/protobuf/type.proto + +package types + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import bytes "bytes" + +import strconv "strconv" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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 + +// The syntax in which a protocol buffer element is defined. +type Syntax int32 + +const ( + // Syntax `proto2`. + Syntax_SYNTAX_PROTO2 Syntax = 0 + // Syntax `proto3`. + Syntax_SYNTAX_PROTO3 Syntax = 1 +) + +var Syntax_name = map[int32]string{ + 0: "SYNTAX_PROTO2", + 1: "SYNTAX_PROTO3", +} +var Syntax_value = map[string]int32{ + "SYNTAX_PROTO2": 0, + "SYNTAX_PROTO3": 1, +} + +func (Syntax) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_type_0082d870c49329d7, []int{0} +} + +// Basic field types. +type Field_Kind int32 + +const ( + // Field type unknown. + Field_TYPE_UNKNOWN Field_Kind = 0 + // Field type double. + Field_TYPE_DOUBLE Field_Kind = 1 + // Field type float. + Field_TYPE_FLOAT Field_Kind = 2 + // Field type int64. + Field_TYPE_INT64 Field_Kind = 3 + // Field type uint64. + Field_TYPE_UINT64 Field_Kind = 4 + // Field type int32. + Field_TYPE_INT32 Field_Kind = 5 + // Field type fixed64. + Field_TYPE_FIXED64 Field_Kind = 6 + // Field type fixed32. + Field_TYPE_FIXED32 Field_Kind = 7 + // Field type bool. + Field_TYPE_BOOL Field_Kind = 8 + // Field type string. + Field_TYPE_STRING Field_Kind = 9 + // Field type group. Proto2 syntax only, and deprecated. + Field_TYPE_GROUP Field_Kind = 10 + // Field type message. + Field_TYPE_MESSAGE Field_Kind = 11 + // Field type bytes. + Field_TYPE_BYTES Field_Kind = 12 + // Field type uint32. + Field_TYPE_UINT32 Field_Kind = 13 + // Field type enum. + Field_TYPE_ENUM Field_Kind = 14 + // Field type sfixed32. + Field_TYPE_SFIXED32 Field_Kind = 15 + // Field type sfixed64. + Field_TYPE_SFIXED64 Field_Kind = 16 + // Field type sint32. + Field_TYPE_SINT32 Field_Kind = 17 + // Field type sint64. + Field_TYPE_SINT64 Field_Kind = 18 +) + +var Field_Kind_name = map[int32]string{ + 0: "TYPE_UNKNOWN", + 1: "TYPE_DOUBLE", + 2: "TYPE_FLOAT", + 3: "TYPE_INT64", + 4: "TYPE_UINT64", + 5: "TYPE_INT32", + 6: "TYPE_FIXED64", + 7: "TYPE_FIXED32", + 8: "TYPE_BOOL", + 9: "TYPE_STRING", + 10: "TYPE_GROUP", + 11: "TYPE_MESSAGE", + 12: "TYPE_BYTES", + 13: "TYPE_UINT32", + 14: "TYPE_ENUM", + 15: "TYPE_SFIXED32", + 16: "TYPE_SFIXED64", + 17: "TYPE_SINT32", + 18: "TYPE_SINT64", +} +var Field_Kind_value = map[string]int32{ + "TYPE_UNKNOWN": 0, + "TYPE_DOUBLE": 1, + "TYPE_FLOAT": 2, + "TYPE_INT64": 3, + "TYPE_UINT64": 4, + "TYPE_INT32": 5, + "TYPE_FIXED64": 6, + "TYPE_FIXED32": 7, + "TYPE_BOOL": 8, + "TYPE_STRING": 9, + "TYPE_GROUP": 10, + "TYPE_MESSAGE": 11, + "TYPE_BYTES": 12, + "TYPE_UINT32": 13, + "TYPE_ENUM": 14, + "TYPE_SFIXED32": 15, + "TYPE_SFIXED64": 16, + "TYPE_SINT32": 17, + "TYPE_SINT64": 18, +} + +func (Field_Kind) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_type_0082d870c49329d7, []int{1, 0} +} + +// Whether a field is optional, required, or repeated. +type Field_Cardinality int32 + +const ( + // For fields with unknown cardinality. + Field_CARDINALITY_UNKNOWN Field_Cardinality = 0 + // For optional fields. + Field_CARDINALITY_OPTIONAL Field_Cardinality = 1 + // For required fields. Proto2 syntax only. + Field_CARDINALITY_REQUIRED Field_Cardinality = 2 + // For repeated fields. + Field_CARDINALITY_REPEATED Field_Cardinality = 3 +) + +var Field_Cardinality_name = map[int32]string{ + 0: "CARDINALITY_UNKNOWN", + 1: "CARDINALITY_OPTIONAL", + 2: "CARDINALITY_REQUIRED", + 3: "CARDINALITY_REPEATED", +} +var Field_Cardinality_value = map[string]int32{ + "CARDINALITY_UNKNOWN": 0, + "CARDINALITY_OPTIONAL": 1, + "CARDINALITY_REQUIRED": 2, + "CARDINALITY_REPEATED": 3, +} + +func (Field_Cardinality) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_type_0082d870c49329d7, []int{1, 1} +} + +// A protocol buffer message type. +type Type struct { + // The fully qualified message name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The list of fields. + Fields []*Field `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` + // The list of types appearing in `oneof` definitions in this type. + Oneofs []string `protobuf:"bytes,3,rep,name=oneofs,proto3" json:"oneofs,omitempty"` + // The protocol buffer options. + Options []*Option `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` + // The source context. + SourceContext *SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"` + // The source syntax. + Syntax Syntax `protobuf:"varint,6,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Type) Reset() { *m = Type{} } +func (*Type) ProtoMessage() {} +func (*Type) Descriptor() ([]byte, []int) { + return fileDescriptor_type_0082d870c49329d7, []int{0} +} +func (m *Type) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Type.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 (dst *Type) XXX_Merge(src proto.Message) { + xxx_messageInfo_Type.Merge(dst, src) +} +func (m *Type) XXX_Size() int { + return m.Size() +} +func (m *Type) XXX_DiscardUnknown() { + xxx_messageInfo_Type.DiscardUnknown(m) +} + +var xxx_messageInfo_Type proto.InternalMessageInfo + +func (m *Type) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Type) GetFields() []*Field { + if m != nil { + return m.Fields + } + return nil +} + +func (m *Type) GetOneofs() []string { + if m != nil { + return m.Oneofs + } + return nil +} + +func (m *Type) GetOptions() []*Option { + if m != nil { + return m.Options + } + return nil +} + +func (m *Type) GetSourceContext() *SourceContext { + if m != nil { + return m.SourceContext + } + return nil +} + +func (m *Type) GetSyntax() Syntax { + if m != nil { + return m.Syntax + } + return Syntax_SYNTAX_PROTO2 +} + +func (*Type) XXX_MessageName() string { + return "google.protobuf.Type" +} + +// A single field of a message type. +type Field struct { + // The field type. + Kind Field_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=google.protobuf.Field_Kind" json:"kind,omitempty"` + // The field cardinality. + Cardinality Field_Cardinality `protobuf:"varint,2,opt,name=cardinality,proto3,enum=google.protobuf.Field_Cardinality" json:"cardinality,omitempty"` + // The field number. + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + // The field name. + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // The field type URL, without the scheme, for message or enumeration + // types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + TypeUrl string `protobuf:"bytes,6,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"` + // The index of the field type in `Type.oneofs`, for message or enumeration + // types. The first type has index 1; zero means the type is not in the list. + OneofIndex int32 `protobuf:"varint,7,opt,name=oneof_index,json=oneofIndex,proto3" json:"oneof_index,omitempty"` + // Whether to use alternative packed wire representation. + Packed bool `protobuf:"varint,8,opt,name=packed,proto3" json:"packed,omitempty"` + // The protocol buffer options. + Options []*Option `protobuf:"bytes,9,rep,name=options,proto3" json:"options,omitempty"` + // The field JSON name. + JsonName string `protobuf:"bytes,10,opt,name=json_name,json=jsonName,proto3" json:"json_name,omitempty"` + // The string value of the default value of this field. Proto2 syntax only. + DefaultValue string `protobuf:"bytes,11,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Field) Reset() { *m = Field{} } +func (*Field) ProtoMessage() {} +func (*Field) Descriptor() ([]byte, []int) { + return fileDescriptor_type_0082d870c49329d7, []int{1} +} +func (m *Field) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Field) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Field.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 (dst *Field) XXX_Merge(src proto.Message) { + xxx_messageInfo_Field.Merge(dst, src) +} +func (m *Field) XXX_Size() int { + return m.Size() +} +func (m *Field) XXX_DiscardUnknown() { + xxx_messageInfo_Field.DiscardUnknown(m) +} + +var xxx_messageInfo_Field proto.InternalMessageInfo + +func (m *Field) GetKind() Field_Kind { + if m != nil { + return m.Kind + } + return Field_TYPE_UNKNOWN +} + +func (m *Field) GetCardinality() Field_Cardinality { + if m != nil { + return m.Cardinality + } + return Field_CARDINALITY_UNKNOWN +} + +func (m *Field) GetNumber() int32 { + if m != nil { + return m.Number + } + return 0 +} + +func (m *Field) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Field) GetTypeUrl() string { + if m != nil { + return m.TypeUrl + } + return "" +} + +func (m *Field) GetOneofIndex() int32 { + if m != nil { + return m.OneofIndex + } + return 0 +} + +func (m *Field) GetPacked() bool { + if m != nil { + return m.Packed + } + return false +} + +func (m *Field) GetOptions() []*Option { + if m != nil { + return m.Options + } + return nil +} + +func (m *Field) GetJsonName() string { + if m != nil { + return m.JsonName + } + return "" +} + +func (m *Field) GetDefaultValue() string { + if m != nil { + return m.DefaultValue + } + return "" +} + +func (*Field) XXX_MessageName() string { + return "google.protobuf.Field" +} + +// Enum type definition. +type Enum struct { + // Enum type name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Enum value definitions. + Enumvalue []*EnumValue `protobuf:"bytes,2,rep,name=enumvalue,proto3" json:"enumvalue,omitempty"` + // Protocol buffer options. + Options []*Option `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + // The source context. + SourceContext *SourceContext `protobuf:"bytes,4,opt,name=source_context,json=sourceContext,proto3" json:"source_context,omitempty"` + // The source syntax. + Syntax Syntax `protobuf:"varint,5,opt,name=syntax,proto3,enum=google.protobuf.Syntax" json:"syntax,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Enum) Reset() { *m = Enum{} } +func (*Enum) ProtoMessage() {} +func (*Enum) Descriptor() ([]byte, []int) { + return fileDescriptor_type_0082d870c49329d7, []int{2} +} +func (m *Enum) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Enum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Enum.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 (dst *Enum) XXX_Merge(src proto.Message) { + xxx_messageInfo_Enum.Merge(dst, src) +} +func (m *Enum) XXX_Size() int { + return m.Size() +} +func (m *Enum) XXX_DiscardUnknown() { + xxx_messageInfo_Enum.DiscardUnknown(m) +} + +var xxx_messageInfo_Enum proto.InternalMessageInfo + +func (m *Enum) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Enum) GetEnumvalue() []*EnumValue { + if m != nil { + return m.Enumvalue + } + return nil +} + +func (m *Enum) GetOptions() []*Option { + if m != nil { + return m.Options + } + return nil +} + +func (m *Enum) GetSourceContext() *SourceContext { + if m != nil { + return m.SourceContext + } + return nil +} + +func (m *Enum) GetSyntax() Syntax { + if m != nil { + return m.Syntax + } + return Syntax_SYNTAX_PROTO2 +} + +func (*Enum) XXX_MessageName() string { + return "google.protobuf.Enum" +} + +// Enum value definition. +type EnumValue struct { + // Enum value name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Enum value number. + Number int32 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` + // Protocol buffer options. + Options []*Option `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *EnumValue) Reset() { *m = EnumValue{} } +func (*EnumValue) ProtoMessage() {} +func (*EnumValue) Descriptor() ([]byte, []int) { + return fileDescriptor_type_0082d870c49329d7, []int{3} +} +func (m *EnumValue) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EnumValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EnumValue.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 (dst *EnumValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumValue.Merge(dst, src) +} +func (m *EnumValue) XXX_Size() int { + return m.Size() +} +func (m *EnumValue) XXX_DiscardUnknown() { + xxx_messageInfo_EnumValue.DiscardUnknown(m) +} + +var xxx_messageInfo_EnumValue proto.InternalMessageInfo + +func (m *EnumValue) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *EnumValue) GetNumber() int32 { + if m != nil { + return m.Number + } + return 0 +} + +func (m *EnumValue) GetOptions() []*Option { + if m != nil { + return m.Options + } + return nil +} + +func (*EnumValue) XXX_MessageName() string { + return "google.protobuf.EnumValue" +} + +// A protocol buffer option, which can be attached to a message, field, +// enumeration, etc. +type Option struct { + // The option's name. For protobuf built-in options (options defined in + // descriptor.proto), this is the short name. For example, `"map_entry"`. + // For custom options, it should be the fully-qualified name. For example, + // `"google.api.http"`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The option's value packed in an Any message. If the value is a primitive, + // the corresponding wrapper type defined in google/protobuf/wrappers.proto + // should be used. If the value is an enum, it should be stored as an int32 + // value using the google.protobuf.Int32Value type. + Value *Any `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Option) Reset() { *m = Option{} } +func (*Option) ProtoMessage() {} +func (*Option) Descriptor() ([]byte, []int) { + return fileDescriptor_type_0082d870c49329d7, []int{4} +} +func (m *Option) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Option) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Option.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 (dst *Option) XXX_Merge(src proto.Message) { + xxx_messageInfo_Option.Merge(dst, src) +} +func (m *Option) XXX_Size() int { + return m.Size() +} +func (m *Option) XXX_DiscardUnknown() { + xxx_messageInfo_Option.DiscardUnknown(m) +} + +var xxx_messageInfo_Option proto.InternalMessageInfo + +func (m *Option) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Option) GetValue() *Any { + if m != nil { + return m.Value + } + return nil +} + +func (*Option) XXX_MessageName() string { + return "google.protobuf.Option" +} +func init() { + proto.RegisterType((*Type)(nil), "google.protobuf.Type") + proto.RegisterType((*Field)(nil), "google.protobuf.Field") + proto.RegisterType((*Enum)(nil), "google.protobuf.Enum") + proto.RegisterType((*EnumValue)(nil), "google.protobuf.EnumValue") + proto.RegisterType((*Option)(nil), "google.protobuf.Option") + proto.RegisterEnum("google.protobuf.Syntax", Syntax_name, Syntax_value) + proto.RegisterEnum("google.protobuf.Field_Kind", Field_Kind_name, Field_Kind_value) + proto.RegisterEnum("google.protobuf.Field_Cardinality", Field_Cardinality_name, Field_Cardinality_value) +} +func (this *Type) Compare(that interface{}) int { + if that == nil { + if this == nil { + return 0 + } + return 1 + } + + that1, ok := that.(*Type) + if !ok { + that2, ok := that.(Type) + if ok { + that1 = &that2 + } else { + return 1 + } + } + if that1 == nil { + if this == nil { + return 0 + } + return 1 + } else if this == nil { + return -1 + } + if this.Name != that1.Name { + if this.Name < that1.Name { + return -1 + } + return 1 + } + if len(this.Fields) != len(that1.Fields) { + if len(this.Fields) < len(that1.Fields) { + return -1 + } + return 1 + } + for i := range this.Fields { + if c := this.Fields[i].Compare(that1.Fields[i]); c != 0 { + return c + } + } + if len(this.Oneofs) != len(that1.Oneofs) { + if len(this.Oneofs) < len(that1.Oneofs) { + return -1 + } + return 1 + } + for i := range this.Oneofs { + if this.Oneofs[i] != that1.Oneofs[i] { + if this.Oneofs[i] < that1.Oneofs[i] { + return -1 + } + return 1 + } + } + if len(this.Options) != len(that1.Options) { + if len(this.Options) < len(that1.Options) { + return -1 + } + return 1 + } + for i := range this.Options { + if c := this.Options[i].Compare(that1.Options[i]); c != 0 { + return c + } + } + if c := this.SourceContext.Compare(that1.SourceContext); c != 0 { + return c + } + if this.Syntax != that1.Syntax { + if this.Syntax < that1.Syntax { + return -1 + } + return 1 + } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } + return 0 +} +func (this *Field) Compare(that interface{}) int { + if that == nil { + if this == nil { + return 0 + } + return 1 + } + + that1, ok := that.(*Field) + if !ok { + that2, ok := that.(Field) + if ok { + that1 = &that2 + } else { + return 1 + } + } + if that1 == nil { + if this == nil { + return 0 + } + return 1 + } else if this == nil { + return -1 + } + if this.Kind != that1.Kind { + if this.Kind < that1.Kind { + return -1 + } + return 1 + } + if this.Cardinality != that1.Cardinality { + if this.Cardinality < that1.Cardinality { + return -1 + } + return 1 + } + if this.Number != that1.Number { + if this.Number < that1.Number { + return -1 + } + return 1 + } + if this.Name != that1.Name { + if this.Name < that1.Name { + return -1 + } + return 1 + } + if this.TypeUrl != that1.TypeUrl { + if this.TypeUrl < that1.TypeUrl { + return -1 + } + return 1 + } + if this.OneofIndex != that1.OneofIndex { + if this.OneofIndex < that1.OneofIndex { + return -1 + } + return 1 + } + if this.Packed != that1.Packed { + if !this.Packed { + return -1 + } + return 1 + } + if len(this.Options) != len(that1.Options) { + if len(this.Options) < len(that1.Options) { + return -1 + } + return 1 + } + for i := range this.Options { + if c := this.Options[i].Compare(that1.Options[i]); c != 0 { + return c + } + } + if this.JsonName != that1.JsonName { + if this.JsonName < that1.JsonName { + return -1 + } + return 1 + } + if this.DefaultValue != that1.DefaultValue { + if this.DefaultValue < that1.DefaultValue { + return -1 + } + return 1 + } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } + return 0 +} +func (this *Enum) Compare(that interface{}) int { + if that == nil { + if this == nil { + return 0 + } + return 1 + } + + that1, ok := that.(*Enum) + if !ok { + that2, ok := that.(Enum) + if ok { + that1 = &that2 + } else { + return 1 + } + } + if that1 == nil { + if this == nil { + return 0 + } + return 1 + } else if this == nil { + return -1 + } + if this.Name != that1.Name { + if this.Name < that1.Name { + return -1 + } + return 1 + } + if len(this.Enumvalue) != len(that1.Enumvalue) { + if len(this.Enumvalue) < len(that1.Enumvalue) { + return -1 + } + return 1 + } + for i := range this.Enumvalue { + if c := this.Enumvalue[i].Compare(that1.Enumvalue[i]); c != 0 { + return c + } + } + if len(this.Options) != len(that1.Options) { + if len(this.Options) < len(that1.Options) { + return -1 + } + return 1 + } + for i := range this.Options { + if c := this.Options[i].Compare(that1.Options[i]); c != 0 { + return c + } + } + if c := this.SourceContext.Compare(that1.SourceContext); c != 0 { + return c + } + if this.Syntax != that1.Syntax { + if this.Syntax < that1.Syntax { + return -1 + } + return 1 + } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } + return 0 +} +func (this *EnumValue) Compare(that interface{}) int { + if that == nil { + if this == nil { + return 0 + } + return 1 + } + + that1, ok := that.(*EnumValue) + if !ok { + that2, ok := that.(EnumValue) + if ok { + that1 = &that2 + } else { + return 1 + } + } + if that1 == nil { + if this == nil { + return 0 + } + return 1 + } else if this == nil { + return -1 + } + if this.Name != that1.Name { + if this.Name < that1.Name { + return -1 + } + return 1 + } + if this.Number != that1.Number { + if this.Number < that1.Number { + return -1 + } + return 1 + } + if len(this.Options) != len(that1.Options) { + if len(this.Options) < len(that1.Options) { + return -1 + } + return 1 + } + for i := range this.Options { + if c := this.Options[i].Compare(that1.Options[i]); c != 0 { + return c + } + } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } + return 0 +} +func (this *Option) Compare(that interface{}) int { + if that == nil { + if this == nil { + return 0 + } + return 1 + } + + that1, ok := that.(*Option) + if !ok { + that2, ok := that.(Option) + if ok { + that1 = &that2 + } else { + return 1 + } + } + if that1 == nil { + if this == nil { + return 0 + } + return 1 + } else if this == nil { + return -1 + } + if this.Name != that1.Name { + if this.Name < that1.Name { + return -1 + } + return 1 + } + if c := this.Value.Compare(that1.Value); c != 0 { + return c + } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } + return 0 +} +func (x Syntax) String() string { + s, ok := Syntax_name[int32(x)] + if ok { + return s + } + return strconv.Itoa(int(x)) +} +func (x Field_Kind) String() string { + s, ok := Field_Kind_name[int32(x)] + if ok { + return s + } + return strconv.Itoa(int(x)) +} +func (x Field_Cardinality) String() string { + s, ok := Field_Cardinality_name[int32(x)] + if ok { + return s + } + return strconv.Itoa(int(x)) +} +func (this *Type) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Type) + if !ok { + that2, ok := that.(Type) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Name != that1.Name { + return false + } + if len(this.Fields) != len(that1.Fields) { + return false + } + for i := range this.Fields { + if !this.Fields[i].Equal(that1.Fields[i]) { + return false + } + } + if len(this.Oneofs) != len(that1.Oneofs) { + return false + } + for i := range this.Oneofs { + if this.Oneofs[i] != that1.Oneofs[i] { + return false + } + } + if len(this.Options) != len(that1.Options) { + return false + } + for i := range this.Options { + if !this.Options[i].Equal(that1.Options[i]) { + return false + } + } + if !this.SourceContext.Equal(that1.SourceContext) { + return false + } + if this.Syntax != that1.Syntax { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +func (this *Field) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Field) + if !ok { + that2, ok := that.(Field) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Kind != that1.Kind { + return false + } + if this.Cardinality != that1.Cardinality { + return false + } + if this.Number != that1.Number { + return false + } + if this.Name != that1.Name { + return false + } + if this.TypeUrl != that1.TypeUrl { + return false + } + if this.OneofIndex != that1.OneofIndex { + return false + } + if this.Packed != that1.Packed { + return false + } + if len(this.Options) != len(that1.Options) { + return false + } + for i := range this.Options { + if !this.Options[i].Equal(that1.Options[i]) { + return false + } + } + if this.JsonName != that1.JsonName { + return false + } + if this.DefaultValue != that1.DefaultValue { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +func (this *Enum) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Enum) + if !ok { + that2, ok := that.(Enum) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Name != that1.Name { + return false + } + if len(this.Enumvalue) != len(that1.Enumvalue) { + return false + } + for i := range this.Enumvalue { + if !this.Enumvalue[i].Equal(that1.Enumvalue[i]) { + return false + } + } + if len(this.Options) != len(that1.Options) { + return false + } + for i := range this.Options { + if !this.Options[i].Equal(that1.Options[i]) { + return false + } + } + if !this.SourceContext.Equal(that1.SourceContext) { + return false + } + if this.Syntax != that1.Syntax { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +func (this *EnumValue) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*EnumValue) + if !ok { + that2, ok := that.(EnumValue) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Name != that1.Name { + return false + } + if this.Number != that1.Number { + return false + } + if len(this.Options) != len(that1.Options) { + return false + } + for i := range this.Options { + if !this.Options[i].Equal(that1.Options[i]) { + return false + } + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +func (this *Option) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Option) + if !ok { + that2, ok := that.(Option) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Name != that1.Name { + return false + } + if !this.Value.Equal(that1.Value) { + return false + } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } + return true +} +func (this *Type) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 10) + s = append(s, "&types.Type{") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + if this.Fields != nil { + s = append(s, "Fields: "+fmt.Sprintf("%#v", this.Fields)+",\n") + } + s = append(s, "Oneofs: "+fmt.Sprintf("%#v", this.Oneofs)+",\n") + if this.Options != nil { + s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") + } + if this.SourceContext != nil { + s = append(s, "SourceContext: "+fmt.Sprintf("%#v", this.SourceContext)+",\n") + } + s = append(s, "Syntax: "+fmt.Sprintf("%#v", this.Syntax)+",\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 *Field) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 14) + s = append(s, "&types.Field{") + s = append(s, "Kind: "+fmt.Sprintf("%#v", this.Kind)+",\n") + s = append(s, "Cardinality: "+fmt.Sprintf("%#v", this.Cardinality)+",\n") + s = append(s, "Number: "+fmt.Sprintf("%#v", this.Number)+",\n") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + s = append(s, "TypeUrl: "+fmt.Sprintf("%#v", this.TypeUrl)+",\n") + s = append(s, "OneofIndex: "+fmt.Sprintf("%#v", this.OneofIndex)+",\n") + s = append(s, "Packed: "+fmt.Sprintf("%#v", this.Packed)+",\n") + if this.Options != nil { + s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") + } + s = append(s, "JsonName: "+fmt.Sprintf("%#v", this.JsonName)+",\n") + s = append(s, "DefaultValue: "+fmt.Sprintf("%#v", this.DefaultValue)+",\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 *Enum) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 9) + s = append(s, "&types.Enum{") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + if this.Enumvalue != nil { + s = append(s, "Enumvalue: "+fmt.Sprintf("%#v", this.Enumvalue)+",\n") + } + if this.Options != nil { + s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") + } + if this.SourceContext != nil { + s = append(s, "SourceContext: "+fmt.Sprintf("%#v", this.SourceContext)+",\n") + } + s = append(s, "Syntax: "+fmt.Sprintf("%#v", this.Syntax)+",\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 *EnumValue) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 7) + s = append(s, "&types.EnumValue{") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + s = append(s, "Number: "+fmt.Sprintf("%#v", this.Number)+",\n") + if this.Options != nil { + s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\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 *Option) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 6) + s = append(s, "&types.Option{") + s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") + if this.Value != nil { + s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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 valueToGoStringType(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 *Type) 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 *Type) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Name) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintType(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + } + if len(m.Fields) > 0 { + for _, msg := range m.Fields { + dAtA[i] = 0x12 + i++ + i = encodeVarintType(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Oneofs) > 0 { + for _, s := range m.Oneofs { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Options) > 0 { + for _, msg := range m.Options { + dAtA[i] = 0x22 + i++ + i = encodeVarintType(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.SourceContext != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintType(dAtA, i, uint64(m.SourceContext.Size())) + n1, err := m.SourceContext.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + } + if m.Syntax != 0 { + dAtA[i] = 0x30 + i++ + i = encodeVarintType(dAtA, i, uint64(m.Syntax)) + } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } + return i, nil +} + +func (m *Field) 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 *Field) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Kind != 0 { + dAtA[i] = 0x8 + i++ + i = encodeVarintType(dAtA, i, uint64(m.Kind)) + } + if m.Cardinality != 0 { + dAtA[i] = 0x10 + i++ + i = encodeVarintType(dAtA, i, uint64(m.Cardinality)) + } + if m.Number != 0 { + dAtA[i] = 0x18 + i++ + i = encodeVarintType(dAtA, i, uint64(m.Number)) + } + if len(m.Name) > 0 { + dAtA[i] = 0x22 + i++ + i = encodeVarintType(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + } + if len(m.TypeUrl) > 0 { + dAtA[i] = 0x32 + i++ + i = encodeVarintType(dAtA, i, uint64(len(m.TypeUrl))) + i += copy(dAtA[i:], m.TypeUrl) + } + if m.OneofIndex != 0 { + dAtA[i] = 0x38 + i++ + i = encodeVarintType(dAtA, i, uint64(m.OneofIndex)) + } + if m.Packed { + dAtA[i] = 0x40 + i++ + if m.Packed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + if len(m.Options) > 0 { + for _, msg := range m.Options { + dAtA[i] = 0x4a + i++ + i = encodeVarintType(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.JsonName) > 0 { + dAtA[i] = 0x52 + i++ + i = encodeVarintType(dAtA, i, uint64(len(m.JsonName))) + i += copy(dAtA[i:], m.JsonName) + } + if len(m.DefaultValue) > 0 { + dAtA[i] = 0x5a + i++ + i = encodeVarintType(dAtA, i, uint64(len(m.DefaultValue))) + i += copy(dAtA[i:], m.DefaultValue) + } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } + return i, nil +} + +func (m *Enum) 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 *Enum) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Name) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintType(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + } + if len(m.Enumvalue) > 0 { + for _, msg := range m.Enumvalue { + dAtA[i] = 0x12 + i++ + i = encodeVarintType(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Options) > 0 { + for _, msg := range m.Options { + dAtA[i] = 0x1a + i++ + i = encodeVarintType(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.SourceContext != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintType(dAtA, i, uint64(m.SourceContext.Size())) + n2, err := m.SourceContext.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + } + if m.Syntax != 0 { + dAtA[i] = 0x28 + i++ + i = encodeVarintType(dAtA, i, uint64(m.Syntax)) + } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } + return i, nil +} + +func (m *EnumValue) 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 *EnumValue) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Name) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintType(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + } + if m.Number != 0 { + dAtA[i] = 0x10 + i++ + i = encodeVarintType(dAtA, i, uint64(m.Number)) + } + if len(m.Options) > 0 { + for _, msg := range m.Options { + dAtA[i] = 0x1a + i++ + i = encodeVarintType(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } + return i, nil +} + +func (m *Option) 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 *Option) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Name) > 0 { + dAtA[i] = 0xa + i++ + i = encodeVarintType(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + } + if m.Value != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintType(dAtA, i, uint64(m.Value.Size())) + n3, err := m.Value.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 encodeVarintType(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 NewPopulatedType(r randyType, easy bool) *Type { + this := &Type{} + this.Name = string(randStringType(r)) + if r.Intn(10) != 0 { + v1 := r.Intn(5) + this.Fields = make([]*Field, v1) + for i := 0; i < v1; i++ { + this.Fields[i] = NewPopulatedField(r, easy) + } + } + v2 := r.Intn(10) + this.Oneofs = make([]string, v2) + for i := 0; i < v2; i++ { + this.Oneofs[i] = string(randStringType(r)) + } + if r.Intn(10) != 0 { + v3 := r.Intn(5) + this.Options = make([]*Option, v3) + for i := 0; i < v3; i++ { + this.Options[i] = NewPopulatedOption(r, easy) + } + } + if r.Intn(10) != 0 { + this.SourceContext = NewPopulatedSourceContext(r, easy) + } + this.Syntax = Syntax([]int32{0, 1}[r.Intn(2)]) + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedType(r, 7) + } + return this +} + +func NewPopulatedField(r randyType, easy bool) *Field { + this := &Field{} + this.Kind = Field_Kind([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}[r.Intn(19)]) + this.Cardinality = Field_Cardinality([]int32{0, 1, 2, 3}[r.Intn(4)]) + this.Number = int32(r.Int31()) + if r.Intn(2) == 0 { + this.Number *= -1 + } + this.Name = string(randStringType(r)) + this.TypeUrl = string(randStringType(r)) + this.OneofIndex = int32(r.Int31()) + if r.Intn(2) == 0 { + this.OneofIndex *= -1 + } + this.Packed = bool(bool(r.Intn(2) == 0)) + if r.Intn(10) != 0 { + v4 := r.Intn(5) + this.Options = make([]*Option, v4) + for i := 0; i < v4; i++ { + this.Options[i] = NewPopulatedOption(r, easy) + } + } + this.JsonName = string(randStringType(r)) + this.DefaultValue = string(randStringType(r)) + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedType(r, 12) + } + return this +} + +func NewPopulatedEnum(r randyType, easy bool) *Enum { + this := &Enum{} + this.Name = string(randStringType(r)) + if r.Intn(10) != 0 { + v5 := r.Intn(5) + this.Enumvalue = make([]*EnumValue, v5) + for i := 0; i < v5; i++ { + this.Enumvalue[i] = NewPopulatedEnumValue(r, easy) + } + } + if r.Intn(10) != 0 { + v6 := r.Intn(5) + this.Options = make([]*Option, v6) + for i := 0; i < v6; i++ { + this.Options[i] = NewPopulatedOption(r, easy) + } + } + if r.Intn(10) != 0 { + this.SourceContext = NewPopulatedSourceContext(r, easy) + } + this.Syntax = Syntax([]int32{0, 1}[r.Intn(2)]) + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedType(r, 6) + } + return this +} + +func NewPopulatedEnumValue(r randyType, easy bool) *EnumValue { + this := &EnumValue{} + this.Name = string(randStringType(r)) + this.Number = int32(r.Int31()) + if r.Intn(2) == 0 { + this.Number *= -1 + } + if r.Intn(10) != 0 { + v7 := r.Intn(5) + this.Options = make([]*Option, v7) + for i := 0; i < v7; i++ { + this.Options[i] = NewPopulatedOption(r, easy) + } + } + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedType(r, 4) + } + return this +} + +func NewPopulatedOption(r randyType, easy bool) *Option { + this := &Option{} + this.Name = string(randStringType(r)) + if r.Intn(10) != 0 { + this.Value = NewPopulatedAny(r, easy) + } + if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedType(r, 3) + } + return this +} + +type randyType interface { + Float32() float32 + Float64() float64 + Int63() int64 + Int31() int32 + Uint32() uint32 + Intn(n int) int +} + +func randUTF8RuneType(r randyType) 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 randStringType(r randyType) string { + v8 := r.Intn(100) + tmps := make([]rune, v8) + for i := 0; i < v8; i++ { + tmps[i] = randUTF8RuneType(r) + } + return string(tmps) +} +func randUnrecognizedType(r randyType, 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 = randFieldType(dAtA, r, fieldNumber, wire) + } + return dAtA +} +func randFieldType(dAtA []byte, r randyType, fieldNumber int, wire int) []byte { + key := uint32(fieldNumber)<<3 | uint32(wire) + switch wire { + case 0: + dAtA = encodeVarintPopulateType(dAtA, uint64(key)) + v9 := r.Int63() + if r.Intn(2) == 0 { + v9 *= -1 + } + dAtA = encodeVarintPopulateType(dAtA, uint64(v9)) + case 1: + dAtA = encodeVarintPopulateType(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 = encodeVarintPopulateType(dAtA, uint64(key)) + ll := r.Intn(100) + dAtA = encodeVarintPopulateType(dAtA, uint64(ll)) + for j := 0; j < ll; j++ { + dAtA = append(dAtA, byte(r.Intn(256))) + } + default: + dAtA = encodeVarintPopulateType(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 encodeVarintPopulateType(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 *Type) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovType(uint64(l)) + } + if len(m.Fields) > 0 { + for _, e := range m.Fields { + l = e.Size() + n += 1 + l + sovType(uint64(l)) + } + } + if len(m.Oneofs) > 0 { + for _, s := range m.Oneofs { + l = len(s) + n += 1 + l + sovType(uint64(l)) + } + } + if len(m.Options) > 0 { + for _, e := range m.Options { + l = e.Size() + n += 1 + l + sovType(uint64(l)) + } + } + if m.SourceContext != nil { + l = m.SourceContext.Size() + n += 1 + l + sovType(uint64(l)) + } + if m.Syntax != 0 { + n += 1 + sovType(uint64(m.Syntax)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *Field) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Kind != 0 { + n += 1 + sovType(uint64(m.Kind)) + } + if m.Cardinality != 0 { + n += 1 + sovType(uint64(m.Cardinality)) + } + if m.Number != 0 { + n += 1 + sovType(uint64(m.Number)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sovType(uint64(l)) + } + l = len(m.TypeUrl) + if l > 0 { + n += 1 + l + sovType(uint64(l)) + } + if m.OneofIndex != 0 { + n += 1 + sovType(uint64(m.OneofIndex)) + } + if m.Packed { + n += 2 + } + if len(m.Options) > 0 { + for _, e := range m.Options { + l = e.Size() + n += 1 + l + sovType(uint64(l)) + } + } + l = len(m.JsonName) + if l > 0 { + n += 1 + l + sovType(uint64(l)) + } + l = len(m.DefaultValue) + if l > 0 { + n += 1 + l + sovType(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *Enum) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovType(uint64(l)) + } + if len(m.Enumvalue) > 0 { + for _, e := range m.Enumvalue { + l = e.Size() + n += 1 + l + sovType(uint64(l)) + } + } + if len(m.Options) > 0 { + for _, e := range m.Options { + l = e.Size() + n += 1 + l + sovType(uint64(l)) + } + } + if m.SourceContext != nil { + l = m.SourceContext.Size() + n += 1 + l + sovType(uint64(l)) + } + if m.Syntax != 0 { + n += 1 + sovType(uint64(m.Syntax)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *EnumValue) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovType(uint64(l)) + } + if m.Number != 0 { + n += 1 + sovType(uint64(m.Number)) + } + if len(m.Options) > 0 { + for _, e := range m.Options { + l = e.Size() + n += 1 + l + sovType(uint64(l)) + } + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *Option) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovType(uint64(l)) + } + if m.Value != nil { + l = m.Value.Size() + n += 1 + l + sovType(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func sovType(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozType(x uint64) (n int) { + return sovType(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *Type) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Type{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Fields:` + strings.Replace(fmt.Sprintf("%v", this.Fields), "Field", "Field", 1) + `,`, + `Oneofs:` + fmt.Sprintf("%v", this.Oneofs) + `,`, + `Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "Option", "Option", 1) + `,`, + `SourceContext:` + strings.Replace(fmt.Sprintf("%v", this.SourceContext), "SourceContext", "SourceContext", 1) + `,`, + `Syntax:` + fmt.Sprintf("%v", this.Syntax) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *Field) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Field{`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `Cardinality:` + fmt.Sprintf("%v", this.Cardinality) + `,`, + `Number:` + fmt.Sprintf("%v", this.Number) + `,`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `TypeUrl:` + fmt.Sprintf("%v", this.TypeUrl) + `,`, + `OneofIndex:` + fmt.Sprintf("%v", this.OneofIndex) + `,`, + `Packed:` + fmt.Sprintf("%v", this.Packed) + `,`, + `Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "Option", "Option", 1) + `,`, + `JsonName:` + fmt.Sprintf("%v", this.JsonName) + `,`, + `DefaultValue:` + fmt.Sprintf("%v", this.DefaultValue) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *Enum) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Enum{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Enumvalue:` + strings.Replace(fmt.Sprintf("%v", this.Enumvalue), "EnumValue", "EnumValue", 1) + `,`, + `Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "Option", "Option", 1) + `,`, + `SourceContext:` + strings.Replace(fmt.Sprintf("%v", this.SourceContext), "SourceContext", "SourceContext", 1) + `,`, + `Syntax:` + fmt.Sprintf("%v", this.Syntax) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *EnumValue) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&EnumValue{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Number:` + fmt.Sprintf("%v", this.Number) + `,`, + `Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "Option", "Option", 1) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *Option) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Option{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Any", "Any", 1) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func valueToStringType(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *Type) 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 ErrIntOverflowType + } + 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: Type: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Type: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + 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 ErrInvalidLengthType + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fields", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthType + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Fields = append(m.Fields, &Field{}) + if err := m.Fields[len(m.Fields)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Oneofs", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + 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 ErrInvalidLengthType + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Oneofs = append(m.Oneofs, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthType + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Options = append(m.Options, &Option{}) + if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourceContext", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthType + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SourceContext == nil { + m.SourceContext = &SourceContext{} + } + if err := m.SourceContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Syntax", wireType) + } + m.Syntax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Syntax |= (Syntax(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipType(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthType + } + 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 *Field) 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 ErrIntOverflowType + } + 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: Field: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Field: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + m.Kind = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Kind |= (Field_Kind(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Cardinality", wireType) + } + m.Cardinality = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Cardinality |= (Field_Cardinality(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + } + m.Number = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Number |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + 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 ErrInvalidLengthType + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeUrl", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + 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 ErrInvalidLengthType + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TypeUrl = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OneofIndex", wireType) + } + m.OneofIndex = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OneofIndex |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Packed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Packed = bool(v != 0) + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthType + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Options = append(m.Options, &Option{}) + if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field JsonName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + 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 ErrInvalidLengthType + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.JsonName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultValue", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + 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 ErrInvalidLengthType + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DefaultValue = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipType(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthType + } + 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 *Enum) 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 ErrIntOverflowType + } + 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: Enum: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Enum: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + 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 ErrInvalidLengthType + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Enumvalue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthType + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Enumvalue = append(m.Enumvalue, &EnumValue{}) + if err := m.Enumvalue[len(m.Enumvalue)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthType + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Options = append(m.Options, &Option{}) + if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourceContext", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthType + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SourceContext == nil { + m.SourceContext = &SourceContext{} + } + if err := m.SourceContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Syntax", wireType) + } + m.Syntax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Syntax |= (Syntax(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipType(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthType + } + 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 *EnumValue) 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 ErrIntOverflowType + } + 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: EnumValue: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EnumValue: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + 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 ErrInvalidLengthType + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Number", wireType) + } + m.Number = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Number |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthType + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Options = append(m.Options, &Option{}) + if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipType(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthType + } + 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 *Option) 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 ErrIntOverflowType + } + 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: Option: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Option: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + 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 ErrInvalidLengthType + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowType + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthType + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Value == nil { + m.Value = &Any{} + } + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipType(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthType + } + 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 skipType(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, ErrIntOverflowType + } + 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, ErrIntOverflowType + } + 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, ErrIntOverflowType + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthType + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowType + } + 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 := skipType(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + 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 ( + ErrInvalidLengthType = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowType = fmt.Errorf("proto: integer overflow") +) + +func init() { proto.RegisterFile("google/protobuf/type.proto", fileDescriptor_type_0082d870c49329d7) } + +var fileDescriptor_type_0082d870c49329d7 = []byte{ + // 840 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xcf, 0x73, 0xda, 0x46, + 0x14, 0xf6, 0x0a, 0x21, 0xa3, 0x87, 0xc1, 0x9b, 0x4d, 0x26, 0x51, 0x9c, 0x19, 0x95, 0xa1, 0x3d, + 0x30, 0x39, 0xe0, 0x29, 0x78, 0x3c, 0xbd, 0x82, 0x91, 0x29, 0x63, 0x22, 0xa9, 0x8b, 0x68, 0xe2, + 0x5e, 0x18, 0x0c, 0x72, 0x86, 0x44, 0xac, 0x18, 0x24, 0x5a, 0x73, 0xeb, 0x4c, 0xcf, 0xfd, 0x27, + 0x7a, 0xea, 0xf4, 0xdc, 0x3f, 0xc2, 0xc7, 0x1e, 0x7b, 0xac, 0xc9, 0xa5, 0xc7, 0x1c, 0x73, 0x6b, + 0x67, 0x57, 0x20, 0x8b, 0x1f, 0x9d, 0x49, 0xdb, 0x1b, 0xef, 0xfb, 0xbe, 0xf7, 0x73, 0x9f, 0x1e, + 0x70, 0xf4, 0xda, 0xf7, 0x5f, 0x7b, 0xee, 0xf1, 0x64, 0xea, 0x87, 0xfe, 0xd5, 0xec, 0xfa, 0x38, + 0x9c, 0x4f, 0xdc, 0xb2, 0xb0, 0xc8, 0x61, 0xc4, 0x95, 0x57, 0xdc, 0xd1, 0xd3, 0x4d, 0x71, 0x9f, + 0xcd, 0x23, 0xf6, 0xe8, 0xb3, 0x4d, 0x2a, 0xf0, 0x67, 0xd3, 0x81, 0xdb, 0x1b, 0xf8, 0x2c, 0x74, + 0x6f, 0xc2, 0x48, 0x55, 0xfc, 0x51, 0x02, 0xd9, 0x99, 0x4f, 0x5c, 0x42, 0x40, 0x66, 0xfd, 0xb1, + 0xab, 0xa1, 0x02, 0x2a, 0xa9, 0x54, 0xfc, 0x26, 0x65, 0x50, 0xae, 0x47, 0xae, 0x37, 0x0c, 0x34, + 0xa9, 0x90, 0x2a, 0x65, 0x2b, 0x8f, 0xcb, 0x1b, 0xf9, 0xcb, 0xe7, 0x9c, 0xa6, 0x4b, 0x15, 0x79, + 0x0c, 0x8a, 0xcf, 0x5c, 0xff, 0x3a, 0xd0, 0x52, 0x85, 0x54, 0x49, 0xa5, 0x4b, 0x8b, 0x7c, 0x0e, + 0xfb, 0xfe, 0x24, 0x1c, 0xf9, 0x2c, 0xd0, 0x64, 0x11, 0xe8, 0xc9, 0x56, 0x20, 0x4b, 0xf0, 0x74, + 0xa5, 0x23, 0x06, 0xe4, 0xd7, 0xeb, 0xd5, 0xd2, 0x05, 0x54, 0xca, 0x56, 0xf4, 0x2d, 0xcf, 0x8e, + 0x90, 0x9d, 0x45, 0x2a, 0x9a, 0x0b, 0x92, 0x26, 0x39, 0x06, 0x25, 0x98, 0xb3, 0xb0, 0x7f, 0xa3, + 0x29, 0x05, 0x54, 0xca, 0xef, 0x48, 0xdc, 0x11, 0x34, 0x5d, 0xca, 0x8a, 0xbf, 0x2a, 0x90, 0x16, + 0x4d, 0x91, 0x63, 0x90, 0xdf, 0x8e, 0xd8, 0x50, 0x0c, 0x24, 0x5f, 0x79, 0xb6, 0xbb, 0xf5, 0xf2, + 0xc5, 0x88, 0x0d, 0xa9, 0x10, 0x92, 0x06, 0x64, 0x07, 0xfd, 0xe9, 0x70, 0xc4, 0xfa, 0xde, 0x28, + 0x9c, 0x6b, 0x92, 0xf0, 0x2b, 0xfe, 0x83, 0xdf, 0xd9, 0xbd, 0x92, 0x26, 0xdd, 0xf8, 0x0c, 0xd9, + 0x6c, 0x7c, 0xe5, 0x4e, 0xb5, 0x54, 0x01, 0x95, 0xd2, 0x74, 0x69, 0xc5, 0xef, 0x23, 0x27, 0xde, + 0xe7, 0x29, 0x64, 0xf8, 0x72, 0xf4, 0x66, 0x53, 0x4f, 0xf4, 0xa7, 0xd2, 0x7d, 0x6e, 0x77, 0xa7, + 0x1e, 0xf9, 0x04, 0xb2, 0x62, 0xf8, 0xbd, 0x11, 0x1b, 0xba, 0x37, 0xda, 0xbe, 0x88, 0x05, 0x02, + 0x6a, 0x71, 0x84, 0xe7, 0x99, 0xf4, 0x07, 0x6f, 0xdd, 0xa1, 0x96, 0x29, 0xa0, 0x52, 0x86, 0x2e, + 0xad, 0xe4, 0x5b, 0xa9, 0x1f, 0xf9, 0x56, 0xcf, 0x40, 0x7d, 0x13, 0xf8, 0xac, 0x27, 0xea, 0x03, + 0x51, 0x47, 0x86, 0x03, 0x26, 0xaf, 0xf1, 0x53, 0xc8, 0x0d, 0xdd, 0xeb, 0xfe, 0xcc, 0x0b, 0x7b, + 0xdf, 0xf6, 0xbd, 0x99, 0xab, 0x65, 0x85, 0xe0, 0x60, 0x09, 0x7e, 0xcd, 0xb1, 0xe2, 0xad, 0x04, + 0x32, 0x9f, 0x24, 0xc1, 0x70, 0xe0, 0x5c, 0xda, 0x46, 0xaf, 0x6b, 0x5e, 0x98, 0xd6, 0x4b, 0x13, + 0xef, 0x91, 0x43, 0xc8, 0x0a, 0xa4, 0x61, 0x75, 0xeb, 0x6d, 0x03, 0x23, 0x92, 0x07, 0x10, 0xc0, + 0x79, 0xdb, 0xaa, 0x39, 0x58, 0x8a, 0xed, 0x96, 0xe9, 0x9c, 0x9e, 0xe0, 0x54, 0xec, 0xd0, 0x8d, + 0x00, 0x39, 0x29, 0xa8, 0x56, 0x70, 0x3a, 0xce, 0x71, 0xde, 0x7a, 0x65, 0x34, 0x4e, 0x4f, 0xb0, + 0xb2, 0x8e, 0x54, 0x2b, 0x78, 0x9f, 0xe4, 0x40, 0x15, 0x48, 0xdd, 0xb2, 0xda, 0x38, 0x13, 0xc7, + 0xec, 0x38, 0xb4, 0x65, 0x36, 0xb1, 0x1a, 0xc7, 0x6c, 0x52, 0xab, 0x6b, 0x63, 0x88, 0x23, 0xbc, + 0x30, 0x3a, 0x9d, 0x5a, 0xd3, 0xc0, 0xd9, 0x58, 0x51, 0xbf, 0x74, 0x8c, 0x0e, 0x3e, 0x58, 0x2b, + 0xab, 0x5a, 0xc1, 0xb9, 0x38, 0x85, 0x61, 0x76, 0x5f, 0xe0, 0x3c, 0x79, 0x00, 0xb9, 0x28, 0xc5, + 0xaa, 0x88, 0xc3, 0x0d, 0xe8, 0xf4, 0x04, 0xe3, 0xfb, 0x42, 0xa2, 0x28, 0x0f, 0xd6, 0x80, 0xd3, + 0x13, 0x4c, 0x8a, 0x21, 0x64, 0x13, 0xbb, 0x45, 0x9e, 0xc0, 0xc3, 0xb3, 0x1a, 0x6d, 0xb4, 0xcc, + 0x5a, 0xbb, 0xe5, 0x5c, 0x26, 0xe6, 0xaa, 0xc1, 0xa3, 0x24, 0x61, 0xd9, 0x4e, 0xcb, 0x32, 0x6b, + 0x6d, 0x8c, 0x36, 0x19, 0x6a, 0x7c, 0xd5, 0x6d, 0x51, 0xa3, 0x81, 0xa5, 0x6d, 0xc6, 0x36, 0x6a, + 0x8e, 0xd1, 0xc0, 0xa9, 0xe2, 0x5f, 0x08, 0x64, 0x83, 0xcd, 0xc6, 0x3b, 0xcf, 0xc8, 0x17, 0xa0, + 0xba, 0x6c, 0x36, 0x8e, 0x9e, 0x3f, 0xba, 0x24, 0x47, 0x5b, 0x4b, 0xc5, 0xbd, 0xc5, 0x32, 0xd0, + 0x7b, 0x71, 0x72, 0x19, 0x53, 0xff, 0xf9, 0x70, 0xc8, 0xff, 0xef, 0x70, 0xa4, 0x3f, 0xee, 0x70, + 0xbc, 0x01, 0x35, 0x6e, 0x61, 0xe7, 0x14, 0xee, 0x3f, 0x6c, 0x69, 0xed, 0xc3, 0xfe, 0xf7, 0x3d, + 0x16, 0xbf, 0x04, 0x25, 0x82, 0x76, 0x26, 0x7a, 0x0e, 0xe9, 0xd5, 0xa8, 0x79, 0xe3, 0x8f, 0xb6, + 0xc2, 0xd5, 0xd8, 0x9c, 0x46, 0x92, 0xe7, 0x65, 0x50, 0xa2, 0x3e, 0xf8, 0xb2, 0x75, 0x2e, 0x4d, + 0xa7, 0xf6, 0xaa, 0x67, 0x53, 0xcb, 0xb1, 0x2a, 0x78, 0x6f, 0x13, 0xaa, 0x62, 0x54, 0xff, 0x01, + 0xfd, 0x7e, 0xa7, 0xef, 0xbd, 0xbf, 0xd3, 0xd1, 0x87, 0x3b, 0x1d, 0x7d, 0xbf, 0xd0, 0xd1, 0xcf, + 0x0b, 0x1d, 0xdd, 0x2e, 0x74, 0xf4, 0xdb, 0x42, 0x47, 0x7f, 0x2c, 0x74, 0xf4, 0xe7, 0x42, 0xdf, + 0x7b, 0xcf, 0xf1, 0x77, 0x3a, 0xba, 0x7d, 0xa7, 0x23, 0x78, 0x38, 0xf0, 0xc7, 0x9b, 0x25, 0xd4, + 0x55, 0xfe, 0x9f, 0x63, 0x73, 0xcb, 0x46, 0xdf, 0xa4, 0xf9, 0xd1, 0x0a, 0x3e, 0x20, 0xf4, 0x93, + 0x94, 0x6a, 0xda, 0xf5, 0x5f, 0x24, 0xbd, 0x19, 0xc9, 0xed, 0x55, 0xc5, 0x2f, 0x5d, 0xcf, 0xbb, + 0x60, 0xfe, 0x77, 0x8c, 0xbb, 0x05, 0x57, 0x8a, 0x88, 0x53, 0xfd, 0x3b, 0x00, 0x00, 0xff, 0xff, + 0xbc, 0x2a, 0x5e, 0x82, 0x2b, 0x07, 0x00, 0x00, +} diff --git a/vendor/github.com/gogo/protobuf/types/wrappers.pb.go b/vendor/github.com/gogo/protobuf/types/wrappers.pb.go index 18b384ea3..7516cc989 100644 --- a/vendor/github.com/gogo/protobuf/types/wrappers.pb.go +++ b/vendor/github.com/gogo/protobuf/types/wrappers.pb.go @@ -1,23 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: wrappers.proto +// source: google/protobuf/wrappers.proto -/* -Package types is a generated protocol buffer package. - -It is generated from these files: - wrappers.proto - -It has these top-level messages: - DoubleValue - FloatValue - Int64Value - UInt64Value - Int32Value - UInt32Value - BoolValue - StringValue - BytesValue -*/ package types import proto "github.com/gogo/protobuf/proto" @@ -29,7 +12,7 @@ import bytes "bytes" import strings "strings" import reflect "reflect" -import binary "encoding/binary" +import encoding_binary "encoding/binary" import io "io" @@ -49,13 +32,44 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // The JSON representation for `DoubleValue` is JSON number. type DoubleValue struct { // The double value. - Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *DoubleValue) Reset() { *m = DoubleValue{} } -func (*DoubleValue) ProtoMessage() {} -func (*DoubleValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{0} } -func (*DoubleValue) XXX_WellKnownType() string { return "DoubleValue" } +func (m *DoubleValue) Reset() { *m = DoubleValue{} } +func (*DoubleValue) ProtoMessage() {} +func (*DoubleValue) Descriptor() ([]byte, []int) { + return fileDescriptor_wrappers_c5239a825c7dfb53, []int{0} +} +func (*DoubleValue) XXX_WellKnownType() string { return "DoubleValue" } +func (m *DoubleValue) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DoubleValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DoubleValue.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 (dst *DoubleValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_DoubleValue.Merge(dst, src) +} +func (m *DoubleValue) XXX_Size() int { + return m.Size() +} +func (m *DoubleValue) XXX_DiscardUnknown() { + xxx_messageInfo_DoubleValue.DiscardUnknown(m) +} + +var xxx_messageInfo_DoubleValue proto.InternalMessageInfo func (m *DoubleValue) GetValue() float64 { if m != nil { @@ -64,18 +78,53 @@ func (m *DoubleValue) GetValue() float64 { return 0 } +func (*DoubleValue) XXX_MessageName() string { + return "google.protobuf.DoubleValue" +} + // Wrapper message for `float`. // // The JSON representation for `FloatValue` is JSON number. type FloatValue struct { // The float value. - Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"` + Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *FloatValue) Reset() { *m = FloatValue{} } -func (*FloatValue) ProtoMessage() {} -func (*FloatValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{1} } -func (*FloatValue) XXX_WellKnownType() string { return "FloatValue" } +func (m *FloatValue) Reset() { *m = FloatValue{} } +func (*FloatValue) ProtoMessage() {} +func (*FloatValue) Descriptor() ([]byte, []int) { + return fileDescriptor_wrappers_c5239a825c7dfb53, []int{1} +} +func (*FloatValue) XXX_WellKnownType() string { return "FloatValue" } +func (m *FloatValue) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FloatValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FloatValue.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 (dst *FloatValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatValue.Merge(dst, src) +} +func (m *FloatValue) XXX_Size() int { + return m.Size() +} +func (m *FloatValue) XXX_DiscardUnknown() { + xxx_messageInfo_FloatValue.DiscardUnknown(m) +} + +var xxx_messageInfo_FloatValue proto.InternalMessageInfo func (m *FloatValue) GetValue() float32 { if m != nil { @@ -84,18 +133,53 @@ func (m *FloatValue) GetValue() float32 { return 0 } +func (*FloatValue) XXX_MessageName() string { + return "google.protobuf.FloatValue" +} + // Wrapper message for `int64`. // // The JSON representation for `Int64Value` is JSON string. type Int64Value struct { // The int64 value. - Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Int64Value) Reset() { *m = Int64Value{} } -func (*Int64Value) ProtoMessage() {} -func (*Int64Value) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{2} } -func (*Int64Value) XXX_WellKnownType() string { return "Int64Value" } +func (m *Int64Value) Reset() { *m = Int64Value{} } +func (*Int64Value) ProtoMessage() {} +func (*Int64Value) Descriptor() ([]byte, []int) { + return fileDescriptor_wrappers_c5239a825c7dfb53, []int{2} +} +func (*Int64Value) XXX_WellKnownType() string { return "Int64Value" } +func (m *Int64Value) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Int64Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Int64Value.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 (dst *Int64Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_Int64Value.Merge(dst, src) +} +func (m *Int64Value) XXX_Size() int { + return m.Size() +} +func (m *Int64Value) XXX_DiscardUnknown() { + xxx_messageInfo_Int64Value.DiscardUnknown(m) +} + +var xxx_messageInfo_Int64Value proto.InternalMessageInfo func (m *Int64Value) GetValue() int64 { if m != nil { @@ -104,18 +188,53 @@ func (m *Int64Value) GetValue() int64 { return 0 } +func (*Int64Value) XXX_MessageName() string { + return "google.protobuf.Int64Value" +} + // Wrapper message for `uint64`. // // The JSON representation for `UInt64Value` is JSON string. type UInt64Value struct { // The uint64 value. - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UInt64Value) Reset() { *m = UInt64Value{} } -func (*UInt64Value) ProtoMessage() {} -func (*UInt64Value) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{3} } -func (*UInt64Value) XXX_WellKnownType() string { return "UInt64Value" } +func (m *UInt64Value) Reset() { *m = UInt64Value{} } +func (*UInt64Value) ProtoMessage() {} +func (*UInt64Value) Descriptor() ([]byte, []int) { + return fileDescriptor_wrappers_c5239a825c7dfb53, []int{3} +} +func (*UInt64Value) XXX_WellKnownType() string { return "UInt64Value" } +func (m *UInt64Value) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UInt64Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UInt64Value.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 (dst *UInt64Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_UInt64Value.Merge(dst, src) +} +func (m *UInt64Value) XXX_Size() int { + return m.Size() +} +func (m *UInt64Value) XXX_DiscardUnknown() { + xxx_messageInfo_UInt64Value.DiscardUnknown(m) +} + +var xxx_messageInfo_UInt64Value proto.InternalMessageInfo func (m *UInt64Value) GetValue() uint64 { if m != nil { @@ -124,18 +243,53 @@ func (m *UInt64Value) GetValue() uint64 { return 0 } +func (*UInt64Value) XXX_MessageName() string { + return "google.protobuf.UInt64Value" +} + // Wrapper message for `int32`. // // The JSON representation for `Int32Value` is JSON number. type Int32Value struct { // The int32 value. - Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Int32Value) Reset() { *m = Int32Value{} } -func (*Int32Value) ProtoMessage() {} -func (*Int32Value) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{4} } -func (*Int32Value) XXX_WellKnownType() string { return "Int32Value" } +func (m *Int32Value) Reset() { *m = Int32Value{} } +func (*Int32Value) ProtoMessage() {} +func (*Int32Value) Descriptor() ([]byte, []int) { + return fileDescriptor_wrappers_c5239a825c7dfb53, []int{4} +} +func (*Int32Value) XXX_WellKnownType() string { return "Int32Value" } +func (m *Int32Value) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Int32Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Int32Value.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 (dst *Int32Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_Int32Value.Merge(dst, src) +} +func (m *Int32Value) XXX_Size() int { + return m.Size() +} +func (m *Int32Value) XXX_DiscardUnknown() { + xxx_messageInfo_Int32Value.DiscardUnknown(m) +} + +var xxx_messageInfo_Int32Value proto.InternalMessageInfo func (m *Int32Value) GetValue() int32 { if m != nil { @@ -144,18 +298,53 @@ func (m *Int32Value) GetValue() int32 { return 0 } +func (*Int32Value) XXX_MessageName() string { + return "google.protobuf.Int32Value" +} + // Wrapper message for `uint32`. // // The JSON representation for `UInt32Value` is JSON number. type UInt32Value struct { // The uint32 value. - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UInt32Value) Reset() { *m = UInt32Value{} } -func (*UInt32Value) ProtoMessage() {} -func (*UInt32Value) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{5} } -func (*UInt32Value) XXX_WellKnownType() string { return "UInt32Value" } +func (m *UInt32Value) Reset() { *m = UInt32Value{} } +func (*UInt32Value) ProtoMessage() {} +func (*UInt32Value) Descriptor() ([]byte, []int) { + return fileDescriptor_wrappers_c5239a825c7dfb53, []int{5} +} +func (*UInt32Value) XXX_WellKnownType() string { return "UInt32Value" } +func (m *UInt32Value) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UInt32Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UInt32Value.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 (dst *UInt32Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_UInt32Value.Merge(dst, src) +} +func (m *UInt32Value) XXX_Size() int { + return m.Size() +} +func (m *UInt32Value) XXX_DiscardUnknown() { + xxx_messageInfo_UInt32Value.DiscardUnknown(m) +} + +var xxx_messageInfo_UInt32Value proto.InternalMessageInfo func (m *UInt32Value) GetValue() uint32 { if m != nil { @@ -164,18 +353,53 @@ func (m *UInt32Value) GetValue() uint32 { return 0 } +func (*UInt32Value) XXX_MessageName() string { + return "google.protobuf.UInt32Value" +} + // Wrapper message for `bool`. // // The JSON representation for `BoolValue` is JSON `true` and `false`. type BoolValue struct { // The bool value. - Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *BoolValue) Reset() { *m = BoolValue{} } -func (*BoolValue) ProtoMessage() {} -func (*BoolValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{6} } -func (*BoolValue) XXX_WellKnownType() string { return "BoolValue" } +func (m *BoolValue) Reset() { *m = BoolValue{} } +func (*BoolValue) ProtoMessage() {} +func (*BoolValue) Descriptor() ([]byte, []int) { + return fileDescriptor_wrappers_c5239a825c7dfb53, []int{6} +} +func (*BoolValue) XXX_WellKnownType() string { return "BoolValue" } +func (m *BoolValue) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BoolValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BoolValue.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 (dst *BoolValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_BoolValue.Merge(dst, src) +} +func (m *BoolValue) XXX_Size() int { + return m.Size() +} +func (m *BoolValue) XXX_DiscardUnknown() { + xxx_messageInfo_BoolValue.DiscardUnknown(m) +} + +var xxx_messageInfo_BoolValue proto.InternalMessageInfo func (m *BoolValue) GetValue() bool { if m != nil { @@ -184,18 +408,53 @@ func (m *BoolValue) GetValue() bool { return false } +func (*BoolValue) XXX_MessageName() string { + return "google.protobuf.BoolValue" +} + // Wrapper message for `string`. // // The JSON representation for `StringValue` is JSON string. type StringValue struct { // The string value. - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *StringValue) Reset() { *m = StringValue{} } -func (*StringValue) ProtoMessage() {} -func (*StringValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{7} } -func (*StringValue) XXX_WellKnownType() string { return "StringValue" } +func (m *StringValue) Reset() { *m = StringValue{} } +func (*StringValue) ProtoMessage() {} +func (*StringValue) Descriptor() ([]byte, []int) { + return fileDescriptor_wrappers_c5239a825c7dfb53, []int{7} +} +func (*StringValue) XXX_WellKnownType() string { return "StringValue" } +func (m *StringValue) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *StringValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_StringValue.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 (dst *StringValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_StringValue.Merge(dst, src) +} +func (m *StringValue) XXX_Size() int { + return m.Size() +} +func (m *StringValue) XXX_DiscardUnknown() { + xxx_messageInfo_StringValue.DiscardUnknown(m) +} + +var xxx_messageInfo_StringValue proto.InternalMessageInfo func (m *StringValue) GetValue() string { if m != nil { @@ -204,18 +463,53 @@ func (m *StringValue) GetValue() string { return "" } +func (*StringValue) XXX_MessageName() string { + return "google.protobuf.StringValue" +} + // Wrapper message for `bytes`. // // The JSON representation for `BytesValue` is JSON string. type BytesValue struct { // The bytes value. - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *BytesValue) Reset() { *m = BytesValue{} } -func (*BytesValue) ProtoMessage() {} -func (*BytesValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{8} } -func (*BytesValue) XXX_WellKnownType() string { return "BytesValue" } +func (m *BytesValue) Reset() { *m = BytesValue{} } +func (*BytesValue) ProtoMessage() {} +func (*BytesValue) Descriptor() ([]byte, []int) { + return fileDescriptor_wrappers_c5239a825c7dfb53, []int{8} +} +func (*BytesValue) XXX_WellKnownType() string { return "BytesValue" } +func (m *BytesValue) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BytesValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BytesValue.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 (dst *BytesValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_BytesValue.Merge(dst, src) +} +func (m *BytesValue) XXX_Size() int { + return m.Size() +} +func (m *BytesValue) XXX_DiscardUnknown() { + xxx_messageInfo_BytesValue.DiscardUnknown(m) +} + +var xxx_messageInfo_BytesValue proto.InternalMessageInfo func (m *BytesValue) GetValue() []byte { if m != nil { @@ -224,6 +518,9 @@ func (m *BytesValue) GetValue() []byte { return nil } +func (*BytesValue) XXX_MessageName() string { + return "google.protobuf.BytesValue" +} func init() { proto.RegisterType((*DoubleValue)(nil), "google.protobuf.DoubleValue") proto.RegisterType((*FloatValue)(nil), "google.protobuf.FloatValue") @@ -266,6 +563,9 @@ func (this *DoubleValue) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *FloatValue) Compare(that interface{}) int { @@ -299,6 +599,9 @@ func (this *FloatValue) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *Int64Value) Compare(that interface{}) int { @@ -332,6 +635,9 @@ func (this *Int64Value) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *UInt64Value) Compare(that interface{}) int { @@ -365,6 +671,9 @@ func (this *UInt64Value) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *Int32Value) Compare(that interface{}) int { @@ -398,6 +707,9 @@ func (this *Int32Value) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *UInt32Value) Compare(that interface{}) int { @@ -431,6 +743,9 @@ func (this *UInt32Value) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *BoolValue) Compare(that interface{}) int { @@ -464,6 +779,9 @@ func (this *BoolValue) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *StringValue) Compare(that interface{}) int { @@ -497,6 +815,9 @@ func (this *StringValue) Compare(that interface{}) int { } return 1 } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *BytesValue) Compare(that interface{}) int { @@ -527,6 +848,9 @@ func (this *BytesValue) Compare(that interface{}) int { if c := bytes.Compare(this.Value, that1.Value); c != 0 { return c } + if c := bytes.Compare(this.XXX_unrecognized, that1.XXX_unrecognized); c != 0 { + return c + } return 0 } func (this *DoubleValue) Equal(that interface{}) bool { @@ -551,6 +875,9 @@ func (this *DoubleValue) Equal(that interface{}) bool { if this.Value != that1.Value { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *FloatValue) Equal(that interface{}) bool { @@ -575,6 +902,9 @@ func (this *FloatValue) Equal(that interface{}) bool { if this.Value != that1.Value { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Int64Value) Equal(that interface{}) bool { @@ -599,6 +929,9 @@ func (this *Int64Value) Equal(that interface{}) bool { if this.Value != that1.Value { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *UInt64Value) Equal(that interface{}) bool { @@ -623,6 +956,9 @@ func (this *UInt64Value) Equal(that interface{}) bool { if this.Value != that1.Value { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *Int32Value) Equal(that interface{}) bool { @@ -647,6 +983,9 @@ func (this *Int32Value) Equal(that interface{}) bool { if this.Value != that1.Value { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *UInt32Value) Equal(that interface{}) bool { @@ -671,6 +1010,9 @@ func (this *UInt32Value) Equal(that interface{}) bool { if this.Value != that1.Value { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *BoolValue) Equal(that interface{}) bool { @@ -695,6 +1037,9 @@ func (this *BoolValue) Equal(that interface{}) bool { if this.Value != that1.Value { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *StringValue) Equal(that interface{}) bool { @@ -719,6 +1064,9 @@ func (this *StringValue) Equal(that interface{}) bool { if this.Value != that1.Value { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *BytesValue) Equal(that interface{}) bool { @@ -743,6 +1091,9 @@ func (this *BytesValue) Equal(that interface{}) bool { if !bytes.Equal(this.Value, that1.Value) { return false } + if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { + return false + } return true } func (this *DoubleValue) GoString() string { @@ -752,6 +1103,9 @@ func (this *DoubleValue) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.DoubleValue{") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -762,6 +1116,9 @@ func (this *FloatValue) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.FloatValue{") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -772,6 +1129,9 @@ func (this *Int64Value) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.Int64Value{") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -782,6 +1142,9 @@ func (this *UInt64Value) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.UInt64Value{") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -792,6 +1155,9 @@ func (this *Int32Value) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.Int32Value{") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -802,6 +1168,9 @@ func (this *UInt32Value) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.UInt32Value{") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -812,6 +1181,9 @@ func (this *BoolValue) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.BoolValue{") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -822,6 +1194,9 @@ func (this *StringValue) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.StringValue{") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -832,6 +1207,9 @@ func (this *BytesValue) GoString() string { s := make([]string, 0, 5) s = append(s, "&types.BytesValue{") s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\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, "") } @@ -861,9 +1239,12 @@ func (m *DoubleValue) MarshalTo(dAtA []byte) (int, error) { if m.Value != 0 { dAtA[i] = 0x9 i++ - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) i += 8 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -885,9 +1266,12 @@ func (m *FloatValue) MarshalTo(dAtA []byte) (int, error) { if m.Value != 0 { dAtA[i] = 0xd i++ - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Value)))) + encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Value)))) i += 4 } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -911,6 +1295,9 @@ func (m *Int64Value) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintWrappers(dAtA, i, uint64(m.Value)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -934,6 +1321,9 @@ func (m *UInt64Value) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintWrappers(dAtA, i, uint64(m.Value)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -957,6 +1347,9 @@ func (m *Int32Value) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintWrappers(dAtA, i, uint64(m.Value)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -980,6 +1373,9 @@ func (m *UInt32Value) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintWrappers(dAtA, i, uint64(m.Value)) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1008,6 +1404,9 @@ func (m *BoolValue) MarshalTo(dAtA []byte) (int, error) { } i++ } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1032,6 +1431,9 @@ func (m *StringValue) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintWrappers(dAtA, i, uint64(len(m.Value))) i += copy(dAtA[i:], m.Value) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1056,6 +1458,9 @@ func (m *BytesValue) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintWrappers(dAtA, i, uint64(len(m.Value))) i += copy(dAtA[i:], m.Value) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -1075,6 +1480,7 @@ func NewPopulatedDoubleValue(r randyWrappers, easy bool) *DoubleValue { this.Value *= -1 } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedWrappers(r, 2) } return this } @@ -1086,6 +1492,7 @@ func NewPopulatedFloatValue(r randyWrappers, easy bool) *FloatValue { this.Value *= -1 } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedWrappers(r, 2) } return this } @@ -1097,6 +1504,7 @@ func NewPopulatedInt64Value(r randyWrappers, easy bool) *Int64Value { this.Value *= -1 } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedWrappers(r, 2) } return this } @@ -1105,6 +1513,7 @@ func NewPopulatedUInt64Value(r randyWrappers, easy bool) *UInt64Value { this := &UInt64Value{} this.Value = uint64(uint64(r.Uint32())) if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedWrappers(r, 2) } return this } @@ -1116,6 +1525,7 @@ func NewPopulatedInt32Value(r randyWrappers, easy bool) *Int32Value { this.Value *= -1 } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedWrappers(r, 2) } return this } @@ -1124,6 +1534,7 @@ func NewPopulatedUInt32Value(r randyWrappers, easy bool) *UInt32Value { this := &UInt32Value{} this.Value = uint32(r.Uint32()) if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedWrappers(r, 2) } return this } @@ -1132,6 +1543,7 @@ func NewPopulatedBoolValue(r randyWrappers, easy bool) *BoolValue { this := &BoolValue{} this.Value = bool(bool(r.Intn(2) == 0)) if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedWrappers(r, 2) } return this } @@ -1140,6 +1552,7 @@ func NewPopulatedStringValue(r randyWrappers, easy bool) *StringValue { this := &StringValue{} this.Value = string(randStringWrappers(r)) if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedWrappers(r, 2) } return this } @@ -1152,6 +1565,7 @@ func NewPopulatedBytesValue(r randyWrappers, easy bool) *BytesValue { this.Value[i] = byte(r.Intn(256)) } if !easy && r.Intn(10) != 0 { + this.XXX_unrecognized = randUnrecognizedWrappers(r, 2) } return this } @@ -1229,85 +1643,139 @@ func encodeVarintPopulateWrappers(dAtA []byte, v uint64) []byte { return dAtA } func (m *DoubleValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != 0 { n += 9 } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *FloatValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != 0 { n += 5 } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Int64Value) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != 0 { n += 1 + sovWrappers(uint64(m.Value)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *UInt64Value) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != 0 { n += 1 + sovWrappers(uint64(m.Value)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *Int32Value) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != 0 { n += 1 + sovWrappers(uint64(m.Value)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *UInt32Value) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value != 0 { n += 1 + sovWrappers(uint64(m.Value)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *BoolValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Value { n += 2 } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *StringValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Value) if l > 0 { n += 1 + l + sovWrappers(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } func (m *BytesValue) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Value) if l > 0 { n += 1 + l + sovWrappers(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -1330,6 +1798,7 @@ func (this *DoubleValue) String() string { } s := strings.Join([]string{`&DoubleValue{`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1340,6 +1809,7 @@ func (this *FloatValue) String() string { } s := strings.Join([]string{`&FloatValue{`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1350,6 +1820,7 @@ func (this *Int64Value) String() string { } s := strings.Join([]string{`&Int64Value{`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1360,6 +1831,7 @@ func (this *UInt64Value) String() string { } s := strings.Join([]string{`&UInt64Value{`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1370,6 +1842,7 @@ func (this *Int32Value) String() string { } s := strings.Join([]string{`&Int32Value{`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1380,6 +1853,7 @@ func (this *UInt32Value) String() string { } s := strings.Join([]string{`&UInt32Value{`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1390,6 +1864,7 @@ func (this *BoolValue) String() string { } s := strings.Join([]string{`&BoolValue{`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1400,6 +1875,7 @@ func (this *StringValue) String() string { } s := strings.Join([]string{`&StringValue{`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1410,6 +1886,7 @@ func (this *BytesValue) String() string { } s := strings.Join([]string{`&BytesValue{`, `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s @@ -1459,7 +1936,7 @@ func (m *DoubleValue) Unmarshal(dAtA []byte) error { if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) iNdEx += 8 m.Value = float64(math.Float64frombits(v)) default: @@ -1474,6 +1951,7 @@ func (m *DoubleValue) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1520,7 +1998,7 @@ func (m *FloatValue) Unmarshal(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.Value = float32(math.Float32frombits(v)) default: @@ -1535,6 +2013,7 @@ func (m *FloatValue) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1604,6 +2083,7 @@ func (m *Int64Value) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1673,6 +2153,7 @@ func (m *UInt64Value) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1742,6 +2223,7 @@ func (m *Int32Value) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1811,6 +2293,7 @@ func (m *UInt32Value) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1881,6 +2364,7 @@ func (m *BoolValue) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -1960,6 +2444,7 @@ func (m *StringValue) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2041,6 +2526,7 @@ func (m *BytesValue) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -2155,26 +2641,28 @@ var ( ErrIntOverflowWrappers = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("wrappers.proto", fileDescriptorWrappers) } - -var fileDescriptorWrappers = []byte{ - // 278 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2b, 0x2f, 0x4a, 0x2c, - 0x28, 0x48, 0x2d, 0x2a, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x4f, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0x85, 0xf0, 0x92, 0x4a, 0xd3, 0x94, 0x94, 0xb9, 0xb8, 0x5d, 0xf2, 0x4b, 0x93, 0x72, - 0x52, 0xc3, 0x12, 0x73, 0x4a, 0x53, 0x85, 0x44, 0xb8, 0x58, 0xcb, 0x40, 0x0c, 0x09, 0x46, 0x05, - 0x46, 0x0d, 0xc6, 0x20, 0x08, 0x47, 0x49, 0x89, 0x8b, 0xcb, 0x2d, 0x27, 0x3f, 0xb1, 0x04, 0x8b, - 0x1a, 0x26, 0x24, 0x35, 0x9e, 0x79, 0x25, 0x66, 0x26, 0x58, 0xd4, 0x30, 0xc3, 0xd4, 0x28, 0x73, - 0x71, 0x87, 0xe2, 0x52, 0xc4, 0x82, 0x6a, 0x90, 0xb1, 0x11, 0x16, 0x35, 0xac, 0x68, 0x06, 0x61, - 0x55, 0xc4, 0x0b, 0x53, 0xa4, 0xc8, 0xc5, 0xe9, 0x94, 0x9f, 0x9f, 0x83, 0x45, 0x09, 0x07, 0x92, - 0x39, 0xc1, 0x25, 0x45, 0x99, 0x79, 0xe9, 0x58, 0x14, 0x71, 0x22, 0x39, 0xc8, 0xa9, 0xb2, 0x24, - 0xb5, 0x18, 0x8b, 0x1a, 0x1e, 0xa8, 0x1a, 0xa7, 0x76, 0xc6, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, - 0x94, 0x63, 0xf8, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x86, 0x47, 0x72, 0x8c, 0x2b, - 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, - 0x2f, 0x1e, 0xc9, 0x31, 0x7c, 0x00, 0x89, 0x3f, 0x96, 0x63, 0xe4, 0x12, 0x4e, 0xce, 0xcf, 0xd5, - 0x43, 0x8b, 0x0e, 0x27, 0xde, 0x70, 0x68, 0x7c, 0x05, 0x80, 0x44, 0x02, 0x18, 0xa3, 0x58, 0x4b, - 0x2a, 0x0b, 0x52, 0x8b, 0x7f, 0x30, 0x32, 0x2e, 0x62, 0x62, 0x76, 0x0f, 0x70, 0x5a, 0xc5, 0x24, - 0xe7, 0x0e, 0xd1, 0x12, 0x00, 0xd5, 0xa2, 0x17, 0x9e, 0x9a, 0x93, 0xe3, 0x9d, 0x97, 0x5f, 0x9e, - 0x17, 0x02, 0x52, 0x99, 0xc4, 0x06, 0x36, 0xcb, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x23, 0x27, - 0x6c, 0x5f, 0xfa, 0x01, 0x00, 0x00, +func init() { + proto.RegisterFile("google/protobuf/wrappers.proto", fileDescriptor_wrappers_c5239a825c7dfb53) +} + +var fileDescriptor_wrappers_c5239a825c7dfb53 = []byte{ + // 285 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x2f, 0x4a, 0x2c, + 0x28, 0x48, 0x2d, 0x2a, 0xd6, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0xca, + 0x5c, 0xdc, 0x2e, 0xf9, 0xa5, 0x49, 0x39, 0xa9, 0x61, 0x89, 0x39, 0xa5, 0xa9, 0x42, 0x22, 0x5c, + 0xac, 0x65, 0x20, 0x86, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x63, 0x10, 0x84, 0xa3, 0xa4, 0xc4, 0xc5, + 0xe5, 0x96, 0x93, 0x9f, 0x58, 0x82, 0x45, 0x0d, 0x13, 0x92, 0x1a, 0xcf, 0xbc, 0x12, 0x33, 0x13, + 0x2c, 0x6a, 0x98, 0x61, 0x6a, 0x94, 0xb9, 0xb8, 0x43, 0x71, 0x29, 0x62, 0x41, 0x35, 0xc8, 0xd8, + 0x08, 0x8b, 0x1a, 0x56, 0x34, 0x83, 0xb0, 0x2a, 0xe2, 0x85, 0x29, 0x52, 0xe4, 0xe2, 0x74, 0xca, + 0xcf, 0xcf, 0xc1, 0xa2, 0x84, 0x03, 0xc9, 0x9c, 0xe0, 0x92, 0xa2, 0xcc, 0xbc, 0x74, 0x2c, 0x8a, + 0x38, 0x91, 0x1c, 0xe4, 0x54, 0x59, 0x92, 0x5a, 0x8c, 0x45, 0x0d, 0x0f, 0x54, 0x8d, 0x53, 0x3b, + 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, 0xc7, 0xd8, 0xf0, 0x48, + 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, + 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, + 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x45, 0x87, 0x13, 0x6f, 0x38, 0x34, 0xbe, 0x02, + 0x40, 0x22, 0x01, 0x8c, 0x51, 0xac, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x3f, 0x18, 0x19, 0x17, 0x31, + 0x31, 0xbb, 0x07, 0x38, 0xad, 0x62, 0x92, 0x73, 0x87, 0x68, 0x09, 0x80, 0x6a, 0xd1, 0x0b, 0x4f, + 0xcd, 0xc9, 0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0xa9, 0x4c, 0x62, 0x03, 0x9b, 0x65, 0x0c, + 0x08, 0x00, 0x00, 0xff, 0xff, 0x31, 0x55, 0x64, 0x90, 0x0a, 0x02, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/types/wrappers_gogo.go b/vendor/github.com/gogo/protobuf/types/wrappers_gogo.go new file mode 100644 index 000000000..d905df360 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/types/wrappers_gogo.go @@ -0,0 +1,300 @@ +// Protocol Buffers for Go with Gadgets +// +// Copyright (c) 2018, The GoGo Authors. All rights reserved. +// http://github.com/gogo/protobuf +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package types + +func NewPopulatedStdDouble(r randyWrappers, easy bool) *float64 { + v := NewPopulatedDoubleValue(r, easy) + return &v.Value +} + +func SizeOfStdDouble(v float64) int { + pv := &DoubleValue{Value: v} + return pv.Size() +} + +func StdDoubleMarshal(v float64) ([]byte, error) { + size := SizeOfStdDouble(v) + buf := make([]byte, size) + _, err := StdDoubleMarshalTo(v, buf) + return buf, err +} + +func StdDoubleMarshalTo(v float64, data []byte) (int, error) { + pv := &DoubleValue{Value: v} + return pv.MarshalTo(data) +} + +func StdDoubleUnmarshal(v *float64, data []byte) error { + pv := &DoubleValue{} + if err := pv.Unmarshal(data); err != nil { + return err + } + *v = pv.Value + return nil +} +func NewPopulatedStdFloat(r randyWrappers, easy bool) *float32 { + v := NewPopulatedFloatValue(r, easy) + return &v.Value +} + +func SizeOfStdFloat(v float32) int { + pv := &FloatValue{Value: v} + return pv.Size() +} + +func StdFloatMarshal(v float32) ([]byte, error) { + size := SizeOfStdFloat(v) + buf := make([]byte, size) + _, err := StdFloatMarshalTo(v, buf) + return buf, err +} + +func StdFloatMarshalTo(v float32, data []byte) (int, error) { + pv := &FloatValue{Value: v} + return pv.MarshalTo(data) +} + +func StdFloatUnmarshal(v *float32, data []byte) error { + pv := &FloatValue{} + if err := pv.Unmarshal(data); err != nil { + return err + } + *v = pv.Value + return nil +} +func NewPopulatedStdInt64(r randyWrappers, easy bool) *int64 { + v := NewPopulatedInt64Value(r, easy) + return &v.Value +} + +func SizeOfStdInt64(v int64) int { + pv := &Int64Value{Value: v} + return pv.Size() +} + +func StdInt64Marshal(v int64) ([]byte, error) { + size := SizeOfStdInt64(v) + buf := make([]byte, size) + _, err := StdInt64MarshalTo(v, buf) + return buf, err +} + +func StdInt64MarshalTo(v int64, data []byte) (int, error) { + pv := &Int64Value{Value: v} + return pv.MarshalTo(data) +} + +func StdInt64Unmarshal(v *int64, data []byte) error { + pv := &Int64Value{} + if err := pv.Unmarshal(data); err != nil { + return err + } + *v = pv.Value + return nil +} +func NewPopulatedStdUInt64(r randyWrappers, easy bool) *uint64 { + v := NewPopulatedUInt64Value(r, easy) + return &v.Value +} + +func SizeOfStdUInt64(v uint64) int { + pv := &UInt64Value{Value: v} + return pv.Size() +} + +func StdUInt64Marshal(v uint64) ([]byte, error) { + size := SizeOfStdUInt64(v) + buf := make([]byte, size) + _, err := StdUInt64MarshalTo(v, buf) + return buf, err +} + +func StdUInt64MarshalTo(v uint64, data []byte) (int, error) { + pv := &UInt64Value{Value: v} + return pv.MarshalTo(data) +} + +func StdUInt64Unmarshal(v *uint64, data []byte) error { + pv := &UInt64Value{} + if err := pv.Unmarshal(data); err != nil { + return err + } + *v = pv.Value + return nil +} +func NewPopulatedStdInt32(r randyWrappers, easy bool) *int32 { + v := NewPopulatedInt32Value(r, easy) + return &v.Value +} + +func SizeOfStdInt32(v int32) int { + pv := &Int32Value{Value: v} + return pv.Size() +} + +func StdInt32Marshal(v int32) ([]byte, error) { + size := SizeOfStdInt32(v) + buf := make([]byte, size) + _, err := StdInt32MarshalTo(v, buf) + return buf, err +} + +func StdInt32MarshalTo(v int32, data []byte) (int, error) { + pv := &Int32Value{Value: v} + return pv.MarshalTo(data) +} + +func StdInt32Unmarshal(v *int32, data []byte) error { + pv := &Int32Value{} + if err := pv.Unmarshal(data); err != nil { + return err + } + *v = pv.Value + return nil +} +func NewPopulatedStdUInt32(r randyWrappers, easy bool) *uint32 { + v := NewPopulatedUInt32Value(r, easy) + return &v.Value +} + +func SizeOfStdUInt32(v uint32) int { + pv := &UInt32Value{Value: v} + return pv.Size() +} + +func StdUInt32Marshal(v uint32) ([]byte, error) { + size := SizeOfStdUInt32(v) + buf := make([]byte, size) + _, err := StdUInt32MarshalTo(v, buf) + return buf, err +} + +func StdUInt32MarshalTo(v uint32, data []byte) (int, error) { + pv := &UInt32Value{Value: v} + return pv.MarshalTo(data) +} + +func StdUInt32Unmarshal(v *uint32, data []byte) error { + pv := &UInt32Value{} + if err := pv.Unmarshal(data); err != nil { + return err + } + *v = pv.Value + return nil +} +func NewPopulatedStdBool(r randyWrappers, easy bool) *bool { + v := NewPopulatedBoolValue(r, easy) + return &v.Value +} + +func SizeOfStdBool(v bool) int { + pv := &BoolValue{Value: v} + return pv.Size() +} + +func StdBoolMarshal(v bool) ([]byte, error) { + size := SizeOfStdBool(v) + buf := make([]byte, size) + _, err := StdBoolMarshalTo(v, buf) + return buf, err +} + +func StdBoolMarshalTo(v bool, data []byte) (int, error) { + pv := &BoolValue{Value: v} + return pv.MarshalTo(data) +} + +func StdBoolUnmarshal(v *bool, data []byte) error { + pv := &BoolValue{} + if err := pv.Unmarshal(data); err != nil { + return err + } + *v = pv.Value + return nil +} +func NewPopulatedStdString(r randyWrappers, easy bool) *string { + v := NewPopulatedStringValue(r, easy) + return &v.Value +} + +func SizeOfStdString(v string) int { + pv := &StringValue{Value: v} + return pv.Size() +} + +func StdStringMarshal(v string) ([]byte, error) { + size := SizeOfStdString(v) + buf := make([]byte, size) + _, err := StdStringMarshalTo(v, buf) + return buf, err +} + +func StdStringMarshalTo(v string, data []byte) (int, error) { + pv := &StringValue{Value: v} + return pv.MarshalTo(data) +} + +func StdStringUnmarshal(v *string, data []byte) error { + pv := &StringValue{} + if err := pv.Unmarshal(data); err != nil { + return err + } + *v = pv.Value + return nil +} +func NewPopulatedStdBytes(r randyWrappers, easy bool) *[]byte { + v := NewPopulatedBytesValue(r, easy) + return &v.Value +} + +func SizeOfStdBytes(v []byte) int { + pv := &BytesValue{Value: v} + return pv.Size() +} + +func StdBytesMarshal(v []byte) ([]byte, error) { + size := SizeOfStdBytes(v) + buf := make([]byte, size) + _, err := StdBytesMarshalTo(v, buf) + return buf, err +} + +func StdBytesMarshalTo(v []byte, data []byte) (int, error) { + pv := &BytesValue{Value: v} + return pv.MarshalTo(data) +} + +func StdBytesUnmarshal(v *[]byte, data []byte) error { + pv := &BytesValue{} + if err := pv.Unmarshal(data); err != nil { + return err + } + *v = pv.Value + return nil +} diff --git a/vendor/github.com/gogo/protobuf/vanity/file.go b/vendor/github.com/gogo/protobuf/vanity/file.go index e7b56de1f..2055c6615 100644 --- a/vendor/github.com/gogo/protobuf/vanity/file.go +++ b/vendor/github.com/gogo/protobuf/vanity/file.go @@ -172,6 +172,14 @@ func TurnOffGoUnrecognizedAll(file *descriptor.FileDescriptorProto) { SetBoolFileOption(gogoproto.E_GoprotoUnrecognizedAll, false)(file) } +func TurnOffGoUnkeyedAll(file *descriptor.FileDescriptorProto) { + SetBoolFileOption(gogoproto.E_GoprotoUnkeyedAll, false)(file) +} + +func TurnOffGoSizecacheAll(file *descriptor.FileDescriptorProto) { + SetBoolFileOption(gogoproto.E_GoprotoSizecacheAll, false)(file) +} + func TurnOffGogoImport(file *descriptor.FileDescriptorProto) { SetBoolFileOption(gogoproto.E_GogoprotoImport, false)(file) } @@ -179,3 +187,11 @@ func TurnOffGogoImport(file *descriptor.FileDescriptorProto) { func TurnOnCompareAll(file *descriptor.FileDescriptorProto) { SetBoolFileOption(gogoproto.E_CompareAll, true)(file) } + +func TurnOnMessageNameAll(file *descriptor.FileDescriptorProto) { + SetBoolFileOption(gogoproto.E_MessagenameAll, true)(file) +} + +func TurnOnGoRegistration(file *descriptor.FileDescriptorProto) { + SetBoolFileOption(gogoproto.E_GoprotoRegistration, true)(file) +} diff --git a/vendor/github.com/gogo/protobuf/vanity/msg.go b/vendor/github.com/gogo/protobuf/vanity/msg.go index 7ff2b9879..390ff5ad4 100644 --- a/vendor/github.com/gogo/protobuf/vanity/msg.go +++ b/vendor/github.com/gogo/protobuf/vanity/msg.go @@ -137,6 +137,18 @@ func TurnOffGoUnrecognized(msg *descriptor.DescriptorProto) { SetBoolMessageOption(gogoproto.E_GoprotoUnrecognized, false)(msg) } +func TurnOffGoUnkeyed(msg *descriptor.DescriptorProto) { + SetBoolMessageOption(gogoproto.E_GoprotoUnkeyed, false)(msg) +} + +func TurnOffGoSizecache(msg *descriptor.DescriptorProto) { + SetBoolMessageOption(gogoproto.E_GoprotoSizecache, false)(msg) +} + func TurnOnCompare(msg *descriptor.DescriptorProto) { SetBoolMessageOption(gogoproto.E_Compare, true)(msg) } + +func TurnOnMessageName(msg *descriptor.DescriptorProto) { + SetBoolMessageOption(gogoproto.E_Messagename, true)(msg) +} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/fast/gogovanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/fast/gogovanity.pb.go index 0b5a7d5f1..7905481d1 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/fast/gogovanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/fast/gogovanity.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: gogovanity.proto -/* - Package vanity is a generated protocol buffer package. - - It is generated from these files: - gogovanity.proto - - It has these top-level messages: - B -*/ package vanity import proto "github.com/gogo/protobuf/proto" @@ -31,16 +22,46 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type B struct { - String_ *string `protobuf:"bytes,1,opt,name=String" json:"String,omitempty"` - Int64 *int64 `protobuf:"varint,2,opt,name=Int64" json:"Int64,omitempty"` - Int32 *int32 `protobuf:"varint,3,opt,name=Int32,def=1234" json:"Int32,omitempty"` - XXX_unrecognized []byte `json:"-"` + String_ *string `protobuf:"bytes,1,opt,name=String" json:"String,omitempty"` + Int64 *int64 `protobuf:"varint,2,opt,name=Int64" json:"Int64,omitempty"` + Int32 *int32 `protobuf:"varint,3,opt,name=Int32,def=1234" json:"Int32,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *B) Reset() { *m = B{} } -func (m *B) String() string { return proto.CompactTextString(m) } -func (*B) ProtoMessage() {} -func (*B) Descriptor() ([]byte, []int) { return fileDescriptorGogovanity, []int{0} } +func (m *B) Reset() { *m = B{} } +func (m *B) String() string { return proto.CompactTextString(m) } +func (*B) ProtoMessage() {} +func (*B) Descriptor() ([]byte, []int) { + return fileDescriptor_gogovanity_77d0a6938d93e1f7, []int{0} +} +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 (dst *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(dst, 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 const Default_B_Int32 int32 = 1234 @@ -115,6 +136,9 @@ func encodeVarintGogovanity(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *B) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.String_ != nil { @@ -372,9 +396,9 @@ var ( ErrIntOverflowGogovanity = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("gogovanity.proto", fileDescriptorGogovanity) } +func init() { proto.RegisterFile("gogovanity.proto", fileDescriptor_gogovanity_77d0a6938d93e1f7) } -var fileDescriptorGogovanity = []byte{ +var fileDescriptor_gogovanity_77d0a6938d93e1f7 = []byte{ // 157 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcf, 0x4f, 0xcf, 0x2f, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, diff --git a/vendor/github.com/gogo/protobuf/vanity/test/fast/proto3.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/fast/proto3.pb.go index 70c74016b..80cc850f5 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/fast/proto3.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/fast/proto3.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: proto3.proto -/* -Package vanity is a generated protocol buffer package. - -It is generated from these files: - proto3.proto - -It has these top-level messages: - Aproto3 -*/ package vanity import proto "github.com/gogo/protobuf/proto" @@ -30,13 +21,44 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type Aproto3 struct { - B string `protobuf:"bytes,1,opt,name=B,proto3" json:"B,omitempty"` + B string `protobuf:"bytes,1,opt,name=B,proto3" json:"B,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *Aproto3) Reset() { *m = Aproto3{} } -func (m *Aproto3) String() string { return proto.CompactTextString(m) } -func (*Aproto3) ProtoMessage() {} -func (*Aproto3) Descriptor() ([]byte, []int) { return fileDescriptorProto3, []int{0} } +func (m *Aproto3) Reset() { *m = Aproto3{} } +func (m *Aproto3) String() string { return proto.CompactTextString(m) } +func (*Aproto3) ProtoMessage() {} +func (*Aproto3) Descriptor() ([]byte, []int) { + return fileDescriptor_proto3_7d4345ceecd7203e, []int{0} +} +func (m *Aproto3) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Aproto3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Aproto3.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 (dst *Aproto3) XXX_Merge(src proto.Message) { + xxx_messageInfo_Aproto3.Merge(dst, src) +} +func (m *Aproto3) XXX_Size() int { + return m.Size() +} +func (m *Aproto3) XXX_DiscardUnknown() { + xxx_messageInfo_Aproto3.DiscardUnknown(m) +} + +var xxx_messageInfo_Aproto3 proto.InternalMessageInfo func (m *Aproto3) GetB() string { if m != nil { @@ -69,6 +91,9 @@ func (m *Aproto3) MarshalTo(dAtA []byte) (int, error) { i = encodeVarintProto3(dAtA, i, uint64(len(m.B))) i += copy(dAtA[i:], m.B) } + if m.XXX_unrecognized != nil { + i += copy(dAtA[i:], m.XXX_unrecognized) + } return i, nil } @@ -82,12 +107,18 @@ func encodeVarintProto3(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Aproto3) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.B) if l > 0 { n += 1 + l + sovProto3(uint64(l)) } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } return n } @@ -174,6 +205,7 @@ func (m *Aproto3) Unmarshal(dAtA []byte) error { if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } @@ -288,9 +320,9 @@ var ( ErrIntOverflowProto3 = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("proto3.proto", fileDescriptorProto3) } +func init() { proto.RegisterFile("proto3.proto", fileDescriptor_proto3_7d4345ceecd7203e) } -var fileDescriptorProto3 = []byte{ +var fileDescriptor_proto3_7d4345ceecd7203e = []byte{ // 82 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x28, 0xca, 0x2f, 0xc9, 0x37, 0xd6, 0x03, 0x53, 0x42, 0x6c, 0x65, 0x89, 0x79, 0x99, 0x25, 0x95, 0x4a, 0xe2, 0x5c, diff --git a/vendor/github.com/gogo/protobuf/vanity/test/fast/vanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/fast/vanity.pb.go index c95078c7f..8d4381d26 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/fast/vanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/fast/vanity.pb.go @@ -1,21 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: vanity.proto -/* - Package vanity is a generated protocol buffer package. - - It is generated from these files: - vanity.proto - - It has these top-level messages: - A -*/ package vanity import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + import io "io" // Reference imports to suppress errors if they are not otherwise used. @@ -30,15 +23,45 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type A struct { - Strings *string `protobuf:"bytes,1,opt,name=Strings" json:"Strings,omitempty"` - Int *int64 `protobuf:"varint,2,req,name=Int" json:"Int,omitempty"` - XXX_unrecognized []byte `json:"-"` + Strings *string `protobuf:"bytes,1,opt,name=Strings" json:"Strings,omitempty"` + Int *int64 `protobuf:"varint,2,req,name=Int" json:"Int,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *A) Reset() { *m = A{} } -func (m *A) String() string { return proto.CompactTextString(m) } -func (*A) ProtoMessage() {} -func (*A) Descriptor() ([]byte, []int) { return fileDescriptorVanity, []int{0} } +func (m *A) Reset() { *m = A{} } +func (m *A) String() string { return proto.CompactTextString(m) } +func (*A) ProtoMessage() {} +func (*A) Descriptor() ([]byte, []int) { + return fileDescriptor_vanity_62f5a5ee00b3fc23, []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 (dst *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(dst, 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 func (m *A) GetStrings() string { if m != nil && m.Strings != nil { @@ -79,7 +102,7 @@ func (m *A) MarshalTo(dAtA []byte) (int, error) { i += copy(dAtA[i:], *m.Strings) } if m.Int == nil { - return 0, proto.NewRequiredNotSetError("Int") + return 0, github_com_gogo_protobuf_proto.NewRequiredNotSetError("Int") } else { dAtA[i] = 0x10 i++ @@ -101,6 +124,9 @@ func encodeVarintVanity(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *A) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.Strings != nil { @@ -227,7 +253,7 @@ func (m *A) Unmarshal(dAtA []byte) error { } } if hasFields[0]&uint64(0x00000001) == 0 { - return proto.NewRequiredNotSetError("Int") + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("Int") } if iNdEx > l { @@ -340,9 +366,9 @@ var ( ErrIntOverflowVanity = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("vanity.proto", fileDescriptorVanity) } +func init() { proto.RegisterFile("vanity.proto", fileDescriptor_vanity_62f5a5ee00b3fc23) } -var fileDescriptorVanity = []byte{ +var fileDescriptor_vanity_62f5a5ee00b3fc23 = []byte{ // 97 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x94, 0xf4, 0xb9, 0x18, diff --git a/vendor/github.com/gogo/protobuf/vanity/test/faster/gogovanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/faster/gogovanity.pb.go index 8ea5c08af..e89458792 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/faster/gogovanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/faster/gogovanity.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: gogovanity.proto -/* - Package vanity is a generated protocol buffer package. - - It is generated from these files: - gogovanity.proto - - It has these top-level messages: - B -*/ package vanity import proto "github.com/gogo/protobuf/proto" @@ -36,10 +27,38 @@ type B struct { Int32 *int32 `protobuf:"varint,3,opt,name=Int32,def=1234" json:"Int32,omitempty"` } -func (m *B) Reset() { *m = B{} } -func (m *B) String() string { return proto.CompactTextString(m) } -func (*B) ProtoMessage() {} -func (*B) Descriptor() ([]byte, []int) { return fileDescriptorGogovanity, []int{0} } +func (m *B) Reset() { *m = B{} } +func (m *B) String() string { return proto.CompactTextString(m) } +func (*B) ProtoMessage() {} +func (*B) Descriptor() ([]byte, []int) { + return fileDescriptor_gogovanity_5ec1359daac061c2, []int{0} +} +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 (dst *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(dst, 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 const Default_B_Int32 int32 = 1234 @@ -109,6 +128,9 @@ func encodeVarintGogovanity(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *B) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.String_ != nil { @@ -359,10 +381,10 @@ var ( ErrIntOverflowGogovanity = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("gogovanity.proto", fileDescriptorGogovanity) } +func init() { proto.RegisterFile("gogovanity.proto", fileDescriptor_gogovanity_5ec1359daac061c2) } -var fileDescriptorGogovanity = []byte{ - // 163 bytes of a gzipped FileDescriptorProto +var fileDescriptor_gogovanity_5ec1359daac061c2 = []byte{ + // 171 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcf, 0x4f, 0xcf, 0x2f, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0xa4, 0x74, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x41, 0x8a, 0xf4, @@ -371,7 +393,7 @@ var fileDescriptorGogovanity = []byte{ 0x70, 0x3a, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x18, 0x04, 0x15, 0x13, 0x92, 0xe2, 0x62, 0xf5, 0xcc, 0x2b, 0x31, 0x33, 0x91, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x06, 0x4b, 0x32, 0x04, 0x41, 0x84, 0xa0, 0x72, 0xc6, 0x46, 0x12, 0xcc, 0x0a, 0x8c, 0x1a, 0xac, 0x56, 0x2c, 0x86, 0x46, 0xc6, 0x26, 0x41, - 0x10, 0x21, 0x27, 0x81, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, - 0x71, 0xc2, 0x63, 0x39, 0x06, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfc, 0xde, 0x29, 0x72, 0xb6, - 0x00, 0x00, 0x00, + 0x10, 0x21, 0x27, 0x89, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, + 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x00, 0x04, 0x00, + 0x00, 0xff, 0xff, 0xbf, 0xbb, 0x2c, 0x28, 0xbe, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/vanity/test/faster/proto3.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/faster/proto3.pb.go index 023b240ca..1068288db 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/faster/proto3.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/faster/proto3.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: proto3.proto -/* -Package vanity is a generated protocol buffer package. - -It is generated from these files: - proto3.proto - -It has these top-level messages: - Aproto3 -*/ package vanity import proto "github.com/gogo/protobuf/proto" @@ -33,10 +24,38 @@ type Aproto3 struct { B string `protobuf:"bytes,1,opt,name=B,proto3" json:"B,omitempty"` } -func (m *Aproto3) Reset() { *m = Aproto3{} } -func (m *Aproto3) String() string { return proto.CompactTextString(m) } -func (*Aproto3) ProtoMessage() {} -func (*Aproto3) Descriptor() ([]byte, []int) { return fileDescriptorProto3, []int{0} } +func (m *Aproto3) Reset() { *m = Aproto3{} } +func (m *Aproto3) String() string { return proto.CompactTextString(m) } +func (*Aproto3) ProtoMessage() {} +func (*Aproto3) Descriptor() ([]byte, []int) { + return fileDescriptor_proto3_b593ea763dc96224, []int{0} +} +func (m *Aproto3) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Aproto3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Aproto3.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 (dst *Aproto3) XXX_Merge(src proto.Message) { + xxx_messageInfo_Aproto3.Merge(dst, src) +} +func (m *Aproto3) XXX_Size() int { + return m.Size() +} +func (m *Aproto3) XXX_DiscardUnknown() { + xxx_messageInfo_Aproto3.DiscardUnknown(m) +} + +var xxx_messageInfo_Aproto3 proto.InternalMessageInfo func (m *Aproto3) GetB() string { if m != nil { @@ -82,6 +101,9 @@ func encodeVarintProto3(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Aproto3) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.B) @@ -288,14 +310,14 @@ var ( ErrIntOverflowProto3 = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("proto3.proto", fileDescriptorProto3) } +func init() { proto.RegisterFile("proto3.proto", fileDescriptor_proto3_b593ea763dc96224) } -var fileDescriptorProto3 = []byte{ - // 87 bytes of a gzipped FileDescriptorProto +var fileDescriptor_proto3_b593ea763dc96224 = []byte{ + // 95 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x28, 0xca, 0x2f, 0xc9, 0x37, 0xd6, 0x03, 0x53, 0x42, 0x6c, 0x65, 0x89, 0x79, 0x99, 0x25, 0x95, 0x4a, 0xe2, 0x5c, 0xec, 0x8e, 0x10, 0x09, 0x21, 0x1e, 0x2e, 0x46, 0x27, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, - 0x46, 0x27, 0x27, 0x81, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, - 0x71, 0xc2, 0x63, 0x39, 0x86, 0x24, 0x36, 0x88, 0x3a, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x77, - 0x21, 0xa3, 0xc0, 0x49, 0x00, 0x00, 0x00, + 0x46, 0x27, 0x27, 0x89, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, + 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x48, 0x62, 0x83, + 0xa8, 0x07, 0x04, 0x00, 0x00, 0xff, 0xff, 0x73, 0xb1, 0xdb, 0xd2, 0x51, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/vanity/test/faster/vanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/faster/vanity.pb.go index 7be802050..41e545e77 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/faster/vanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/faster/vanity.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: vanity.proto -/* - Package vanity is a generated protocol buffer package. - - It is generated from these files: - vanity.proto - - It has these top-level messages: - A -*/ package vanity import proto "github.com/gogo/protobuf/proto" @@ -17,6 +8,7 @@ import fmt "fmt" import math "math" import io "io" +import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,10 +26,38 @@ type A struct { Int int64 `protobuf:"varint,2,req,name=Int" json:"Int"` } -func (m *A) Reset() { *m = A{} } -func (m *A) String() string { return proto.CompactTextString(m) } -func (*A) ProtoMessage() {} -func (*A) Descriptor() ([]byte, []int) { return fileDescriptorVanity, []int{0} } +func (m *A) Reset() { *m = A{} } +func (m *A) String() string { return proto.CompactTextString(m) } +func (*A) ProtoMessage() {} +func (*A) Descriptor() ([]byte, []int) { + return fileDescriptor_vanity_c8a9a949a2e14347, []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 (dst *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(dst, 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 func (m *A) GetStrings() string { if m != nil { @@ -91,6 +111,9 @@ func encodeVarintVanity(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *A) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Strings) @@ -207,7 +230,7 @@ func (m *A) Unmarshal(dAtA []byte) error { } } if hasFields[0]&uint64(0x00000001) == 0 { - return proto.NewRequiredNotSetError("Int") + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("Int") } if iNdEx > l { @@ -320,15 +343,16 @@ var ( ErrIntOverflowVanity = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("vanity.proto", fileDescriptorVanity) } +func init() { proto.RegisterFile("vanity.proto", fileDescriptor_vanity_c8a9a949a2e14347) } -var fileDescriptorVanity = []byte{ - // 109 bytes of a gzipped FileDescriptorProto +var fileDescriptor_vanity_c8a9a949a2e14347 = []byte{ + // 117 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x94, 0xac, 0xb9, 0x18, 0x1d, 0x85, 0xe4, 0xb8, 0xd8, 0x83, 0x4b, 0x8a, 0x32, 0xf3, 0xd2, 0x8b, 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, 0x9d, 0x58, 0x4e, 0xdc, 0x93, 0x67, 0x08, 0x82, 0x09, 0x0a, 0x89, 0x71, 0x31, 0x7b, - 0xe6, 0x95, 0x48, 0x30, 0x29, 0x30, 0x69, 0x30, 0x43, 0xe5, 0x40, 0x02, 0x4e, 0x02, 0x27, 0x1e, - 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x80, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x56, 0x0d, 0x52, 0xbb, 0x65, 0x00, 0x00, 0x00, + 0xe6, 0x95, 0x48, 0x30, 0x29, 0x30, 0x69, 0x30, 0x43, 0xe5, 0x40, 0x02, 0x4e, 0x12, 0x27, 0x1e, + 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, + 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x00, 0x08, 0x00, 0x00, 0xff, 0xff, 0x8b, 0x2e, 0x6a, + 0x0c, 0x6d, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/vanity/test/slick/gogovanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/slick/gogovanity.pb.go index 2718f48a8..0ab67e7dc 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/slick/gogovanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/slick/gogovanity.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: gogovanity.proto -/* - Package vanity is a generated protocol buffer package. - - It is generated from these files: - gogovanity.proto - - It has these top-level messages: - B -*/ package vanity import proto "github.com/gogo/protobuf/proto" @@ -39,9 +30,37 @@ type B struct { Int32 *int32 `protobuf:"varint,3,opt,name=Int32,def=1234" json:"Int32,omitempty"` } -func (m *B) Reset() { *m = B{} } -func (*B) ProtoMessage() {} -func (*B) Descriptor() ([]byte, []int) { return fileDescriptorGogovanity, []int{0} } +func (m *B) Reset() { *m = B{} } +func (*B) ProtoMessage() {} +func (*B) Descriptor() ([]byte, []int) { + return fileDescriptor_gogovanity_d28d049fcf27b277, []int{0} +} +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 (dst *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(dst, 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 const Default_B_Int32 int32 = 1234 @@ -177,6 +196,9 @@ func encodeVarintGogovanity(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *B) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l if m.String_ != nil { @@ -447,10 +469,10 @@ var ( ErrIntOverflowGogovanity = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("gogovanity.proto", fileDescriptorGogovanity) } +func init() { proto.RegisterFile("gogovanity.proto", fileDescriptor_gogovanity_d28d049fcf27b277) } -var fileDescriptorGogovanity = []byte{ - // 192 bytes of a gzipped FileDescriptorProto +var fileDescriptor_gogovanity_d28d049fcf27b277 = []byte{ + // 201 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcf, 0x4f, 0xcf, 0x2f, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0xa4, 0x74, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x41, 0x8a, 0xf4, @@ -459,8 +481,9 @@ var fileDescriptorGogovanity = []byte{ 0x70, 0x3a, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x18, 0x04, 0x15, 0x13, 0x92, 0xe2, 0x62, 0xf5, 0xcc, 0x2b, 0x31, 0x33, 0x91, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x06, 0x4b, 0x32, 0x04, 0x41, 0x84, 0xa0, 0x72, 0xc6, 0x46, 0x12, 0xcc, 0x0a, 0x8c, 0x1a, 0xac, 0x56, 0x2c, 0x86, 0x46, 0xc6, 0x26, 0x41, - 0x10, 0x21, 0x27, 0x9d, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0xf8, 0xf0, 0x50, 0x8e, + 0x10, 0x21, 0x27, 0x93, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0xf8, 0xf0, 0x50, 0x8e, 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8b, 0x47, 0x72, 0x0c, 0x1f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, - 0x2c, 0xc7, 0x00, 0x08, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x7e, 0xee, 0xf2, 0xd2, 0x00, 0x00, 0x00, + 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x80, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xab, 0xeb, 0xeb, 0x07, 0xda, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/vanity/test/slick/proto3.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/slick/proto3.pb.go index 7fabe55e4..2872dca03 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/slick/proto3.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/slick/proto3.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: proto3.proto -/* -Package vanity is a generated protocol buffer package. - -It is generated from these files: - proto3.proto - -It has these top-level messages: - Aproto3 -*/ package vanity import proto "github.com/gogo/protobuf/proto" @@ -36,9 +27,37 @@ type Aproto3 struct { B string `protobuf:"bytes,1,opt,name=B,proto3" json:"B,omitempty"` } -func (m *Aproto3) Reset() { *m = Aproto3{} } -func (*Aproto3) ProtoMessage() {} -func (*Aproto3) Descriptor() ([]byte, []int) { return fileDescriptorProto3, []int{0} } +func (m *Aproto3) Reset() { *m = Aproto3{} } +func (*Aproto3) ProtoMessage() {} +func (*Aproto3) Descriptor() ([]byte, []int) { + return fileDescriptor_proto3_1bf23e323c5dd138, []int{0} +} +func (m *Aproto3) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Aproto3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Aproto3.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 (dst *Aproto3) XXX_Merge(src proto.Message) { + xxx_messageInfo_Aproto3.Merge(dst, src) +} +func (m *Aproto3) XXX_Size() int { + return m.Size() +} +func (m *Aproto3) XXX_DiscardUnknown() { + xxx_messageInfo_Aproto3.DiscardUnknown(m) +} + +var xxx_messageInfo_Aproto3 proto.InternalMessageInfo func (m *Aproto3) GetB() string { if m != nil { @@ -126,6 +145,9 @@ func encodeVarintProto3(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *Aproto3) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.B) @@ -350,16 +372,16 @@ var ( ErrIntOverflowProto3 = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("proto3.proto", fileDescriptorProto3) } +func init() { proto.RegisterFile("proto3.proto", fileDescriptor_proto3_1bf23e323c5dd138) } -var fileDescriptorProto3 = []byte{ - // 116 bytes of a gzipped FileDescriptorProto +var fileDescriptor_proto3_1bf23e323c5dd138 = []byte{ + // 125 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x28, 0xca, 0x2f, 0xc9, 0x37, 0xd6, 0x03, 0x53, 0x42, 0x6c, 0x65, 0x89, 0x79, 0x99, 0x25, 0x95, 0x4a, 0xe2, 0x5c, 0xec, 0x8e, 0x10, 0x09, 0x21, 0x1e, 0x2e, 0x46, 0x27, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, - 0x46, 0x27, 0x27, 0x9d, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0xf8, 0xf0, 0x50, 0x8e, + 0x46, 0x27, 0x27, 0x93, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0xf8, 0xf0, 0x50, 0x8e, 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8b, 0x47, 0x72, 0x0c, 0x1f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, - 0x2c, 0xc7, 0x90, 0xc4, 0x06, 0x31, 0x03, 0x10, 0x00, 0x00, 0xff, 0xff, 0xb1, 0xa0, 0x15, 0x6b, - 0x65, 0x00, 0x00, 0x00, + 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x49, 0x6c, 0x10, 0xb3, 0x00, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x6e, 0x6a, 0x0e, 0x6d, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/vanity/test/slick/vanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/slick/vanity.pb.go index 915164bf5..36a98880e 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/slick/vanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/slick/vanity.pb.go @@ -1,15 +1,6 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: vanity.proto -/* - Package vanity is a generated protocol buffer package. - - It is generated from these files: - vanity.proto - - It has these top-level messages: - A -*/ package vanity import proto "github.com/gogo/protobuf/proto" @@ -20,6 +11,7 @@ import strings "strings" import reflect "reflect" import io "io" +import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -37,9 +29,37 @@ type A struct { Int int64 `protobuf:"varint,2,req,name=Int" json:"Int"` } -func (m *A) Reset() { *m = A{} } -func (*A) ProtoMessage() {} -func (*A) Descriptor() ([]byte, []int) { return fileDescriptorVanity, []int{0} } +func (m *A) Reset() { *m = A{} } +func (*A) ProtoMessage() {} +func (*A) Descriptor() ([]byte, []int) { + return fileDescriptor_vanity_0b672c3d48e40257, []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 (dst *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(dst, 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 func (m *A) GetStrings() string { if m != nil { @@ -139,6 +159,9 @@ func encodeVarintVanity(dAtA []byte, offset int, v uint64) int { return offset + 1 } func (m *A) Size() (n int) { + if m == nil { + return 0 + } var l int _ = l l = len(m.Strings) @@ -274,7 +297,7 @@ func (m *A) Unmarshal(dAtA []byte) error { } } if hasFields[0]&uint64(0x00000001) == 0 { - return proto.NewRequiredNotSetError("Int") + return github_com_gogo_protobuf_proto.NewRequiredNotSetError("Int") } if iNdEx > l { @@ -387,17 +410,18 @@ var ( ErrIntOverflowVanity = fmt.Errorf("proto: integer overflow") ) -func init() { proto.RegisterFile("vanity.proto", fileDescriptorVanity) } +func init() { proto.RegisterFile("vanity.proto", fileDescriptor_vanity_0b672c3d48e40257) } -var fileDescriptorVanity = []byte{ - // 138 bytes of a gzipped FileDescriptorProto +var fileDescriptor_vanity_0b672c3d48e40257 = []byte{ + // 147 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x94, 0xac, 0xb9, 0x18, 0x1d, 0x85, 0xe4, 0xb8, 0xd8, 0x83, 0x4b, 0x8a, 0x32, 0xf3, 0xd2, 0x8b, 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, 0x9d, 0x58, 0x4e, 0xdc, 0x93, 0x67, 0x08, 0x82, 0x09, 0x0a, 0x89, 0x71, 0x31, 0x7b, - 0xe6, 0x95, 0x48, 0x30, 0x29, 0x30, 0x69, 0x30, 0x43, 0xe5, 0x40, 0x02, 0x4e, 0x3a, 0x17, 0x1e, + 0xe6, 0x95, 0x48, 0x30, 0x29, 0x30, 0x69, 0x30, 0x43, 0xe5, 0x40, 0x02, 0x4e, 0x26, 0x17, 0x1e, 0xca, 0x31, 0xdc, 0x78, 0x28, 0xc7, 0xf0, 0xe1, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, - 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0x01, 0x10, 0x00, 0x00, - 0xff, 0xff, 0x4d, 0xd9, 0xba, 0x18, 0x81, 0x00, 0x00, 0x00, + 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, + 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x20, 0x58, 0xc4, 0x53, 0x89, + 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/version/version.go b/vendor/github.com/gogo/protobuf/version/version.go index 461e99032..b2951ec1e 100644 --- a/vendor/github.com/gogo/protobuf/version/version.go +++ b/vendor/github.com/gogo/protobuf/version/version.go @@ -40,7 +40,7 @@ func Get() string { version := strings.TrimSpace(string(versionBytes)) versions := strings.Split(version, " ") if len(versions) != 2 { - panic("version string returned from protoc is seperated with a space: " + version) + panic("version string returned from protoc is separated with a space: " + version) } return versions[1] } @@ -48,7 +48,7 @@ func Get() string { func parseVersion(version string) (int, error) { versions := strings.Split(version, ".") if len(versions) != 3 { - return 0, fmt.Errorf("version does not have 3 numbers seperated by dots: %s", version) + return 0, fmt.Errorf("version does not have 3 numbers separated by dots: %s", version) } n := 0 for _, v := range versions { diff --git a/vendor/github.com/minio/sha256-simd/.gitignore b/vendor/github.com/minio/sha256-simd/.gitignore new file mode 100644 index 000000000..c56069fe2 --- /dev/null +++ b/vendor/github.com/minio/sha256-simd/.gitignore @@ -0,0 +1 @@ +*.test \ No newline at end of file diff --git a/vendor/github.com/minio/sha256-simd/.travis.yml b/vendor/github.com/minio/sha256-simd/.travis.yml new file mode 100644 index 000000000..00c2beaba --- /dev/null +++ b/vendor/github.com/minio/sha256-simd/.travis.yml @@ -0,0 +1,23 @@ +sudo: required +dist: trusty +language: go + +os: +- linux + +go: +- tip +- 1.11.x + +env: +- ARCH=x86_64 +- ARCH=i686 + +matrix: + fast_finish: true + allow_failures: + - go: tip + +script: +- diff -au <(gofmt -d .) <(printf "") +- go test -race -v ./... diff --git a/vendor/github.com/minio/sha256-simd/README.md b/vendor/github.com/minio/sha256-simd/README.md new file mode 100644 index 000000000..567645350 --- /dev/null +++ b/vendor/github.com/minio/sha256-simd/README.md @@ -0,0 +1,120 @@ +# sha256-simd + +Accelerate SHA256 computations in pure Go using AVX512 and AVX2 for Intel and ARM64 for ARM. On AVX512 it provides an up to 8x improvement (over 3 GB/s per core) in comparison to AVX2. + +## Introduction + +This package is designed as a replacement for `crypto/sha256`. For Intel CPUs it has two flavors for AVX512 and AVX2 (AVX/SSE are also supported). For ARM CPUs with the Cryptography Extensions, advantage is taken of the SHA2 instructions resulting in a massive performance improvement. + +This package uses Golang assembly. The AVX512 version is based on the Intel's "multi-buffer crypto library for IPSec" whereas the other Intel implementations are described in "Fast SHA-256 Implementations on Intel Architecture Processors" by J. Guilford et al. + +## New: Support for AVX512 + +We have added support for AVX512 which results in an up to 8x performance improvement over AVX2 (3.0 GHz Xeon Platinum 8124M CPU): + +``` +$ benchcmp avx2.txt avx512.txt +benchmark AVX2 MB/s AVX512 MB/s speedup +BenchmarkHash5M 448.62 3498.20 7.80x +``` + +The original code was developed by Intel as part of the [multi-buffer crypto library](https://github.com/intel/intel-ipsec-mb) for IPSec or more specifically this [AVX512](https://github.com/intel/intel-ipsec-mb/blob/master/avx512/sha256_x16_avx512.asm) implementation. The key idea behind it is to process a total of 16 checksums in parallel by “transposing” 16 (independent) messages of 64 bytes between a total of 16 ZMM registers (each 64 bytes wide). + +Transposing the input messages means that in order to take full advantage of the speedup you need to have a (server) workload where multiple threads are doing SHA256 calculations in parallel. Unfortunately for this algorithm it is not possible for two message blocks processed in parallel to be dependent on one another — because then the (interim) result of the first part of the message has to be an input into the processing of the second part of the message. + +Whereas the original Intel C implementation requires some sort of explicit scheduling of messages to be processed in parallel, for Golang it makes sense to take advantage of channels in order to group messages together and use channels as well for sending back the results (thereby effectively decoupling the calculations). We have implemented a fairly simple scheduling mechanism that seems to work well in practice. + +Due to this different way of scheduling, we decided to use an explicit method to instantiate the AVX512 version. Essentially one or more AVX512 processing servers ([`Avx512Server`](https://github.com/minio/sha256-simd/blob/master/sha256blockAvx512_amd64.go#L294)) have to be created whereby each server can hash over 3 GB/s on a single core. An `hash.Hash` object ([`Avx512Digest`](https://github.com/minio/sha256-simd/blob/master/sha256blockAvx512_amd64.go#L45)) is then instantiated using one of these servers and used in the regular fashion: + +```go +import "github.com/minio/sha256-simd" + +func main() { + server := sha256.NewAvx512Server() + h512 := sha256.NewAvx512(server) + h512.Write(fileBlock) + digest := h512.Sum([]byte{}) +} +``` + +Note that, because of the scheduling overhead, for small messages (< 1 MB) you will be better off using the regular SHA256 hashing (but those are typically not performance critical anyway). Some other tips to get the best performance: +* Have many go routines doing SHA256 calculations in parallel. +* Try to Write() messages in multiples of 64 bytes. +* Try to keep the overall length of messages to a roughly similar size ie. 5 MB (this way all 16 ‘lanes’ in the AVX512 computations are contributing as much as possible). + +More detailed information can be found in this [blog](https://blog.minio.io/accelerate-sha256-up-to-8x-over-3-gb-s-per-core-with-avx512-a0b1d64f78f) post including scaling across cores. + +## Drop-In Replacement + +The following code snippet shows how you can use `github.com/minio/sha256-simd`. This will automatically select the fastest method for the architecture on which it will be executed. + +```go +import "github.com/minio/sha256-simd" + +func main() { + ... + shaWriter := sha256.New() + io.Copy(shaWriter, file) + ... +} +``` + +## Performance + +Below is the speed in MB/s for a single core (ranked fast to slow) for blocks larger than 1 MB. + +| Processor | SIMD | Speed (MB/s) | +| --------------------------------- | ------- | ------------:| +| 3.0 GHz Intel Xeon Platinum 8124M | AVX512 | 3498 | +| 1.2 GHz ARM Cortex-A53 | ARM64 | 638 | +| 3.0 GHz Intel Xeon Platinum 8124M | AVX2 | 449 | +| 3.1 GHz Intel Core i7 | AVX | 362 | +| 3.1 GHz Intel Core i7 | SSE | 299 | + +## asm2plan9s + +In order to be able to work more easily with AVX512/AVX2 instructions, a separate tool was developed to convert SIMD instructions into the corresponding BYTE sequence as accepted by Go assembly. See [asm2plan9s](https://github.com/minio/asm2plan9s) for more information. + +## Why and benefits + +One of the most performance sensitive parts of the [Minio](https://github.com/minio/minio) object storage server is related to SHA256 hash sums calculations. For instance during multi part uploads each part that is uploaded needs to be verified for data integrity by the server. + +Other applications that can benefit from enhanced SHA256 performance are deduplication in storage systems, intrusion detection, version control systems, integrity checking, etc. + +## ARM SHA Extensions + +The 64-bit ARMv8 core has introduced new instructions for SHA1 and SHA2 acceleration as part of the [Cryptography Extensions](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0501f/CHDFJBCJ.html). Below you can see a small excerpt highlighting one of the rounds as is done for the SHA256 calculation process (for full code see [sha256block_arm64.s](https://github.com/minio/sha256-simd/blob/master/sha256block_arm64.s)). + + ``` + sha256h q2, q3, v9.4s + sha256h2 q3, q4, v9.4s + sha256su0 v5.4s, v6.4s + rev32 v8.16b, v8.16b + add v9.4s, v7.4s, v18.4s + mov v4.16b, v2.16b + sha256h q2, q3, v10.4s + sha256h2 q3, q4, v10.4s + sha256su0 v6.4s, v7.4s + sha256su1 v5.4s, v7.4s, v8.4s + ``` + +### Detailed benchmarks + +Benchmarks generated on a 1.2 Ghz Quad-Core ARM Cortex A53 equipped [Pine64](https://www.pine64.com/). + +``` +minio@minio-arm:$ benchcmp golang.txt arm64.txt +benchmark golang arm64 speedup +BenchmarkHash8Bytes-4 0.68 MB/s 5.70 MB/s 8.38x +BenchmarkHash1K-4 5.65 MB/s 326.30 MB/s 57.75x +BenchmarkHash8K-4 6.00 MB/s 570.63 MB/s 95.11x +BenchmarkHash1M-4 6.05 MB/s 638.23 MB/s 105.49x +``` + +## License + +Released under the Apache License v2.0. You can find the complete text in the file LICENSE. + +## Contributing + +Contributions are welcome, please send PRs for any enhancements. diff --git a/vendor/github.com/minio/sha256-simd/appveyor.yml b/vendor/github.com/minio/sha256-simd/appveyor.yml new file mode 100644 index 000000000..a66bfa9f2 --- /dev/null +++ b/vendor/github.com/minio/sha256-simd/appveyor.yml @@ -0,0 +1,32 @@ +# version format +version: "{build}" + +# Operating system (build VM template) +os: Windows Server 2012 R2 + +# Platform. +platform: x64 + +clone_folder: c:\gopath\src\github.com\minio\sha256-simd + +# environment variables +environment: + GOPATH: c:\gopath + GO15VENDOREXPERIMENT: 1 + +# scripts that run after cloning repository +install: + - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% + - go version + - go env + +# to run your custom scripts instead of automatic MSBuild +build_script: + - go test . + - go test -race . + +# to disable automatic tests +test: off + +# to disable deployment +deploy: off diff --git a/vendor/github.com/minio/sha256-simd/sha256blockAvx512_amd64.asm b/vendor/github.com/minio/sha256-simd/sha256blockAvx512_amd64.asm new file mode 100644 index 000000000..c959b1aa2 --- /dev/null +++ b/vendor/github.com/minio/sha256-simd/sha256blockAvx512_amd64.asm @@ -0,0 +1,686 @@ + +// 16x Parallel implementation of SHA256 for AVX512 + +// +// Minio Cloud Storage, (C) 2017 Minio, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// +// This code is based on the Intel Multi-Buffer Crypto for IPSec library +// and more specifically the following implementation: +// https://github.com/intel/intel-ipsec-mb/blob/master/avx512/sha256_x16_avx512.asm +// +// For Golang it has been converted into Plan 9 assembly with the help of +// github.com/minio/asm2plan9s to assemble the AVX512 instructions +// + +// Copyright (c) 2017, Intel Corporation +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of Intel Corporation nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#define SHA256_DIGEST_ROW_SIZE 64 + +// arg1 +#define STATE rdi +#define STATE_P9 DI +// arg2 +#define INP_SIZE rsi +#define INP_SIZE_P9 SI + +#define IDX rcx +#define TBL rdx +#define TBL_P9 DX + +#define INPUT rax +#define INPUT_P9 AX + +#define inp0 r9 +#define SCRATCH_P9 R12 +#define SCRATCH r12 +#define maskp r13 +#define MASKP_P9 R13 +#define mask r14 +#define MASK_P9 R14 + +#define A zmm0 +#define B zmm1 +#define C zmm2 +#define D zmm3 +#define E zmm4 +#define F zmm5 +#define G zmm6 +#define H zmm7 +#define T1 zmm8 +#define TMP0 zmm9 +#define TMP1 zmm10 +#define TMP2 zmm11 +#define TMP3 zmm12 +#define TMP4 zmm13 +#define TMP5 zmm14 +#define TMP6 zmm15 + +#define W0 zmm16 +#define W1 zmm17 +#define W2 zmm18 +#define W3 zmm19 +#define W4 zmm20 +#define W5 zmm21 +#define W6 zmm22 +#define W7 zmm23 +#define W8 zmm24 +#define W9 zmm25 +#define W10 zmm26 +#define W11 zmm27 +#define W12 zmm28 +#define W13 zmm29 +#define W14 zmm30 +#define W15 zmm31 + + +#define TRANSPOSE16(_r0, _r1, _r2, _r3, _r4, _r5, _r6, _r7, _r8, _r9, _r10, _r11, _r12, _r13, _r14, _r15, _t0, _t1) \ + \ + \ // input r0 = {a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0} + \ // r1 = {b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0} + \ // r2 = {c15 c14 c13 c12 c11 c10 c9 c8 c7 c6 c5 c4 c3 c2 c1 c0} + \ // r3 = {d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0} + \ // r4 = {e15 e14 e13 e12 e11 e10 e9 e8 e7 e6 e5 e4 e3 e2 e1 e0} + \ // r5 = {f15 f14 f13 f12 f11 f10 f9 f8 f7 f6 f5 f4 f3 f2 f1 f0} + \ // r6 = {g15 g14 g13 g12 g11 g10 g9 g8 g7 g6 g5 g4 g3 g2 g1 g0} + \ // r7 = {h15 h14 h13 h12 h11 h10 h9 h8 h7 h6 h5 h4 h3 h2 h1 h0} + \ // r8 = {i15 i14 i13 i12 i11 i10 i9 i8 i7 i6 i5 i4 i3 i2 i1 i0} + \ // r9 = {j15 j14 j13 j12 j11 j10 j9 j8 j7 j6 j5 j4 j3 j2 j1 j0} + \ // r10 = {k15 k14 k13 k12 k11 k10 k9 k8 k7 k6 k5 k4 k3 k2 k1 k0} + \ // r11 = {l15 l14 l13 l12 l11 l10 l9 l8 l7 l6 l5 l4 l3 l2 l1 l0} + \ // r12 = {m15 m14 m13 m12 m11 m10 m9 m8 m7 m6 m5 m4 m3 m2 m1 m0} + \ // r13 = {n15 n14 n13 n12 n11 n10 n9 n8 n7 n6 n5 n4 n3 n2 n1 n0} + \ // r14 = {o15 o14 o13 o12 o11 o10 o9 o8 o7 o6 o5 o4 o3 o2 o1 o0} + \ // r15 = {p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0} + \ + \ // output r0 = { p0 o0 n0 m0 l0 k0 j0 i0 h0 g0 f0 e0 d0 c0 b0 a0} + \ // r1 = { p1 o1 n1 m1 l1 k1 j1 i1 h1 g1 f1 e1 d1 c1 b1 a1} + \ // r2 = { p2 o2 n2 m2 l2 k2 j2 i2 h2 g2 f2 e2 d2 c2 b2 a2} + \ // r3 = { p3 o3 n3 m3 l3 k3 j3 i3 h3 g3 f3 e3 d3 c3 b3 a3} + \ // r4 = { p4 o4 n4 m4 l4 k4 j4 i4 h4 g4 f4 e4 d4 c4 b4 a4} + \ // r5 = { p5 o5 n5 m5 l5 k5 j5 i5 h5 g5 f5 e5 d5 c5 b5 a5} + \ // r6 = { p6 o6 n6 m6 l6 k6 j6 i6 h6 g6 f6 e6 d6 c6 b6 a6} + \ // r7 = { p7 o7 n7 m7 l7 k7 j7 i7 h7 g7 f7 e7 d7 c7 b7 a7} + \ // r8 = { p8 o8 n8 m8 l8 k8 j8 i8 h8 g8 f8 e8 d8 c8 b8 a8} + \ // r9 = { p9 o9 n9 m9 l9 k9 j9 i9 h9 g9 f9 e9 d9 c9 b9 a9} + \ // r10 = {p10 o10 n10 m10 l10 k10 j10 i10 h10 g10 f10 e10 d10 c10 b10 a10} + \ // r11 = {p11 o11 n11 m11 l11 k11 j11 i11 h11 g11 f11 e11 d11 c11 b11 a11} + \ // r12 = {p12 o12 n12 m12 l12 k12 j12 i12 h12 g12 f12 e12 d12 c12 b12 a12} + \ // r13 = {p13 o13 n13 m13 l13 k13 j13 i13 h13 g13 f13 e13 d13 c13 b13 a13} + \ // r14 = {p14 o14 n14 m14 l14 k14 j14 i14 h14 g14 f14 e14 d14 c14 b14 a14} + \ // r15 = {p15 o15 n15 m15 l15 k15 j15 i15 h15 g15 f15 e15 d15 c15 b15 a15} + \ + \ // process top half + vshufps _t0, _r0, _r1, 0x44 \ // t0 = {b13 b12 a13 a12 b9 b8 a9 a8 b5 b4 a5 a4 b1 b0 a1 a0} + vshufps _r0, _r0, _r1, 0xEE \ // r0 = {b15 b14 a15 a14 b11 b10 a11 a10 b7 b6 a7 a6 b3 b2 a3 a2} + vshufps _t1, _r2, _r3, 0x44 \ // t1 = {d13 d12 c13 c12 d9 d8 c9 c8 d5 d4 c5 c4 d1 d0 c1 c0} + vshufps _r2, _r2, _r3, 0xEE \ // r2 = {d15 d14 c15 c14 d11 d10 c11 c10 d7 d6 c7 c6 d3 d2 c3 c2} + \ + vshufps _r3, _t0, _t1, 0xDD \ // r3 = {d13 c13 b13 a13 d9 c9 b9 a9 d5 c5 b5 a5 d1 c1 b1 a1} + vshufps _r1, _r0, _r2, 0x88 \ // r1 = {d14 c14 b14 a14 d10 c10 b10 a10 d6 c6 b6 a6 d2 c2 b2 a2} + vshufps _r0, _r0, _r2, 0xDD \ // r0 = {d15 c15 b15 a15 d11 c11 b11 a11 d7 c7 b7 a7 d3 c3 b3 a3} + vshufps _t0, _t0, _t1, 0x88 \ // t0 = {d12 c12 b12 a12 d8 c8 b8 a8 d4 c4 b4 a4 d0 c0 b0 a0} + \ + \ // use r2 in place of t0 + vshufps _r2, _r4, _r5, 0x44 \ // r2 = {f13 f12 e13 e12 f9 f8 e9 e8 f5 f4 e5 e4 f1 f0 e1 e0} + vshufps _r4, _r4, _r5, 0xEE \ // r4 = {f15 f14 e15 e14 f11 f10 e11 e10 f7 f6 e7 e6 f3 f2 e3 e2} + vshufps _t1, _r6, _r7, 0x44 \ // t1 = {h13 h12 g13 g12 h9 h8 g9 g8 h5 h4 g5 g4 h1 h0 g1 g0} + vshufps _r6, _r6, _r7, 0xEE \ // r6 = {h15 h14 g15 g14 h11 h10 g11 g10 h7 h6 g7 g6 h3 h2 g3 g2} + \ + vshufps _r7, _r2, _t1, 0xDD \ // r7 = {h13 g13 f13 e13 h9 g9 f9 e9 h5 g5 f5 e5 h1 g1 f1 e1} + vshufps _r5, _r4, _r6, 0x88 \ // r5 = {h14 g14 f14 e14 h10 g10 f10 e10 h6 g6 f6 e6 h2 g2 f2 e2} + vshufps _r4, _r4, _r6, 0xDD \ // r4 = {h15 g15 f15 e15 h11 g11 f11 e11 h7 g7 f7 e7 h3 g3 f3 e3} + vshufps _r2, _r2, _t1, 0x88 \ // r2 = {h12 g12 f12 e12 h8 g8 f8 e8 h4 g4 f4 e4 h0 g0 f0 e0} + \ + \ // use r6 in place of t0 + vshufps _r6, _r8, _r9, 0x44 \ // r6 = {j13 j12 i13 i12 j9 j8 i9 i8 j5 j4 i5 i4 j1 j0 i1 i0} + vshufps _r8, _r8, _r9, 0xEE \ // r8 = {j15 j14 i15 i14 j11 j10 i11 i10 j7 j6 i7 i6 j3 j2 i3 i2} + vshufps _t1, _r10, _r11, 0x44 \ // t1 = {l13 l12 k13 k12 l9 l8 k9 k8 l5 l4 k5 k4 l1 l0 k1 k0} + vshufps _r10, _r10, _r11, 0xEE \ // r10 = {l15 l14 k15 k14 l11 l10 k11 k10 l7 l6 k7 k6 l3 l2 k3 k2} + \ + vshufps _r11, _r6, _t1, 0xDD \ // r11 = {l13 k13 j13 113 l9 k9 j9 i9 l5 k5 j5 i5 l1 k1 j1 i1} + vshufps _r9, _r8, _r10, 0x88 \ // r9 = {l14 k14 j14 114 l10 k10 j10 i10 l6 k6 j6 i6 l2 k2 j2 i2} + vshufps _r8, _r8, _r10, 0xDD \ // r8 = {l15 k15 j15 115 l11 k11 j11 i11 l7 k7 j7 i7 l3 k3 j3 i3} + vshufps _r6, _r6, _t1, 0x88 \ // r6 = {l12 k12 j12 112 l8 k8 j8 i8 l4 k4 j4 i4 l0 k0 j0 i0} + \ + \ // use r10 in place of t0 + vshufps _r10, _r12, _r13, 0x44 \ // r10 = {n13 n12 m13 m12 n9 n8 m9 m8 n5 n4 m5 m4 n1 n0 a1 m0} + vshufps _r12, _r12, _r13, 0xEE \ // r12 = {n15 n14 m15 m14 n11 n10 m11 m10 n7 n6 m7 m6 n3 n2 a3 m2} + vshufps _t1, _r14, _r15, 0x44 \ // t1 = {p13 p12 013 012 p9 p8 09 08 p5 p4 05 04 p1 p0 01 00} + vshufps _r14, _r14, _r15, 0xEE \ // r14 = {p15 p14 015 014 p11 p10 011 010 p7 p6 07 06 p3 p2 03 02} + \ + vshufps _r15, _r10, _t1, 0xDD \ // r15 = {p13 013 n13 m13 p9 09 n9 m9 p5 05 n5 m5 p1 01 n1 m1} + vshufps _r13, _r12, _r14, 0x88 \ // r13 = {p14 014 n14 m14 p10 010 n10 m10 p6 06 n6 m6 p2 02 n2 m2} + vshufps _r12, _r12, _r14, 0xDD \ // r12 = {p15 015 n15 m15 p11 011 n11 m11 p7 07 n7 m7 p3 03 n3 m3} + vshufps _r10, _r10, _t1, 0x88 \ // r10 = {p12 012 n12 m12 p8 08 n8 m8 p4 04 n4 m4 p0 00 n0 m0} + \ + \ // At this point, the registers that contain interesting data are: + \ // t0, r3, r1, r0, r2, r7, r5, r4, r6, r11, r9, r8, r10, r15, r13, r12 + \ // Can use t1 and r14 as scratch registers + LEAQ PSHUFFLE_TRANSPOSE16_MASK1<>(SB), BX \ + LEAQ PSHUFFLE_TRANSPOSE16_MASK2<>(SB), R8 \ + \ + vmovdqu32 _r14, [rbx] \ + vpermi2q _r14, _t0, _r2 \ // r14 = {h8 g8 f8 e8 d8 c8 b8 a8 h0 g0 f0 e0 d0 c0 b0 a0} + vmovdqu32 _t1, [r8] \ + vpermi2q _t1, _t0, _r2 \ // t1 = {h12 g12 f12 e12 d12 c12 b12 a12 h4 g4 f4 e4 d4 c4 b4 a4} + \ + vmovdqu32 _r2, [rbx] \ + vpermi2q _r2, _r3, _r7 \ // r2 = {h9 g9 f9 e9 d9 c9 b9 a9 h1 g1 f1 e1 d1 c1 b1 a1} + vmovdqu32 _t0, [r8] \ + vpermi2q _t0, _r3, _r7 \ // t0 = {h13 g13 f13 e13 d13 c13 b13 a13 h5 g5 f5 e5 d5 c5 b5 a5} + \ + vmovdqu32 _r3, [rbx] \ + vpermi2q _r3, _r1, _r5 \ // r3 = {h10 g10 f10 e10 d10 c10 b10 a10 h2 g2 f2 e2 d2 c2 b2 a2} + vmovdqu32 _r7, [r8] \ + vpermi2q _r7, _r1, _r5 \ // r7 = {h14 g14 f14 e14 d14 c14 b14 a14 h6 g6 f6 e6 d6 c6 b6 a6} + \ + vmovdqu32 _r1, [rbx] \ + vpermi2q _r1, _r0, _r4 \ // r1 = {h11 g11 f11 e11 d11 c11 b11 a11 h3 g3 f3 e3 d3 c3 b3 a3} + vmovdqu32 _r5, [r8] \ + vpermi2q _r5, _r0, _r4 \ // r5 = {h15 g15 f15 e15 d15 c15 b15 a15 h7 g7 f7 e7 d7 c7 b7 a7} + \ + vmovdqu32 _r0, [rbx] \ + vpermi2q _r0, _r6, _r10 \ // r0 = {p8 o8 n8 m8 l8 k8 j8 i8 p0 o0 n0 m0 l0 k0 j0 i0} + vmovdqu32 _r4, [r8] \ + vpermi2q _r4, _r6, _r10 \ // r4 = {p12 o12 n12 m12 l12 k12 j12 i12 p4 o4 n4 m4 l4 k4 j4 i4} + \ + vmovdqu32 _r6, [rbx] \ + vpermi2q _r6, _r11, _r15 \ // r6 = {p9 o9 n9 m9 l9 k9 j9 i9 p1 o1 n1 m1 l1 k1 j1 i1} + vmovdqu32 _r10, [r8] \ + vpermi2q _r10, _r11, _r15 \ // r10 = {p13 o13 n13 m13 l13 k13 j13 i13 p5 o5 n5 m5 l5 k5 j5 i5} + \ + vmovdqu32 _r11, [rbx] \ + vpermi2q _r11, _r9, _r13 \ // r11 = {p10 o10 n10 m10 l10 k10 j10 i10 p2 o2 n2 m2 l2 k2 j2 i2} + vmovdqu32 _r15, [r8] \ + vpermi2q _r15, _r9, _r13 \ // r15 = {p14 o14 n14 m14 l14 k14 j14 i14 p6 o6 n6 m6 l6 k6 j6 i6} + \ + vmovdqu32 _r9, [rbx] \ + vpermi2q _r9, _r8, _r12 \ // r9 = {p11 o11 n11 m11 l11 k11 j11 i11 p3 o3 n3 m3 l3 k3 j3 i3} + vmovdqu32 _r13, [r8] \ + vpermi2q _r13, _r8, _r12 \ // r13 = {p15 o15 n15 m15 l15 k15 j15 i15 p7 o7 n7 m7 l7 k7 j7 i7} + \ + \ // At this point r8 and r12 can be used as scratch registers + vshuff64x2 _r8, _r14, _r0, 0xEE \ // r8 = {p8 o8 n8 m8 l8 k8 j8 i8 h8 g8 f8 e8 d8 c8 b8 a8} + vshuff64x2 _r0, _r14, _r0, 0x44 \ // r0 = {p0 o0 n0 m0 l0 k0 j0 i0 h0 g0 f0 e0 d0 c0 b0 a0} + \ + vshuff64x2 _r12, _t1, _r4, 0xEE \ // r12 = {p12 o12 n12 m12 l12 k12 j12 i12 h12 g12 f12 e12 d12 c12 b12 a12} + vshuff64x2 _r4, _t1, _r4, 0x44 \ // r4 = {p4 o4 n4 m4 l4 k4 j4 i4 h4 g4 f4 e4 d4 c4 b4 a4} + \ + vshuff64x2 _r14, _r7, _r15, 0xEE \ // r14 = {p14 o14 n14 m14 l14 k14 j14 i14 h14 g14 f14 e14 d14 c14 b14 a14} + vshuff64x2 _t1, _r7, _r15, 0x44 \ // t1 = {p6 o6 n6 m6 l6 k6 j6 i6 h6 g6 f6 e6 d6 c6 b6 a6} + \ + vshuff64x2 _r15, _r5, _r13, 0xEE \ // r15 = {p15 o15 n15 m15 l15 k15 j15 i15 h15 g15 f15 e15 d15 c15 b15 a15} + vshuff64x2 _r7, _r5, _r13, 0x44 \ // r7 = {p7 o7 n7 m7 l7 k7 j7 i7 h7 g7 f7 e7 d7 c7 b7 a7} + \ + vshuff64x2 _r13, _t0, _r10, 0xEE \ // r13 = {p13 o13 n13 m13 l13 k13 j13 i13 h13 g13 f13 e13 d13 c13 b13 a13} + vshuff64x2 _r5, _t0, _r10, 0x44 \ // r5 = {p5 o5 n5 m5 l5 k5 j5 i5 h5 g5 f5 e5 d5 c5 b5 a5} + \ + vshuff64x2 _r10, _r3, _r11, 0xEE \ // r10 = {p10 o10 n10 m10 l10 k10 j10 i10 h10 g10 f10 e10 d10 c10 b10 a10} + vshuff64x2 _t0, _r3, _r11, 0x44 \ // t0 = {p2 o2 n2 m2 l2 k2 j2 i2 h2 g2 f2 e2 d2 c2 b2 a2} + \ + vshuff64x2 _r11, _r1, _r9, 0xEE \ // r11 = {p11 o11 n11 m11 l11 k11 j11 i11 h11 g11 f11 e11 d11 c11 b11 a11} + vshuff64x2 _r3, _r1, _r9, 0x44 \ // r3 = {p3 o3 n3 m3 l3 k3 j3 i3 h3 g3 f3 e3 d3 c3 b3 a3} + \ + vshuff64x2 _r9, _r2, _r6, 0xEE \ // r9 = {p9 o9 n9 m9 l9 k9 j9 i9 h9 g9 f9 e9 d9 c9 b9 a9} + vshuff64x2 _r1, _r2, _r6, 0x44 \ // r1 = {p1 o1 n1 m1 l1 k1 j1 i1 h1 g1 f1 e1 d1 c1 b1 a1} + \ + vmovdqu32 _r2, _t0 \ // r2 = {p2 o2 n2 m2 l2 k2 j2 i2 h2 g2 f2 e2 d2 c2 b2 a2} + vmovdqu32 _r6, _t1 \ // r6 = {p6 o6 n6 m6 l6 k6 j6 i6 h6 g6 f6 e6 d6 c6 b6 a6} + + +// CH(A, B, C) = (A&B) ^ (~A&C) +// MAJ(E, F, G) = (E&F) ^ (E&G) ^ (F&G) +// SIGMA0 = ROR_2 ^ ROR_13 ^ ROR_22 +// SIGMA1 = ROR_6 ^ ROR_11 ^ ROR_25 +// sigma0 = ROR_7 ^ ROR_18 ^ SHR_3 +// sigma1 = ROR_17 ^ ROR_19 ^ SHR_10 + +// Main processing loop per round +#define PROCESS_LOOP(_WT, _ROUND, _A, _B, _C, _D, _E, _F, _G, _H) \ + \ // T1 = H + SIGMA1(E) + CH(E, F, G) + Kt + Wt + \ // T2 = SIGMA0(A) + MAJ(A, B, C) + \ // H=G, G=F, F=E, E=D+T1, D=C, C=B, B=A, A=T1+T2 + \ + \ // H becomes T2, then add T1 for A + \ // D becomes D + T1 for E + \ + vpaddd T1, _H, TMP3 \ // T1 = H + Kt + vmovdqu32 TMP0, _E \ + vprord TMP1, _E, 6 \ // ROR_6(E) + vprord TMP2, _E, 11 \ // ROR_11(E) + vprord TMP3, _E, 25 \ // ROR_25(E) + vpternlogd TMP0, _F, _G, 0xCA \ // TMP0 = CH(E,F,G) + vpaddd T1, T1, _WT \ // T1 = T1 + Wt + vpternlogd TMP1, TMP2, TMP3, 0x96 \ // TMP1 = SIGMA1(E) + vpaddd T1, T1, TMP0 \ // T1 = T1 + CH(E,F,G) + vpaddd T1, T1, TMP1 \ // T1 = T1 + SIGMA1(E) + vpaddd _D, _D, T1 \ // D = D + T1 + \ + vprord _H, _A, 2 \ // ROR_2(A) + vprord TMP2, _A, 13 \ // ROR_13(A) + vprord TMP3, _A, 22 \ // ROR_22(A) + vmovdqu32 TMP0, _A \ + vpternlogd TMP0, _B, _C, 0xE8 \ // TMP0 = MAJ(A,B,C) + vpternlogd _H, TMP2, TMP3, 0x96 \ // H(T2) = SIGMA0(A) + vpaddd _H, _H, TMP0 \ // H(T2) = SIGMA0(A) + MAJ(A,B,C) + vpaddd _H, _H, T1 \ // H(A) = H(T2) + T1 + \ + vmovdqu32 TMP3, [TBL + ((_ROUND+1)*64)] \ // Next Kt + + +#define MSG_SCHED_ROUND_16_63(_WT, _WTp1, _WTp9, _WTp14) \ + vprord TMP4, _WTp14, 17 \ // ROR_17(Wt-2) + vprord TMP5, _WTp14, 19 \ // ROR_19(Wt-2) + vpsrld TMP6, _WTp14, 10 \ // SHR_10(Wt-2) + vpternlogd TMP4, TMP5, TMP6, 0x96 \ // TMP4 = sigma1(Wt-2) + \ + vpaddd _WT, _WT, TMP4 \ // Wt = Wt-16 + sigma1(Wt-2) + vpaddd _WT, _WT, _WTp9 \ // Wt = Wt-16 + sigma1(Wt-2) + Wt-7 + \ + vprord TMP4, _WTp1, 7 \ // ROR_7(Wt-15) + vprord TMP5, _WTp1, 18 \ // ROR_18(Wt-15) + vpsrld TMP6, _WTp1, 3 \ // SHR_3(Wt-15) + vpternlogd TMP4, TMP5, TMP6, 0x96 \ // TMP4 = sigma0(Wt-15) + \ + vpaddd _WT, _WT, TMP4 \ // Wt = Wt-16 + sigma1(Wt-2) + + \ // Wt-7 + sigma0(Wt-15) + + + +// Note this is reading in a block of data for one lane +// When all 16 are read, the data must be transposed to build msg schedule +#define MSG_SCHED_ROUND_00_15(_WT, OFFSET, LABEL) \ + TESTQ $(1<(SB), TBL_P9 + vmovdqu32 TMP2, [TBL] + + // Get first K from table + MOVQ table+16(FP), TBL_P9 + vmovdqu32 TMP3, [TBL] + + // Save digests for later addition + vmovdqu32 [SCRATCH + 64*0], A + vmovdqu32 [SCRATCH + 64*1], B + vmovdqu32 [SCRATCH + 64*2], C + vmovdqu32 [SCRATCH + 64*3], D + vmovdqu32 [SCRATCH + 64*4], E + vmovdqu32 [SCRATCH + 64*5], F + vmovdqu32 [SCRATCH + 64*6], G + vmovdqu32 [SCRATCH + 64*7], H + + add IDX, 64 + + // Transpose input data + TRANSPOSE16(W0, W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, W13, W14, W15, TMP0, TMP1) + + vpshufb W0, W0, TMP2 + vpshufb W1, W1, TMP2 + vpshufb W2, W2, TMP2 + vpshufb W3, W3, TMP2 + vpshufb W4, W4, TMP2 + vpshufb W5, W5, TMP2 + vpshufb W6, W6, TMP2 + vpshufb W7, W7, TMP2 + vpshufb W8, W8, TMP2 + vpshufb W9, W9, TMP2 + vpshufb W10, W10, TMP2 + vpshufb W11, W11, TMP2 + vpshufb W12, W12, TMP2 + vpshufb W13, W13, TMP2 + vpshufb W14, W14, TMP2 + vpshufb W15, W15, TMP2 + + // MSG Schedule for W0-W15 is now complete in registers + // Process first 48 rounds + // Calculate next Wt+16 after processing is complete and Wt is unneeded + + PROCESS_LOOP( W0, 0, A, B, C, D, E, F, G, H) + MSG_SCHED_ROUND_16_63( W0, W1, W9, W14) + PROCESS_LOOP( W1, 1, H, A, B, C, D, E, F, G) + MSG_SCHED_ROUND_16_63( W1, W2, W10, W15) + PROCESS_LOOP( W2, 2, G, H, A, B, C, D, E, F) + MSG_SCHED_ROUND_16_63( W2, W3, W11, W0) + PROCESS_LOOP( W3, 3, F, G, H, A, B, C, D, E) + MSG_SCHED_ROUND_16_63( W3, W4, W12, W1) + PROCESS_LOOP( W4, 4, E, F, G, H, A, B, C, D) + MSG_SCHED_ROUND_16_63( W4, W5, W13, W2) + PROCESS_LOOP( W5, 5, D, E, F, G, H, A, B, C) + MSG_SCHED_ROUND_16_63( W5, W6, W14, W3) + PROCESS_LOOP( W6, 6, C, D, E, F, G, H, A, B) + MSG_SCHED_ROUND_16_63( W6, W7, W15, W4) + PROCESS_LOOP( W7, 7, B, C, D, E, F, G, H, A) + MSG_SCHED_ROUND_16_63( W7, W8, W0, W5) + PROCESS_LOOP( W8, 8, A, B, C, D, E, F, G, H) + MSG_SCHED_ROUND_16_63( W8, W9, W1, W6) + PROCESS_LOOP( W9, 9, H, A, B, C, D, E, F, G) + MSG_SCHED_ROUND_16_63( W9, W10, W2, W7) + PROCESS_LOOP(W10, 10, G, H, A, B, C, D, E, F) + MSG_SCHED_ROUND_16_63(W10, W11, W3, W8) + PROCESS_LOOP(W11, 11, F, G, H, A, B, C, D, E) + MSG_SCHED_ROUND_16_63(W11, W12, W4, W9) + PROCESS_LOOP(W12, 12, E, F, G, H, A, B, C, D) + MSG_SCHED_ROUND_16_63(W12, W13, W5, W10) + PROCESS_LOOP(W13, 13, D, E, F, G, H, A, B, C) + MSG_SCHED_ROUND_16_63(W13, W14, W6, W11) + PROCESS_LOOP(W14, 14, C, D, E, F, G, H, A, B) + MSG_SCHED_ROUND_16_63(W14, W15, W7, W12) + PROCESS_LOOP(W15, 15, B, C, D, E, F, G, H, A) + MSG_SCHED_ROUND_16_63(W15, W0, W8, W13) + PROCESS_LOOP( W0, 16, A, B, C, D, E, F, G, H) + MSG_SCHED_ROUND_16_63( W0, W1, W9, W14) + PROCESS_LOOP( W1, 17, H, A, B, C, D, E, F, G) + MSG_SCHED_ROUND_16_63( W1, W2, W10, W15) + PROCESS_LOOP( W2, 18, G, H, A, B, C, D, E, F) + MSG_SCHED_ROUND_16_63( W2, W3, W11, W0) + PROCESS_LOOP( W3, 19, F, G, H, A, B, C, D, E) + MSG_SCHED_ROUND_16_63( W3, W4, W12, W1) + PROCESS_LOOP( W4, 20, E, F, G, H, A, B, C, D) + MSG_SCHED_ROUND_16_63( W4, W5, W13, W2) + PROCESS_LOOP( W5, 21, D, E, F, G, H, A, B, C) + MSG_SCHED_ROUND_16_63( W5, W6, W14, W3) + PROCESS_LOOP( W6, 22, C, D, E, F, G, H, A, B) + MSG_SCHED_ROUND_16_63( W6, W7, W15, W4) + PROCESS_LOOP( W7, 23, B, C, D, E, F, G, H, A) + MSG_SCHED_ROUND_16_63( W7, W8, W0, W5) + PROCESS_LOOP( W8, 24, A, B, C, D, E, F, G, H) + MSG_SCHED_ROUND_16_63( W8, W9, W1, W6) + PROCESS_LOOP( W9, 25, H, A, B, C, D, E, F, G) + MSG_SCHED_ROUND_16_63( W9, W10, W2, W7) + PROCESS_LOOP(W10, 26, G, H, A, B, C, D, E, F) + MSG_SCHED_ROUND_16_63(W10, W11, W3, W8) + PROCESS_LOOP(W11, 27, F, G, H, A, B, C, D, E) + MSG_SCHED_ROUND_16_63(W11, W12, W4, W9) + PROCESS_LOOP(W12, 28, E, F, G, H, A, B, C, D) + MSG_SCHED_ROUND_16_63(W12, W13, W5, W10) + PROCESS_LOOP(W13, 29, D, E, F, G, H, A, B, C) + MSG_SCHED_ROUND_16_63(W13, W14, W6, W11) + PROCESS_LOOP(W14, 30, C, D, E, F, G, H, A, B) + MSG_SCHED_ROUND_16_63(W14, W15, W7, W12) + PROCESS_LOOP(W15, 31, B, C, D, E, F, G, H, A) + MSG_SCHED_ROUND_16_63(W15, W0, W8, W13) + PROCESS_LOOP( W0, 32, A, B, C, D, E, F, G, H) + MSG_SCHED_ROUND_16_63( W0, W1, W9, W14) + PROCESS_LOOP( W1, 33, H, A, B, C, D, E, F, G) + MSG_SCHED_ROUND_16_63( W1, W2, W10, W15) + PROCESS_LOOP( W2, 34, G, H, A, B, C, D, E, F) + MSG_SCHED_ROUND_16_63( W2, W3, W11, W0) + PROCESS_LOOP( W3, 35, F, G, H, A, B, C, D, E) + MSG_SCHED_ROUND_16_63( W3, W4, W12, W1) + PROCESS_LOOP( W4, 36, E, F, G, H, A, B, C, D) + MSG_SCHED_ROUND_16_63( W4, W5, W13, W2) + PROCESS_LOOP( W5, 37, D, E, F, G, H, A, B, C) + MSG_SCHED_ROUND_16_63( W5, W6, W14, W3) + PROCESS_LOOP( W6, 38, C, D, E, F, G, H, A, B) + MSG_SCHED_ROUND_16_63( W6, W7, W15, W4) + PROCESS_LOOP( W7, 39, B, C, D, E, F, G, H, A) + MSG_SCHED_ROUND_16_63( W7, W8, W0, W5) + PROCESS_LOOP( W8, 40, A, B, C, D, E, F, G, H) + MSG_SCHED_ROUND_16_63( W8, W9, W1, W6) + PROCESS_LOOP( W9, 41, H, A, B, C, D, E, F, G) + MSG_SCHED_ROUND_16_63( W9, W10, W2, W7) + PROCESS_LOOP(W10, 42, G, H, A, B, C, D, E, F) + MSG_SCHED_ROUND_16_63(W10, W11, W3, W8) + PROCESS_LOOP(W11, 43, F, G, H, A, B, C, D, E) + MSG_SCHED_ROUND_16_63(W11, W12, W4, W9) + PROCESS_LOOP(W12, 44, E, F, G, H, A, B, C, D) + MSG_SCHED_ROUND_16_63(W12, W13, W5, W10) + PROCESS_LOOP(W13, 45, D, E, F, G, H, A, B, C) + MSG_SCHED_ROUND_16_63(W13, W14, W6, W11) + PROCESS_LOOP(W14, 46, C, D, E, F, G, H, A, B) + MSG_SCHED_ROUND_16_63(W14, W15, W7, W12) + PROCESS_LOOP(W15, 47, B, C, D, E, F, G, H, A) + MSG_SCHED_ROUND_16_63(W15, W0, W8, W13) + + // Check if this is the last block + sub INP_SIZE, 1 + JE lastLoop + + // Load next mask for inputs + ADDQ $8, MASKP_P9 + MOVQ (MASKP_P9), MASK_P9 + + // Process last 16 rounds + // Read in next block msg data for use in first 16 words of msg sched + + PROCESS_LOOP( W0, 48, A, B, C, D, E, F, G, H) + MSG_SCHED_ROUND_00_15( W0, 0, skipNext0) + PROCESS_LOOP( W1, 49, H, A, B, C, D, E, F, G) + MSG_SCHED_ROUND_00_15( W1, 1, skipNext1) + PROCESS_LOOP( W2, 50, G, H, A, B, C, D, E, F) + MSG_SCHED_ROUND_00_15( W2, 2, skipNext2) + PROCESS_LOOP( W3, 51, F, G, H, A, B, C, D, E) + MSG_SCHED_ROUND_00_15( W3, 3, skipNext3) + PROCESS_LOOP( W4, 52, E, F, G, H, A, B, C, D) + MSG_SCHED_ROUND_00_15( W4, 4, skipNext4) + PROCESS_LOOP( W5, 53, D, E, F, G, H, A, B, C) + MSG_SCHED_ROUND_00_15( W5, 5, skipNext5) + PROCESS_LOOP( W6, 54, C, D, E, F, G, H, A, B) + MSG_SCHED_ROUND_00_15( W6, 6, skipNext6) + PROCESS_LOOP( W7, 55, B, C, D, E, F, G, H, A) + MSG_SCHED_ROUND_00_15( W7, 7, skipNext7) + PROCESS_LOOP( W8, 56, A, B, C, D, E, F, G, H) + MSG_SCHED_ROUND_00_15( W8, 8, skipNext8) + PROCESS_LOOP( W9, 57, H, A, B, C, D, E, F, G) + MSG_SCHED_ROUND_00_15( W9, 9, skipNext9) + PROCESS_LOOP(W10, 58, G, H, A, B, C, D, E, F) + MSG_SCHED_ROUND_00_15(W10, 10, skipNext10) + PROCESS_LOOP(W11, 59, F, G, H, A, B, C, D, E) + MSG_SCHED_ROUND_00_15(W11, 11, skipNext11) + PROCESS_LOOP(W12, 60, E, F, G, H, A, B, C, D) + MSG_SCHED_ROUND_00_15(W12, 12, skipNext12) + PROCESS_LOOP(W13, 61, D, E, F, G, H, A, B, C) + MSG_SCHED_ROUND_00_15(W13, 13, skipNext13) + PROCESS_LOOP(W14, 62, C, D, E, F, G, H, A, B) + MSG_SCHED_ROUND_00_15(W14, 14, skipNext14) + PROCESS_LOOP(W15, 63, B, C, D, E, F, G, H, A) + MSG_SCHED_ROUND_00_15(W15, 15, skipNext15) + + // Add old digest + vmovdqu32 TMP2, A + vmovdqu32 A, [SCRATCH + 64*0] + vpaddd A{k1}, A, TMP2 + vmovdqu32 TMP2, B + vmovdqu32 B, [SCRATCH + 64*1] + vpaddd B{k1}, B, TMP2 + vmovdqu32 TMP2, C + vmovdqu32 C, [SCRATCH + 64*2] + vpaddd C{k1}, C, TMP2 + vmovdqu32 TMP2, D + vmovdqu32 D, [SCRATCH + 64*3] + vpaddd D{k1}, D, TMP2 + vmovdqu32 TMP2, E + vmovdqu32 E, [SCRATCH + 64*4] + vpaddd E{k1}, E, TMP2 + vmovdqu32 TMP2, F + vmovdqu32 F, [SCRATCH + 64*5] + vpaddd F{k1}, F, TMP2 + vmovdqu32 TMP2, G + vmovdqu32 G, [SCRATCH + 64*6] + vpaddd G{k1}, G, TMP2 + vmovdqu32 TMP2, H + vmovdqu32 H, [SCRATCH + 64*7] + vpaddd H{k1}, H, TMP2 + + kmovq k1, mask + JMP lloop + +lastLoop: + // Process last 16 rounds + PROCESS_LOOP( W0, 48, A, B, C, D, E, F, G, H) + PROCESS_LOOP( W1, 49, H, A, B, C, D, E, F, G) + PROCESS_LOOP( W2, 50, G, H, A, B, C, D, E, F) + PROCESS_LOOP( W3, 51, F, G, H, A, B, C, D, E) + PROCESS_LOOP( W4, 52, E, F, G, H, A, B, C, D) + PROCESS_LOOP( W5, 53, D, E, F, G, H, A, B, C) + PROCESS_LOOP( W6, 54, C, D, E, F, G, H, A, B) + PROCESS_LOOP( W7, 55, B, C, D, E, F, G, H, A) + PROCESS_LOOP( W8, 56, A, B, C, D, E, F, G, H) + PROCESS_LOOP( W9, 57, H, A, B, C, D, E, F, G) + PROCESS_LOOP(W10, 58, G, H, A, B, C, D, E, F) + PROCESS_LOOP(W11, 59, F, G, H, A, B, C, D, E) + PROCESS_LOOP(W12, 60, E, F, G, H, A, B, C, D) + PROCESS_LOOP(W13, 61, D, E, F, G, H, A, B, C) + PROCESS_LOOP(W14, 62, C, D, E, F, G, H, A, B) + PROCESS_LOOP(W15, 63, B, C, D, E, F, G, H, A) + + // Add old digest + vmovdqu32 TMP2, A + vmovdqu32 A, [SCRATCH + 64*0] + vpaddd A{k1}, A, TMP2 + vmovdqu32 TMP2, B + vmovdqu32 B, [SCRATCH + 64*1] + vpaddd B{k1}, B, TMP2 + vmovdqu32 TMP2, C + vmovdqu32 C, [SCRATCH + 64*2] + vpaddd C{k1}, C, TMP2 + vmovdqu32 TMP2, D + vmovdqu32 D, [SCRATCH + 64*3] + vpaddd D{k1}, D, TMP2 + vmovdqu32 TMP2, E + vmovdqu32 E, [SCRATCH + 64*4] + vpaddd E{k1}, E, TMP2 + vmovdqu32 TMP2, F + vmovdqu32 F, [SCRATCH + 64*5] + vpaddd F{k1}, F, TMP2 + vmovdqu32 TMP2, G + vmovdqu32 G, [SCRATCH + 64*6] + vpaddd G{k1}, G, TMP2 + vmovdqu32 TMP2, H + vmovdqu32 H, [SCRATCH + 64*7] + vpaddd H{k1}, H, TMP2 + + // Write out digest + vmovdqu32 [STATE + 0*SHA256_DIGEST_ROW_SIZE], A + vmovdqu32 [STATE + 1*SHA256_DIGEST_ROW_SIZE], B + vmovdqu32 [STATE + 2*SHA256_DIGEST_ROW_SIZE], C + vmovdqu32 [STATE + 3*SHA256_DIGEST_ROW_SIZE], D + vmovdqu32 [STATE + 4*SHA256_DIGEST_ROW_SIZE], E + vmovdqu32 [STATE + 5*SHA256_DIGEST_ROW_SIZE], F + vmovdqu32 [STATE + 6*SHA256_DIGEST_ROW_SIZE], G + vmovdqu32 [STATE + 7*SHA256_DIGEST_ROW_SIZE], H + + VZEROUPPER + RET + +// +// Tables +// + +DATA PSHUFFLE_BYTE_FLIP_MASK<>+0x000(SB)/8, $0x0405060700010203 +DATA PSHUFFLE_BYTE_FLIP_MASK<>+0x008(SB)/8, $0x0c0d0e0f08090a0b +DATA PSHUFFLE_BYTE_FLIP_MASK<>+0x010(SB)/8, $0x0405060700010203 +DATA PSHUFFLE_BYTE_FLIP_MASK<>+0x018(SB)/8, $0x0c0d0e0f08090a0b +DATA PSHUFFLE_BYTE_FLIP_MASK<>+0x020(SB)/8, $0x0405060700010203 +DATA PSHUFFLE_BYTE_FLIP_MASK<>+0x028(SB)/8, $0x0c0d0e0f08090a0b +DATA PSHUFFLE_BYTE_FLIP_MASK<>+0x030(SB)/8, $0x0405060700010203 +DATA PSHUFFLE_BYTE_FLIP_MASK<>+0x038(SB)/8, $0x0c0d0e0f08090a0b +GLOBL PSHUFFLE_BYTE_FLIP_MASK<>(SB), 8, $64 + +DATA PSHUFFLE_TRANSPOSE16_MASK1<>+0x000(SB)/8, $0x0000000000000000 +DATA PSHUFFLE_TRANSPOSE16_MASK1<>+0x008(SB)/8, $0x0000000000000001 +DATA PSHUFFLE_TRANSPOSE16_MASK1<>+0x010(SB)/8, $0x0000000000000008 +DATA PSHUFFLE_TRANSPOSE16_MASK1<>+0x018(SB)/8, $0x0000000000000009 +DATA PSHUFFLE_TRANSPOSE16_MASK1<>+0x020(SB)/8, $0x0000000000000004 +DATA PSHUFFLE_TRANSPOSE16_MASK1<>+0x028(SB)/8, $0x0000000000000005 +DATA PSHUFFLE_TRANSPOSE16_MASK1<>+0x030(SB)/8, $0x000000000000000C +DATA PSHUFFLE_TRANSPOSE16_MASK1<>+0x038(SB)/8, $0x000000000000000D +GLOBL PSHUFFLE_TRANSPOSE16_MASK1<>(SB), 8, $64 + +DATA PSHUFFLE_TRANSPOSE16_MASK2<>+0x000(SB)/8, $0x0000000000000002 +DATA PSHUFFLE_TRANSPOSE16_MASK2<>+0x008(SB)/8, $0x0000000000000003 +DATA PSHUFFLE_TRANSPOSE16_MASK2<>+0x010(SB)/8, $0x000000000000000A +DATA PSHUFFLE_TRANSPOSE16_MASK2<>+0x018(SB)/8, $0x000000000000000B +DATA PSHUFFLE_TRANSPOSE16_MASK2<>+0x020(SB)/8, $0x0000000000000006 +DATA PSHUFFLE_TRANSPOSE16_MASK2<>+0x028(SB)/8, $0x0000000000000007 +DATA PSHUFFLE_TRANSPOSE16_MASK2<>+0x030(SB)/8, $0x000000000000000E +DATA PSHUFFLE_TRANSPOSE16_MASK2<>+0x038(SB)/8, $0x000000000000000F +GLOBL PSHUFFLE_TRANSPOSE16_MASK2<>(SB), 8, $64 diff --git a/vendor/modules.txt b/vendor/modules.txt index e6073e5c5..2502ceee8 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -28,17 +28,20 @@ github.com/gobwas/glob/syntax/ast github.com/gobwas/glob/util/runes github.com/gobwas/glob/syntax/lexer github.com/gobwas/glob/util/strings -# github.com/gogo/protobuf v1.0.0 +# github.com/gogo/protobuf v1.2.0 github.com/gogo/protobuf/gogoproto github.com/gogo/protobuf/proto -github.com/gogo/protobuf/protoc-gen-gogo/descriptor +github.com/gogo/protobuf/conformance/internal/conformance_proto +github.com/gogo/protobuf/jsonpb github.com/gogo/protobuf/types +github.com/gogo/protobuf/protoc-gen-gogo/descriptor github.com/gogo/protobuf/plugin/testgen github.com/gogo/protobuf/protoc-gen-gogo/generator github.com/gogo/protobuf/vanity -github.com/gogo/protobuf/proto/testdata +github.com/gogo/protobuf/proto/test_proto github.com/gogo/protobuf/version github.com/gogo/protobuf/vanity/command +github.com/gogo/protobuf/protoc-gen-gogo/generator/internal/remap github.com/gogo/protobuf/protoc-gen-gogo/plugin github.com/gogo/protobuf/plugin/gostring github.com/gogo/protobuf/sortkeys @@ -46,11 +49,11 @@ github.com/gogo/protobuf/test/custom github.com/gogo/protobuf/test/custom-dash-type github.com/gogo/protobuf/test/casttype github.com/gogo/protobuf/test +github.com/gogo/protobuf/test/importcustom-issue389/imported github.com/gogo/protobuf/test/importdedup/subpkg github.com/gogo/protobuf/test/importduplicate/proto github.com/gogo/protobuf/test/importduplicate/sortkeys github.com/gogo/protobuf/test/indeximport-issue72/index -github.com/gogo/protobuf/jsonpb github.com/gogo/protobuf/test/issue312 github.com/gogo/protobuf/test/example github.com/gogo/protobuf/test/combos/both @@ -73,6 +76,7 @@ github.com/gogo/protobuf/protoc-gen-gogo/grpc github.com/gogo/protobuf/io github.com/gogo/protobuf/jsonpb/jsonpb_test_proto github.com/gogo/protobuf/proto/proto3_proto +github.com/gogo/protobuf/test/issue411 github.com/gogo/protobuf/vanity/test/fast github.com/gogo/protobuf/vanity/test/faster github.com/gogo/protobuf/vanity/test/slick @@ -91,7 +95,7 @@ github.com/lib/pq github.com/lib/pq/oid # github.com/matttproud/golang_protobuf_extensions v1.0.1 github.com/matttproud/golang_protobuf_extensions/pbutil -# github.com/minio/sha256-simd v0.0.0-20171213220625-ad98a36ba0da +# github.com/minio/sha256-simd v0.0.0-20190104231041-e529fa194128 github.com/minio/sha256-simd # github.com/oschwald/geoip2-golang v1.1.0 github.com/oschwald/geoip2-golang