internal/impl: add MessageState to every generated message

We define MessageState, which is essentially an atomically set *MessageInfo.
By nesting this as the first field in every generated message, we can
implement the reflective methods on a *MessageState when obtained by
unsafe casting a concrete message pointer as a *MessageState.
The MessageInfo held by MessageState provides additional Go type information
to interpret the memory that comes after the contents of the MessageState.

Since we are nesting a MessageState in every message,
the memory use of every message instance grows by 8B.

On average, the body of ProtoReflect grows from 133B to 202B (+50%).
However, this is offset by XXX_Methods, which is 108B and
will be removed in a future CL. Taking into account the eventual removal
of XXX_Methods, this is a net reduction of 25%.

name          old time/op    new time/op    delta
Name/Value-4    70.3ns ± 2%    17.5ns ± 6%   -75.08%  (p=0.000 n=10+10)
Name/Nil-4      70.6ns ± 3%    33.4ns ± 2%   -52.66%  (p=0.000 n=10+10)

name          old alloc/op   new alloc/op   delta
Name/Value-4     16.0B ± 0%      0.0B       -100.00%  (p=0.000 n=10+10)
Name/Nil-4       16.0B ± 0%      0.0B       -100.00%  (p=0.000 n=10+10)

name          old allocs/op  new allocs/op  delta
Name/Value-4      1.00 ± 0%      0.00       -100.00%  (p=0.000 n=10+10)
Name/Nil-4        1.00 ± 0%      0.00       -100.00%  (p=0.000 n=10+10)

Change-Id: I92bd58dc681c57c92612fd5ba7fc066aea34e95a
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/185460
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/cmd/protoc-gen-go-grpc/testdata/grpc/grpc.pb.go b/cmd/protoc-gen-go-grpc/testdata/grpc/grpc.pb.go
index f7bd25e..685bafa 100644
--- a/cmd/protoc-gen-go-grpc/testdata/grpc/grpc.pb.go
+++ b/cmd/protoc-gen-go-grpc/testdata/grpc/grpc.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Request struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*Request) ProtoMessage() {}
 
 func (x *Request) ProtoReflect() protoreflect.Message {
-	return file_grpc_grpc_proto_msgTypes[0].MessageOf(x)
+	mi := &file_grpc_grpc_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Request) XXX_Methods() *protoiface.Methods {
+func (x *Request) XXX_Methods() *protoiface.Methods {
 	return file_grpc_grpc_proto_msgTypes[0].Methods()
 }
 
@@ -46,6 +55,7 @@
 }
 
 type Response struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -61,10 +71,18 @@
 func (*Response) ProtoMessage() {}
 
 func (x *Response) ProtoReflect() protoreflect.Message {
-	return file_grpc_grpc_proto_msgTypes[1].MessageOf(x)
+	mi := &file_grpc_grpc_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Response) XXX_Methods() *protoiface.Methods {
+func (x *Response) XXX_Methods() *protoiface.Methods {
 	return file_grpc_grpc_proto_msgTypes[1].Methods()
 }
 
@@ -149,8 +167,10 @@
 		file_grpc_grpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Request); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -159,8 +179,10 @@
 		file_grpc_grpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Response); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/internal_gengo/main.go b/cmd/protoc-gen-go/internal_gengo/main.go
index 219d79a..67f3071 100644
--- a/cmd/protoc-gen-go/internal_gengo/main.go
+++ b/cmd/protoc-gen-go/internal_gengo/main.go
@@ -48,10 +48,14 @@
 	// ExtensionRangeArray method for messages that support extensions.
 	generateExtensionRangeMethods = true
 
-	// generateWKTMarkerMethods specifes whether to generate
+	// generateWKTMarkerMethods specifies whether to generate
 	// XXX_WellKnownType methods on well-known types.
 	generateWKTMarkerMethods = false
 
+	// generateMessateStateFields specifies whether to generate an unexported
+	// protoimpl.MessageState as the first field.
+	generateMessateStateFields = true
+
 	// generateNoUnkeyedLiteralFields specifies whether to generate
 	// the XXX_NoUnkeyedLiteral field.
 	generateNoUnkeyedLiteralFields = false
@@ -395,6 +399,10 @@
 	g.Annotate(message.GoIdent.GoName, message.Location)
 	g.P("type ", message.GoIdent, " struct {")
 	sf := f.allMessageFieldsByPtr[message]
+	if generateMessateStateFields {
+		g.P("state ", protoimplPackage.Ident("MessageState"))
+		sf.append("state")
+	}
 	for _, field := range message.Fields {
 		if field.Oneof != nil {
 			// It would be a bit simpler to iterate over the oneofs below,
diff --git a/cmd/protoc-gen-go/internal_gengo/reflect.go b/cmd/protoc-gen-go/internal_gengo/reflect.go
index b7c5261..43099b2 100644
--- a/cmd/protoc-gen-go/internal_gengo/reflect.go
+++ b/cmd/protoc-gen-go/internal_gengo/reflect.go
@@ -293,12 +293,25 @@
 
 	// ProtoReflect method.
 	g.P("func (x *", message.GoIdent, ") ProtoReflect() ", protoreflectPackage.Ident("Message"), " {")
-	g.P("return ", typesVar, "[", idx, "].MessageOf(x)")
+	g.P("mi := &", typesVar, "[", idx, "]")
+	if generateMessateStateFields {
+		g.P("if ", protoimplPackage.Ident("UnsafeEnabled"), " && x != nil {")
+		g.P("ms := ", protoimplPackage.Ident("X"), ".MessageStateOf(", protoimplPackage.Ident("Pointer"), "(x))")
+		g.P("if ms.LoadMessageInfo() == nil {")
+		g.P("ms.StoreMessageInfo(mi)")
+		g.P("}")
+		g.P("return ms")
+		g.P("}")
+	}
+	g.P("return mi.MessageOf(x)")
 	g.P("}")
 	g.P()
-	g.P("func (m *", message.GoIdent, ") XXX_Methods() *", protoifacePackage.Ident("Methods"), " {")
+
+	// XXX_Methods method.
+	g.P("func (x *", message.GoIdent, ") XXX_Methods() *", protoifacePackage.Ident("Methods"), " {")
 	g.P("return ", typesVar, "[", idx, "].Methods()")
 	g.P("}")
+	g.P()
 }
 
 func fileVarName(f *protogen.File, suffix string) string {
diff --git a/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go b/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go
index da6e752..895886f 100644
--- a/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go
+++ b/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go
@@ -66,6 +66,7 @@
 }
 
 type AnnotationsTestMessage struct {
+	state                protoimpl.MessageState
 	AnnotationsTestField *string `protobuf:"bytes,1,opt,name=AnnotationsTestField" json:"AnnotationsTestField,omitempty"`
 	sizeCache            protoimpl.SizeCache
 	unknownFields        protoimpl.UnknownFields
@@ -82,10 +83,18 @@
 func (*AnnotationsTestMessage) ProtoMessage() {}
 
 func (x *AnnotationsTestMessage) ProtoReflect() protoreflect.Message {
-	return file_annotations_annotations_proto_msgTypes[0].MessageOf(x)
+	mi := &file_annotations_annotations_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *AnnotationsTestMessage) XXX_Methods() *protoiface.Methods {
+func (x *AnnotationsTestMessage) XXX_Methods() *protoiface.Methods {
 	return file_annotations_annotations_proto_msgTypes[0].Methods()
 }
 
@@ -157,9 +166,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_annotations_annotations_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*AnnotationsTestMessage); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go.meta b/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go.meta
index 6450f14..4debc0d 100644
--- a/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go.meta
+++ b/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go.meta
@@ -1 +1 @@
-annotation:{path:5 path:0 source_file:"annotations/annotations.proto" begin:631 end:650} annotation:{path:5 path:0 path:2 path:0 source_file:"annotations/annotations.proto" begin:667 end:714} annotation:{path:4 path:0 source_file:"annotations/annotations.proto" begin:1821 end:1843} annotation:{path:4 path:0 path:2 path:0 source_file:"annotations/annotations.proto" begin:1854 end:1874} annotation:{path:4 path:0 path:2 path:0 source_file:"annotations/annotations.proto" begin:2796 end:2819}
\ No newline at end of file
+annotation:{path:5 path:0 source_file:"annotations/annotations.proto" begin:631 end:650} annotation:{path:5 path:0 path:2 path:0 source_file:"annotations/annotations.proto" begin:667 end:714} annotation:{path:4 path:0 source_file:"annotations/annotations.proto" begin:1821 end:1843} annotation:{path:4 path:0 path:2 path:0 source_file:"annotations/annotations.proto" begin:1899 end:1919} annotation:{path:4 path:0 path:2 path:0 source_file:"annotations/annotations.proto" begin:3032 end:3055}
\ No newline at end of file
diff --git a/cmd/protoc-gen-go/testdata/comments/comments.pb.go b/cmd/protoc-gen-go/testdata/comments/comments.pb.go
index ae1e989..b01afe9 100644
--- a/cmd/protoc-gen-go/testdata/comments/comments.pb.go
+++ b/cmd/protoc-gen-go/testdata/comments/comments.pb.go
@@ -21,6 +21,7 @@
 
 // COMMENT: Message1
 type Message1 struct {
+	state protoimpl.MessageState
 	// COMMENT: Field1A
 	Field1A *string `protobuf:"bytes,1,opt,name=Field1A" json:"Field1A,omitempty"`
 	// COMMENT: Oneof1A
@@ -44,10 +45,18 @@
 func (*Message1) ProtoMessage() {}
 
 func (x *Message1) ProtoReflect() protoreflect.Message {
-	return file_comments_comments_proto_msgTypes[0].MessageOf(x)
+	mi := &file_comments_comments_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message1) XXX_Methods() *protoiface.Methods {
+func (x *Message1) XXX_Methods() *protoiface.Methods {
 	return file_comments_comments_proto_msgTypes[0].Methods()
 }
 
@@ -89,6 +98,7 @@
 
 // COMMENT: Message2
 type Message2 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -104,10 +114,18 @@
 func (*Message2) ProtoMessage() {}
 
 func (x *Message2) ProtoReflect() protoreflect.Message {
-	return file_comments_comments_proto_msgTypes[1].MessageOf(x)
+	mi := &file_comments_comments_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2) XXX_Methods() *protoiface.Methods {
+func (x *Message2) XXX_Methods() *protoiface.Methods {
 	return file_comments_comments_proto_msgTypes[1].Methods()
 }
 
@@ -118,6 +136,7 @@
 
 // COMMENT: Message1A
 type Message1_Message1A struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -133,10 +152,18 @@
 func (*Message1_Message1A) ProtoMessage() {}
 
 func (x *Message1_Message1A) ProtoReflect() protoreflect.Message {
-	return file_comments_comments_proto_msgTypes[2].MessageOf(x)
+	mi := &file_comments_comments_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message1_Message1A) XXX_Methods() *protoiface.Methods {
+func (x *Message1_Message1A) XXX_Methods() *protoiface.Methods {
 	return file_comments_comments_proto_msgTypes[2].Methods()
 }
 
@@ -147,6 +174,7 @@
 
 // COMMENT: Message1B
 type Message1_Message1B struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -162,10 +190,18 @@
 func (*Message1_Message1B) ProtoMessage() {}
 
 func (x *Message1_Message1B) ProtoReflect() protoreflect.Message {
-	return file_comments_comments_proto_msgTypes[3].MessageOf(x)
+	mi := &file_comments_comments_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message1_Message1B) XXX_Methods() *protoiface.Methods {
+func (x *Message1_Message1B) XXX_Methods() *protoiface.Methods {
 	return file_comments_comments_proto_msgTypes[3].Methods()
 }
 
@@ -176,6 +212,7 @@
 
 // COMMENT: Message2A
 type Message2_Message2A struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -191,10 +228,18 @@
 func (*Message2_Message2A) ProtoMessage() {}
 
 func (x *Message2_Message2A) ProtoReflect() protoreflect.Message {
-	return file_comments_comments_proto_msgTypes[4].MessageOf(x)
+	mi := &file_comments_comments_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2_Message2A) XXX_Methods() *protoiface.Methods {
+func (x *Message2_Message2A) XXX_Methods() *protoiface.Methods {
 	return file_comments_comments_proto_msgTypes[4].Methods()
 }
 
@@ -205,6 +250,7 @@
 
 // COMMENT: Message2B
 type Message2_Message2B struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -220,10 +266,18 @@
 func (*Message2_Message2B) ProtoMessage() {}
 
 func (x *Message2_Message2B) ProtoReflect() protoreflect.Message {
-	return file_comments_comments_proto_msgTypes[5].MessageOf(x)
+	mi := &file_comments_comments_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2_Message2B) XXX_Methods() *protoiface.Methods {
+func (x *Message2_Message2B) XXX_Methods() *protoiface.Methods {
 	return file_comments_comments_proto_msgTypes[5].Methods()
 }
 
@@ -291,9 +345,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_comments_comments_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message1); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -302,8 +358,10 @@
 		file_comments_comments_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -312,8 +370,10 @@
 		file_comments_comments_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message1_Message1A); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -322,8 +382,10 @@
 		file_comments_comments_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message1_Message1B); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -332,8 +394,10 @@
 		file_comments_comments_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2_Message2A); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -342,8 +406,10 @@
 		file_comments_comments_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2_Message2B); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/comments/deprecated.pb.go b/cmd/protoc-gen-go/testdata/comments/deprecated.pb.go
index b0d7ce9..0cb5754 100644
--- a/cmd/protoc-gen-go/testdata/comments/deprecated.pb.go
+++ b/cmd/protoc-gen-go/testdata/comments/deprecated.pb.go
@@ -56,6 +56,7 @@
 
 // Deprecated: Do not use.
 type DeprecatedMessage struct {
+	state           protoimpl.MessageState
 	DeprecatedField string `protobuf:"bytes,1,opt,name=deprecated_field,json=deprecatedField,proto3" json:"deprecated_field,omitempty"` // Deprecated: Do not use.
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
@@ -72,10 +73,18 @@
 func (*DeprecatedMessage) ProtoMessage() {}
 
 func (x *DeprecatedMessage) ProtoReflect() protoreflect.Message {
-	return file_comments_deprecated_proto_msgTypes[0].MessageOf(x)
+	mi := &file_comments_deprecated_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *DeprecatedMessage) XXX_Methods() *protoiface.Methods {
+func (x *DeprecatedMessage) XXX_Methods() *protoiface.Methods {
 	return file_comments_deprecated_proto_msgTypes[0].Methods()
 }
 
@@ -147,9 +156,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_comments_deprecated_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*DeprecatedMessage); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/extensions/base/base.pb.go b/cmd/protoc-gen-go/testdata/extensions/base/base.pb.go
index dde0588..dc14c4c 100644
--- a/cmd/protoc-gen-go/testdata/extensions/base/base.pb.go
+++ b/cmd/protoc-gen-go/testdata/extensions/base/base.pb.go
@@ -18,6 +18,7 @@
 )
 
 type BaseMessage struct {
+	state           protoimpl.MessageState
 	Field           *string `protobuf:"bytes,1,opt,name=field" json:"field,omitempty"`
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
@@ -35,10 +36,18 @@
 func (*BaseMessage) ProtoMessage() {}
 
 func (x *BaseMessage) ProtoReflect() protoreflect.Message {
-	return file_extensions_base_base_proto_msgTypes[0].MessageOf(x)
+	mi := &file_extensions_base_base_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *BaseMessage) XXX_Methods() *protoiface.Methods {
+func (x *BaseMessage) XXX_Methods() *protoiface.Methods {
 	return file_extensions_base_base_proto_msgTypes[0].Methods()
 }
 
@@ -65,6 +74,7 @@
 }
 
 type MessageSetWireFormatMessage struct {
+	state           protoimpl.MessageState
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
 	extensionFields protoimpl.ExtensionFields
@@ -81,10 +91,18 @@
 func (*MessageSetWireFormatMessage) ProtoMessage() {}
 
 func (x *MessageSetWireFormatMessage) ProtoReflect() protoreflect.Message {
-	return file_extensions_base_base_proto_msgTypes[1].MessageOf(x)
+	mi := &file_extensions_base_base_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *MessageSetWireFormatMessage) XXX_Methods() *protoiface.Methods {
+func (x *MessageSetWireFormatMessage) XXX_Methods() *protoiface.Methods {
 	return file_extensions_base_base_proto_msgTypes[1].Methods()
 }
 
@@ -155,11 +173,13 @@
 	if !protoimpl.UnsafeEnabled {
 		file_extensions_base_base_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*BaseMessage); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 3:
+				return &v.unknownFields
+			case 4:
 				return &v.extensionFields
 			default:
 				return nil
@@ -168,10 +188,12 @@
 		file_extensions_base_base_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*MessageSetWireFormatMessage); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 2:
+				return &v.unknownFields
+			case 3:
 				return &v.extensionFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/extensions/ext/ext.pb.go b/cmd/protoc-gen-go/testdata/extensions/ext/ext.pb.go
index b989089..9a6167d 100644
--- a/cmd/protoc-gen-go/testdata/extensions/ext/ext.pb.go
+++ b/cmd/protoc-gen-go/testdata/extensions/ext/ext.pb.go
@@ -68,6 +68,7 @@
 }
 
 type Message struct {
+	state         protoimpl.MessageState
 	Data          []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -84,10 +85,18 @@
 func (*Message) ProtoMessage() {}
 
 func (x *Message) ProtoReflect() protoreflect.Message {
-	return file_extensions_ext_ext_proto_msgTypes[0].MessageOf(x)
+	mi := &file_extensions_ext_ext_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message) XXX_Methods() *protoiface.Methods {
+func (x *Message) XXX_Methods() *protoiface.Methods {
 	return file_extensions_ext_ext_proto_msgTypes[0].Methods()
 }
 
@@ -104,6 +113,7 @@
 }
 
 type ExtensionGroup struct {
+	state          protoimpl.MessageState
 	ExtensionGroup *string `protobuf:"bytes,120,opt,name=extension_group,json=extensionGroup" json:"extension_group,omitempty"`
 	sizeCache      protoimpl.SizeCache
 	unknownFields  protoimpl.UnknownFields
@@ -120,10 +130,18 @@
 func (*ExtensionGroup) ProtoMessage() {}
 
 func (x *ExtensionGroup) ProtoReflect() protoreflect.Message {
-	return file_extensions_ext_ext_proto_msgTypes[1].MessageOf(x)
+	mi := &file_extensions_ext_ext_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ExtensionGroup) XXX_Methods() *protoiface.Methods {
+func (x *ExtensionGroup) XXX_Methods() *protoiface.Methods {
 	return file_extensions_ext_ext_proto_msgTypes[1].Methods()
 }
 
@@ -141,6 +159,7 @@
 
 // Extend in the scope of another type.
 type ExtendingMessage struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -156,10 +175,18 @@
 func (*ExtendingMessage) ProtoMessage() {}
 
 func (x *ExtendingMessage) ProtoReflect() protoreflect.Message {
-	return file_extensions_ext_ext_proto_msgTypes[2].MessageOf(x)
+	mi := &file_extensions_ext_ext_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ExtendingMessage) XXX_Methods() *protoiface.Methods {
+func (x *ExtendingMessage) XXX_Methods() *protoiface.Methods {
 	return file_extensions_ext_ext_proto_msgTypes[2].Methods()
 }
 
@@ -169,6 +196,7 @@
 }
 
 type RepeatedGroup struct {
+	state          protoimpl.MessageState
 	RepeatedXGroup []string `protobuf:"bytes,319,rep,name=repeated_x_group,json=repeatedXGroup" json:"repeated_x_group,omitempty"`
 	sizeCache      protoimpl.SizeCache
 	unknownFields  protoimpl.UnknownFields
@@ -185,10 +213,18 @@
 func (*RepeatedGroup) ProtoMessage() {}
 
 func (x *RepeatedGroup) ProtoReflect() protoreflect.Message {
-	return file_extensions_ext_ext_proto_msgTypes[3].MessageOf(x)
+	mi := &file_extensions_ext_ext_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *RepeatedGroup) XXX_Methods() *protoiface.Methods {
+func (x *RepeatedGroup) XXX_Methods() *protoiface.Methods {
 	return file_extensions_ext_ext_proto_msgTypes[3].Methods()
 }
 
@@ -206,6 +242,7 @@
 
 // An extension of an extension.
 type Extendable struct {
+	state           protoimpl.MessageState
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
 	extensionFields protoimpl.ExtensionFields
@@ -222,10 +259,18 @@
 func (*Extendable) ProtoMessage() {}
 
 func (x *Extendable) ProtoReflect() protoreflect.Message {
-	return file_extensions_ext_ext_proto_msgTypes[4].MessageOf(x)
+	mi := &file_extensions_ext_ext_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Extendable) XXX_Methods() *protoiface.Methods {
+func (x *Extendable) XXX_Methods() *protoiface.Methods {
 	return file_extensions_ext_ext_proto_msgTypes[4].Methods()
 }
 
@@ -245,6 +290,7 @@
 
 // Message set wire format.
 type MessageSetWireFormatExtension struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -260,10 +306,18 @@
 func (*MessageSetWireFormatExtension) ProtoMessage() {}
 
 func (x *MessageSetWireFormatExtension) ProtoReflect() protoreflect.Message {
-	return file_extensions_ext_ext_proto_msgTypes[5].MessageOf(x)
+	mi := &file_extensions_ext_ext_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *MessageSetWireFormatExtension) XXX_Methods() *protoiface.Methods {
+func (x *MessageSetWireFormatExtension) XXX_Methods() *protoiface.Methods {
 	return file_extensions_ext_ext_proto_msgTypes[5].Methods()
 }
 
@@ -273,6 +327,7 @@
 }
 
 type Message_M struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -288,10 +343,18 @@
 func (*Message_M) ProtoMessage() {}
 
 func (x *Message_M) ProtoReflect() protoreflect.Message {
-	return file_extensions_ext_ext_proto_msgTypes[6].MessageOf(x)
+	mi := &file_extensions_ext_ext_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message_M) XXX_Methods() *protoiface.Methods {
+func (x *Message_M) XXX_Methods() *protoiface.Methods {
 	return file_extensions_ext_ext_proto_msgTypes[6].Methods()
 }
 
@@ -301,6 +364,7 @@
 }
 
 type ExtendingMessage_ExtendingMessageSubmessage struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -316,10 +380,18 @@
 func (*ExtendingMessage_ExtendingMessageSubmessage) ProtoMessage() {}
 
 func (x *ExtendingMessage_ExtendingMessageSubmessage) ProtoReflect() protoreflect.Message {
-	return file_extensions_ext_ext_proto_msgTypes[7].MessageOf(x)
+	mi := &file_extensions_ext_ext_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ExtendingMessage_ExtendingMessageSubmessage) XXX_Methods() *protoiface.Methods {
+func (x *ExtendingMessage_ExtendingMessageSubmessage) XXX_Methods() *protoiface.Methods {
 	return file_extensions_ext_ext_proto_msgTypes[7].Methods()
 }
 
@@ -1233,9 +1305,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_extensions_ext_ext_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1243,9 +1317,11 @@
 		}
 		file_extensions_ext_ext_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ExtensionGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1254,8 +1330,10 @@
 		file_extensions_ext_ext_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ExtendingMessage); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1263,9 +1341,11 @@
 		}
 		file_extensions_ext_ext_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*RepeatedGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1274,10 +1354,12 @@
 		file_extensions_ext_ext_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Extendable); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 2:
+				return &v.unknownFields
+			case 3:
 				return &v.extensionFields
 			default:
 				return nil
@@ -1286,8 +1368,10 @@
 		file_extensions_ext_ext_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*MessageSetWireFormatExtension); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1296,8 +1380,10 @@
 		file_extensions_ext_ext_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message_M); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1306,8 +1392,10 @@
 		file_extensions_ext_ext_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ExtendingMessage_ExtendingMessageSubmessage); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/extensions/extra/extra.pb.go b/cmd/protoc-gen-go/testdata/extensions/extra/extra.pb.go
index 639b0ab..04468fb 100644
--- a/cmd/protoc-gen-go/testdata/extensions/extra/extra.pb.go
+++ b/cmd/protoc-gen-go/testdata/extensions/extra/extra.pb.go
@@ -18,6 +18,7 @@
 )
 
 type ExtraMessage struct {
+	state         protoimpl.MessageState
 	Data          []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -34,10 +35,18 @@
 func (*ExtraMessage) ProtoMessage() {}
 
 func (x *ExtraMessage) ProtoReflect() protoreflect.Message {
-	return file_extensions_extra_extra_proto_msgTypes[0].MessageOf(x)
+	mi := &file_extensions_extra_extra_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ExtraMessage) XXX_Methods() *protoiface.Methods {
+func (x *ExtraMessage) XXX_Methods() *protoiface.Methods {
 	return file_extensions_extra_extra_proto_msgTypes[0].Methods()
 }
 
@@ -101,9 +110,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_extensions_extra_extra_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ExtraMessage); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go b/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go
index d8ec9d7..df5e65b 100644
--- a/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go
+++ b/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go
@@ -57,6 +57,7 @@
 }
 
 type Message struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -72,10 +73,18 @@
 func (*Message) ProtoMessage() {}
 
 func (x *Message) ProtoReflect() protoreflect.Message {
-	return file_extensions_proto3_ext3_proto_msgTypes[0].MessageOf(x)
+	mi := &file_extensions_proto3_ext3_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message) XXX_Methods() *protoiface.Methods {
+func (x *Message) XXX_Methods() *protoiface.Methods {
 	return file_extensions_proto3_ext3_proto_msgTypes[0].Methods()
 }
 
@@ -745,8 +754,10 @@
 		file_extensions_proto3_ext3_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/fieldnames/fieldnames.pb.go b/cmd/protoc-gen-go/testdata/fieldnames/fieldnames.pb.go
index 1aa62b7..52fc8f5 100644
--- a/cmd/protoc-gen-go/testdata/fieldnames/fieldnames.pb.go
+++ b/cmd/protoc-gen-go/testdata/fieldnames/fieldnames.pb.go
@@ -23,6 +23,7 @@
 // This exists to demonstrate the current behavior and catch unintended
 // changes in it.
 type Message struct {
+	state protoimpl.MessageState
 	// Various CamelCase conversions.
 	FieldOne   *string `protobuf:"bytes,1,opt,name=field_one,json=fieldOne" json:"field_one,omitempty"`
 	FieldTwo   *string `protobuf:"bytes,2,opt,name=FieldTwo" json:"FieldTwo,omitempty"`
@@ -72,10 +73,18 @@
 func (*Message) ProtoMessage() {}
 
 func (x *Message) ProtoReflect() protoreflect.Message {
-	return file_fieldnames_fieldnames_proto_msgTypes[0].MessageOf(x)
+	mi := &file_fieldnames_fieldnames_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message) XXX_Methods() *protoiface.Methods {
+func (x *Message) XXX_Methods() *protoiface.Methods {
 	return file_fieldnames_fieldnames_proto_msgTypes[0].Methods()
 }
 
@@ -268,6 +277,7 @@
 func (*Message_OneofMessageConflict_) isMessage_OneofConflictC() {}
 
 type Message_OneofMessageConflict struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -283,10 +293,18 @@
 func (*Message_OneofMessageConflict) ProtoMessage() {}
 
 func (x *Message_OneofMessageConflict) ProtoReflect() protoreflect.Message {
-	return file_fieldnames_fieldnames_proto_msgTypes[1].MessageOf(x)
+	mi := &file_fieldnames_fieldnames_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message_OneofMessageConflict) XXX_Methods() *protoiface.Methods {
+func (x *Message_OneofMessageConflict) XXX_Methods() *protoiface.Methods {
 	return file_fieldnames_fieldnames_proto_msgTypes[1].Methods()
 }
 
@@ -385,9 +403,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_fieldnames_fieldnames_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message); i {
-			case 17:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 18:
+				return &v.sizeCache
+			case 19:
 				return &v.unknownFields
 			default:
 				return nil
@@ -396,8 +416,10 @@
 		file_fieldnames_fieldnames_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message_OneofMessageConflict); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/import_public/a.pb.go b/cmd/protoc-gen-go/testdata/import_public/a.pb.go
index 89e81e4..28f50ba 100644
--- a/cmd/protoc-gen-go/testdata/import_public/a.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/a.pb.go
@@ -57,6 +57,7 @@
 var E_ExtensionField = sub.E_ExtensionField
 
 type Public struct {
+	state         protoimpl.MessageState
 	M             *sub.M `protobuf:"bytes,1,opt,name=m" json:"m,omitempty"`
 	E             *sub.E `protobuf:"varint,2,opt,name=e,enum=goproto.protoc.import_public.sub.E" json:"e,omitempty"`
 	Local         *Local `protobuf:"bytes,3,opt,name=local" json:"local,omitempty"`
@@ -75,10 +76,18 @@
 func (*Public) ProtoMessage() {}
 
 func (x *Public) ProtoReflect() protoreflect.Message {
-	return file_import_public_a_proto_msgTypes[0].MessageOf(x)
+	mi := &file_import_public_a_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Public) XXX_Methods() *protoiface.Methods {
+func (x *Public) XXX_Methods() *protoiface.Methods {
 	return file_import_public_a_proto_msgTypes[0].Methods()
 }
 
@@ -174,9 +183,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_import_public_a_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Public); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/import_public/b.pb.go b/cmd/protoc-gen-go/testdata/import_public/b.pb.go
index 1cc48ea..2b26113 100644
--- a/cmd/protoc-gen-go/testdata/import_public/b.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/b.pb.go
@@ -19,6 +19,7 @@
 )
 
 type Local struct {
+	state         protoimpl.MessageState
 	M             *sub.M `protobuf:"bytes,1,opt,name=m" json:"m,omitempty"`
 	E             *sub.E `protobuf:"varint,2,opt,name=e,enum=goproto.protoc.import_public.sub.E" json:"e,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -36,10 +37,18 @@
 func (*Local) ProtoMessage() {}
 
 func (x *Local) ProtoReflect() protoreflect.Message {
-	return file_import_public_b_proto_msgTypes[0].MessageOf(x)
+	mi := &file_import_public_b_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Local) XXX_Methods() *protoiface.Methods {
+func (x *Local) XXX_Methods() *protoiface.Methods {
 	return file_import_public_b_proto_msgTypes[0].Methods()
 }
 
@@ -120,9 +129,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_import_public_b_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Local); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/import_public/c.pb.go b/cmd/protoc-gen-go/testdata/import_public/c.pb.go
index f863ac5..5c2b346 100644
--- a/cmd/protoc-gen-go/testdata/import_public/c.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/c.pb.go
@@ -19,6 +19,7 @@
 )
 
 type UsingPublicImport struct {
+	state protoimpl.MessageState
 	// Local is declared in b.proto, which is a public import of a.proto.
 	Local *Local `protobuf:"bytes,1,opt,name=local" json:"local,omitempty"`
 	// Sub2Message is declared in sub2/a.proto, which is a public import of
@@ -39,10 +40,18 @@
 func (*UsingPublicImport) ProtoMessage() {}
 
 func (x *UsingPublicImport) ProtoReflect() protoreflect.Message {
-	return file_import_public_c_proto_msgTypes[0].MessageOf(x)
+	mi := &file_import_public_c_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *UsingPublicImport) XXX_Methods() *protoiface.Methods {
+func (x *UsingPublicImport) XXX_Methods() *protoiface.Methods {
 	return file_import_public_c_proto_msgTypes[0].Methods()
 }
 
@@ -126,9 +135,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_import_public_c_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*UsingPublicImport); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/import_public/sub/a.pb.go b/cmd/protoc-gen-go/testdata/import_public/sub/a.pb.go
index f4e3a63..49bc41e 100644
--- a/cmd/protoc-gen-go/testdata/import_public/sub/a.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/sub/a.pb.go
@@ -166,6 +166,7 @@
 }
 
 type M struct {
+	state protoimpl.MessageState
 	// Field using a type in the same Go package, but a different source file.
 	M2 *M2      `protobuf:"bytes,1,opt,name=m2" json:"m2,omitempty"`
 	S  *string  `protobuf:"bytes,4,opt,name=s,def=default" json:"s,omitempty"`
@@ -191,10 +192,18 @@
 func (*M) ProtoMessage() {}
 
 func (x *M) ProtoReflect() protoreflect.Message {
-	return file_import_public_sub_a_proto_msgTypes[0].MessageOf(x)
+	mi := &file_import_public_sub_a_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M) XXX_Methods() *protoiface.Methods {
+func (x *M) XXX_Methods() *protoiface.Methods {
 	return file_import_public_sub_a_proto_msgTypes[0].Methods()
 }
 
@@ -283,6 +292,7 @@
 func (*M_OneofInt64) isM_OneofField() {}
 
 type M_Submessage struct {
+	state protoimpl.MessageState
 	// Types that are valid to be assigned to SubmessageOneofField:
 	//	*M_Submessage_SubmessageOneofInt32
 	//	*M_Submessage_SubmessageOneofInt64
@@ -302,10 +312,18 @@
 func (*M_Submessage) ProtoMessage() {}
 
 func (x *M_Submessage) ProtoReflect() protoreflect.Message {
-	return file_import_public_sub_a_proto_msgTypes[1].MessageOf(x)
+	mi := &file_import_public_sub_a_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M_Submessage) XXX_Methods() *protoiface.Methods {
+func (x *M_Submessage) XXX_Methods() *protoiface.Methods {
 	return file_import_public_sub_a_proto_msgTypes[1].Methods()
 }
 
@@ -457,11 +475,13 @@
 	if !protoimpl.UnsafeEnabled {
 		file_import_public_sub_a_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 7:
+				return &v.unknownFields
+			case 8:
 				return &v.extensionFields
 			default:
 				return nil
@@ -469,9 +489,11 @@
 		}
 		file_import_public_sub_a_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M_Submessage); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/import_public/sub/b.pb.go b/cmd/protoc-gen-go/testdata/import_public/sub/b.pb.go
index 33c51fe..32d6473 100644
--- a/cmd/protoc-gen-go/testdata/import_public/sub/b.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/sub/b.pb.go
@@ -18,6 +18,7 @@
 )
 
 type M2 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*M2) ProtoMessage() {}
 
 func (x *M2) ProtoReflect() protoreflect.Message {
-	return file_import_public_sub_b_proto_msgTypes[0].MessageOf(x)
+	mi := &file_import_public_sub_b_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M2) XXX_Methods() *protoiface.Methods {
+func (x *M2) XXX_Methods() *protoiface.Methods {
 	return file_import_public_sub_b_proto_msgTypes[0].Methods()
 }
 
@@ -92,8 +101,10 @@
 		file_import_public_sub_b_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M2); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/import_public/sub2/a.pb.go b/cmd/protoc-gen-go/testdata/import_public/sub2/a.pb.go
index d5f6c72..ef605ea 100644
--- a/cmd/protoc-gen-go/testdata/import_public/sub2/a.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/sub2/a.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Sub2Message struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*Sub2Message) ProtoMessage() {}
 
 func (x *Sub2Message) ProtoReflect() protoreflect.Message {
-	return file_import_public_sub2_a_proto_msgTypes[0].MessageOf(x)
+	mi := &file_import_public_sub2_a_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Sub2Message) XXX_Methods() *protoiface.Methods {
+func (x *Sub2Message) XXX_Methods() *protoiface.Methods {
 	return file_import_public_sub2_a_proto_msgTypes[0].Methods()
 }
 
@@ -93,8 +102,10 @@
 		file_import_public_sub2_a_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Sub2Message); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/fmt/m.pb.go b/cmd/protoc-gen-go/testdata/imports/fmt/m.pb.go
index 9acc5d0..dc7568b 100644
--- a/cmd/protoc-gen-go/testdata/imports/fmt/m.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/fmt/m.pb.go
@@ -18,6 +18,7 @@
 )
 
 type M struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*M) ProtoMessage() {}
 
 func (x *M) ProtoReflect() protoreflect.Message {
-	return file_imports_fmt_m_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_fmt_m_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M) XXX_Methods() *protoiface.Methods {
+func (x *M) XXX_Methods() *protoiface.Methods {
 	return file_imports_fmt_m_proto_msgTypes[0].Methods()
 }
 
@@ -90,8 +99,10 @@
 		file_imports_fmt_m_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/test_a_1/m1.pb.go b/cmd/protoc-gen-go/testdata/imports/test_a_1/m1.pb.go
index 20dbd48..52d5391 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_a_1/m1.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_a_1/m1.pb.go
@@ -56,6 +56,7 @@
 }
 
 type M1 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -71,10 +72,18 @@
 func (*M1) ProtoMessage() {}
 
 func (x *M1) ProtoReflect() protoreflect.Message {
-	return file_imports_test_a_1_m1_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_test_a_1_m1_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M1) XXX_Methods() *protoiface.Methods {
+func (x *M1) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_a_1_m1_proto_msgTypes[0].Methods()
 }
 
@@ -84,6 +93,7 @@
 }
 
 type M1_1 struct {
+	state         protoimpl.MessageState
 	M1            *M1 `protobuf:"bytes,1,opt,name=m1,proto3" json:"m1,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -100,10 +110,18 @@
 func (*M1_1) ProtoMessage() {}
 
 func (x *M1_1) ProtoReflect() protoreflect.Message {
-	return file_imports_test_a_1_m1_proto_msgTypes[1].MessageOf(x)
+	mi := &file_imports_test_a_1_m1_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M1_1) XXX_Methods() *protoiface.Methods {
+func (x *M1_1) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_a_1_m1_proto_msgTypes[1].Methods()
 }
 
@@ -173,8 +191,10 @@
 		file_imports_test_a_1_m1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M1); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -182,9 +202,11 @@
 		}
 		file_imports_test_a_1_m1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M1_1); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/test_a_1/m2.pb.go b/cmd/protoc-gen-go/testdata/imports/test_a_1/m2.pb.go
index ed81393..0433505 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_a_1/m2.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_a_1/m2.pb.go
@@ -18,6 +18,7 @@
 )
 
 type M2 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*M2) ProtoMessage() {}
 
 func (x *M2) ProtoReflect() protoreflect.Message {
-	return file_imports_test_a_1_m2_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_test_a_1_m2_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M2) XXX_Methods() *protoiface.Methods {
+func (x *M2) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_a_1_m2_proto_msgTypes[0].Methods()
 }
 
@@ -91,8 +100,10 @@
 		file_imports_test_a_1_m2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M2); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/test_a_2/m3.pb.go b/cmd/protoc-gen-go/testdata/imports/test_a_2/m3.pb.go
index 2365425..6121ed4 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_a_2/m3.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_a_2/m3.pb.go
@@ -18,6 +18,7 @@
 )
 
 type M3 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*M3) ProtoMessage() {}
 
 func (x *M3) ProtoReflect() protoreflect.Message {
-	return file_imports_test_a_2_m3_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_test_a_2_m3_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M3) XXX_Methods() *protoiface.Methods {
+func (x *M3) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_a_2_m3_proto_msgTypes[0].Methods()
 }
 
@@ -91,8 +100,10 @@
 		file_imports_test_a_2_m3_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M3); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/test_a_2/m4.pb.go b/cmd/protoc-gen-go/testdata/imports/test_a_2/m4.pb.go
index 356427b..eda832a 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_a_2/m4.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_a_2/m4.pb.go
@@ -18,6 +18,7 @@
 )
 
 type M4 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*M4) ProtoMessage() {}
 
 func (x *M4) ProtoReflect() protoreflect.Message {
-	return file_imports_test_a_2_m4_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_test_a_2_m4_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M4) XXX_Methods() *protoiface.Methods {
+func (x *M4) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_a_2_m4_proto_msgTypes[0].Methods()
 }
 
@@ -91,8 +100,10 @@
 		file_imports_test_a_2_m4_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M4); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/test_b_1/m1.pb.go b/cmd/protoc-gen-go/testdata/imports/test_b_1/m1.pb.go
index f8485df..3a4677e 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_b_1/m1.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_b_1/m1.pb.go
@@ -18,6 +18,7 @@
 )
 
 type M1 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*M1) ProtoMessage() {}
 
 func (x *M1) ProtoReflect() protoreflect.Message {
-	return file_imports_test_b_1_m1_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_test_b_1_m1_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M1) XXX_Methods() *protoiface.Methods {
+func (x *M1) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_b_1_m1_proto_msgTypes[0].Methods()
 }
 
@@ -92,8 +101,10 @@
 		file_imports_test_b_1_m1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M1); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/test_b_1/m2.pb.go b/cmd/protoc-gen-go/testdata/imports/test_b_1/m2.pb.go
index 0c4a73c..c2558c9 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_b_1/m2.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_b_1/m2.pb.go
@@ -18,6 +18,7 @@
 )
 
 type M2 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*M2) ProtoMessage() {}
 
 func (x *M2) ProtoReflect() protoreflect.Message {
-	return file_imports_test_b_1_m2_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_test_b_1_m2_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *M2) XXX_Methods() *protoiface.Methods {
+func (x *M2) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_b_1_m2_proto_msgTypes[0].Methods()
 }
 
@@ -92,8 +101,10 @@
 		file_imports_test_b_1_m2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*M2); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/test_import_a1m1.pb.go b/cmd/protoc-gen-go/testdata/imports/test_import_a1m1.pb.go
index 8d790d3..c310d52 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_import_a1m1.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_import_a1m1.pb.go
@@ -19,6 +19,7 @@
 )
 
 type A1M1 struct {
+	state         protoimpl.MessageState
 	F             *test_a_1.M1 `protobuf:"bytes,1,opt,name=f,proto3" json:"f,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -35,10 +36,18 @@
 func (*A1M1) ProtoMessage() {}
 
 func (x *A1M1) ProtoReflect() protoreflect.Message {
-	return file_imports_test_import_a1m1_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_test_import_a1m1_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *A1M1) XXX_Methods() *protoiface.Methods {
+func (x *A1M1) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_import_a1m1_proto_msgTypes[0].Methods()
 }
 
@@ -104,9 +113,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_imports_test_import_a1m1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*A1M1); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/test_import_a1m2.pb.go b/cmd/protoc-gen-go/testdata/imports/test_import_a1m2.pb.go
index 0483904..c07111b 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_import_a1m2.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_import_a1m2.pb.go
@@ -19,6 +19,7 @@
 )
 
 type A1M2 struct {
+	state         protoimpl.MessageState
 	F             *test_a_1.M2 `protobuf:"bytes,1,opt,name=f,proto3" json:"f,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -35,10 +36,18 @@
 func (*A1M2) ProtoMessage() {}
 
 func (x *A1M2) ProtoReflect() protoreflect.Message {
-	return file_imports_test_import_a1m2_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_test_import_a1m2_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *A1M2) XXX_Methods() *protoiface.Methods {
+func (x *A1M2) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_import_a1m2_proto_msgTypes[0].Methods()
 }
 
@@ -104,9 +113,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_imports_test_import_a1m2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*A1M2); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/imports/test_import_all.pb.go b/cmd/protoc-gen-go/testdata/imports/test_import_all.pb.go
index 0475375..a872359 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_import_all.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_import_all.pb.go
@@ -22,6 +22,7 @@
 )
 
 type All struct {
+	state         protoimpl.MessageState
 	Am1           *test_a_1.M1 `protobuf:"bytes,1,opt,name=am1,proto3" json:"am1,omitempty"`
 	Am2           *test_a_1.M2 `protobuf:"bytes,2,opt,name=am2,proto3" json:"am2,omitempty"`
 	Bm1           *test_b_1.M1 `protobuf:"bytes,5,opt,name=bm1,proto3" json:"bm1,omitempty"`
@@ -42,10 +43,18 @@
 func (*All) ProtoMessage() {}
 
 func (x *All) ProtoReflect() protoreflect.Message {
-	return file_imports_test_import_all_proto_msgTypes[0].MessageOf(x)
+	mi := &file_imports_test_import_all_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *All) XXX_Methods() *protoiface.Methods {
+func (x *All) XXX_Methods() *protoiface.Methods {
 	return file_imports_test_import_all_proto_msgTypes[0].Methods()
 }
 
@@ -165,9 +174,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_imports_test_import_all_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*All); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/issue780_oneof_conflict/test.pb.go b/cmd/protoc-gen-go/testdata/issue780_oneof_conflict/test.pb.go
index 5d9bd7d..47a2f03 100644
--- a/cmd/protoc-gen-go/testdata/issue780_oneof_conflict/test.pb.go
+++ b/cmd/protoc-gen-go/testdata/issue780_oneof_conflict/test.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Foo struct {
+	state protoimpl.MessageState
 	// Types that are valid to be assigned to Bar:
 	//	*Foo_GetBar
 	Bar           isFoo_Bar `protobuf_oneof:"bar"`
@@ -36,10 +37,18 @@
 func (*Foo) ProtoMessage() {}
 
 func (x *Foo) ProtoReflect() protoreflect.Message {
-	return file_issue780_oneof_conflict_test_proto_msgTypes[0].MessageOf(x)
+	mi := &file_issue780_oneof_conflict_test_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Foo) XXX_Methods() *protoiface.Methods {
+func (x *Foo) XXX_Methods() *protoiface.Methods {
 	return file_issue780_oneof_conflict_test_proto_msgTypes[0].Methods()
 }
 
@@ -115,9 +124,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_issue780_oneof_conflict_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Foo); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/nopackage/nopackage.pb.go b/cmd/protoc-gen-go/testdata/nopackage/nopackage.pb.go
index 0026f3e..c1fb2a0 100644
--- a/cmd/protoc-gen-go/testdata/nopackage/nopackage.pb.go
+++ b/cmd/protoc-gen-go/testdata/nopackage/nopackage.pb.go
@@ -66,6 +66,7 @@
 }
 
 type Message struct {
+	state         protoimpl.MessageState
 	StringField   *string `protobuf:"bytes,1,opt,name=string_field,json=stringField" json:"string_field,omitempty"`
 	EnumField     *Enum   `protobuf:"varint,2,opt,name=enum_field,json=enumField,enum=Enum,def=0" json:"enum_field,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -83,10 +84,18 @@
 func (*Message) ProtoMessage() {}
 
 func (x *Message) ProtoReflect() protoreflect.Message {
-	return file_nopackage_nopackage_proto_msgTypes[0].MessageOf(x)
+	mi := &file_nopackage_nopackage_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message) XXX_Methods() *protoiface.Methods {
+func (x *Message) XXX_Methods() *protoiface.Methods {
 	return file_nopackage_nopackage_proto_msgTypes[0].Methods()
 }
 
@@ -160,9 +169,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_nopackage_nopackage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/proto2/enum.pb.go b/cmd/protoc-gen-go/testdata/proto2/enum.pb.go
index 8f92f17..8df45bc 100644
--- a/cmd/protoc-gen-go/testdata/proto2/enum.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto2/enum.pb.go
@@ -314,6 +314,7 @@
 }
 
 type EnumContainerMessage1 struct {
+	state             protoimpl.MessageState
 	DefaultDuplicate1 *EnumType2 `protobuf:"varint,1,opt,name=default_duplicate1,json=defaultDuplicate1,enum=goproto.protoc.proto2.EnumType2,def=1" json:"default_duplicate1,omitempty"`
 	DefaultDuplicate2 *EnumType2 `protobuf:"varint,2,opt,name=default_duplicate2,json=defaultDuplicate2,enum=goproto.protoc.proto2.EnumType2,def=1" json:"default_duplicate2,omitempty"`
 	sizeCache         protoimpl.SizeCache
@@ -331,10 +332,18 @@
 func (*EnumContainerMessage1) ProtoMessage() {}
 
 func (x *EnumContainerMessage1) ProtoReflect() protoreflect.Message {
-	return file_proto2_enum_proto_msgTypes[0].MessageOf(x)
+	mi := &file_proto2_enum_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *EnumContainerMessage1) XXX_Methods() *protoiface.Methods {
+func (x *EnumContainerMessage1) XXX_Methods() *protoiface.Methods {
 	return file_proto2_enum_proto_msgTypes[0].Methods()
 }
 
@@ -361,6 +370,7 @@
 }
 
 type EnumContainerMessage1_EnumContainerMessage2 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -376,10 +386,18 @@
 func (*EnumContainerMessage1_EnumContainerMessage2) ProtoMessage() {}
 
 func (x *EnumContainerMessage1_EnumContainerMessage2) ProtoReflect() protoreflect.Message {
-	return file_proto2_enum_proto_msgTypes[1].MessageOf(x)
+	mi := &file_proto2_enum_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *EnumContainerMessage1_EnumContainerMessage2) XXX_Methods() *protoiface.Methods {
+func (x *EnumContainerMessage1_EnumContainerMessage2) XXX_Methods() *protoiface.Methods {
 	return file_proto2_enum_proto_msgTypes[1].Methods()
 }
 
@@ -474,9 +492,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_proto2_enum_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*EnumContainerMessage1); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -485,8 +505,10 @@
 		file_proto2_enum_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*EnumContainerMessage1_EnumContainerMessage2); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/proto2/fields.pb.go b/cmd/protoc-gen-go/testdata/proto2/fields.pb.go
index 054e264..794e33e 100644
--- a/cmd/protoc-gen-go/testdata/proto2/fields.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto2/fields.pb.go
@@ -70,6 +70,7 @@
 }
 
 type FieldTestMessage struct {
+	state               protoimpl.MessageState
 	OptionalBool        *bool                                `protobuf:"varint,1,opt,name=optional_bool,json=optionalBool" json:"optional_bool,omitempty"`
 	OptionalEnum        *FieldTestMessage_Enum               `protobuf:"varint,2,opt,name=optional_enum,json=optionalEnum,enum=goproto.protoc.proto2.FieldTestMessage_Enum" json:"optional_enum,omitempty"`
 	OptionalInt32       *int32                               `protobuf:"varint,3,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"`
@@ -191,10 +192,18 @@
 func (*FieldTestMessage) ProtoMessage() {}
 
 func (x *FieldTestMessage) ProtoReflect() protoreflect.Message {
-	return file_proto2_fields_proto_msgTypes[0].MessageOf(x)
+	mi := &file_proto2_fields_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldTestMessage) XXX_Methods() *protoiface.Methods {
+func (x *FieldTestMessage) XXX_Methods() *protoiface.Methods {
 	return file_proto2_fields_proto_msgTypes[0].Methods()
 }
 
@@ -1094,6 +1103,7 @@
 func (*FieldTestMessage_OneofTwo_2) isFieldTestMessage_OneofTwo() {}
 
 type FieldTestMessage_OptionalGroup struct {
+	state         protoimpl.MessageState
 	OptionalGroup *string `protobuf:"bytes,19,opt,name=optional_group,json=optionalGroup" json:"optional_group,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1110,10 +1120,18 @@
 func (*FieldTestMessage_OptionalGroup) ProtoMessage() {}
 
 func (x *FieldTestMessage_OptionalGroup) ProtoReflect() protoreflect.Message {
-	return file_proto2_fields_proto_msgTypes[1].MessageOf(x)
+	mi := &file_proto2_fields_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldTestMessage_OptionalGroup) XXX_Methods() *protoiface.Methods {
+func (x *FieldTestMessage_OptionalGroup) XXX_Methods() *protoiface.Methods {
 	return file_proto2_fields_proto_msgTypes[1].Methods()
 }
 
@@ -1130,6 +1148,7 @@
 }
 
 type FieldTestMessage_RequiredGroup struct {
+	state         protoimpl.MessageState
 	RequiredGroup *string `protobuf:"bytes,119,req,name=required_group,json=requiredGroup" json:"required_group,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1146,10 +1165,18 @@
 func (*FieldTestMessage_RequiredGroup) ProtoMessage() {}
 
 func (x *FieldTestMessage_RequiredGroup) ProtoReflect() protoreflect.Message {
-	return file_proto2_fields_proto_msgTypes[2].MessageOf(x)
+	mi := &file_proto2_fields_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldTestMessage_RequiredGroup) XXX_Methods() *protoiface.Methods {
+func (x *FieldTestMessage_RequiredGroup) XXX_Methods() *protoiface.Methods {
 	return file_proto2_fields_proto_msgTypes[2].Methods()
 }
 
@@ -1166,6 +1193,7 @@
 }
 
 type FieldTestMessage_RepeatedGroup struct {
+	state         protoimpl.MessageState
 	RepeatedGroup []string `protobuf:"bytes,219,rep,name=repeated_group,json=repeatedGroup" json:"repeated_group,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1182,10 +1210,18 @@
 func (*FieldTestMessage_RepeatedGroup) ProtoMessage() {}
 
 func (x *FieldTestMessage_RepeatedGroup) ProtoReflect() protoreflect.Message {
-	return file_proto2_fields_proto_msgTypes[3].MessageOf(x)
+	mi := &file_proto2_fields_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldTestMessage_RepeatedGroup) XXX_Methods() *protoiface.Methods {
+func (x *FieldTestMessage_RepeatedGroup) XXX_Methods() *protoiface.Methods {
 	return file_proto2_fields_proto_msgTypes[3].Methods()
 }
 
@@ -1202,6 +1238,7 @@
 }
 
 type FieldTestMessage_OneofGroup struct {
+	state           protoimpl.MessageState
 	OneofGroupField *string `protobuf:"bytes,619,opt,name=oneof_group_field,json=oneofGroupField" json:"oneof_group_field,omitempty"`
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
@@ -1218,10 +1255,18 @@
 func (*FieldTestMessage_OneofGroup) ProtoMessage() {}
 
 func (x *FieldTestMessage_OneofGroup) ProtoReflect() protoreflect.Message {
-	return file_proto2_fields_proto_msgTypes[7].MessageOf(x)
+	mi := &file_proto2_fields_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldTestMessage_OneofGroup) XXX_Methods() *protoiface.Methods {
+func (x *FieldTestMessage_OneofGroup) XXX_Methods() *protoiface.Methods {
 	return file_proto2_fields_proto_msgTypes[7].Methods()
 }
 
@@ -1238,6 +1283,7 @@
 }
 
 type FieldTestMessage_Message struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1253,10 +1299,18 @@
 func (*FieldTestMessage_Message) ProtoMessage() {}
 
 func (x *FieldTestMessage_Message) ProtoReflect() protoreflect.Message {
-	return file_proto2_fields_proto_msgTypes[8].MessageOf(x)
+	mi := &file_proto2_fields_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldTestMessage_Message) XXX_Methods() *protoiface.Methods {
+func (x *FieldTestMessage_Message) XXX_Methods() *protoiface.Methods {
 	return file_proto2_fields_proto_msgTypes[8].Methods()
 }
 
@@ -1700,9 +1754,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_proto2_fields_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldTestMessage); i {
-			case 83:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 84:
+				return &v.sizeCache
+			case 85:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1710,9 +1766,11 @@
 		}
 		file_proto2_fields_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldTestMessage_OptionalGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1720,9 +1778,11 @@
 		}
 		file_proto2_fields_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldTestMessage_RequiredGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1730,9 +1790,11 @@
 		}
 		file_proto2_fields_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldTestMessage_RepeatedGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1740,9 +1802,11 @@
 		}
 		file_proto2_fields_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldTestMessage_OneofGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1751,8 +1815,10 @@
 		file_proto2_fields_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldTestMessage_Message); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/proto2/nested_messages.pb.go b/cmd/protoc-gen-go/testdata/proto2/nested_messages.pb.go
index 8d2b452..fe60801 100644
--- a/cmd/protoc-gen-go/testdata/proto2/nested_messages.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto2/nested_messages.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Layer1 struct {
+	state         protoimpl.MessageState
 	L2            *Layer1_Layer2        `protobuf:"bytes,1,opt,name=l2" json:"l2,omitempty"`
 	L3            *Layer1_Layer2_Layer3 `protobuf:"bytes,2,opt,name=l3" json:"l3,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -35,10 +36,18 @@
 func (*Layer1) ProtoMessage() {}
 
 func (x *Layer1) ProtoReflect() protoreflect.Message {
-	return file_proto2_nested_messages_proto_msgTypes[0].MessageOf(x)
+	mi := &file_proto2_nested_messages_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Layer1) XXX_Methods() *protoiface.Methods {
+func (x *Layer1) XXX_Methods() *protoiface.Methods {
 	return file_proto2_nested_messages_proto_msgTypes[0].Methods()
 }
 
@@ -62,6 +71,7 @@
 }
 
 type Layer1_Layer2 struct {
+	state         protoimpl.MessageState
 	L3            *Layer1_Layer2_Layer3 `protobuf:"bytes,1,opt,name=l3" json:"l3,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -78,10 +88,18 @@
 func (*Layer1_Layer2) ProtoMessage() {}
 
 func (x *Layer1_Layer2) ProtoReflect() protoreflect.Message {
-	return file_proto2_nested_messages_proto_msgTypes[1].MessageOf(x)
+	mi := &file_proto2_nested_messages_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Layer1_Layer2) XXX_Methods() *protoiface.Methods {
+func (x *Layer1_Layer2) XXX_Methods() *protoiface.Methods {
 	return file_proto2_nested_messages_proto_msgTypes[1].Methods()
 }
 
@@ -98,6 +116,7 @@
 }
 
 type Layer1_Layer2_Layer3 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -113,10 +132,18 @@
 func (*Layer1_Layer2_Layer3) ProtoMessage() {}
 
 func (x *Layer1_Layer2_Layer3) ProtoReflect() protoreflect.Message {
-	return file_proto2_nested_messages_proto_msgTypes[2].MessageOf(x)
+	mi := &file_proto2_nested_messages_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Layer1_Layer2_Layer3) XXX_Methods() *protoiface.Methods {
+func (x *Layer1_Layer2_Layer3) XXX_Methods() *protoiface.Methods {
 	return file_proto2_nested_messages_proto_msgTypes[2].Methods()
 }
 
@@ -188,6 +215,20 @@
 	if !protoimpl.UnsafeEnabled {
 		file_proto2_nested_messages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Layer1); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_proto2_nested_messages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Layer1_Layer2); i {
+			case 0:
+				return &v.state
 			case 2:
 				return &v.sizeCache
 			case 3:
@@ -196,21 +237,13 @@
 				return nil
 			}
 		}
-		file_proto2_nested_messages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Layer1_Layer2); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_proto2_nested_messages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Layer1_Layer2_Layer3); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/proto2/proto2.pb.go b/cmd/protoc-gen-go/testdata/proto2/proto2.pb.go
index 0fe3fcb..57ac220 100644
--- a/cmd/protoc-gen-go/testdata/proto2/proto2.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto2/proto2.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message struct {
+	state         protoimpl.MessageState
 	I32           *int32   `protobuf:"varint,1,opt,name=i32" json:"i32,omitempty"`
 	M             *Message `protobuf:"bytes,2,opt,name=m" json:"m,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -35,10 +36,18 @@
 func (*Message) ProtoMessage() {}
 
 func (x *Message) ProtoReflect() protoreflect.Message {
-	return file_proto2_proto2_proto_msgTypes[0].MessageOf(x)
+	mi := &file_proto2_proto2_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message) XXX_Methods() *protoiface.Methods {
+func (x *Message) XXX_Methods() *protoiface.Methods {
 	return file_proto2_proto2_proto_msgTypes[0].Methods()
 }
 
@@ -111,9 +120,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_proto2_proto2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/cmd/protoc-gen-go/testdata/proto3/fields.pb.go b/cmd/protoc-gen-go/testdata/proto3/fields.pb.go
index 7333421..7646822 100644
--- a/cmd/protoc-gen-go/testdata/proto3/fields.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto3/fields.pb.go
@@ -56,6 +56,7 @@
 }
 
 type FieldTestMessage struct {
+	state            protoimpl.MessageState
 	OptionalBool     string                               `protobuf:"bytes,1,opt,name=optional_bool,json=optionalBool,proto3" json:"optional_bool,omitempty"`
 	OptionalEnum     FieldTestMessage_Enum                `protobuf:"varint,2,opt,name=optional_enum,json=optionalEnum,proto3,enum=goproto.protoc.proto3.FieldTestMessage_Enum" json:"optional_enum,omitempty"`
 	OptionalInt32    int32                                `protobuf:"varint,3,opt,name=optional_int32,json=optionalInt32,proto3" json:"optional_int32,omitempty"`
@@ -108,10 +109,18 @@
 func (*FieldTestMessage) ProtoMessage() {}
 
 func (x *FieldTestMessage) ProtoReflect() protoreflect.Message {
-	return file_proto3_fields_proto_msgTypes[0].MessageOf(x)
+	mi := &file_proto3_fields_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldTestMessage) XXX_Methods() *protoiface.Methods {
+func (x *FieldTestMessage) XXX_Methods() *protoiface.Methods {
 	return file_proto3_fields_proto_msgTypes[0].Methods()
 }
 
@@ -380,6 +389,7 @@
 }
 
 type FieldTestMessage_Message struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -395,10 +405,18 @@
 func (*FieldTestMessage_Message) ProtoMessage() {}
 
 func (x *FieldTestMessage_Message) ProtoReflect() protoreflect.Message {
-	return file_proto3_fields_proto_msgTypes[4].MessageOf(x)
+	mi := &file_proto3_fields_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldTestMessage_Message) XXX_Methods() *protoiface.Methods {
+func (x *FieldTestMessage_Message) XXX_Methods() *protoiface.Methods {
 	return file_proto3_fields_proto_msgTypes[4].Methods()
 }
 
@@ -608,9 +626,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_proto3_fields_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldTestMessage); i {
-			case 37:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 38:
+				return &v.sizeCache
+			case 39:
 				return &v.unknownFields
 			default:
 				return nil
@@ -619,8 +639,10 @@
 		file_proto3_fields_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldTestMessage_Message); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/encoding/testprotos/pb2/test.pb.go b/encoding/testprotos/pb2/test.pb.go
index 49cf8e8..1cadf09 100644
--- a/encoding/testprotos/pb2/test.pb.go
+++ b/encoding/testprotos/pb2/test.pb.go
@@ -133,6 +133,7 @@
 
 // Scalars contains optional scalar fields.
 type Scalars struct {
+	state         protoimpl.MessageState
 	OptBool       *bool    `protobuf:"varint,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
 	OptInt32      *int32   `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
 	OptInt64      *int64   `protobuf:"varint,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
@@ -163,10 +164,18 @@
 func (*Scalars) ProtoMessage() {}
 
 func (x *Scalars) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[0].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Scalars) XXX_Methods() *protoiface.Methods {
+func (x *Scalars) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[0].Methods()
 }
 
@@ -282,6 +291,7 @@
 
 // Message contains enum fields.
 type Enums struct {
+	state         protoimpl.MessageState
 	OptEnum       *Enum              `protobuf:"varint,1,opt,name=opt_enum,json=optEnum,enum=pb2.Enum" json:"opt_enum,omitempty"`
 	RptEnum       []Enum             `protobuf:"varint,2,rep,name=rpt_enum,json=rptEnum,enum=pb2.Enum" json:"rpt_enum,omitempty"`
 	OptNestedEnum *Enums_NestedEnum  `protobuf:"varint,3,opt,name=opt_nested_enum,json=optNestedEnum,enum=pb2.Enums_NestedEnum" json:"opt_nested_enum,omitempty"`
@@ -301,10 +311,18 @@
 func (*Enums) ProtoMessage() {}
 
 func (x *Enums) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[1].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Enums) XXX_Methods() *protoiface.Methods {
+func (x *Enums) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[1].Methods()
 }
 
@@ -343,6 +361,7 @@
 
 // Message contains repeated fields.
 type Repeats struct {
+	state         protoimpl.MessageState
 	RptBool       []bool    `protobuf:"varint,1,rep,name=rpt_bool,json=rptBool" json:"rpt_bool,omitempty"`
 	RptInt32      []int32   `protobuf:"varint,2,rep,name=rpt_int32,json=rptInt32" json:"rpt_int32,omitempty"`
 	RptInt64      []int64   `protobuf:"varint,3,rep,name=rpt_int64,json=rptInt64" json:"rpt_int64,omitempty"`
@@ -367,10 +386,18 @@
 func (*Repeats) ProtoMessage() {}
 
 func (x *Repeats) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[2].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Repeats) XXX_Methods() *protoiface.Methods {
+func (x *Repeats) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[2].Methods()
 }
 
@@ -444,6 +471,7 @@
 
 // Message type used as submessage.
 type Nested struct {
+	state         protoimpl.MessageState
 	OptString     *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
 	OptNested     *Nested `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -461,10 +489,18 @@
 func (*Nested) ProtoMessage() {}
 
 func (x *Nested) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[3].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Nested) XXX_Methods() *protoiface.Methods {
+func (x *Nested) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[3].Methods()
 }
 
@@ -489,6 +525,7 @@
 
 // Message contains message and group fields.
 type Nests struct {
+	state         protoimpl.MessageState
 	OptNested     *Nested           `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
 	Optgroup      *Nests_OptGroup   `protobuf:"group,2,opt,name=OptGroup,json=optgroup" json:"optgroup,omitempty"`
 	RptNested     []*Nested         `protobuf:"bytes,4,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
@@ -508,10 +545,18 @@
 func (*Nests) ProtoMessage() {}
 
 func (x *Nests) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[4].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Nests) XXX_Methods() *protoiface.Methods {
+func (x *Nests) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[4].Methods()
 }
 
@@ -550,6 +595,7 @@
 
 // Message contains required fields.
 type Requireds struct {
+	state         protoimpl.MessageState
 	ReqBool       *bool    `protobuf:"varint,1,req,name=req_bool,json=reqBool" json:"req_bool,omitempty"`
 	ReqSfixed64   *int64   `protobuf:"fixed64,2,req,name=req_sfixed64,json=reqSfixed64" json:"req_sfixed64,omitempty"`
 	ReqDouble     *float64 `protobuf:"fixed64,3,req,name=req_double,json=reqDouble" json:"req_double,omitempty"`
@@ -571,10 +617,18 @@
 func (*Requireds) ProtoMessage() {}
 
 func (x *Requireds) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[5].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Requireds) XXX_Methods() *protoiface.Methods {
+func (x *Requireds) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[5].Methods()
 }
 
@@ -627,6 +681,7 @@
 
 // Message contains both required and optional fields.
 type PartialRequired struct {
+	state         protoimpl.MessageState
 	ReqString     *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
 	OptString     *string `protobuf:"bytes,2,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -644,10 +699,18 @@
 func (*PartialRequired) ProtoMessage() {}
 
 func (x *PartialRequired) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[6].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *PartialRequired) XXX_Methods() *protoiface.Methods {
+func (x *PartialRequired) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[6].Methods()
 }
 
@@ -671,6 +734,7 @@
 }
 
 type NestedWithRequired struct {
+	state         protoimpl.MessageState
 	ReqString     *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -687,10 +751,18 @@
 func (*NestedWithRequired) ProtoMessage() {}
 
 func (x *NestedWithRequired) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[7].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *NestedWithRequired) XXX_Methods() *protoiface.Methods {
+func (x *NestedWithRequired) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[7].Methods()
 }
 
@@ -707,6 +779,7 @@
 }
 
 type IndirectRequired struct {
+	state       protoimpl.MessageState
 	OptNested   *NestedWithRequired            `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
 	RptNested   []*NestedWithRequired          `protobuf:"bytes,2,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
 	StrToNested map[string]*NestedWithRequired `protobuf:"bytes,3,rep,name=str_to_nested,json=strToNested" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
@@ -728,10 +801,18 @@
 func (*IndirectRequired) ProtoMessage() {}
 
 func (x *IndirectRequired) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[8].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *IndirectRequired) XXX_Methods() *protoiface.Methods {
+func (x *IndirectRequired) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[8].Methods()
 }
 
@@ -786,6 +867,7 @@
 func (*IndirectRequired_OneofNested) isIndirectRequired_Union() {}
 
 type Extensions struct {
+	state           protoimpl.MessageState
 	OptString       *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
 	OptBool         *bool   `protobuf:"varint,101,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
 	OptInt32        *int32  `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
@@ -805,10 +887,18 @@
 func (*Extensions) ProtoMessage() {}
 
 func (x *Extensions) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[9].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Extensions) XXX_Methods() *protoiface.Methods {
+func (x *Extensions) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[9].Methods()
 }
 
@@ -848,6 +938,7 @@
 }
 
 type ExtensionsContainer struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -863,10 +954,18 @@
 func (*ExtensionsContainer) ProtoMessage() {}
 
 func (x *ExtensionsContainer) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[10].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ExtensionsContainer) XXX_Methods() *protoiface.Methods {
+func (x *ExtensionsContainer) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[10].Methods()
 }
 
@@ -876,6 +975,7 @@
 }
 
 type MessageSet struct {
+	state           protoimpl.MessageState
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
 	extensionFields protoimpl.ExtensionFields
@@ -892,10 +992,18 @@
 func (*MessageSet) ProtoMessage() {}
 
 func (x *MessageSet) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[11].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *MessageSet) XXX_Methods() *protoiface.Methods {
+func (x *MessageSet) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[11].Methods()
 }
 
@@ -914,6 +1022,7 @@
 }
 
 type MessageSetExtension struct {
+	state         protoimpl.MessageState
 	OptString     *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -930,10 +1039,18 @@
 func (*MessageSetExtension) ProtoMessage() {}
 
 func (x *MessageSetExtension) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[12].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *MessageSetExtension) XXX_Methods() *protoiface.Methods {
+func (x *MessageSetExtension) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[12].Methods()
 }
 
@@ -950,6 +1067,7 @@
 }
 
 type FakeMessageSet struct {
+	state           protoimpl.MessageState
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
 	extensionFields protoimpl.ExtensionFields
@@ -966,10 +1084,18 @@
 func (*FakeMessageSet) ProtoMessage() {}
 
 func (x *FakeMessageSet) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[13].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FakeMessageSet) XXX_Methods() *protoiface.Methods {
+func (x *FakeMessageSet) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[13].Methods()
 }
 
@@ -988,6 +1114,7 @@
 }
 
 type FakeMessageSetExtension struct {
+	state         protoimpl.MessageState
 	OptString     *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1004,10 +1131,18 @@
 func (*FakeMessageSetExtension) ProtoMessage() {}
 
 func (x *FakeMessageSetExtension) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[14].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FakeMessageSetExtension) XXX_Methods() *protoiface.Methods {
+func (x *FakeMessageSetExtension) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[14].Methods()
 }
 
@@ -1025,6 +1160,7 @@
 
 // Message contains well-known type fields.
 type KnownTypes struct {
+	state         protoimpl.MessageState
 	OptBool       *wrapperspb.BoolValue   `protobuf:"bytes,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
 	OptInt32      *wrapperspb.Int32Value  `protobuf:"bytes,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
 	OptInt64      *wrapperspb.Int64Value  `protobuf:"bytes,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
@@ -1058,10 +1194,18 @@
 func (*KnownTypes) ProtoMessage() {}
 
 func (x *KnownTypes) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[15].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *KnownTypes) XXX_Methods() *protoiface.Methods {
+func (x *KnownTypes) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[15].Methods()
 }
 
@@ -1197,6 +1341,7 @@
 }
 
 type Nests_OptGroup struct {
+	state          protoimpl.MessageState
 	OptString      *string                        `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
 	OptNested      *Nested                        `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
 	Optnestedgroup *Nests_OptGroup_OptNestedGroup `protobuf:"group,3,opt,name=OptNestedGroup,json=optnestedgroup" json:"optnestedgroup,omitempty"`
@@ -1215,10 +1360,18 @@
 func (*Nests_OptGroup) ProtoMessage() {}
 
 func (x *Nests_OptGroup) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[16].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Nests_OptGroup) XXX_Methods() *protoiface.Methods {
+func (x *Nests_OptGroup) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[16].Methods()
 }
 
@@ -1249,6 +1402,7 @@
 }
 
 type Nests_RptGroup struct {
+	state         protoimpl.MessageState
 	RptString     []string `protobuf:"bytes,1,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1265,10 +1419,18 @@
 func (*Nests_RptGroup) ProtoMessage() {}
 
 func (x *Nests_RptGroup) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[17].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Nests_RptGroup) XXX_Methods() *protoiface.Methods {
+func (x *Nests_RptGroup) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[17].Methods()
 }
 
@@ -1285,6 +1447,7 @@
 }
 
 type Nests_OptGroup_OptNestedGroup struct {
+	state         protoimpl.MessageState
 	OptFixed32    *uint32 `protobuf:"fixed32,1,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1301,10 +1464,18 @@
 func (*Nests_OptGroup_OptNestedGroup) ProtoMessage() {}
 
 func (x *Nests_OptGroup_OptNestedGroup) ProtoReflect() protoreflect.Message {
-	return file_pb2_test_proto_msgTypes[18].MessageOf(x)
+	mi := &file_pb2_test_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Nests_OptGroup_OptNestedGroup) XXX_Methods() *protoiface.Methods {
+func (x *Nests_OptGroup_OptNestedGroup) XXX_Methods() *protoiface.Methods {
 	return file_pb2_test_proto_msgTypes[18].Methods()
 }
 
@@ -2043,9 +2214,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_pb2_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Scalars); i {
-			case 15:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 16:
+				return &v.sizeCache
+			case 17:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2053,9 +2226,11 @@
 		}
 		file_pb2_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Enums); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2063,9 +2238,11 @@
 		}
 		file_pb2_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Repeats); i {
-			case 9:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 10:
+				return &v.sizeCache
+			case 11:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2073,9 +2250,11 @@
 		}
 		file_pb2_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Nested); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2083,9 +2262,11 @@
 		}
 		file_pb2_test_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Nests); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2093,9 +2274,11 @@
 		}
 		file_pb2_test_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Requireds); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2103,9 +2286,11 @@
 		}
 		file_pb2_test_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*PartialRequired); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2113,9 +2298,11 @@
 		}
 		file_pb2_test_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*NestedWithRequired); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2123,9 +2310,11 @@
 		}
 		file_pb2_test_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*IndirectRequired); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2133,11 +2322,13 @@
 		}
 		file_pb2_test_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Extensions); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 5:
+				return &v.unknownFields
+			case 6:
 				return &v.extensionFields
 			default:
 				return nil
@@ -2146,8 +2337,10 @@
 		file_pb2_test_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ExtensionsContainer); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2156,10 +2349,12 @@
 		file_pb2_test_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*MessageSet); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 2:
+				return &v.unknownFields
+			case 3:
 				return &v.extensionFields
 			default:
 				return nil
@@ -2167,9 +2362,11 @@
 		}
 		file_pb2_test_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*MessageSetExtension); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2178,10 +2375,12 @@
 		file_pb2_test_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FakeMessageSet); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 2:
+				return &v.unknownFields
+			case 3:
 				return &v.extensionFields
 			default:
 				return nil
@@ -2189,9 +2388,11 @@
 		}
 		file_pb2_test_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FakeMessageSetExtension); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2199,9 +2400,11 @@
 		}
 		file_pb2_test_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*KnownTypes); i {
-			case 18:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 19:
+				return &v.sizeCache
+			case 20:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2209,9 +2412,11 @@
 		}
 		file_pb2_test_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Nests_OptGroup); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2219,9 +2424,11 @@
 		}
 		file_pb2_test_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Nests_RptGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2229,9 +2436,11 @@
 		}
 		file_pb2_test_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Nests_OptGroup_OptNestedGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/encoding/testprotos/pb3/test.pb.go b/encoding/testprotos/pb3/test.pb.go
index 50ecdcc..411965e 100644
--- a/encoding/testprotos/pb3/test.pb.go
+++ b/encoding/testprotos/pb3/test.pb.go
@@ -112,6 +112,7 @@
 
 // Scalars contains scalar field types.
 type Scalars struct {
+	state         protoimpl.MessageState
 	SBool         bool    `protobuf:"varint,1,opt,name=s_bool,json=sBool,proto3" json:"s_bool,omitempty"`
 	SInt32        int32   `protobuf:"varint,2,opt,name=s_int32,json=sInt32,proto3" json:"s_int32,omitempty"`
 	SInt64        int64   `protobuf:"varint,3,opt,name=s_int64,json=sInt64,proto3" json:"s_int64,omitempty"`
@@ -142,10 +143,18 @@
 func (*Scalars) ProtoMessage() {}
 
 func (x *Scalars) ProtoReflect() protoreflect.Message {
-	return file_pb3_test_proto_msgTypes[0].MessageOf(x)
+	mi := &file_pb3_test_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Scalars) XXX_Methods() *protoiface.Methods {
+func (x *Scalars) XXX_Methods() *protoiface.Methods {
 	return file_pb3_test_proto_msgTypes[0].Methods()
 }
 
@@ -261,6 +270,7 @@
 
 // Message contains enum fields.
 type Enums struct {
+	state         protoimpl.MessageState
 	SEnum         Enum             `protobuf:"varint,1,opt,name=s_enum,json=sEnum,proto3,enum=pb3.Enum" json:"s_enum,omitempty"`
 	SNestedEnum   Enums_NestedEnum `protobuf:"varint,3,opt,name=s_nested_enum,json=sNestedEnum,proto3,enum=pb3.Enums_NestedEnum" json:"s_nested_enum,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -278,10 +288,18 @@
 func (*Enums) ProtoMessage() {}
 
 func (x *Enums) ProtoReflect() protoreflect.Message {
-	return file_pb3_test_proto_msgTypes[1].MessageOf(x)
+	mi := &file_pb3_test_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Enums) XXX_Methods() *protoiface.Methods {
+func (x *Enums) XXX_Methods() *protoiface.Methods {
 	return file_pb3_test_proto_msgTypes[1].Methods()
 }
 
@@ -306,6 +324,7 @@
 
 // Message contains nested message field.
 type Nests struct {
+	state         protoimpl.MessageState
 	SNested       *Nested `protobuf:"bytes,2,opt,name=s_nested,json=sNested,proto3" json:"s_nested,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -322,10 +341,18 @@
 func (*Nests) ProtoMessage() {}
 
 func (x *Nests) ProtoReflect() protoreflect.Message {
-	return file_pb3_test_proto_msgTypes[2].MessageOf(x)
+	mi := &file_pb3_test_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Nests) XXX_Methods() *protoiface.Methods {
+func (x *Nests) XXX_Methods() *protoiface.Methods {
 	return file_pb3_test_proto_msgTypes[2].Methods()
 }
 
@@ -343,6 +370,7 @@
 
 // Message type used as submessage.
 type Nested struct {
+	state         protoimpl.MessageState
 	SString       string  `protobuf:"bytes,1,opt,name=s_string,json=sString,proto3" json:"s_string,omitempty"`
 	SNested       *Nested `protobuf:"bytes,2,opt,name=s_nested,json=sNested,proto3" json:"s_nested,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -360,10 +388,18 @@
 func (*Nested) ProtoMessage() {}
 
 func (x *Nested) ProtoReflect() protoreflect.Message {
-	return file_pb3_test_proto_msgTypes[3].MessageOf(x)
+	mi := &file_pb3_test_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Nested) XXX_Methods() *protoiface.Methods {
+func (x *Nested) XXX_Methods() *protoiface.Methods {
 	return file_pb3_test_proto_msgTypes[3].Methods()
 }
 
@@ -388,6 +424,7 @@
 
 // Message contains oneof field.
 type Oneofs struct {
+	state protoimpl.MessageState
 	// Types that are valid to be assigned to Union:
 	//	*Oneofs_OneofEnum
 	//	*Oneofs_OneofString
@@ -408,10 +445,18 @@
 func (*Oneofs) ProtoMessage() {}
 
 func (x *Oneofs) ProtoReflect() protoreflect.Message {
-	return file_pb3_test_proto_msgTypes[4].MessageOf(x)
+	mi := &file_pb3_test_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Oneofs) XXX_Methods() *protoiface.Methods {
+func (x *Oneofs) XXX_Methods() *protoiface.Methods {
 	return file_pb3_test_proto_msgTypes[4].Methods()
 }
 
@@ -472,6 +517,7 @@
 
 // Message contains map fields.
 type Maps struct {
+	state         protoimpl.MessageState
 	Int32ToStr    map[int32]string   `protobuf:"bytes,1,rep,name=int32_to_str,json=int32ToStr,proto3" json:"int32_to_str,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 	BoolToUint32  map[bool]uint32    `protobuf:"bytes,2,rep,name=bool_to_uint32,json=boolToUint32,proto3" json:"bool_to_uint32,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
 	Uint64ToEnum  map[uint64]Enum    `protobuf:"bytes,3,rep,name=uint64_to_enum,json=uint64ToEnum,proto3" json:"uint64_to_enum,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=pb3.Enum"`
@@ -492,10 +538,18 @@
 func (*Maps) ProtoMessage() {}
 
 func (x *Maps) ProtoReflect() protoreflect.Message {
-	return file_pb3_test_proto_msgTypes[5].MessageOf(x)
+	mi := &file_pb3_test_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Maps) XXX_Methods() *protoiface.Methods {
+func (x *Maps) XXX_Methods() *protoiface.Methods {
 	return file_pb3_test_proto_msgTypes[5].Methods()
 }
 
@@ -541,6 +595,7 @@
 
 // Message for testing json_name option.
 type JSONNames struct {
+	state         protoimpl.MessageState
 	SString       string `protobuf:"bytes,1,opt,name=s_string,json=foo_bar,proto3" json:"s_string,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -557,10 +612,18 @@
 func (*JSONNames) ProtoMessage() {}
 
 func (x *JSONNames) ProtoReflect() protoreflect.Message {
-	return file_pb3_test_proto_msgTypes[6].MessageOf(x)
+	mi := &file_pb3_test_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *JSONNames) XXX_Methods() *protoiface.Methods {
+func (x *JSONNames) XXX_Methods() *protoiface.Methods {
 	return file_pb3_test_proto_msgTypes[6].Methods()
 }
 
@@ -748,9 +811,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_pb3_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Scalars); i {
-			case 15:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 16:
+				return &v.sizeCache
+			case 17:
 				return &v.unknownFields
 			default:
 				return nil
@@ -758,9 +823,11 @@
 		}
 		file_pb3_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Enums); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -768,16 +835,8 @@
 		}
 		file_pb3_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Nests); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_pb3_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Nested); i {
+			case 0:
+				return &v.state
 			case 2:
 				return &v.sizeCache
 			case 3:
@@ -786,11 +845,25 @@
 				return nil
 			}
 		}
+		file_pb3_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Nested); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_pb3_test_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Oneofs); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -798,9 +871,11 @@
 		}
 		file_pb3_test_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Maps); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -808,9 +883,11 @@
 		}
 		file_pb3_test_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*JSONNames); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/cmd/generate-types/impl.go b/internal/cmd/generate-types/impl.go
index a2e2aa9..a7c4951 100644
--- a/internal/cmd/generate-types/impl.go
+++ b/internal/cmd/generate-types/impl.go
@@ -381,3 +381,107 @@
 {{end}}
 }
 `))
+
+func generateImplMessage() string {
+	return mustExecute(implMessageTemplate, []string{"messageState", "messageReflectWrapper"})
+}
+
+var implMessageTemplate = template.Must(template.New("").Parse(`
+{{range . -}}
+func (m *{{.}}) Descriptor() protoreflect.MessageDescriptor {
+	return m.mi.PBType.Descriptor()
+}
+func (m *{{.}}) New() protoreflect.Message {
+	return m.mi.PBType.New()
+}
+func (m *{{.}}) Interface() protoreflect.ProtoMessage {
+	{{if eq . "messageState" -}}
+	return m.ProtoUnwrap().(protoreflect.ProtoMessage)
+	{{- else -}}
+	if m, ok := m.ProtoUnwrap().(protoreflect.ProtoMessage); ok {
+		return m
+	}
+	return (*messageIfaceWrapper)(m)
+	{{- end -}}
+}
+func (m *{{.}}) ProtoUnwrap() interface{} {
+	return m.pointer().AsIfaceOf(m.mi.GoType.Elem())
+}
+
+func (m *{{.}}) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
+	m.mi.init()
+	for _, fi := range m.mi.fields {
+		if fi.has(m.pointer()) {
+			if !f(fi.fieldDesc, fi.get(m.pointer())) {
+				return
+			}
+		}
+	}
+	m.mi.extensionMap(m.pointer()).Range(f)
+}
+func (m *{{.}}) Has(fd protoreflect.FieldDescriptor) bool {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.has(m.pointer())
+	} else {
+		return m.mi.extensionMap(m.pointer()).Has(xt)
+	}
+}
+func (m *{{.}}) Clear(fd protoreflect.FieldDescriptor) {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		fi.clear(m.pointer())
+	} else {
+		m.mi.extensionMap(m.pointer()).Clear(xt)
+	}
+}
+func (m *{{.}}) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.get(m.pointer())
+	} else {
+		return m.mi.extensionMap(m.pointer()).Get(xt)
+	}
+}
+func (m *{{.}}) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		fi.set(m.pointer(), v)
+	} else {
+		m.mi.extensionMap(m.pointer()).Set(xt, v)
+	}
+}
+func (m *{{.}}) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.mutable(m.pointer())
+	} else {
+		return m.mi.extensionMap(m.pointer()).Mutable(xt)
+	}
+}
+func (m *{{.}}) NewMessage(fd protoreflect.FieldDescriptor) protoreflect.Message {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.newMessage()
+	} else {
+		return xt.New().Message()
+	}
+}
+func (m *{{.}}) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
+	m.mi.init()
+	if oi := m.mi.oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
+		return od.Fields().ByNumber(oi.which(m.pointer()))
+	}
+	panic("invalid oneof descriptor")
+}
+func (m *{{.}}) GetUnknown() protoreflect.RawFields {
+	m.mi.init()
+	return m.mi.getUnknown(m.pointer())
+}
+func (m *{{.}}) SetUnknown(b protoreflect.RawFields) {
+	m.mi.init()
+	m.mi.setUnknown(m.pointer(), b)
+}
+
+{{end}}
+`))
diff --git a/internal/cmd/generate-types/main.go b/internal/cmd/generate-types/main.go
index 09e6a8a..6490b5c 100644
--- a/internal/cmd/generate-types/main.go
+++ b/internal/cmd/generate-types/main.go
@@ -39,6 +39,7 @@
 	chdirRoot()
 	writeSource("internal/filedesc/desc_list_gen.go", generateDescListTypes())
 	writeSource("internal/impl/codec_gen.go", generateImplCodec())
+	writeSource("internal/impl/message_reflect_gen.go", generateImplMessage())
 	writeSource("proto/decode_gen.go", generateProtoDecode())
 	writeSource("proto/encode_gen.go", generateProtoEncode())
 	writeSource("proto/size_gen.go", generateProtoSize())
diff --git a/internal/impl/message.go b/internal/impl/message.go
index fe7cd37..201e1d6 100644
--- a/internal/impl/message.go
+++ b/internal/impl/message.go
@@ -12,7 +12,6 @@
 	"sync"
 	"sync/atomic"
 
-	pvalue "google.golang.org/protobuf/internal/value"
 	pref "google.golang.org/protobuf/reflect/protoreflect"
 	piface "google.golang.org/protobuf/runtime/protoiface"
 )
@@ -39,13 +38,7 @@
 	initMu   sync.Mutex // protects all unexported fields
 	initDone uint32
 
-	fields map[pref.FieldNumber]*fieldInfo
-	oneofs map[pref.Name]*oneofInfo
-
-	getUnknown func(pointer) pref.RawFields
-	setUnknown func(pointer, pref.RawFields)
-
-	extensionMap func(pointer) *extensionMap
+	reflectMessageInfo
 
 	// Information used by the fast-path methods.
 	methods piface.Methods
@@ -55,6 +48,17 @@
 	extensionFieldInfos   map[pref.ExtensionType]*extensionFieldInfo
 }
 
+type reflectMessageInfo struct {
+	fields map[pref.FieldNumber]*fieldInfo
+	oneofs map[pref.Name]*oneofInfo
+
+	getUnknown   func(pointer) pref.RawFields
+	setUnknown   func(pointer, pref.RawFields)
+	extensionMap func(pointer) *extensionMap
+
+	nilMessage atomicNilMessage
+}
+
 // exporter is a function that returns a reference to the ith field of v,
 // where v is a pointer to a struct. It returns nil if it does not support
 // exporting the requested field (e.g., already exported).
@@ -88,10 +92,9 @@
 	// This function is called in the hot path. Inline the sync.Once
 	// logic, since allocating a closure for Once.Do is expensive.
 	// Keep init small to ensure that it can be inlined.
-	if atomic.LoadUint32(&mi.initDone) == 1 {
-		return
+	if atomic.LoadUint32(&mi.initDone) == 0 {
+		mi.initOnce()
 	}
-	mi.initOnce()
 }
 
 func (mi *MessageInfo) initOnce() {
@@ -293,247 +296,8 @@
 	}
 }
 
-func (mi *MessageInfo) MessageOf(p interface{}) pref.Message {
-	return (*messageReflectWrapper)(mi.dataTypeOf(p))
-}
-
+// TODO: Move this to be on the reflect message instance.
 func (mi *MessageInfo) Methods() *piface.Methods {
 	mi.init()
 	return &mi.methods
 }
-
-func (mi *MessageInfo) dataTypeOf(p interface{}) *messageDataType {
-	// TODO: Remove this check? This API is primarily used by generated code,
-	// and should not violate this assumption. Leave this check in for now to
-	// provide some sanity checks during development. This can be removed if
-	// it proves to be detrimental to performance.
-	if reflect.TypeOf(p) != mi.GoType {
-		panic(fmt.Sprintf("type mismatch: got %T, want %v", p, mi.GoType))
-	}
-	return &messageDataType{pointerOfIface(p), mi}
-}
-
-// messageDataType is a tuple of a pointer to the message data and
-// a pointer to the message type.
-//
-// TODO: Unfortunately, we need to close over a pointer and MessageInfo,
-// which incurs an an allocation. This pair is similar to a Go interface,
-// which is essentially a tuple of the same thing. We can make this efficient
-// with reflect.NamedOf (see https://golang.org/issues/16522).
-//
-// With that hypothetical API, we could dynamically create a new named type
-// that has the same underlying type as MessageInfo.GoType, and
-// dynamically create methods that close over MessageInfo.
-// Since the new type would have the same underlying type, we could directly
-// convert between pointers of those types, giving us an efficient way to swap
-// out the method set.
-//
-// Barring the ability to dynamically create named types, the workaround is
-//	1. either to accept the cost of an allocation for this wrapper struct or
-//	2. generate more types and methods, at the expense of binary size increase.
-type messageDataType struct {
-	p  pointer
-	mi *MessageInfo
-}
-
-type messageReflectWrapper messageDataType
-
-func (m *messageReflectWrapper) Descriptor() pref.MessageDescriptor {
-	return m.mi.PBType.Descriptor()
-}
-func (m *messageReflectWrapper) New() pref.Message {
-	return m.mi.PBType.New()
-}
-func (m *messageReflectWrapper) Interface() pref.ProtoMessage {
-	if m, ok := m.ProtoUnwrap().(pref.ProtoMessage); ok {
-		return m
-	}
-	return (*messageIfaceWrapper)(m)
-}
-func (m *messageReflectWrapper) ProtoUnwrap() interface{} {
-	return m.p.AsIfaceOf(m.mi.GoType.Elem())
-}
-
-func (m *messageReflectWrapper) Range(f func(pref.FieldDescriptor, pref.Value) bool) {
-	m.mi.init()
-	for _, fi := range m.mi.fields {
-		if fi.has(m.p) {
-			if !f(fi.fieldDesc, fi.get(m.p)) {
-				return
-			}
-		}
-	}
-	m.mi.extensionMap(m.p).Range(f)
-}
-func (m *messageReflectWrapper) Has(fd pref.FieldDescriptor) bool {
-	if fi, xt := m.checkField(fd); fi != nil {
-		return fi.has(m.p)
-	} else {
-		return m.mi.extensionMap(m.p).Has(xt)
-	}
-}
-func (m *messageReflectWrapper) Clear(fd pref.FieldDescriptor) {
-	if fi, xt := m.checkField(fd); fi != nil {
-		fi.clear(m.p)
-	} else {
-		m.mi.extensionMap(m.p).Clear(xt)
-	}
-}
-func (m *messageReflectWrapper) Get(fd pref.FieldDescriptor) pref.Value {
-	if fi, xt := m.checkField(fd); fi != nil {
-		return fi.get(m.p)
-	} else {
-		return m.mi.extensionMap(m.p).Get(xt)
-	}
-}
-func (m *messageReflectWrapper) Set(fd pref.FieldDescriptor, v pref.Value) {
-	if fi, xt := m.checkField(fd); fi != nil {
-		fi.set(m.p, v)
-	} else {
-		m.mi.extensionMap(m.p).Set(xt, v)
-	}
-}
-func (m *messageReflectWrapper) Mutable(fd pref.FieldDescriptor) pref.Value {
-	if fi, xt := m.checkField(fd); fi != nil {
-		return fi.mutable(m.p)
-	} else {
-		return m.mi.extensionMap(m.p).Mutable(xt)
-	}
-}
-func (m *messageReflectWrapper) NewMessage(fd pref.FieldDescriptor) pref.Message {
-	if fi, xt := m.checkField(fd); fi != nil {
-		return fi.newMessage()
-	} else {
-		return xt.New().Message()
-	}
-}
-func (m *messageReflectWrapper) WhichOneof(od pref.OneofDescriptor) pref.FieldDescriptor {
-	m.mi.init()
-	if oi := m.mi.oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
-		return od.Fields().ByNumber(oi.which(m.p))
-	}
-	panic("invalid oneof descriptor")
-}
-func (m *messageReflectWrapper) GetUnknown() pref.RawFields {
-	m.mi.init()
-	return m.mi.getUnknown(m.p)
-}
-func (m *messageReflectWrapper) SetUnknown(b pref.RawFields) {
-	m.mi.init()
-	m.mi.setUnknown(m.p, b)
-}
-
-// checkField verifies that the provided field descriptor is valid.
-// Exactly one of the returned values is populated.
-func (m *messageReflectWrapper) checkField(fd pref.FieldDescriptor) (*fieldInfo, pref.ExtensionType) {
-	m.mi.init()
-	if fi := m.mi.fields[fd.Number()]; fi != nil {
-		if fi.fieldDesc != fd {
-			panic("mismatching field descriptor")
-		}
-		return fi, nil
-	}
-	if fd.IsExtension() {
-		if fd.ContainingMessage().FullName() != m.mi.PBType.FullName() {
-			// TODO: Should this be exact containing message descriptor match?
-			panic("mismatching containing message")
-		}
-		if !m.mi.PBType.ExtensionRanges().Has(fd.Number()) {
-			panic("invalid extension field")
-		}
-		return nil, fd.(pref.ExtensionType)
-	}
-	panic("invalid field descriptor")
-}
-
-type extensionMap map[int32]ExtensionField
-
-func (m *extensionMap) Range(f func(pref.FieldDescriptor, pref.Value) bool) {
-	if m != nil {
-		for _, x := range *m {
-			xt := x.GetType()
-			if !f(xt, xt.ValueOf(x.GetValue())) {
-				return
-			}
-		}
-	}
-}
-func (m *extensionMap) Has(xt pref.ExtensionType) (ok bool) {
-	if m != nil {
-		_, ok = (*m)[int32(xt.Number())]
-	}
-	return ok
-}
-func (m *extensionMap) Clear(xt pref.ExtensionType) {
-	delete(*m, int32(xt.Number()))
-}
-func (m *extensionMap) Get(xt pref.ExtensionType) pref.Value {
-	if m != nil {
-		if x, ok := (*m)[int32(xt.Number())]; ok {
-			return xt.ValueOf(x.GetValue())
-		}
-	}
-	if !isComposite(xt) {
-		return defaultValueOf(xt)
-	}
-	return frozenValueOf(xt.New())
-}
-func (m *extensionMap) Set(xt pref.ExtensionType, v pref.Value) {
-	if *m == nil {
-		*m = make(map[int32]ExtensionField)
-	}
-	var x ExtensionField
-	x.SetType(xt)
-	x.SetEagerValue(xt.InterfaceOf(v))
-	(*m)[int32(xt.Number())] = x
-}
-func (m *extensionMap) Mutable(xt pref.ExtensionType) pref.Value {
-	if !isComposite(xt) {
-		panic("invalid Mutable on field with non-composite type")
-	}
-	if x, ok := (*m)[int32(xt.Number())]; ok {
-		return xt.ValueOf(x.GetValue())
-	}
-	v := xt.New()
-	m.Set(xt, v)
-	return v
-}
-
-func isComposite(fd pref.FieldDescriptor) bool {
-	return fd.Kind() == pref.MessageKind || fd.Kind() == pref.GroupKind || fd.IsList() || fd.IsMap()
-}
-
-var _ pvalue.Unwrapper = (*messageReflectWrapper)(nil)
-
-type messageIfaceWrapper messageDataType
-
-func (m *messageIfaceWrapper) ProtoReflect() pref.Message {
-	return (*messageReflectWrapper)(m)
-}
-func (m *messageIfaceWrapper) XXX_Methods() *piface.Methods {
-	// TODO: Consider not recreating this on every call.
-	m.mi.init()
-	return &piface.Methods{
-		Flags:         piface.MethodFlagDeterministicMarshal,
-		MarshalAppend: m.marshalAppend,
-		Unmarshal:     m.unmarshal,
-		Size:          m.size,
-		IsInitialized: m.isInitialized,
-	}
-}
-func (m *messageIfaceWrapper) ProtoUnwrap() interface{} {
-	return m.p.AsIfaceOf(m.mi.GoType.Elem())
-}
-func (m *messageIfaceWrapper) marshalAppend(b []byte, _ pref.ProtoMessage, opts piface.MarshalOptions) ([]byte, error) {
-	return m.mi.marshalAppendPointer(b, m.p, newMarshalOptions(opts))
-}
-func (m *messageIfaceWrapper) unmarshal(b []byte, _ pref.ProtoMessage, opts piface.UnmarshalOptions) error {
-	_, err := m.mi.unmarshalPointer(b, m.p, 0, newUnmarshalOptions(opts))
-	return err
-}
-func (m *messageIfaceWrapper) size(msg pref.ProtoMessage) (size int) {
-	return m.mi.sizePointer(m.p, 0)
-}
-func (m *messageIfaceWrapper) isInitialized(_ pref.ProtoMessage) error {
-	return m.mi.isInitializedPointer(m.p)
-}
diff --git a/internal/impl/message_reflect.go b/internal/impl/message_reflect.go
new file mode 100644
index 0000000..a9eb7a9
--- /dev/null
+++ b/internal/impl/message_reflect.go
@@ -0,0 +1,220 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package impl
+
+import (
+	"fmt"
+	"reflect"
+
+	"google.golang.org/protobuf/internal/pragma"
+	pvalue "google.golang.org/protobuf/internal/value"
+	pref "google.golang.org/protobuf/reflect/protoreflect"
+	piface "google.golang.org/protobuf/runtime/protoiface"
+)
+
+// MessageState is a data structure that is nested as the first field in a
+// concrete message. It provides a way to implement the ProtoReflect method
+// in an allocation-free way without needing to have a shadow Go type generated
+// for every message type. This technique only works using unsafe.
+//
+//
+// Example generated code:
+//
+//	type M struct {
+//		state protoimpl.MessageState
+//
+//		Field1 int32
+//		Field2 string
+//		Field3 *BarMessage
+//		...
+//	}
+//
+//	func (m *M) ProtoReflect() protoreflect.Message {
+//		mi := &file_fizz_buzz_proto_msgInfos[5]
+//		if protoimpl.UnsafeEnabled && m != nil {
+//			ms := protoimpl.X.MessageStateOf(Pointer(m))
+//			if ms.LoadMessageInfo() == nil {
+//				ms.StoreMessageInfo(mi)
+//			}
+//			return ms
+//		}
+//		return mi.MessageOf(m)
+//	}
+//
+// The MessageState type holds a *MessageInfo, which must be atomically set to
+// the message info associated with a given message instance.
+// By unsafely converting a *M into a *MessageState, the MessageState object
+// has access to all the information needed to implement protobuf reflection.
+// It has access to the message info as its first field, and a pointer to the
+// MessageState is identical to a pointer to the concrete message value.
+//
+//
+// Requirements:
+//	• The type M must implement protoreflect.ProtoMessage.
+//	• The address of m must not be nil.
+//	• The address of m and the address of m.state must be equal,
+//	even though they are different Go types.
+type MessageState struct {
+	pragma.NoUnkeyedLiterals
+	pragma.DoNotCompare
+	pragma.DoNotCopy
+
+	mi *MessageInfo
+}
+
+type messageState MessageState
+
+var (
+	_ pref.Message     = (*messageState)(nil)
+	_ pvalue.Unwrapper = (*messageState)(nil)
+)
+
+// messageDataType is a tuple of a pointer to the message data and
+// a pointer to the message type. It is a generalized way of providing a
+// reflective view over a message instance. The disadvantage of this approach
+// is the need to allocate this tuple of 16B.
+type messageDataType struct {
+	p  pointer
+	mi *MessageInfo
+}
+
+type (
+	messageIfaceWrapper   messageDataType
+	messageReflectWrapper messageDataType
+)
+
+var (
+	_ pref.Message      = (*messageReflectWrapper)(nil)
+	_ pvalue.Unwrapper  = (*messageReflectWrapper)(nil)
+	_ pref.ProtoMessage = (*messageIfaceWrapper)(nil)
+	_ pvalue.Unwrapper  = (*messageIfaceWrapper)(nil)
+)
+
+// MessageOf returns a reflective view over a message. The input must be a
+// pointer to a named Go struct. If the provided type has a ProtoReflect method,
+// it must be implemented by calling this method.
+func (mi *MessageInfo) MessageOf(m interface{}) pref.Message {
+	// TODO: Switch the input to be an opaque Pointer.
+	if reflect.TypeOf(m) != mi.GoType {
+		panic(fmt.Sprintf("type mismatch: got %T, want %v", m, mi.GoType))
+	}
+	p := pointerOfIface(m)
+	if p.IsNil() {
+		return mi.nilMessage.Init(mi)
+	}
+	return &messageReflectWrapper{p, mi}
+}
+
+func (m *messageReflectWrapper) pointer() pointer { return m.p }
+
+func (m *messageIfaceWrapper) ProtoReflect() pref.Message {
+	return (*messageReflectWrapper)(m)
+}
+func (m *messageIfaceWrapper) XXX_Methods() *piface.Methods {
+	// TODO: Consider not recreating this on every call.
+	m.mi.init()
+	return &piface.Methods{
+		Flags:         piface.MethodFlagDeterministicMarshal,
+		MarshalAppend: m.marshalAppend,
+		Unmarshal:     m.unmarshal,
+		Size:          m.size,
+		IsInitialized: m.isInitialized,
+	}
+}
+func (m *messageIfaceWrapper) ProtoUnwrap() interface{} {
+	return m.p.AsIfaceOf(m.mi.GoType.Elem())
+}
+func (m *messageIfaceWrapper) marshalAppend(b []byte, _ pref.ProtoMessage, opts piface.MarshalOptions) ([]byte, error) {
+	return m.mi.marshalAppendPointer(b, m.p, newMarshalOptions(opts))
+}
+func (m *messageIfaceWrapper) unmarshal(b []byte, _ pref.ProtoMessage, opts piface.UnmarshalOptions) error {
+	_, err := m.mi.unmarshalPointer(b, m.p, 0, newUnmarshalOptions(opts))
+	return err
+}
+func (m *messageIfaceWrapper) size(msg pref.ProtoMessage) (size int) {
+	return m.mi.sizePointer(m.p, 0)
+}
+func (m *messageIfaceWrapper) isInitialized(_ pref.ProtoMessage) error {
+	return m.mi.isInitializedPointer(m.p)
+}
+
+type extensionMap map[int32]ExtensionField
+
+func (m *extensionMap) Range(f func(pref.FieldDescriptor, pref.Value) bool) {
+	if m != nil {
+		for _, x := range *m {
+			xt := x.GetType()
+			if !f(xt, xt.ValueOf(x.GetValue())) {
+				return
+			}
+		}
+	}
+}
+func (m *extensionMap) Has(xt pref.ExtensionType) (ok bool) {
+	if m != nil {
+		_, ok = (*m)[int32(xt.Number())]
+	}
+	return ok
+}
+func (m *extensionMap) Clear(xt pref.ExtensionType) {
+	delete(*m, int32(xt.Number()))
+}
+func (m *extensionMap) Get(xt pref.ExtensionType) pref.Value {
+	if m != nil {
+		if x, ok := (*m)[int32(xt.Number())]; ok {
+			return xt.ValueOf(x.GetValue())
+		}
+	}
+	if !isComposite(xt) {
+		return defaultValueOf(xt)
+	}
+	return frozenValueOf(xt.New())
+}
+func (m *extensionMap) Set(xt pref.ExtensionType, v pref.Value) {
+	if *m == nil {
+		*m = make(map[int32]ExtensionField)
+	}
+	var x ExtensionField
+	x.SetType(xt)
+	x.SetEagerValue(xt.InterfaceOf(v))
+	(*m)[int32(xt.Number())] = x
+}
+func (m *extensionMap) Mutable(xt pref.ExtensionType) pref.Value {
+	if !isComposite(xt) {
+		panic("invalid Mutable on field with non-composite type")
+	}
+	if x, ok := (*m)[int32(xt.Number())]; ok {
+		return xt.ValueOf(x.GetValue())
+	}
+	v := xt.New()
+	m.Set(xt, v)
+	return v
+}
+
+func isComposite(fd pref.FieldDescriptor) bool {
+	return fd.Kind() == pref.MessageKind || fd.Kind() == pref.GroupKind || fd.IsList() || fd.IsMap()
+}
+
+// checkField verifies that the provided field descriptor is valid.
+// Exactly one of the returned values is populated.
+func (mi *MessageInfo) checkField(fd pref.FieldDescriptor) (*fieldInfo, pref.ExtensionType) {
+	if fi := mi.fields[fd.Number()]; fi != nil {
+		if fi.fieldDesc != fd {
+			panic("mismatching field descriptor")
+		}
+		return fi, nil
+	}
+	if fd.IsExtension() {
+		if fd.ContainingMessage().FullName() != mi.PBType.FullName() {
+			// TODO: Should this be exact containing message descriptor match?
+			panic("mismatching containing message")
+		}
+		if !mi.PBType.ExtensionRanges().Has(fd.Number()) {
+			panic("invalid extension field")
+		}
+		return nil, fd.(pref.ExtensionType)
+	}
+	panic("invalid field descriptor")
+}
diff --git a/internal/impl/message_reflect_gen.go b/internal/impl/message_reflect_gen.go
new file mode 100644
index 0000000..41ba0b9
--- /dev/null
+++ b/internal/impl/message_reflect_gen.go
@@ -0,0 +1,190 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style.
+// license that can be found in the LICENSE file.
+
+// Code generated by generate-types. DO NOT EDIT.
+
+package impl
+
+import (
+	"google.golang.org/protobuf/reflect/protoreflect"
+)
+
+func (m *messageState) Descriptor() protoreflect.MessageDescriptor {
+	return m.mi.PBType.Descriptor()
+}
+func (m *messageState) New() protoreflect.Message {
+	return m.mi.PBType.New()
+}
+func (m *messageState) Interface() protoreflect.ProtoMessage {
+	return m.ProtoUnwrap().(protoreflect.ProtoMessage)
+}
+func (m *messageState) ProtoUnwrap() interface{} {
+	return m.pointer().AsIfaceOf(m.mi.GoType.Elem())
+}
+
+func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
+	m.mi.init()
+	for _, fi := range m.mi.fields {
+		if fi.has(m.pointer()) {
+			if !f(fi.fieldDesc, fi.get(m.pointer())) {
+				return
+			}
+		}
+	}
+	m.mi.extensionMap(m.pointer()).Range(f)
+}
+func (m *messageState) Has(fd protoreflect.FieldDescriptor) bool {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.has(m.pointer())
+	} else {
+		return m.mi.extensionMap(m.pointer()).Has(xt)
+	}
+}
+func (m *messageState) Clear(fd protoreflect.FieldDescriptor) {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		fi.clear(m.pointer())
+	} else {
+		m.mi.extensionMap(m.pointer()).Clear(xt)
+	}
+}
+func (m *messageState) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.get(m.pointer())
+	} else {
+		return m.mi.extensionMap(m.pointer()).Get(xt)
+	}
+}
+func (m *messageState) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		fi.set(m.pointer(), v)
+	} else {
+		m.mi.extensionMap(m.pointer()).Set(xt, v)
+	}
+}
+func (m *messageState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.mutable(m.pointer())
+	} else {
+		return m.mi.extensionMap(m.pointer()).Mutable(xt)
+	}
+}
+func (m *messageState) NewMessage(fd protoreflect.FieldDescriptor) protoreflect.Message {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.newMessage()
+	} else {
+		return xt.New().Message()
+	}
+}
+func (m *messageState) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
+	m.mi.init()
+	if oi := m.mi.oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
+		return od.Fields().ByNumber(oi.which(m.pointer()))
+	}
+	panic("invalid oneof descriptor")
+}
+func (m *messageState) GetUnknown() protoreflect.RawFields {
+	m.mi.init()
+	return m.mi.getUnknown(m.pointer())
+}
+func (m *messageState) SetUnknown(b protoreflect.RawFields) {
+	m.mi.init()
+	m.mi.setUnknown(m.pointer(), b)
+}
+
+func (m *messageReflectWrapper) Descriptor() protoreflect.MessageDescriptor {
+	return m.mi.PBType.Descriptor()
+}
+func (m *messageReflectWrapper) New() protoreflect.Message {
+	return m.mi.PBType.New()
+}
+func (m *messageReflectWrapper) Interface() protoreflect.ProtoMessage {
+	if m, ok := m.ProtoUnwrap().(protoreflect.ProtoMessage); ok {
+		return m
+	}
+	return (*messageIfaceWrapper)(m)
+}
+func (m *messageReflectWrapper) ProtoUnwrap() interface{} {
+	return m.pointer().AsIfaceOf(m.mi.GoType.Elem())
+}
+
+func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
+	m.mi.init()
+	for _, fi := range m.mi.fields {
+		if fi.has(m.pointer()) {
+			if !f(fi.fieldDesc, fi.get(m.pointer())) {
+				return
+			}
+		}
+	}
+	m.mi.extensionMap(m.pointer()).Range(f)
+}
+func (m *messageReflectWrapper) Has(fd protoreflect.FieldDescriptor) bool {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.has(m.pointer())
+	} else {
+		return m.mi.extensionMap(m.pointer()).Has(xt)
+	}
+}
+func (m *messageReflectWrapper) Clear(fd protoreflect.FieldDescriptor) {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		fi.clear(m.pointer())
+	} else {
+		m.mi.extensionMap(m.pointer()).Clear(xt)
+	}
+}
+func (m *messageReflectWrapper) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.get(m.pointer())
+	} else {
+		return m.mi.extensionMap(m.pointer()).Get(xt)
+	}
+}
+func (m *messageReflectWrapper) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		fi.set(m.pointer(), v)
+	} else {
+		m.mi.extensionMap(m.pointer()).Set(xt, v)
+	}
+}
+func (m *messageReflectWrapper) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.mutable(m.pointer())
+	} else {
+		return m.mi.extensionMap(m.pointer()).Mutable(xt)
+	}
+}
+func (m *messageReflectWrapper) NewMessage(fd protoreflect.FieldDescriptor) protoreflect.Message {
+	m.mi.init()
+	if fi, xt := m.mi.checkField(fd); fi != nil {
+		return fi.newMessage()
+	} else {
+		return xt.New().Message()
+	}
+}
+func (m *messageReflectWrapper) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
+	m.mi.init()
+	if oi := m.mi.oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
+		return od.Fields().ByNumber(oi.which(m.pointer()))
+	}
+	panic("invalid oneof descriptor")
+}
+func (m *messageReflectWrapper) GetUnknown() protoreflect.RawFields {
+	m.mi.init()
+	return m.mi.getUnknown(m.pointer())
+}
+func (m *messageReflectWrapper) SetUnknown(b protoreflect.RawFields) {
+	m.mi.init()
+	m.mi.setUnknown(m.pointer(), b)
+}
diff --git a/internal/impl/message_test.go b/internal/impl/message_test.go
index af7196d..f2fd290 100644
--- a/internal/impl/message_test.go
+++ b/internal/impl/message_test.go
@@ -8,7 +8,9 @@
 	"fmt"
 	"math"
 	"reflect"
+	"runtime"
 	"strings"
+	"sync"
 	"testing"
 
 	cmp "github.com/google/go-cmp/cmp"
@@ -23,6 +25,7 @@
 	"google.golang.org/protobuf/reflect/prototype"
 
 	proto2_20180125 "google.golang.org/protobuf/internal/testprotos/legacy/proto2.v1.0.0-20180125-92554152"
+	testpb "google.golang.org/protobuf/internal/testprotos/test"
 	"google.golang.org/protobuf/types/descriptorpb"
 )
 
@@ -1435,3 +1438,71 @@
 	}
 	return strings.Join(ss, ".")
 }
+
+// The MessageState implementation makes the assumption that when a
+// concrete message is unsafe casted as a *MessageState, the Go GC does
+// not reclaim the memory for the remainder of the concrete message.
+func TestUnsafeAssumptions(t *testing.T) {
+	if !pimpl.UnsafeEnabled {
+		t.Skip()
+	}
+
+	var wg sync.WaitGroup
+	for i := 0; i < 10; i++ {
+		wg.Add(1)
+		go func() {
+			var ms [10]pref.Message
+
+			// Store the message only in its reflective form.
+			// Trigger the GC after each iteration.
+			for j := 0; j < 10; j++ {
+				ms[j] = (&testpb.TestAllTypes{
+					OptionalInt32: scalar.Int32(int32(j)),
+					OptionalFloat: scalar.Float32(float32(j)),
+					RepeatedInt32: []int32{int32(j)},
+					RepeatedFloat: []float32{float32(j)},
+					DefaultInt32:  scalar.Int32(int32(j)),
+					DefaultFloat:  scalar.Float32(float32(j)),
+				}).ProtoReflect()
+				runtime.GC()
+			}
+
+			// Convert the reflective form back into a concrete form.
+			// Verify that the values written previously are still the same.
+			for j := 0; j < 10; j++ {
+				switch m := ms[j].Interface().(*testpb.TestAllTypes); {
+				case m.GetOptionalInt32() != int32(j):
+				case m.GetOptionalFloat() != float32(j):
+				case m.GetRepeatedInt32()[0] != int32(j):
+				case m.GetRepeatedFloat()[0] != float32(j):
+				case m.GetDefaultInt32() != int32(j):
+				case m.GetDefaultFloat() != float32(j):
+				default:
+					continue
+				}
+				t.Error("memory corrupted detected")
+			}
+			defer wg.Done()
+		}()
+	}
+	wg.Wait()
+}
+
+func BenchmarkName(b *testing.B) {
+	var sink pref.FullName
+	b.Run("Value", func(b *testing.B) {
+		b.ReportAllocs()
+		m := new(descriptorpb.FileDescriptorProto)
+		for i := 0; i < b.N; i++ {
+			sink = m.ProtoReflect().Descriptor().FullName()
+		}
+	})
+	b.Run("Nil", func(b *testing.B) {
+		b.ReportAllocs()
+		m := (*descriptorpb.FileDescriptorProto)(nil)
+		for i := 0; i < b.N; i++ {
+			sink = m.ProtoReflect().Descriptor().FullName()
+		}
+	})
+	runtime.KeepAlive(sink)
+}
diff --git a/internal/impl/pointer_reflect.go b/internal/impl/pointer_reflect.go
index 0a9c53e..020af8e 100644
--- a/internal/impl/pointer_reflect.go
+++ b/internal/impl/pointer_reflect.go
@@ -9,10 +9,14 @@
 import (
 	"fmt"
 	"reflect"
+	"sync"
 )
 
 const UnsafeEnabled = false
 
+// Pointer is an opaque pointer type.
+type Pointer interface{}
+
 // offset represents the offset to a struct field, accessible from a pointer.
 // The offset is the field index into a struct.
 type offset struct {
@@ -46,6 +50,11 @@
 // pointer is an abstract representation of a pointer to a struct or field.
 type pointer struct{ v reflect.Value }
 
+// pointerOf returns p as a pointer.
+func pointerOf(p Pointer) pointer {
+	return pointerOfIface(p)
+}
+
 // pointerOfValue returns v as a pointer.
 func pointerOfValue(v reflect.Value) pointer {
 	return pointer{v: v}
@@ -146,3 +155,21 @@
 func (p pointer) SetPointer(v pointer) {
 	p.v.Elem().Set(v.v)
 }
+
+func (Export) MessageStateOf(p Pointer) *messageState     { panic("not supported") }
+func (ms *messageState) pointer() pointer                 { panic("not supported") }
+func (ms *messageState) LoadMessageInfo() *MessageInfo    { panic("not supported") }
+func (ms *messageState) StoreMessageInfo(mi *MessageInfo) { panic("not supported") }
+
+type atomicNilMessage struct {
+	once sync.Once
+	m    messageReflectWrapper
+}
+
+func (m *atomicNilMessage) Init(mi *MessageInfo) *messageReflectWrapper {
+	m.once.Do(func() {
+		m.m.p = pointerOfIface(reflect.Zero(mi.GoType).Interface())
+		m.m.mi = mi
+	})
+	return &m.m
+}
diff --git a/internal/impl/pointer_unsafe.go b/internal/impl/pointer_unsafe.go
index ceca3b2..ab0d6ee 100644
--- a/internal/impl/pointer_unsafe.go
+++ b/internal/impl/pointer_unsafe.go
@@ -8,11 +8,15 @@
 
 import (
 	"reflect"
+	"sync/atomic"
 	"unsafe"
 )
 
 const UnsafeEnabled = true
 
+// Pointer is an opaque pointer type.
+type Pointer unsafe.Pointer
+
 // offset represents the offset to a struct field, accessible from a pointer.
 // The offset is the byte offset to the field from the start of the struct.
 type offset uintptr
@@ -34,6 +38,11 @@
 // pointer is a pointer to a message struct or field.
 type pointer struct{ p unsafe.Pointer }
 
+// pointerOf returns p as a pointer.
+func pointerOf(p Pointer) pointer {
+	return pointer{p: unsafe.Pointer(p)}
+}
+
 // pointerOfValue returns v as a pointer.
 func pointerOfValue(v reflect.Value) pointer {
 	return pointer{p: unsafe.Pointer(v.Pointer())}
@@ -125,3 +134,30 @@
 func (p pointer) SetPointer(v pointer) {
 	*(*unsafe.Pointer)(p.p) = (unsafe.Pointer)(v.p)
 }
+
+// Static check that MessageState does not exceed the size of a pointer.
+const _ = uint(unsafe.Sizeof(unsafe.Pointer(nil)) - unsafe.Sizeof(MessageState{}))
+
+func (Export) MessageStateOf(p Pointer) *messageState {
+	// Super-tricky - see documentation on MessageState.
+	return (*messageState)(unsafe.Pointer(p))
+}
+func (ms *messageState) pointer() pointer {
+	// Super-tricky - see documentation on MessageState.
+	return pointer{p: unsafe.Pointer(ms)}
+}
+func (ms *messageState) LoadMessageInfo() *MessageInfo {
+	return (*MessageInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&ms.mi))))
+}
+func (ms *messageState) StoreMessageInfo(mi *MessageInfo) {
+	atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&ms.mi)), unsafe.Pointer(mi))
+}
+
+type atomicNilMessage struct{ m messageReflectWrapper }
+
+func (m *atomicNilMessage) Init(mi *MessageInfo) *messageReflectWrapper {
+	if (*messageReflectWrapper)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&m.m.mi)))) == nil {
+		atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&m.m.mi)), unsafe.Pointer(mi))
+	}
+	return &m.m
+}
diff --git a/internal/testprotos/benchmarks/benchmarks.pb.go b/internal/testprotos/benchmarks/benchmarks.pb.go
index 2545f7d..5479355 100644
--- a/internal/testprotos/benchmarks/benchmarks.pb.go
+++ b/internal/testprotos/benchmarks/benchmarks.pb.go
@@ -18,6 +18,7 @@
 )
 
 type BenchmarkDataset struct {
+	state protoimpl.MessageState
 	// Name of the benchmark dataset.  This should be unique across all datasets.
 	// Should only contain word characters: [a-zA-Z0-9_]
 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
@@ -58,10 +59,18 @@
 func (*BenchmarkDataset) ProtoMessage() {}
 
 func (x *BenchmarkDataset) ProtoReflect() protoreflect.Message {
-	return file_benchmarks_proto_msgTypes[0].MessageOf(x)
+	mi := &file_benchmarks_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *BenchmarkDataset) XXX_Methods() *protoiface.Methods {
+func (x *BenchmarkDataset) XXX_Methods() *protoiface.Methods {
 	return file_benchmarks_proto_msgTypes[0].Methods()
 }
 
@@ -143,9 +152,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_benchmarks_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*BenchmarkDataset); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.pb.go b/internal/testprotos/benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.pb.go
index ff3c7da..3ec1ece 100644
--- a/internal/testprotos/benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.pb.go
@@ -18,6 +18,7 @@
 )
 
 type GoogleMessage1 struct {
+	state         protoimpl.MessageState
 	Field1        *string                   `protobuf:"bytes,1,req,name=field1" json:"field1,omitempty"`
 	Field9        *string                   `protobuf:"bytes,9,opt,name=field9" json:"field9,omitempty"`
 	Field18       *string                   `protobuf:"bytes,18,opt,name=field18" json:"field18,omitempty"`
@@ -74,10 +75,18 @@
 func (*GoogleMessage1) ProtoMessage() {}
 
 func (x *GoogleMessage1) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message1_proto2_benchmark_message1_proto2_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message1_proto2_benchmark_message1_proto2_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GoogleMessage1) XXX_Methods() *protoiface.Methods {
+func (x *GoogleMessage1) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message1_proto2_benchmark_message1_proto2_proto_msgTypes[0].Methods()
 }
 
@@ -399,6 +408,7 @@
 }
 
 type GoogleMessage1SubMessage struct {
+	state         protoimpl.MessageState
 	Field1        *int32  `protobuf:"varint,1,opt,name=field1,def=0" json:"field1,omitempty"`
 	Field2        *int32  `protobuf:"varint,2,opt,name=field2,def=0" json:"field2,omitempty"`
 	Field3        *int32  `protobuf:"varint,3,opt,name=field3,def=0" json:"field3,omitempty"`
@@ -434,10 +444,18 @@
 func (*GoogleMessage1SubMessage) ProtoMessage() {}
 
 func (x *GoogleMessage1SubMessage) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message1_proto2_benchmark_message1_proto2_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message1_proto2_benchmark_message1_proto2_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GoogleMessage1SubMessage) XXX_Methods() *protoiface.Methods {
+func (x *GoogleMessage1SubMessage) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message1_proto2_benchmark_message1_proto2_proto_msgTypes[1].Methods()
 }
 
@@ -766,9 +784,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message1_proto2_benchmark_message1_proto2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GoogleMessage1); i {
-			case 41:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 42:
+				return &v.sizeCache
+			case 43:
 				return &v.unknownFields
 			default:
 				return nil
@@ -776,9 +796,11 @@
 		}
 		file_datasets_google_message1_proto2_benchmark_message1_proto2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GoogleMessage1SubMessage); i {
-			case 20:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 21:
+				return &v.sizeCache
+			case 22:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.pb.go b/internal/testprotos/benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.pb.go
index 8103da7..2ed4a83 100644
--- a/internal/testprotos/benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.pb.go
@@ -18,6 +18,7 @@
 )
 
 type GoogleMessage1 struct {
+	state         protoimpl.MessageState
 	Field1        string                    `protobuf:"bytes,1,opt,name=field1,proto3" json:"field1,omitempty"`
 	Field9        string                    `protobuf:"bytes,9,opt,name=field9,proto3" json:"field9,omitempty"`
 	Field18       string                    `protobuf:"bytes,18,opt,name=field18,proto3" json:"field18,omitempty"`
@@ -74,10 +75,18 @@
 func (*GoogleMessage1) ProtoMessage() {}
 
 func (x *GoogleMessage1) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message1_proto3_benchmark_message1_proto3_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message1_proto3_benchmark_message1_proto3_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GoogleMessage1) XXX_Methods() *protoiface.Methods {
+func (x *GoogleMessage1) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message1_proto3_benchmark_message1_proto3_proto_msgTypes[0].Methods()
 }
 
@@ -374,6 +383,7 @@
 }
 
 type GoogleMessage1SubMessage struct {
+	state         protoimpl.MessageState
 	Field1        int32  `protobuf:"varint,1,opt,name=field1,proto3" json:"field1,omitempty"`
 	Field2        int32  `protobuf:"varint,2,opt,name=field2,proto3" json:"field2,omitempty"`
 	Field3        int32  `protobuf:"varint,3,opt,name=field3,proto3" json:"field3,omitempty"`
@@ -409,10 +419,18 @@
 func (*GoogleMessage1SubMessage) ProtoMessage() {}
 
 func (x *GoogleMessage1SubMessage) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message1_proto3_benchmark_message1_proto3_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message1_proto3_benchmark_message1_proto3_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GoogleMessage1SubMessage) XXX_Methods() *protoiface.Methods {
+func (x *GoogleMessage1SubMessage) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message1_proto3_benchmark_message1_proto3_proto_msgTypes[1].Methods()
 }
 
@@ -721,9 +739,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message1_proto3_benchmark_message1_proto3_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GoogleMessage1); i {
-			case 41:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 42:
+				return &v.sizeCache
+			case 43:
 				return &v.unknownFields
 			default:
 				return nil
@@ -731,9 +751,11 @@
 		}
 		file_datasets_google_message1_proto3_benchmark_message1_proto3_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GoogleMessage1SubMessage); i {
-			case 20:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 21:
+				return &v.sizeCache
+			case 22:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message2/benchmark_message2.pb.go b/internal/testprotos/benchmarks/datasets/google_message2/benchmark_message2.pb.go
index dd875d6..5b048f1 100644
--- a/internal/testprotos/benchmarks/datasets/google_message2/benchmark_message2.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message2/benchmark_message2.pb.go
@@ -18,6 +18,7 @@
 )
 
 type GoogleMessage2 struct {
+	state         protoimpl.MessageState
 	Field1        *string                  `protobuf:"bytes,1,opt,name=field1" json:"field1,omitempty"`
 	Field3        *int64                   `protobuf:"varint,3,opt,name=field3" json:"field3,omitempty"`
 	Field4        *int64                   `protobuf:"varint,4,opt,name=field4" json:"field4,omitempty"`
@@ -63,10 +64,18 @@
 func (*GoogleMessage2) ProtoMessage() {}
 
 func (x *GoogleMessage2) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message2_benchmark_message2_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message2_benchmark_message2_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GoogleMessage2) XXX_Methods() *protoiface.Methods {
+func (x *GoogleMessage2) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message2_benchmark_message2_proto_msgTypes[0].Methods()
 }
 
@@ -302,6 +311,7 @@
 }
 
 type GoogleMessage2GroupedMessage struct {
+	state         protoimpl.MessageState
 	Field1        *float32 `protobuf:"fixed32,1,opt,name=field1" json:"field1,omitempty"`
 	Field2        *float32 `protobuf:"fixed32,2,opt,name=field2" json:"field2,omitempty"`
 	Field3        *float32 `protobuf:"fixed32,3,opt,name=field3,def=0" json:"field3,omitempty"`
@@ -328,10 +338,18 @@
 func (*GoogleMessage2GroupedMessage) ProtoMessage() {}
 
 func (x *GoogleMessage2GroupedMessage) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message2_benchmark_message2_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message2_benchmark_message2_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GoogleMessage2GroupedMessage) XXX_Methods() *protoiface.Methods {
+func (x *GoogleMessage2GroupedMessage) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message2_benchmark_message2_proto_msgTypes[1].Methods()
 }
 
@@ -422,6 +440,7 @@
 }
 
 type GoogleMessage2_Group1 struct {
+	state         protoimpl.MessageState
 	Field11       *float32                      `protobuf:"fixed32,11,req,name=field11" json:"field11,omitempty"`
 	Field26       *float32                      `protobuf:"fixed32,26,opt,name=field26" json:"field26,omitempty"`
 	Field12       *string                       `protobuf:"bytes,12,opt,name=field12" json:"field12,omitempty"`
@@ -453,10 +472,18 @@
 func (*GoogleMessage2_Group1) ProtoMessage() {}
 
 func (x *GoogleMessage2_Group1) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message2_benchmark_message2_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message2_benchmark_message2_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GoogleMessage2_Group1) XXX_Methods() *protoiface.Methods {
+func (x *GoogleMessage2_Group1) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message2_benchmark_message2_proto_msgTypes[2].Methods()
 }
 
@@ -741,9 +768,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message2_benchmark_message2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GoogleMessage2); i {
-			case 30:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 31:
+				return &v.sizeCache
+			case 32:
 				return &v.unknownFields
 			default:
 				return nil
@@ -751,9 +780,11 @@
 		}
 		file_datasets_google_message2_benchmark_message2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GoogleMessage2GroupedMessage); i {
-			case 11:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 12:
+				return &v.sizeCache
+			case 13:
 				return &v.unknownFields
 			default:
 				return nil
@@ -761,9 +792,11 @@
 		}
 		file_datasets_google_message2_benchmark_message2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GoogleMessage2_Group1); i {
-			case 16:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 17:
+				return &v.sizeCache
+			case 18:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3.pb.go b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3.pb.go
index 39433b3..0ea2e92 100644
--- a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3.pb.go
@@ -18,6 +18,7 @@
 )
 
 type GoogleMessage3 struct {
+	state         protoimpl.MessageState
 	Field37519    *Message37487       `protobuf:"bytes,2,opt,name=field37519" json:"field37519,omitempty"`
 	Field37520    *Message36876       `protobuf:"bytes,3,opt,name=field37520" json:"field37520,omitempty"`
 	Field37521    *Message13062       `protobuf:"bytes,4,opt,name=field37521" json:"field37521,omitempty"`
@@ -48,10 +49,18 @@
 func (*GoogleMessage3) ProtoMessage() {}
 
 func (x *GoogleMessage3) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GoogleMessage3) XXX_Methods() *protoiface.Methods {
+func (x *GoogleMessage3) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[0].Methods()
 }
 
@@ -166,6 +175,7 @@
 }
 
 type Message1327 struct {
+	state         protoimpl.MessageState
 	Field1369     []*UnusedEmptyMessage `protobuf:"bytes,1,rep,name=field1369" json:"field1369,omitempty"`
 	Field1370     []*Message1328        `protobuf:"bytes,3,rep,name=field1370" json:"field1370,omitempty"`
 	Field1371     []*UnusedEmptyMessage `protobuf:"bytes,5,rep,name=field1371" json:"field1371,omitempty"`
@@ -185,10 +195,18 @@
 func (*Message1327) ProtoMessage() {}
 
 func (x *Message1327) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message1327) XXX_Methods() *protoiface.Methods {
+func (x *Message1327) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[1].Methods()
 }
 
@@ -226,6 +244,7 @@
 }
 
 type Message3672 struct {
+	state         protoimpl.MessageState
 	Field3727     *Enum3476                  `protobuf:"varint,1,opt,name=field3727,enum=benchmarks.google_message3.Enum3476" json:"field3727,omitempty"`
 	Field3728     *int32                     `protobuf:"varint,11,opt,name=field3728" json:"field3728,omitempty"`
 	Field3729     *int32                     `protobuf:"varint,2,opt,name=field3729" json:"field3729,omitempty"`
@@ -251,10 +270,18 @@
 func (*Message3672) ProtoMessage() {}
 
 func (x *Message3672) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3672) XXX_Methods() *protoiface.Methods {
+func (x *Message3672) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[2].Methods()
 }
 
@@ -334,6 +361,7 @@
 }
 
 type Message3804 struct {
+	state         protoimpl.MessageState
 	Field3818     *int64     `protobuf:"varint,1,req,name=field3818" json:"field3818,omitempty"`
 	Field3819     *bool      `protobuf:"varint,2,req,name=field3819" json:"field3819,omitempty"`
 	Field3820     []Enum3805 `protobuf:"varint,4,rep,name=field3820,enum=benchmarks.google_message3.Enum3805" json:"field3820,omitempty"`
@@ -356,10 +384,18 @@
 func (*Message3804) ProtoMessage() {}
 
 func (x *Message3804) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3804) XXX_Methods() *protoiface.Methods {
+func (x *Message3804) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[3].Methods()
 }
 
@@ -418,6 +454,7 @@
 }
 
 type Message6849 struct {
+	state         protoimpl.MessageState
 	Field6910     []*Message6850 `protobuf:"bytes,1,rep,name=field6910" json:"field6910,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -434,10 +471,18 @@
 func (*Message6849) ProtoMessage() {}
 
 func (x *Message6849) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6849) XXX_Methods() *protoiface.Methods {
+func (x *Message6849) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[4].Methods()
 }
 
@@ -454,6 +499,7 @@
 }
 
 type Message6866 struct {
+	state         protoimpl.MessageState
 	Field6973     []*Message6863 `protobuf:"bytes,1,rep,name=field6973" json:"field6973,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -470,10 +516,18 @@
 func (*Message6866) ProtoMessage() {}
 
 func (x *Message6866) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6866) XXX_Methods() *protoiface.Methods {
+func (x *Message6866) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[5].Methods()
 }
 
@@ -490,6 +544,7 @@
 }
 
 type Message6870 struct {
+	state         protoimpl.MessageState
 	Field6991     []*Message6871 `protobuf:"bytes,1,rep,name=field6991" json:"field6991,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -506,10 +561,18 @@
 func (*Message6870) ProtoMessage() {}
 
 func (x *Message6870) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6870) XXX_Methods() *protoiface.Methods {
+func (x *Message6870) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[6].Methods()
 }
 
@@ -526,6 +589,7 @@
 }
 
 type Message7651 struct {
+	state         protoimpl.MessageState
 	Field7685     *string               `protobuf:"bytes,1,opt,name=field7685" json:"field7685,omitempty"`
 	Field7686     *int64                `protobuf:"varint,2,opt,name=field7686" json:"field7686,omitempty"`
 	Field7687     *int64                `protobuf:"varint,3,opt,name=field7687" json:"field7687,omitempty"`
@@ -586,10 +650,18 @@
 func (*Message7651) ProtoMessage() {}
 
 func (x *Message7651) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7651) XXX_Methods() *protoiface.Methods {
+func (x *Message7651) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[7].Methods()
 }
 
@@ -914,6 +986,7 @@
 }
 
 type Message7864 struct {
+	state         protoimpl.MessageState
 	Field7866     *string               `protobuf:"bytes,1,opt,name=field7866" json:"field7866,omitempty"`
 	Field7867     *string               `protobuf:"bytes,2,opt,name=field7867" json:"field7867,omitempty"`
 	Field7868     []*Message7865        `protobuf:"bytes,5,rep,name=field7868" json:"field7868,omitempty"`
@@ -935,10 +1008,18 @@
 func (*Message7864) ProtoMessage() {}
 
 func (x *Message7864) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7864) XXX_Methods() *protoiface.Methods {
+func (x *Message7864) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[8].Methods()
 }
 
@@ -990,6 +1071,7 @@
 }
 
 type Message7929 struct {
+	state         protoimpl.MessageState
 	Field7942     *int64                `protobuf:"varint,1,opt,name=field7942" json:"field7942,omitempty"`
 	Field7943     *int64                `protobuf:"varint,4,opt,name=field7943" json:"field7943,omitempty"`
 	Field7944     *int64                `protobuf:"varint,5,opt,name=field7944" json:"field7944,omitempty"`
@@ -1025,10 +1107,18 @@
 func (*Message7929) ProtoMessage() {}
 
 func (x *Message7929) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7929) XXX_Methods() *protoiface.Methods {
+func (x *Message7929) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[9].Methods()
 }
 
@@ -1178,6 +1268,7 @@
 }
 
 type Message8508 struct {
+	state         protoimpl.MessageState
 	Field8517     []*Message8511        `protobuf:"bytes,8,rep,name=field8517" json:"field8517,omitempty"`
 	Field8518     []*Message8512        `protobuf:"bytes,9,rep,name=field8518" json:"field8518,omitempty"`
 	Field8519     []*Message8513        `protobuf:"bytes,11,rep,name=field8519" json:"field8519,omitempty"`
@@ -1210,10 +1301,18 @@
 func (*Message8508) ProtoMessage() {}
 
 func (x *Message8508) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8508) XXX_Methods() *protoiface.Methods {
+func (x *Message8508) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[10].Methods()
 }
 
@@ -1342,6 +1441,7 @@
 }
 
 type Message9122 struct {
+	state         protoimpl.MessageState
 	Field9132     *float32 `protobuf:"fixed32,1,opt,name=field9132" json:"field9132,omitempty"`
 	Field9133     *float32 `protobuf:"fixed32,2,opt,name=field9133" json:"field9133,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1359,10 +1459,18 @@
 func (*Message9122) ProtoMessage() {}
 
 func (x *Message9122) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9122) XXX_Methods() *protoiface.Methods {
+func (x *Message9122) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[11].Methods()
 }
 
@@ -1386,6 +1494,7 @@
 }
 
 type Message10177 struct {
+	state         protoimpl.MessageState
 	Field10270    []*Message10155 `protobuf:"bytes,1,rep,name=field10270" json:"field10270,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1402,10 +1511,18 @@
 func (*Message10177) ProtoMessage() {}
 
 func (x *Message10177) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10177) XXX_Methods() *protoiface.Methods {
+func (x *Message10177) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[12].Methods()
 }
 
@@ -1422,6 +1539,7 @@
 }
 
 type Message10278 struct {
+	state         protoimpl.MessageState
 	Field10286    []int32 `protobuf:"varint,1,rep,packed,name=field10286" json:"field10286,omitempty"`
 	Field10287    []int32 `protobuf:"varint,2,rep,packed,name=field10287" json:"field10287,omitempty"`
 	Field10288    *int32  `protobuf:"varint,3,opt,name=field10288" json:"field10288,omitempty"`
@@ -1440,10 +1558,18 @@
 func (*Message10278) ProtoMessage() {}
 
 func (x *Message10278) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10278) XXX_Methods() *protoiface.Methods {
+func (x *Message10278) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[13].Methods()
 }
 
@@ -1474,6 +1600,7 @@
 }
 
 type Message10323 struct {
+	state         protoimpl.MessageState
 	Field10360    []*Message10320 `protobuf:"bytes,1,rep,name=field10360" json:"field10360,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1490,10 +1617,18 @@
 func (*Message10323) ProtoMessage() {}
 
 func (x *Message10323) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10323) XXX_Methods() *protoiface.Methods {
+func (x *Message10323) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[14].Methods()
 }
 
@@ -1510,6 +1645,7 @@
 }
 
 type Message10324 struct {
+	state         protoimpl.MessageState
 	Field10362    []*Message10322 `protobuf:"bytes,1,rep,name=field10362" json:"field10362,omitempty"`
 	Field10363    *Message10321   `protobuf:"bytes,2,opt,name=field10363" json:"field10363,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1527,10 +1663,18 @@
 func (*Message10324) ProtoMessage() {}
 
 func (x *Message10324) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10324) XXX_Methods() *protoiface.Methods {
+func (x *Message10324) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[15].Methods()
 }
 
@@ -1554,6 +1698,7 @@
 }
 
 type Message11990 struct {
+	state         protoimpl.MessageState
 	Field12030    []*Message11988 `protobuf:"bytes,1,rep,name=field12030" json:"field12030,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1570,10 +1715,18 @@
 func (*Message11990) ProtoMessage() {}
 
 func (x *Message11990) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11990) XXX_Methods() *protoiface.Methods {
+func (x *Message11990) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[16].Methods()
 }
 
@@ -1590,6 +1743,7 @@
 }
 
 type Message12691 struct {
+	state         protoimpl.MessageState
 	Field12713    *string       `protobuf:"bytes,1,opt,name=field12713" json:"field12713,omitempty"`
 	Field12714    *int32        `protobuf:"varint,2,opt,name=field12714" json:"field12714,omitempty"`
 	Field12715    *Message12668 `protobuf:"bytes,3,opt,name=field12715" json:"field12715,omitempty"`
@@ -1608,10 +1762,18 @@
 func (*Message12691) ProtoMessage() {}
 
 func (x *Message12691) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12691) XXX_Methods() *protoiface.Methods {
+func (x *Message12691) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[17].Methods()
 }
 
@@ -1642,6 +1804,7 @@
 }
 
 type Message12870 struct {
+	state         protoimpl.MessageState
 	Field12879    *int32          `protobuf:"varint,1,req,name=field12879" json:"field12879,omitempty"`
 	Field12880    *int32          `protobuf:"varint,7,opt,name=field12880" json:"field12880,omitempty"`
 	Field12881    *int32          `protobuf:"varint,2,req,name=field12881" json:"field12881,omitempty"`
@@ -1677,10 +1840,18 @@
 func (*Message12870) ProtoMessage() {}
 
 func (x *Message12870) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12870) XXX_Methods() *protoiface.Methods {
+func (x *Message12870) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[18].Methods()
 }
 
@@ -1830,6 +2001,7 @@
 }
 
 type Message13154 struct {
+	state         protoimpl.MessageState
 	Field13164    *float32 `protobuf:"fixed32,1,req,name=field13164" json:"field13164,omitempty"`
 	Field13165    *float32 `protobuf:"fixed32,2,req,name=field13165" json:"field13165,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1847,10 +2019,18 @@
 func (*Message13154) ProtoMessage() {}
 
 func (x *Message13154) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13154) XXX_Methods() *protoiface.Methods {
+func (x *Message13154) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[19].Methods()
 }
 
@@ -1874,6 +2054,7 @@
 }
 
 type Message16507 struct {
+	state           protoimpl.MessageState
 	Field16510      *bool                 `protobuf:"varint,3,opt,name=field16510" json:"field16510,omitempty"`
 	Field16511      *bool                 `protobuf:"varint,4,opt,name=field16511" json:"field16511,omitempty"`
 	Field16512      *bool                 `protobuf:"varint,14,opt,name=field16512" json:"field16512,omitempty"`
@@ -1922,10 +2103,18 @@
 func (*Message16507) ProtoMessage() {}
 
 func (x *Message16507) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16507) XXX_Methods() *protoiface.Methods {
+func (x *Message16507) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[20].Methods()
 }
 
@@ -2168,6 +2357,7 @@
 }
 
 type Message16564 struct {
+	state         protoimpl.MessageState
 	Field16568    []*Message16552 `protobuf:"bytes,1,rep,name=field16568" json:"field16568,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2184,10 +2374,18 @@
 func (*Message16564) ProtoMessage() {}
 
 func (x *Message16564) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16564) XXX_Methods() *protoiface.Methods {
+func (x *Message16564) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[21].Methods()
 }
 
@@ -2204,6 +2402,7 @@
 }
 
 type Message16661 struct {
+	state         protoimpl.MessageState
 	Field16671    []*Message16660 `protobuf:"bytes,1,rep,name=field16671" json:"field16671,omitempty"`
 	Field16672    []uint64        `protobuf:"varint,2,rep,name=field16672" json:"field16672,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2221,10 +2420,18 @@
 func (*Message16661) ProtoMessage() {}
 
 func (x *Message16661) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16661) XXX_Methods() *protoiface.Methods {
+func (x *Message16661) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[22].Methods()
 }
 
@@ -2248,6 +2455,7 @@
 }
 
 type Message16746 struct {
+	state         protoimpl.MessageState
 	Field16806    []*Message16727 `protobuf:"bytes,1,rep,name=field16806" json:"field16806,omitempty"`
 	Field16807    *bool           `protobuf:"varint,2,opt,name=field16807" json:"field16807,omitempty"`
 	Field16808    *bool           `protobuf:"varint,3,opt,name=field16808" json:"field16808,omitempty"`
@@ -2267,10 +2475,18 @@
 func (*Message16746) ProtoMessage() {}
 
 func (x *Message16746) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16746) XXX_Methods() *protoiface.Methods {
+func (x *Message16746) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[23].Methods()
 }
 
@@ -2308,6 +2524,7 @@
 }
 
 type Message17786 struct {
+	state         protoimpl.MessageState
 	Message17787  []*Message17786_Message17787 `protobuf:"group,1,rep,name=Message17787,json=message17787" json:"message17787,omitempty"`
 	Field18175    []*Message17782              `protobuf:"bytes,20,rep,name=field18175" json:"field18175,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2325,10 +2542,18 @@
 func (*Message17786) ProtoMessage() {}
 
 func (x *Message17786) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message17786) XXX_Methods() *protoiface.Methods {
+func (x *Message17786) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[24].Methods()
 }
 
@@ -2352,6 +2577,7 @@
 }
 
 type Message22857 struct {
+	state         protoimpl.MessageState
 	Field22874    []*Message22853 `protobuf:"bytes,1,rep,name=field22874" json:"field22874,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2368,10 +2594,18 @@
 func (*Message22857) ProtoMessage() {}
 
 func (x *Message22857) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message22857) XXX_Methods() *protoiface.Methods {
+func (x *Message22857) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[25].Methods()
 }
 
@@ -2388,6 +2622,7 @@
 }
 
 type Message24404 struct {
+	state         protoimpl.MessageState
 	Message24405  []*Message24404_Message24405 `protobuf:"group,1,rep,name=Message24405,json=message24405" json:"message24405,omitempty"`
 	Field24684    *Message24403                `protobuf:"bytes,30,opt,name=field24684" json:"field24684,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2405,10 +2640,18 @@
 func (*Message24404) ProtoMessage() {}
 
 func (x *Message24404) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24404) XXX_Methods() *protoiface.Methods {
+func (x *Message24404) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[26].Methods()
 }
 
@@ -2432,6 +2675,7 @@
 }
 
 type Message27300 struct {
+	state         protoimpl.MessageState
 	Field27302    []*UnusedEmptyMessage `protobuf:"bytes,1,rep,name=field27302" json:"field27302,omitempty"`
 	Field27303    *string               `protobuf:"bytes,2,opt,name=field27303" json:"field27303,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2449,10 +2693,18 @@
 func (*Message27300) ProtoMessage() {}
 
 func (x *Message27300) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message27300) XXX_Methods() *protoiface.Methods {
+func (x *Message27300) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[27].Methods()
 }
 
@@ -2476,6 +2728,7 @@
 }
 
 type Message27453 struct {
+	state         protoimpl.MessageState
 	Field27459    *string             `protobuf:"bytes,15,opt,name=field27459" json:"field27459,omitempty"`
 	Field27460    []string            `protobuf:"bytes,1,rep,name=field27460" json:"field27460,omitempty"`
 	Field27461    []float32           `protobuf:"fixed32,6,rep,name=field27461" json:"field27461,omitempty"`
@@ -2514,10 +2767,18 @@
 func (*Message27453) ProtoMessage() {}
 
 func (x *Message27453) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message27453) XXX_Methods() *protoiface.Methods {
+func (x *Message27453) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[28].Methods()
 }
 
@@ -2688,6 +2949,7 @@
 }
 
 type Message3672_Message3673 struct {
+	state         protoimpl.MessageState
 	Field3738     *Enum3476 `protobuf:"varint,4,req,name=field3738,enum=benchmarks.google_message3.Enum3476" json:"field3738,omitempty"`
 	Field3739     *int32    `protobuf:"varint,5,req,name=field3739" json:"field3739,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2705,10 +2967,18 @@
 func (*Message3672_Message3673) ProtoMessage() {}
 
 func (x *Message3672_Message3673) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3672_Message3673) XXX_Methods() *protoiface.Methods {
+func (x *Message3672_Message3673) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[29].Methods()
 }
 
@@ -2732,6 +3002,7 @@
 }
 
 type Message3672_Message3674 struct {
+	state         protoimpl.MessageState
 	Field3740     *Enum3476 `protobuf:"varint,7,req,name=field3740,enum=benchmarks.google_message3.Enum3476" json:"field3740,omitempty"`
 	Field3741     *int32    `protobuf:"varint,8,req,name=field3741" json:"field3741,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2749,10 +3020,18 @@
 func (*Message3672_Message3674) ProtoMessage() {}
 
 func (x *Message3672_Message3674) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3672_Message3674) XXX_Methods() *protoiface.Methods {
+func (x *Message3672_Message3674) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[30].Methods()
 }
 
@@ -2776,6 +3055,7 @@
 }
 
 type Message17786_Message17787 struct {
+	state         protoimpl.MessageState
 	Field18177    *int32                `protobuf:"varint,2,req,name=field18177" json:"field18177,omitempty"`
 	Field18178    *int32                `protobuf:"varint,3,req,name=field18178" json:"field18178,omitempty"`
 	Field18179    *Message17783         `protobuf:"bytes,4,opt,name=field18179" json:"field18179,omitempty"`
@@ -2817,10 +3097,18 @@
 func (*Message17786_Message17787) ProtoMessage() {}
 
 func (x *Message17786_Message17787) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message17786_Message17787) XXX_Methods() *protoiface.Methods {
+func (x *Message17786_Message17787) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[31].Methods()
 }
 
@@ -3012,6 +3300,7 @@
 }
 
 type Message24404_Message24405 struct {
+	state         protoimpl.MessageState
 	Field24686    *int32              `protobuf:"varint,2,req,name=field24686" json:"field24686,omitempty"`
 	Field24687    *int32              `protobuf:"varint,3,req,name=field24687" json:"field24687,omitempty"`
 	Field24688    *Message24317       `protobuf:"bytes,4,opt,name=field24688" json:"field24688,omitempty"`
@@ -3058,10 +3347,18 @@
 func (*Message24404_Message24405) ProtoMessage() {}
 
 func (x *Message24404_Message24405) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24404_Message24405) XXX_Methods() *protoiface.Methods {
+func (x *Message24404_Message24405) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_proto_msgTypes[32].Methods()
 }
 
@@ -6007,9 +6304,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GoogleMessage3); i {
-			case 15:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 16:
+				return &v.sizeCache
+			case 17:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6017,9 +6316,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message1327); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6027,9 +6328,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3672); i {
-			case 10:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 11:
+				return &v.sizeCache
+			case 12:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6037,6 +6340,68 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3804); i {
+			case 0:
+				return &v.state
+			case 8:
+				return &v.sizeCache
+			case 9:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6849); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6866); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6870); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message7651); i {
+			case 0:
+				return &v.state
+			case 46:
+				return &v.sizeCache
+			case 47:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message7864); i {
+			case 0:
+				return &v.state
 			case 7:
 				return &v.sizeCache
 			case 8:
@@ -6045,61 +6410,13 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6849); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6866); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6870); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message7651); i {
-			case 45:
-				return &v.sizeCache
-			case 46:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message7864); i {
-			case 6:
-				return &v.sizeCache
-			case 7:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7929); i {
-			case 20:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 21:
+				return &v.sizeCache
+			case 22:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6107,9 +6424,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8508); i {
-			case 17:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 18:
+				return &v.sizeCache
+			case 19:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6117,9 +6436,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message9122); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6127,9 +6448,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10177); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6137,108 +6460,8 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10278); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message10323); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message10324); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message11990); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12691); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12870); i {
-			case 20:
-				return &v.sizeCache
-			case 21:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message13154); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16507); i {
-			case 32:
-				return &v.sizeCache
-			case 33:
-				return &v.unknownFields
-			case 34:
-				return &v.extensionFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16564); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16661); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16746); i {
+			case 0:
+				return &v.state
 			case 4:
 				return &v.sizeCache
 			case 5:
@@ -6247,8 +6470,10 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message17786); i {
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message10323); i {
+			case 0:
+				return &v.state
 			case 2:
 				return &v.sizeCache
 			case 3:
@@ -6257,11 +6482,135 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message10324); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message11990); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12691); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12870); i {
+			case 0:
+				return &v.state
+			case 21:
+				return &v.sizeCache
+			case 22:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message13154); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16507); i {
+			case 0:
+				return &v.state
+			case 33:
+				return &v.sizeCache
+			case 34:
+				return &v.unknownFields
+			case 35:
+				return &v.extensionFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16564); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16661); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16746); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message17786); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message22857); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6269,9 +6618,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24404); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6279,9 +6630,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message27300); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6289,9 +6642,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message27453); i {
-			case 23:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 24:
+				return &v.sizeCache
+			case 25:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6299,9 +6654,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3672_Message3673); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6309,9 +6666,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3672_Message3674); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6319,9 +6678,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message17786_Message17787); i {
-			case 26:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 27:
+				return &v.sizeCache
+			case 28:
 				return &v.unknownFields
 			default:
 				return nil
@@ -6329,9 +6690,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24404_Message24405); i {
-			case 31:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 32:
+				return &v.sizeCache
+			case 33:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_1.pb.go b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_1.pb.go
index b233fad..4446b50 100644
--- a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_1.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_1.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message34390 struct {
+	state         protoimpl.MessageState
 	Field34452    []*Message34387 `protobuf:"bytes,1,rep,name=field34452" json:"field34452,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -34,10 +35,18 @@
 func (*Message34390) ProtoMessage() {}
 
 func (x *Message34390) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message34390) XXX_Methods() *protoiface.Methods {
+func (x *Message34390) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[0].Methods()
 }
 
@@ -54,6 +63,7 @@
 }
 
 type Message34624 struct {
+	state         protoimpl.MessageState
 	Field34683    *Message34621 `protobuf:"bytes,1,opt,name=field34683" json:"field34683,omitempty"`
 	Field34684    *Message34621 `protobuf:"bytes,2,opt,name=field34684" json:"field34684,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -71,10 +81,18 @@
 func (*Message34624) ProtoMessage() {}
 
 func (x *Message34624) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message34624) XXX_Methods() *protoiface.Methods {
+func (x *Message34624) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[1].Methods()
 }
 
@@ -98,6 +116,7 @@
 }
 
 type Message34791 struct {
+	state         protoimpl.MessageState
 	Field34793    *uint64                      `protobuf:"fixed64,1,opt,name=field34793" json:"field34793,omitempty"`
 	Message34792  []*Message34791_Message34792 `protobuf:"group,2,rep,name=Message34792,json=message34792" json:"message34792,omitempty"`
 	Field34795    *int32                       `protobuf:"varint,5,opt,name=field34795" json:"field34795,omitempty"`
@@ -127,10 +146,18 @@
 func (*Message34791) ProtoMessage() {}
 
 func (x *Message34791) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message34791) XXX_Methods() *protoiface.Methods {
+func (x *Message34791) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[2].Methods()
 }
 
@@ -238,6 +265,7 @@
 }
 
 type Message35483 struct {
+	state         protoimpl.MessageState
 	Field35499    *int32              `protobuf:"varint,1,opt,name=field35499" json:"field35499,omitempty"`
 	Field35500    *string             `protobuf:"bytes,2,opt,name=field35500" json:"field35500,omitempty"`
 	Field35501    *string             `protobuf:"bytes,3,opt,name=field35501" json:"field35501,omitempty"`
@@ -259,10 +287,18 @@
 func (*Message35483) ProtoMessage() {}
 
 func (x *Message35483) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35483) XXX_Methods() *protoiface.Methods {
+func (x *Message35483) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[3].Methods()
 }
 
@@ -314,6 +350,7 @@
 }
 
 type Message35807 struct {
+	state         protoimpl.MessageState
 	Field35810    *int32 `protobuf:"varint,1,opt,name=field35810" json:"field35810,omitempty"`
 	Field35811    *int32 `protobuf:"varint,2,opt,name=field35811" json:"field35811,omitempty"`
 	Field35812    *int32 `protobuf:"varint,3,opt,name=field35812" json:"field35812,omitempty"`
@@ -337,10 +374,18 @@
 func (*Message35807) ProtoMessage() {}
 
 func (x *Message35807) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35807) XXX_Methods() *protoiface.Methods {
+func (x *Message35807) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[4].Methods()
 }
 
@@ -406,6 +451,7 @@
 }
 
 type Message37487 struct {
+	state         protoimpl.MessageState
 	Field37501    []byte `protobuf:"bytes,2,opt,name=field37501" json:"field37501,omitempty"`
 	Field37502    *bool  `protobuf:"varint,3,opt,name=field37502" json:"field37502,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -423,10 +469,18 @@
 func (*Message37487) ProtoMessage() {}
 
 func (x *Message37487) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message37487) XXX_Methods() *protoiface.Methods {
+func (x *Message37487) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[5].Methods()
 }
 
@@ -450,6 +504,7 @@
 }
 
 type Message13062 struct {
+	state         protoimpl.MessageState
 	Field13075    *int64  `protobuf:"varint,1,opt,name=field13075" json:"field13075,omitempty"`
 	Field13076    *string `protobuf:"bytes,2,opt,name=field13076" json:"field13076,omitempty"`
 	Field13077    *int32  `protobuf:"varint,3,opt,name=field13077" json:"field13077,omitempty"`
@@ -470,10 +525,18 @@
 func (*Message13062) ProtoMessage() {}
 
 func (x *Message13062) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13062) XXX_Methods() *protoiface.Methods {
+func (x *Message13062) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[6].Methods()
 }
 
@@ -518,6 +581,7 @@
 }
 
 type Message952 struct {
+	state         protoimpl.MessageState
 	Field963      []*Message949 `protobuf:"bytes,1,rep,name=field963" json:"field963,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -534,10 +598,18 @@
 func (*Message952) ProtoMessage() {}
 
 func (x *Message952) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message952) XXX_Methods() *protoiface.Methods {
+func (x *Message952) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[7].Methods()
 }
 
@@ -554,6 +626,7 @@
 }
 
 type Message36876 struct {
+	state         protoimpl.MessageState
 	Field36980    *Message2356                 `protobuf:"bytes,1,opt,name=field36980" json:"field36980,omitempty"`
 	Message36877  []*Message36876_Message36877 `protobuf:"group,111,rep,name=Message36877,json=message36877" json:"message36877,omitempty"`
 	Message36878  []*Message36876_Message36878 `protobuf:"group,168,rep,name=Message36878,json=message36878" json:"message36878,omitempty"`
@@ -632,10 +705,18 @@
 func (*Message36876) ProtoMessage() {}
 
 func (x *Message36876) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876) XXX_Methods() *protoiface.Methods {
+func (x *Message36876) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[8].Methods()
 }
 
@@ -1086,6 +1167,7 @@
 }
 
 type Message1328 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1101,10 +1183,18 @@
 func (*Message1328) ProtoMessage() {}
 
 func (x *Message1328) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message1328) XXX_Methods() *protoiface.Methods {
+func (x *Message1328) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[9].Methods()
 }
 
@@ -1114,6 +1204,7 @@
 }
 
 type Message6850 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1129,10 +1220,18 @@
 func (*Message6850) ProtoMessage() {}
 
 func (x *Message6850) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6850) XXX_Methods() *protoiface.Methods {
+func (x *Message6850) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[10].Methods()
 }
 
@@ -1142,6 +1241,7 @@
 }
 
 type Message6863 struct {
+	state         protoimpl.MessageState
 	Field6931     *Enum6858           `protobuf:"varint,1,opt,name=field6931,enum=benchmarks.google_message3.Enum6858" json:"field6931,omitempty"`
 	Field6932     *Enum6858           `protobuf:"varint,2,opt,name=field6932,enum=benchmarks.google_message3.Enum6858" json:"field6932,omitempty"`
 	Field6933     *UnusedEnum         `protobuf:"varint,36,opt,name=field6933,enum=benchmarks.google_message3.UnusedEnum" json:"field6933,omitempty"`
@@ -1190,10 +1290,18 @@
 func (*Message6863) ProtoMessage() {}
 
 func (x *Message6863) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6863) XXX_Methods() *protoiface.Methods {
+func (x *Message6863) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[11].Methods()
 }
 
@@ -1434,6 +1542,7 @@
 }
 
 type Message6871 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1449,10 +1558,18 @@
 func (*Message6871) ProtoMessage() {}
 
 func (x *Message6871) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6871) XXX_Methods() *protoiface.Methods {
+func (x *Message6871) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[12].Methods()
 }
 
@@ -1462,6 +1579,7 @@
 }
 
 type Message7547 struct {
+	state         protoimpl.MessageState
 	Field7549     []byte `protobuf:"bytes,1,req,name=field7549" json:"field7549,omitempty"`
 	Field7550     *int32 `protobuf:"varint,2,req,name=field7550" json:"field7550,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1479,10 +1597,18 @@
 func (*Message7547) ProtoMessage() {}
 
 func (x *Message7547) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7547) XXX_Methods() *protoiface.Methods {
+func (x *Message7547) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[13].Methods()
 }
 
@@ -1506,6 +1632,7 @@
 }
 
 type Message7648 struct {
+	state         protoimpl.MessageState
 	Field7669     *string  `protobuf:"bytes,1,opt,name=field7669" json:"field7669,omitempty"`
 	Field7670     *int32   `protobuf:"varint,2,opt,name=field7670" json:"field7670,omitempty"`
 	Field7671     *int32   `protobuf:"varint,3,opt,name=field7671" json:"field7671,omitempty"`
@@ -1533,10 +1660,18 @@
 func (*Message7648) ProtoMessage() {}
 
 func (x *Message7648) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7648) XXX_Methods() *protoiface.Methods {
+func (x *Message7648) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[14].Methods()
 }
 
@@ -1630,6 +1765,7 @@
 }
 
 type Message7865 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1645,10 +1781,18 @@
 func (*Message7865) ProtoMessage() {}
 
 func (x *Message7865) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7865) XXX_Methods() *protoiface.Methods {
+func (x *Message7865) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[15].Methods()
 }
 
@@ -1658,6 +1802,7 @@
 }
 
 type Message7928 struct {
+	state         protoimpl.MessageState
 	Field7940     *string `protobuf:"bytes,1,opt,name=field7940" json:"field7940,omitempty"`
 	Field7941     *int64  `protobuf:"varint,2,opt,name=field7941" json:"field7941,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1675,10 +1820,18 @@
 func (*Message7928) ProtoMessage() {}
 
 func (x *Message7928) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7928) XXX_Methods() *protoiface.Methods {
+func (x *Message7928) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[16].Methods()
 }
 
@@ -1702,6 +1855,7 @@
 }
 
 type Message7919 struct {
+	state         protoimpl.MessageState
 	Field7931     *uint64 `protobuf:"fixed64,1,opt,name=field7931" json:"field7931,omitempty"`
 	Field7932     *int64  `protobuf:"varint,2,opt,name=field7932" json:"field7932,omitempty"`
 	Field7933     []byte  `protobuf:"bytes,3,opt,name=field7933" json:"field7933,omitempty"`
@@ -1720,10 +1874,18 @@
 func (*Message7919) ProtoMessage() {}
 
 func (x *Message7919) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7919) XXX_Methods() *protoiface.Methods {
+func (x *Message7919) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[17].Methods()
 }
 
@@ -1754,6 +1916,7 @@
 }
 
 type Message7920 struct {
+	state         protoimpl.MessageState
 	Field7934     *int64 `protobuf:"varint,1,opt,name=field7934" json:"field7934,omitempty"`
 	Field7935     *int64 `protobuf:"varint,2,opt,name=field7935" json:"field7935,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1771,10 +1934,18 @@
 func (*Message7920) ProtoMessage() {}
 
 func (x *Message7920) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7920) XXX_Methods() *protoiface.Methods {
+func (x *Message7920) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[18].Methods()
 }
 
@@ -1798,6 +1969,7 @@
 }
 
 type Message7921 struct {
+	state         protoimpl.MessageState
 	Field7936     *int32      `protobuf:"varint,1,opt,name=field7936" json:"field7936,omitempty"`
 	Field7937     *int64      `protobuf:"varint,2,opt,name=field7937" json:"field7937,omitempty"`
 	Field7938     *float32    `protobuf:"fixed32,3,opt,name=field7938" json:"field7938,omitempty"`
@@ -1817,10 +1989,18 @@
 func (*Message7921) ProtoMessage() {}
 
 func (x *Message7921) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7921) XXX_Methods() *protoiface.Methods {
+func (x *Message7921) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[19].Methods()
 }
 
@@ -1858,6 +2038,7 @@
 }
 
 type Message8511 struct {
+	state         protoimpl.MessageState
 	Field8539     *Message8224 `protobuf:"bytes,1,opt,name=field8539" json:"field8539,omitempty"`
 	Field8540     *string      `protobuf:"bytes,2,opt,name=field8540" json:"field8540,omitempty"`
 	Field8541     *bool        `protobuf:"varint,3,opt,name=field8541" json:"field8541,omitempty"`
@@ -1878,10 +2059,18 @@
 func (*Message8511) ProtoMessage() {}
 
 func (x *Message8511) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8511) XXX_Methods() *protoiface.Methods {
+func (x *Message8511) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[20].Methods()
 }
 
@@ -1926,6 +2115,7 @@
 }
 
 type Message8512 struct {
+	state         protoimpl.MessageState
 	Field8544     *Message8301 `protobuf:"bytes,1,opt,name=field8544" json:"field8544,omitempty"`
 	Field8545     *Message8302 `protobuf:"bytes,2,opt,name=field8545" json:"field8545,omitempty"`
 	Field8546     *string      `protobuf:"bytes,3,opt,name=field8546" json:"field8546,omitempty"`
@@ -1947,10 +2137,18 @@
 func (*Message8512) ProtoMessage() {}
 
 func (x *Message8512) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8512) XXX_Methods() *protoiface.Methods {
+func (x *Message8512) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[21].Methods()
 }
 
@@ -2002,6 +2200,7 @@
 }
 
 type Message8513 struct {
+	state         protoimpl.MessageState
 	Field8550     []*Message8392 `protobuf:"bytes,1,rep,name=field8550" json:"field8550,omitempty"`
 	Field8551     *string        `protobuf:"bytes,2,opt,name=field8551" json:"field8551,omitempty"`
 	Field8552     *bool          `protobuf:"varint,3,opt,name=field8552" json:"field8552,omitempty"`
@@ -2021,10 +2220,18 @@
 func (*Message8513) ProtoMessage() {}
 
 func (x *Message8513) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8513) XXX_Methods() *protoiface.Methods {
+func (x *Message8513) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[22].Methods()
 }
 
@@ -2062,6 +2269,7 @@
 }
 
 type Message8514 struct {
+	state         protoimpl.MessageState
 	Field8554     *string        `protobuf:"bytes,1,opt,name=field8554" json:"field8554,omitempty"`
 	Field8555     *int64         `protobuf:"varint,2,opt,name=field8555" json:"field8555,omitempty"`
 	Field8556     *bool          `protobuf:"varint,3,opt,name=field8556" json:"field8556,omitempty"`
@@ -2082,10 +2290,18 @@
 func (*Message8514) ProtoMessage() {}
 
 func (x *Message8514) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8514) XXX_Methods() *protoiface.Methods {
+func (x *Message8514) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[23].Methods()
 }
 
@@ -2130,6 +2346,7 @@
 }
 
 type Message8515 struct {
+	state         protoimpl.MessageState
 	Field8559     *Message8479 `protobuf:"bytes,1,opt,name=field8559" json:"field8559,omitempty"`
 	Field8560     *Message8478 `protobuf:"bytes,2,opt,name=field8560" json:"field8560,omitempty"`
 	Field8561     *string      `protobuf:"bytes,3,opt,name=field8561" json:"field8561,omitempty"`
@@ -2148,10 +2365,18 @@
 func (*Message8515) ProtoMessage() {}
 
 func (x *Message8515) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8515) XXX_Methods() *protoiface.Methods {
+func (x *Message8515) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[24].Methods()
 }
 
@@ -2182,6 +2407,7 @@
 }
 
 type Message10320 struct {
+	state         protoimpl.MessageState
 	Field10347    *Enum10335      `protobuf:"varint,1,opt,name=field10347,enum=benchmarks.google_message3.Enum10335" json:"field10347,omitempty"`
 	Field10348    []*Message10319 `protobuf:"bytes,2,rep,name=field10348" json:"field10348,omitempty"`
 	Field10349    *int32          `protobuf:"varint,3,opt,name=field10349" json:"field10349,omitempty"`
@@ -2204,10 +2430,18 @@
 func (*Message10320) ProtoMessage() {}
 
 func (x *Message10320) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10320) XXX_Methods() *protoiface.Methods {
+func (x *Message10320) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[25].Methods()
 }
 
@@ -2266,6 +2500,7 @@
 }
 
 type Message10321 struct {
+	state         protoimpl.MessageState
 	Field10354    *int32  `protobuf:"varint,1,opt,name=field10354" json:"field10354,omitempty"`
 	Field10355    *int32  `protobuf:"varint,2,opt,name=field10355" json:"field10355,omitempty"`
 	Field10356    *uint64 `protobuf:"varint,3,opt,name=field10356" json:"field10356,omitempty"`
@@ -2284,10 +2519,18 @@
 func (*Message10321) ProtoMessage() {}
 
 func (x *Message10321) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10321) XXX_Methods() *protoiface.Methods {
+func (x *Message10321) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[26].Methods()
 }
 
@@ -2318,6 +2561,7 @@
 }
 
 type Message10322 struct {
+	state         protoimpl.MessageState
 	Field10357    *Message4016 `protobuf:"bytes,1,opt,name=field10357" json:"field10357,omitempty"`
 	Field10358    *bool        `protobuf:"varint,2,opt,name=field10358" json:"field10358,omitempty"`
 	Field10359    *bool        `protobuf:"varint,3,opt,name=field10359" json:"field10359,omitempty"`
@@ -2336,10 +2580,18 @@
 func (*Message10322) ProtoMessage() {}
 
 func (x *Message10322) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10322) XXX_Methods() *protoiface.Methods {
+func (x *Message10322) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[27].Methods()
 }
 
@@ -2370,6 +2622,7 @@
 }
 
 type Message11988 struct {
+	state         protoimpl.MessageState
 	Field12021    *string             `protobuf:"bytes,1,opt,name=field12021" json:"field12021,omitempty"`
 	Field12022    *string             `protobuf:"bytes,2,opt,name=field12022" json:"field12022,omitempty"`
 	Field12023    *UnusedEmptyMessage `protobuf:"bytes,3,opt,name=field12023" json:"field12023,omitempty"`
@@ -2389,10 +2642,18 @@
 func (*Message11988) ProtoMessage() {}
 
 func (x *Message11988) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11988) XXX_Methods() *protoiface.Methods {
+func (x *Message11988) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[28].Methods()
 }
 
@@ -2430,6 +2691,7 @@
 }
 
 type Message12668 struct {
+	state         protoimpl.MessageState
 	Field12677    []*Message12669 `protobuf:"bytes,1,rep,name=field12677" json:"field12677,omitempty"`
 	Field12678    *int32          `protobuf:"varint,2,opt,name=field12678" json:"field12678,omitempty"`
 	Field12679    *int32          `protobuf:"varint,3,opt,name=field12679" json:"field12679,omitempty"`
@@ -2449,10 +2711,18 @@
 func (*Message12668) ProtoMessage() {}
 
 func (x *Message12668) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12668) XXX_Methods() *protoiface.Methods {
+func (x *Message12668) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[29].Methods()
 }
 
@@ -2490,6 +2760,7 @@
 }
 
 type Message12825 struct {
+	state         protoimpl.MessageState
 	Field12862    []*Message12818       `protobuf:"bytes,1,rep,name=field12862" json:"field12862,omitempty"`
 	Field12863    *int32                `protobuf:"varint,2,opt,name=field12863" json:"field12863,omitempty"`
 	Field12864    *Message12819         `protobuf:"bytes,3,opt,name=field12864" json:"field12864,omitempty"`
@@ -2512,10 +2783,18 @@
 func (*Message12825) ProtoMessage() {}
 
 func (x *Message12825) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12825) XXX_Methods() *protoiface.Methods {
+func (x *Message12825) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[30].Methods()
 }
 
@@ -2574,6 +2853,7 @@
 }
 
 type Message16478 struct {
+	state         protoimpl.MessageState
 	Field16481    []*Message16479 `protobuf:"bytes,1,rep,name=field16481" json:"field16481,omitempty"`
 	Field16482    *bool           `protobuf:"varint,3,opt,name=field16482" json:"field16482,omitempty"`
 	Field16483    *int32          `protobuf:"varint,2,opt,name=field16483" json:"field16483,omitempty"`
@@ -2592,10 +2872,18 @@
 func (*Message16478) ProtoMessage() {}
 
 func (x *Message16478) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16478) XXX_Methods() *protoiface.Methods {
+func (x *Message16478) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[31].Methods()
 }
 
@@ -2626,6 +2914,7 @@
 }
 
 type Message16552 struct {
+	state         protoimpl.MessageState
 	Field16565    *uint64    `protobuf:"fixed64,1,opt,name=field16565" json:"field16565,omitempty"`
 	Field16566    *int32     `protobuf:"varint,2,opt,name=field16566" json:"field16566,omitempty"`
 	Field16567    *Enum16553 `protobuf:"varint,3,opt,name=field16567,enum=benchmarks.google_message3.Enum16553" json:"field16567,omitempty"`
@@ -2644,10 +2933,18 @@
 func (*Message16552) ProtoMessage() {}
 
 func (x *Message16552) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16552) XXX_Methods() *protoiface.Methods {
+func (x *Message16552) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[32].Methods()
 }
 
@@ -2678,6 +2975,7 @@
 }
 
 type Message16660 struct {
+	state         protoimpl.MessageState
 	Field16668    *string `protobuf:"bytes,1,opt,name=field16668" json:"field16668,omitempty"`
 	Field16669    *string `protobuf:"bytes,2,opt,name=field16669" json:"field16669,omitempty"`
 	Field16670    *int32  `protobuf:"varint,3,opt,name=field16670" json:"field16670,omitempty"`
@@ -2696,10 +2994,18 @@
 func (*Message16660) ProtoMessage() {}
 
 func (x *Message16660) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[33].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[33]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16660) XXX_Methods() *protoiface.Methods {
+func (x *Message16660) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[33].Methods()
 }
 
@@ -2730,6 +3036,7 @@
 }
 
 type Message16727 struct {
+	state           protoimpl.MessageState
 	Field16782      *Enum16728          `protobuf:"varint,1,req,name=field16782,enum=benchmarks.google_message3.Enum16728" json:"field16782,omitempty"`
 	Field16783      *string             `protobuf:"bytes,2,req,name=field16783" json:"field16783,omitempty"`
 	Field16784      *string             `protobuf:"bytes,3,opt,name=field16784" json:"field16784,omitempty"`
@@ -2770,10 +3077,18 @@
 func (*Message16727) ProtoMessage() {}
 
 func (x *Message16727) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[34].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[34]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16727) XXX_Methods() *protoiface.Methods {
+func (x *Message16727) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[34].Methods()
 }
 
@@ -2960,6 +3275,7 @@
 }
 
 type Message16725 struct {
+	state         protoimpl.MessageState
 	Field16774    *Enum16728 `protobuf:"varint,1,opt,name=field16774,enum=benchmarks.google_message3.Enum16728" json:"field16774,omitempty"`
 	Field16775    []string   `protobuf:"bytes,2,rep,name=field16775" json:"field16775,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2977,10 +3293,18 @@
 func (*Message16725) ProtoMessage() {}
 
 func (x *Message16725) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[35].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[35]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16725) XXX_Methods() *protoiface.Methods {
+func (x *Message16725) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[35].Methods()
 }
 
@@ -3004,6 +3328,7 @@
 }
 
 type Message17726 struct {
+	state         protoimpl.MessageState
 	Field17801    *string               `protobuf:"bytes,1,opt,name=field17801" json:"field17801,omitempty"`
 	Field17802    []string              `protobuf:"bytes,2,rep,name=field17802" json:"field17802,omitempty"`
 	Field17803    *string               `protobuf:"bytes,3,opt,name=field17803" json:"field17803,omitempty"`
@@ -3041,10 +3366,18 @@
 func (*Message17726) ProtoMessage() {}
 
 func (x *Message17726) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[36].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[36]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message17726) XXX_Methods() *protoiface.Methods {
+func (x *Message17726) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[36].Methods()
 }
 
@@ -3208,6 +3541,7 @@
 }
 
 type Message17782 struct {
+	state         protoimpl.MessageState
 	Field18153    *string `protobuf:"bytes,1,opt,name=field18153" json:"field18153,omitempty"`
 	Field18154    *string `protobuf:"bytes,2,opt,name=field18154" json:"field18154,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3225,10 +3559,18 @@
 func (*Message17782) ProtoMessage() {}
 
 func (x *Message17782) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[37].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[37]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message17782) XXX_Methods() *protoiface.Methods {
+func (x *Message17782) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[37].Methods()
 }
 
@@ -3252,6 +3594,7 @@
 }
 
 type Message17783 struct {
+	state         protoimpl.MessageState
 	Field18155    *string                      `protobuf:"bytes,1,opt,name=field18155" json:"field18155,omitempty"`
 	Field18156    *string                      `protobuf:"bytes,2,opt,name=field18156" json:"field18156,omitempty"`
 	Field18157    *string                      `protobuf:"bytes,3,opt,name=field18157" json:"field18157,omitempty"`
@@ -3273,10 +3616,18 @@
 func (*Message17783) ProtoMessage() {}
 
 func (x *Message17783) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[38].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[38]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message17783) XXX_Methods() *protoiface.Methods {
+func (x *Message17783) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[38].Methods()
 }
 
@@ -3328,6 +3679,7 @@
 }
 
 type Message16945 struct {
+	state           protoimpl.MessageState
 	Field16946      *string               `protobuf:"bytes,1,opt,name=field16946" json:"field16946,omitempty"`
 	Field16947      *string               `protobuf:"bytes,2,opt,name=field16947" json:"field16947,omitempty"`
 	Field16948      *string               `protobuf:"bytes,3,opt,name=field16948" json:"field16948,omitempty"`
@@ -3423,10 +3775,18 @@
 func (*Message16945) ProtoMessage() {}
 
 func (x *Message16945) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[39].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[39]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16945) XXX_Methods() *protoiface.Methods {
+func (x *Message16945) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[39].Methods()
 }
 
@@ -4694,6 +5054,7 @@
 }
 
 type Message34791_Message34792 struct {
+	state         protoimpl.MessageState
 	Field34808    *string `protobuf:"bytes,3,req,name=field34808" json:"field34808,omitempty"`
 	Field34809    *string `protobuf:"bytes,4,opt,name=field34809" json:"field34809,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -4711,10 +5072,18 @@
 func (*Message34791_Message34792) ProtoMessage() {}
 
 func (x *Message34791_Message34792) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[40].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[40]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message34791_Message34792) XXX_Methods() *protoiface.Methods {
+func (x *Message34791_Message34792) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[40].Methods()
 }
 
@@ -4738,6 +5107,7 @@
 }
 
 type Message36876_Message36877 struct {
+	state         protoimpl.MessageState
 	Field37044    *string `protobuf:"bytes,112,req,name=field37044" json:"field37044,omitempty"`
 	Field37045    *int32  `protobuf:"varint,113,opt,name=field37045" json:"field37045,omitempty"`
 	Field37046    []byte  `protobuf:"bytes,114,opt,name=field37046" json:"field37046,omitempty"`
@@ -4758,10 +5128,18 @@
 func (*Message36876_Message36877) ProtoMessage() {}
 
 func (x *Message36876_Message36877) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[41].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[41]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36877) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36877) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[41].Methods()
 }
 
@@ -4806,6 +5184,7 @@
 }
 
 type Message36876_Message36878 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -4821,10 +5200,18 @@
 func (*Message36876_Message36878) ProtoMessage() {}
 
 func (x *Message36876_Message36878) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[42].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[42]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36878) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36878) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[42].Methods()
 }
 
@@ -4834,6 +5221,7 @@
 }
 
 type Message36876_Message36879 struct {
+	state         protoimpl.MessageState
 	Field37050    *string `protobuf:"bytes,56,req,name=field37050" json:"field37050,omitempty"`
 	Field37051    *int32  `protobuf:"varint,69,opt,name=field37051" json:"field37051,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -4851,10 +5239,18 @@
 func (*Message36876_Message36879) ProtoMessage() {}
 
 func (x *Message36876_Message36879) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[43].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[43]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36879) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36879) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[43].Methods()
 }
 
@@ -4878,6 +5274,7 @@
 }
 
 type Message36876_Message36880 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -4893,10 +5290,18 @@
 func (*Message36876_Message36880) ProtoMessage() {}
 
 func (x *Message36876_Message36880) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[44].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[44]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36880) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36880) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[44].Methods()
 }
 
@@ -4906,6 +5311,7 @@
 }
 
 type Message36876_Message36881 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -4921,10 +5327,18 @@
 func (*Message36876_Message36881) ProtoMessage() {}
 
 func (x *Message36876_Message36881) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[45].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[45]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36881) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36881) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[45].Methods()
 }
 
@@ -4934,6 +5348,7 @@
 }
 
 type Message36876_Message36882 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -4949,10 +5364,18 @@
 func (*Message36876_Message36882) ProtoMessage() {}
 
 func (x *Message36876_Message36882) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[46].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[46]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36882) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36882) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[46].Methods()
 }
 
@@ -4962,6 +5385,7 @@
 }
 
 type Message36876_Message36883 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -4977,10 +5401,18 @@
 func (*Message36876_Message36883) ProtoMessage() {}
 
 func (x *Message36876_Message36883) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[47].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[47]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36883) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36883) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[47].Methods()
 }
 
@@ -4990,6 +5422,7 @@
 }
 
 type Message36876_Message36884 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -5005,10 +5438,18 @@
 func (*Message36876_Message36884) ProtoMessage() {}
 
 func (x *Message36876_Message36884) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[48].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[48]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36884) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36884) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[48].Methods()
 }
 
@@ -5018,6 +5459,7 @@
 }
 
 type Message36876_Message36885 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -5033,10 +5475,18 @@
 func (*Message36876_Message36885) ProtoMessage() {}
 
 func (x *Message36876_Message36885) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[49].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[49]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36885) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36885) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[49].Methods()
 }
 
@@ -5046,6 +5496,7 @@
 }
 
 type Message36876_Message36886 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -5061,10 +5512,18 @@
 func (*Message36876_Message36886) ProtoMessage() {}
 
 func (x *Message36876_Message36886) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[50].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[50]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36886) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36886) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[50].Methods()
 }
 
@@ -5074,6 +5533,7 @@
 }
 
 type Message36876_Message36887 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -5089,10 +5549,18 @@
 func (*Message36876_Message36887) ProtoMessage() {}
 
 func (x *Message36876_Message36887) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[51].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[51]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36887) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36887) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[51].Methods()
 }
 
@@ -5102,6 +5570,7 @@
 }
 
 type Message36876_Message36888 struct {
+	state         protoimpl.MessageState
 	Field37089    *uint64  `protobuf:"varint,75,opt,name=field37089" json:"field37089,omitempty"`
 	Field37090    *bool    `protobuf:"varint,76,opt,name=field37090" json:"field37090,omitempty"`
 	Field37091    *uint64  `protobuf:"varint,165,opt,name=field37091" json:"field37091,omitempty"`
@@ -5123,10 +5592,18 @@
 func (*Message36876_Message36888) ProtoMessage() {}
 
 func (x *Message36876_Message36888) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[52].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[52]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36888) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36888) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[52].Methods()
 }
 
@@ -5178,6 +5655,7 @@
 }
 
 type Message36876_Message36889 struct {
+	state         protoimpl.MessageState
 	Field37095    *int64              `protobuf:"varint,117,opt,name=field37095" json:"field37095,omitempty"`
 	Field37096    *string             `protobuf:"bytes,145,opt,name=field37096" json:"field37096,omitempty"`
 	Field37097    *int32              `protobuf:"varint,123,opt,name=field37097" json:"field37097,omitempty"`
@@ -5218,10 +5696,18 @@
 func (*Message36876_Message36889) ProtoMessage() {}
 
 func (x *Message36876_Message36889) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[53].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[53]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36889) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36889) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[53].Methods()
 }
 
@@ -5406,6 +5892,7 @@
 }
 
 type Message36876_Message36910 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -5421,10 +5908,18 @@
 func (*Message36876_Message36910) ProtoMessage() {}
 
 func (x *Message36876_Message36910) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[54].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[54]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36910) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36910) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[54].Methods()
 }
 
@@ -5434,6 +5929,7 @@
 }
 
 type Message36876_Message36911 struct {
+	state         protoimpl.MessageState
 	Field37121    *UnusedEmptyMessage `protobuf:"bytes,127,opt,name=field37121" json:"field37121,omitempty"`
 	Field37122    *Message35538       `protobuf:"bytes,130,opt,name=field37122" json:"field37122,omitempty"`
 	Field37123    *Message35540       `protobuf:"bytes,144,opt,name=field37123" json:"field37123,omitempty"`
@@ -5453,10 +5949,18 @@
 func (*Message36876_Message36911) ProtoMessage() {}
 
 func (x *Message36876_Message36911) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[55].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[55]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36911) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36911) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[55].Methods()
 }
 
@@ -5494,6 +5998,7 @@
 }
 
 type Message36876_Message36912 struct {
+	state         protoimpl.MessageState
 	Field37125    *Message3901 `protobuf:"bytes,153,opt,name=field37125" json:"field37125,omitempty"`
 	Field37126    *Message3901 `protobuf:"bytes,162,opt,name=field37126" json:"field37126,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -5511,10 +6016,18 @@
 func (*Message36876_Message36912) ProtoMessage() {}
 
 func (x *Message36876_Message36912) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[56].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[56]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36876_Message36912) XXX_Methods() *protoiface.Methods {
+func (x *Message36876_Message36912) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[56].Methods()
 }
 
@@ -5538,6 +6051,7 @@
 }
 
 type Message17783_Message17784 struct {
+	state         protoimpl.MessageState
 	Field18162    *string  `protobuf:"bytes,5,opt,name=field18162" json:"field18162,omitempty"`
 	Field18163    *string  `protobuf:"bytes,6,opt,name=field18163" json:"field18163,omitempty"`
 	Field18164    *string  `protobuf:"bytes,7,opt,name=field18164" json:"field18164,omitempty"`
@@ -5559,10 +6073,18 @@
 func (*Message17783_Message17784) ProtoMessage() {}
 
 func (x *Message17783_Message17784) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[57].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[57]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message17783_Message17784) XXX_Methods() *protoiface.Methods {
+func (x *Message17783_Message17784) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[57].Methods()
 }
 
@@ -5614,6 +6136,7 @@
 }
 
 type Message17783_Message17785 struct {
+	state         protoimpl.MessageState
 	Field18168    *string       `protobuf:"bytes,10,opt,name=field18168" json:"field18168,omitempty"`
 	Field18169    *string       `protobuf:"bytes,11,opt,name=field18169" json:"field18169,omitempty"`
 	Field18170    *Message17783 `protobuf:"bytes,12,opt,name=field18170" json:"field18170,omitempty"`
@@ -5635,10 +6158,18 @@
 func (*Message17783_Message17785) ProtoMessage() {}
 
 func (x *Message17783_Message17785) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[58].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[58]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message17783_Message17785) XXX_Methods() *protoiface.Methods {
+func (x *Message17783_Message17785) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[58].Methods()
 }
 
@@ -7816,16 +8347,8 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message34390); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message34624); i {
+			case 0:
+				return &v.state
 			case 2:
 				return &v.sizeCache
 			case 3:
@@ -7834,11 +8357,25 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message34624); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message34791); i {
-			case 14:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 15:
+				return &v.sizeCache
+			case 16:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7846,6 +8383,44 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35483); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message35807); i {
+			case 0:
+				return &v.state
+			case 9:
+				return &v.sizeCache
+			case 10:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message37487); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message13062); i {
+			case 0:
+				return &v.state
 			case 6:
 				return &v.sizeCache
 			case 7:
@@ -7854,18 +8429,10 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message35807); i {
-			case 8:
-				return &v.sizeCache
-			case 9:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message37487); i {
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message952); i {
+			case 0:
+				return &v.state
 			case 2:
 				return &v.sizeCache
 			case 3:
@@ -7874,31 +8441,13 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message13062); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message952); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876); i {
-			case 63:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 64:
+				return &v.sizeCache
+			case 65:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7907,8 +8456,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message1328); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7917,8 +8468,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6850); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7926,9 +8479,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6863); i {
-			case 33:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 34:
+				return &v.sizeCache
+			case 35:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7937,8 +8492,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6871); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7946,9 +8503,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7547); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7956,9 +8515,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7648); i {
-			case 12:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 13:
+				return &v.sizeCache
+			case 14:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7967,8 +8528,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7865); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7976,9 +8539,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7928); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7986,9 +8551,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7919); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -7996,9 +8563,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7920); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8006,9 +8575,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7921); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8016,9 +8587,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8511); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8026,9 +8599,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8512); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8036,9 +8611,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8513); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8046,9 +8623,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8514); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8056,9 +8635,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8515); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8066,9 +8647,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10320); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8076,9 +8659,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10321); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8086,6 +8671,106 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10322); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message11988); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12668); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12825); i {
+			case 0:
+				return &v.state
+			case 8:
+				return &v.sizeCache
+			case 9:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16478); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16552); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16660); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16727); i {
+			case 0:
+				return &v.state
+			case 25:
+				return &v.sizeCache
+			case 26:
+				return &v.unknownFields
+			case 27:
+				return &v.extensionFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16725); i {
+			case 0:
+				return &v.state
 			case 3:
 				return &v.sizeCache
 			case 4:
@@ -8094,28 +8779,34 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message11988); i {
-			case 4:
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message17726); i {
+			case 0:
+				return &v.state
+			case 23:
 				return &v.sizeCache
-			case 5:
+			case 24:
 				return &v.unknownFields
 			default:
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12668); i {
-			case 4:
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message17782); i {
+			case 0:
+				return &v.state
+			case 3:
 				return &v.sizeCache
-			case 5:
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12825); i {
+		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message17783); i {
+			case 0:
+				return &v.state
 			case 7:
 				return &v.sizeCache
 			case 8:
@@ -8124,95 +8815,15 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16478); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16552); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16660); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16727); i {
-			case 24:
-				return &v.sizeCache
-			case 25:
-				return &v.unknownFields
-			case 26:
-				return &v.extensionFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16725); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message17726); i {
-			case 22:
-				return &v.sizeCache
-			case 23:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message17782); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message17783); i {
-			case 6:
-				return &v.sizeCache
-			case 7:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message16945); i {
-			case 79:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 80:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 81:
+				return &v.unknownFields
+			case 82:
 				return &v.extensionFields
 			default:
 				return nil
@@ -8220,9 +8831,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message34791_Message34792); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8230,9 +8843,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36877); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8241,8 +8856,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36878); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8250,9 +8867,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36879); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8261,8 +8880,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36880); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8271,8 +8892,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36881); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8281,8 +8904,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36882); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8291,8 +8916,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36883); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8301,8 +8928,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36884); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8311,8 +8940,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36885); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8321,8 +8952,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36886); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8331,8 +8964,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36887); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8340,9 +8975,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36888); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8350,9 +8987,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36889); i {
-			case 25:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 26:
+				return &v.sizeCache
+			case 27:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8361,8 +9000,10 @@
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36910); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8370,9 +9011,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36911); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8380,9 +9023,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36876_Message36912); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8390,9 +9035,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message17783_Message17784); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -8400,9 +9047,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_1_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message17783_Message17785); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_2.pb.go b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_2.pb.go
index bafecc7..4fcda87 100644
--- a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_2.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_2.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message22853 struct {
+	state         protoimpl.MessageState
 	Field22869    *Enum22854          `protobuf:"varint,1,opt,name=field22869,enum=benchmarks.google_message3.Enum22854" json:"field22869,omitempty"`
 	Field22870    []uint32            `protobuf:"varint,2,rep,packed,name=field22870" json:"field22870,omitempty"`
 	Field22871    []float32           `protobuf:"fixed32,3,rep,packed,name=field22871" json:"field22871,omitempty"`
@@ -38,10 +39,18 @@
 func (*Message22853) ProtoMessage() {}
 
 func (x *Message22853) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message22853) XXX_Methods() *protoiface.Methods {
+func (x *Message22853) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[0].Methods()
 }
 
@@ -86,6 +95,7 @@
 }
 
 type Message24345 struct {
+	state         protoimpl.MessageState
 	Field24533    *string             `protobuf:"bytes,1,opt,name=field24533" json:"field24533,omitempty"`
 	Field24534    *UnusedEnum         `protobuf:"varint,22,opt,name=field24534,enum=benchmarks.google_message3.UnusedEnum" json:"field24534,omitempty"`
 	Field24535    *Message24346       `protobuf:"bytes,2,opt,name=field24535" json:"field24535,omitempty"`
@@ -126,10 +136,18 @@
 func (*Message24345) ProtoMessage() {}
 
 func (x *Message24345) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24345) XXX_Methods() *protoiface.Methods {
+func (x *Message24345) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[1].Methods()
 }
 
@@ -314,6 +332,7 @@
 }
 
 type Message24403 struct {
+	state         protoimpl.MessageState
 	Field24681    *Message24401 `protobuf:"bytes,1,opt,name=field24681" json:"field24681,omitempty"`
 	Field24682    *Message24402 `protobuf:"bytes,2,opt,name=field24682" json:"field24682,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -331,10 +350,18 @@
 func (*Message24403) ProtoMessage() {}
 
 func (x *Message24403) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24403) XXX_Methods() *protoiface.Methods {
+func (x *Message24403) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[2].Methods()
 }
 
@@ -358,6 +385,7 @@
 }
 
 type Message24391 struct {
+	state         protoimpl.MessageState
 	Field24631    *string               `protobuf:"bytes,1,opt,name=field24631" json:"field24631,omitempty"`
 	Field24632    *string               `protobuf:"bytes,2,opt,name=field24632" json:"field24632,omitempty"`
 	Field24633    []string              `protobuf:"bytes,3,rep,name=field24633" json:"field24633,omitempty"`
@@ -398,10 +426,18 @@
 func (*Message24391) ProtoMessage() {}
 
 func (x *Message24391) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24391) XXX_Methods() *protoiface.Methods {
+func (x *Message24391) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[3].Methods()
 }
 
@@ -586,6 +622,7 @@
 }
 
 type Message27454 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -601,10 +638,18 @@
 func (*Message27454) ProtoMessage() {}
 
 func (x *Message27454) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message27454) XXX_Methods() *protoiface.Methods {
+func (x *Message27454) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[4].Methods()
 }
 
@@ -614,6 +659,7 @@
 }
 
 type Message27357 struct {
+	state         protoimpl.MessageState
 	Field27410    *string  `protobuf:"bytes,1,opt,name=field27410" json:"field27410,omitempty"`
 	Field27411    *float32 `protobuf:"fixed32,2,opt,name=field27411" json:"field27411,omitempty"`
 	Field27412    *string  `protobuf:"bytes,3,opt,name=field27412" json:"field27412,omitempty"`
@@ -634,10 +680,18 @@
 func (*Message27357) ProtoMessage() {}
 
 func (x *Message27357) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message27357) XXX_Methods() *protoiface.Methods {
+func (x *Message27357) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[5].Methods()
 }
 
@@ -682,6 +736,7 @@
 }
 
 type Message27360 struct {
+	state         protoimpl.MessageState
 	Field27426    *Message27358         `protobuf:"bytes,1,opt,name=field27426" json:"field27426,omitempty"`
 	Field27427    *Enum27361            `protobuf:"varint,2,opt,name=field27427,enum=benchmarks.google_message3.Enum27361" json:"field27427,omitempty"`
 	Field27428    *Message27358         `protobuf:"bytes,3,opt,name=field27428" json:"field27428,omitempty"`
@@ -701,10 +756,18 @@
 func (*Message27360) ProtoMessage() {}
 
 func (x *Message27360) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message27360) XXX_Methods() *protoiface.Methods {
+func (x *Message27360) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[6].Methods()
 }
 
@@ -742,6 +805,7 @@
 }
 
 type Message34387 struct {
+	state         protoimpl.MessageState
 	Field34446    *string         `protobuf:"bytes,1,opt,name=field34446" json:"field34446,omitempty"`
 	Field34447    []*Message34381 `protobuf:"bytes,2,rep,name=field34447" json:"field34447,omitempty"`
 	Field34448    *UnusedEnum     `protobuf:"varint,3,opt,name=field34448,enum=benchmarks.google_message3.UnusedEnum" json:"field34448,omitempty"`
@@ -762,10 +826,18 @@
 func (*Message34387) ProtoMessage() {}
 
 func (x *Message34387) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message34387) XXX_Methods() *protoiface.Methods {
+func (x *Message34387) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[7].Methods()
 }
 
@@ -810,6 +882,7 @@
 }
 
 type Message34621 struct {
+	state         protoimpl.MessageState
 	Field34651    *float64              `protobuf:"fixed64,1,opt,name=field34651" json:"field34651,omitempty"`
 	Field34652    *float64              `protobuf:"fixed64,2,opt,name=field34652" json:"field34652,omitempty"`
 	Field34653    *float64              `protobuf:"fixed64,3,opt,name=field34653" json:"field34653,omitempty"`
@@ -843,10 +916,18 @@
 func (*Message34621) ProtoMessage() {}
 
 func (x *Message34621) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message34621) XXX_Methods() *protoiface.Methods {
+func (x *Message34621) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[8].Methods()
 }
 
@@ -982,6 +1063,7 @@
 }
 
 type Message35476 struct {
+	state         protoimpl.MessageState
 	Field35484    *string             `protobuf:"bytes,1,opt,name=field35484" json:"field35484,omitempty"`
 	Field35485    *string             `protobuf:"bytes,2,opt,name=field35485" json:"field35485,omitempty"`
 	Field35486    *string             `protobuf:"bytes,3,opt,name=field35486" json:"field35486,omitempty"`
@@ -1011,10 +1093,18 @@
 func (*Message35476) ProtoMessage() {}
 
 func (x *Message35476) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35476) XXX_Methods() *protoiface.Methods {
+func (x *Message35476) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[9].Methods()
 }
 
@@ -1122,6 +1212,7 @@
 }
 
 type Message949 struct {
+	state         protoimpl.MessageState
 	Field955      *string     `protobuf:"bytes,1,opt,name=field955" json:"field955,omitempty"`
 	Field956      *int64      `protobuf:"varint,2,opt,name=field956" json:"field956,omitempty"`
 	Field957      *int64      `protobuf:"varint,3,opt,name=field957" json:"field957,omitempty"`
@@ -1144,10 +1235,18 @@
 func (*Message949) ProtoMessage() {}
 
 func (x *Message949) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message949) XXX_Methods() *protoiface.Methods {
+func (x *Message949) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[10].Methods()
 }
 
@@ -1206,6 +1305,7 @@
 }
 
 type Message36869 struct {
+	state         protoimpl.MessageState
 	Field36970    *int32 `protobuf:"varint,1,opt,name=field36970" json:"field36970,omitempty"`
 	Field36971    *int32 `protobuf:"varint,2,opt,name=field36971" json:"field36971,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1223,10 +1323,18 @@
 func (*Message36869) ProtoMessage() {}
 
 func (x *Message36869) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36869) XXX_Methods() *protoiface.Methods {
+func (x *Message36869) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[11].Methods()
 }
 
@@ -1250,6 +1358,7 @@
 }
 
 type Message33968 struct {
+	state         protoimpl.MessageState
 	Message33969  []*Message33968_Message33969 `protobuf:"group,1,rep,name=Message33969,json=message33969" json:"message33969,omitempty"`
 	Field33989    []*Message33958              `protobuf:"bytes,3,rep,name=field33989" json:"field33989,omitempty"`
 	Field33990    *UnusedEmptyMessage          `protobuf:"bytes,106,opt,name=field33990" json:"field33990,omitempty"`
@@ -1270,10 +1379,18 @@
 func (*Message33968) ProtoMessage() {}
 
 func (x *Message33968) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message33968) XXX_Methods() *protoiface.Methods {
+func (x *Message33968) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[12].Methods()
 }
 
@@ -1318,6 +1435,7 @@
 }
 
 type Message6644 struct {
+	state         protoimpl.MessageState
 	Field6701     *UnusedEmptyMessage `protobuf:"bytes,8,opt,name=field6701" json:"field6701,omitempty"`
 	Field6702     *string             `protobuf:"bytes,1,opt,name=field6702" json:"field6702,omitempty"`
 	Field6703     *float64            `protobuf:"fixed64,2,opt,name=field6703" json:"field6703,omitempty"`
@@ -1349,10 +1467,18 @@
 func (*Message6644) ProtoMessage() {}
 
 func (x *Message6644) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6644) XXX_Methods() *protoiface.Methods {
+func (x *Message6644) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[13].Methods()
 }
 
@@ -1474,6 +1600,7 @@
 }
 
 type Message18831 struct {
+	state         protoimpl.MessageState
 	Message18832  []*Message18831_Message18832 `protobuf:"group,1,rep,name=Message18832,json=message18832" json:"message18832,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1490,10 +1617,18 @@
 func (*Message18831) ProtoMessage() {}
 
 func (x *Message18831) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18831) XXX_Methods() *protoiface.Methods {
+func (x *Message18831) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[14].Methods()
 }
 
@@ -1510,6 +1645,7 @@
 }
 
 type Message13090 struct {
+	state         protoimpl.MessageState
 	Field13141    *Message13083 `protobuf:"bytes,1,opt,name=field13141" json:"field13141,omitempty"`
 	Field13142    *Message13088 `protobuf:"bytes,2,opt,name=field13142" json:"field13142,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1527,10 +1663,18 @@
 func (*Message13090) ProtoMessage() {}
 
 func (x *Message13090) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13090) XXX_Methods() *protoiface.Methods {
+func (x *Message13090) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[15].Methods()
 }
 
@@ -1554,6 +1698,7 @@
 }
 
 type Message11874 struct {
+	state           protoimpl.MessageState
 	Field11888      *Message10391 `protobuf:"bytes,3,opt,name=field11888" json:"field11888,omitempty"`
 	Field11889      *string       `protobuf:"bytes,4,opt,name=field11889" json:"field11889,omitempty"`
 	Field11890      *Message11873 `protobuf:"bytes,6,opt,name=field11890" json:"field11890,omitempty"`
@@ -1574,10 +1719,18 @@
 func (*Message11874) ProtoMessage() {}
 
 func (x *Message11874) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11874) XXX_Methods() *protoiface.Methods {
+func (x *Message11874) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[16].Methods()
 }
 
@@ -1626,6 +1779,7 @@
 }
 
 type Message4144 struct {
+	state         protoimpl.MessageState
 	Message4145   []*Message4144_Message4145 `protobuf:"group,1,rep,name=Message4145,json=message4145" json:"message4145,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1642,10 +1796,18 @@
 func (*Message4144) ProtoMessage() {}
 
 func (x *Message4144) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message4144) XXX_Methods() *protoiface.Methods {
+func (x *Message4144) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[17].Methods()
 }
 
@@ -1662,6 +1824,7 @@
 }
 
 type Message35573 struct {
+	state         protoimpl.MessageState
 	Field35695    *uint64                      `protobuf:"fixed64,16,opt,name=field35695" json:"field35695,omitempty"`
 	Field35696    *string                      `protobuf:"bytes,1000,opt,name=field35696" json:"field35696,omitempty"`
 	Field35697    *string                      `protobuf:"bytes,1004,opt,name=field35697" json:"field35697,omitempty"`
@@ -1688,10 +1851,18 @@
 func (*Message35573) ProtoMessage() {}
 
 func (x *Message35573) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35573) XXX_Methods() *protoiface.Methods {
+func (x *Message35573) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[18].Methods()
 }
 
@@ -1778,6 +1949,7 @@
 }
 
 type Message36858 struct {
+	state         protoimpl.MessageState
 	Field36956    []int32                      `protobuf:"varint,1,rep,name=field36956" json:"field36956,omitempty"`
 	Field36957    []string                     `protobuf:"bytes,2,rep,name=field36957" json:"field36957,omitempty"`
 	Field36958    []string                     `protobuf:"bytes,12,rep,name=field36958" json:"field36958,omitempty"`
@@ -1805,10 +1977,18 @@
 func (*Message36858) ProtoMessage() {}
 
 func (x *Message36858) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36858) XXX_Methods() *protoiface.Methods {
+func (x *Message36858) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[19].Methods()
 }
 
@@ -1902,6 +2082,7 @@
 }
 
 type Message13174 struct {
+	state         protoimpl.MessageState
 	Field13237    *int32        `protobuf:"varint,6,req,name=field13237" json:"field13237,omitempty"`
 	Field13238    *int32        `protobuf:"varint,3,opt,name=field13238" json:"field13238,omitempty"`
 	Field13239    *int32        `protobuf:"varint,4,req,name=field13239" json:"field13239,omitempty"`
@@ -1938,10 +2119,18 @@
 func (*Message13174) ProtoMessage() {}
 
 func (x *Message13174) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13174) XXX_Methods() *protoiface.Methods {
+func (x *Message13174) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[20].Methods()
 }
 
@@ -2098,6 +2287,7 @@
 }
 
 type Message18283 struct {
+	state           protoimpl.MessageState
 	Field18478      *UnusedEmptyMessage   `protobuf:"bytes,1,opt,name=field18478" json:"field18478,omitempty"`
 	Field18479      *int32                `protobuf:"varint,4,opt,name=field18479" json:"field18479,omitempty"`
 	Field18480      *int32                `protobuf:"varint,106,opt,name=field18480" json:"field18480,omitempty"`
@@ -2218,10 +2408,18 @@
 func (*Message18283) ProtoMessage() {}
 
 func (x *Message18283) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18283) XXX_Methods() *protoiface.Methods {
+func (x *Message18283) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[21].Methods()
 }
 
@@ -2971,6 +3169,7 @@
 }
 
 type Message13169 struct {
+	state         protoimpl.MessageState
 	Field13223    []*Message13168 `protobuf:"bytes,1,rep,name=field13223" json:"field13223,omitempty"`
 	Field13224    *Message13167   `protobuf:"bytes,2,req,name=field13224" json:"field13224,omitempty"`
 	Field13225    *string         `protobuf:"bytes,3,opt,name=field13225" json:"field13225,omitempty"`
@@ -2989,10 +3188,18 @@
 func (*Message13169) ProtoMessage() {}
 
 func (x *Message13169) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13169) XXX_Methods() *protoiface.Methods {
+func (x *Message13169) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[22].Methods()
 }
 
@@ -3023,6 +3230,7 @@
 }
 
 type Message19255 struct {
+	state         protoimpl.MessageState
 	Field19257    *string `protobuf:"bytes,1,opt,name=field19257" json:"field19257,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -3039,10 +3247,18 @@
 func (*Message19255) ProtoMessage() {}
 
 func (x *Message19255) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message19255) XXX_Methods() *protoiface.Methods {
+func (x *Message19255) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[23].Methods()
 }
 
@@ -3059,6 +3275,7 @@
 }
 
 type Message35542 struct {
+	state         protoimpl.MessageState
 	Field35543    *bool `protobuf:"varint,1,opt,name=field35543" json:"field35543,omitempty"`
 	Field35544    *bool `protobuf:"varint,2,opt,name=field35544" json:"field35544,omitempty"`
 	Field35545    *bool `protobuf:"varint,3,opt,name=field35545" json:"field35545,omitempty"`
@@ -3077,10 +3294,18 @@
 func (*Message35542) ProtoMessage() {}
 
 func (x *Message35542) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35542) XXX_Methods() *protoiface.Methods {
+func (x *Message35542) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[24].Methods()
 }
 
@@ -3111,6 +3336,7 @@
 }
 
 type Message3901 struct {
+	state         protoimpl.MessageState
 	Field3990     *int32      `protobuf:"varint,1,opt,name=field3990" json:"field3990,omitempty"`
 	Field3991     *int32      `protobuf:"varint,2,opt,name=field3991" json:"field3991,omitempty"`
 	Field3992     *int32      `protobuf:"varint,3,opt,name=field3992" json:"field3992,omitempty"`
@@ -3138,10 +3364,18 @@
 func (*Message3901) ProtoMessage() {}
 
 func (x *Message3901) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3901) XXX_Methods() *protoiface.Methods {
+func (x *Message3901) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[25].Methods()
 }
 
@@ -3235,6 +3469,7 @@
 }
 
 type Message33968_Message33969 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3250,10 +3485,18 @@
 func (*Message33968_Message33969) ProtoMessage() {}
 
 func (x *Message33968_Message33969) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message33968_Message33969) XXX_Methods() *protoiface.Methods {
+func (x *Message33968_Message33969) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[26].Methods()
 }
 
@@ -3263,6 +3506,7 @@
 }
 
 type Message18831_Message18832 struct {
+	state         protoimpl.MessageState
 	Field18836    *int32                                    `protobuf:"varint,2,opt,name=field18836" json:"field18836,omitempty"`
 	Field18837    *string                                   `protobuf:"bytes,5,opt,name=field18837" json:"field18837,omitempty"`
 	Field18838    *float32                                  `protobuf:"fixed32,3,opt,name=field18838" json:"field18838,omitempty"`
@@ -3285,10 +3529,18 @@
 func (*Message18831_Message18832) ProtoMessage() {}
 
 func (x *Message18831_Message18832) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18831_Message18832) XXX_Methods() *protoiface.Methods {
+func (x *Message18831_Message18832) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[27].Methods()
 }
 
@@ -3347,6 +3599,7 @@
 }
 
 type Message18831_Message18832_Message18833 struct {
+	state         protoimpl.MessageState
 	Field18843    *uint64  `protobuf:"varint,7,req,name=field18843" json:"field18843,omitempty"`
 	Field18844    *string  `protobuf:"bytes,8,opt,name=field18844" json:"field18844,omitempty"`
 	Field18845    *float32 `protobuf:"fixed32,10,opt,name=field18845" json:"field18845,omitempty"`
@@ -3367,10 +3620,18 @@
 func (*Message18831_Message18832_Message18833) ProtoMessage() {}
 
 func (x *Message18831_Message18832_Message18833) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18831_Message18832_Message18833) XXX_Methods() *protoiface.Methods {
+func (x *Message18831_Message18832_Message18833) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[28].Methods()
 }
 
@@ -3415,6 +3676,7 @@
 }
 
 type Message4144_Message4145 struct {
+	state         protoimpl.MessageState
 	Field4165     *Enum4146 `protobuf:"varint,2,req,name=field4165,enum=benchmarks.google_message3.Enum4146" json:"field4165,omitempty"`
 	Field4166     *int32    `protobuf:"varint,3,req,name=field4166" json:"field4166,omitempty"`
 	Field4167     *Enum4160 `protobuf:"varint,9,opt,name=field4167,enum=benchmarks.google_message3.Enum4160" json:"field4167,omitempty"`
@@ -3436,10 +3698,18 @@
 func (*Message4144_Message4145) ProtoMessage() {}
 
 func (x *Message4144_Message4145) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message4144_Message4145) XXX_Methods() *protoiface.Methods {
+func (x *Message4144_Message4145) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[29].Methods()
 }
 
@@ -3491,6 +3761,7 @@
 }
 
 type Message35573_Message35574 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3506,10 +3777,18 @@
 func (*Message35573_Message35574) ProtoMessage() {}
 
 func (x *Message35573_Message35574) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35573_Message35574) XXX_Methods() *protoiface.Methods {
+func (x *Message35573_Message35574) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[30].Methods()
 }
 
@@ -3519,6 +3798,7 @@
 }
 
 type Message35573_Message35575 struct {
+	state         protoimpl.MessageState
 	Field35709    *int64                                  `protobuf:"varint,2,opt,name=field35709" json:"field35709,omitempty"`
 	Field35710    *string                                 `protobuf:"bytes,3,opt,name=field35710" json:"field35710,omitempty"`
 	Field35711    *string                                 `protobuf:"bytes,19,opt,name=field35711" json:"field35711,omitempty"`
@@ -3572,10 +3852,18 @@
 func (*Message35573_Message35575) ProtoMessage() {}
 
 func (x *Message35573_Message35575) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35573_Message35575) XXX_Methods() *protoiface.Methods {
+func (x *Message35573_Message35575) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[31].Methods()
 }
 
@@ -3851,6 +4139,7 @@
 }
 
 type Message35573_Message35575_Message35576 struct {
+	state         protoimpl.MessageState
 	Field35747    *uint64   `protobuf:"fixed64,5,opt,name=field35747" json:"field35747,omitempty"`
 	Field35748    *int32    `protobuf:"varint,6,opt,name=field35748" json:"field35748,omitempty"`
 	Field35749    *int32    `protobuf:"varint,49,opt,name=field35749" json:"field35749,omitempty"`
@@ -3891,10 +4180,18 @@
 func (*Message35573_Message35575_Message35576) ProtoMessage() {}
 
 func (x *Message35573_Message35575_Message35576) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35573_Message35575_Message35576) XXX_Methods() *protoiface.Methods {
+func (x *Message35573_Message35575_Message35576) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[32].Methods()
 }
 
@@ -4079,6 +4376,7 @@
 }
 
 type Message36858_Message36859 struct {
+	state         protoimpl.MessageState
 	Field36968    *Enum36860 `protobuf:"varint,9,req,name=field36968,enum=benchmarks.google_message3.Enum36860" json:"field36968,omitempty"`
 	Field36969    *float32   `protobuf:"fixed32,10,opt,name=field36969" json:"field36969,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -4096,10 +4394,18 @@
 func (*Message36858_Message36859) ProtoMessage() {}
 
 func (x *Message36858_Message36859) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[33].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[33]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message36858_Message36859) XXX_Methods() *protoiface.Methods {
+func (x *Message36858_Message36859) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[33].Methods()
 }
 
@@ -5526,9 +5832,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message22853); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5536,9 +5844,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24345); i {
-			case 25:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 26:
+				return &v.sizeCache
+			case 27:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5546,9 +5856,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24403); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5556,9 +5868,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24391); i {
-			case 25:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 26:
+				return &v.sizeCache
+			case 27:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5567,8 +5881,10 @@
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message27454); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5576,9 +5892,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message27357); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5586,9 +5904,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message27360); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5596,9 +5916,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message34387); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5606,9 +5928,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message34621); i {
-			case 18:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 19:
+				return &v.sizeCache
+			case 20:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5616,9 +5940,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35476); i {
-			case 14:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 15:
+				return &v.sizeCache
+			case 16:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5626,9 +5952,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message949); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5636,9 +5964,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36869); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5646,9 +5976,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message33968); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5656,9 +5988,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6644); i {
-			case 16:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 17:
+				return &v.sizeCache
+			case 18:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5666,9 +6000,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message18831); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5676,9 +6012,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13090); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5686,11 +6024,13 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message11874); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 6:
+				return &v.unknownFields
+			case 7:
 				return &v.extensionFields
 			default:
 				return nil
@@ -5698,9 +6038,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message4144); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5708,9 +6050,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35573); i {
-			case 11:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 12:
+				return &v.sizeCache
+			case 13:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5718,9 +6062,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36858); i {
-			case 12:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 13:
+				return &v.sizeCache
+			case 14:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5728,9 +6074,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13174); i {
-			case 21:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 22:
+				return &v.sizeCache
+			case 23:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5738,11 +6086,13 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message18283); i {
-			case 104:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 105:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 106:
+				return &v.unknownFields
+			case 107:
 				return &v.extensionFields
 			default:
 				return nil
@@ -5750,9 +6100,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13169); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5760,9 +6112,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message19255); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5770,9 +6124,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35542); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5780,9 +6136,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3901); i {
-			case 12:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 13:
+				return &v.sizeCache
+			case 14:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5791,8 +6149,10 @@
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message33968_Message33969); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5800,6 +6160,32 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message18831_Message18832); i {
+			case 0:
+				return &v.state
+			case 8:
+				return &v.sizeCache
+			case 9:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message18831_Message18832_Message18833); i {
+			case 0:
+				return &v.state
+			case 6:
+				return &v.sizeCache
+			case 7:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message4144_Message4145); i {
+			case 0:
+				return &v.state
 			case 7:
 				return &v.sizeCache
 			case 8:
@@ -5808,31 +6194,13 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message18831_Message18832_Message18833); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message4144_Message4145); i {
-			case 6:
-				return &v.sizeCache
-			case 7:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35573_Message35574); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5840,9 +6208,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35573_Message35575); i {
-			case 38:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 39:
+				return &v.sizeCache
+			case 40:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5850,9 +6220,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35573_Message35575_Message35576); i {
-			case 25:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 26:
+				return &v.sizeCache
+			case 27:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5860,9 +6232,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_2_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message36858_Message36859); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_3.pb.go b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_3.pb.go
index 11cf114..8c0f847 100644
--- a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_3.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_3.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message35546 struct {
+	state         protoimpl.MessageState
 	Field35556    *int64                     `protobuf:"varint,1,opt,name=field35556" json:"field35556,omitempty"`
 	Field35557    *int32                     `protobuf:"varint,2,opt,name=field35557" json:"field35557,omitempty"`
 	Field35558    *bool                      `protobuf:"varint,3,opt,name=field35558" json:"field35558,omitempty"`
@@ -45,10 +46,18 @@
 func (*Message35546) ProtoMessage() {}
 
 func (x *Message35546) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35546) XXX_Methods() *protoiface.Methods {
+func (x *Message35546) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[0].Methods()
 }
 
@@ -142,6 +151,7 @@
 }
 
 type Message2356 struct {
+	state         protoimpl.MessageState
 	Field2368     *Message1374               `protobuf:"bytes,121,opt,name=field2368" json:"field2368,omitempty"`
 	Field2369     *uint64                    `protobuf:"varint,1,opt,name=field2369" json:"field2369,omitempty"`
 	Field2370     *int32                     `protobuf:"varint,2,opt,name=field2370" json:"field2370,omitempty"`
@@ -188,10 +198,18 @@
 func (*Message2356) ProtoMessage() {}
 
 func (x *Message2356) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2356) XXX_Methods() *protoiface.Methods {
+func (x *Message2356) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[1].Methods()
 }
 
@@ -418,6 +436,7 @@
 }
 
 type Message7029 struct {
+	state         protoimpl.MessageState
 	Field7183     *int32                     `protobuf:"varint,1,req,name=field7183" json:"field7183,omitempty"`
 	Field7184     *int32                     `protobuf:"varint,2,opt,name=field7184" json:"field7184,omitempty"`
 	Field7185     *int32                     `protobuf:"varint,3,opt,name=field7185" json:"field7185,omitempty"`
@@ -475,10 +494,18 @@
 func (*Message7029) ProtoMessage() {}
 
 func (x *Message7029) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7029) XXX_Methods() *protoiface.Methods {
+func (x *Message7029) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[2].Methods()
 }
 
@@ -782,6 +809,7 @@
 }
 
 type Message35538 struct {
+	state         protoimpl.MessageState
 	Field35539    *int64 `protobuf:"varint,1,req,name=field35539" json:"field35539,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -798,10 +826,18 @@
 func (*Message35538) ProtoMessage() {}
 
 func (x *Message35538) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35538) XXX_Methods() *protoiface.Methods {
+func (x *Message35538) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[3].Methods()
 }
 
@@ -818,6 +854,7 @@
 }
 
 type Message18921 struct {
+	state         protoimpl.MessageState
 	Field18946    *string                      `protobuf:"bytes,1,opt,name=field18946" json:"field18946,omitempty"`
 	Field18947    *uint64                      `protobuf:"fixed64,2,opt,name=field18947" json:"field18947,omitempty"`
 	Field18948    *int32                       `protobuf:"varint,3,opt,name=field18948" json:"field18948,omitempty"`
@@ -845,10 +882,18 @@
 func (*Message18921) ProtoMessage() {}
 
 func (x *Message18921) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18921) XXX_Methods() *protoiface.Methods {
+func (x *Message18921) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[4].Methods()
 }
 
@@ -942,6 +987,7 @@
 }
 
 type Message35540 struct {
+	state         protoimpl.MessageState
 	Field35541    *bool `protobuf:"varint,1,opt,name=field35541" json:"field35541,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -958,10 +1004,18 @@
 func (*Message35540) ProtoMessage() {}
 
 func (x *Message35540) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35540) XXX_Methods() *protoiface.Methods {
+func (x *Message35540) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[5].Methods()
 }
 
@@ -978,6 +1032,7 @@
 }
 
 type Message3886 struct {
+	state         protoimpl.MessageState
 	Message3887   []*Message3886_Message3887 `protobuf:"group,1,rep,name=Message3887,json=message3887" json:"message3887,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -994,10 +1049,18 @@
 func (*Message3886) ProtoMessage() {}
 
 func (x *Message3886) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3886) XXX_Methods() *protoiface.Methods {
+func (x *Message3886) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[6].Methods()
 }
 
@@ -1014,6 +1077,7 @@
 }
 
 type Message6743 struct {
+	state         protoimpl.MessageState
 	Field6759     *Message6721 `protobuf:"bytes,1,opt,name=field6759" json:"field6759,omitempty"`
 	Field6760     *Message6723 `protobuf:"bytes,2,opt,name=field6760" json:"field6760,omitempty"`
 	Field6761     *Message6723 `protobuf:"bytes,8,opt,name=field6761" json:"field6761,omitempty"`
@@ -1037,10 +1101,18 @@
 func (*Message6743) ProtoMessage() {}
 
 func (x *Message6743) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6743) XXX_Methods() *protoiface.Methods {
+func (x *Message6743) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[7].Methods()
 }
 
@@ -1106,6 +1178,7 @@
 }
 
 type Message6773 struct {
+	state         protoimpl.MessageState
 	Field6794     *Enum6769   `protobuf:"varint,1,opt,name=field6794,enum=benchmarks.google_message3.Enum6769" json:"field6794,omitempty"`
 	Field6795     *int32      `protobuf:"varint,9,opt,name=field6795" json:"field6795,omitempty"`
 	Field6796     *UnusedEnum `protobuf:"varint,10,opt,name=field6796,enum=benchmarks.google_message3.UnusedEnum" json:"field6796,omitempty"`
@@ -1131,10 +1204,18 @@
 func (*Message6773) ProtoMessage() {}
 
 func (x *Message6773) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6773) XXX_Methods() *protoiface.Methods {
+func (x *Message6773) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[8].Methods()
 }
 
@@ -1214,6 +1295,7 @@
 }
 
 type Message8224 struct {
+	state         protoimpl.MessageState
 	Field8255     *UnusedEmptyMessage   `protobuf:"bytes,1,opt,name=field8255" json:"field8255,omitempty"`
 	Field8256     *Message8184          `protobuf:"bytes,2,opt,name=field8256" json:"field8256,omitempty"`
 	Field8257     *Message7966          `protobuf:"bytes,3,opt,name=field8257" json:"field8257,omitempty"`
@@ -1256,10 +1338,18 @@
 func (*Message8224) ProtoMessage() {}
 
 func (x *Message8224) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8224) XXX_Methods() *protoiface.Methods {
+func (x *Message8224) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[9].Methods()
 }
 
@@ -1458,6 +1548,7 @@
 }
 
 type Message8392 struct {
+	state         protoimpl.MessageState
 	Field8395     *string      `protobuf:"bytes,1,opt,name=field8395" json:"field8395,omitempty"`
 	Field8396     *string      `protobuf:"bytes,2,opt,name=field8396" json:"field8396,omitempty"`
 	Field8397     *Message7966 `protobuf:"bytes,3,opt,name=field8397" json:"field8397,omitempty"`
@@ -1482,10 +1573,18 @@
 func (*Message8392) ProtoMessage() {}
 
 func (x *Message8392) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8392) XXX_Methods() *protoiface.Methods {
+func (x *Message8392) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[10].Methods()
 }
 
@@ -1558,6 +1657,7 @@
 }
 
 type Message8130 struct {
+	state         protoimpl.MessageState
 	Field8156     *string               `protobuf:"bytes,1,opt,name=field8156" json:"field8156,omitempty"`
 	Field8157     *string               `protobuf:"bytes,2,opt,name=field8157" json:"field8157,omitempty"`
 	Field8158     *string               `protobuf:"bytes,4,opt,name=field8158" json:"field8158,omitempty"`
@@ -1597,10 +1697,18 @@
 func (*Message8130) ProtoMessage() {}
 
 func (x *Message8130) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8130) XXX_Methods() *protoiface.Methods {
+func (x *Message8130) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[11].Methods()
 }
 
@@ -1778,6 +1886,7 @@
 }
 
 type Message8478 struct {
+	state         protoimpl.MessageState
 	Field8489     *string             `protobuf:"bytes,7,opt,name=field8489" json:"field8489,omitempty"`
 	Field8490     *Message7966        `protobuf:"bytes,1,opt,name=field8490" json:"field8490,omitempty"`
 	Field8491     *Message8476        `protobuf:"bytes,2,opt,name=field8491" json:"field8491,omitempty"`
@@ -1801,10 +1910,18 @@
 func (*Message8478) ProtoMessage() {}
 
 func (x *Message8478) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8478) XXX_Methods() *protoiface.Methods {
+func (x *Message8478) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[12].Methods()
 }
 
@@ -1870,6 +1987,7 @@
 }
 
 type Message8479 struct {
+	state         protoimpl.MessageState
 	Field8497     *Message8475        `protobuf:"bytes,1,opt,name=field8497" json:"field8497,omitempty"`
 	Field8498     *Message7966        `protobuf:"bytes,2,opt,name=field8498" json:"field8498,omitempty"`
 	Field8499     *Message8476        `protobuf:"bytes,3,opt,name=field8499" json:"field8499,omitempty"`
@@ -1894,10 +2012,18 @@
 func (*Message8479) ProtoMessage() {}
 
 func (x *Message8479) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8479) XXX_Methods() *protoiface.Methods {
+func (x *Message8479) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[13].Methods()
 }
 
@@ -1970,6 +2096,7 @@
 }
 
 type Message10319 struct {
+	state         protoimpl.MessageState
 	Field10340    *Enum10325 `protobuf:"varint,1,opt,name=field10340,enum=benchmarks.google_message3.Enum10325" json:"field10340,omitempty"`
 	Field10341    *int32     `protobuf:"varint,4,opt,name=field10341" json:"field10341,omitempty"`
 	Field10342    *int32     `protobuf:"varint,5,opt,name=field10342" json:"field10342,omitempty"`
@@ -1992,10 +2119,18 @@
 func (*Message10319) ProtoMessage() {}
 
 func (x *Message10319) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10319) XXX_Methods() *protoiface.Methods {
+func (x *Message10319) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[14].Methods()
 }
 
@@ -2054,6 +2189,7 @@
 }
 
 type Message4016 struct {
+	state         protoimpl.MessageState
 	Field4017     *int32 `protobuf:"varint,1,req,name=field4017" json:"field4017,omitempty"`
 	Field4018     *int32 `protobuf:"varint,2,req,name=field4018" json:"field4018,omitempty"`
 	Field4019     *int32 `protobuf:"varint,3,req,name=field4019" json:"field4019,omitempty"`
@@ -2073,10 +2209,18 @@
 func (*Message4016) ProtoMessage() {}
 
 func (x *Message4016) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message4016) XXX_Methods() *protoiface.Methods {
+func (x *Message4016) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[15].Methods()
 }
 
@@ -2114,6 +2258,7 @@
 }
 
 type Message12669 struct {
+	state         protoimpl.MessageState
 	Field12681    *Message12559 `protobuf:"bytes,1,opt,name=field12681" json:"field12681,omitempty"`
 	Field12682    *float32      `protobuf:"fixed32,2,opt,name=field12682" json:"field12682,omitempty"`
 	Field12683    *bool         `protobuf:"varint,3,opt,name=field12683" json:"field12683,omitempty"`
@@ -2133,10 +2278,18 @@
 func (*Message12669) ProtoMessage() {}
 
 func (x *Message12669) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12669) XXX_Methods() *protoiface.Methods {
+func (x *Message12669) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[16].Methods()
 }
 
@@ -2174,6 +2327,7 @@
 }
 
 type Message12819 struct {
+	state         protoimpl.MessageState
 	Field12834    *float64 `protobuf:"fixed64,1,opt,name=field12834" json:"field12834,omitempty"`
 	Field12835    *float64 `protobuf:"fixed64,2,opt,name=field12835" json:"field12835,omitempty"`
 	Field12836    *float64 `protobuf:"fixed64,3,opt,name=field12836" json:"field12836,omitempty"`
@@ -2195,10 +2349,18 @@
 func (*Message12819) ProtoMessage() {}
 
 func (x *Message12819) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12819) XXX_Methods() *protoiface.Methods {
+func (x *Message12819) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[17].Methods()
 }
 
@@ -2250,6 +2412,7 @@
 }
 
 type Message12820 struct {
+	state         protoimpl.MessageState
 	Field12840    *int32 `protobuf:"varint,1,opt,name=field12840" json:"field12840,omitempty"`
 	Field12841    *int32 `protobuf:"varint,2,opt,name=field12841" json:"field12841,omitempty"`
 	Field12842    *int32 `protobuf:"varint,3,opt,name=field12842" json:"field12842,omitempty"`
@@ -2273,10 +2436,18 @@
 func (*Message12820) ProtoMessage() {}
 
 func (x *Message12820) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12820) XXX_Methods() *protoiface.Methods {
+func (x *Message12820) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[18].Methods()
 }
 
@@ -2342,6 +2513,7 @@
 }
 
 type Message12821 struct {
+	state         protoimpl.MessageState
 	Field12848    *int32 `protobuf:"varint,1,opt,name=field12848" json:"field12848,omitempty"`
 	Field12849    *int32 `protobuf:"varint,2,opt,name=field12849" json:"field12849,omitempty"`
 	Field12850    *int32 `protobuf:"varint,3,opt,name=field12850" json:"field12850,omitempty"`
@@ -2362,10 +2534,18 @@
 func (*Message12821) ProtoMessage() {}
 
 func (x *Message12821) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12821) XXX_Methods() *protoiface.Methods {
+func (x *Message12821) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[19].Methods()
 }
 
@@ -2410,6 +2590,7 @@
 }
 
 type Message12818 struct {
+	state         protoimpl.MessageState
 	Field12829    *uint64         `protobuf:"varint,1,opt,name=field12829" json:"field12829,omitempty"`
 	Field12830    *int32          `protobuf:"varint,2,opt,name=field12830" json:"field12830,omitempty"`
 	Field12831    *int32          `protobuf:"varint,3,opt,name=field12831" json:"field12831,omitempty"`
@@ -2430,10 +2611,18 @@
 func (*Message12818) ProtoMessage() {}
 
 func (x *Message12818) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12818) XXX_Methods() *protoiface.Methods {
+func (x *Message12818) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[20].Methods()
 }
 
@@ -2478,6 +2667,7 @@
 }
 
 type Message16479 struct {
+	state         protoimpl.MessageState
 	Field16484    *Message16480 `protobuf:"bytes,1,opt,name=field16484" json:"field16484,omitempty"`
 	Field16485    *int32        `protobuf:"varint,5,opt,name=field16485" json:"field16485,omitempty"`
 	Field16486    *float32      `protobuf:"fixed32,2,opt,name=field16486" json:"field16486,omitempty"`
@@ -2499,10 +2689,18 @@
 func (*Message16479) ProtoMessage() {}
 
 func (x *Message16479) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16479) XXX_Methods() *protoiface.Methods {
+func (x *Message16479) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[21].Methods()
 }
 
@@ -2554,6 +2752,7 @@
 }
 
 type Message16722 struct {
+	state         protoimpl.MessageState
 	Field16752    *string `protobuf:"bytes,1,opt,name=field16752" json:"field16752,omitempty"`
 	Field16753    *string `protobuf:"bytes,2,opt,name=field16753" json:"field16753,omitempty"`
 	Field16754    *string `protobuf:"bytes,3,opt,name=field16754" json:"field16754,omitempty"`
@@ -2574,10 +2773,18 @@
 func (*Message16722) ProtoMessage() {}
 
 func (x *Message16722) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16722) XXX_Methods() *protoiface.Methods {
+func (x *Message16722) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[22].Methods()
 }
 
@@ -2622,6 +2829,7 @@
 }
 
 type Message16724 struct {
+	state         protoimpl.MessageState
 	Field16761    *int64              `protobuf:"varint,1,opt,name=field16761" json:"field16761,omitempty"`
 	Field16762    *float32            `protobuf:"fixed32,2,opt,name=field16762" json:"field16762,omitempty"`
 	Field16763    *int64              `protobuf:"varint,3,opt,name=field16763" json:"field16763,omitempty"`
@@ -2650,10 +2858,18 @@
 func (*Message16724) ProtoMessage() {}
 
 func (x *Message16724) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16724) XXX_Methods() *protoiface.Methods {
+func (x *Message16724) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[23].Methods()
 }
 
@@ -2754,6 +2970,7 @@
 }
 
 type Message17728 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2769,10 +2986,18 @@
 func (*Message17728) ProtoMessage() {}
 
 func (x *Message17728) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message17728) XXX_Methods() *protoiface.Methods {
+func (x *Message17728) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[24].Methods()
 }
 
@@ -2782,6 +3007,7 @@
 }
 
 type Message24356 struct {
+	state         protoimpl.MessageState
 	Field24559    *string               `protobuf:"bytes,1,opt,name=field24559" json:"field24559,omitempty"`
 	Field24560    *string               `protobuf:"bytes,2,opt,name=field24560" json:"field24560,omitempty"`
 	Field24561    *int32                `protobuf:"varint,14,opt,name=field24561" json:"field24561,omitempty"`
@@ -2812,10 +3038,18 @@
 func (*Message24356) ProtoMessage() {}
 
 func (x *Message24356) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24356) XXX_Methods() *protoiface.Methods {
+func (x *Message24356) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[25].Methods()
 }
 
@@ -2930,6 +3164,7 @@
 }
 
 type Message24376 struct {
+	state         protoimpl.MessageState
 	Field24589    *string               `protobuf:"bytes,1,opt,name=field24589" json:"field24589,omitempty"`
 	Field24590    *string               `protobuf:"bytes,2,opt,name=field24590" json:"field24590,omitempty"`
 	Field24591    *string               `protobuf:"bytes,3,opt,name=field24591" json:"field24591,omitempty"`
@@ -2959,10 +3194,18 @@
 func (*Message24376) ProtoMessage() {}
 
 func (x *Message24376) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24376) XXX_Methods() *protoiface.Methods {
+func (x *Message24376) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[26].Methods()
 }
 
@@ -3070,6 +3313,7 @@
 }
 
 type Message24366 struct {
+	state         protoimpl.MessageState
 	Field24574    *string               `protobuf:"bytes,1,opt,name=field24574" json:"field24574,omitempty"`
 	Field24575    *string               `protobuf:"bytes,2,opt,name=field24575" json:"field24575,omitempty"`
 	Field24576    *string               `protobuf:"bytes,3,opt,name=field24576" json:"field24576,omitempty"`
@@ -3100,10 +3344,18 @@
 func (*Message24366) ProtoMessage() {}
 
 func (x *Message24366) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24366) XXX_Methods() *protoiface.Methods {
+func (x *Message24366) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[27].Methods()
 }
 
@@ -3218,6 +3470,7 @@
 }
 
 type Message35546_Message35547 struct {
+	state         protoimpl.MessageState
 	Field35569    *int32 `protobuf:"varint,5,req,name=field35569" json:"field35569,omitempty"`
 	Field35570    *int32 `protobuf:"varint,6,req,name=field35570" json:"field35570,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3235,10 +3488,18 @@
 func (*Message35546_Message35547) ProtoMessage() {}
 
 func (x *Message35546_Message35547) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35546_Message35547) XXX_Methods() *protoiface.Methods {
+func (x *Message35546_Message35547) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[28].Methods()
 }
 
@@ -3262,6 +3523,7 @@
 }
 
 type Message35546_Message35548 struct {
+	state         protoimpl.MessageState
 	Field35571    *int64 `protobuf:"varint,11,req,name=field35571" json:"field35571,omitempty"`
 	Field35572    *int64 `protobuf:"varint,12,req,name=field35572" json:"field35572,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3279,10 +3541,18 @@
 func (*Message35546_Message35548) ProtoMessage() {}
 
 func (x *Message35546_Message35548) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35546_Message35548) XXX_Methods() *protoiface.Methods {
+func (x *Message35546_Message35548) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[29].Methods()
 }
 
@@ -3306,6 +3576,7 @@
 }
 
 type Message2356_Message2357 struct {
+	state         protoimpl.MessageState
 	Field2399     *int64 `protobuf:"varint,9,opt,name=field2399" json:"field2399,omitempty"`
 	Field2400     *int32 `protobuf:"varint,10,opt,name=field2400" json:"field2400,omitempty"`
 	Field2401     *int32 `protobuf:"varint,11,opt,name=field2401" json:"field2401,omitempty"`
@@ -3333,10 +3604,18 @@
 func (*Message2356_Message2357) ProtoMessage() {}
 
 func (x *Message2356_Message2357) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2356_Message2357) XXX_Methods() *protoiface.Methods {
+func (x *Message2356_Message2357) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[30].Methods()
 }
 
@@ -3430,6 +3709,7 @@
 }
 
 type Message2356_Message2358 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3445,10 +3725,18 @@
 func (*Message2356_Message2358) ProtoMessage() {}
 
 func (x *Message2356_Message2358) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2356_Message2358) XXX_Methods() *protoiface.Methods {
+func (x *Message2356_Message2358) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[31].Methods()
 }
 
@@ -3458,6 +3746,7 @@
 }
 
 type Message2356_Message2359 struct {
+	state         protoimpl.MessageState
 	Field2413     *string  `protobuf:"bytes,41,opt,name=field2413" json:"field2413,omitempty"`
 	Field2414     *string  `protobuf:"bytes,42,opt,name=field2414" json:"field2414,omitempty"`
 	Field2415     *string  `protobuf:"bytes,43,opt,name=field2415" json:"field2415,omitempty"`
@@ -3481,10 +3770,18 @@
 func (*Message2356_Message2359) ProtoMessage() {}
 
 func (x *Message2356_Message2359) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2356_Message2359) XXX_Methods() *protoiface.Methods {
+func (x *Message2356_Message2359) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[32].Methods()
 }
 
@@ -3550,6 +3847,7 @@
 }
 
 type Message7029_Message7030 struct {
+	state         protoimpl.MessageState
 	Field7226     *string `protobuf:"bytes,14,opt,name=field7226" json:"field7226,omitempty"`
 	Field7227     *string `protobuf:"bytes,15,opt,name=field7227" json:"field7227,omitempty"`
 	Field7228     *int64  `protobuf:"varint,16,opt,name=field7228" json:"field7228,omitempty"`
@@ -3568,10 +3866,18 @@
 func (*Message7029_Message7030) ProtoMessage() {}
 
 func (x *Message7029_Message7030) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[33].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[33]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7029_Message7030) XXX_Methods() *protoiface.Methods {
+func (x *Message7029_Message7030) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[33].Methods()
 }
 
@@ -3602,6 +3908,7 @@
 }
 
 type Message7029_Message7031 struct {
+	state         protoimpl.MessageState
 	Field7229     *string `protobuf:"bytes,22,opt,name=field7229" json:"field7229,omitempty"`
 	Field7230     *int32  `protobuf:"varint,23,opt,name=field7230" json:"field7230,omitempty"`
 	Field7231     *int32  `protobuf:"varint,24,opt,name=field7231" json:"field7231,omitempty"`
@@ -3623,10 +3930,18 @@
 func (*Message7029_Message7031) ProtoMessage() {}
 
 func (x *Message7029_Message7031) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[34].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[34]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7029_Message7031) XXX_Methods() *protoiface.Methods {
+func (x *Message7029_Message7031) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[34].Methods()
 }
 
@@ -3678,6 +3993,7 @@
 }
 
 type Message18921_Message18922 struct {
+	state         protoimpl.MessageState
 	Field18959    *uint64             `protobuf:"varint,6,opt,name=field18959" json:"field18959,omitempty"`
 	Field18960    *string             `protobuf:"bytes,13,opt,name=field18960" json:"field18960,omitempty"`
 	Field18961    *bool               `protobuf:"varint,21,opt,name=field18961" json:"field18961,omitempty"`
@@ -3716,10 +4032,18 @@
 func (*Message18921_Message18922) ProtoMessage() {}
 
 func (x *Message18921_Message18922) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[35].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[35]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18921_Message18922) XXX_Methods() *protoiface.Methods {
+func (x *Message18921_Message18922) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[35].Methods()
 }
 
@@ -3890,6 +4214,7 @@
 }
 
 type Message3886_Message3887 struct {
+	state         protoimpl.MessageState
 	Field3932     *string      `protobuf:"bytes,2,req,name=field3932" json:"field3932,omitempty"`
 	Field3933     *string      `protobuf:"bytes,9,opt,name=field3933" json:"field3933,omitempty"`
 	Field3934     *Message3850 `protobuf:"bytes,3,opt,name=field3934" json:"field3934,omitempty"`
@@ -3909,10 +4234,18 @@
 func (*Message3886_Message3887) ProtoMessage() {}
 
 func (x *Message3886_Message3887) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[36].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[36]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3886_Message3887) XXX_Methods() *protoiface.Methods {
+func (x *Message3886_Message3887) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[36].Methods()
 }
 
@@ -5162,9 +5495,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35546); i {
-			case 12:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 13:
+				return &v.sizeCache
+			case 14:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5172,9 +5507,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2356); i {
-			case 31:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 32:
+				return &v.sizeCache
+			case 33:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5182,9 +5519,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7029); i {
-			case 42:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 43:
+				return &v.sizeCache
+			case 44:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5192,9 +5531,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35538); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5202,9 +5543,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message18921); i {
-			case 12:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 13:
+				return &v.sizeCache
+			case 14:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5212,9 +5555,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35540); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5222,9 +5567,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3886); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5232,9 +5579,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6743); i {
-			case 8:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 9:
+				return &v.sizeCache
+			case 10:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5242,6 +5591,32 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6773); i {
+			case 0:
+				return &v.state
+			case 11:
+				return &v.sizeCache
+			case 12:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message8224); i {
+			case 0:
+				return &v.state
+			case 28:
+				return &v.sizeCache
+			case 29:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message8392); i {
+			case 0:
+				return &v.state
 			case 10:
 				return &v.sizeCache
 			case 11:
@@ -5250,31 +5625,13 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message8224); i {
-			case 27:
-				return &v.sizeCache
-			case 28:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message8392); i {
-			case 9:
-				return &v.sizeCache
-			case 10:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8130); i {
-			case 24:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 25:
+				return &v.sizeCache
+			case 26:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5282,16 +5639,8 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8478); i {
-			case 8:
-				return &v.sizeCache
-			case 9:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message8479); i {
+			case 0:
+				return &v.state
 			case 9:
 				return &v.sizeCache
 			case 10:
@@ -5300,48 +5649,22 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message8479); i {
+			case 0:
+				return &v.state
+			case 10:
+				return &v.sizeCache
+			case 11:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10319); i {
-			case 7:
-				return &v.sizeCache
-			case 8:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message4016); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12669); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12819); i {
-			case 6:
-				return &v.sizeCache
-			case 7:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12820); i {
+			case 0:
+				return &v.state
 			case 8:
 				return &v.sizeCache
 			case 9:
@@ -5350,28 +5673,58 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message4016); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12669); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12819); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12820); i {
+			case 0:
+				return &v.state
+			case 9:
+				return &v.sizeCache
+			case 10:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12821); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12818); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16479); i {
+			case 0:
+				return &v.state
 			case 6:
 				return &v.sizeCache
 			case 7:
@@ -5380,11 +5733,37 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12818); i {
+			case 0:
+				return &v.state
+			case 6:
+				return &v.sizeCache
+			case 7:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16479); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message16722); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5392,9 +5771,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message16724); i {
-			case 13:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 14:
+				return &v.sizeCache
+			case 15:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5403,8 +5784,10 @@
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message17728); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5412,9 +5795,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24356); i {
-			case 15:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 16:
+				return &v.sizeCache
+			case 17:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5422,16 +5807,8 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24376); i {
-			case 14:
-				return &v.sizeCache
-			case 15:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message24366); i {
+			case 0:
+				return &v.state
 			case 15:
 				return &v.sizeCache
 			case 16:
@@ -5440,11 +5817,25 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message24366); i {
+			case 0:
+				return &v.state
+			case 16:
+				return &v.sizeCache
+			case 17:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35546_Message35547); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5452,9 +5843,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message35546_Message35548); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5462,9 +5855,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2356_Message2357); i {
-			case 12:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 13:
+				return &v.sizeCache
+			case 14:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5473,8 +5868,10 @@
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2356_Message2358); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5482,9 +5879,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2356_Message2359); i {
-			case 8:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 9:
+				return &v.sizeCache
+			case 10:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5492,9 +5891,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7029_Message7030); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5502,9 +5903,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7029_Message7031); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5512,9 +5915,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message18921_Message18922); i {
-			case 23:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 24:
+				return &v.sizeCache
+			case 25:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5522,9 +5927,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_3_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3886_Message3887); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_4.pb.go b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_4.pb.go
index 6a38e88..52cbdfa 100644
--- a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_4.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_4.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message24346 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*Message24346) ProtoMessage() {}
 
 func (x *Message24346) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24346) XXX_Methods() *protoiface.Methods {
+func (x *Message24346) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[0].Methods()
 }
 
@@ -46,6 +55,7 @@
 }
 
 type Message24401 struct {
+	state         protoimpl.MessageState
 	Field24679    *Message24400 `protobuf:"bytes,1,opt,name=field24679" json:"field24679,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -62,10 +72,18 @@
 func (*Message24401) ProtoMessage() {}
 
 func (x *Message24401) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24401) XXX_Methods() *protoiface.Methods {
+func (x *Message24401) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[1].Methods()
 }
 
@@ -82,6 +100,7 @@
 }
 
 type Message24402 struct {
+	state         protoimpl.MessageState
 	Field24680    *Message24400 `protobuf:"bytes,1,opt,name=field24680" json:"field24680,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -98,10 +117,18 @@
 func (*Message24402) ProtoMessage() {}
 
 func (x *Message24402) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24402) XXX_Methods() *protoiface.Methods {
+func (x *Message24402) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[2].Methods()
 }
 
@@ -118,6 +145,7 @@
 }
 
 type Message24379 struct {
+	state         protoimpl.MessageState
 	Field24603    *string               `protobuf:"bytes,1,opt,name=field24603" json:"field24603,omitempty"`
 	Field24604    *string               `protobuf:"bytes,2,opt,name=field24604" json:"field24604,omitempty"`
 	Field24605    *string               `protobuf:"bytes,3,opt,name=field24605" json:"field24605,omitempty"`
@@ -151,10 +179,18 @@
 func (*Message24379) ProtoMessage() {}
 
 func (x *Message24379) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24379) XXX_Methods() *protoiface.Methods {
+func (x *Message24379) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[3].Methods()
 }
 
@@ -290,6 +326,7 @@
 }
 
 type Message27358 struct {
+	state         protoimpl.MessageState
 	Field27415    *int32 `protobuf:"varint,1,opt,name=field27415" json:"field27415,omitempty"`
 	Field27416    *int32 `protobuf:"varint,2,opt,name=field27416" json:"field27416,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -307,10 +344,18 @@
 func (*Message27358) ProtoMessage() {}
 
 func (x *Message27358) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message27358) XXX_Methods() *protoiface.Methods {
+func (x *Message27358) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[4].Methods()
 }
 
@@ -334,6 +379,7 @@
 }
 
 type Message34381 struct {
+	state         protoimpl.MessageState
 	Field34398    *string             `protobuf:"bytes,1,opt,name=field34398" json:"field34398,omitempty"`
 	Field34399    *UnusedEmptyMessage `protobuf:"bytes,2,opt,name=field34399" json:"field34399,omitempty"`
 	Field34400    *UnusedEmptyMessage `protobuf:"bytes,3,opt,name=field34400" json:"field34400,omitempty"`
@@ -359,10 +405,18 @@
 func (*Message34381) ProtoMessage() {}
 
 func (x *Message34381) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message34381) XXX_Methods() *protoiface.Methods {
+func (x *Message34381) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[5].Methods()
 }
 
@@ -442,6 +496,7 @@
 }
 
 type Message34619 struct {
+	state         protoimpl.MessageState
 	Field34641    *float64            `protobuf:"fixed64,1,opt,name=field34641" json:"field34641,omitempty"`
 	Field34642    *float64            `protobuf:"fixed64,2,opt,name=field34642" json:"field34642,omitempty"`
 	Field34643    *float64            `protobuf:"fixed64,3,opt,name=field34643" json:"field34643,omitempty"`
@@ -464,10 +519,18 @@
 func (*Message34619) ProtoMessage() {}
 
 func (x *Message34619) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message34619) XXX_Methods() *protoiface.Methods {
+func (x *Message34619) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[6].Methods()
 }
 
@@ -526,6 +589,7 @@
 }
 
 type Message730 struct {
+	state           protoimpl.MessageState
 	Field897        *string               `protobuf:"bytes,19,opt,name=field897" json:"field897,omitempty"`
 	Field898        []string              `protobuf:"bytes,27,rep,name=field898" json:"field898,omitempty"`
 	Field899        []string              `protobuf:"bytes,28,rep,name=field899" json:"field899,omitempty"`
@@ -575,10 +639,18 @@
 func (*Message730) ProtoMessage() {}
 
 func (x *Message730) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message730) XXX_Methods() *protoiface.Methods {
+func (x *Message730) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[7].Methods()
 }
 
@@ -831,6 +903,7 @@
 }
 
 type Message33958 struct {
+	state         protoimpl.MessageState
 	Field33977    *string                      `protobuf:"bytes,1,opt,name=field33977" json:"field33977,omitempty"`
 	Field33978    *string                      `protobuf:"bytes,9,opt,name=field33978" json:"field33978,omitempty"`
 	Message33959  []*Message33958_Message33959 `protobuf:"group,2,rep,name=Message33959,json=message33959" json:"message33959,omitempty"`
@@ -850,10 +923,18 @@
 func (*Message33958) ProtoMessage() {}
 
 func (x *Message33958) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message33958) XXX_Methods() *protoiface.Methods {
+func (x *Message33958) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[8].Methods()
 }
 
@@ -891,6 +972,7 @@
 }
 
 type Message6637 struct {
+	state         protoimpl.MessageState
 	Field6670     *UnusedEmptyMessage   `protobuf:"bytes,2,opt,name=field6670" json:"field6670,omitempty"`
 	Field6671     []*UnusedEmptyMessage `protobuf:"bytes,1,rep,name=field6671" json:"field6671,omitempty"`
 	Field6672     *int32                `protobuf:"varint,3,opt,name=field6672" json:"field6672,omitempty"`
@@ -911,10 +993,18 @@
 func (*Message6637) ProtoMessage() {}
 
 func (x *Message6637) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6637) XXX_Methods() *protoiface.Methods {
+func (x *Message6637) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[9].Methods()
 }
 
@@ -959,6 +1049,7 @@
 }
 
 type Message6643 struct {
+	state         protoimpl.MessageState
 	Field6683     *UnusedEmptyMessage   `protobuf:"bytes,3,opt,name=field6683" json:"field6683,omitempty"`
 	Field6684     *UnusedEmptyMessage   `protobuf:"bytes,4,opt,name=field6684" json:"field6684,omitempty"`
 	Field6685     *float64              `protobuf:"fixed64,5,opt,name=field6685" json:"field6685,omitempty"`
@@ -992,10 +1083,18 @@
 func (*Message6643) ProtoMessage() {}
 
 func (x *Message6643) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6643) XXX_Methods() *protoiface.Methods {
+func (x *Message6643) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[10].Methods()
 }
 
@@ -1131,6 +1230,7 @@
 }
 
 type Message6126 struct {
+	state         protoimpl.MessageState
 	Field6152     *string               `protobuf:"bytes,1,req,name=field6152" json:"field6152,omitempty"`
 	Field6153     []*UnusedEmptyMessage `protobuf:"bytes,9,rep,name=field6153" json:"field6153,omitempty"`
 	Field6154     *int32                `protobuf:"varint,14,opt,name=field6154" json:"field6154,omitempty"`
@@ -1165,10 +1265,18 @@
 func (*Message6126) ProtoMessage() {}
 
 func (x *Message6126) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6126) XXX_Methods() *protoiface.Methods {
+func (x *Message6126) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[11].Methods()
 }
 
@@ -1311,6 +1419,7 @@
 }
 
 type Message13083 struct {
+	state         protoimpl.MessageState
 	Field13096    *float32                     `protobuf:"fixed32,1,opt,name=field13096" json:"field13096,omitempty"`
 	Message13084  []*Message13083_Message13084 `protobuf:"group,2,rep,name=Message13084,json=message13084" json:"message13084,omitempty"`
 	Field13098    *float32                     `protobuf:"fixed32,44,opt,name=field13098" json:"field13098,omitempty"`
@@ -1336,10 +1445,18 @@
 func (*Message13083) ProtoMessage() {}
 
 func (x *Message13083) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13083) XXX_Methods() *protoiface.Methods {
+func (x *Message13083) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[12].Methods()
 }
 
@@ -1419,6 +1536,7 @@
 }
 
 type Message13088 struct {
+	state         protoimpl.MessageState
 	Message13089  []*Message13088_Message13089 `protobuf:"group,1,rep,name=Message13089,json=message13089" json:"message13089,omitempty"`
 	Field13136    *int64                       `protobuf:"varint,4,opt,name=field13136" json:"field13136,omitempty"`
 	Field13137    *bool                        `protobuf:"varint,5,opt,name=field13137" json:"field13137,omitempty"`
@@ -1437,10 +1555,18 @@
 func (*Message13088) ProtoMessage() {}
 
 func (x *Message13088) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13088) XXX_Methods() *protoiface.Methods {
+func (x *Message13088) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[13].Methods()
 }
 
@@ -1471,6 +1597,7 @@
 }
 
 type Message10391 struct {
+	state         protoimpl.MessageState
 	Field10411    *Enum10392          `protobuf:"varint,1,opt,name=field10411,enum=benchmarks.google_message3.Enum10392" json:"field10411,omitempty"`
 	Field10412    *UnusedEnum         `protobuf:"varint,2,opt,name=field10412,enum=benchmarks.google_message3.UnusedEnum" json:"field10412,omitempty"`
 	Field10413    *int64              `protobuf:"varint,3,opt,name=field10413" json:"field10413,omitempty"`
@@ -1495,10 +1622,18 @@
 func (*Message10391) ProtoMessage() {}
 
 func (x *Message10391) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10391) XXX_Methods() *protoiface.Methods {
+func (x *Message10391) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[14].Methods()
 }
 
@@ -1571,6 +1706,7 @@
 }
 
 type Message11873 struct {
+	state           protoimpl.MessageState
 	Field11876      *string             `protobuf:"bytes,1,opt,name=field11876" json:"field11876,omitempty"`
 	Field11877      *string             `protobuf:"bytes,4,opt,name=field11877" json:"field11877,omitempty"`
 	Field11878      *Message10573       `protobuf:"bytes,5,opt,name=field11878" json:"field11878,omitempty"`
@@ -1599,10 +1735,18 @@
 func (*Message11873) ProtoMessage() {}
 
 func (x *Message11873) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11873) XXX_Methods() *protoiface.Methods {
+func (x *Message11873) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[15].Methods()
 }
 
@@ -1706,6 +1850,7 @@
 }
 
 type Message35506 struct {
+	state         protoimpl.MessageState
 	Field35524    *int32                `protobuf:"varint,1,opt,name=field35524" json:"field35524,omitempty"`
 	Field35525    *string               `protobuf:"bytes,2,opt,name=field35525" json:"field35525,omitempty"`
 	Field35526    *Enum35507            `protobuf:"varint,3,opt,name=field35526,enum=benchmarks.google_message3.Enum35507" json:"field35526,omitempty"`
@@ -1725,10 +1870,18 @@
 func (*Message35506) ProtoMessage() {}
 
 func (x *Message35506) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message35506) XXX_Methods() *protoiface.Methods {
+func (x *Message35506) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[16].Methods()
 }
 
@@ -1766,6 +1919,7 @@
 }
 
 type Message13151 struct {
+	state         protoimpl.MessageState
 	Field13158    []*Message13145 `protobuf:"bytes,1,rep,name=field13158" json:"field13158,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1782,10 +1936,18 @@
 func (*Message13151) ProtoMessage() {}
 
 func (x *Message13151) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13151) XXX_Methods() *protoiface.Methods {
+func (x *Message13151) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[17].Methods()
 }
 
@@ -1802,6 +1964,7 @@
 }
 
 type Message18253 struct {
+	state         protoimpl.MessageState
 	Message18254  []*Message18253_Message18254 `protobuf:"group,1,rep,name=Message18254,json=message18254" json:"message18254,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1818,10 +1981,18 @@
 func (*Message18253) ProtoMessage() {}
 
 func (x *Message18253) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18253) XXX_Methods() *protoiface.Methods {
+func (x *Message18253) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[18].Methods()
 }
 
@@ -1838,6 +2009,7 @@
 }
 
 type Message16685 struct {
+	state         protoimpl.MessageState
 	Field16694    []*Message16686 `protobuf:"bytes,2,rep,name=field16694" json:"field16694,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1854,10 +2026,18 @@
 func (*Message16685) ProtoMessage() {}
 
 func (x *Message16685) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16685) XXX_Methods() *protoiface.Methods {
+func (x *Message16685) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[19].Methods()
 }
 
@@ -1874,6 +2054,7 @@
 }
 
 type Message16816 struct {
+	state         protoimpl.MessageState
 	Field16826    *float32                     `protobuf:"fixed32,1,opt,name=field16826" json:"field16826,omitempty"`
 	Field16827    *Enum16819                   `protobuf:"varint,2,opt,name=field16827,enum=benchmarks.google_message3.Enum16819" json:"field16827,omitempty"`
 	Field16828    *float32                     `protobuf:"fixed32,3,opt,name=field16828" json:"field16828,omitempty"`
@@ -1899,10 +2080,18 @@
 func (*Message16816) ProtoMessage() {}
 
 func (x *Message16816) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16816) XXX_Methods() *protoiface.Methods {
+func (x *Message16816) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[20].Methods()
 }
 
@@ -1982,6 +2171,7 @@
 }
 
 type Message13168 struct {
+	state         protoimpl.MessageState
 	Field13212    *int32        `protobuf:"varint,1,req,name=field13212" json:"field13212,omitempty"`
 	Field13213    *uint64       `protobuf:"fixed64,7,opt,name=field13213" json:"field13213,omitempty"`
 	Field13214    *bool         `protobuf:"varint,8,opt,name=field13214" json:"field13214,omitempty"`
@@ -2008,10 +2198,18 @@
 func (*Message13168) ProtoMessage() {}
 
 func (x *Message13168) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13168) XXX_Methods() *protoiface.Methods {
+func (x *Message13168) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[21].Methods()
 }
 
@@ -2098,6 +2296,7 @@
 }
 
 type Message13167 struct {
+	state         protoimpl.MessageState
 	Field13199    *int32        `protobuf:"varint,1,req,name=field13199" json:"field13199,omitempty"`
 	Field13200    *int32        `protobuf:"varint,2,opt,name=field13200" json:"field13200,omitempty"`
 	Field13201    *int32        `protobuf:"varint,3,opt,name=field13201" json:"field13201,omitempty"`
@@ -2126,10 +2325,18 @@
 func (*Message13167) ProtoMessage() {}
 
 func (x *Message13167) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13167) XXX_Methods() *protoiface.Methods {
+func (x *Message13167) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[22].Methods()
 }
 
@@ -2230,6 +2437,7 @@
 }
 
 type Message1374 struct {
+	state         protoimpl.MessageState
 	Field1375     *string `protobuf:"bytes,1,req,name=field1375" json:"field1375,omitempty"`
 	Field1376     *string `protobuf:"bytes,2,opt,name=field1376" json:"field1376,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2247,10 +2455,18 @@
 func (*Message1374) ProtoMessage() {}
 
 func (x *Message1374) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message1374) XXX_Methods() *protoiface.Methods {
+func (x *Message1374) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[23].Methods()
 }
 
@@ -2274,6 +2490,7 @@
 }
 
 type Message18943 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2289,10 +2506,18 @@
 func (*Message18943) ProtoMessage() {}
 
 func (x *Message18943) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18943) XXX_Methods() *protoiface.Methods {
+func (x *Message18943) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[24].Methods()
 }
 
@@ -2302,6 +2527,7 @@
 }
 
 type Message18944 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2317,10 +2543,18 @@
 func (*Message18944) ProtoMessage() {}
 
 func (x *Message18944) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18944) XXX_Methods() *protoiface.Methods {
+func (x *Message18944) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[25].Methods()
 }
 
@@ -2330,6 +2564,7 @@
 }
 
 type Message18856 struct {
+	state         protoimpl.MessageState
 	Field18857    *string  `protobuf:"bytes,1,opt,name=field18857" json:"field18857,omitempty"`
 	Field18858    *string  `protobuf:"bytes,2,opt,name=field18858" json:"field18858,omitempty"`
 	Field18859    *bool    `protobuf:"varint,31,opt,name=field18859" json:"field18859,omitempty"`
@@ -2376,10 +2611,18 @@
 func (*Message18856) ProtoMessage() {}
 
 func (x *Message18856) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18856) XXX_Methods() *protoiface.Methods {
+func (x *Message18856) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[26].Methods()
 }
 
@@ -2606,6 +2849,7 @@
 }
 
 type Message3850 struct {
+	state         protoimpl.MessageState
 	Field3924     *Enum3851 `protobuf:"varint,2,opt,name=field3924,enum=benchmarks.google_message3.Enum3851" json:"field3924,omitempty"`
 	Field3925     *bool     `protobuf:"varint,12,opt,name=field3925" json:"field3925,omitempty"`
 	Field3926     *int32    `protobuf:"varint,4,opt,name=field3926" json:"field3926,omitempty"`
@@ -2627,10 +2871,18 @@
 func (*Message3850) ProtoMessage() {}
 
 func (x *Message3850) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3850) XXX_Methods() *protoiface.Methods {
+func (x *Message3850) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[27].Methods()
 }
 
@@ -2682,6 +2934,7 @@
 }
 
 type Message6721 struct {
+	state         protoimpl.MessageState
 	Field6744     *Message6722 `protobuf:"bytes,1,opt,name=field6744" json:"field6744,omitempty"`
 	Field6745     *bool        `protobuf:"varint,2,opt,name=field6745" json:"field6745,omitempty"`
 	Field6746     *bool        `protobuf:"varint,3,opt,name=field6746" json:"field6746,omitempty"`
@@ -2701,10 +2954,18 @@
 func (*Message6721) ProtoMessage() {}
 
 func (x *Message6721) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6721) XXX_Methods() *protoiface.Methods {
+func (x *Message6721) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[28].Methods()
 }
 
@@ -2742,6 +3003,7 @@
 }
 
 type Message6742 struct {
+	state         protoimpl.MessageState
 	Field6758     *bool `protobuf:"varint,1,opt,name=field6758" json:"field6758,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2758,10 +3020,18 @@
 func (*Message6742) ProtoMessage() {}
 
 func (x *Message6742) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6742) XXX_Methods() *protoiface.Methods {
+func (x *Message6742) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[29].Methods()
 }
 
@@ -2778,6 +3048,7 @@
 }
 
 type Message6726 struct {
+	state         protoimpl.MessageState
 	Field6752     *int64         `protobuf:"varint,1,opt,name=field6752" json:"field6752,omitempty"`
 	Field6753     []*Message6727 `protobuf:"bytes,2,rep,name=field6753" json:"field6753,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2795,10 +3066,18 @@
 func (*Message6726) ProtoMessage() {}
 
 func (x *Message6726) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6726) XXX_Methods() *protoiface.Methods {
+func (x *Message6726) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[30].Methods()
 }
 
@@ -2822,6 +3101,7 @@
 }
 
 type Message6733 struct {
+	state         protoimpl.MessageState
 	Field6754     *int64 `protobuf:"varint,1,opt,name=field6754" json:"field6754,omitempty"`
 	Field6755     *int64 `protobuf:"varint,2,opt,name=field6755" json:"field6755,omitempty"`
 	Field6756     *bool  `protobuf:"varint,3,opt,name=field6756" json:"field6756,omitempty"`
@@ -2840,10 +3120,18 @@
 func (*Message6733) ProtoMessage() {}
 
 func (x *Message6733) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6733) XXX_Methods() *protoiface.Methods {
+func (x *Message6733) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[31].Methods()
 }
 
@@ -2874,6 +3162,7 @@
 }
 
 type Message6723 struct {
+	state         protoimpl.MessageState
 	Field6748     *int64         `protobuf:"varint,1,opt,name=field6748" json:"field6748,omitempty"`
 	Field6749     []*Message6724 `protobuf:"bytes,2,rep,name=field6749" json:"field6749,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2891,10 +3180,18 @@
 func (*Message6723) ProtoMessage() {}
 
 func (x *Message6723) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6723) XXX_Methods() *protoiface.Methods {
+func (x *Message6723) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[32].Methods()
 }
 
@@ -2918,6 +3215,7 @@
 }
 
 type Message6725 struct {
+	state         protoimpl.MessageState
 	Field6750     *int32 `protobuf:"varint,1,opt,name=field6750" json:"field6750,omitempty"`
 	Field6751     *int32 `protobuf:"varint,2,opt,name=field6751" json:"field6751,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2935,10 +3233,18 @@
 func (*Message6725) ProtoMessage() {}
 
 func (x *Message6725) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[33].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[33]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6725) XXX_Methods() *protoiface.Methods {
+func (x *Message6725) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[33].Methods()
 }
 
@@ -2962,6 +3268,7 @@
 }
 
 type Message6734 struct {
+	state         protoimpl.MessageState
 	Field6757     []*Message6735 `protobuf:"bytes,1,rep,name=field6757" json:"field6757,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2978,10 +3285,18 @@
 func (*Message6734) ProtoMessage() {}
 
 func (x *Message6734) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[34].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[34]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6734) XXX_Methods() *protoiface.Methods {
+func (x *Message6734) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[34].Methods()
 }
 
@@ -2998,6 +3313,7 @@
 }
 
 type Message8184 struct {
+	state         protoimpl.MessageState
 	Field8228     *Message7966   `protobuf:"bytes,1,opt,name=field8228" json:"field8228,omitempty"`
 	Field8229     *bool          `protobuf:"varint,2,opt,name=field8229" json:"field8229,omitempty"`
 	Field8230     []*Message8183 `protobuf:"bytes,3,rep,name=field8230" json:"field8230,omitempty"`
@@ -3016,10 +3332,18 @@
 func (*Message8184) ProtoMessage() {}
 
 func (x *Message8184) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[35].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[35]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8184) XXX_Methods() *protoiface.Methods {
+func (x *Message8184) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[35].Methods()
 }
 
@@ -3050,6 +3374,7 @@
 }
 
 type Message8477 struct {
+	state         protoimpl.MessageState
 	Field8486     *Message7966 `protobuf:"bytes,1,opt,name=field8486" json:"field8486,omitempty"`
 	Field8487     *int64       `protobuf:"varint,2,opt,name=field8487" json:"field8487,omitempty"`
 	Field8488     *string      `protobuf:"bytes,3,opt,name=field8488" json:"field8488,omitempty"`
@@ -3068,10 +3393,18 @@
 func (*Message8477) ProtoMessage() {}
 
 func (x *Message8477) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[36].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[36]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8477) XXX_Methods() *protoiface.Methods {
+func (x *Message8477) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[36].Methods()
 }
 
@@ -3102,6 +3435,7 @@
 }
 
 type Message8454 struct {
+	state         protoimpl.MessageState
 	Field8465     *Message8449 `protobuf:"bytes,1,opt,name=field8465" json:"field8465,omitempty"`
 	Field8466     *int64       `protobuf:"varint,3,opt,name=field8466" json:"field8466,omitempty"`
 	Field8467     *int32       `protobuf:"varint,4,opt,name=field8467" json:"field8467,omitempty"`
@@ -3121,10 +3455,18 @@
 func (*Message8454) ProtoMessage() {}
 
 func (x *Message8454) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[37].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[37]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8454) XXX_Methods() *protoiface.Methods {
+func (x *Message8454) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[37].Methods()
 }
 
@@ -3162,6 +3504,7 @@
 }
 
 type Message8476 struct {
+	state         protoimpl.MessageState
 	Field8483     *string `protobuf:"bytes,1,opt,name=field8483" json:"field8483,omitempty"`
 	Field8484     *string `protobuf:"bytes,2,opt,name=field8484" json:"field8484,omitempty"`
 	Field8485     *string `protobuf:"bytes,3,opt,name=field8485" json:"field8485,omitempty"`
@@ -3180,10 +3523,18 @@
 func (*Message8476) ProtoMessage() {}
 
 func (x *Message8476) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[38].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[38]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8476) XXX_Methods() *protoiface.Methods {
+func (x *Message8476) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[38].Methods()
 }
 
@@ -3214,6 +3565,7 @@
 }
 
 type Message8455 struct {
+	state         protoimpl.MessageState
 	Field8470     *Message8449        `protobuf:"bytes,1,opt,name=field8470" json:"field8470,omitempty"`
 	Field8471     []*Message8456      `protobuf:"bytes,2,rep,name=field8471" json:"field8471,omitempty"`
 	Field8472     *Message8457        `protobuf:"bytes,5,opt,name=field8472" json:"field8472,omitempty"`
@@ -3233,10 +3585,18 @@
 func (*Message8455) ProtoMessage() {}
 
 func (x *Message8455) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[39].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[39]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8455) XXX_Methods() *protoiface.Methods {
+func (x *Message8455) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[39].Methods()
 }
 
@@ -3274,6 +3634,7 @@
 }
 
 type Message8475 struct {
+	state         protoimpl.MessageState
 	Field8481     *string `protobuf:"bytes,1,opt,name=field8481" json:"field8481,omitempty"`
 	Field8482     *int64  `protobuf:"varint,2,opt,name=field8482" json:"field8482,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3291,10 +3652,18 @@
 func (*Message8475) ProtoMessage() {}
 
 func (x *Message8475) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[40].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[40]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8475) XXX_Methods() *protoiface.Methods {
+func (x *Message8475) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[40].Methods()
 }
 
@@ -3318,6 +3687,7 @@
 }
 
 type Message12559 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3333,10 +3703,18 @@
 func (*Message12559) ProtoMessage() {}
 
 func (x *Message12559) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[41].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[41]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12559) XXX_Methods() *protoiface.Methods {
+func (x *Message12559) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[41].Methods()
 }
 
@@ -3346,6 +3724,7 @@
 }
 
 type Message12817 struct {
+	state         protoimpl.MessageState
 	Field12826    *int32 `protobuf:"varint,1,opt,name=field12826" json:"field12826,omitempty"`
 	Field12827    *int32 `protobuf:"varint,2,opt,name=field12827" json:"field12827,omitempty"`
 	Field12828    *int32 `protobuf:"varint,3,opt,name=field12828" json:"field12828,omitempty"`
@@ -3364,10 +3743,18 @@
 func (*Message12817) ProtoMessage() {}
 
 func (x *Message12817) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[42].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[42]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12817) XXX_Methods() *protoiface.Methods {
+func (x *Message12817) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[42].Methods()
 }
 
@@ -3398,6 +3785,7 @@
 }
 
 type Message16480 struct {
+	state         protoimpl.MessageState
 	Field16490    *Message13358 `protobuf:"bytes,1,opt,name=field16490" json:"field16490,omitempty"`
 	Field16491    *Enum16042    `protobuf:"varint,2,opt,name=field16491,enum=benchmarks.google_message3.Enum16042" json:"field16491,omitempty"`
 	Field16492    *Message13912 `protobuf:"bytes,3,opt,name=field16492" json:"field16492,omitempty"`
@@ -3422,10 +3810,18 @@
 func (*Message16480) ProtoMessage() {}
 
 func (x *Message16480) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[43].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[43]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16480) XXX_Methods() *protoiface.Methods {
+func (x *Message16480) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[43].Methods()
 }
 
@@ -3498,6 +3894,7 @@
 }
 
 type Message24317 struct {
+	state         protoimpl.MessageState
 	Field24446    *string               `protobuf:"bytes,1,opt,name=field24446" json:"field24446,omitempty"`
 	Field24447    *Message24312         `protobuf:"bytes,2,opt,name=field24447" json:"field24447,omitempty"`
 	Field24448    []*Message24315       `protobuf:"bytes,3,rep,name=field24448" json:"field24448,omitempty"`
@@ -3542,10 +3939,18 @@
 func (*Message24317) ProtoMessage() {}
 
 func (x *Message24317) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[44].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[44]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24317) XXX_Methods() *protoiface.Methods {
+func (x *Message24317) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[44].Methods()
 }
 
@@ -3758,6 +4163,7 @@
 }
 
 type Message33958_Message33959 struct {
+	state         protoimpl.MessageState
 	Field33982    *string   `protobuf:"bytes,3,req,name=field33982" json:"field33982,omitempty"`
 	Field33983    *string   `protobuf:"bytes,4,opt,name=field33983" json:"field33983,omitempty"`
 	Field33984    *string   `protobuf:"bytes,5,opt,name=field33984" json:"field33984,omitempty"`
@@ -3779,10 +4185,18 @@
 func (*Message33958_Message33959) ProtoMessage() {}
 
 func (x *Message33958_Message33959) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[45].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[45]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message33958_Message33959) XXX_Methods() *protoiface.Methods {
+func (x *Message33958_Message33959) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[45].Methods()
 }
 
@@ -3834,6 +4248,7 @@
 }
 
 type Message13083_Message13084 struct {
+	state         protoimpl.MessageState
 	Field13107    *float32    `protobuf:"fixed32,3,req,name=field13107" json:"field13107,omitempty"`
 	Field13108    *int32      `protobuf:"varint,4,req,name=field13108" json:"field13108,omitempty"`
 	Field13109    *float32    `protobuf:"fixed32,5,opt,name=field13109" json:"field13109,omitempty"`
@@ -3853,10 +4268,18 @@
 func (*Message13083_Message13084) ProtoMessage() {}
 
 func (x *Message13083_Message13084) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[46].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[46]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13083_Message13084) XXX_Methods() *protoiface.Methods {
+func (x *Message13083_Message13084) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[46].Methods()
 }
 
@@ -3894,6 +4317,7 @@
 }
 
 type Message13083_Message13085 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3909,10 +4333,18 @@
 func (*Message13083_Message13085) ProtoMessage() {}
 
 func (x *Message13083_Message13085) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[47].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[47]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13083_Message13085) XXX_Methods() *protoiface.Methods {
+func (x *Message13083_Message13085) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[47].Methods()
 }
 
@@ -3922,6 +4354,7 @@
 }
 
 type Message13083_Message13086 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3937,10 +4370,18 @@
 func (*Message13083_Message13086) ProtoMessage() {}
 
 func (x *Message13083_Message13086) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[48].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[48]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13083_Message13086) XXX_Methods() *protoiface.Methods {
+func (x *Message13083_Message13086) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[48].Methods()
 }
 
@@ -3950,6 +4391,7 @@
 }
 
 type Message13083_Message13087 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3965,10 +4407,18 @@
 func (*Message13083_Message13087) ProtoMessage() {}
 
 func (x *Message13083_Message13087) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[49].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[49]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13083_Message13087) XXX_Methods() *protoiface.Methods {
+func (x *Message13083_Message13087) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[49].Methods()
 }
 
@@ -3978,6 +4428,7 @@
 }
 
 type Message13088_Message13089 struct {
+	state         protoimpl.MessageState
 	Field13139    *string  `protobuf:"bytes,2,req,name=field13139" json:"field13139,omitempty"`
 	Field13140    *float32 `protobuf:"fixed32,3,opt,name=field13140" json:"field13140,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3995,10 +4446,18 @@
 func (*Message13088_Message13089) ProtoMessage() {}
 
 func (x *Message13088_Message13089) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[50].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[50]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13088_Message13089) XXX_Methods() *protoiface.Methods {
+func (x *Message13088_Message13089) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[50].Methods()
 }
 
@@ -4022,6 +4481,7 @@
 }
 
 type Message18253_Message18254 struct {
+	state         protoimpl.MessageState
 	Field18362    *uint64  `protobuf:"fixed64,2,req,name=field18362" json:"field18362,omitempty"`
 	Field18363    *float64 `protobuf:"fixed64,3,req,name=field18363" json:"field18363,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -4039,10 +4499,18 @@
 func (*Message18253_Message18254) ProtoMessage() {}
 
 func (x *Message18253_Message18254) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[51].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[51]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message18253_Message18254) XXX_Methods() *protoiface.Methods {
+func (x *Message18253_Message18254) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[51].Methods()
 }
 
@@ -4066,6 +4534,7 @@
 }
 
 type Message16816_Message16817 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -4081,10 +4550,18 @@
 func (*Message16816_Message16817) ProtoMessage() {}
 
 func (x *Message16816_Message16817) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[52].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[52]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16816_Message16817) XXX_Methods() *protoiface.Methods {
+func (x *Message16816_Message16817) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[52].Methods()
 }
 
@@ -4094,6 +4571,7 @@
 }
 
 type Message16816_Message16818 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -4109,10 +4587,18 @@
 func (*Message16816_Message16818) ProtoMessage() {}
 
 func (x *Message16816_Message16818) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[53].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[53]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16816_Message16818) XXX_Methods() *protoiface.Methods {
+func (x *Message16816_Message16818) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[53].Methods()
 }
 
@@ -5429,8 +5915,10 @@
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24346); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5438,36 +5926,8 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24401); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message24402); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message24379); i {
-			case 18:
-				return &v.sizeCache
-			case 19:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message27358); i {
+			case 0:
+				return &v.state
 			case 2:
 				return &v.sizeCache
 			case 3:
@@ -5476,70 +5936,22 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message34381); i {
-			case 10:
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message24402); i {
+			case 0:
+				return &v.state
+			case 2:
 				return &v.sizeCache
-			case 11:
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message34619); i {
-			case 7:
-				return &v.sizeCache
-			case 8:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message730); i {
-			case 33:
-				return &v.sizeCache
-			case 34:
-				return &v.unknownFields
-			case 35:
-				return &v.extensionFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message33958); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6637); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6643); i {
-			case 18:
-				return &v.sizeCache
-			case 19:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6126); i {
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message24379); i {
+			case 0:
+				return &v.state
 			case 19:
 				return &v.sizeCache
 			case 20:
@@ -5548,18 +5960,10 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message13083); i {
-			case 10:
-				return &v.sizeCache
-			case 11:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message13088); i {
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message27358); i {
+			case 0:
+				return &v.state
 			case 3:
 				return &v.sizeCache
 			case 4:
@@ -5568,30 +5972,108 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message10391); i {
-			case 9:
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message34381); i {
+			case 0:
+				return &v.state
+			case 11:
 				return &v.sizeCache
-			case 10:
+			case 12:
 				return &v.unknownFields
 			default:
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message11873); i {
-			case 12:
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message34619); i {
+			case 0:
+				return &v.state
+			case 8:
 				return &v.sizeCache
-			case 13:
+			case 9:
 				return &v.unknownFields
-			case 14:
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message730); i {
+			case 0:
+				return &v.state
+			case 34:
+				return &v.sizeCache
+			case 35:
+				return &v.unknownFields
+			case 36:
 				return &v.extensionFields
 			default:
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message35506); i {
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message33958); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6637); i {
+			case 0:
+				return &v.state
+			case 6:
+				return &v.sizeCache
+			case 7:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6643); i {
+			case 0:
+				return &v.state
+			case 19:
+				return &v.sizeCache
+			case 20:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6126); i {
+			case 0:
+				return &v.state
+			case 20:
+				return &v.sizeCache
+			case 21:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message13083); i {
+			case 0:
+				return &v.state
+			case 11:
+				return &v.sizeCache
+			case 12:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message13088); i {
+			case 0:
+				return &v.state
 			case 4:
 				return &v.sizeCache
 			case 5:
@@ -5600,38 +6082,10 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message13151); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message18253); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16685); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16816); i {
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message10391); i {
+			case 0:
+				return &v.state
 			case 10:
 				return &v.sizeCache
 			case 11:
@@ -5640,8 +6094,72 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message13168); i {
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message11873); i {
+			case 0:
+				return &v.state
+			case 13:
+				return &v.sizeCache
+			case 14:
+				return &v.unknownFields
+			case 15:
+				return &v.extensionFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message35506); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message13151); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message18253); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16685); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16816); i {
+			case 0:
+				return &v.state
 			case 11:
 				return &v.sizeCache
 			case 12:
@@ -5650,11 +6168,25 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message13168); i {
+			case 0:
+				return &v.state
+			case 12:
+				return &v.sizeCache
+			case 13:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13167); i {
-			case 13:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 14:
+				return &v.sizeCache
+			case 15:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5662,9 +6194,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message1374); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5673,8 +6207,10 @@
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message18943); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5683,8 +6219,10 @@
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message18944); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5692,9 +6230,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message18856); i {
-			case 31:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 32:
+				return &v.sizeCache
+			case 33:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5702,9 +6242,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3850); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5712,9 +6254,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6721); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5722,9 +6266,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6742); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5732,9 +6278,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6726); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5742,9 +6290,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6733); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5752,9 +6302,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6723); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5762,9 +6314,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6725); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5772,9 +6326,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6734); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5782,9 +6338,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8184); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5792,9 +6350,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8477); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5802,9 +6362,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8454); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5812,16 +6374,8 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8476); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message8455); i {
+			case 0:
+				return &v.state
 			case 4:
 				return &v.sizeCache
 			case 5:
@@ -5830,11 +6384,25 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message8455); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8475); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5843,8 +6411,10 @@
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12559); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5852,46 +6422,8 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12817); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message16480); i {
-			case 9:
-				return &v.sizeCache
-			case 10:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message24317); i {
-			case 29:
-				return &v.sizeCache
-			case 30:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message33958_Message33959); i {
-			case 6:
-				return &v.sizeCache
-			case 7:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message13083_Message13084); i {
+			case 0:
+				return &v.state
 			case 4:
 				return &v.sizeCache
 			case 5:
@@ -5900,11 +6432,61 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message16480); i {
+			case 0:
+				return &v.state
+			case 10:
+				return &v.sizeCache
+			case 11:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message24317); i {
+			case 0:
+				return &v.state
+			case 30:
+				return &v.sizeCache
+			case 31:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message33958_Message33959); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message13083_Message13084); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13083_Message13085); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5913,8 +6495,10 @@
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13083_Message13086); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5923,8 +6507,10 @@
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13083_Message13087); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5932,9 +6518,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13088_Message13089); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5942,9 +6530,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message18253_Message18254); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5953,8 +6543,10 @@
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message16816_Message16817); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5963,8 +6555,10 @@
 		file_datasets_google_message3_benchmark_message3_4_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message16816_Message16818); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_5.pb.go b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_5.pb.go
index cc1ddc4..b8391f5 100644
--- a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_5.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_5.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message24377 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*Message24377) ProtoMessage() {}
 
 func (x *Message24377) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24377) XXX_Methods() *protoiface.Methods {
+func (x *Message24377) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[0].Methods()
 }
 
@@ -46,6 +55,7 @@
 }
 
 type Message24378 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -61,10 +71,18 @@
 func (*Message24378) ProtoMessage() {}
 
 func (x *Message24378) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24378) XXX_Methods() *protoiface.Methods {
+func (x *Message24378) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[1].Methods()
 }
 
@@ -74,6 +92,7 @@
 }
 
 type Message24400 struct {
+	state         protoimpl.MessageState
 	Field24674    *int32 `protobuf:"varint,1,opt,name=field24674" json:"field24674,omitempty"`
 	Field24675    *int32 `protobuf:"varint,2,opt,name=field24675" json:"field24675,omitempty"`
 	Field24676    *int32 `protobuf:"varint,3,opt,name=field24676" json:"field24676,omitempty"`
@@ -94,10 +113,18 @@
 func (*Message24400) ProtoMessage() {}
 
 func (x *Message24400) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24400) XXX_Methods() *protoiface.Methods {
+func (x *Message24400) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[2].Methods()
 }
 
@@ -142,6 +169,7 @@
 }
 
 type Message24380 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -157,10 +185,18 @@
 func (*Message24380) ProtoMessage() {}
 
 func (x *Message24380) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24380) XXX_Methods() *protoiface.Methods {
+func (x *Message24380) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[3].Methods()
 }
 
@@ -170,6 +206,7 @@
 }
 
 type Message24381 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -185,10 +222,18 @@
 func (*Message24381) ProtoMessage() {}
 
 func (x *Message24381) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24381) XXX_Methods() *protoiface.Methods {
+func (x *Message24381) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[4].Methods()
 }
 
@@ -198,6 +243,7 @@
 }
 
 type Message719 struct {
+	state         protoimpl.MessageState
 	Field881      []string `protobuf:"bytes,1,rep,name=field881" json:"field881,omitempty"`
 	Field882      []string `protobuf:"bytes,2,rep,name=field882" json:"field882,omitempty"`
 	Field883      []string `protobuf:"bytes,3,rep,name=field883" json:"field883,omitempty"`
@@ -217,10 +263,18 @@
 func (*Message719) ProtoMessage() {}
 
 func (x *Message719) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message719) XXX_Methods() *protoiface.Methods {
+func (x *Message719) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[5].Methods()
 }
 
@@ -258,6 +312,7 @@
 }
 
 type Message728 struct {
+	state           protoimpl.MessageState
 	Field887        *string       `protobuf:"bytes,1,req,name=field887" json:"field887,omitempty"`
 	Field888        []string      `protobuf:"bytes,2,rep,name=field888" json:"field888,omitempty"`
 	Field889        []*Message703 `protobuf:"bytes,3,rep,name=field889" json:"field889,omitempty"`
@@ -283,10 +338,18 @@
 func (*Message728) ProtoMessage() {}
 
 func (x *Message728) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message728) XXX_Methods() *protoiface.Methods {
+func (x *Message728) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[6].Methods()
 }
 
@@ -370,6 +433,7 @@
 }
 
 type Message704 struct {
+	state         protoimpl.MessageState
 	Field800      *string             `protobuf:"bytes,1,opt,name=field800" json:"field800,omitempty"`
 	Field801      *string             `protobuf:"bytes,7,opt,name=field801" json:"field801,omitempty"`
 	Field802      *string             `protobuf:"bytes,2,opt,name=field802" json:"field802,omitempty"`
@@ -392,10 +456,18 @@
 func (*Message704) ProtoMessage() {}
 
 func (x *Message704) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message704) XXX_Methods() *protoiface.Methods {
+func (x *Message704) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[7].Methods()
 }
 
@@ -454,6 +526,7 @@
 }
 
 type Message697 struct {
+	state           protoimpl.MessageState
 	Field743        *string       `protobuf:"bytes,7,opt,name=field743" json:"field743,omitempty"`
 	Field744        []string      `protobuf:"bytes,1,rep,name=field744" json:"field744,omitempty"`
 	Field745        []string      `protobuf:"bytes,2,rep,name=field745" json:"field745,omitempty"`
@@ -506,10 +579,18 @@
 func (*Message697) ProtoMessage() {}
 
 func (x *Message697) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message697) XXX_Methods() *protoiface.Methods {
+func (x *Message697) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[8].Methods()
 }
 
@@ -781,6 +862,7 @@
 }
 
 type Message0 struct {
+	state           protoimpl.MessageState
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
 	extensionFields protoimpl.ExtensionFields
@@ -797,10 +879,18 @@
 func (*Message0) ProtoMessage() {}
 
 func (x *Message0) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message0) XXX_Methods() *protoiface.Methods {
+func (x *Message0) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[9].Methods()
 }
 
@@ -819,6 +909,7 @@
 }
 
 type Message6578 struct {
+	state         protoimpl.MessageState
 	Field6632     *Enum6579 `protobuf:"varint,1,opt,name=field6632,enum=benchmarks.google_message3.Enum6579" json:"field6632,omitempty"`
 	Field6633     *Enum6588 `protobuf:"varint,2,opt,name=field6633,enum=benchmarks.google_message3.Enum6588" json:"field6633,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -836,10 +927,18 @@
 func (*Message6578) ProtoMessage() {}
 
 func (x *Message6578) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6578) XXX_Methods() *protoiface.Methods {
+func (x *Message6578) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[10].Methods()
 }
 
@@ -863,6 +962,7 @@
 }
 
 type Message6024 struct {
+	state         protoimpl.MessageState
 	Field6048     *Enum6025           `protobuf:"varint,1,opt,name=field6048,enum=benchmarks.google_message3.Enum6025" json:"field6048,omitempty"`
 	Field6049     *string             `protobuf:"bytes,2,opt,name=field6049" json:"field6049,omitempty"`
 	Field6050     *UnusedEmptyMessage `protobuf:"bytes,3,opt,name=field6050" json:"field6050,omitempty"`
@@ -881,10 +981,18 @@
 func (*Message6024) ProtoMessage() {}
 
 func (x *Message6024) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6024) XXX_Methods() *protoiface.Methods {
+func (x *Message6024) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[11].Methods()
 }
 
@@ -915,6 +1023,7 @@
 }
 
 type Message6052 struct {
+	state         protoimpl.MessageState
 	Field6084     *string `protobuf:"bytes,1,req,name=field6084" json:"field6084,omitempty"`
 	Field6085     []byte  `protobuf:"bytes,2,req,name=field6085" json:"field6085,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -932,10 +1041,18 @@
 func (*Message6052) ProtoMessage() {}
 
 func (x *Message6052) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6052) XXX_Methods() *protoiface.Methods {
+func (x *Message6052) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[12].Methods()
 }
 
@@ -959,6 +1076,7 @@
 }
 
 type Message6054 struct {
+	state         protoimpl.MessageState
 	Field6089     *string `protobuf:"bytes,1,req,name=field6089" json:"field6089,omitempty"`
 	Field6090     *string `protobuf:"bytes,2,opt,name=field6090" json:"field6090,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -976,10 +1094,18 @@
 func (*Message6054) ProtoMessage() {}
 
 func (x *Message6054) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6054) XXX_Methods() *protoiface.Methods {
+func (x *Message6054) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[13].Methods()
 }
 
@@ -1003,6 +1129,7 @@
 }
 
 type Message10573 struct {
+	state           protoimpl.MessageState
 	Field10580      []*Message10576 `protobuf:"bytes,1,rep,name=field10580" json:"field10580,omitempty"`
 	Field10581      *string         `protobuf:"bytes,2,opt,name=field10581" json:"field10581,omitempty"`
 	sizeCache       protoimpl.SizeCache
@@ -1021,10 +1148,18 @@
 func (*Message10573) ProtoMessage() {}
 
 func (x *Message10573) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10573) XXX_Methods() *protoiface.Methods {
+func (x *Message10573) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[14].Methods()
 }
 
@@ -1057,6 +1192,7 @@
 }
 
 type Message10824 struct {
+	state         protoimpl.MessageState
 	Field10825    *string `protobuf:"bytes,1,req,name=field10825" json:"field10825,omitempty"`
 	Field10826    *int32  `protobuf:"varint,2,opt,name=field10826" json:"field10826,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1074,10 +1210,18 @@
 func (*Message10824) ProtoMessage() {}
 
 func (x *Message10824) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10824) XXX_Methods() *protoiface.Methods {
+func (x *Message10824) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[15].Methods()
 }
 
@@ -1101,6 +1245,7 @@
 }
 
 type Message10582 struct {
+	state         protoimpl.MessageState
 	Field10583    *bool    `protobuf:"varint,1,req,name=field10583" json:"field10583,omitempty"`
 	Field10584    *float64 `protobuf:"fixed64,2,req,name=field10584" json:"field10584,omitempty"`
 	Field10585    *bool    `protobuf:"varint,3,opt,name=field10585" json:"field10585,omitempty"`
@@ -1122,10 +1267,18 @@
 func (*Message10582) ProtoMessage() {}
 
 func (x *Message10582) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10582) XXX_Methods() *protoiface.Methods {
+func (x *Message10582) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[16].Methods()
 }
 
@@ -1177,6 +1330,7 @@
 }
 
 type Message10155 struct {
+	state           protoimpl.MessageState
 	Field10195      *int32                       `protobuf:"varint,1,req,name=field10195" json:"field10195,omitempty"`
 	Field10196      *int32                       `protobuf:"varint,2,req,name=field10196" json:"field10196,omitempty"`
 	Field10197      *Enum10157                   `protobuf:"varint,59,opt,name=field10197,enum=benchmarks.google_message3.Enum10157" json:"field10197,omitempty"`
@@ -1263,10 +1417,18 @@
 func (*Message10155) ProtoMessage() {}
 
 func (x *Message10155) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10155) XXX_Methods() *protoiface.Methods {
+func (x *Message10155) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[17].Methods()
 }
 
@@ -1776,6 +1938,7 @@
 }
 
 type Message11866 struct {
+	state         protoimpl.MessageState
 	Field11868    *Message11014         `protobuf:"bytes,1,req,name=field11868" json:"field11868,omitempty"`
 	Field11869    *bool                 `protobuf:"varint,2,opt,name=field11869" json:"field11869,omitempty"`
 	Field11870    *float64              `protobuf:"fixed64,3,opt,name=field11870" json:"field11870,omitempty"`
@@ -1796,10 +1959,18 @@
 func (*Message11866) ProtoMessage() {}
 
 func (x *Message11866) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11866) XXX_Methods() *protoiface.Methods {
+func (x *Message11866) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[18].Methods()
 }
 
@@ -1844,6 +2015,7 @@
 }
 
 type Message10469 struct {
+	state         protoimpl.MessageState
 	Field10473    *string  `protobuf:"bytes,1,opt,name=field10473" json:"field10473,omitempty"`
 	Field10474    *float32 `protobuf:"fixed32,2,opt,name=field10474" json:"field10474,omitempty"`
 	Field10475    *int32   `protobuf:"varint,3,opt,name=field10475" json:"field10475,omitempty"`
@@ -1868,10 +2040,18 @@
 func (*Message10469) ProtoMessage() {}
 
 func (x *Message10469) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10469) XXX_Methods() *protoiface.Methods {
+func (x *Message10469) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[19].Methods()
 }
 
@@ -1944,6 +2124,7 @@
 }
 
 type Message10818 struct {
+	state         protoimpl.MessageState
 	Field10819    *Message10800 `protobuf:"bytes,1,opt,name=field10819" json:"field10819,omitempty"`
 	Field10820    *Message10801 `protobuf:"bytes,2,opt,name=field10820" json:"field10820,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1961,10 +2142,18 @@
 func (*Message10818) ProtoMessage() {}
 
 func (x *Message10818) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10818) XXX_Methods() *protoiface.Methods {
+func (x *Message10818) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[20].Methods()
 }
 
@@ -1988,6 +2177,7 @@
 }
 
 type Message10773 struct {
+	state         protoimpl.MessageState
 	Field10774    *bool                 `protobuf:"varint,9,opt,name=field10774" json:"field10774,omitempty"`
 	Field10775    *bool                 `protobuf:"varint,1,opt,name=field10775" json:"field10775,omitempty"`
 	Field10776    *bool                 `protobuf:"varint,23,opt,name=field10776" json:"field10776,omitempty"`
@@ -2026,10 +2216,18 @@
 func (*Message10773) ProtoMessage() {}
 
 func (x *Message10773) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10773) XXX_Methods() *protoiface.Methods {
+func (x *Message10773) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[21].Methods()
 }
 
@@ -2200,6 +2398,7 @@
 }
 
 type Message13145 struct {
+	state           protoimpl.MessageState
 	Field13155      *Enum13146 `protobuf:"varint,1,req,name=field13155,enum=benchmarks.google_message3.Enum13146" json:"field13155,omitempty"`
 	Field13156      *float32   `protobuf:"fixed32,2,opt,name=field13156" json:"field13156,omitempty"`
 	Field13157      *float32   `protobuf:"fixed32,3,opt,name=field13157" json:"field13157,omitempty"`
@@ -2219,10 +2418,18 @@
 func (*Message13145) ProtoMessage() {}
 
 func (x *Message13145) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13145) XXX_Methods() *protoiface.Methods {
+func (x *Message13145) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[22].Methods()
 }
 
@@ -2262,6 +2469,7 @@
 }
 
 type Message16686 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2277,10 +2485,18 @@
 func (*Message16686) ProtoMessage() {}
 
 func (x *Message16686) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message16686) XXX_Methods() *protoiface.Methods {
+func (x *Message16686) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[23].Methods()
 }
 
@@ -2290,6 +2506,7 @@
 }
 
 type Message12796 struct {
+	state         protoimpl.MessageState
 	Field12800    []uint64 `protobuf:"fixed64,1,rep,name=field12800" json:"field12800,omitempty"`
 	Field12801    *uint64  `protobuf:"varint,2,opt,name=field12801" json:"field12801,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2307,10 +2524,18 @@
 func (*Message12796) ProtoMessage() {}
 
 func (x *Message12796) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12796) XXX_Methods() *protoiface.Methods {
+func (x *Message12796) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[24].Methods()
 }
 
@@ -2334,6 +2559,7 @@
 }
 
 type Message6722 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2349,10 +2575,18 @@
 func (*Message6722) ProtoMessage() {}
 
 func (x *Message6722) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6722) XXX_Methods() *protoiface.Methods {
+func (x *Message6722) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[25].Methods()
 }
 
@@ -2362,6 +2596,7 @@
 }
 
 type Message6727 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2377,10 +2612,18 @@
 func (*Message6727) ProtoMessage() {}
 
 func (x *Message6727) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6727) XXX_Methods() *protoiface.Methods {
+func (x *Message6727) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[26].Methods()
 }
 
@@ -2390,6 +2633,7 @@
 }
 
 type Message6724 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2405,10 +2649,18 @@
 func (*Message6724) ProtoMessage() {}
 
 func (x *Message6724) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6724) XXX_Methods() *protoiface.Methods {
+func (x *Message6724) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[27].Methods()
 }
 
@@ -2418,6 +2670,7 @@
 }
 
 type Message6735 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2433,10 +2686,18 @@
 func (*Message6735) ProtoMessage() {}
 
 func (x *Message6735) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6735) XXX_Methods() *protoiface.Methods {
+func (x *Message6735) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[28].Methods()
 }
 
@@ -2446,6 +2707,7 @@
 }
 
 type Message8183 struct {
+	state         protoimpl.MessageState
 	Field8226     *string `protobuf:"bytes,1,opt,name=field8226" json:"field8226,omitempty"`
 	Field8227     *string `protobuf:"bytes,2,opt,name=field8227" json:"field8227,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2463,10 +2725,18 @@
 func (*Message8183) ProtoMessage() {}
 
 func (x *Message8183) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8183) XXX_Methods() *protoiface.Methods {
+func (x *Message8183) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[29].Methods()
 }
 
@@ -2490,6 +2760,7 @@
 }
 
 type Message8301 struct {
+	state           protoimpl.MessageState
 	Field8328       *string             `protobuf:"bytes,1,opt,name=field8328" json:"field8328,omitempty"`
 	Field8329       *Message7966        `protobuf:"bytes,2,opt,name=field8329" json:"field8329,omitempty"`
 	Field8330       *string             `protobuf:"bytes,3,opt,name=field8330" json:"field8330,omitempty"`
@@ -2517,10 +2788,18 @@
 func (*Message8301) ProtoMessage() {}
 
 func (x *Message8301) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8301) XXX_Methods() *protoiface.Methods {
+func (x *Message8301) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[30].Methods()
 }
 
@@ -2616,6 +2895,7 @@
 }
 
 type Message8456 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2631,10 +2911,18 @@
 func (*Message8456) ProtoMessage() {}
 
 func (x *Message8456) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8456) XXX_Methods() *protoiface.Methods {
+func (x *Message8456) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[31].Methods()
 }
 
@@ -2644,6 +2932,7 @@
 }
 
 type Message8302 struct {
+	state           protoimpl.MessageState
 	Field8339       *string               `protobuf:"bytes,1,opt,name=field8339" json:"field8339,omitempty"`
 	Field8340       *Message7966          `protobuf:"bytes,2,opt,name=field8340" json:"field8340,omitempty"`
 	Field8341       *string               `protobuf:"bytes,3,opt,name=field8341" json:"field8341,omitempty"`
@@ -2681,10 +2970,18 @@
 func (*Message8302) ProtoMessage() {}
 
 func (x *Message8302) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8302) XXX_Methods() *protoiface.Methods {
+func (x *Message8302) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[32].Methods()
 }
 
@@ -2850,6 +3147,7 @@
 }
 
 type Message8457 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2865,10 +3163,18 @@
 func (*Message8457) ProtoMessage() {}
 
 func (x *Message8457) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[33].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[33]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8457) XXX_Methods() *protoiface.Methods {
+func (x *Message8457) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[33].Methods()
 }
 
@@ -2878,6 +3184,7 @@
 }
 
 type Message8449 struct {
+	state         protoimpl.MessageState
 	Field8458     *string      `protobuf:"bytes,1,opt,name=field8458" json:"field8458,omitempty"`
 	Field8459     *bool        `protobuf:"varint,2,opt,name=field8459" json:"field8459,omitempty"`
 	Field8460     *Enum8450    `protobuf:"varint,3,opt,name=field8460,enum=benchmarks.google_message3.Enum8450" json:"field8460,omitempty"`
@@ -2900,10 +3207,18 @@
 func (*Message8449) ProtoMessage() {}
 
 func (x *Message8449) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[34].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[34]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8449) XXX_Methods() *protoiface.Methods {
+func (x *Message8449) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[34].Methods()
 }
 
@@ -2962,6 +3277,7 @@
 }
 
 type Message13358 struct {
+	state         protoimpl.MessageState
 	Field13359    *uint64             `protobuf:"fixed64,1,req,name=field13359" json:"field13359,omitempty"`
 	Field13360    *uint64             `protobuf:"fixed64,2,req,name=field13360" json:"field13360,omitempty"`
 	Field13361    *UnusedEmptyMessage `protobuf:"bytes,3,opt,name=field13361" json:"field13361,omitempty"`
@@ -2980,10 +3296,18 @@
 func (*Message13358) ProtoMessage() {}
 
 func (x *Message13358) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[35].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[35]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13358) XXX_Methods() *protoiface.Methods {
+func (x *Message13358) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[35].Methods()
 }
 
@@ -3014,6 +3338,7 @@
 }
 
 type Message13912 struct {
+	state         protoimpl.MessageState
 	Field13913    *uint32             `protobuf:"fixed32,1,req,name=field13913" json:"field13913,omitempty"`
 	Field13914    *uint32             `protobuf:"fixed32,2,req,name=field13914" json:"field13914,omitempty"`
 	Field13915    *UnusedEmptyMessage `protobuf:"bytes,500,opt,name=field13915" json:"field13915,omitempty"`
@@ -3033,10 +3358,18 @@
 func (*Message13912) ProtoMessage() {}
 
 func (x *Message13912) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[36].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[36]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13912) XXX_Methods() *protoiface.Methods {
+func (x *Message13912) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[36].Methods()
 }
 
@@ -3074,6 +3407,7 @@
 }
 
 type Message24316 struct {
+	state         protoimpl.MessageState
 	Field24443    []string `protobuf:"bytes,1,rep,name=field24443" json:"field24443,omitempty"`
 	Field24444    []string `protobuf:"bytes,2,rep,name=field24444" json:"field24444,omitempty"`
 	Field24445    []string `protobuf:"bytes,3,rep,name=field24445" json:"field24445,omitempty"`
@@ -3092,10 +3426,18 @@
 func (*Message24316) ProtoMessage() {}
 
 func (x *Message24316) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[37].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[37]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24316) XXX_Methods() *protoiface.Methods {
+func (x *Message24316) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[37].Methods()
 }
 
@@ -3126,6 +3468,7 @@
 }
 
 type Message24312 struct {
+	state         protoimpl.MessageState
 	Field24421    *string  `protobuf:"bytes,1,opt,name=field24421" json:"field24421,omitempty"`
 	Field24422    *string  `protobuf:"bytes,2,opt,name=field24422" json:"field24422,omitempty"`
 	Field24423    []string `protobuf:"bytes,3,rep,name=field24423" json:"field24423,omitempty"`
@@ -3147,10 +3490,18 @@
 func (*Message24312) ProtoMessage() {}
 
 func (x *Message24312) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[38].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[38]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24312) XXX_Methods() *protoiface.Methods {
+func (x *Message24312) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[38].Methods()
 }
 
@@ -3202,6 +3553,7 @@
 }
 
 type Message24313 struct {
+	state         protoimpl.MessageState
 	Field24427    *string  `protobuf:"bytes,1,opt,name=field24427" json:"field24427,omitempty"`
 	Field24428    *string  `protobuf:"bytes,2,opt,name=field24428" json:"field24428,omitempty"`
 	Field24429    []string `protobuf:"bytes,3,rep,name=field24429" json:"field24429,omitempty"`
@@ -3227,10 +3579,18 @@
 func (*Message24313) ProtoMessage() {}
 
 func (x *Message24313) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[39].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[39]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24313) XXX_Methods() *protoiface.Methods {
+func (x *Message24313) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[39].Methods()
 }
 
@@ -3310,6 +3670,7 @@
 }
 
 type Message24315 struct {
+	state         protoimpl.MessageState
 	Field24440    *string  `protobuf:"bytes,1,req,name=field24440" json:"field24440,omitempty"`
 	Field24441    []string `protobuf:"bytes,2,rep,name=field24441" json:"field24441,omitempty"`
 	Field24442    []string `protobuf:"bytes,3,rep,name=field24442" json:"field24442,omitempty"`
@@ -3328,10 +3689,18 @@
 func (*Message24315) ProtoMessage() {}
 
 func (x *Message24315) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[40].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[40]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message24315) XXX_Methods() *protoiface.Methods {
+func (x *Message24315) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[40].Methods()
 }
 
@@ -3362,6 +3731,7 @@
 }
 
 type Message716 struct {
+	state         protoimpl.MessageState
 	Field872      *string     `protobuf:"bytes,1,req,name=field872" json:"field872,omitempty"`
 	Field873      *int32      `protobuf:"varint,2,req,name=field873" json:"field873,omitempty"`
 	Field874      *bool       `protobuf:"varint,3,opt,name=field874" json:"field874,omitempty"`
@@ -3381,10 +3751,18 @@
 func (*Message716) ProtoMessage() {}
 
 func (x *Message716) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[41].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[41]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message716) XXX_Methods() *protoiface.Methods {
+func (x *Message716) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[41].Methods()
 }
 
@@ -3422,6 +3800,7 @@
 }
 
 type Message718 struct {
+	state         protoimpl.MessageState
 	Field878      []string `protobuf:"bytes,1,rep,name=field878" json:"field878,omitempty"`
 	Field879      []string `protobuf:"bytes,2,rep,name=field879" json:"field879,omitempty"`
 	Field880      *string  `protobuf:"bytes,3,opt,name=field880" json:"field880,omitempty"`
@@ -3440,10 +3819,18 @@
 func (*Message718) ProtoMessage() {}
 
 func (x *Message718) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[42].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[42]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message718) XXX_Methods() *protoiface.Methods {
+func (x *Message718) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[42].Methods()
 }
 
@@ -3474,6 +3861,7 @@
 }
 
 type Message703 struct {
+	state         protoimpl.MessageState
 	Field795      *string  `protobuf:"bytes,1,req,name=field795" json:"field795,omitempty"`
 	Field796      []string `protobuf:"bytes,2,rep,name=field796" json:"field796,omitempty"`
 	Field797      []string `protobuf:"bytes,3,rep,name=field797" json:"field797,omitempty"`
@@ -3494,10 +3882,18 @@
 func (*Message703) ProtoMessage() {}
 
 func (x *Message703) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[43].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[43]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message703) XXX_Methods() *protoiface.Methods {
+func (x *Message703) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[43].Methods()
 }
 
@@ -3542,6 +3938,7 @@
 }
 
 type Message715 struct {
+	state         protoimpl.MessageState
 	Field859      *string       `protobuf:"bytes,1,req,name=field859" json:"field859,omitempty"`
 	Field860      *string       `protobuf:"bytes,7,opt,name=field860" json:"field860,omitempty"`
 	Field861      []*Message707 `protobuf:"bytes,2,rep,name=field861" json:"field861,omitempty"`
@@ -3570,10 +3967,18 @@
 func (*Message715) ProtoMessage() {}
 
 func (x *Message715) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[44].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[44]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message715) XXX_Methods() *protoiface.Methods {
+func (x *Message715) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[44].Methods()
 }
 
@@ -3674,6 +4079,7 @@
 }
 
 type Message700 struct {
+	state         protoimpl.MessageState
 	Field789      []string `protobuf:"bytes,1,rep,name=field789" json:"field789,omitempty"`
 	Field790      []string `protobuf:"bytes,2,rep,name=field790" json:"field790,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3691,10 +4097,18 @@
 func (*Message700) ProtoMessage() {}
 
 func (x *Message700) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[45].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[45]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message700) XXX_Methods() *protoiface.Methods {
+func (x *Message700) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[45].Methods()
 }
 
@@ -3718,6 +4132,7 @@
 }
 
 type Message699 struct {
+	state         protoimpl.MessageState
 	Field787      *string  `protobuf:"bytes,1,req,name=field787" json:"field787,omitempty"`
 	Field788      []string `protobuf:"bytes,2,rep,name=field788" json:"field788,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3735,10 +4150,18 @@
 func (*Message699) ProtoMessage() {}
 
 func (x *Message699) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[46].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[46]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message699) XXX_Methods() *protoiface.Methods {
+func (x *Message699) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[46].Methods()
 }
 
@@ -3762,6 +4185,7 @@
 }
 
 type Message698 struct {
+	state         protoimpl.MessageState
 	Field779      *string  `protobuf:"bytes,1,opt,name=field779" json:"field779,omitempty"`
 	Field780      *string  `protobuf:"bytes,2,opt,name=field780" json:"field780,omitempty"`
 	Field781      *string  `protobuf:"bytes,3,opt,name=field781" json:"field781,omitempty"`
@@ -3785,10 +4209,18 @@
 func (*Message698) ProtoMessage() {}
 
 func (x *Message698) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[47].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[47]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message698) XXX_Methods() *protoiface.Methods {
+func (x *Message698) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[47].Methods()
 }
 
@@ -3854,6 +4286,7 @@
 }
 
 type Message10155_Message10156 struct {
+	state         protoimpl.MessageState
 	Field10266    *Enum8862 `protobuf:"varint,51,opt,name=field10266,enum=benchmarks.google_message3.Enum8862" json:"field10266,omitempty"`
 	Field10267    *int32    `protobuf:"varint,52,opt,name=field10267" json:"field10267,omitempty"`
 	Field10268    *int32    `protobuf:"varint,53,opt,name=field10268" json:"field10268,omitempty"`
@@ -3873,10 +4306,18 @@
 func (*Message10155_Message10156) ProtoMessage() {}
 
 func (x *Message10155_Message10156) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[48].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[48]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10155_Message10156) XXX_Methods() *protoiface.Methods {
+func (x *Message10155_Message10156) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[48].Methods()
 }
 
@@ -4962,8 +5403,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24377); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4972,8 +5415,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24378); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4981,9 +5426,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24400); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4992,8 +5439,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24380); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5002,8 +5451,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message24381); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5011,9 +5462,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message719); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5021,11 +5474,13 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message728); i {
-			case 9:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 10:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 11:
+				return &v.unknownFields
+			case 12:
 				return &v.extensionFields
 			default:
 				return nil
@@ -5033,9 +5488,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message704); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5043,11 +5500,13 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message697); i {
-			case 36:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 37:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 38:
+				return &v.unknownFields
+			case 39:
 				return &v.extensionFields
 			default:
 				return nil
@@ -5056,10 +5515,12 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message0); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 2:
+				return &v.unknownFields
+			case 3:
 				return &v.extensionFields
 			default:
 				return nil
@@ -5067,9 +5528,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6578); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5077,9 +5540,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6024); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5087,9 +5552,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6052); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5097,9 +5564,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6054); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5107,11 +5576,13 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10573); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 4:
+				return &v.unknownFields
+			case 5:
 				return &v.extensionFields
 			default:
 				return nil
@@ -5119,9 +5590,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10824); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5129,6 +5602,34 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10582); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message10155); i {
+			case 0:
+				return &v.state
+			case 71:
+				return &v.sizeCache
+			case 72:
+				return &v.unknownFields
+			case 73:
+				return &v.extensionFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message11866); i {
+			case 0:
+				return &v.state
 			case 6:
 				return &v.sizeCache
 			case 7:
@@ -5137,33 +5638,13 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message10155); i {
-			case 70:
-				return &v.sizeCache
-			case 71:
-				return &v.unknownFields
-			case 72:
-				return &v.extensionFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message11866); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10469); i {
-			case 9:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 10:
+				return &v.sizeCache
+			case 11:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5171,9 +5652,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10818); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5181,9 +5664,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10773); i {
-			case 23:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 24:
+				return &v.sizeCache
+			case 25:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5191,11 +5676,13 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13145); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 5:
+				return &v.unknownFields
+			case 6:
 				return &v.extensionFields
 			default:
 				return nil
@@ -5204,8 +5691,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message16686); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5213,9 +5702,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12796); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5224,8 +5715,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6722); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5234,8 +5727,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6727); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5244,8 +5739,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6724); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5254,8 +5751,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6735); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5263,9 +5762,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8183); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5273,11 +5774,13 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8301); i {
-			case 11:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 12:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 13:
+				return &v.unknownFields
+			case 14:
 				return &v.extensionFields
 			default:
 				return nil
@@ -5286,8 +5789,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8456); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5295,11 +5800,13 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8302); i {
-			case 21:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 22:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 23:
+				return &v.unknownFields
+			case 24:
 				return &v.extensionFields
 			default:
 				return nil
@@ -5308,8 +5815,10 @@
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8457); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5317,136 +5826,8 @@
 		}
 		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8449); i {
-			case 7:
-				return &v.sizeCache
-			case 8:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message13358); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message13912); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message24316); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message24312); i {
-			case 6:
-				return &v.sizeCache
-			case 7:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message24313); i {
-			case 10:
-				return &v.sizeCache
-			case 11:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message24315); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message716); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message718); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message703); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message715); i {
-			case 13:
-				return &v.sizeCache
-			case 14:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message700); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message699); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message698); i {
+			case 0:
+				return &v.state
 			case 8:
 				return &v.sizeCache
 			case 9:
@@ -5455,8 +5836,10 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message10155_Message10156); i {
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message13358); i {
+			case 0:
+				return &v.state
 			case 4:
 				return &v.sizeCache
 			case 5:
@@ -5465,6 +5848,162 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message13912); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message24316); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message24312); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message24313); i {
+			case 0:
+				return &v.state
+			case 11:
+				return &v.sizeCache
+			case 12:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message24315); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message716); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message718); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message703); i {
+			case 0:
+				return &v.state
+			case 6:
+				return &v.sizeCache
+			case 7:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message715); i {
+			case 0:
+				return &v.state
+			case 14:
+				return &v.sizeCache
+			case 15:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message700); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message699); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message698); i {
+			case 0:
+				return &v.state
+			case 9:
+				return &v.sizeCache
+			case 10:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_5_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message10155_Message10156); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 	}
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
diff --git a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_6.pb.go b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_6.pb.go
index 80fd184..3fd2b21 100644
--- a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_6.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_6.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message10576 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*Message10576) ProtoMessage() {}
 
 func (x *Message10576) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10576) XXX_Methods() *protoiface.Methods {
+func (x *Message10576) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[0].Methods()
 }
 
@@ -46,6 +55,7 @@
 }
 
 type Message10154 struct {
+	state         protoimpl.MessageState
 	Field10192    []byte `protobuf:"bytes,1,opt,name=field10192" json:"field10192,omitempty"`
 	Field10193    *int32 `protobuf:"varint,2,opt,name=field10193" json:"field10193,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -63,10 +73,18 @@
 func (*Message10154) ProtoMessage() {}
 
 func (x *Message10154) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10154) XXX_Methods() *protoiface.Methods {
+func (x *Message10154) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[1].Methods()
 }
 
@@ -90,6 +108,7 @@
 }
 
 type Message8944 struct {
+	state         protoimpl.MessageState
 	Field9045     *string      `protobuf:"bytes,2,opt,name=field9045" json:"field9045,omitempty"`
 	Field9046     *string      `protobuf:"bytes,3,opt,name=field9046" json:"field9046,omitempty"`
 	Field9047     *string      `protobuf:"bytes,23,opt,name=field9047" json:"field9047,omitempty"`
@@ -167,10 +186,18 @@
 func (*Message8944) ProtoMessage() {}
 
 func (x *Message8944) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8944) XXX_Methods() *protoiface.Methods {
+func (x *Message8944) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[2].Methods()
 }
 
@@ -614,6 +641,7 @@
 }
 
 type Message9182 struct {
+	state           protoimpl.MessageState
 	Field9205       *string               `protobuf:"bytes,1,opt,name=field9205" json:"field9205,omitempty"`
 	Field9206       *string               `protobuf:"bytes,2,opt,name=field9206" json:"field9206,omitempty"`
 	Field9207       *float32              `protobuf:"fixed32,16,opt,name=field9207" json:"field9207,omitempty"`
@@ -656,10 +684,18 @@
 func (*Message9182) ProtoMessage() {}
 
 func (x *Message9182) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9182) XXX_Methods() *protoiface.Methods {
+func (x *Message9182) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[3].Methods()
 }
 
@@ -864,6 +900,7 @@
 }
 
 type Message9160 struct {
+	state         protoimpl.MessageState
 	Field9161     *int32 `protobuf:"varint,1,opt,name=field9161" json:"field9161,omitempty"`
 	Field9162     []byte `protobuf:"bytes,2,opt,name=field9162" json:"field9162,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -881,10 +918,18 @@
 func (*Message9160) ProtoMessage() {}
 
 func (x *Message9160) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9160) XXX_Methods() *protoiface.Methods {
+func (x *Message9160) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[4].Methods()
 }
 
@@ -908,6 +953,7 @@
 }
 
 type Message9242 struct {
+	state         protoimpl.MessageState
 	Field9327     []Enum9243 `protobuf:"varint,1,rep,name=field9327,enum=benchmarks.google_message3.Enum9243" json:"field9327,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -924,10 +970,18 @@
 func (*Message9242) ProtoMessage() {}
 
 func (x *Message9242) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9242) XXX_Methods() *protoiface.Methods {
+func (x *Message9242) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[5].Methods()
 }
 
@@ -944,6 +998,7 @@
 }
 
 type Message8890 struct {
+	state         protoimpl.MessageState
 	Field8916     []*Message8888 `protobuf:"bytes,1,rep,name=field8916" json:"field8916,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -960,10 +1015,18 @@
 func (*Message8890) ProtoMessage() {}
 
 func (x *Message8890) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8890) XXX_Methods() *protoiface.Methods {
+func (x *Message8890) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[6].Methods()
 }
 
@@ -980,6 +1043,7 @@
 }
 
 type Message9123 struct {
+	state         protoimpl.MessageState
 	Field9135     *float32 `protobuf:"fixed32,1,opt,name=field9135" json:"field9135,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -996,10 +1060,18 @@
 func (*Message9123) ProtoMessage() {}
 
 func (x *Message9123) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9123) XXX_Methods() *protoiface.Methods {
+func (x *Message9123) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[7].Methods()
 }
 
@@ -1016,6 +1088,7 @@
 }
 
 type Message9628 struct {
+	state         protoimpl.MessageState
 	Field9673     *Message9627 `protobuf:"bytes,1,opt,name=field9673" json:"field9673,omitempty"`
 	Field9674     *string      `protobuf:"bytes,2,opt,name=field9674" json:"field9674,omitempty"`
 	Field9675     []int32      `protobuf:"varint,3,rep,name=field9675" json:"field9675,omitempty"`
@@ -1035,10 +1108,18 @@
 func (*Message9628) ProtoMessage() {}
 
 func (x *Message9628) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9628) XXX_Methods() *protoiface.Methods {
+func (x *Message9628) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[8].Methods()
 }
 
@@ -1076,6 +1157,7 @@
 }
 
 type Message11014 struct {
+	state         protoimpl.MessageState
 	Field11780    *int32                `protobuf:"varint,40,opt,name=field11780" json:"field11780,omitempty"`
 	Field11781    *string               `protobuf:"bytes,46,opt,name=field11781" json:"field11781,omitempty"`
 	Field11782    *bool                 `protobuf:"varint,47,opt,name=field11782" json:"field11782,omitempty"`
@@ -1156,10 +1238,18 @@
 func (*Message11014) ProtoMessage() {}
 
 func (x *Message11014) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11014) XXX_Methods() *protoiface.Methods {
+func (x *Message11014) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[9].Methods()
 }
 
@@ -1624,6 +1714,7 @@
 }
 
 type Message10801 struct {
+	state         protoimpl.MessageState
 	Field10812    *Message10800   `protobuf:"bytes,1,opt,name=field10812" json:"field10812,omitempty"`
 	Field10813    []*Message10802 `protobuf:"bytes,2,rep,name=field10813" json:"field10813,omitempty"`
 	Field10814    *int32          `protobuf:"varint,3,opt,name=field10814" json:"field10814,omitempty"`
@@ -1642,10 +1733,18 @@
 func (*Message10801) ProtoMessage() {}
 
 func (x *Message10801) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10801) XXX_Methods() *protoiface.Methods {
+func (x *Message10801) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[10].Methods()
 }
 
@@ -1676,6 +1775,7 @@
 }
 
 type Message10749 struct {
+	state         protoimpl.MessageState
 	Field10754    []*Message10748 `protobuf:"bytes,1,rep,name=field10754" json:"field10754,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1692,10 +1792,18 @@
 func (*Message10749) ProtoMessage() {}
 
 func (x *Message10749) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10749) XXX_Methods() *protoiface.Methods {
+func (x *Message10749) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[11].Methods()
 }
 
@@ -1712,6 +1820,7 @@
 }
 
 type Message8298 struct {
+	state         protoimpl.MessageState
 	Field8321     *Message7966 `protobuf:"bytes,1,opt,name=field8321" json:"field8321,omitempty"`
 	Field8322     *int64       `protobuf:"varint,2,opt,name=field8322" json:"field8322,omitempty"`
 	Field8323     *string      `protobuf:"bytes,3,opt,name=field8323" json:"field8323,omitempty"`
@@ -1730,10 +1839,18 @@
 func (*Message8298) ProtoMessage() {}
 
 func (x *Message8298) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8298) XXX_Methods() *protoiface.Methods {
+func (x *Message8298) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[12].Methods()
 }
 
@@ -1764,6 +1881,7 @@
 }
 
 type Message8300 struct {
+	state         protoimpl.MessageState
 	Field8326     *string      `protobuf:"bytes,1,opt,name=field8326" json:"field8326,omitempty"`
 	Field8327     *Message7966 `protobuf:"bytes,2,opt,name=field8327" json:"field8327,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1781,10 +1899,18 @@
 func (*Message8300) ProtoMessage() {}
 
 func (x *Message8300) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8300) XXX_Methods() *protoiface.Methods {
+func (x *Message8300) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[13].Methods()
 }
 
@@ -1808,6 +1934,7 @@
 }
 
 type Message8291 struct {
+	state         protoimpl.MessageState
 	Field8306     *string   `protobuf:"bytes,1,opt,name=field8306" json:"field8306,omitempty"`
 	Field8307     *int32    `protobuf:"varint,2,opt,name=field8307" json:"field8307,omitempty"`
 	Field8308     *string   `protobuf:"bytes,3,opt,name=field8308" json:"field8308,omitempty"`
@@ -1828,10 +1955,18 @@
 func (*Message8291) ProtoMessage() {}
 
 func (x *Message8291) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8291) XXX_Methods() *protoiface.Methods {
+func (x *Message8291) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[14].Methods()
 }
 
@@ -1876,6 +2011,7 @@
 }
 
 type Message8296 struct {
+	state         protoimpl.MessageState
 	Field8311     *Message7966 `protobuf:"bytes,1,opt,name=field8311" json:"field8311,omitempty"`
 	Field8312     *string      `protobuf:"bytes,2,opt,name=field8312" json:"field8312,omitempty"`
 	Field8313     *Message7966 `protobuf:"bytes,3,opt,name=field8313" json:"field8313,omitempty"`
@@ -1897,10 +2033,18 @@
 func (*Message8296) ProtoMessage() {}
 
 func (x *Message8296) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8296) XXX_Methods() *protoiface.Methods {
+func (x *Message8296) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[15].Methods()
 }
 
@@ -1952,6 +2096,7 @@
 }
 
 type Message7965 struct {
+	state         protoimpl.MessageState
 	Field7967     *int32 `protobuf:"varint,1,opt,name=field7967" json:"field7967,omitempty"`
 	Field7968     *int32 `protobuf:"varint,2,opt,name=field7968" json:"field7968,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1969,10 +2114,18 @@
 func (*Message7965) ProtoMessage() {}
 
 func (x *Message7965) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7965) XXX_Methods() *protoiface.Methods {
+func (x *Message7965) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[16].Methods()
 }
 
@@ -1996,6 +2149,7 @@
 }
 
 type Message8290 struct {
+	state         protoimpl.MessageState
 	Field8304     *string `protobuf:"bytes,1,opt,name=field8304" json:"field8304,omitempty"`
 	Field8305     *string `protobuf:"bytes,2,opt,name=field8305" json:"field8305,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2013,10 +2167,18 @@
 func (*Message8290) ProtoMessage() {}
 
 func (x *Message8290) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8290) XXX_Methods() *protoiface.Methods {
+func (x *Message8290) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[17].Methods()
 }
 
@@ -2040,6 +2202,7 @@
 }
 
 type Message717 struct {
+	state         protoimpl.MessageState
 	Field876      []string `protobuf:"bytes,1,rep,name=field876" json:"field876,omitempty"`
 	Field877      *float64 `protobuf:"fixed64,2,opt,name=field877" json:"field877,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2057,10 +2220,18 @@
 func (*Message717) ProtoMessage() {}
 
 func (x *Message717) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message717) XXX_Methods() *protoiface.Methods {
+func (x *Message717) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[18].Methods()
 }
 
@@ -2084,6 +2255,7 @@
 }
 
 type Message713 struct {
+	state         protoimpl.MessageState
 	Field852      *Message708 `protobuf:"bytes,1,req,name=field852" json:"field852,omitempty"`
 	Field853      []string    `protobuf:"bytes,2,rep,name=field853" json:"field853,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2101,10 +2273,18 @@
 func (*Message713) ProtoMessage() {}
 
 func (x *Message713) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message713) XXX_Methods() *protoiface.Methods {
+func (x *Message713) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[19].Methods()
 }
 
@@ -2128,6 +2308,7 @@
 }
 
 type Message705 struct {
+	state         protoimpl.MessageState
 	Field807      *string  `protobuf:"bytes,1,req,name=field807" json:"field807,omitempty"`
 	Field808      *string  `protobuf:"bytes,2,opt,name=field808" json:"field808,omitempty"`
 	Field809      *string  `protobuf:"bytes,3,opt,name=field809" json:"field809,omitempty"`
@@ -2150,10 +2331,18 @@
 func (*Message705) ProtoMessage() {}
 
 func (x *Message705) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message705) XXX_Methods() *protoiface.Methods {
+func (x *Message705) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[20].Methods()
 }
 
@@ -2212,6 +2401,7 @@
 }
 
 type Message709 struct {
+	state         protoimpl.MessageState
 	Field829      []string `protobuf:"bytes,1,rep,name=field829" json:"field829,omitempty"`
 	Field830      []string `protobuf:"bytes,2,rep,name=field830" json:"field830,omitempty"`
 	Field831      []string `protobuf:"bytes,3,rep,name=field831" json:"field831,omitempty"`
@@ -2232,10 +2422,18 @@
 func (*Message709) ProtoMessage() {}
 
 func (x *Message709) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message709) XXX_Methods() *protoiface.Methods {
+func (x *Message709) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[21].Methods()
 }
 
@@ -2280,6 +2478,7 @@
 }
 
 type Message702 struct {
+	state         protoimpl.MessageState
 	Field793      *string `protobuf:"bytes,1,opt,name=field793" json:"field793,omitempty"`
 	Field794      *string `protobuf:"bytes,2,opt,name=field794" json:"field794,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2297,10 +2496,18 @@
 func (*Message702) ProtoMessage() {}
 
 func (x *Message702) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message702) XXX_Methods() *protoiface.Methods {
+func (x *Message702) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[22].Methods()
 }
 
@@ -2324,6 +2531,7 @@
 }
 
 type Message714 struct {
+	state         protoimpl.MessageState
 	Field854      *string `protobuf:"bytes,1,opt,name=field854" json:"field854,omitempty"`
 	Field855      *string `protobuf:"bytes,2,opt,name=field855" json:"field855,omitempty"`
 	Field856      *string `protobuf:"bytes,3,opt,name=field856" json:"field856,omitempty"`
@@ -2344,10 +2552,18 @@
 func (*Message714) ProtoMessage() {}
 
 func (x *Message714) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message714) XXX_Methods() *protoiface.Methods {
+func (x *Message714) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[23].Methods()
 }
 
@@ -2392,6 +2608,7 @@
 }
 
 type Message710 struct {
+	state         protoimpl.MessageState
 	Field834      []string `protobuf:"bytes,1,rep,name=field834" json:"field834,omitempty"`
 	Field835      *string  `protobuf:"bytes,2,opt,name=field835" json:"field835,omitempty"`
 	Field836      *string  `protobuf:"bytes,3,opt,name=field836" json:"field836,omitempty"`
@@ -2412,10 +2629,18 @@
 func (*Message710) ProtoMessage() {}
 
 func (x *Message710) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message710) XXX_Methods() *protoiface.Methods {
+func (x *Message710) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[24].Methods()
 }
 
@@ -2460,6 +2685,7 @@
 }
 
 type Message706 struct {
+	state         protoimpl.MessageState
 	Field814      []string `protobuf:"bytes,1,rep,name=field814" json:"field814,omitempty"`
 	Field815      *string  `protobuf:"bytes,2,opt,name=field815" json:"field815,omitempty"`
 	Field816      []string `protobuf:"bytes,3,rep,name=field816" json:"field816,omitempty"`
@@ -2479,10 +2705,18 @@
 func (*Message706) ProtoMessage() {}
 
 func (x *Message706) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message706) XXX_Methods() *protoiface.Methods {
+func (x *Message706) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[25].Methods()
 }
 
@@ -2520,6 +2754,7 @@
 }
 
 type Message707 struct {
+	state         protoimpl.MessageState
 	Field818      *string  `protobuf:"bytes,1,req,name=field818" json:"field818,omitempty"`
 	Field819      *string  `protobuf:"bytes,2,req,name=field819" json:"field819,omitempty"`
 	Field820      *string  `protobuf:"bytes,3,req,name=field820" json:"field820,omitempty"`
@@ -2540,10 +2775,18 @@
 func (*Message707) ProtoMessage() {}
 
 func (x *Message707) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message707) XXX_Methods() *protoiface.Methods {
+func (x *Message707) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[26].Methods()
 }
 
@@ -2588,6 +2831,7 @@
 }
 
 type Message711 struct {
+	state         protoimpl.MessageState
 	Field839      *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field839" json:"field839,omitempty"`
 	Field840      []string            `protobuf:"bytes,4,rep,name=field840" json:"field840,omitempty"`
 	Field841      []string            `protobuf:"bytes,2,rep,name=field841" json:"field841,omitempty"`
@@ -2607,10 +2851,18 @@
 func (*Message711) ProtoMessage() {}
 
 func (x *Message711) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message711) XXX_Methods() *protoiface.Methods {
+func (x *Message711) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[27].Methods()
 }
 
@@ -2648,6 +2900,7 @@
 }
 
 type Message712 struct {
+	state         protoimpl.MessageState
 	Field843      []string `protobuf:"bytes,1,rep,name=field843" json:"field843,omitempty"`
 	Field844      *string  `protobuf:"bytes,2,req,name=field844" json:"field844,omitempty"`
 	Field845      *string  `protobuf:"bytes,3,opt,name=field845" json:"field845,omitempty"`
@@ -2672,10 +2925,18 @@
 func (*Message712) ProtoMessage() {}
 
 func (x *Message712) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message712) XXX_Methods() *protoiface.Methods {
+func (x *Message712) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[28].Methods()
 }
 
@@ -2748,6 +3009,7 @@
 }
 
 type Message8939 struct {
+	state         protoimpl.MessageState
 	Field9010     *string                    `protobuf:"bytes,1,opt,name=field9010" json:"field9010,omitempty"`
 	Field9011     *string                    `protobuf:"bytes,2,opt,name=field9011" json:"field9011,omitempty"`
 	Field9012     *string                    `protobuf:"bytes,3,opt,name=field9012" json:"field9012,omitempty"`
@@ -2785,10 +3047,18 @@
 func (*Message8939) ProtoMessage() {}
 
 func (x *Message8939) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8939) XXX_Methods() *protoiface.Methods {
+func (x *Message8939) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[29].Methods()
 }
 
@@ -2952,6 +3222,7 @@
 }
 
 type Message9181 struct {
+	state         protoimpl.MessageState
 	Field9204     *string `protobuf:"bytes,1,opt,name=field9204" json:"field9204,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2968,10 +3239,18 @@
 func (*Message9181) ProtoMessage() {}
 
 func (x *Message9181) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9181) XXX_Methods() *protoiface.Methods {
+func (x *Message9181) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[30].Methods()
 }
 
@@ -2988,6 +3267,7 @@
 }
 
 type Message9164 struct {
+	state         protoimpl.MessageState
 	Field9168     *int32 `protobuf:"varint,1,opt,name=field9168" json:"field9168,omitempty"`
 	Field9169     *int32 `protobuf:"varint,2,opt,name=field9169" json:"field9169,omitempty"`
 	Field9170     *int32 `protobuf:"varint,3,opt,name=field9170" json:"field9170,omitempty"`
@@ -3006,10 +3286,18 @@
 func (*Message9164) ProtoMessage() {}
 
 func (x *Message9164) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9164) XXX_Methods() *protoiface.Methods {
+func (x *Message9164) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[31].Methods()
 }
 
@@ -3040,6 +3328,7 @@
 }
 
 type Message9165 struct {
+	state         protoimpl.MessageState
 	Field9171     *float32 `protobuf:"fixed32,1,opt,name=field9171" json:"field9171,omitempty"`
 	Field9172     *float32 `protobuf:"fixed32,2,opt,name=field9172" json:"field9172,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3057,10 +3346,18 @@
 func (*Message9165) ProtoMessage() {}
 
 func (x *Message9165) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9165) XXX_Methods() *protoiface.Methods {
+func (x *Message9165) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[32].Methods()
 }
 
@@ -3084,6 +3381,7 @@
 }
 
 type Message9166 struct {
+	state         protoimpl.MessageState
 	Field9173     *float32 `protobuf:"fixed32,1,opt,name=field9173" json:"field9173,omitempty"`
 	Field9174     *int32   `protobuf:"varint,2,opt,name=field9174" json:"field9174,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3101,10 +3399,18 @@
 func (*Message9166) ProtoMessage() {}
 
 func (x *Message9166) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[33].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[33]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9166) XXX_Methods() *protoiface.Methods {
+func (x *Message9166) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[33].Methods()
 }
 
@@ -3128,6 +3434,7 @@
 }
 
 type Message9151 struct {
+	state         protoimpl.MessageState
 	Field9152     *float64 `protobuf:"fixed64,1,opt,name=field9152" json:"field9152,omitempty"`
 	Field9153     *float64 `protobuf:"fixed64,2,opt,name=field9153" json:"field9153,omitempty"`
 	Field9154     *float32 `protobuf:"fixed32,3,opt,name=field9154" json:"field9154,omitempty"`
@@ -3151,10 +3458,18 @@
 func (*Message9151) ProtoMessage() {}
 
 func (x *Message9151) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[34].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[34]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9151) XXX_Methods() *protoiface.Methods {
+func (x *Message9151) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[34].Methods()
 }
 
@@ -3220,6 +3535,7 @@
 }
 
 type Message8888 struct {
+	state         protoimpl.MessageState
 	Field8908     *int32    `protobuf:"varint,1,opt,name=field8908" json:"field8908,omitempty"`
 	Field8909     *Enum8900 `protobuf:"varint,4,opt,name=field8909,enum=benchmarks.google_message3.Enum8900" json:"field8909,omitempty"`
 	Field8910     []int32   `protobuf:"varint,2,rep,packed,name=field8910" json:"field8910,omitempty"`
@@ -3239,10 +3555,18 @@
 func (*Message8888) ProtoMessage() {}
 
 func (x *Message8888) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[35].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[35]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8888) XXX_Methods() *protoiface.Methods {
+func (x *Message8888) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[35].Methods()
 }
 
@@ -3280,6 +3604,7 @@
 }
 
 type Message9627 struct {
+	state         protoimpl.MessageState
 	Field9668     *int32   `protobuf:"varint,1,req,name=field9668" json:"field9668,omitempty"`
 	Field9669     *int32   `protobuf:"varint,2,req,name=field9669" json:"field9669,omitempty"`
 	Field9670     *int32   `protobuf:"varint,3,req,name=field9670" json:"field9670,omitempty"`
@@ -3300,10 +3625,18 @@
 func (*Message9627) ProtoMessage() {}
 
 func (x *Message9627) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[36].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[36]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message9627) XXX_Methods() *protoiface.Methods {
+func (x *Message9627) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[36].Methods()
 }
 
@@ -3348,6 +3681,7 @@
 }
 
 type Message11020 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3363,10 +3697,18 @@
 func (*Message11020) ProtoMessage() {}
 
 func (x *Message11020) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[37].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[37]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11020) XXX_Methods() *protoiface.Methods {
+func (x *Message11020) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[37].Methods()
 }
 
@@ -3376,6 +3718,7 @@
 }
 
 type Message11013 struct {
+	state         protoimpl.MessageState
 	Field11757    []byte              `protobuf:"bytes,19,opt,name=field11757" json:"field11757,omitempty"`
 	Field11758    []byte              `protobuf:"bytes,1,opt,name=field11758" json:"field11758,omitempty"`
 	Field11759    []byte              `protobuf:"bytes,2,opt,name=field11759" json:"field11759,omitempty"`
@@ -3414,10 +3757,18 @@
 func (*Message11013) ProtoMessage() {}
 
 func (x *Message11013) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[38].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[38]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11013) XXX_Methods() *protoiface.Methods {
+func (x *Message11013) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[38].Methods()
 }
 
@@ -3588,6 +3939,7 @@
 }
 
 type Message8939_Message8940 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3603,10 +3955,18 @@
 func (*Message8939_Message8940) ProtoMessage() {}
 
 func (x *Message8939_Message8940) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[39].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[39]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8939_Message8940) XXX_Methods() *protoiface.Methods {
+func (x *Message8939_Message8940) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[39].Methods()
 }
 
@@ -3616,6 +3976,7 @@
 }
 
 type Message8939_Message8941 struct {
+	state         protoimpl.MessageState
 	Field9033     *string `protobuf:"bytes,32,opt,name=field9033" json:"field9033,omitempty"`
 	Field9034     *string `protobuf:"bytes,33,opt,name=field9034" json:"field9034,omitempty"`
 	Field9035     *string `protobuf:"bytes,34,opt,name=field9035" json:"field9035,omitempty"`
@@ -3637,10 +3998,18 @@
 func (*Message8939_Message8941) ProtoMessage() {}
 
 func (x *Message8939_Message8941) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[40].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[40]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8939_Message8941) XXX_Methods() *protoiface.Methods {
+func (x *Message8939_Message8941) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[40].Methods()
 }
 
@@ -3692,6 +4061,7 @@
 }
 
 type Message8939_Message8943 struct {
+	state         protoimpl.MessageState
 	Field9039     *string `protobuf:"bytes,1,opt,name=field9039" json:"field9039,omitempty"`
 	Field9040     *string `protobuf:"bytes,2,opt,name=field9040" json:"field9040,omitempty"`
 	Field9041     *string `protobuf:"bytes,3,opt,name=field9041" json:"field9041,omitempty"`
@@ -3713,10 +4083,18 @@
 func (*Message8939_Message8943) ProtoMessage() {}
 
 func (x *Message8939_Message8943) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[41].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[41]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8939_Message8943) XXX_Methods() *protoiface.Methods {
+func (x *Message8939_Message8943) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[41].Methods()
 }
 
@@ -4711,8 +5089,10 @@
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10576); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4720,9 +5100,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10154); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4730,9 +5112,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8944); i {
-			case 62:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 63:
+				return &v.sizeCache
+			case 64:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4740,11 +5124,13 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message9182); i {
-			case 26:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 27:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 28:
+				return &v.unknownFields
+			case 29:
 				return &v.extensionFields
 			default:
 				return nil
@@ -4752,9 +5138,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message9160); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4762,9 +5150,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message9242); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4772,9 +5162,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8890); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4782,9 +5174,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message9123); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4792,9 +5186,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message9628); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4802,9 +5198,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message11014); i {
-			case 65:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 66:
+				return &v.sizeCache
+			case 67:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4812,9 +5210,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10801); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4822,9 +5222,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10749); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4832,9 +5234,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8298); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4842,9 +5246,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8300); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4852,9 +5258,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8291); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4862,9 +5270,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8296); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4872,9 +5282,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7965); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4882,9 +5294,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8290); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4892,9 +5306,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message717); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4902,9 +5318,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message713); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4912,9 +5330,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message705); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4922,9 +5342,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message709); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4932,9 +5354,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message702); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4942,9 +5366,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message714); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4952,9 +5378,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message710); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4962,9 +5390,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message706); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4972,9 +5402,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message707); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -4982,96 +5414,8 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message711); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message712); i {
-			case 9:
-				return &v.sizeCache
-			case 10:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message8939); i {
-			case 22:
-				return &v.sizeCache
-			case 23:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message9181); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message9164); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message9165); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message9166); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message9151); i {
-			case 8:
-				return &v.sizeCache
-			case 9:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message8888); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message9627); i {
+			case 0:
+				return &v.state
 			case 5:
 				return &v.sizeCache
 			case 6:
@@ -5080,18 +5424,22 @@
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message11020); i {
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message712); i {
 			case 0:
+				return &v.state
+			case 10:
 				return &v.sizeCache
-			case 1:
+			case 11:
 				return &v.unknownFields
 			default:
 				return nil
 			}
 		}
-		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message11013); i {
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message8939); i {
+			case 0:
+				return &v.state
 			case 23:
 				return &v.sizeCache
 			case 24:
@@ -5100,11 +5448,121 @@
 				return nil
 			}
 		}
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message9181); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message9164); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message9165); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message9166); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message9151); i {
+			case 0:
+				return &v.state
+			case 9:
+				return &v.sizeCache
+			case 10:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message8888); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message9627); i {
+			case 0:
+				return &v.state
+			case 6:
+				return &v.sizeCache
+			case 7:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message11020); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message11013); i {
+			case 0:
+				return &v.state
+			case 24:
+				return &v.sizeCache
+			case 25:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8939_Message8940); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5112,9 +5570,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8939_Message8941); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5122,9 +5582,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_6_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8939_Message8943); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_7.pb.go b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_7.pb.go
index 6b9263e..134ac4e 100644
--- a/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_7.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message3/benchmark_message3_7.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message11018 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*Message11018) ProtoMessage() {}
 
 func (x *Message11018) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11018) XXX_Methods() *protoiface.Methods {
+func (x *Message11018) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[0].Methods()
 }
 
@@ -46,6 +55,7 @@
 }
 
 type Message10800 struct {
+	state         protoimpl.MessageState
 	Field10808    *string  `protobuf:"bytes,1,opt,name=field10808" json:"field10808,omitempty"`
 	Field10809    *int64   `protobuf:"varint,2,opt,name=field10809" json:"field10809,omitempty"`
 	Field10810    *bool    `protobuf:"varint,3,opt,name=field10810" json:"field10810,omitempty"`
@@ -65,10 +75,18 @@
 func (*Message10800) ProtoMessage() {}
 
 func (x *Message10800) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10800) XXX_Methods() *protoiface.Methods {
+func (x *Message10800) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[1].Methods()
 }
 
@@ -106,6 +124,7 @@
 }
 
 type Message10802 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -121,10 +140,18 @@
 func (*Message10802) ProtoMessage() {}
 
 func (x *Message10802) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10802) XXX_Methods() *protoiface.Methods {
+func (x *Message10802) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[2].Methods()
 }
 
@@ -134,6 +161,7 @@
 }
 
 type Message10748 struct {
+	state         protoimpl.MessageState
 	Field10750    *string `protobuf:"bytes,1,opt,name=field10750" json:"field10750,omitempty"`
 	Field10751    *int32  `protobuf:"varint,2,opt,name=field10751" json:"field10751,omitempty"`
 	Field10752    *int32  `protobuf:"varint,3,opt,name=field10752" json:"field10752,omitempty"`
@@ -153,10 +181,18 @@
 func (*Message10748) ProtoMessage() {}
 
 func (x *Message10748) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10748) XXX_Methods() *protoiface.Methods {
+func (x *Message10748) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[3].Methods()
 }
 
@@ -194,6 +230,7 @@
 }
 
 type Message7966 struct {
+	state         protoimpl.MessageState
 	Field7969     *string `protobuf:"bytes,1,opt,name=field7969" json:"field7969,omitempty"`
 	Field7970     *bool   `protobuf:"varint,2,opt,name=field7970" json:"field7970,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -211,10 +248,18 @@
 func (*Message7966) ProtoMessage() {}
 
 func (x *Message7966) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7966) XXX_Methods() *protoiface.Methods {
+func (x *Message7966) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[4].Methods()
 }
 
@@ -238,6 +283,7 @@
 }
 
 type Message708 struct {
+	state         protoimpl.MessageState
 	Field823      *Message741 `protobuf:"bytes,1,opt,name=field823" json:"field823,omitempty"`
 	Field824      []string    `protobuf:"bytes,6,rep,name=field824" json:"field824,omitempty"`
 	Field825      *string     `protobuf:"bytes,2,opt,name=field825" json:"field825,omitempty"`
@@ -259,10 +305,18 @@
 func (*Message708) ProtoMessage() {}
 
 func (x *Message708) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message708) XXX_Methods() *protoiface.Methods {
+func (x *Message708) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[5].Methods()
 }
 
@@ -314,6 +368,7 @@
 }
 
 type Message8942 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -329,10 +384,18 @@
 func (*Message8942) ProtoMessage() {}
 
 func (x *Message8942) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8942) XXX_Methods() *protoiface.Methods {
+func (x *Message8942) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[6].Methods()
 }
 
@@ -342,6 +405,7 @@
 }
 
 type Message11011 struct {
+	state         protoimpl.MessageState
 	Field11752    []byte `protobuf:"bytes,1,req,name=field11752" json:"field11752,omitempty"`
 	Field11753    []byte `protobuf:"bytes,2,req,name=field11753" json:"field11753,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -359,10 +423,18 @@
 func (*Message11011) ProtoMessage() {}
 
 func (x *Message11011) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11011) XXX_Methods() *protoiface.Methods {
+func (x *Message11011) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[7].Methods()
 }
 
@@ -386,6 +458,7 @@
 }
 
 type UnusedEmptyMessage struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -401,10 +474,18 @@
 func (*UnusedEmptyMessage) ProtoMessage() {}
 
 func (x *UnusedEmptyMessage) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *UnusedEmptyMessage) XXX_Methods() *protoiface.Methods {
+func (x *UnusedEmptyMessage) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[8].Methods()
 }
 
@@ -414,6 +495,7 @@
 }
 
 type Message741 struct {
+	state         protoimpl.MessageState
 	Field936      []string `protobuf:"bytes,1,rep,name=field936" json:"field936,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -430,10 +512,18 @@
 func (*Message741) ProtoMessage() {}
 
 func (x *Message741) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message741) XXX_Methods() *protoiface.Methods {
+func (x *Message741) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[9].Methods()
 }
 
@@ -559,8 +649,10 @@
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message11018); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -568,9 +660,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10800); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -579,8 +673,10 @@
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10802); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -588,9 +684,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10748); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -598,9 +696,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7966); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -608,9 +708,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message708); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -619,8 +721,10 @@
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8942); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -628,9 +732,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message11011); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -639,8 +745,10 @@
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*UnusedEmptyMessage); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -648,9 +756,11 @@
 		}
 		file_datasets_google_message3_benchmark_message3_7_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message741); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4.pb.go b/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4.pb.go
index 9994dbd..ba428a8 100644
--- a/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4.pb.go
@@ -18,6 +18,7 @@
 )
 
 type GoogleMessage4 struct {
+	state         protoimpl.MessageState
 	Field37503    *int32              `protobuf:"varint,1,opt,name=field37503" json:"field37503,omitempty"`
 	Field37504    *UnusedEmptyMessage `protobuf:"bytes,2,opt,name=field37504" json:"field37504,omitempty"`
 	Field37505    *UnusedEmptyMessage `protobuf:"bytes,3,opt,name=field37505" json:"field37505,omitempty"`
@@ -49,10 +50,18 @@
 func (*GoogleMessage4) ProtoMessage() {}
 
 func (x *GoogleMessage4) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GoogleMessage4) XXX_Methods() *protoiface.Methods {
+func (x *GoogleMessage4) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[0].Methods()
 }
 
@@ -174,6 +183,7 @@
 }
 
 type Message37489 struct {
+	state         protoimpl.MessageState
 	Field37534    *Message2517  `protobuf:"bytes,3,opt,name=field37534" json:"field37534,omitempty"`
 	Field37535    *Message7330  `protobuf:"bytes,4,opt,name=field37535" json:"field37535,omitempty"`
 	Field37536    *Message8815  `protobuf:"bytes,6,opt,name=field37536" json:"field37536,omitempty"`
@@ -210,10 +220,18 @@
 func (*Message37489) ProtoMessage() {}
 
 func (x *Message37489) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message37489) XXX_Methods() *protoiface.Methods {
+func (x *Message37489) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[1].Methods()
 }
 
@@ -370,6 +388,7 @@
 }
 
 type Message7319 struct {
+	state         protoimpl.MessageState
 	Field7321     *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field7321" json:"field7321,omitempty"`
 	Field7322     *UnusedEmptyMessage `protobuf:"bytes,7,opt,name=field7322" json:"field7322,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -387,10 +406,18 @@
 func (*Message7319) ProtoMessage() {}
 
 func (x *Message7319) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7319) XXX_Methods() *protoiface.Methods {
+func (x *Message7319) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[2].Methods()
 }
 
@@ -414,6 +441,7 @@
 }
 
 type Message12717 struct {
+	state         protoimpl.MessageState
 	Field12719    *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field12719" json:"field12719,omitempty"`
 	Field12720    *string             `protobuf:"bytes,2,opt,name=field12720" json:"field12720,omitempty"`
 	Field12721    *uint32             `protobuf:"varint,3,opt,name=field12721" json:"field12721,omitempty"`
@@ -438,10 +466,18 @@
 func (*Message12717) ProtoMessage() {}
 
 func (x *Message12717) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12717) XXX_Methods() *protoiface.Methods {
+func (x *Message12717) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[3].Methods()
 }
 
@@ -514,6 +550,7 @@
 }
 
 type Message37331 struct {
+	state         protoimpl.MessageState
 	Field37367    *UnusedEmptyMessage `protobuf:"bytes,4,opt,name=field37367" json:"field37367,omitempty"`
 	Field37368    *Message37326       `protobuf:"bytes,1,req,name=field37368" json:"field37368,omitempty"`
 	Field37369    *int64              `protobuf:"varint,2,req,name=field37369" json:"field37369,omitempty"`
@@ -533,10 +570,18 @@
 func (*Message37331) ProtoMessage() {}
 
 func (x *Message37331) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message37331) XXX_Methods() *protoiface.Methods {
+func (x *Message37331) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[4].Methods()
 }
 
@@ -574,6 +619,7 @@
 }
 
 type Message8815 struct {
+	state         protoimpl.MessageState
 	Field8819     *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field8819" json:"field8819,omitempty"`
 	Field8820     []*Message8768      `protobuf:"bytes,2,rep,name=field8820" json:"field8820,omitempty"`
 	Field8821     *bool               `protobuf:"varint,3,opt,name=field8821" json:"field8821,omitempty"`
@@ -592,10 +638,18 @@
 func (*Message8815) ProtoMessage() {}
 
 func (x *Message8815) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8815) XXX_Methods() *protoiface.Methods {
+func (x *Message8815) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[5].Methods()
 }
 
@@ -626,6 +680,7 @@
 }
 
 type Message7330 struct {
+	state         protoimpl.MessageState
 	Field7332     *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field7332" json:"field7332,omitempty"`
 	Field7333     *Message3069        `protobuf:"bytes,2,opt,name=field7333" json:"field7333,omitempty"`
 	Field7334     *Message7320        `protobuf:"bytes,3,opt,name=field7334" json:"field7334,omitempty"`
@@ -647,10 +702,18 @@
 func (*Message7330) ProtoMessage() {}
 
 func (x *Message7330) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7330) XXX_Methods() *protoiface.Methods {
+func (x *Message7330) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[6].Methods()
 }
 
@@ -702,6 +765,7 @@
 }
 
 type Message12960 struct {
+	state         protoimpl.MessageState
 	Field12962    *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field12962" json:"field12962,omitempty"`
 	Field12963    *Message12948       `protobuf:"bytes,2,opt,name=field12963" json:"field12963,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -719,10 +783,18 @@
 func (*Message12960) ProtoMessage() {}
 
 func (x *Message12960) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12960) XXX_Methods() *protoiface.Methods {
+func (x *Message12960) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[7].Methods()
 }
 
@@ -746,6 +818,7 @@
 }
 
 type Message176 struct {
+	state         protoimpl.MessageState
 	Field408      *string                  `protobuf:"bytes,1,req,name=field408" json:"field408,omitempty"`
 	Field409      *int32                   `protobuf:"varint,4,opt,name=field409" json:"field409,omitempty"`
 	Field410      *string                  `protobuf:"bytes,50,opt,name=field410" json:"field410,omitempty"`
@@ -820,10 +893,18 @@
 func (*Message176) ProtoMessage() {}
 
 func (x *Message176) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message176) XXX_Methods() *protoiface.Methods {
+func (x *Message176) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[8].Methods()
 }
 
@@ -1246,6 +1327,7 @@
 }
 
 type Message8817 struct {
+	state         protoimpl.MessageState
 	Field8825     *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field8825" json:"field8825,omitempty"`
 	Field8826     []*Message8768      `protobuf:"bytes,2,rep,name=field8826" json:"field8826,omitempty"`
 	Field8827     *string             `protobuf:"bytes,3,opt,name=field8827" json:"field8827,omitempty"`
@@ -1264,10 +1346,18 @@
 func (*Message8817) ProtoMessage() {}
 
 func (x *Message8817) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8817) XXX_Methods() *protoiface.Methods {
+func (x *Message8817) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[9].Methods()
 }
 
@@ -1298,6 +1388,7 @@
 }
 
 type Message8835 struct {
+	state         protoimpl.MessageState
 	Field8837     *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field8837" json:"field8837,omitempty"`
 	Field8838     []string            `protobuf:"bytes,2,rep,name=field8838" json:"field8838,omitempty"`
 	Field8839     *UnusedEnum         `protobuf:"varint,3,opt,name=field8839,enum=benchmarks.google_message4.UnusedEnum" json:"field8839,omitempty"`
@@ -1316,10 +1407,18 @@
 func (*Message8835) ProtoMessage() {}
 
 func (x *Message8835) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8835) XXX_Methods() *protoiface.Methods {
+func (x *Message8835) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[10].Methods()
 }
 
@@ -1350,6 +1449,7 @@
 }
 
 type Message37333 struct {
+	state         protoimpl.MessageState
 	Field37372    *UnusedEmptyMessage `protobuf:"bytes,3,opt,name=field37372" json:"field37372,omitempty"`
 	Field37373    *Message37326       `protobuf:"bytes,1,req,name=field37373" json:"field37373,omitempty"`
 	Field37374    *uint64             `protobuf:"varint,2,opt,name=field37374" json:"field37374,omitempty"`
@@ -1368,10 +1468,18 @@
 func (*Message37333) ProtoMessage() {}
 
 func (x *Message37333) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message37333) XXX_Methods() *protoiface.Methods {
+func (x *Message37333) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[11].Methods()
 }
 
@@ -1402,6 +1510,7 @@
 }
 
 type Message13000 struct {
+	state         protoimpl.MessageState
 	Field13015    *int64          `protobuf:"varint,1,opt,name=field13015" json:"field13015,omitempty"`
 	Field13016    []*Message12979 `protobuf:"bytes,2,rep,name=field13016" json:"field13016,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1419,10 +1528,18 @@
 func (*Message13000) ProtoMessage() {}
 
 func (x *Message13000) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13000) XXX_Methods() *protoiface.Methods {
+func (x *Message13000) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[12].Methods()
 }
 
@@ -1446,6 +1563,7 @@
 }
 
 type Message37335 struct {
+	state         protoimpl.MessageState
 	Field37376    *UnusedEmptyMessage `protobuf:"bytes,4,opt,name=field37376" json:"field37376,omitempty"`
 	Field37377    *Message37326       `protobuf:"bytes,1,req,name=field37377" json:"field37377,omitempty"`
 	Field37378    *Message37173       `protobuf:"bytes,2,req,name=field37378" json:"field37378,omitempty"`
@@ -1465,10 +1583,18 @@
 func (*Message37335) ProtoMessage() {}
 
 func (x *Message37335) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message37335) XXX_Methods() *protoiface.Methods {
+func (x *Message37335) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[13].Methods()
 }
 
@@ -1506,6 +1632,7 @@
 }
 
 type Message8848 struct {
+	state         protoimpl.MessageState
 	Field8850     *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field8850" json:"field8850,omitempty"`
 	Field8851     *string             `protobuf:"bytes,2,opt,name=field8851" json:"field8851,omitempty"`
 	Field8852     []byte              `protobuf:"bytes,3,opt,name=field8852" json:"field8852,omitempty"`
@@ -1524,10 +1651,18 @@
 func (*Message8848) ProtoMessage() {}
 
 func (x *Message8848) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8848) XXX_Methods() *protoiface.Methods {
+func (x *Message8848) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[14].Methods()
 }
 
@@ -1558,6 +1693,7 @@
 }
 
 type Message13035 struct {
+	state         protoimpl.MessageState
 	Field13058    *int64  `protobuf:"varint,1,opt,name=field13058" json:"field13058,omitempty"`
 	Field13059    []int64 `protobuf:"varint,2,rep,name=field13059" json:"field13059,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1575,10 +1711,18 @@
 func (*Message13035) ProtoMessage() {}
 
 func (x *Message13035) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message13035) XXX_Methods() *protoiface.Methods {
+func (x *Message13035) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[15].Methods()
 }
 
@@ -1602,6 +1746,7 @@
 }
 
 type Message8856 struct {
+	state         protoimpl.MessageState
 	Field8858     *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field8858" json:"field8858,omitempty"`
 	Field8859     *string             `protobuf:"bytes,2,opt,name=field8859" json:"field8859,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1619,10 +1764,18 @@
 func (*Message8856) ProtoMessage() {}
 
 func (x *Message8856) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8856) XXX_Methods() *protoiface.Methods {
+func (x *Message8856) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[16].Methods()
 }
 
@@ -1646,6 +1799,7 @@
 }
 
 type Message12908 struct {
+	state         protoimpl.MessageState
 	Field12912    *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field12912" json:"field12912,omitempty"`
 	Field12913    *string             `protobuf:"bytes,2,opt,name=field12913" json:"field12913,omitempty"`
 	Field12914    *Message12799       `protobuf:"bytes,3,opt,name=field12914" json:"field12914,omitempty"`
@@ -1667,10 +1821,18 @@
 func (*Message12908) ProtoMessage() {}
 
 func (x *Message12908) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12908) XXX_Methods() *protoiface.Methods {
+func (x *Message12908) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[17].Methods()
 }
 
@@ -1722,6 +1884,7 @@
 }
 
 type Message12910 struct {
+	state         protoimpl.MessageState
 	Field12920    *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field12920" json:"field12920,omitempty"`
 	Field12921    *Message12818       `protobuf:"bytes,2,opt,name=field12921" json:"field12921,omitempty"`
 	Field12922    []*Message12903     `protobuf:"bytes,3,rep,name=field12922" json:"field12922,omitempty"`
@@ -1740,10 +1903,18 @@
 func (*Message12910) ProtoMessage() {}
 
 func (x *Message12910) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12910) XXX_Methods() *protoiface.Methods {
+func (x *Message12910) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[18].Methods()
 }
 
@@ -1774,6 +1945,7 @@
 }
 
 type Message37327 struct {
+	state         protoimpl.MessageState
 	Field37347    *UnusedEmptyMessage `protobuf:"bytes,11,opt,name=field37347" json:"field37347,omitempty"`
 	Field37348    *Message37326       `protobuf:"bytes,1,req,name=field37348" json:"field37348,omitempty"`
 	Field37349    *bool               `protobuf:"varint,2,opt,name=field37349" json:"field37349,omitempty"`
@@ -1800,10 +1972,18 @@
 func (*Message37327) ProtoMessage() {}
 
 func (x *Message37327) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message37327) XXX_Methods() *protoiface.Methods {
+func (x *Message37327) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[19].Methods()
 }
 
@@ -1890,6 +2070,7 @@
 }
 
 type Message37329 struct {
+	state         protoimpl.MessageState
 	Field37359    *UnusedEmptyMessage `protobuf:"bytes,6,opt,name=field37359" json:"field37359,omitempty"`
 	Field37360    *Message37326       `protobuf:"bytes,1,req,name=field37360" json:"field37360,omitempty"`
 	Field37361    *int64              `protobuf:"varint,2,req,name=field37361" json:"field37361,omitempty"`
@@ -1910,10 +2091,18 @@
 func (*Message37329) ProtoMessage() {}
 
 func (x *Message37329) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message37329) XXX_Methods() *protoiface.Methods {
+func (x *Message37329) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[20].Methods()
 }
 
@@ -1958,6 +2147,7 @@
 }
 
 type Message2517 struct {
+	state         protoimpl.MessageState
 	Field2519     *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field2519" json:"field2519,omitempty"`
 	Field2520     *Message2356        `protobuf:"bytes,2,opt,name=field2520" json:"field2520,omitempty"`
 	Field2521     *Message0           `protobuf:"bytes,3,opt,name=field2521" json:"field2521,omitempty"`
@@ -1978,10 +2168,18 @@
 func (*Message2517) ProtoMessage() {}
 
 func (x *Message2517) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2517) XXX_Methods() *protoiface.Methods {
+func (x *Message2517) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[21].Methods()
 }
 
@@ -2026,6 +2224,7 @@
 }
 
 type Message12748 struct {
+	state         protoimpl.MessageState
 	Field12754    *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field12754" json:"field12754,omitempty"`
 	Field12755    *string             `protobuf:"bytes,2,opt,name=field12755" json:"field12755,omitempty"`
 	Field12756    *string             `protobuf:"bytes,3,opt,name=field12756" json:"field12756,omitempty"`
@@ -2045,10 +2244,18 @@
 func (*Message12748) ProtoMessage() {}
 
 func (x *Message12748) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12748) XXX_Methods() *protoiface.Methods {
+func (x *Message12748) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[22].Methods()
 }
 
@@ -2086,6 +2293,7 @@
 }
 
 type Message12687 struct {
+	state         protoimpl.MessageState
 	Field12701    []*Message12686 `protobuf:"bytes,1,rep,name=field12701" json:"field12701,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2102,10 +2310,18 @@
 func (*Message12687) ProtoMessage() {}
 
 func (x *Message12687) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12687) XXX_Methods() *protoiface.Methods {
+func (x *Message12687) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[23].Methods()
 }
 
@@ -2122,6 +2338,7 @@
 }
 
 type Message11948 struct {
+	state         protoimpl.MessageState
 	Field11954    *string         `protobuf:"bytes,1,opt,name=field11954" json:"field11954,omitempty"`
 	Field11955    []*Message11949 `protobuf:"bytes,2,rep,name=field11955" json:"field11955,omitempty"`
 	Field11956    *bool           `protobuf:"varint,3,opt,name=field11956" json:"field11956,omitempty"`
@@ -2140,10 +2357,18 @@
 func (*Message11948) ProtoMessage() {}
 
 func (x *Message11948) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11948) XXX_Methods() *protoiface.Methods {
+func (x *Message11948) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[24].Methods()
 }
 
@@ -2174,6 +2399,7 @@
 }
 
 type Message11976 struct {
+	state         protoimpl.MessageState
 	Field12002    []*Message11975 `protobuf:"bytes,1,rep,name=field12002" json:"field12002,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2190,10 +2416,18 @@
 func (*Message11976) ProtoMessage() {}
 
 func (x *Message11976) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11976) XXX_Methods() *protoiface.Methods {
+func (x *Message11976) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[25].Methods()
 }
 
@@ -2210,6 +2444,7 @@
 }
 
 type Message7320 struct {
+	state         protoimpl.MessageState
 	Field7323     *UnusedEmptyMessage `protobuf:"bytes,1,opt,name=field7323" json:"field7323,omitempty"`
 	Field7324     *Message7287        `protobuf:"bytes,8,opt,name=field7324" json:"field7324,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2227,10 +2462,18 @@
 func (*Message7320) ProtoMessage() {}
 
 func (x *Message7320) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7320) XXX_Methods() *protoiface.Methods {
+func (x *Message7320) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[26].Methods()
 }
 
@@ -2254,6 +2497,7 @@
 }
 
 type Message3069 struct {
+	state           protoimpl.MessageState
 	Field3374       *Message3061               `protobuf:"bytes,1,opt,name=field3374" json:"field3374,omitempty"`
 	Field3375       []byte                     `protobuf:"bytes,2,opt,name=field3375" json:"field3375,omitempty"`
 	Message3070     []*Message3069_Message3070 `protobuf:"group,3,rep,name=Message3070,json=message3070" json:"message3070,omitempty"`
@@ -2273,10 +2517,18 @@
 func (*Message3069) ProtoMessage() {}
 
 func (x *Message3069) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3069) XXX_Methods() *protoiface.Methods {
+func (x *Message3069) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[27].Methods()
 }
 
@@ -2316,6 +2568,7 @@
 }
 
 type Message12948 struct {
+	state         protoimpl.MessageState
 	Field12958    []*Message12949 `protobuf:"bytes,1,rep,name=field12958" json:"field12958,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2332,10 +2585,18 @@
 func (*Message12948) ProtoMessage() {}
 
 func (x *Message12948) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12948) XXX_Methods() *protoiface.Methods {
+func (x *Message12948) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[28].Methods()
 }
 
@@ -2352,6 +2613,7 @@
 }
 
 type Message8768 struct {
+	state         protoimpl.MessageState
 	Field8782     *string             `protobuf:"bytes,1,opt,name=field8782" json:"field8782,omitempty"`
 	Field8783     *Message8572        `protobuf:"bytes,2,opt,name=field8783" json:"field8783,omitempty"`
 	Field8784     *bool               `protobuf:"varint,3,opt,name=field8784" json:"field8784,omitempty"`
@@ -2374,10 +2636,18 @@
 func (*Message8768) ProtoMessage() {}
 
 func (x *Message8768) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8768) XXX_Methods() *protoiface.Methods {
+func (x *Message8768) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[29].Methods()
 }
 
@@ -2436,6 +2706,7 @@
 }
 
 type Message12979 struct {
+	state         protoimpl.MessageState
 	Field12981    []byte              `protobuf:"bytes,1,req,name=field12981" json:"field12981,omitempty"`
 	Field12982    []string            `protobuf:"bytes,2,rep,name=field12982" json:"field12982,omitempty"`
 	Field12983    *UnusedEmptyMessage `protobuf:"bytes,3,opt,name=field12983" json:"field12983,omitempty"`
@@ -2458,10 +2729,18 @@
 func (*Message12979) ProtoMessage() {}
 
 func (x *Message12979) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12979) XXX_Methods() *protoiface.Methods {
+func (x *Message12979) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[30].Methods()
 }
 
@@ -2520,6 +2799,7 @@
 }
 
 type Message37173 struct {
+	state         protoimpl.MessageState
 	Field37252    *string             `protobuf:"bytes,1,opt,name=field37252" json:"field37252,omitempty"`
 	Field37253    *int64              `protobuf:"varint,2,opt,name=field37253" json:"field37253,omitempty"`
 	Field37254    *UnusedEnum         `protobuf:"varint,4,opt,name=field37254,enum=benchmarks.google_message4.UnusedEnum" json:"field37254,omitempty"`
@@ -2560,10 +2840,18 @@
 func (*Message37173) ProtoMessage() {}
 
 func (x *Message37173) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message37173) XXX_Methods() *protoiface.Methods {
+func (x *Message37173) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[31].Methods()
 }
 
@@ -2748,6 +3036,7 @@
 }
 
 type Message12799 struct {
+	state         protoimpl.MessageState
 	Field12809    *string         `protobuf:"bytes,1,req,name=field12809" json:"field12809,omitempty"`
 	Field12810    []uint64        `protobuf:"fixed64,2,rep,name=field12810" json:"field12810,omitempty"`
 	Field12811    []*Message12776 `protobuf:"bytes,8,rep,name=field12811" json:"field12811,omitempty"`
@@ -2771,10 +3060,18 @@
 func (*Message12799) ProtoMessage() {}
 
 func (x *Message12799) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12799) XXX_Methods() *protoiface.Methods {
+func (x *Message12799) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[32].Methods()
 }
 
@@ -2840,6 +3137,7 @@
 }
 
 type Message12870 struct {
+	state         protoimpl.MessageState
 	Field12879    *int32          `protobuf:"varint,1,req,name=field12879" json:"field12879,omitempty"`
 	Field12880    *int32          `protobuf:"varint,7,opt,name=field12880" json:"field12880,omitempty"`
 	Field12881    *int32          `protobuf:"varint,2,req,name=field12881" json:"field12881,omitempty"`
@@ -2875,10 +3173,18 @@
 func (*Message12870) ProtoMessage() {}
 
 func (x *Message12870) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[33].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[33]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12870) XXX_Methods() *protoiface.Methods {
+func (x *Message12870) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[33].Methods()
 }
 
@@ -3028,6 +3334,7 @@
 }
 
 type Message3804 struct {
+	state         protoimpl.MessageState
 	Field3818     *int64     `protobuf:"varint,1,req,name=field3818" json:"field3818,omitempty"`
 	Field3819     *bool      `protobuf:"varint,2,req,name=field3819" json:"field3819,omitempty"`
 	Field3820     []Enum3805 `protobuf:"varint,4,rep,name=field3820,enum=benchmarks.google_message4.Enum3805" json:"field3820,omitempty"`
@@ -3050,10 +3357,18 @@
 func (*Message3804) ProtoMessage() {}
 
 func (x *Message3804) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[34].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[34]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3804) XXX_Methods() *protoiface.Methods {
+func (x *Message3804) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[34].Methods()
 }
 
@@ -3112,6 +3427,7 @@
 }
 
 type Message12903 struct {
+	state         protoimpl.MessageState
 	Field12905    *string        `protobuf:"bytes,1,opt,name=field12905" json:"field12905,omitempty"`
 	Field12906    *Message8587   `protobuf:"bytes,2,opt,name=field12906" json:"field12906,omitempty"`
 	Field12907    []*Message8590 `protobuf:"bytes,3,rep,name=field12907" json:"field12907,omitempty"`
@@ -3130,10 +3446,18 @@
 func (*Message12903) ProtoMessage() {}
 
 func (x *Message12903) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[35].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[35]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12903) XXX_Methods() *protoiface.Methods {
+func (x *Message12903) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[35].Methods()
 }
 
@@ -3164,6 +3488,7 @@
 }
 
 type Message37326 struct {
+	state         protoimpl.MessageState
 	Field37345    *string `protobuf:"bytes,1,req,name=field37345" json:"field37345,omitempty"`
 	Field37346    *string `protobuf:"bytes,2,opt,name=field37346" json:"field37346,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3181,10 +3506,18 @@
 func (*Message37326) ProtoMessage() {}
 
 func (x *Message37326) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[36].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[36]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message37326) XXX_Methods() *protoiface.Methods {
+func (x *Message37326) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[36].Methods()
 }
 
@@ -3208,6 +3541,7 @@
 }
 
 type Message2356 struct {
+	state         protoimpl.MessageState
 	Field2368     *Message1374               `protobuf:"bytes,121,opt,name=field2368" json:"field2368,omitempty"`
 	Field2369     *uint64                    `protobuf:"varint,1,opt,name=field2369" json:"field2369,omitempty"`
 	Field2370     *int32                     `protobuf:"varint,2,opt,name=field2370" json:"field2370,omitempty"`
@@ -3254,10 +3588,18 @@
 func (*Message2356) ProtoMessage() {}
 
 func (x *Message2356) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[37].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[37]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2356) XXX_Methods() *protoiface.Methods {
+func (x *Message2356) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[37].Methods()
 }
 
@@ -3484,6 +3826,7 @@
 }
 
 type Message0 struct {
+	state           protoimpl.MessageState
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
 	extensionFields protoimpl.ExtensionFields
@@ -3500,10 +3843,18 @@
 func (*Message0) ProtoMessage() {}
 
 func (x *Message0) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[38].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[38]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message0) XXX_Methods() *protoiface.Methods {
+func (x *Message0) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[38].Methods()
 }
 
@@ -3522,6 +3873,7 @@
 }
 
 type Message971 struct {
+	state         protoimpl.MessageState
 	Field972      *string `protobuf:"bytes,1,opt,name=field972" json:"field972,omitempty"`
 	Field973      *int32  `protobuf:"varint,2,opt,name=field973" json:"field973,omitempty"`
 	Field974      *bool   `protobuf:"varint,3,opt,name=field974" json:"field974,omitempty"`
@@ -3540,10 +3892,18 @@
 func (*Message971) ProtoMessage() {}
 
 func (x *Message971) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[39].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[39]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message971) XXX_Methods() *protoiface.Methods {
+func (x *Message971) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[39].Methods()
 }
 
@@ -3574,6 +3934,7 @@
 }
 
 type Message176_Message178 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3589,10 +3950,18 @@
 func (*Message176_Message178) ProtoMessage() {}
 
 func (x *Message176_Message178) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[40].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[40]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message176_Message178) XXX_Methods() *protoiface.Methods {
+func (x *Message176_Message178) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[40].Methods()
 }
 
@@ -3602,6 +3971,7 @@
 }
 
 type Message3069_Message3070 struct {
+	state         protoimpl.MessageState
 	Field3378     *Enum3071 `protobuf:"varint,4,req,name=field3378,enum=benchmarks.google_message4.Enum3071" json:"field3378,omitempty"`
 	Field3379     []byte    `protobuf:"bytes,5,req,name=field3379" json:"field3379,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -3619,10 +3989,18 @@
 func (*Message3069_Message3070) ProtoMessage() {}
 
 func (x *Message3069_Message3070) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[41].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[41]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3069_Message3070) XXX_Methods() *protoiface.Methods {
+func (x *Message3069_Message3070) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[41].Methods()
 }
 
@@ -3646,6 +4024,7 @@
 }
 
 type Message2356_Message2357 struct {
+	state         protoimpl.MessageState
 	Field2399     *int64 `protobuf:"varint,9,opt,name=field2399" json:"field2399,omitempty"`
 	Field2400     *int32 `protobuf:"varint,10,opt,name=field2400" json:"field2400,omitempty"`
 	Field2401     *int32 `protobuf:"varint,11,opt,name=field2401" json:"field2401,omitempty"`
@@ -3673,10 +4052,18 @@
 func (*Message2356_Message2357) ProtoMessage() {}
 
 func (x *Message2356_Message2357) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[42].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[42]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2356_Message2357) XXX_Methods() *protoiface.Methods {
+func (x *Message2356_Message2357) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[42].Methods()
 }
 
@@ -3770,6 +4157,7 @@
 }
 
 type Message2356_Message2358 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3785,10 +4173,18 @@
 func (*Message2356_Message2358) ProtoMessage() {}
 
 func (x *Message2356_Message2358) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[43].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[43]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2356_Message2358) XXX_Methods() *protoiface.Methods {
+func (x *Message2356_Message2358) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[43].Methods()
 }
 
@@ -3798,6 +4194,7 @@
 }
 
 type Message2356_Message2359 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3813,10 +4210,18 @@
 func (*Message2356_Message2359) ProtoMessage() {}
 
 func (x *Message2356_Message2359) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[44].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_proto_msgTypes[44]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2356_Message2359) XXX_Methods() *protoiface.Methods {
+func (x *Message2356_Message2359) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_proto_msgTypes[44].Methods()
 }
 
@@ -5120,9 +5525,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GoogleMessage4); i {
-			case 16:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 17:
+				return &v.sizeCache
+			case 18:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5130,9 +5537,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message37489); i {
-			case 21:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 22:
+				return &v.sizeCache
+			case 23:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5140,9 +5549,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7319); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5150,9 +5561,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12717); i {
-			case 9:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 10:
+				return &v.sizeCache
+			case 11:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5160,9 +5573,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message37331); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5170,9 +5585,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8815); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5180,9 +5597,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7330); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5190,9 +5609,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12960); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5200,9 +5621,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message176); i {
-			case 59:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 60:
+				return &v.sizeCache
+			case 61:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5210,9 +5633,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8817); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5220,9 +5645,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8835); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5230,9 +5657,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message37333); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5240,9 +5669,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13000); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5250,9 +5681,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message37335); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5260,9 +5693,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8848); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5270,9 +5705,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message13035); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5280,9 +5717,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8856); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5290,9 +5729,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12908); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5300,9 +5741,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12910); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5310,240 +5753,8 @@
 		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message37327); i {
-			case 11:
-				return &v.sizeCache
-			case 12:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message37329); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message2517); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12748); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12687); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message11948); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message11976); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message7320); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3069); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			case 5:
-				return &v.extensionFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12948); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message8768); i {
-			case 7:
-				return &v.sizeCache
-			case 8:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12979); i {
-			case 7:
-				return &v.sizeCache
-			case 8:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message37173); i {
-			case 25:
-				return &v.sizeCache
-			case 26:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12799); i {
-			case 8:
-				return &v.sizeCache
-			case 9:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12870); i {
-			case 20:
-				return &v.sizeCache
-			case 21:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3804); i {
-			case 7:
-				return &v.sizeCache
-			case 8:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12903); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message37326); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message2356); i {
-			case 31:
-				return &v.sizeCache
-			case 32:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message0); i {
 			case 0:
-				return &v.sizeCache
-			case 1:
-				return &v.unknownFields
-			case 2:
-				return &v.extensionFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message971); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message176_Message178); i {
-			case 0:
-				return &v.sizeCache
-			case 1:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3069_Message3070); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message2356_Message2357); i {
+				return &v.state
 			case 12:
 				return &v.sizeCache
 			case 13:
@@ -5552,11 +5763,293 @@
 				return nil
 			}
 		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message37329); i {
+			case 0:
+				return &v.state
+			case 6:
+				return &v.sizeCache
+			case 7:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message2517); i {
+			case 0:
+				return &v.state
+			case 6:
+				return &v.sizeCache
+			case 7:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12748); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12687); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message11948); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message11976); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message7320); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3069); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			case 6:
+				return &v.extensionFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12948); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message8768); i {
+			case 0:
+				return &v.state
+			case 8:
+				return &v.sizeCache
+			case 9:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12979); i {
+			case 0:
+				return &v.state
+			case 8:
+				return &v.sizeCache
+			case 9:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message37173); i {
+			case 0:
+				return &v.state
+			case 26:
+				return &v.sizeCache
+			case 27:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12799); i {
+			case 0:
+				return &v.state
+			case 9:
+				return &v.sizeCache
+			case 10:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12870); i {
+			case 0:
+				return &v.state
+			case 21:
+				return &v.sizeCache
+			case 22:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3804); i {
+			case 0:
+				return &v.state
+			case 8:
+				return &v.sizeCache
+			case 9:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12903); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message37326); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message2356); i {
+			case 0:
+				return &v.state
+			case 32:
+				return &v.sizeCache
+			case 33:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message0); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			case 3:
+				return &v.extensionFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message971); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message176_Message178); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3069_Message3070); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message2356_Message2357); i {
+			case 0:
+				return &v.state
+			case 13:
+				return &v.sizeCache
+			case 14:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2356_Message2358); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5565,8 +6058,10 @@
 		file_datasets_google_message4_benchmark_message4_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2356_Message2359); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4_1.pb.go b/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4_1.pb.go
index 9bfa0b1..2a68946 100644
--- a/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4_1.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4_1.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message2463 struct {
+	state         protoimpl.MessageState
 	Field2498     []*Message2462 `protobuf:"bytes,1,rep,name=field2498" json:"field2498,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -34,10 +35,18 @@
 func (*Message2463) ProtoMessage() {}
 
 func (x *Message2463) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2463) XXX_Methods() *protoiface.Methods {
+func (x *Message2463) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[0].Methods()
 }
 
@@ -54,6 +63,7 @@
 }
 
 type Message12686 struct {
+	state         protoimpl.MessageState
 	Field12699    *string       `protobuf:"bytes,1,opt,name=field12699" json:"field12699,omitempty"`
 	Field12700    *Message12685 `protobuf:"bytes,2,opt,name=field12700" json:"field12700,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -71,10 +81,18 @@
 func (*Message12686) ProtoMessage() {}
 
 func (x *Message12686) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12686) XXX_Methods() *protoiface.Methods {
+func (x *Message12686) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[1].Methods()
 }
 
@@ -98,6 +116,7 @@
 }
 
 type Message11949 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -113,10 +132,18 @@
 func (*Message11949) ProtoMessage() {}
 
 func (x *Message11949) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11949) XXX_Methods() *protoiface.Methods {
+func (x *Message11949) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[2].Methods()
 }
 
@@ -126,6 +153,7 @@
 }
 
 type Message11975 struct {
+	state         protoimpl.MessageState
 	Field11992    *string         `protobuf:"bytes,1,opt,name=field11992" json:"field11992,omitempty"`
 	Field11993    *int32          `protobuf:"varint,2,opt,name=field11993" json:"field11993,omitempty"`
 	Field11994    []*Message10320 `protobuf:"bytes,3,rep,name=field11994" json:"field11994,omitempty"`
@@ -151,10 +179,18 @@
 func (*Message11975) ProtoMessage() {}
 
 func (x *Message11975) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11975) XXX_Methods() *protoiface.Methods {
+func (x *Message11975) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[3].Methods()
 }
 
@@ -234,6 +270,7 @@
 }
 
 type Message7287 struct {
+	state         protoimpl.MessageState
 	Field7311     *Message6133        `protobuf:"bytes,1,opt,name=field7311" json:"field7311,omitempty"`
 	Field7312     *UnusedEmptyMessage `protobuf:"bytes,8,opt,name=field7312" json:"field7312,omitempty"`
 	Field7313     *string             `protobuf:"bytes,3,opt,name=field7313" json:"field7313,omitempty"`
@@ -257,10 +294,18 @@
 func (*Message7287) ProtoMessage() {}
 
 func (x *Message7287) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7287) XXX_Methods() *protoiface.Methods {
+func (x *Message7287) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[4].Methods()
 }
 
@@ -326,6 +371,7 @@
 }
 
 type Message3061 struct {
+	state         protoimpl.MessageState
 	Field3286     *string                    `protobuf:"bytes,2,opt,name=field3286" json:"field3286,omitempty"`
 	Field3287     *int32                     `protobuf:"varint,77,opt,name=field3287" json:"field3287,omitempty"`
 	Field3288     *string                    `protobuf:"bytes,49,opt,name=field3288" json:"field3288,omitempty"`
@@ -389,10 +435,18 @@
 func (*Message3061) ProtoMessage() {}
 
 func (x *Message3061) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3061) XXX_Methods() *protoiface.Methods {
+func (x *Message3061) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[5].Methods()
 }
 
@@ -738,6 +792,7 @@
 }
 
 type Message12949 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -753,10 +808,18 @@
 func (*Message12949) ProtoMessage() {}
 
 func (x *Message12949) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12949) XXX_Methods() *protoiface.Methods {
+func (x *Message12949) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[6].Methods()
 }
 
@@ -766,6 +829,7 @@
 }
 
 type Message8572 struct {
+	state         protoimpl.MessageState
 	Field8647     []byte              `protobuf:"bytes,1,opt,name=field8647" json:"field8647,omitempty"`
 	Field8648     []byte              `protobuf:"bytes,3,opt,name=field8648" json:"field8648,omitempty"`
 	Field8649     *Message3886        `protobuf:"bytes,4,opt,name=field8649" json:"field8649,omitempty"`
@@ -831,10 +895,18 @@
 func (*Message8572) ProtoMessage() {}
 
 func (x *Message8572) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8572) XXX_Methods() *protoiface.Methods {
+func (x *Message8572) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[7].Methods()
 }
 
@@ -1194,6 +1266,7 @@
 }
 
 type Message8774 struct {
+	state         protoimpl.MessageState
 	Field8810     *string `protobuf:"bytes,1,opt,name=field8810" json:"field8810,omitempty"`
 	Field8811     *string `protobuf:"bytes,2,opt,name=field8811" json:"field8811,omitempty"`
 	Field8812     *string `protobuf:"bytes,3,opt,name=field8812" json:"field8812,omitempty"`
@@ -1214,10 +1287,18 @@
 func (*Message8774) ProtoMessage() {}
 
 func (x *Message8774) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8774) XXX_Methods() *protoiface.Methods {
+func (x *Message8774) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[8].Methods()
 }
 
@@ -1262,6 +1343,7 @@
 }
 
 type Message12776 struct {
+	state           protoimpl.MessageState
 	Field12786      *string             `protobuf:"bytes,1,opt,name=field12786" json:"field12786,omitempty"`
 	Field12787      *uint64             `protobuf:"fixed64,11,opt,name=field12787" json:"field12787,omitempty"`
 	Field12788      *int32              `protobuf:"varint,6,opt,name=field12788" json:"field12788,omitempty"`
@@ -1288,10 +1370,18 @@
 func (*Message12776) ProtoMessage() {}
 
 func (x *Message12776) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12776) XXX_Methods() *protoiface.Methods {
+func (x *Message12776) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[9].Methods()
 }
 
@@ -1385,6 +1475,7 @@
 }
 
 type Message12798 struct {
+	state         protoimpl.MessageState
 	Field12805    *int32        `protobuf:"varint,1,opt,name=field12805" json:"field12805,omitempty"`
 	Field12806    *int32        `protobuf:"varint,2,opt,name=field12806" json:"field12806,omitempty"`
 	Field12807    *Message12774 `protobuf:"bytes,6,opt,name=field12807" json:"field12807,omitempty"`
@@ -1404,10 +1495,18 @@
 func (*Message12798) ProtoMessage() {}
 
 func (x *Message12798) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12798) XXX_Methods() *protoiface.Methods {
+func (x *Message12798) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[10].Methods()
 }
 
@@ -1445,6 +1544,7 @@
 }
 
 type Message12797 struct {
+	state         protoimpl.MessageState
 	Field12802    *Message12796   `protobuf:"bytes,1,opt,name=field12802" json:"field12802,omitempty"`
 	Field12803    []*Message12796 `protobuf:"bytes,2,rep,name=field12803" json:"field12803,omitempty"`
 	Field12804    *string         `protobuf:"bytes,3,opt,name=field12804" json:"field12804,omitempty"`
@@ -1463,10 +1563,18 @@
 func (*Message12797) ProtoMessage() {}
 
 func (x *Message12797) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12797) XXX_Methods() *protoiface.Methods {
+func (x *Message12797) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[11].Methods()
 }
 
@@ -1497,6 +1605,7 @@
 }
 
 type Message12825 struct {
+	state         protoimpl.MessageState
 	Field12862    []*Message12818       `protobuf:"bytes,1,rep,name=field12862" json:"field12862,omitempty"`
 	Field12863    *int32                `protobuf:"varint,2,opt,name=field12863" json:"field12863,omitempty"`
 	Field12864    *Message12819         `protobuf:"bytes,3,opt,name=field12864" json:"field12864,omitempty"`
@@ -1519,10 +1628,18 @@
 func (*Message12825) ProtoMessage() {}
 
 func (x *Message12825) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12825) XXX_Methods() *protoiface.Methods {
+func (x *Message12825) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[12].Methods()
 }
 
@@ -1581,6 +1698,7 @@
 }
 
 type Message8590 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1596,10 +1714,18 @@
 func (*Message8590) ProtoMessage() {}
 
 func (x *Message8590) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8590) XXX_Methods() *protoiface.Methods {
+func (x *Message8590) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[13].Methods()
 }
 
@@ -1609,6 +1735,7 @@
 }
 
 type Message8587 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1624,10 +1751,18 @@
 func (*Message8587) ProtoMessage() {}
 
 func (x *Message8587) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8587) XXX_Methods() *protoiface.Methods {
+func (x *Message8587) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[14].Methods()
 }
 
@@ -1637,6 +1772,7 @@
 }
 
 type Message1374 struct {
+	state         protoimpl.MessageState
 	Field1375     *string `protobuf:"bytes,1,req,name=field1375" json:"field1375,omitempty"`
 	Field1376     *string `protobuf:"bytes,2,opt,name=field1376" json:"field1376,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1654,10 +1790,18 @@
 func (*Message1374) ProtoMessage() {}
 
 func (x *Message1374) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message1374) XXX_Methods() *protoiface.Methods {
+func (x *Message1374) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[15].Methods()
 }
 
@@ -1681,6 +1825,7 @@
 }
 
 type Message2462 struct {
+	state         protoimpl.MessageState
 	Field2496     []byte   `protobuf:"bytes,1,req,name=field2496" json:"field2496,omitempty"`
 	Field2497     *float64 `protobuf:"fixed64,2,req,name=field2497" json:"field2497,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1698,10 +1843,18 @@
 func (*Message2462) ProtoMessage() {}
 
 func (x *Message2462) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2462) XXX_Methods() *protoiface.Methods {
+func (x *Message2462) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[16].Methods()
 }
 
@@ -1725,6 +1878,7 @@
 }
 
 type Message12685 struct {
+	state         protoimpl.MessageState
 	Field12692    []string `protobuf:"bytes,1,rep,name=field12692" json:"field12692,omitempty"`
 	Field12693    []string `protobuf:"bytes,2,rep,name=field12693" json:"field12693,omitempty"`
 	Field12694    *int64   `protobuf:"varint,3,opt,name=field12694" json:"field12694,omitempty"`
@@ -1747,10 +1901,18 @@
 func (*Message12685) ProtoMessage() {}
 
 func (x *Message12685) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12685) XXX_Methods() *protoiface.Methods {
+func (x *Message12685) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[17].Methods()
 }
 
@@ -1809,6 +1971,7 @@
 }
 
 type Message10320 struct {
+	state         protoimpl.MessageState
 	Field10347    *Enum10335      `protobuf:"varint,1,opt,name=field10347,enum=benchmarks.google_message4.Enum10335" json:"field10347,omitempty"`
 	Field10348    []*Message10319 `protobuf:"bytes,2,rep,name=field10348" json:"field10348,omitempty"`
 	Field10349    *int32          `protobuf:"varint,3,opt,name=field10349" json:"field10349,omitempty"`
@@ -1831,10 +1994,18 @@
 func (*Message10320) ProtoMessage() {}
 
 func (x *Message10320) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10320) XXX_Methods() *protoiface.Methods {
+func (x *Message10320) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[18].Methods()
 }
 
@@ -1893,6 +2064,7 @@
 }
 
 type Message11947 struct {
+	state         protoimpl.MessageState
 	Field11951    *uint32 `protobuf:"varint,1,opt,name=field11951" json:"field11951,omitempty"`
 	Field11952    *bool   `protobuf:"varint,2,opt,name=field11952" json:"field11952,omitempty"`
 	Field11953    *int32  `protobuf:"varint,3,opt,name=field11953" json:"field11953,omitempty"`
@@ -1911,10 +2083,18 @@
 func (*Message11947) ProtoMessage() {}
 
 func (x *Message11947) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11947) XXX_Methods() *protoiface.Methods {
+func (x *Message11947) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[19].Methods()
 }
 
@@ -1945,6 +2125,7 @@
 }
 
 type Message11920 struct {
+	state         protoimpl.MessageState
 	Field11945    *Enum11901  `protobuf:"varint,1,opt,name=field11945,enum=benchmarks.google_message4.Enum11901" json:"field11945,omitempty"`
 	Field11946    *UnusedEnum `protobuf:"varint,2,opt,name=field11946,enum=benchmarks.google_message4.UnusedEnum" json:"field11946,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1962,10 +2143,18 @@
 func (*Message11920) ProtoMessage() {}
 
 func (x *Message11920) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message11920) XXX_Methods() *protoiface.Methods {
+func (x *Message11920) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[20].Methods()
 }
 
@@ -1989,6 +2178,7 @@
 }
 
 type Message6643 struct {
+	state         protoimpl.MessageState
 	Field6683     *UnusedEmptyMessage   `protobuf:"bytes,3,opt,name=field6683" json:"field6683,omitempty"`
 	Field6684     *UnusedEmptyMessage   `protobuf:"bytes,4,opt,name=field6684" json:"field6684,omitempty"`
 	Field6685     *float64              `protobuf:"fixed64,5,opt,name=field6685" json:"field6685,omitempty"`
@@ -2022,10 +2212,18 @@
 func (*Message6643) ProtoMessage() {}
 
 func (x *Message6643) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6643) XXX_Methods() *protoiface.Methods {
+func (x *Message6643) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[21].Methods()
 }
 
@@ -2161,6 +2359,7 @@
 }
 
 type Message6133 struct {
+	state         protoimpl.MessageState
 	Field6173     *Message4016   `protobuf:"bytes,12,opt,name=field6173" json:"field6173,omitempty"`
 	Field6174     *float64       `protobuf:"fixed64,16,opt,name=field6174" json:"field6174,omitempty"`
 	Field6175     *string        `protobuf:"bytes,1,req,name=field6175" json:"field6175,omitempty"`
@@ -2196,10 +2395,18 @@
 func (*Message6133) ProtoMessage() {}
 
 func (x *Message6133) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6133) XXX_Methods() *protoiface.Methods {
+func (x *Message6133) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[22].Methods()
 }
 
@@ -2349,6 +2556,7 @@
 }
 
 type Message6109 struct {
+	state           protoimpl.MessageState
 	Field6140       *string        `protobuf:"bytes,1,opt,name=field6140" json:"field6140,omitempty"`
 	Field6141       *Enum6111      `protobuf:"varint,2,req,name=field6141,enum=benchmarks.google_message4.Enum6111" json:"field6141,omitempty"`
 	Field6142       *int32         `protobuf:"varint,9,opt,name=field6142" json:"field6142,omitempty"`
@@ -2377,10 +2585,18 @@
 func (*Message6109) ProtoMessage() {}
 
 func (x *Message6109) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6109) XXX_Methods() *protoiface.Methods {
+func (x *Message6109) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[23].Methods()
 }
 
@@ -2483,6 +2699,7 @@
 }
 
 type Message3046 struct {
+	state         protoimpl.MessageState
 	Field3222     *Enum2593 `protobuf:"varint,1,req,name=field3222,enum=benchmarks.google_message4.Enum2593" json:"field3222,omitempty"`
 	Field3223     *int32    `protobuf:"varint,4,opt,name=field3223" json:"field3223,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2500,10 +2717,18 @@
 func (*Message3046) ProtoMessage() {}
 
 func (x *Message3046) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3046) XXX_Methods() *protoiface.Methods {
+func (x *Message3046) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[24].Methods()
 }
 
@@ -2527,6 +2752,7 @@
 }
 
 type Message3060 struct {
+	state         protoimpl.MessageState
 	Field3283     *int64 `protobuf:"varint,1,opt,name=field3283" json:"field3283,omitempty"`
 	Field3284     *int64 `protobuf:"varint,2,opt,name=field3284" json:"field3284,omitempty"`
 	Field3285     *int64 `protobuf:"varint,3,opt,name=field3285" json:"field3285,omitempty"`
@@ -2545,10 +2771,18 @@
 func (*Message3060) ProtoMessage() {}
 
 func (x *Message3060) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3060) XXX_Methods() *protoiface.Methods {
+func (x *Message3060) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[25].Methods()
 }
 
@@ -2579,6 +2813,7 @@
 }
 
 type Message3041 struct {
+	state         protoimpl.MessageState
 	Field3214     *string `protobuf:"bytes,1,opt,name=field3214" json:"field3214,omitempty"`
 	Field3215     *int32  `protobuf:"varint,2,opt,name=field3215" json:"field3215,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2596,10 +2831,18 @@
 func (*Message3041) ProtoMessage() {}
 
 func (x *Message3041) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3041) XXX_Methods() *protoiface.Methods {
+func (x *Message3041) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[26].Methods()
 }
 
@@ -2623,6 +2866,7 @@
 }
 
 type Message3040 struct {
+	state         protoimpl.MessageState
 	Field3209     *uint64  `protobuf:"fixed64,1,req,name=field3209" json:"field3209,omitempty"`
 	Field3210     []uint64 `protobuf:"fixed64,4,rep,name=field3210" json:"field3210,omitempty"`
 	Field3211     *int32   `protobuf:"varint,5,opt,name=field3211" json:"field3211,omitempty"`
@@ -2643,10 +2887,18 @@
 func (*Message3040) ProtoMessage() {}
 
 func (x *Message3040) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3040) XXX_Methods() *protoiface.Methods {
+func (x *Message3040) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[27].Methods()
 }
 
@@ -2691,6 +2943,7 @@
 }
 
 type Message3050 struct {
+	state         protoimpl.MessageState
 	Field3245     []byte  `protobuf:"bytes,5,opt,name=field3245" json:"field3245,omitempty"`
 	Field3246     *int32  `protobuf:"varint,2,opt,name=field3246" json:"field3246,omitempty"`
 	Field3247     []byte  `protobuf:"bytes,6,opt,name=field3247" json:"field3247,omitempty"`
@@ -2712,10 +2965,18 @@
 func (*Message3050) ProtoMessage() {}
 
 func (x *Message3050) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3050) XXX_Methods() *protoiface.Methods {
+func (x *Message3050) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[28].Methods()
 }
 
@@ -2767,6 +3028,7 @@
 }
 
 type Message7905 struct {
+	state         protoimpl.MessageState
 	Field7911     *int32 `protobuf:"varint,1,opt,name=field7911" json:"field7911,omitempty"`
 	Field7912     *bool  `protobuf:"varint,2,opt,name=field7912" json:"field7912,omitempty"`
 	Field7913     []byte `protobuf:"bytes,3,opt,name=field7913" json:"field7913,omitempty"`
@@ -2789,10 +3051,18 @@
 func (*Message7905) ProtoMessage() {}
 
 func (x *Message7905) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7905) XXX_Methods() *protoiface.Methods {
+func (x *Message7905) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[29].Methods()
 }
 
@@ -2851,6 +3121,7 @@
 }
 
 type Message3886 struct {
+	state         protoimpl.MessageState
 	Message3887   []*Message3886_Message3887 `protobuf:"group,1,rep,name=Message3887,json=message3887" json:"message3887,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2867,10 +3138,18 @@
 func (*Message3886) ProtoMessage() {}
 
 func (x *Message3886) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3886) XXX_Methods() *protoiface.Methods {
+func (x *Message3886) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[30].Methods()
 }
 
@@ -2887,6 +3166,7 @@
 }
 
 type Message7864 struct {
+	state         protoimpl.MessageState
 	Field7866     *string               `protobuf:"bytes,1,opt,name=field7866" json:"field7866,omitempty"`
 	Field7867     *string               `protobuf:"bytes,2,opt,name=field7867" json:"field7867,omitempty"`
 	Field7868     []*Message7865        `protobuf:"bytes,5,rep,name=field7868" json:"field7868,omitempty"`
@@ -2908,10 +3188,18 @@
 func (*Message7864) ProtoMessage() {}
 
 func (x *Message7864) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7864) XXX_Methods() *protoiface.Methods {
+func (x *Message7864) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[31].Methods()
 }
 
@@ -2963,6 +3251,7 @@
 }
 
 type Message3922 struct {
+	state         protoimpl.MessageState
 	Field4012     *uint64 `protobuf:"varint,1,opt,name=field4012" json:"field4012,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2979,10 +3268,18 @@
 func (*Message3922) ProtoMessage() {}
 
 func (x *Message3922) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3922) XXX_Methods() *protoiface.Methods {
+func (x *Message3922) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[32].Methods()
 }
 
@@ -2999,6 +3296,7 @@
 }
 
 type Message3052 struct {
+	state         protoimpl.MessageState
 	Field3254     []string `protobuf:"bytes,1,rep,name=field3254" json:"field3254,omitempty"`
 	Field3255     []string `protobuf:"bytes,2,rep,name=field3255" json:"field3255,omitempty"`
 	Field3256     [][]byte `protobuf:"bytes,3,rep,name=field3256" json:"field3256,omitempty"`
@@ -3023,10 +3321,18 @@
 func (*Message3052) ProtoMessage() {}
 
 func (x *Message3052) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[33].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[33]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3052) XXX_Methods() *protoiface.Methods {
+func (x *Message3052) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[33].Methods()
 }
 
@@ -3099,6 +3405,7 @@
 }
 
 type Message8575 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3114,10 +3421,18 @@
 func (*Message8575) ProtoMessage() {}
 
 func (x *Message8575) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[34].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[34]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message8575) XXX_Methods() *protoiface.Methods {
+func (x *Message8575) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[34].Methods()
 }
 
@@ -3127,6 +3442,7 @@
 }
 
 type Message7843 struct {
+	state         protoimpl.MessageState
 	Field7844     *bool               `protobuf:"varint,5,opt,name=field7844" json:"field7844,omitempty"`
 	Field7845     *int32              `protobuf:"varint,1,opt,name=field7845" json:"field7845,omitempty"`
 	Field7846     *UnusedEmptyMessage `protobuf:"bytes,22,opt,name=field7846" json:"field7846,omitempty"`
@@ -3158,10 +3474,18 @@
 func (*Message7843) ProtoMessage() {}
 
 func (x *Message7843) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[35].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[35]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7843) XXX_Methods() *protoiface.Methods {
+func (x *Message7843) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[35].Methods()
 }
 
@@ -3283,6 +3607,7 @@
 }
 
 type Message3919 struct {
+	state         protoimpl.MessageState
 	Field4009     []*Message3920 `protobuf:"bytes,1,rep,name=field4009" json:"field4009,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -3299,10 +3624,18 @@
 func (*Message3919) ProtoMessage() {}
 
 func (x *Message3919) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[36].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[36]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3919) XXX_Methods() *protoiface.Methods {
+func (x *Message3919) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[36].Methods()
 }
 
@@ -3319,6 +3652,7 @@
 }
 
 type Message7929 struct {
+	state         protoimpl.MessageState
 	Field7942     *int64                `protobuf:"varint,1,opt,name=field7942" json:"field7942,omitempty"`
 	Field7943     *int64                `protobuf:"varint,4,opt,name=field7943" json:"field7943,omitempty"`
 	Field7944     *int64                `protobuf:"varint,5,opt,name=field7944" json:"field7944,omitempty"`
@@ -3354,10 +3688,18 @@
 func (*Message7929) ProtoMessage() {}
 
 func (x *Message7929) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[37].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[37]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7929) XXX_Methods() *protoiface.Methods {
+func (x *Message7929) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[37].Methods()
 }
 
@@ -3507,6 +3849,7 @@
 }
 
 type Message3061_Message3062 struct {
+	state         protoimpl.MessageState
 	Field3335     *int32 `protobuf:"varint,5,req,name=field3335" json:"field3335,omitempty"`
 	Field3336     *int32 `protobuf:"varint,6,opt,name=field3336" json:"field3336,omitempty"`
 	Field3337     *int32 `protobuf:"varint,7,opt,name=field3337" json:"field3337,omitempty"`
@@ -3525,10 +3868,18 @@
 func (*Message3061_Message3062) ProtoMessage() {}
 
 func (x *Message3061_Message3062) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[38].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[38]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3061_Message3062) XXX_Methods() *protoiface.Methods {
+func (x *Message3061_Message3062) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[38].Methods()
 }
 
@@ -3559,6 +3910,7 @@
 }
 
 type Message3061_Message3063 struct {
+	state         protoimpl.MessageState
 	Field3338     *int32    `protobuf:"varint,14,req,name=field3338" json:"field3338,omitempty"`
 	Field3339     *Enum2851 `protobuf:"varint,18,opt,name=field3339,enum=benchmarks.google_message4.Enum2851" json:"field3339,omitempty"`
 	Field3340     *int64    `protobuf:"varint,15,opt,name=field3340" json:"field3340,omitempty"`
@@ -3578,10 +3930,18 @@
 func (*Message3061_Message3063) ProtoMessage() {}
 
 func (x *Message3061_Message3063) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[39].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[39]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3061_Message3063) XXX_Methods() *protoiface.Methods {
+func (x *Message3061_Message3063) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[39].Methods()
 }
 
@@ -3619,6 +3979,7 @@
 }
 
 type Message3061_Message3064 struct {
+	state         protoimpl.MessageState
 	Field3342     *Enum2602           `protobuf:"varint,9,req,name=field3342,enum=benchmarks.google_message4.Enum2602" json:"field3342,omitempty"`
 	Field3343     *int32              `protobuf:"varint,92,opt,name=field3343" json:"field3343,omitempty"`
 	Field3344     *string             `protobuf:"bytes,10,opt,name=field3344" json:"field3344,omitempty"`
@@ -3653,10 +4014,18 @@
 func (*Message3061_Message3064) ProtoMessage() {}
 
 func (x *Message3061_Message3064) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[40].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[40]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3061_Message3064) XXX_Methods() *protoiface.Methods {
+func (x *Message3061_Message3064) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[40].Methods()
 }
 
@@ -3799,6 +4168,7 @@
 }
 
 type Message3061_Message3065 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -3814,10 +4184,18 @@
 func (*Message3061_Message3065) ProtoMessage() {}
 
 func (x *Message3061_Message3065) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[41].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[41]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3061_Message3065) XXX_Methods() *protoiface.Methods {
+func (x *Message3061_Message3065) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[41].Methods()
 }
 
@@ -3827,6 +4205,7 @@
 }
 
 type Message3061_Message3066 struct {
+	state         protoimpl.MessageState
 	Field3366     *int32              `protobuf:"varint,22,opt,name=field3366" json:"field3366,omitempty"`
 	Field3367     *int32              `protobuf:"varint,55,opt,name=field3367" json:"field3367,omitempty"`
 	Field3368     *int32              `protobuf:"varint,88,opt,name=field3368" json:"field3368,omitempty"`
@@ -3850,10 +4229,18 @@
 func (*Message3061_Message3066) ProtoMessage() {}
 
 func (x *Message3061_Message3066) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[42].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[42]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3061_Message3066) XXX_Methods() *protoiface.Methods {
+func (x *Message3061_Message3066) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[42].Methods()
 }
 
@@ -3919,6 +4306,7 @@
 }
 
 type Message3886_Message3887 struct {
+	state         protoimpl.MessageState
 	Field3932     *string      `protobuf:"bytes,2,req,name=field3932" json:"field3932,omitempty"`
 	Field3933     *string      `protobuf:"bytes,9,opt,name=field3933" json:"field3933,omitempty"`
 	Field3934     *Message3850 `protobuf:"bytes,3,opt,name=field3934" json:"field3934,omitempty"`
@@ -3938,10 +4326,18 @@
 func (*Message3886_Message3887) ProtoMessage() {}
 
 func (x *Message3886_Message3887) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[43].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[43]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3886_Message3887) XXX_Methods() *protoiface.Methods {
+func (x *Message3886_Message3887) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[43].Methods()
 }
 
@@ -5240,9 +5636,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2463); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5250,9 +5648,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12686); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5261,8 +5661,10 @@
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message11949); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5270,9 +5672,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message11975); i {
-			case 10:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 11:
+				return &v.sizeCache
+			case 12:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5280,9 +5684,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7287); i {
-			case 8:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 9:
+				return &v.sizeCache
+			case 10:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5290,9 +5696,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3061); i {
-			case 48:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 49:
+				return &v.sizeCache
+			case 50:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5301,8 +5709,10 @@
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12949); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5310,9 +5720,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8572); i {
-			case 50:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 51:
+				return &v.sizeCache
+			case 52:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5320,6 +5732,34 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8774); i {
+			case 0:
+				return &v.state
+			case 6:
+				return &v.sizeCache
+			case 7:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12776); i {
+			case 0:
+				return &v.state
+			case 11:
+				return &v.sizeCache
+			case 12:
+				return &v.unknownFields
+			case 13:
+				return &v.extensionFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12798); i {
+			case 0:
+				return &v.state
 			case 5:
 				return &v.sizeCache
 			case 6:
@@ -5328,20 +5768,10 @@
 				return nil
 			}
 		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12776); i {
-			case 10:
-				return &v.sizeCache
-			case 11:
-				return &v.unknownFields
-			case 12:
-				return &v.extensionFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12798); i {
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12797); i {
+			case 0:
+				return &v.state
 			case 4:
 				return &v.sizeCache
 			case 5:
@@ -5350,21 +5780,13 @@
 				return nil
 			}
 		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12797); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12825); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5373,8 +5795,10 @@
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8590); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5383,8 +5807,10 @@
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8587); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5392,9 +5818,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message1374); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5402,9 +5830,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2462); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5412,9 +5842,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12685); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5422,9 +5854,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message10320); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5432,9 +5866,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message11947); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5442,58 +5878,8 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message11920); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6643); i {
-			case 18:
-				return &v.sizeCache
-			case 19:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6133); i {
-			case 20:
-				return &v.sizeCache
-			case 21:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6109); i {
-			case 12:
-				return &v.sizeCache
-			case 13:
-				return &v.unknownFields
-			case 14:
-				return &v.extensionFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3046); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3060); i {
+			case 0:
+				return &v.state
 			case 3:
 				return &v.sizeCache
 			case 4:
@@ -5502,11 +5888,75 @@
 				return nil
 			}
 		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6643); i {
+			case 0:
+				return &v.state
+			case 19:
+				return &v.sizeCache
+			case 20:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6133); i {
+			case 0:
+				return &v.state
+			case 21:
+				return &v.sizeCache
+			case 22:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6109); i {
+			case 0:
+				return &v.state
+			case 13:
+				return &v.sizeCache
+			case 14:
+				return &v.unknownFields
+			case 15:
+				return &v.extensionFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3046); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3060); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3041); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5514,16 +5964,8 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3040); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3050); i {
+			case 0:
+				return &v.state
 			case 6:
 				return &v.sizeCache
 			case 7:
@@ -5532,8 +5974,10 @@
 				return nil
 			}
 		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message7905); i {
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3050); i {
+			case 0:
+				return &v.state
 			case 7:
 				return &v.sizeCache
 			case 8:
@@ -5542,11 +5986,25 @@
 				return nil
 			}
 		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message7905); i {
+			case 0:
+				return &v.state
+			case 8:
+				return &v.sizeCache
+			case 9:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3886); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5554,9 +6012,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7864); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5564,9 +6024,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3922); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5574,9 +6036,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3052); i {
-			case 9:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 10:
+				return &v.sizeCache
+			case 11:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5585,25 +6049,7 @@
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message8575); i {
 			case 0:
-				return &v.sizeCache
-			case 1:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message7843); i {
-			case 16:
-				return &v.sizeCache
-			case 17:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3919); i {
+				return &v.state
 			case 1:
 				return &v.sizeCache
 			case 2:
@@ -5612,8 +6058,70 @@
 				return nil
 			}
 		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message7843); i {
+			case 0:
+				return &v.state
+			case 17:
+				return &v.sizeCache
+			case 18:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3919); i {
+			case 0:
+				return &v.state
+			case 2:
+				return &v.sizeCache
+			case 3:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7929); i {
+			case 0:
+				return &v.state
+			case 21:
+				return &v.sizeCache
+			case 22:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3061_Message3062); i {
+			case 0:
+				return &v.state
+			case 4:
+				return &v.sizeCache
+			case 5:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3061_Message3063); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3061_Message3064); i {
+			case 0:
+				return &v.state
 			case 20:
 				return &v.sizeCache
 			case 21:
@@ -5622,41 +6130,13 @@
 				return nil
 			}
 		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3061_Message3062); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3061_Message3063); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3061_Message3064); i {
-			case 19:
-				return &v.sizeCache
-			case 20:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3061_Message3065); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5664,9 +6144,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3061_Message3066); i {
-			case 8:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 9:
+				return &v.sizeCache
+			case 10:
 				return &v.unknownFields
 			default:
 				return nil
@@ -5674,9 +6156,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_1_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3886_Message3887); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4_2.pb.go b/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4_2.pb.go
index 6070f9d..b77e245 100644
--- a/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4_2.pb.go
+++ b/internal/testprotos/benchmarks/datasets/google_message4/benchmark_message4_2.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message12774 struct {
+	state         protoimpl.MessageState
 	Field12777    *uint32 `protobuf:"varint,1,opt,name=field12777" json:"field12777,omitempty"`
 	Field12778    *uint32 `protobuf:"varint,2,opt,name=field12778" json:"field12778,omitempty"`
 	Field12779    *uint32 `protobuf:"varint,3,opt,name=field12779" json:"field12779,omitempty"`
@@ -39,10 +40,18 @@
 func (*Message12774) ProtoMessage() {}
 
 func (x *Message12774) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[0].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12774) XXX_Methods() *protoiface.Methods {
+func (x *Message12774) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[0].Methods()
 }
 
@@ -94,6 +103,7 @@
 }
 
 type Message12796 struct {
+	state         protoimpl.MessageState
 	Field12800    []uint64 `protobuf:"fixed64,1,rep,name=field12800" json:"field12800,omitempty"`
 	Field12801    *uint64  `protobuf:"varint,2,opt,name=field12801" json:"field12801,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -111,10 +121,18 @@
 func (*Message12796) ProtoMessage() {}
 
 func (x *Message12796) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[1].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12796) XXX_Methods() *protoiface.Methods {
+func (x *Message12796) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[1].Methods()
 }
 
@@ -138,6 +156,7 @@
 }
 
 type Message12821 struct {
+	state         protoimpl.MessageState
 	Field12848    *int32 `protobuf:"varint,1,opt,name=field12848" json:"field12848,omitempty"`
 	Field12849    *int32 `protobuf:"varint,2,opt,name=field12849" json:"field12849,omitempty"`
 	Field12850    *int32 `protobuf:"varint,3,opt,name=field12850" json:"field12850,omitempty"`
@@ -158,10 +177,18 @@
 func (*Message12821) ProtoMessage() {}
 
 func (x *Message12821) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[2].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12821) XXX_Methods() *protoiface.Methods {
+func (x *Message12821) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[2].Methods()
 }
 
@@ -206,6 +233,7 @@
 }
 
 type Message12820 struct {
+	state         protoimpl.MessageState
 	Field12840    *int32 `protobuf:"varint,1,opt,name=field12840" json:"field12840,omitempty"`
 	Field12841    *int32 `protobuf:"varint,2,opt,name=field12841" json:"field12841,omitempty"`
 	Field12842    *int32 `protobuf:"varint,3,opt,name=field12842" json:"field12842,omitempty"`
@@ -229,10 +257,18 @@
 func (*Message12820) ProtoMessage() {}
 
 func (x *Message12820) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[3].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12820) XXX_Methods() *protoiface.Methods {
+func (x *Message12820) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[3].Methods()
 }
 
@@ -298,6 +334,7 @@
 }
 
 type Message12819 struct {
+	state         protoimpl.MessageState
 	Field12834    *float64 `protobuf:"fixed64,1,opt,name=field12834" json:"field12834,omitempty"`
 	Field12835    *float64 `protobuf:"fixed64,2,opt,name=field12835" json:"field12835,omitempty"`
 	Field12836    *float64 `protobuf:"fixed64,3,opt,name=field12836" json:"field12836,omitempty"`
@@ -319,10 +356,18 @@
 func (*Message12819) ProtoMessage() {}
 
 func (x *Message12819) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[4].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12819) XXX_Methods() *protoiface.Methods {
+func (x *Message12819) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[4].Methods()
 }
 
@@ -374,6 +419,7 @@
 }
 
 type Message12818 struct {
+	state         protoimpl.MessageState
 	Field12829    *uint64         `protobuf:"varint,1,opt,name=field12829" json:"field12829,omitempty"`
 	Field12830    *int32          `protobuf:"varint,2,opt,name=field12830" json:"field12830,omitempty"`
 	Field12831    *int32          `protobuf:"varint,3,opt,name=field12831" json:"field12831,omitempty"`
@@ -394,10 +440,18 @@
 func (*Message12818) ProtoMessage() {}
 
 func (x *Message12818) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[5].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12818) XXX_Methods() *protoiface.Methods {
+func (x *Message12818) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[5].Methods()
 }
 
@@ -442,6 +496,7 @@
 }
 
 type Message10319 struct {
+	state         protoimpl.MessageState
 	Field10340    *Enum10325 `protobuf:"varint,1,opt,name=field10340,enum=benchmarks.google_message4.Enum10325" json:"field10340,omitempty"`
 	Field10341    *int32     `protobuf:"varint,4,opt,name=field10341" json:"field10341,omitempty"`
 	Field10342    *int32     `protobuf:"varint,5,opt,name=field10342" json:"field10342,omitempty"`
@@ -464,10 +519,18 @@
 func (*Message10319) ProtoMessage() {}
 
 func (x *Message10319) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[6].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message10319) XXX_Methods() *protoiface.Methods {
+func (x *Message10319) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[6].Methods()
 }
 
@@ -526,6 +589,7 @@
 }
 
 type Message6578 struct {
+	state         protoimpl.MessageState
 	Field6632     *Enum6579 `protobuf:"varint,1,opt,name=field6632,enum=benchmarks.google_message4.Enum6579" json:"field6632,omitempty"`
 	Field6633     *Enum6588 `protobuf:"varint,2,opt,name=field6633,enum=benchmarks.google_message4.Enum6588" json:"field6633,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -543,10 +607,18 @@
 func (*Message6578) ProtoMessage() {}
 
 func (x *Message6578) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[7].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6578) XXX_Methods() *protoiface.Methods {
+func (x *Message6578) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[7].Methods()
 }
 
@@ -570,6 +642,7 @@
 }
 
 type Message6126 struct {
+	state         protoimpl.MessageState
 	Field6152     *string               `protobuf:"bytes,1,req,name=field6152" json:"field6152,omitempty"`
 	Field6153     []*Message6127        `protobuf:"bytes,9,rep,name=field6153" json:"field6153,omitempty"`
 	Field6154     *int32                `protobuf:"varint,14,opt,name=field6154" json:"field6154,omitempty"`
@@ -604,10 +677,18 @@
 func (*Message6126) ProtoMessage() {}
 
 func (x *Message6126) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[8].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6126) XXX_Methods() *protoiface.Methods {
+func (x *Message6126) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[8].Methods()
 }
 
@@ -750,6 +831,7 @@
 }
 
 type Message5881 struct {
+	state         protoimpl.MessageState
 	Field5897     *float64            `protobuf:"fixed64,1,req,name=field5897" json:"field5897,omitempty"`
 	Field5898     *string             `protobuf:"bytes,5,opt,name=field5898" json:"field5898,omitempty"`
 	Field5899     *Message5861        `protobuf:"bytes,2,opt,name=field5899" json:"field5899,omitempty"`
@@ -771,10 +853,18 @@
 func (*Message5881) ProtoMessage() {}
 
 func (x *Message5881) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[9].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message5881) XXX_Methods() *protoiface.Methods {
+func (x *Message5881) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[9].Methods()
 }
 
@@ -826,6 +916,7 @@
 }
 
 type Message6110 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -841,10 +932,18 @@
 func (*Message6110) ProtoMessage() {}
 
 func (x *Message6110) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[10].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6110) XXX_Methods() *protoiface.Methods {
+func (x *Message6110) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[10].Methods()
 }
 
@@ -854,6 +953,7 @@
 }
 
 type Message6107 struct {
+	state         protoimpl.MessageState
 	Field6134     *Message4016   `protobuf:"bytes,1,opt,name=field6134" json:"field6134,omitempty"`
 	Field6135     *int32         `protobuf:"varint,2,opt,name=field6135" json:"field6135,omitempty"`
 	Field6136     *string        `protobuf:"bytes,3,opt,name=field6136" json:"field6136,omitempty"`
@@ -875,10 +975,18 @@
 func (*Message6107) ProtoMessage() {}
 
 func (x *Message6107) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[11].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6107) XXX_Methods() *protoiface.Methods {
+func (x *Message6107) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[11].Methods()
 }
 
@@ -930,6 +1038,7 @@
 }
 
 type Message6129 struct {
+	state         protoimpl.MessageState
 	Field6171     *Enum6130 `protobuf:"varint,1,req,name=field6171,enum=benchmarks.google_message4.Enum6130" json:"field6171,omitempty"`
 	Field6172     *string   `protobuf:"bytes,2,req,name=field6172" json:"field6172,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -947,10 +1056,18 @@
 func (*Message6129) ProtoMessage() {}
 
 func (x *Message6129) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[12].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6129) XXX_Methods() *protoiface.Methods {
+func (x *Message6129) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[12].Methods()
 }
 
@@ -974,6 +1091,7 @@
 }
 
 type Message5908 struct {
+	state         protoimpl.MessageState
 	Field5971     *string      `protobuf:"bytes,1,opt,name=field5971" json:"field5971,omitempty"`
 	Field5972     *int32       `protobuf:"varint,2,opt,name=field5972" json:"field5972,omitempty"`
 	Field5973     *int32       `protobuf:"varint,3,opt,name=field5973" json:"field5973,omitempty"`
@@ -1039,10 +1157,18 @@
 func (*Message5908) ProtoMessage() {}
 
 func (x *Message5908) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[13].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message5908) XXX_Methods() *protoiface.Methods {
+func (x *Message5908) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[13].Methods()
 }
 
@@ -1402,6 +1528,7 @@
 }
 
 type Message3850 struct {
+	state         protoimpl.MessageState
 	Field3924     *Enum3851 `protobuf:"varint,2,opt,name=field3924,enum=benchmarks.google_message4.Enum3851" json:"field3924,omitempty"`
 	Field3925     *bool     `protobuf:"varint,12,opt,name=field3925" json:"field3925,omitempty"`
 	Field3926     *int32    `protobuf:"varint,4,opt,name=field3926" json:"field3926,omitempty"`
@@ -1423,10 +1550,18 @@
 func (*Message3850) ProtoMessage() {}
 
 func (x *Message3850) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[14].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3850) XXX_Methods() *protoiface.Methods {
+func (x *Message3850) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[14].Methods()
 }
 
@@ -1478,6 +1613,7 @@
 }
 
 type Message7865 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1493,10 +1629,18 @@
 func (*Message7865) ProtoMessage() {}
 
 func (x *Message7865) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[15].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7865) XXX_Methods() *protoiface.Methods {
+func (x *Message7865) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[15].Methods()
 }
 
@@ -1506,6 +1650,7 @@
 }
 
 type Message7511 struct {
+	state         protoimpl.MessageState
 	Field7523     *bool     `protobuf:"varint,1,opt,name=field7523" json:"field7523,omitempty"`
 	Field7524     *Enum7512 `protobuf:"varint,2,opt,name=field7524,enum=benchmarks.google_message4.Enum7512" json:"field7524,omitempty"`
 	Field7525     *int32    `protobuf:"varint,3,opt,name=field7525" json:"field7525,omitempty"`
@@ -1528,10 +1673,18 @@
 func (*Message7511) ProtoMessage() {}
 
 func (x *Message7511) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[16].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7511) XXX_Methods() *protoiface.Methods {
+func (x *Message7511) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[16].Methods()
 }
 
@@ -1590,6 +1743,7 @@
 }
 
 type Message3920 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1605,10 +1759,18 @@
 func (*Message3920) ProtoMessage() {}
 
 func (x *Message3920) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[17].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3920) XXX_Methods() *protoiface.Methods {
+func (x *Message3920) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[17].Methods()
 }
 
@@ -1618,6 +1780,7 @@
 }
 
 type Message7928 struct {
+	state         protoimpl.MessageState
 	Field7940     *string `protobuf:"bytes,1,opt,name=field7940" json:"field7940,omitempty"`
 	Field7941     *int64  `protobuf:"varint,2,opt,name=field7941" json:"field7941,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1635,10 +1798,18 @@
 func (*Message7928) ProtoMessage() {}
 
 func (x *Message7928) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[18].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7928) XXX_Methods() *protoiface.Methods {
+func (x *Message7928) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[18].Methods()
 }
 
@@ -1662,6 +1833,7 @@
 }
 
 type Message7921 struct {
+	state         protoimpl.MessageState
 	Field7936     *int32    `protobuf:"varint,1,opt,name=field7936" json:"field7936,omitempty"`
 	Field7937     *int64    `protobuf:"varint,2,opt,name=field7937" json:"field7937,omitempty"`
 	Field7938     *float32  `protobuf:"fixed32,3,opt,name=field7938" json:"field7938,omitempty"`
@@ -1681,10 +1853,18 @@
 func (*Message7921) ProtoMessage() {}
 
 func (x *Message7921) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[19].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7921) XXX_Methods() *protoiface.Methods {
+func (x *Message7921) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[19].Methods()
 }
 
@@ -1722,6 +1902,7 @@
 }
 
 type Message7920 struct {
+	state         protoimpl.MessageState
 	Field7934     *int64 `protobuf:"varint,1,opt,name=field7934" json:"field7934,omitempty"`
 	Field7935     *int64 `protobuf:"varint,2,opt,name=field7935" json:"field7935,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1739,10 +1920,18 @@
 func (*Message7920) ProtoMessage() {}
 
 func (x *Message7920) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[20].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7920) XXX_Methods() *protoiface.Methods {
+func (x *Message7920) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[20].Methods()
 }
 
@@ -1766,6 +1955,7 @@
 }
 
 type Message7919 struct {
+	state         protoimpl.MessageState
 	Field7931     *uint64 `protobuf:"fixed64,1,opt,name=field7931" json:"field7931,omitempty"`
 	Field7932     *int64  `protobuf:"varint,2,opt,name=field7932" json:"field7932,omitempty"`
 	Field7933     []byte  `protobuf:"bytes,3,opt,name=field7933" json:"field7933,omitempty"`
@@ -1784,10 +1974,18 @@
 func (*Message7919) ProtoMessage() {}
 
 func (x *Message7919) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[21].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message7919) XXX_Methods() *protoiface.Methods {
+func (x *Message7919) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[21].Methods()
 }
 
@@ -1818,6 +2016,7 @@
 }
 
 type Message12817 struct {
+	state         protoimpl.MessageState
 	Field12826    *int32 `protobuf:"varint,1,opt,name=field12826" json:"field12826,omitempty"`
 	Field12827    *int32 `protobuf:"varint,2,opt,name=field12827" json:"field12827,omitempty"`
 	Field12828    *int32 `protobuf:"varint,3,opt,name=field12828" json:"field12828,omitempty"`
@@ -1836,10 +2035,18 @@
 func (*Message12817) ProtoMessage() {}
 
 func (x *Message12817) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[22].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message12817) XXX_Methods() *protoiface.Methods {
+func (x *Message12817) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[22].Methods()
 }
 
@@ -1870,6 +2077,7 @@
 }
 
 type Message6054 struct {
+	state         protoimpl.MessageState
 	Field6089     *string `protobuf:"bytes,1,req,name=field6089" json:"field6089,omitempty"`
 	Field6090     *string `protobuf:"bytes,2,opt,name=field6090" json:"field6090,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1887,10 +2095,18 @@
 func (*Message6054) ProtoMessage() {}
 
 func (x *Message6054) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[23].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6054) XXX_Methods() *protoiface.Methods {
+func (x *Message6054) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[23].Methods()
 }
 
@@ -1914,6 +2130,7 @@
 }
 
 type Message6127 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1929,10 +2146,18 @@
 func (*Message6127) ProtoMessage() {}
 
 func (x *Message6127) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[24].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6127) XXX_Methods() *protoiface.Methods {
+func (x *Message6127) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[24].Methods()
 }
 
@@ -1942,6 +2167,7 @@
 }
 
 type Message6052 struct {
+	state         protoimpl.MessageState
 	Field6084     *string `protobuf:"bytes,1,req,name=field6084" json:"field6084,omitempty"`
 	Field6085     []byte  `protobuf:"bytes,2,req,name=field6085" json:"field6085,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1959,10 +2185,18 @@
 func (*Message6052) ProtoMessage() {}
 
 func (x *Message6052) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[25].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6052) XXX_Methods() *protoiface.Methods {
+func (x *Message6052) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[25].Methods()
 }
 
@@ -1986,6 +2220,7 @@
 }
 
 type Message6024 struct {
+	state         protoimpl.MessageState
 	Field6048     *Enum6025           `protobuf:"varint,1,opt,name=field6048,enum=benchmarks.google_message4.Enum6025" json:"field6048,omitempty"`
 	Field6049     *string             `protobuf:"bytes,2,opt,name=field6049" json:"field6049,omitempty"`
 	Field6050     *UnusedEmptyMessage `protobuf:"bytes,3,opt,name=field6050" json:"field6050,omitempty"`
@@ -2004,10 +2239,18 @@
 func (*Message6024) ProtoMessage() {}
 
 func (x *Message6024) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[26].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6024) XXX_Methods() *protoiface.Methods {
+func (x *Message6024) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[26].Methods()
 }
 
@@ -2038,6 +2281,7 @@
 }
 
 type Message5861 struct {
+	state         protoimpl.MessageState
 	Field5882     *Enum5862 `protobuf:"varint,1,req,name=field5882,enum=benchmarks.google_message4.Enum5862" json:"field5882,omitempty"`
 	Field5883     *string   `protobuf:"bytes,2,req,name=field5883" json:"field5883,omitempty"`
 	Field5884     *bool     `protobuf:"varint,3,opt,name=field5884" json:"field5884,omitempty"`
@@ -2057,10 +2301,18 @@
 func (*Message5861) ProtoMessage() {}
 
 func (x *Message5861) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[27].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[27]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message5861) XXX_Methods() *protoiface.Methods {
+func (x *Message5861) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[27].Methods()
 }
 
@@ -2098,6 +2350,7 @@
 }
 
 type Message5880 struct {
+	state         protoimpl.MessageState
 	Field5896     *string `protobuf:"bytes,1,opt,name=field5896" json:"field5896,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -2114,10 +2367,18 @@
 func (*Message5880) ProtoMessage() {}
 
 func (x *Message5880) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[28].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[28]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message5880) XXX_Methods() *protoiface.Methods {
+func (x *Message5880) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[28].Methods()
 }
 
@@ -2134,6 +2395,7 @@
 }
 
 type Message5867 struct {
+	state         protoimpl.MessageState
 	Field5890     *Enum5868   `protobuf:"varint,1,opt,name=field5890,enum=benchmarks.google_message4.Enum5868" json:"field5890,omitempty"`
 	Field5891     *string     `protobuf:"bytes,2,opt,name=field5891" json:"field5891,omitempty"`
 	Field5892     *Enum5873   `protobuf:"varint,3,opt,name=field5892,enum=benchmarks.google_message4.Enum5873" json:"field5892,omitempty"`
@@ -2155,10 +2417,18 @@
 func (*Message5867) ProtoMessage() {}
 
 func (x *Message5867) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[29].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[29]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message5867) XXX_Methods() *protoiface.Methods {
+func (x *Message5867) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[29].Methods()
 }
 
@@ -2210,6 +2480,7 @@
 }
 
 type Message4016 struct {
+	state         protoimpl.MessageState
 	Field4017     *int32 `protobuf:"varint,1,req,name=field4017" json:"field4017,omitempty"`
 	Field4018     *int32 `protobuf:"varint,2,req,name=field4018" json:"field4018,omitempty"`
 	Field4019     *int32 `protobuf:"varint,3,req,name=field4019" json:"field4019,omitempty"`
@@ -2229,10 +2500,18 @@
 func (*Message4016) ProtoMessage() {}
 
 func (x *Message4016) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[30].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[30]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message4016) XXX_Methods() *protoiface.Methods {
+func (x *Message4016) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[30].Methods()
 }
 
@@ -2270,6 +2549,7 @@
 }
 
 type Message6108 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2285,10 +2565,18 @@
 func (*Message6108) ProtoMessage() {}
 
 func (x *Message6108) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[31].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[31]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message6108) XXX_Methods() *protoiface.Methods {
+func (x *Message6108) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[31].Methods()
 }
 
@@ -2298,6 +2586,7 @@
 }
 
 type Message5907 struct {
+	state         protoimpl.MessageState
 	Field5967     *Message5903 `protobuf:"bytes,1,opt,name=field5967" json:"field5967,omitempty"`
 	Field5968     *Message5903 `protobuf:"bytes,2,opt,name=field5968" json:"field5968,omitempty"`
 	Field5969     *Message5903 `protobuf:"bytes,3,opt,name=field5969" json:"field5969,omitempty"`
@@ -2317,10 +2606,18 @@
 func (*Message5907) ProtoMessage() {}
 
 func (x *Message5907) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[32].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[32]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message5907) XXX_Methods() *protoiface.Methods {
+func (x *Message5907) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[32].Methods()
 }
 
@@ -2358,6 +2655,7 @@
 }
 
 type UnusedEmptyMessage struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -2373,10 +2671,18 @@
 func (*UnusedEmptyMessage) ProtoMessage() {}
 
 func (x *UnusedEmptyMessage) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[33].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[33]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *UnusedEmptyMessage) XXX_Methods() *protoiface.Methods {
+func (x *UnusedEmptyMessage) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[33].Methods()
 }
 
@@ -2386,6 +2692,7 @@
 }
 
 type Message5903 struct {
+	state         protoimpl.MessageState
 	Field5965     *int32    `protobuf:"varint,1,req,name=field5965" json:"field5965,omitempty"`
 	Field5966     *Enum5904 `protobuf:"varint,2,opt,name=field5966,enum=benchmarks.google_message4.Enum5904" json:"field5966,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2403,10 +2710,18 @@
 func (*Message5903) ProtoMessage() {}
 
 func (x *Message5903) ProtoReflect() protoreflect.Message {
-	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[34].MessageOf(x)
+	mi := &file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[34]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message5903) XXX_Methods() *protoiface.Methods {
+func (x *Message5903) XXX_Methods() *protoiface.Methods {
 	return file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[34].Methods()
 }
 
@@ -3132,6 +3447,32 @@
 	if !protoimpl.UnsafeEnabled {
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12774); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12796); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12821); i {
+			case 0:
+				return &v.state
 			case 6:
 				return &v.sizeCache
 			case 7:
@@ -3140,28 +3481,46 @@
 				return nil
 			}
 		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12796); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12821); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12820); i {
+			case 0:
+				return &v.state
+			case 9:
+				return &v.sizeCache
+			case 10:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12819); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message12818); i {
+			case 0:
+				return &v.state
+			case 6:
+				return &v.sizeCache
+			case 7:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message10319); i {
+			case 0:
+				return &v.state
 			case 8:
 				return &v.sizeCache
 			case 9:
@@ -3170,41 +3529,13 @@
 				return nil
 			}
 		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12819); i {
-			case 6:
-				return &v.sizeCache
-			case 7:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message12818); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message10319); i {
-			case 7:
-				return &v.sizeCache
-			case 8:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6578); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3212,9 +3543,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6126); i {
-			case 19:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 20:
+				return &v.sizeCache
+			case 21:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3222,9 +3555,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message5881); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3233,8 +3568,10 @@
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6110); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3242,56 +3579,8 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6107); i {
-			case 6:
-				return &v.sizeCache
-			case 7:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message6129); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message5908); i {
-			case 50:
-				return &v.sizeCache
-			case 51:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message3850); i {
-			case 6:
-				return &v.sizeCache
-			case 7:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message7865); i {
 			case 0:
-				return &v.sizeCache
-			case 1:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message7511); i {
+				return &v.state
 			case 7:
 				return &v.sizeCache
 			case 8:
@@ -3300,11 +3589,73 @@
 				return nil
 			}
 		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message6129); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message5908); i {
+			case 0:
+				return &v.state
+			case 51:
+				return &v.sizeCache
+			case 52:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message3850); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message7865); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message7511); i {
+			case 0:
+				return &v.state
+			case 8:
+				return &v.sizeCache
+			case 9:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3920); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3312,9 +3663,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7928); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3322,6 +3675,32 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message7921); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message7920); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Message7919); i {
+			case 0:
+				return &v.state
 			case 4:
 				return &v.sizeCache
 			case 5:
@@ -3330,31 +3709,13 @@
 				return nil
 			}
 		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message7920); i {
-			case 2:
-				return &v.sizeCache
-			case 3:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message7919); i {
-			case 3:
-				return &v.sizeCache
-			case 4:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message12817); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3362,9 +3723,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6054); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3373,8 +3736,10 @@
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6127); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3382,9 +3747,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6052); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3392,9 +3759,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6024); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3402,9 +3771,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message5861); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3412,9 +3783,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message5880); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3422,9 +3795,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message5867); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3432,9 +3807,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message4016); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3443,8 +3820,10 @@
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message6108); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3452,9 +3831,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message5907); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3463,8 +3844,10 @@
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*UnusedEmptyMessage); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3472,9 +3855,11 @@
 		}
 		file_datasets_google_message4_benchmark_message4_2_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message5903); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/conformance/conformance.pb.go b/internal/testprotos/conformance/conformance.pb.go
index 29b39cd..9ca9562 100644
--- a/internal/testprotos/conformance/conformance.pb.go
+++ b/internal/testprotos/conformance/conformance.pb.go
@@ -131,6 +131,7 @@
 // This will be known by message_type == "conformance.FailureSet", a conformance
 // test should return a serialized FailureSet in protobuf_payload.
 type FailureSet struct {
+	state         protoimpl.MessageState
 	Failure       []string `protobuf:"bytes,1,rep,name=failure,proto3" json:"failure,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -147,10 +148,18 @@
 func (*FailureSet) ProtoMessage() {}
 
 func (x *FailureSet) ProtoReflect() protoreflect.Message {
-	return file_conformance_conformance_proto_msgTypes[0].MessageOf(x)
+	mi := &file_conformance_conformance_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FailureSet) XXX_Methods() *protoiface.Methods {
+func (x *FailureSet) XXX_Methods() *protoiface.Methods {
 	return file_conformance_conformance_proto_msgTypes[0].Methods()
 }
 
@@ -172,6 +181,7 @@
 //   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 {
+	state protoimpl.MessageState
 	// The payload (whether protobuf of JSON) is always for a
 	// protobuf_test_messages.proto3.TestAllTypes proto (as defined in
 	// src/google/protobuf/proto3_test_messages.proto).
@@ -214,10 +224,18 @@
 func (*ConformanceRequest) ProtoMessage() {}
 
 func (x *ConformanceRequest) ProtoReflect() protoreflect.Message {
-	return file_conformance_conformance_proto_msgTypes[1].MessageOf(x)
+	mi := &file_conformance_conformance_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ConformanceRequest) XXX_Methods() *protoiface.Methods {
+func (x *ConformanceRequest) XXX_Methods() *protoiface.Methods {
 	return file_conformance_conformance_proto_msgTypes[1].Methods()
 }
 
@@ -319,6 +337,7 @@
 
 // Represents a single test case's output.
 type ConformanceResponse struct {
+	state protoimpl.MessageState
 	// Types that are valid to be assigned to Result:
 	// This string should be set to indicate parsing failed.  The string can
 	// provide more information about the parse error if it is available.
@@ -366,10 +385,18 @@
 func (*ConformanceResponse) ProtoMessage() {}
 
 func (x *ConformanceResponse) ProtoReflect() protoreflect.Message {
-	return file_conformance_conformance_proto_msgTypes[2].MessageOf(x)
+	mi := &file_conformance_conformance_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ConformanceResponse) XXX_Methods() *protoiface.Methods {
+func (x *ConformanceResponse) XXX_Methods() *protoiface.Methods {
 	return file_conformance_conformance_proto_msgTypes[2].Methods()
 }
 
@@ -495,6 +522,7 @@
 
 // Encoding options for jspb format.
 type JspbEncodingConfig struct {
+	state protoimpl.MessageState
 	// Encode the value field of Any as jspb array if ture, otherwise binary.
 	UseJspbArrayAnyFormat bool `protobuf:"varint,1,opt,name=use_jspb_array_any_format,json=useJspbArrayAnyFormat,proto3" json:"use_jspb_array_any_format,omitempty"`
 	sizeCache             protoimpl.SizeCache
@@ -512,10 +540,18 @@
 func (*JspbEncodingConfig) ProtoMessage() {}
 
 func (x *JspbEncodingConfig) ProtoReflect() protoreflect.Message {
-	return file_conformance_conformance_proto_msgTypes[3].MessageOf(x)
+	mi := &file_conformance_conformance_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *JspbEncodingConfig) XXX_Methods() *protoiface.Methods {
+func (x *JspbEncodingConfig) XXX_Methods() *protoiface.Methods {
 	return file_conformance_conformance_proto_msgTypes[3].Methods()
 }
 
@@ -658,9 +694,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_conformance_conformance_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FailureSet); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -668,9 +706,11 @@
 		}
 		file_conformance_conformance_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ConformanceRequest); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -678,9 +718,11 @@
 		}
 		file_conformance_conformance_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ConformanceResponse); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -688,9 +730,11 @@
 		}
 		file_conformance_conformance_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*JspbEncodingConfig); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/conformance/test_messages_proto2.pb.go b/internal/testprotos/conformance/test_messages_proto2.pb.go
index 39ef291..f4bf2c8 100644
--- a/internal/testprotos/conformance/test_messages_proto2.pb.go
+++ b/internal/testprotos/conformance/test_messages_proto2.pb.go
@@ -135,6 +135,7 @@
 // could trigger bugs that occur in any message type in this file.  We verify
 // this stays true in a unit test.
 type TestAllTypesProto2 struct {
+	state protoimpl.MessageState
 	// Singular
 	OptionalInt32          *int32                            `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"`
 	OptionalInt64          *int64                            `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64" json:"optional_int64,omitempty"`
@@ -248,10 +249,18 @@
 func (*TestAllTypesProto2) ProtoMessage() {}
 
 func (x *TestAllTypesProto2) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto2_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto2_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypesProto2) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypesProto2) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto2_proto_msgTypes[0].Methods()
 }
 
@@ -965,6 +974,7 @@
 func (*TestAllTypesProto2_OneofEnum) isTestAllTypesProto2_OneofField() {}
 
 type ForeignMessageProto2 struct {
+	state         protoimpl.MessageState
 	C             *int32 `protobuf:"varint,1,opt,name=c" json:"c,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -981,10 +991,18 @@
 func (*ForeignMessageProto2) ProtoMessage() {}
 
 func (x *ForeignMessageProto2) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto2_proto_msgTypes[1].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto2_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ForeignMessageProto2) XXX_Methods() *protoiface.Methods {
+func (x *ForeignMessageProto2) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto2_proto_msgTypes[1].Methods()
 }
 
@@ -1001,6 +1019,7 @@
 }
 
 type TestAllTypesProto2_NestedMessage struct {
+	state         protoimpl.MessageState
 	A             *int32              `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
 	Corecursive   *TestAllTypesProto2 `protobuf:"bytes,2,opt,name=corecursive" json:"corecursive,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1018,10 +1037,18 @@
 func (*TestAllTypesProto2_NestedMessage) ProtoMessage() {}
 
 func (x *TestAllTypesProto2_NestedMessage) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto2_proto_msgTypes[2].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto2_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypesProto2_NestedMessage) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypesProto2_NestedMessage) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto2_proto_msgTypes[2].Methods()
 }
 
@@ -1046,6 +1073,7 @@
 
 // groups
 type TestAllTypesProto2_Data struct {
+	state         protoimpl.MessageState
 	GroupInt32    *int32  `protobuf:"varint,202,opt,name=group_int32,json=groupInt32" json:"group_int32,omitempty"`
 	GroupUint32   *uint32 `protobuf:"varint,203,opt,name=group_uint32,json=groupUint32" json:"group_uint32,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1063,10 +1091,18 @@
 func (*TestAllTypesProto2_Data) ProtoMessage() {}
 
 func (x *TestAllTypesProto2_Data) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto2_proto_msgTypes[22].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto2_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypesProto2_Data) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypesProto2_Data) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto2_proto_msgTypes[22].Methods()
 }
 
@@ -1091,6 +1127,7 @@
 
 // message_set test case.
 type TestAllTypesProto2_MessageSetCorrect struct {
+	state           protoimpl.MessageState
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
 	extensionFields protoimpl.ExtensionFields
@@ -1107,10 +1144,18 @@
 func (*TestAllTypesProto2_MessageSetCorrect) ProtoMessage() {}
 
 func (x *TestAllTypesProto2_MessageSetCorrect) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto2_proto_msgTypes[23].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto2_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypesProto2_MessageSetCorrect) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypesProto2_MessageSetCorrect) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto2_proto_msgTypes[23].Methods()
 }
 
@@ -1129,6 +1174,7 @@
 }
 
 type TestAllTypesProto2_MessageSetCorrectExtension1 struct {
+	state         protoimpl.MessageState
 	Str           *string `protobuf:"bytes,25,opt,name=str" json:"str,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1145,10 +1191,18 @@
 func (*TestAllTypesProto2_MessageSetCorrectExtension1) ProtoMessage() {}
 
 func (x *TestAllTypesProto2_MessageSetCorrectExtension1) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto2_proto_msgTypes[24].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto2_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypesProto2_MessageSetCorrectExtension1) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypesProto2_MessageSetCorrectExtension1) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto2_proto_msgTypes[24].Methods()
 }
 
@@ -1165,6 +1219,7 @@
 }
 
 type TestAllTypesProto2_MessageSetCorrectExtension2 struct {
+	state         protoimpl.MessageState
 	I             *int32 `protobuf:"varint,9,opt,name=i" json:"i,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1181,10 +1236,18 @@
 func (*TestAllTypesProto2_MessageSetCorrectExtension2) ProtoMessage() {}
 
 func (x *TestAllTypesProto2_MessageSetCorrectExtension2) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto2_proto_msgTypes[25].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto2_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypesProto2_MessageSetCorrectExtension2) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypesProto2_MessageSetCorrectExtension2) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto2_proto_msgTypes[25].Methods()
 }
 
@@ -1883,11 +1946,13 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_test_messages_proto2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypesProto2); i {
-			case 82:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 83:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 84:
+				return &v.unknownFields
+			case 85:
 				return &v.extensionFields
 			default:
 				return nil
@@ -1895,9 +1960,11 @@
 		}
 		file_google_protobuf_test_messages_proto2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ForeignMessageProto2); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1905,9 +1972,11 @@
 		}
 		file_google_protobuf_test_messages_proto2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypesProto2_NestedMessage); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1915,9 +1984,11 @@
 		}
 		file_google_protobuf_test_messages_proto2_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypesProto2_Data); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1926,10 +1997,12 @@
 		file_google_protobuf_test_messages_proto2_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypesProto2_MessageSetCorrect); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 2:
+				return &v.unknownFields
+			case 3:
 				return &v.extensionFields
 			default:
 				return nil
@@ -1937,9 +2010,11 @@
 		}
 		file_google_protobuf_test_messages_proto2_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypesProto2_MessageSetCorrectExtension1); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1947,9 +2022,11 @@
 		}
 		file_google_protobuf_test_messages_proto2_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypesProto2_MessageSetCorrectExtension2); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/conformance/test_messages_proto3.pb.go b/internal/testprotos/conformance/test_messages_proto3.pb.go
index 9f8bb92..894404c 100644
--- a/internal/testprotos/conformance/test_messages_proto3.pb.go
+++ b/internal/testprotos/conformance/test_messages_proto3.pb.go
@@ -173,6 +173,7 @@
 // could trigger bugs that occur in any message type in this file.  We verify
 // this stays true in a unit test.
 type TestAllTypesProto3 struct {
+	state protoimpl.MessageState
 	// 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"`
@@ -317,10 +318,18 @@
 func (*TestAllTypesProto3) ProtoMessage() {}
 
 func (x *TestAllTypesProto3) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto3_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto3_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypesProto3) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypesProto3) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto3_proto_msgTypes[0].Methods()
 }
 
@@ -1242,6 +1251,7 @@
 func (*TestAllTypesProto3_OneofEnum) isTestAllTypesProto3_OneofField() {}
 
 type ForeignMessage struct {
+	state         protoimpl.MessageState
 	C             int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1258,10 +1268,18 @@
 func (*ForeignMessage) ProtoMessage() {}
 
 func (x *ForeignMessage) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto3_proto_msgTypes[1].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto3_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ForeignMessage) XXX_Methods() *protoiface.Methods {
+func (x *ForeignMessage) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto3_proto_msgTypes[1].Methods()
 }
 
@@ -1278,6 +1296,7 @@
 }
 
 type TestAllTypesProto3_NestedMessage struct {
+	state         protoimpl.MessageState
 	A             int32               `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"`
 	Corecursive   *TestAllTypesProto3 `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1295,10 +1314,18 @@
 func (*TestAllTypesProto3_NestedMessage) ProtoMessage() {}
 
 func (x *TestAllTypesProto3_NestedMessage) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_test_messages_proto3_proto_msgTypes[2].MessageOf(x)
+	mi := &file_google_protobuf_test_messages_proto3_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypesProto3_NestedMessage) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypesProto3_NestedMessage) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_test_messages_proto3_proto_msgTypes[2].Methods()
 }
 
@@ -2133,9 +2160,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_test_messages_proto3_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypesProto3); i {
-			case 113:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 114:
+				return &v.sizeCache
+			case 115:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2143,9 +2172,11 @@
 		}
 		file_google_protobuf_test_messages_proto3_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ForeignMessage); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -2153,9 +2184,11 @@
 		}
 		file_google_protobuf_test_messages_proto3_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypesProto3_NestedMessage); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/irregular/test.pb.go b/internal/testprotos/irregular/test.pb.go
index 5ea3cb0..6a26b23 100644
--- a/internal/testprotos/irregular/test.pb.go
+++ b/internal/testprotos/irregular/test.pb.go
@@ -18,6 +18,7 @@
 )
 
 type Message struct {
+	state           protoimpl.MessageState
 	OptionalMessage *IrregularMessage            `protobuf:"bytes,1,opt,name=optional_message,json=optionalMessage" json:"optional_message,omitempty"`
 	RepeatedMessage []*IrregularMessage          `protobuf:"bytes,2,rep,name=repeated_message,json=repeatedMessage" json:"repeated_message,omitempty"`
 	RequiredMessage *IrregularMessage            `protobuf:"bytes,3,req,name=required_message,json=requiredMessage" json:"required_message,omitempty"`
@@ -40,10 +41,18 @@
 func (*Message) ProtoMessage() {}
 
 func (x *Message) ProtoReflect() protoreflect.Message {
-	return file_irregular_test_proto_msgTypes[0].MessageOf(x)
+	mi := &file_irregular_test_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message) XXX_Methods() *protoiface.Methods {
+func (x *Message) XXX_Methods() *protoiface.Methods {
 	return file_irregular_test_proto_msgTypes[0].Methods()
 }
 
@@ -193,9 +202,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_irregular_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/legacy/legacy.pb.go b/internal/testprotos/legacy/legacy.pb.go
index 717cd58..ff29662 100644
--- a/internal/testprotos/legacy/legacy.pb.go
+++ b/internal/testprotos/legacy/legacy.pb.go
@@ -30,6 +30,7 @@
 )
 
 type Legacy struct {
+	state         protoimpl.MessageState
 	F1            *proto2_v0_0.Message  `protobuf:"bytes,1,opt,name=f1,proto3" json:"f1,omitempty"`
 	F2            *proto3_v0_0.Message  `protobuf:"bytes,2,opt,name=f2,proto3" json:"f2,omitempty"`
 	F3            *proto2_v0_01.Message `protobuf:"bytes,3,opt,name=f3,proto3" json:"f3,omitempty"`
@@ -57,10 +58,18 @@
 func (*Legacy) ProtoMessage() {}
 
 func (x *Legacy) ProtoReflect() protoreflect.Message {
-	return file_legacy_legacy_proto_msgTypes[0].MessageOf(x)
+	mi := &file_legacy_legacy_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Legacy) XXX_Methods() *protoiface.Methods {
+func (x *Legacy) XXX_Methods() *protoiface.Methods {
 	return file_legacy_legacy_proto_msgTypes[0].Methods()
 }
 
@@ -305,9 +314,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_legacy_legacy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Legacy); i {
-			case 12:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 13:
+				return &v.sizeCache
+			case 14:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/test/test.pb.go b/internal/testprotos/test/test.pb.go
index f8c7e8c..fe2efba 100644
--- a/internal/testprotos/test/test.pb.go
+++ b/internal/testprotos/test/test.pb.go
@@ -222,6 +222,7 @@
 }
 
 type TestAllTypes struct {
+	state                  protoimpl.MessageState
 	OptionalInt32          *int32                                 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"`
 	OptionalInt64          *int64                                 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64" json:"optional_int64,omitempty"`
 	OptionalUint32         *uint32                                `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32" json:"optional_uint32,omitempty"`
@@ -327,10 +328,18 @@
 func (*TestAllTypes) ProtoMessage() {}
 
 func (x *TestAllTypes) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[0].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypes) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypes) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[0].Methods()
 }
 
@@ -1035,6 +1044,7 @@
 
 // Deprecated: Do not use.
 type TestDeprecatedMessage struct {
+	state           protoimpl.MessageState
 	DeprecatedInt32 *int32 `protobuf:"varint,1,opt,name=deprecated_int32,json=deprecatedInt32" json:"deprecated_int32,omitempty"` // Deprecated: Do not use.
 	// Types that are valid to be assigned to DeprecatedOneof:
 	//	*TestDeprecatedMessage_DeprecatedOneofField
@@ -1054,10 +1064,18 @@
 func (*TestDeprecatedMessage) ProtoMessage() {}
 
 func (x *TestDeprecatedMessage) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[1].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestDeprecatedMessage) XXX_Methods() *protoiface.Methods {
+func (x *TestDeprecatedMessage) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[1].Methods()
 }
 
@@ -1100,6 +1118,7 @@
 func (*TestDeprecatedMessage_DeprecatedOneofField) isTestDeprecatedMessage_DeprecatedOneof() {}
 
 type ForeignMessage struct {
+	state         protoimpl.MessageState
 	C             *int32 `protobuf:"varint,1,opt,name=c" json:"c,omitempty"`
 	D             *int32 `protobuf:"varint,2,opt,name=d" json:"d,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1117,10 +1136,18 @@
 func (*ForeignMessage) ProtoMessage() {}
 
 func (x *ForeignMessage) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[2].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ForeignMessage) XXX_Methods() *protoiface.Methods {
+func (x *ForeignMessage) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[2].Methods()
 }
 
@@ -1144,6 +1171,7 @@
 }
 
 type TestReservedFields struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1159,10 +1187,18 @@
 func (*TestReservedFields) ProtoMessage() {}
 
 func (x *TestReservedFields) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[3].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestReservedFields) XXX_Methods() *protoiface.Methods {
+func (x *TestReservedFields) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[3].Methods()
 }
 
@@ -1172,6 +1208,7 @@
 }
 
 type TestAllExtensions struct {
+	state           protoimpl.MessageState
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
 	extensionFields protoimpl.ExtensionFields
@@ -1188,10 +1225,18 @@
 func (*TestAllExtensions) ProtoMessage() {}
 
 func (x *TestAllExtensions) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[4].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllExtensions) XXX_Methods() *protoiface.Methods {
+func (x *TestAllExtensions) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[4].Methods()
 }
 
@@ -1210,6 +1255,7 @@
 }
 
 type OptionalGroupExtension struct {
+	state         protoimpl.MessageState
 	A             *int32 `protobuf:"varint,17,opt,name=a" json:"a,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1226,10 +1272,18 @@
 func (*OptionalGroupExtension) ProtoMessage() {}
 
 func (x *OptionalGroupExtension) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[5].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *OptionalGroupExtension) XXX_Methods() *protoiface.Methods {
+func (x *OptionalGroupExtension) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[5].Methods()
 }
 
@@ -1246,6 +1300,7 @@
 }
 
 type RepeatedGroupExtension struct {
+	state         protoimpl.MessageState
 	A             *int32 `protobuf:"varint,47,opt,name=a" json:"a,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1262,10 +1317,18 @@
 func (*RepeatedGroupExtension) ProtoMessage() {}
 
 func (x *RepeatedGroupExtension) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[6].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *RepeatedGroupExtension) XXX_Methods() *protoiface.Methods {
+func (x *RepeatedGroupExtension) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[6].Methods()
 }
 
@@ -1282,6 +1345,7 @@
 }
 
 type TestNestedExtension struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1297,10 +1361,18 @@
 func (*TestNestedExtension) ProtoMessage() {}
 
 func (x *TestNestedExtension) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[7].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestNestedExtension) XXX_Methods() *protoiface.Methods {
+func (x *TestNestedExtension) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[7].Methods()
 }
 
@@ -1310,6 +1382,7 @@
 }
 
 type TestRequired struct {
+	state         protoimpl.MessageState
 	RequiredField *int32 `protobuf:"varint,1,req,name=required_field,json=requiredField" json:"required_field,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1326,10 +1399,18 @@
 func (*TestRequired) ProtoMessage() {}
 
 func (x *TestRequired) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[8].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestRequired) XXX_Methods() *protoiface.Methods {
+func (x *TestRequired) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[8].Methods()
 }
 
@@ -1346,6 +1427,7 @@
 }
 
 type TestRequiredForeign struct {
+	state           protoimpl.MessageState
 	OptionalMessage *TestRequired           `protobuf:"bytes,1,opt,name=optional_message,json=optionalMessage" json:"optional_message,omitempty"`
 	RepeatedMessage []*TestRequired         `protobuf:"bytes,2,rep,name=repeated_message,json=repeatedMessage" json:"repeated_message,omitempty"`
 	MapMessage      map[int32]*TestRequired `protobuf:"bytes,3,rep,name=map_message,json=mapMessage" json:"map_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
@@ -1367,10 +1449,18 @@
 func (*TestRequiredForeign) ProtoMessage() {}
 
 func (x *TestRequiredForeign) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[9].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestRequiredForeign) XXX_Methods() *protoiface.Methods {
+func (x *TestRequiredForeign) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[9].Methods()
 }
 
@@ -1425,6 +1515,7 @@
 func (*TestRequiredForeign_OneofMessage) isTestRequiredForeign_OneofField() {}
 
 type TestRequiredGroupFields struct {
+	state         protoimpl.MessageState
 	Optionalgroup *TestRequiredGroupFields_OptionalGroup   `protobuf:"group,1,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
 	Repeatedgroup []*TestRequiredGroupFields_RepeatedGroup `protobuf:"group,3,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1442,10 +1533,18 @@
 func (*TestRequiredGroupFields) ProtoMessage() {}
 
 func (x *TestRequiredGroupFields) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[10].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestRequiredGroupFields) XXX_Methods() *protoiface.Methods {
+func (x *TestRequiredGroupFields) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[10].Methods()
 }
 
@@ -1469,6 +1568,7 @@
 }
 
 type TestWeak struct {
+	state         protoimpl.MessageState
 	WeakMessage   *weak.WeakImportMessage `protobuf:"bytes,1,opt,weak=goproto.proto.test.weak.WeakImportMessage,name=weak_message,json=weakMessage" json:"weak_message,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1485,10 +1585,18 @@
 func (*TestWeak) ProtoMessage() {}
 
 func (x *TestWeak) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[11].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestWeak) XXX_Methods() *protoiface.Methods {
+func (x *TestWeak) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[11].Methods()
 }
 
@@ -1506,6 +1614,7 @@
 
 // Test that RPC services work.
 type FooRequest struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1521,10 +1630,18 @@
 func (*FooRequest) ProtoMessage() {}
 
 func (x *FooRequest) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[12].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FooRequest) XXX_Methods() *protoiface.Methods {
+func (x *FooRequest) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[12].Methods()
 }
 
@@ -1534,6 +1651,7 @@
 }
 
 type FooResponse struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -1549,10 +1667,18 @@
 func (*FooResponse) ProtoMessage() {}
 
 func (x *FooResponse) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[13].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FooResponse) XXX_Methods() *protoiface.Methods {
+func (x *FooResponse) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[13].Methods()
 }
 
@@ -1562,6 +1688,7 @@
 }
 
 type TestAllTypes_NestedMessage struct {
+	state         protoimpl.MessageState
 	A             *int32        `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
 	Corecursive   *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive" json:"corecursive,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -1579,10 +1706,18 @@
 func (*TestAllTypes_NestedMessage) ProtoMessage() {}
 
 func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[14].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypes_NestedMessage) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypes_NestedMessage) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[14].Methods()
 }
 
@@ -1606,6 +1741,7 @@
 }
 
 type TestAllTypes_OptionalGroup struct {
+	state         protoimpl.MessageState
 	A             *int32 `protobuf:"varint,17,opt,name=a" json:"a,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1622,10 +1758,18 @@
 func (*TestAllTypes_OptionalGroup) ProtoMessage() {}
 
 func (x *TestAllTypes_OptionalGroup) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[15].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypes_OptionalGroup) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypes_OptionalGroup) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[15].Methods()
 }
 
@@ -1642,6 +1786,7 @@
 }
 
 type TestAllTypes_RepeatedGroup struct {
+	state         protoimpl.MessageState
 	A             *int32 `protobuf:"varint,47,opt,name=a" json:"a,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1658,10 +1803,18 @@
 func (*TestAllTypes_RepeatedGroup) ProtoMessage() {}
 
 func (x *TestAllTypes_RepeatedGroup) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[16].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypes_RepeatedGroup) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypes_RepeatedGroup) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[16].Methods()
 }
 
@@ -1678,6 +1831,7 @@
 }
 
 type TestRequiredGroupFields_OptionalGroup struct {
+	state         protoimpl.MessageState
 	A             *int32 `protobuf:"varint,2,req,name=a" json:"a,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1694,10 +1848,18 @@
 func (*TestRequiredGroupFields_OptionalGroup) ProtoMessage() {}
 
 func (x *TestRequiredGroupFields_OptionalGroup) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[35].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[35]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestRequiredGroupFields_OptionalGroup) XXX_Methods() *protoiface.Methods {
+func (x *TestRequiredGroupFields_OptionalGroup) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[35].Methods()
 }
 
@@ -1714,6 +1876,7 @@
 }
 
 type TestRequiredGroupFields_RepeatedGroup struct {
+	state         protoimpl.MessageState
 	A             *int32 `protobuf:"varint,4,req,name=a" json:"a,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -1730,10 +1893,18 @@
 func (*TestRequiredGroupFields_RepeatedGroup) ProtoMessage() {}
 
 func (x *TestRequiredGroupFields_RepeatedGroup) ProtoReflect() protoreflect.Message {
-	return file_test_test_proto_msgTypes[36].MessageOf(x)
+	mi := &file_test_test_proto_msgTypes[36]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestRequiredGroupFields_RepeatedGroup) XXX_Methods() *protoiface.Methods {
+func (x *TestRequiredGroupFields_RepeatedGroup) XXX_Methods() *protoiface.Methods {
 	return file_test_test_proto_msgTypes[36].Methods()
 }
 
@@ -3459,9 +3630,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_test_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypes); i {
-			case 79:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 80:
+				return &v.sizeCache
+			case 81:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3469,9 +3642,11 @@
 		}
 		file_test_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestDeprecatedMessage); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3479,9 +3654,11 @@
 		}
 		file_test_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ForeignMessage); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3490,8 +3667,10 @@
 		file_test_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestReservedFields); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3500,10 +3679,12 @@
 		file_test_test_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllExtensions); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 2:
+				return &v.unknownFields
+			case 3:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3511,9 +3692,11 @@
 		}
 		file_test_test_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*OptionalGroupExtension); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3521,9 +3704,11 @@
 		}
 		file_test_test_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*RepeatedGroupExtension); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3532,15 +3717,7 @@
 		file_test_test_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestNestedExtension); i {
 			case 0:
-				return &v.sizeCache
-			case 1:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_test_test_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TestRequired); i {
+				return &v.state
 			case 1:
 				return &v.sizeCache
 			case 2:
@@ -3549,18 +3726,10 @@
 				return nil
 			}
 		}
-		file_test_test_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TestRequiredForeign); i {
-			case 4:
-				return &v.sizeCache
-			case 5:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_test_test_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TestRequiredGroupFields); i {
+		file_test_test_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*TestRequired); i {
+			case 0:
+				return &v.state
 			case 2:
 				return &v.sizeCache
 			case 3:
@@ -3569,11 +3738,37 @@
 				return nil
 			}
 		}
+		file_test_test_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*TestRequiredForeign); i {
+			case 0:
+				return &v.state
+			case 5:
+				return &v.sizeCache
+			case 6:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_test_test_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*TestRequiredGroupFields); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
 		file_test_test_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestWeak); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3582,8 +3777,10 @@
 		file_test_test_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FooRequest); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3592,8 +3789,10 @@
 		file_test_test_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FooResponse); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3601,6 +3800,20 @@
 		}
 		file_test_test_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypes_NestedMessage); i {
+			case 0:
+				return &v.state
+			case 3:
+				return &v.sizeCache
+			case 4:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_test_test_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*TestAllTypes_OptionalGroup); i {
+			case 0:
+				return &v.state
 			case 2:
 				return &v.sizeCache
 			case 3:
@@ -3609,21 +3822,13 @@
 				return nil
 			}
 		}
-		file_test_test_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TestAllTypes_OptionalGroup); i {
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_test_test_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypes_RepeatedGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3631,9 +3836,11 @@
 		}
 		file_test_test_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestRequiredGroupFields_OptionalGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3641,9 +3848,11 @@
 		}
 		file_test_test_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestRequiredGroupFields_RepeatedGroup); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/test/test_import.pb.go b/internal/testprotos/test/test_import.pb.go
index 170ac51..948ba78 100644
--- a/internal/testprotos/test/test_import.pb.go
+++ b/internal/testprotos/test/test_import.pb.go
@@ -66,6 +66,7 @@
 }
 
 type ImportMessage struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -81,10 +82,18 @@
 func (*ImportMessage) ProtoMessage() {}
 
 func (x *ImportMessage) ProtoReflect() protoreflect.Message {
-	return file_test_test_import_proto_msgTypes[0].MessageOf(x)
+	mi := &file_test_test_import_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ImportMessage) XXX_Methods() *protoiface.Methods {
+func (x *ImportMessage) XXX_Methods() *protoiface.Methods {
 	return file_test_test_import_proto_msgTypes[0].Methods()
 }
 
@@ -143,8 +152,10 @@
 		file_test_test_import_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ImportMessage); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/test/test_public.pb.go b/internal/testprotos/test/test_public.pb.go
index 01037d5..edef5f9 100644
--- a/internal/testprotos/test/test_public.pb.go
+++ b/internal/testprotos/test/test_public.pb.go
@@ -18,6 +18,7 @@
 )
 
 type PublicImportMessage struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -33,10 +34,18 @@
 func (*PublicImportMessage) ProtoMessage() {}
 
 func (x *PublicImportMessage) ProtoReflect() protoreflect.Message {
-	return file_test_test_public_proto_msgTypes[0].MessageOf(x)
+	mi := &file_test_test_public_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *PublicImportMessage) XXX_Methods() *protoiface.Methods {
+func (x *PublicImportMessage) XXX_Methods() *protoiface.Methods {
 	return file_test_test_public_proto_msgTypes[0].Methods()
 }
 
@@ -91,8 +100,10 @@
 		file_test_test_public_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*PublicImportMessage); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/test/weak/test_weak.pb.go b/internal/testprotos/test/weak/test_weak.pb.go
index 23c4c6b..365e22b 100644
--- a/internal/testprotos/test/weak/test_weak.pb.go
+++ b/internal/testprotos/test/weak/test_weak.pb.go
@@ -18,6 +18,7 @@
 )
 
 type WeakImportMessage struct {
+	state         protoimpl.MessageState
 	A             *int32 `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -34,10 +35,18 @@
 func (*WeakImportMessage) ProtoMessage() {}
 
 func (x *WeakImportMessage) ProtoReflect() protoreflect.Message {
-	return file_test_weak_test_weak_proto_msgTypes[0].MessageOf(x)
+	mi := &file_test_weak_test_weak_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *WeakImportMessage) XXX_Methods() *protoiface.Methods {
+func (x *WeakImportMessage) XXX_Methods() *protoiface.Methods {
 	return file_test_weak_test_weak_proto_msgTypes[0].Methods()
 }
 
@@ -100,9 +109,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_test_weak_test_weak_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*WeakImportMessage); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/test3/test.pb.go b/internal/testprotos/test3/test.pb.go
index 480baea..11b752b 100644
--- a/internal/testprotos/test3/test.pb.go
+++ b/internal/testprotos/test3/test.pb.go
@@ -111,6 +111,7 @@
 }
 
 type TestAllTypes struct {
+	state                  protoimpl.MessageState
 	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"`
@@ -196,10 +197,18 @@
 func (*TestAllTypes) ProtoMessage() {}
 
 func (x *TestAllTypes) ProtoReflect() protoreflect.Message {
-	return file_test3_test_proto_msgTypes[0].MessageOf(x)
+	mi := &file_test3_test_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypes) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypes) XXX_Methods() *protoiface.Methods {
 	return file_test3_test_proto_msgTypes[0].Methods()
 }
 
@@ -750,6 +759,7 @@
 func (*TestAllTypes_OneofEnum) isTestAllTypes_OneofField() {}
 
 type ForeignMessage struct {
+	state         protoimpl.MessageState
 	C             int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"`
 	D             int32 `protobuf:"varint,2,opt,name=d,proto3" json:"d,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -767,10 +777,18 @@
 func (*ForeignMessage) ProtoMessage() {}
 
 func (x *ForeignMessage) ProtoReflect() protoreflect.Message {
-	return file_test3_test_proto_msgTypes[1].MessageOf(x)
+	mi := &file_test3_test_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ForeignMessage) XXX_Methods() *protoiface.Methods {
+func (x *ForeignMessage) XXX_Methods() *protoiface.Methods {
 	return file_test3_test_proto_msgTypes[1].Methods()
 }
 
@@ -794,6 +812,7 @@
 }
 
 type TestAllTypes_NestedMessage struct {
+	state         protoimpl.MessageState
 	A             int32         `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"`
 	Corecursive   *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -811,10 +830,18 @@
 func (*TestAllTypes_NestedMessage) ProtoMessage() {}
 
 func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
-	return file_test3_test_proto_msgTypes[2].MessageOf(x)
+	mi := &file_test3_test_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *TestAllTypes_NestedMessage) XXX_Methods() *protoiface.Methods {
+func (x *TestAllTypes_NestedMessage) XXX_Methods() *protoiface.Methods {
 	return file_test3_test_proto_msgTypes[2].Methods()
 }
 
@@ -1322,9 +1349,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_test3_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypes); i {
-			case 60:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 61:
+				return &v.sizeCache
+			case 62:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1332,9 +1361,11 @@
 		}
 		file_test3_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ForeignMessage); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -1342,9 +1373,11 @@
 		}
 		file_test3_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*TestAllTypes_NestedMessage); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/internal/testprotos/test3/test_import.pb.go b/internal/testprotos/test3/test_import.pb.go
index 9347d75..619d959 100644
--- a/internal/testprotos/test3/test_import.pb.go
+++ b/internal/testprotos/test3/test_import.pb.go
@@ -56,6 +56,7 @@
 }
 
 type ImportMessage struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -71,10 +72,18 @@
 func (*ImportMessage) ProtoMessage() {}
 
 func (x *ImportMessage) ProtoReflect() protoreflect.Message {
-	return file_test3_test_import_proto_msgTypes[0].MessageOf(x)
+	mi := &file_test3_test_import_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ImportMessage) XXX_Methods() *protoiface.Methods {
+func (x *ImportMessage) XXX_Methods() *protoiface.Methods {
 	return file_test3_test_import_proto_msgTypes[0].Methods()
 }
 
@@ -133,8 +142,10 @@
 		file_test3_test_import_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ImportMessage); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/reflect/protoregistry/testprotos/test.pb.go b/reflect/protoregistry/testprotos/test.pb.go
index 945d1a4..c6ea2fd 100644
--- a/reflect/protoregistry/testprotos/test.pb.go
+++ b/reflect/protoregistry/testprotos/test.pb.go
@@ -160,6 +160,7 @@
 }
 
 type Message1 struct {
+	state           protoimpl.MessageState
 	sizeCache       protoimpl.SizeCache
 	unknownFields   protoimpl.UnknownFields
 	extensionFields protoimpl.ExtensionFields
@@ -176,10 +177,18 @@
 func (*Message1) ProtoMessage() {}
 
 func (x *Message1) ProtoReflect() protoreflect.Message {
-	return file_test_proto_msgTypes[0].MessageOf(x)
+	mi := &file_test_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message1) XXX_Methods() *protoiface.Methods {
+func (x *Message1) XXX_Methods() *protoiface.Methods {
 	return file_test_proto_msgTypes[0].Methods()
 }
 
@@ -198,6 +207,7 @@
 }
 
 type Message2 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -213,10 +223,18 @@
 func (*Message2) ProtoMessage() {}
 
 func (x *Message2) ProtoReflect() protoreflect.Message {
-	return file_test_proto_msgTypes[1].MessageOf(x)
+	mi := &file_test_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message2) XXX_Methods() *protoiface.Methods {
+func (x *Message2) XXX_Methods() *protoiface.Methods {
 	return file_test_proto_msgTypes[1].Methods()
 }
 
@@ -226,6 +244,7 @@
 }
 
 type Message3 struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -241,10 +260,18 @@
 func (*Message3) ProtoMessage() {}
 
 func (x *Message3) ProtoReflect() protoreflect.Message {
-	return file_test_proto_msgTypes[2].MessageOf(x)
+	mi := &file_test_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message3) XXX_Methods() *protoiface.Methods {
+func (x *Message3) XXX_Methods() *protoiface.Methods {
 	return file_test_proto_msgTypes[2].Methods()
 }
 
@@ -254,6 +281,7 @@
 }
 
 type Message4 struct {
+	state         protoimpl.MessageState
 	BoolField     *bool `protobuf:"varint,30,opt,name=bool_field,json=boolField" json:"bool_field,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -270,10 +298,18 @@
 func (*Message4) ProtoMessage() {}
 
 func (x *Message4) ProtoReflect() protoreflect.Message {
-	return file_test_proto_msgTypes[3].MessageOf(x)
+	mi := &file_test_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Message4) XXX_Methods() *protoiface.Methods {
+func (x *Message4) XXX_Methods() *protoiface.Methods {
 	return file_test_proto_msgTypes[3].Methods()
 }
 
@@ -454,10 +490,12 @@
 		file_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message1); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 2:
+				return &v.unknownFields
+			case 3:
 				return &v.extensionFields
 			default:
 				return nil
@@ -466,8 +504,10 @@
 		file_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message2); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -476,8 +516,10 @@
 		file_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message3); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
@@ -485,9 +527,11 @@
 		}
 		file_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Message4); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/runtime/protoimpl/impl.go b/runtime/protoimpl/impl.go
index e4e6c11..346a5d0 100644
--- a/runtime/protoimpl/impl.go
+++ b/runtime/protoimpl/impl.go
@@ -64,7 +64,9 @@
 
 	DescBuilder      = filedesc.DescBuilder
 	TypeBuilder      = filetype.TypeBuilder
+	Pointer          = impl.Pointer
 	MessageInfo      = impl.MessageInfo
+	MessageState     = impl.MessageState
 	SizeCache        = impl.SizeCache
 	UnknownFields    = impl.UnknownFields
 	ExtensionFields  = impl.ExtensionFields
diff --git a/types/descriptorpb/descriptor.pb.go b/types/descriptorpb/descriptor.pb.go
index e27b44e..abdc776 100644
--- a/types/descriptorpb/descriptor.pb.go
+++ b/types/descriptorpb/descriptor.pb.go
@@ -405,6 +405,7 @@
 // The protocol compiler can output a FileDescriptorSet containing the .proto
 // files it parses.
 type FileDescriptorSet struct {
+	state         protoimpl.MessageState
 	File          []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
@@ -421,10 +422,18 @@
 func (*FileDescriptorSet) ProtoMessage() {}
 
 func (x *FileDescriptorSet) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FileDescriptorSet) XXX_Methods() *protoiface.Methods {
+func (x *FileDescriptorSet) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[0].Methods()
 }
 
@@ -442,6 +451,7 @@
 
 // Describes a complete .proto file.
 type FileDescriptorProto struct {
+	state   protoimpl.MessageState
 	Name    *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
 	// Names of files imported by this file.
@@ -480,10 +490,18 @@
 func (*FileDescriptorProto) ProtoMessage() {}
 
 func (x *FileDescriptorProto) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[1].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FileDescriptorProto) XXX_Methods() *protoiface.Methods {
+func (x *FileDescriptorProto) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[1].Methods()
 }
 
@@ -578,6 +596,7 @@
 
 // Describes a message type.
 type DescriptorProto struct {
+	state          protoimpl.MessageState
 	Name           *string                           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	Field          []*FieldDescriptorProto           `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
 	Extension      []*FieldDescriptorProto           `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
@@ -605,10 +624,18 @@
 func (*DescriptorProto) ProtoMessage() {}
 
 func (x *DescriptorProto) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[2].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *DescriptorProto) XXX_Methods() *protoiface.Methods {
+func (x *DescriptorProto) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[2].Methods()
 }
 
@@ -688,6 +715,7 @@
 }
 
 type ExtensionRangeOptions struct {
+	state protoimpl.MessageState
 	// 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"`
 	sizeCache           protoimpl.SizeCache
@@ -706,10 +734,18 @@
 func (*ExtensionRangeOptions) ProtoMessage() {}
 
 func (x *ExtensionRangeOptions) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[3].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ExtensionRangeOptions) XXX_Methods() *protoiface.Methods {
+func (x *ExtensionRangeOptions) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[3].Methods()
 }
 
@@ -736,6 +772,7 @@
 
 // Describes a field within a message.
 type FieldDescriptorProto struct {
+	state  protoimpl.MessageState
 	Name   *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	Number *int32                      `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
 	Label  *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
@@ -781,10 +818,18 @@
 func (*FieldDescriptorProto) ProtoMessage() {}
 
 func (x *FieldDescriptorProto) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[4].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldDescriptorProto) XXX_Methods() *protoiface.Methods {
+func (x *FieldDescriptorProto) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[4].Methods()
 }
 
@@ -865,6 +910,7 @@
 
 // Describes a oneof.
 type OneofDescriptorProto struct {
+	state         protoimpl.MessageState
 	Name          *string       `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	Options       *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -882,10 +928,18 @@
 func (*OneofDescriptorProto) ProtoMessage() {}
 
 func (x *OneofDescriptorProto) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[5].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *OneofDescriptorProto) XXX_Methods() *protoiface.Methods {
+func (x *OneofDescriptorProto) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[5].Methods()
 }
 
@@ -910,6 +964,7 @@
 
 // Describes an enum type.
 type EnumDescriptorProto struct {
+	state   protoimpl.MessageState
 	Name    *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	Value   []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
 	Options *EnumOptions                `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
@@ -935,10 +990,18 @@
 func (*EnumDescriptorProto) ProtoMessage() {}
 
 func (x *EnumDescriptorProto) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[6].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *EnumDescriptorProto) XXX_Methods() *protoiface.Methods {
+func (x *EnumDescriptorProto) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[6].Methods()
 }
 
@@ -984,6 +1047,7 @@
 
 // Describes a value within an enum.
 type EnumValueDescriptorProto struct {
+	state         protoimpl.MessageState
 	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"`
@@ -1002,10 +1066,18 @@
 func (*EnumValueDescriptorProto) ProtoMessage() {}
 
 func (x *EnumValueDescriptorProto) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[7].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *EnumValueDescriptorProto) XXX_Methods() *protoiface.Methods {
+func (x *EnumValueDescriptorProto) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[7].Methods()
 }
 
@@ -1037,6 +1109,7 @@
 
 // Describes a service.
 type ServiceDescriptorProto struct {
+	state         protoimpl.MessageState
 	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"`
@@ -1055,10 +1128,18 @@
 func (*ServiceDescriptorProto) ProtoMessage() {}
 
 func (x *ServiceDescriptorProto) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[8].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ServiceDescriptorProto) XXX_Methods() *protoiface.Methods {
+func (x *ServiceDescriptorProto) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[8].Methods()
 }
 
@@ -1090,7 +1171,8 @@
 
 // Describes a method of a service.
 type MethodDescriptorProto struct {
-	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	state protoimpl.MessageState
+	Name  *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	// Input and output type names.  These are resolved in the same way as
 	// FieldDescriptorProto.type_name, but must refer to a message type.
 	InputType  *string        `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
@@ -1115,10 +1197,18 @@
 func (*MethodDescriptorProto) ProtoMessage() {}
 
 func (x *MethodDescriptorProto) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[9].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[9]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *MethodDescriptorProto) XXX_Methods() *protoiface.Methods {
+func (x *MethodDescriptorProto) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[9].Methods()
 }
 
@@ -1173,6 +1263,7 @@
 }
 
 type FileOptions struct {
+	state protoimpl.MessageState
 	// Sets the Java package where classes generated from this .proto will be
 	// placed.  By default, the proto package is used, but this is often
 	// inappropriate because proto packages do not normally start with backwards
@@ -1273,10 +1364,18 @@
 func (*FileOptions) ProtoMessage() {}
 
 func (x *FileOptions) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[10].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[10]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FileOptions) XXX_Methods() *protoiface.Methods {
+func (x *FileOptions) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[10].Methods()
 }
 
@@ -1453,6 +1552,7 @@
 }
 
 type MessageOptions struct {
+	state protoimpl.MessageState
 	// Set true to use the old proto1 MessageSet wire format for extensions.
 	// This is provided for backwards-compatibility with the MessageSet wire
 	// format.  You should not use this for any other reason:  It's less
@@ -1521,10 +1621,18 @@
 func (*MessageOptions) ProtoMessage() {}
 
 func (x *MessageOptions) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[11].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[11]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *MessageOptions) XXX_Methods() *protoiface.Methods {
+func (x *MessageOptions) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[11].Methods()
 }
 
@@ -1582,6 +1690,7 @@
 }
 
 type FieldOptions struct {
+	state protoimpl.MessageState
 	// The ctype option instructs the C++ code generator to use a different
 	// representation of the field than it normally would.  See the specific
 	// options below.  This option is not yet implemented in the open source
@@ -1659,10 +1768,18 @@
 func (*FieldOptions) ProtoMessage() {}
 
 func (x *FieldOptions) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[12].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[12]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldOptions) XXX_Methods() *protoiface.Methods {
+func (x *FieldOptions) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[12].Methods()
 }
 
@@ -1736,6 +1853,7 @@
 }
 
 type OneofOptions struct {
+	state protoimpl.MessageState
 	// 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"`
 	sizeCache           protoimpl.SizeCache
@@ -1754,10 +1872,18 @@
 func (*OneofOptions) ProtoMessage() {}
 
 func (x *OneofOptions) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[13].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[13]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *OneofOptions) XXX_Methods() *protoiface.Methods {
+func (x *OneofOptions) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[13].Methods()
 }
 
@@ -1783,6 +1909,7 @@
 }
 
 type EnumOptions struct {
+	state protoimpl.MessageState
 	// Set this option to true to allow mapping different tag names to the same
 	// value.
 	AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
@@ -1809,10 +1936,18 @@
 func (*EnumOptions) ProtoMessage() {}
 
 func (x *EnumOptions) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[14].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[14]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *EnumOptions) XXX_Methods() *protoiface.Methods {
+func (x *EnumOptions) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[14].Methods()
 }
 
@@ -1854,6 +1989,7 @@
 }
 
 type EnumValueOptions struct {
+	state protoimpl.MessageState
 	// Is this enum value deprecated?
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for the enum value, or it will be completely ignored; in the very least,
@@ -1877,10 +2013,18 @@
 func (*EnumValueOptions) ProtoMessage() {}
 
 func (x *EnumValueOptions) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[15].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *EnumValueOptions) XXX_Methods() *protoiface.Methods {
+func (x *EnumValueOptions) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[15].Methods()
 }
 
@@ -1915,6 +2059,7 @@
 }
 
 type ServiceOptions struct {
+	state protoimpl.MessageState
 	// Is this service deprecated?
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for the service, or it will be completely ignored; in the very least,
@@ -1938,10 +2083,18 @@
 func (*ServiceOptions) ProtoMessage() {}
 
 func (x *ServiceOptions) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[16].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[16]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ServiceOptions) XXX_Methods() *protoiface.Methods {
+func (x *ServiceOptions) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[16].Methods()
 }
 
@@ -1976,6 +2129,7 @@
 }
 
 type MethodOptions struct {
+	state protoimpl.MessageState
 	// Is this method deprecated?
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for the method, or it will be completely ignored; in the very least,
@@ -2000,10 +2154,18 @@
 func (*MethodOptions) ProtoMessage() {}
 
 func (x *MethodOptions) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[17].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[17]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *MethodOptions) XXX_Methods() *protoiface.Methods {
+func (x *MethodOptions) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[17].Methods()
 }
 
@@ -2052,7 +2214,8 @@
 // or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
 // in them.
 type UninterpretedOption struct {
-	Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
+	state protoimpl.MessageState
+	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"`
@@ -2076,10 +2239,18 @@
 func (*UninterpretedOption) ProtoMessage() {}
 
 func (x *UninterpretedOption) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[18].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[18]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *UninterpretedOption) XXX_Methods() *protoiface.Methods {
+func (x *UninterpretedOption) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[18].Methods()
 }
 
@@ -2140,6 +2311,7 @@
 // Encapsulates information about the original source file from which a
 // FileDescriptorProto was generated.
 type SourceCodeInfo struct {
+	state protoimpl.MessageState
 	// A Location identifies a piece of source code in a .proto file which
 	// corresponds to a particular definition.  This information is intended
 	// to be useful to IDEs, code indexers, documentation generators, and similar
@@ -2199,10 +2371,18 @@
 func (*SourceCodeInfo) ProtoMessage() {}
 
 func (x *SourceCodeInfo) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[19].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[19]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *SourceCodeInfo) XXX_Methods() *protoiface.Methods {
+func (x *SourceCodeInfo) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[19].Methods()
 }
 
@@ -2222,6 +2402,7 @@
 // file. A GeneratedCodeInfo message is associated with only one generated
 // source file, but may contain references to different source .proto files.
 type GeneratedCodeInfo struct {
+	state protoimpl.MessageState
 	// 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"`
@@ -2240,10 +2421,18 @@
 func (*GeneratedCodeInfo) ProtoMessage() {}
 
 func (x *GeneratedCodeInfo) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[20].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[20]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GeneratedCodeInfo) XXX_Methods() *protoiface.Methods {
+func (x *GeneratedCodeInfo) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[20].Methods()
 }
 
@@ -2260,6 +2449,7 @@
 }
 
 type DescriptorProto_ExtensionRange struct {
+	state         protoimpl.MessageState
 	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"`
@@ -2278,10 +2468,18 @@
 func (*DescriptorProto_ExtensionRange) ProtoMessage() {}
 
 func (x *DescriptorProto_ExtensionRange) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[21].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *DescriptorProto_ExtensionRange) XXX_Methods() *protoiface.Methods {
+func (x *DescriptorProto_ExtensionRange) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[21].Methods()
 }
 
@@ -2315,6 +2513,7 @@
 // fields or extension ranges in the same message. Reserved ranges may
 // not overlap.
 type DescriptorProto_ReservedRange struct {
+	state         protoimpl.MessageState
 	Start         *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
 	End           *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2332,10 +2531,18 @@
 func (*DescriptorProto_ReservedRange) ProtoMessage() {}
 
 func (x *DescriptorProto_ReservedRange) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[22].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[22]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *DescriptorProto_ReservedRange) XXX_Methods() *protoiface.Methods {
+func (x *DescriptorProto_ReservedRange) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[22].Methods()
 }
 
@@ -2365,6 +2572,7 @@
 // is inclusive such that it can appropriately represent the entire int32
 // domain.
 type EnumDescriptorProto_EnumReservedRange struct {
+	state         protoimpl.MessageState
 	Start         *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
 	End           *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -2382,10 +2590,18 @@
 func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {}
 
 func (x *EnumDescriptorProto_EnumReservedRange) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[23].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[23]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *EnumDescriptorProto_EnumReservedRange) XXX_Methods() *protoiface.Methods {
+func (x *EnumDescriptorProto_EnumReservedRange) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[23].Methods()
 }
 
@@ -2414,6 +2630,7 @@
 // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
 // "foo.(bar.baz).qux".
 type UninterpretedOption_NamePart struct {
+	state         protoimpl.MessageState
 	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"`
 	sizeCache     protoimpl.SizeCache
@@ -2431,10 +2648,18 @@
 func (*UninterpretedOption_NamePart) ProtoMessage() {}
 
 func (x *UninterpretedOption_NamePart) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[24].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[24]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *UninterpretedOption_NamePart) XXX_Methods() *protoiface.Methods {
+func (x *UninterpretedOption_NamePart) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[24].Methods()
 }
 
@@ -2458,6 +2683,7 @@
 }
 
 type SourceCodeInfo_Location struct {
+	state protoimpl.MessageState
 	// Identifies which part of the FileDescriptorProto was defined at this
 	// location.
 	//
@@ -2553,10 +2779,18 @@
 func (*SourceCodeInfo_Location) ProtoMessage() {}
 
 func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[25].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[25]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *SourceCodeInfo_Location) XXX_Methods() *protoiface.Methods {
+func (x *SourceCodeInfo_Location) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[25].Methods()
 }
 
@@ -2601,6 +2835,7 @@
 }
 
 type GeneratedCodeInfo_Annotation struct {
+	state protoimpl.MessageState
 	// Identifies the element in the original source .proto file. This field
 	// is formatted the same as SourceCodeInfo.Location.path.
 	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
@@ -2628,10 +2863,18 @@
 func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
 
 func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_descriptor_proto_msgTypes[26].MessageOf(x)
+	mi := &file_google_protobuf_descriptor_proto_msgTypes[26]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *GeneratedCodeInfo_Annotation) XXX_Methods() *protoiface.Methods {
+func (x *GeneratedCodeInfo_Annotation) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_descriptor_proto_msgTypes[26].Methods()
 }
 
@@ -3254,9 +3497,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_descriptor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FileDescriptorSet); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3264,9 +3509,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FileDescriptorProto); i {
-			case 12:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 13:
+				return &v.sizeCache
+			case 14:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3274,9 +3521,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*DescriptorProto); i {
-			case 10:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 11:
+				return &v.sizeCache
+			case 12:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3284,11 +3533,13 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ExtensionRangeOptions); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 3:
+				return &v.unknownFields
+			case 4:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3296,9 +3547,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldDescriptorProto); i {
-			case 10:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 11:
+				return &v.sizeCache
+			case 12:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3306,9 +3559,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*OneofDescriptorProto); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3316,9 +3571,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*EnumDescriptorProto); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3326,9 +3583,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*EnumValueDescriptorProto); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3336,9 +3595,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ServiceDescriptorProto); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3346,9 +3607,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*MethodDescriptorProto); i {
-			case 6:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 7:
+				return &v.sizeCache
+			case 8:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3356,11 +3619,13 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FileOptions); i {
-			case 21:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 22:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 23:
+				return &v.unknownFields
+			case 24:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3368,11 +3633,13 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*MessageOptions); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 7:
+				return &v.unknownFields
+			case 8:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3380,11 +3647,13 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldOptions); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 9:
+				return &v.unknownFields
+			case 10:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3392,11 +3661,13 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*OneofOptions); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 3:
+				return &v.unknownFields
+			case 4:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3404,11 +3675,13 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*EnumOptions); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 5:
+				return &v.unknownFields
+			case 6:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3416,11 +3689,13 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*EnumValueOptions); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 4:
+				return &v.unknownFields
+			case 5:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3428,11 +3703,13 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ServiceOptions); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 4:
+				return &v.unknownFields
+			case 5:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3440,11 +3717,13 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*MethodOptions); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
-				return &v.unknownFields
+				return &v.sizeCache
 			case 5:
+				return &v.unknownFields
+			case 6:
 				return &v.extensionFields
 			default:
 				return nil
@@ -3452,9 +3731,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*UninterpretedOption); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3462,9 +3743,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*SourceCodeInfo); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3472,9 +3755,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GeneratedCodeInfo); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3482,9 +3767,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*DescriptorProto_ExtensionRange); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3492,9 +3779,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*DescriptorProto_ReservedRange); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3502,9 +3791,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*EnumDescriptorProto_EnumReservedRange); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3512,9 +3803,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*UninterpretedOption_NamePart); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3522,9 +3815,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*SourceCodeInfo_Location); i {
-			case 5:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 6:
+				return &v.sizeCache
+			case 7:
 				return &v.unknownFields
 			default:
 				return nil
@@ -3532,9 +3827,11 @@
 		}
 		file_google_protobuf_descriptor_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*GeneratedCodeInfo_Annotation); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/anypb/any.pb.go b/types/known/anypb/any.pb.go
index 41a3e9a..595b70f 100644
--- a/types/known/anypb/any.pb.go
+++ b/types/known/anypb/any.pb.go
@@ -98,6 +98,7 @@
 //     }
 //
 type Any struct {
+	state protoimpl.MessageState
 	// A URL/resource name that uniquely identifies the type of the serialized
 	// protocol buffer message. This string must contain at least
 	// one "/" character. The last segment of the URL's path must represent
@@ -144,10 +145,18 @@
 func (*Any) ProtoMessage() {}
 
 func (x *Any) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_any_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_any_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Any) XXX_Methods() *protoiface.Methods {
+func (x *Any) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_any_proto_msgTypes[0].Methods()
 }
 
@@ -222,9 +231,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_any_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Any); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/apipb/api.pb.go b/types/known/apipb/api.pb.go
index b0d4128..9bc70e1 100644
--- a/types/known/apipb/api.pb.go
+++ b/types/known/apipb/api.pb.go
@@ -29,6 +29,7 @@
 // this message itself. See https://cloud.google.com/apis/design/glossary for
 // detailed terminology.
 type Api struct {
+	state protoimpl.MessageState
 	// 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"`
@@ -80,10 +81,18 @@
 func (*Api) ProtoMessage() {}
 
 func (x *Api) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_api_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_api_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Api) XXX_Methods() *protoiface.Methods {
+func (x *Api) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_api_proto_msgTypes[0].Methods()
 }
 
@@ -143,6 +152,7 @@
 
 // Method represents a method of an API interface.
 type Method struct {
+	state protoimpl.MessageState
 	// 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.
@@ -172,10 +182,18 @@
 func (*Method) ProtoMessage() {}
 
 func (x *Method) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_api_proto_msgTypes[1].MessageOf(x)
+	mi := &file_google_protobuf_api_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Method) XXX_Methods() *protoiface.Methods {
+func (x *Method) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_api_proto_msgTypes[1].Methods()
 }
 
@@ -312,6 +330,7 @@
 //       ...
 //     }
 type Mixin struct {
+	state protoimpl.MessageState
 	// 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
@@ -332,10 +351,18 @@
 func (*Mixin) ProtoMessage() {}
 
 func (x *Mixin) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_api_proto_msgTypes[2].MessageOf(x)
+	mi := &file_google_protobuf_api_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Mixin) XXX_Methods() *protoiface.Methods {
+func (x *Mixin) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_api_proto_msgTypes[2].Methods()
 }
 
@@ -465,9 +492,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Api); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -475,9 +504,11 @@
 		}
 		file_google_protobuf_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Method); i {
-			case 7:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 8:
+				return &v.sizeCache
+			case 9:
 				return &v.unknownFields
 			default:
 				return nil
@@ -485,9 +516,11 @@
 		}
 		file_google_protobuf_api_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Mixin); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/durationpb/duration.pb.go b/types/known/durationpb/duration.pb.go
index 20043ee..de6d461 100644
--- a/types/known/durationpb/duration.pb.go
+++ b/types/known/durationpb/duration.pb.go
@@ -78,6 +78,7 @@
 //
 //
 type Duration struct {
+	state protoimpl.MessageState
 	// Signed seconds of the span of time. Must be from -315,576,000,000
 	// to +315,576,000,000 inclusive. Note: these bounds are computed from:
 	// 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -104,10 +105,18 @@
 func (*Duration) ProtoMessage() {}
 
 func (x *Duration) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_duration_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_duration_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Duration) XXX_Methods() *protoiface.Methods {
+func (x *Duration) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_duration_proto_msgTypes[0].Methods()
 }
 
@@ -183,9 +192,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_duration_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Duration); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/emptypb/empty.pb.go b/types/known/emptypb/empty.pb.go
index a6aabb7..4558682 100644
--- a/types/known/emptypb/empty.pb.go
+++ b/types/known/emptypb/empty.pb.go
@@ -27,6 +27,7 @@
 //
 // The JSON representation for `Empty` is empty JSON object `{}`.
 type Empty struct {
+	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 }
@@ -42,10 +43,18 @@
 func (*Empty) ProtoMessage() {}
 
 func (x *Empty) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_empty_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_empty_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Empty) XXX_Methods() *protoiface.Methods {
+func (x *Empty) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_empty_proto_msgTypes[0].Methods()
 }
 
@@ -104,8 +113,10 @@
 		file_google_protobuf_empty_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Empty); i {
 			case 0:
-				return &v.sizeCache
+				return &v.state
 			case 1:
+				return &v.sizeCache
+			case 2:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/fieldmaskpb/field_mask.pb.go b/types/known/fieldmaskpb/field_mask.pb.go
index 1b72928..cb7b45e 100644
--- a/types/known/fieldmaskpb/field_mask.pb.go
+++ b/types/known/fieldmaskpb/field_mask.pb.go
@@ -217,6 +217,7 @@
 // request should verify the included field paths, and return an
 // `INVALID_ARGUMENT` error if any path is duplicated or unmappable.
 type FieldMask struct {
+	state protoimpl.MessageState
 	// The set of field mask paths.
 	Paths         []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -234,10 +235,18 @@
 func (*FieldMask) ProtoMessage() {}
 
 func (x *FieldMask) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_field_mask_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_field_mask_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FieldMask) XXX_Methods() *protoiface.Methods {
+func (x *FieldMask) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_field_mask_proto_msgTypes[0].Methods()
 }
 
@@ -305,9 +314,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_field_mask_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FieldMask); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/sourcecontextpb/source_context.pb.go b/types/known/sourcecontextpb/source_context.pb.go
index 016fafd..e482879 100644
--- a/types/known/sourcecontextpb/source_context.pb.go
+++ b/types/known/sourcecontextpb/source_context.pb.go
@@ -20,6 +20,7 @@
 // `SourceContext` represents information about the source of a
 // protobuf element, like the file in which it is defined.
 type SourceContext struct {
+	state protoimpl.MessageState
 	// 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"`
@@ -38,10 +39,18 @@
 func (*SourceContext) ProtoMessage() {}
 
 func (x *SourceContext) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_source_context_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_source_context_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *SourceContext) XXX_Methods() *protoiface.Methods {
+func (x *SourceContext) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_source_context_proto_msgTypes[0].Methods()
 }
 
@@ -110,9 +119,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_source_context_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*SourceContext); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/structpb/struct.pb.go b/types/known/structpb/struct.pb.go
index 84a3434..cc19871 100644
--- a/types/known/structpb/struct.pb.go
+++ b/types/known/structpb/struct.pb.go
@@ -69,6 +69,7 @@
 //
 // The JSON representation for `Struct` is JSON object.
 type Struct struct {
+	state protoimpl.MessageState
 	// Unordered map of dynamically typed values.
 	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"`
 	sizeCache     protoimpl.SizeCache
@@ -86,10 +87,18 @@
 func (*Struct) ProtoMessage() {}
 
 func (x *Struct) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_struct_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_struct_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Struct) XXX_Methods() *protoiface.Methods {
+func (x *Struct) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_struct_proto_msgTypes[0].Methods()
 }
 
@@ -112,6 +121,7 @@
 //
 // The JSON representation for `Value` is JSON value.
 type Value struct {
+	state protoimpl.MessageState
 	// The kind of value.
 	//
 	// Types that are valid to be assigned to Kind:
@@ -143,10 +153,18 @@
 func (*Value) ProtoMessage() {}
 
 func (x *Value) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_struct_proto_msgTypes[1].MessageOf(x)
+	mi := &file_google_protobuf_struct_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Value) XXX_Methods() *protoiface.Methods {
+func (x *Value) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_struct_proto_msgTypes[1].Methods()
 }
 
@@ -248,6 +266,7 @@
 //
 // The JSON representation for `ListValue` is JSON array.
 type ListValue struct {
+	state protoimpl.MessageState
 	// Repeated field of dynamically typed values.
 	Values        []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -265,10 +284,18 @@
 func (*ListValue) ProtoMessage() {}
 
 func (x *ListValue) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_struct_proto_msgTypes[2].MessageOf(x)
+	mi := &file_google_protobuf_struct_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *ListValue) XXX_Methods() *protoiface.Methods {
+func (x *ListValue) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_struct_proto_msgTypes[2].Methods()
 }
 
@@ -379,9 +406,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_struct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Struct); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -389,9 +418,11 @@
 		}
 		file_google_protobuf_struct_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Value); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -399,9 +430,11 @@
 		}
 		file_google_protobuf_struct_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ListValue); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/timestamppb/timestamp.pb.go b/types/known/timestamppb/timestamp.pb.go
index 62f6f6c..3ade4ba 100644
--- a/types/known/timestamppb/timestamp.pb.go
+++ b/types/known/timestamppb/timestamp.pb.go
@@ -100,6 +100,7 @@
 //
 //
 type Timestamp struct {
+	state protoimpl.MessageState
 	// Represents seconds of UTC time since Unix epoch
 	// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
 	// 9999-12-31T23:59:59Z inclusive.
@@ -124,10 +125,18 @@
 func (*Timestamp) ProtoMessage() {}
 
 func (x *Timestamp) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_timestamp_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_timestamp_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Timestamp) XXX_Methods() *protoiface.Methods {
+func (x *Timestamp) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_timestamp_proto_msgTypes[0].Methods()
 }
 
@@ -203,9 +212,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_timestamp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Timestamp); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/typepb/type.pb.go b/types/known/typepb/type.pb.go
index bc350d3..4a37caf 100644
--- a/types/known/typepb/type.pb.go
+++ b/types/known/typepb/type.pb.go
@@ -227,6 +227,7 @@
 
 // A protocol buffer message type.
 type Type struct {
+	state protoimpl.MessageState
 	// The fully qualified message name.
 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	// The list of fields.
@@ -254,10 +255,18 @@
 func (*Type) ProtoMessage() {}
 
 func (x *Type) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_type_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_type_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Type) XXX_Methods() *protoiface.Methods {
+func (x *Type) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_type_proto_msgTypes[0].Methods()
 }
 
@@ -310,6 +319,7 @@
 
 // A single field of a message type.
 type Field struct {
+	state protoimpl.MessageState
 	// The field type.
 	Kind Field_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=google.protobuf.Field_Kind" json:"kind,omitempty"`
 	// The field cardinality.
@@ -347,10 +357,18 @@
 func (*Field) ProtoMessage() {}
 
 func (x *Field) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_type_proto_msgTypes[1].MessageOf(x)
+	mi := &file_google_protobuf_type_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Field) XXX_Methods() *protoiface.Methods {
+func (x *Field) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_type_proto_msgTypes[1].Methods()
 }
 
@@ -431,6 +449,7 @@
 
 // Enum type definition.
 type Enum struct {
+	state protoimpl.MessageState
 	// Enum type name.
 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	// Enum value definitions.
@@ -456,10 +475,18 @@
 func (*Enum) ProtoMessage() {}
 
 func (x *Enum) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_type_proto_msgTypes[2].MessageOf(x)
+	mi := &file_google_protobuf_type_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Enum) XXX_Methods() *protoiface.Methods {
+func (x *Enum) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_type_proto_msgTypes[2].Methods()
 }
 
@@ -505,6 +532,7 @@
 
 // Enum value definition.
 type EnumValue struct {
+	state protoimpl.MessageState
 	// Enum value name.
 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	// Enum value number.
@@ -526,10 +554,18 @@
 func (*EnumValue) ProtoMessage() {}
 
 func (x *EnumValue) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_type_proto_msgTypes[3].MessageOf(x)
+	mi := &file_google_protobuf_type_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *EnumValue) XXX_Methods() *protoiface.Methods {
+func (x *EnumValue) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_type_proto_msgTypes[3].Methods()
 }
 
@@ -562,6 +598,7 @@
 // A protocol buffer option, which can be attached to a message, field,
 // enumeration, etc.
 type Option struct {
+	state protoimpl.MessageState
 	// 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,
@@ -587,10 +624,18 @@
 func (*Option) ProtoMessage() {}
 
 func (x *Option) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_type_proto_msgTypes[4].MessageOf(x)
+	mi := &file_google_protobuf_type_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Option) XXX_Methods() *protoiface.Methods {
+func (x *Option) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_type_proto_msgTypes[4].Methods()
 }
 
@@ -788,6 +833,32 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_type_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Type); i {
+			case 0:
+				return &v.state
+			case 7:
+				return &v.sizeCache
+			case 8:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_google_protobuf_type_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Field); i {
+			case 0:
+				return &v.state
+			case 11:
+				return &v.sizeCache
+			case 12:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_google_protobuf_type_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Enum); i {
+			case 0:
+				return &v.state
 			case 6:
 				return &v.sizeCache
 			case 7:
@@ -796,31 +867,13 @@
 				return nil
 			}
 		}
-		file_google_protobuf_type_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Field); i {
-			case 10:
-				return &v.sizeCache
-			case 11:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_google_protobuf_type_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Enum); i {
-			case 5:
-				return &v.sizeCache
-			case 6:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
 		file_google_protobuf_type_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*EnumValue); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil
@@ -828,9 +881,11 @@
 		}
 		file_google_protobuf_type_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Option); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/known/wrapperspb/wrappers.pb.go b/types/known/wrapperspb/wrappers.pb.go
index 20ca470..846cd59 100644
--- a/types/known/wrapperspb/wrappers.pb.go
+++ b/types/known/wrapperspb/wrappers.pb.go
@@ -21,6 +21,7 @@
 //
 // The JSON representation for `DoubleValue` is JSON number.
 type DoubleValue struct {
+	state protoimpl.MessageState
 	// The double value.
 	Value         float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -38,10 +39,18 @@
 func (*DoubleValue) ProtoMessage() {}
 
 func (x *DoubleValue) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_wrappers_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_wrappers_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *DoubleValue) XXX_Methods() *protoiface.Methods {
+func (x *DoubleValue) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_wrappers_proto_msgTypes[0].Methods()
 }
 
@@ -61,6 +70,7 @@
 //
 // The JSON representation for `FloatValue` is JSON number.
 type FloatValue struct {
+	state protoimpl.MessageState
 	// The float value.
 	Value         float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -78,10 +88,18 @@
 func (*FloatValue) ProtoMessage() {}
 
 func (x *FloatValue) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_wrappers_proto_msgTypes[1].MessageOf(x)
+	mi := &file_google_protobuf_wrappers_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *FloatValue) XXX_Methods() *protoiface.Methods {
+func (x *FloatValue) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_wrappers_proto_msgTypes[1].Methods()
 }
 
@@ -101,6 +119,7 @@
 //
 // The JSON representation for `Int64Value` is JSON string.
 type Int64Value struct {
+	state protoimpl.MessageState
 	// The int64 value.
 	Value         int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -118,10 +137,18 @@
 func (*Int64Value) ProtoMessage() {}
 
 func (x *Int64Value) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_wrappers_proto_msgTypes[2].MessageOf(x)
+	mi := &file_google_protobuf_wrappers_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Int64Value) XXX_Methods() *protoiface.Methods {
+func (x *Int64Value) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_wrappers_proto_msgTypes[2].Methods()
 }
 
@@ -141,6 +168,7 @@
 //
 // The JSON representation for `UInt64Value` is JSON string.
 type UInt64Value struct {
+	state protoimpl.MessageState
 	// The uint64 value.
 	Value         uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -158,10 +186,18 @@
 func (*UInt64Value) ProtoMessage() {}
 
 func (x *UInt64Value) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_wrappers_proto_msgTypes[3].MessageOf(x)
+	mi := &file_google_protobuf_wrappers_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *UInt64Value) XXX_Methods() *protoiface.Methods {
+func (x *UInt64Value) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_wrappers_proto_msgTypes[3].Methods()
 }
 
@@ -181,6 +217,7 @@
 //
 // The JSON representation for `Int32Value` is JSON number.
 type Int32Value struct {
+	state protoimpl.MessageState
 	// The int32 value.
 	Value         int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -198,10 +235,18 @@
 func (*Int32Value) ProtoMessage() {}
 
 func (x *Int32Value) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_wrappers_proto_msgTypes[4].MessageOf(x)
+	mi := &file_google_protobuf_wrappers_proto_msgTypes[4]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Int32Value) XXX_Methods() *protoiface.Methods {
+func (x *Int32Value) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_wrappers_proto_msgTypes[4].Methods()
 }
 
@@ -221,6 +266,7 @@
 //
 // The JSON representation for `UInt32Value` is JSON number.
 type UInt32Value struct {
+	state protoimpl.MessageState
 	// The uint32 value.
 	Value         uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -238,10 +284,18 @@
 func (*UInt32Value) ProtoMessage() {}
 
 func (x *UInt32Value) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_wrappers_proto_msgTypes[5].MessageOf(x)
+	mi := &file_google_protobuf_wrappers_proto_msgTypes[5]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *UInt32Value) XXX_Methods() *protoiface.Methods {
+func (x *UInt32Value) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_wrappers_proto_msgTypes[5].Methods()
 }
 
@@ -261,6 +315,7 @@
 //
 // The JSON representation for `BoolValue` is JSON `true` and `false`.
 type BoolValue struct {
+	state protoimpl.MessageState
 	// The bool value.
 	Value         bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -278,10 +333,18 @@
 func (*BoolValue) ProtoMessage() {}
 
 func (x *BoolValue) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_wrappers_proto_msgTypes[6].MessageOf(x)
+	mi := &file_google_protobuf_wrappers_proto_msgTypes[6]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *BoolValue) XXX_Methods() *protoiface.Methods {
+func (x *BoolValue) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_wrappers_proto_msgTypes[6].Methods()
 }
 
@@ -301,6 +364,7 @@
 //
 // The JSON representation for `StringValue` is JSON string.
 type StringValue struct {
+	state protoimpl.MessageState
 	// The string value.
 	Value         string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -318,10 +382,18 @@
 func (*StringValue) ProtoMessage() {}
 
 func (x *StringValue) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_wrappers_proto_msgTypes[7].MessageOf(x)
+	mi := &file_google_protobuf_wrappers_proto_msgTypes[7]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *StringValue) XXX_Methods() *protoiface.Methods {
+func (x *StringValue) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_wrappers_proto_msgTypes[7].Methods()
 }
 
@@ -341,6 +413,7 @@
 //
 // The JSON representation for `BytesValue` is JSON string.
 type BytesValue struct {
+	state protoimpl.MessageState
 	// The bytes value.
 	Value         []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
 	sizeCache     protoimpl.SizeCache
@@ -358,10 +431,18 @@
 func (*BytesValue) ProtoMessage() {}
 
 func (x *BytesValue) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_wrappers_proto_msgTypes[8].MessageOf(x)
+	mi := &file_google_protobuf_wrappers_proto_msgTypes[8]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *BytesValue) XXX_Methods() *protoiface.Methods {
+func (x *BytesValue) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_wrappers_proto_msgTypes[8].Methods()
 }
 
@@ -455,9 +536,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_wrappers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*DoubleValue); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -465,9 +548,11 @@
 		}
 		file_google_protobuf_wrappers_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FloatValue); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -475,9 +560,11 @@
 		}
 		file_google_protobuf_wrappers_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Int64Value); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -485,9 +572,11 @@
 		}
 		file_google_protobuf_wrappers_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*UInt64Value); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -495,9 +584,11 @@
 		}
 		file_google_protobuf_wrappers_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Int32Value); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -505,9 +596,11 @@
 		}
 		file_google_protobuf_wrappers_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*UInt32Value); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -515,9 +608,11 @@
 		}
 		file_google_protobuf_wrappers_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*BoolValue); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -525,9 +620,11 @@
 		}
 		file_google_protobuf_wrappers_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*StringValue); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
@@ -535,9 +632,11 @@
 		}
 		file_google_protobuf_wrappers_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*BytesValue); i {
-			case 1:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 2:
+				return &v.sizeCache
+			case 3:
 				return &v.unknownFields
 			default:
 				return nil
diff --git a/types/pluginpb/plugin.pb.go b/types/pluginpb/plugin.pb.go
index 6a1f738..258574e 100644
--- a/types/pluginpb/plugin.pb.go
+++ b/types/pluginpb/plugin.pb.go
@@ -20,6 +20,7 @@
 
 // The version number of protocol compiler.
 type Version struct {
+	state protoimpl.MessageState
 	Major *int32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"`
 	Minor *int32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"`
 	Patch *int32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"`
@@ -41,10 +42,18 @@
 func (*Version) ProtoMessage() {}
 
 func (x *Version) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_compiler_plugin_proto_msgTypes[0].MessageOf(x)
+	mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *Version) XXX_Methods() *protoiface.Methods {
+func (x *Version) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_compiler_plugin_proto_msgTypes[0].Methods()
 }
 
@@ -83,6 +92,7 @@
 
 // An encoded CodeGeneratorRequest is written to the plugin's stdin.
 type CodeGeneratorRequest struct {
+	state protoimpl.MessageState
 	// The .proto files that were explicitly listed on the command-line.  The
 	// code generator should generate code only for these files.  Each file's
 	// descriptor will be included in proto_file, below.
@@ -121,10 +131,18 @@
 func (*CodeGeneratorRequest) ProtoMessage() {}
 
 func (x *CodeGeneratorRequest) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_compiler_plugin_proto_msgTypes[1].MessageOf(x)
+	mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *CodeGeneratorRequest) XXX_Methods() *protoiface.Methods {
+func (x *CodeGeneratorRequest) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_compiler_plugin_proto_msgTypes[1].Methods()
 }
 
@@ -163,6 +181,7 @@
 
 // The plugin writes an encoded CodeGeneratorResponse to stdout.
 type CodeGeneratorResponse struct {
+	state protoimpl.MessageState
 	// Error message.  If non-empty, code generation failed.  The plugin process
 	// should exit with status code zero even if it reports an error in this way.
 	//
@@ -188,10 +207,18 @@
 func (*CodeGeneratorResponse) ProtoMessage() {}
 
 func (x *CodeGeneratorResponse) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_compiler_plugin_proto_msgTypes[2].MessageOf(x)
+	mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[2]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *CodeGeneratorResponse) XXX_Methods() *protoiface.Methods {
+func (x *CodeGeneratorResponse) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_compiler_plugin_proto_msgTypes[2].Methods()
 }
 
@@ -216,6 +243,7 @@
 
 // Represents a single generated file.
 type CodeGeneratorResponse_File struct {
+	state protoimpl.MessageState
 	// The file name, relative to the output directory.  The name must not
 	// contain "." or ".." components and must be relative, not be absolute (so,
 	// the file cannot lie outside the output directory).  "/" must be used as
@@ -283,10 +311,18 @@
 func (*CodeGeneratorResponse_File) ProtoMessage() {}
 
 func (x *CodeGeneratorResponse_File) ProtoReflect() protoreflect.Message {
-	return file_google_protobuf_compiler_plugin_proto_msgTypes[3].MessageOf(x)
+	mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[3]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
 }
 
-func (m *CodeGeneratorResponse_File) XXX_Methods() *protoiface.Methods {
+func (x *CodeGeneratorResponse_File) XXX_Methods() *protoiface.Methods {
 	return file_google_protobuf_compiler_plugin_proto_msgTypes[3].Methods()
 }
 
@@ -407,9 +443,11 @@
 	if !protoimpl.UnsafeEnabled {
 		file_google_protobuf_compiler_plugin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*Version); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -417,9 +455,11 @@
 		}
 		file_google_protobuf_compiler_plugin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CodeGeneratorRequest); i {
-			case 4:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 5:
+				return &v.sizeCache
+			case 6:
 				return &v.unknownFields
 			default:
 				return nil
@@ -427,9 +467,11 @@
 		}
 		file_google_protobuf_compiler_plugin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CodeGeneratorResponse); i {
-			case 2:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 3:
+				return &v.sizeCache
+			case 4:
 				return &v.unknownFields
 			default:
 				return nil
@@ -437,9 +479,11 @@
 		}
 		file_google_protobuf_compiler_plugin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CodeGeneratorResponse_File); i {
-			case 3:
-				return &v.sizeCache
+			case 0:
+				return &v.state
 			case 4:
+				return &v.sizeCache
+			case 5:
 				return &v.unknownFields
 			default:
 				return nil