github.com/bakjos/protoreflect@v1.9.2/internal/testprotos/desc_test_complex.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0-devel
     4  // 	protoc        v3.12.0
     5  // source: desc_test_complex.proto
     6  
     7  package testprotos
     8  
     9  import (
    10  	context "context"
    11  	proto "github.com/golang/protobuf/proto"
    12  	descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
    13  	grpc "google.golang.org/grpc"
    14  	codes "google.golang.org/grpc/codes"
    15  	status "google.golang.org/grpc/status"
    16  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    17  	protoiface "google.golang.org/protobuf/runtime/protoiface"
    18  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    19  	reflect "reflect"
    20  	sync "sync"
    21  )
    22  
    23  const (
    24  	// Verify that this generated code is sufficiently up-to-date.
    25  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    26  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    27  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    28  )
    29  
    30  // This is a compile-time assertion that a sufficiently up-to-date version
    31  // of the legacy proto package is being used.
    32  const _ = proto.ProtoPackageIsVersion4
    33  
    34  type EnumWithReservations int32
    35  
    36  const (
    37  	EnumWithReservations_X EnumWithReservations = 2
    38  	EnumWithReservations_Y EnumWithReservations = 3
    39  	EnumWithReservations_Z EnumWithReservations = 4
    40  )
    41  
    42  // Enum value maps for EnumWithReservations.
    43  var (
    44  	EnumWithReservations_name = map[int32]string{
    45  		2: "X",
    46  		3: "Y",
    47  		4: "Z",
    48  	}
    49  	EnumWithReservations_value = map[string]int32{
    50  		"X": 2,
    51  		"Y": 3,
    52  		"Z": 4,
    53  	}
    54  )
    55  
    56  func (x EnumWithReservations) Enum() *EnumWithReservations {
    57  	p := new(EnumWithReservations)
    58  	*p = x
    59  	return p
    60  }
    61  
    62  func (x EnumWithReservations) String() string {
    63  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    64  }
    65  
    66  func (EnumWithReservations) Descriptor() protoreflect.EnumDescriptor {
    67  	return file_desc_test_complex_proto_enumTypes[0].Descriptor()
    68  }
    69  
    70  func (EnumWithReservations) Type() protoreflect.EnumType {
    71  	return &file_desc_test_complex_proto_enumTypes[0]
    72  }
    73  
    74  func (x EnumWithReservations) Number() protoreflect.EnumNumber {
    75  	return protoreflect.EnumNumber(x)
    76  }
    77  
    78  // Deprecated: Do not use.
    79  func (x *EnumWithReservations) UnmarshalJSON(b []byte) error {
    80  	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
    81  	if err != nil {
    82  		return err
    83  	}
    84  	*x = EnumWithReservations(num)
    85  	return nil
    86  }
    87  
    88  // Deprecated: Use EnumWithReservations.Descriptor instead.
    89  func (EnumWithReservations) EnumDescriptor() ([]byte, []int) {
    90  	return file_desc_test_complex_proto_rawDescGZIP(), []int{0}
    91  }
    92  
    93  type Test_Nested_XNestedNested_EEE int32
    94  
    95  const (
    96  	Test_Nested_XNestedNested_OK Test_Nested_XNestedNested_EEE = 0
    97  	Test_Nested_XNestedNested_V1 Test_Nested_XNestedNested_EEE = 1
    98  	Test_Nested_XNestedNested_V2 Test_Nested_XNestedNested_EEE = 2
    99  	Test_Nested_XNestedNested_V3 Test_Nested_XNestedNested_EEE = 3
   100  	Test_Nested_XNestedNested_V4 Test_Nested_XNestedNested_EEE = 4
   101  	Test_Nested_XNestedNested_V5 Test_Nested_XNestedNested_EEE = 5
   102  	Test_Nested_XNestedNested_V6 Test_Nested_XNestedNested_EEE = 6
   103  )
   104  
   105  // Enum value maps for Test_Nested_XNestedNested_EEE.
   106  var (
   107  	Test_Nested_XNestedNested_EEE_name = map[int32]string{
   108  		0: "OK",
   109  		1: "V1",
   110  		2: "V2",
   111  		3: "V3",
   112  		4: "V4",
   113  		5: "V5",
   114  		6: "V6",
   115  	}
   116  	Test_Nested_XNestedNested_EEE_value = map[string]int32{
   117  		"OK": 0,
   118  		"V1": 1,
   119  		"V2": 2,
   120  		"V3": 3,
   121  		"V4": 4,
   122  		"V5": 5,
   123  		"V6": 6,
   124  	}
   125  )
   126  
   127  func (x Test_Nested_XNestedNested_EEE) Enum() *Test_Nested_XNestedNested_EEE {
   128  	p := new(Test_Nested_XNestedNested_EEE)
   129  	*p = x
   130  	return p
   131  }
   132  
   133  func (x Test_Nested_XNestedNested_EEE) String() string {
   134  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   135  }
   136  
   137  func (Test_Nested_XNestedNested_EEE) Descriptor() protoreflect.EnumDescriptor {
   138  	return file_desc_test_complex_proto_enumTypes[1].Descriptor()
   139  }
   140  
   141  func (Test_Nested_XNestedNested_EEE) Type() protoreflect.EnumType {
   142  	return &file_desc_test_complex_proto_enumTypes[1]
   143  }
   144  
   145  func (x Test_Nested_XNestedNested_EEE) Number() protoreflect.EnumNumber {
   146  	return protoreflect.EnumNumber(x)
   147  }
   148  
   149  // Deprecated: Do not use.
   150  func (x *Test_Nested_XNestedNested_EEE) UnmarshalJSON(b []byte) error {
   151  	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
   152  	if err != nil {
   153  		return err
   154  	}
   155  	*x = Test_Nested_XNestedNested_EEE(num)
   156  	return nil
   157  }
   158  
   159  // Deprecated: Use Test_Nested_XNestedNested_EEE.Descriptor instead.
   160  func (Test_Nested_XNestedNested_EEE) EnumDescriptor() ([]byte, []int) {
   161  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1, 1, 0, 0}
   162  }
   163  
   164  type Validator_Action int32
   165  
   166  const (
   167  	Validator_LOGIN Validator_Action = 0
   168  	Validator_READ  Validator_Action = 1
   169  	Validator_WRITE Validator_Action = 2
   170  )
   171  
   172  // Enum value maps for Validator_Action.
   173  var (
   174  	Validator_Action_name = map[int32]string{
   175  		0: "LOGIN",
   176  		1: "READ",
   177  		2: "WRITE",
   178  	}
   179  	Validator_Action_value = map[string]int32{
   180  		"LOGIN": 0,
   181  		"READ":  1,
   182  		"WRITE": 2,
   183  	}
   184  )
   185  
   186  func (x Validator_Action) Enum() *Validator_Action {
   187  	p := new(Validator_Action)
   188  	*p = x
   189  	return p
   190  }
   191  
   192  func (x Validator_Action) String() string {
   193  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   194  }
   195  
   196  func (Validator_Action) Descriptor() protoreflect.EnumDescriptor {
   197  	return file_desc_test_complex_proto_enumTypes[2].Descriptor()
   198  }
   199  
   200  func (Validator_Action) Type() protoreflect.EnumType {
   201  	return &file_desc_test_complex_proto_enumTypes[2]
   202  }
   203  
   204  func (x Validator_Action) Number() protoreflect.EnumNumber {
   205  	return protoreflect.EnumNumber(x)
   206  }
   207  
   208  // Deprecated: Do not use.
   209  func (x *Validator_Action) UnmarshalJSON(b []byte) error {
   210  	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
   211  	if err != nil {
   212  		return err
   213  	}
   214  	*x = Validator_Action(num)
   215  	return nil
   216  }
   217  
   218  // Deprecated: Use Validator_Action.Descriptor instead.
   219  func (Validator_Action) EnumDescriptor() ([]byte, []int) {
   220  	return file_desc_test_complex_proto_rawDescGZIP(), []int{5, 0}
   221  }
   222  
   223  type Simple struct {
   224  	state         protoimpl.MessageState
   225  	sizeCache     protoimpl.SizeCache
   226  	unknownFields protoimpl.UnknownFields
   227  
   228  	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   229  	Id   *uint64 `protobuf:"varint,2,opt,name=id" json:"id,omitempty"`
   230  }
   231  
   232  func (x *Simple) Reset() {
   233  	*x = Simple{}
   234  	if protoimpl.UnsafeEnabled {
   235  		mi := &file_desc_test_complex_proto_msgTypes[0]
   236  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   237  		ms.StoreMessageInfo(mi)
   238  	}
   239  }
   240  
   241  func (x *Simple) String() string {
   242  	return protoimpl.X.MessageStringOf(x)
   243  }
   244  
   245  func (*Simple) ProtoMessage() {}
   246  
   247  func (x *Simple) ProtoReflect() protoreflect.Message {
   248  	mi := &file_desc_test_complex_proto_msgTypes[0]
   249  	if protoimpl.UnsafeEnabled && x != nil {
   250  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   251  		if ms.LoadMessageInfo() == nil {
   252  			ms.StoreMessageInfo(mi)
   253  		}
   254  		return ms
   255  	}
   256  	return mi.MessageOf(x)
   257  }
   258  
   259  // Deprecated: Use Simple.ProtoReflect.Descriptor instead.
   260  func (*Simple) Descriptor() ([]byte, []int) {
   261  	return file_desc_test_complex_proto_rawDescGZIP(), []int{0}
   262  }
   263  
   264  func (x *Simple) GetName() string {
   265  	if x != nil && x.Name != nil {
   266  		return *x.Name
   267  	}
   268  	return ""
   269  }
   270  
   271  func (x *Simple) GetId() uint64 {
   272  	if x != nil && x.Id != nil {
   273  		return *x.Id
   274  	}
   275  	return 0
   276  }
   277  
   278  type Test struct {
   279  	state           protoimpl.MessageState
   280  	sizeCache       protoimpl.SizeCache
   281  	unknownFields   protoimpl.UnknownFields
   282  	extensionFields protoimpl.ExtensionFields
   283  
   284  	Foo   *string          `protobuf:"bytes,1,opt,name=foo,json=|foo|" json:"foo,omitempty"`
   285  	Array []int32          `protobuf:"varint,2,rep,name=array" json:"array,omitempty"`
   286  	S     *Simple          `protobuf:"bytes,3,opt,name=s" json:"s,omitempty"`
   287  	R     []*Simple        `protobuf:"bytes,4,rep,name=r" json:"r,omitempty"`
   288  	M     map[string]int32 `protobuf:"bytes,5,rep,name=m" json:"m,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
   289  	B     []byte           `protobuf:"bytes,6,opt,name=b,def=\\000\\001\\002\\003\\004\\005\\006\\007fubar!" json:"b,omitempty"`
   290  }
   291  
   292  // Default values for Test fields.
   293  var (
   294  	Default_Test_B = []byte("\x00\x01\x02\x03\x04\x05\x06\afubar!")
   295  )
   296  
   297  func (x *Test) Reset() {
   298  	*x = Test{}
   299  	if protoimpl.UnsafeEnabled {
   300  		mi := &file_desc_test_complex_proto_msgTypes[1]
   301  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   302  		ms.StoreMessageInfo(mi)
   303  	}
   304  }
   305  
   306  func (x *Test) String() string {
   307  	return protoimpl.X.MessageStringOf(x)
   308  }
   309  
   310  func (*Test) ProtoMessage() {}
   311  
   312  func (x *Test) ProtoReflect() protoreflect.Message {
   313  	mi := &file_desc_test_complex_proto_msgTypes[1]
   314  	if protoimpl.UnsafeEnabled && x != nil {
   315  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   316  		if ms.LoadMessageInfo() == nil {
   317  			ms.StoreMessageInfo(mi)
   318  		}
   319  		return ms
   320  	}
   321  	return mi.MessageOf(x)
   322  }
   323  
   324  // Deprecated: Use Test.ProtoReflect.Descriptor instead.
   325  func (*Test) Descriptor() ([]byte, []int) {
   326  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1}
   327  }
   328  
   329  var extRange_Test = []protoiface.ExtensionRangeV1{
   330  	{Start: 100, End: 200},
   331  	{Start: 249, End: 249},
   332  	{Start: 300, End: 350},
   333  	{Start: 500, End: 550},
   334  	{Start: 20000, End: 536870911},
   335  }
   336  
   337  // Deprecated: Use Test.ProtoReflect.Descriptor.ExtensionRanges instead.
   338  func (*Test) ExtensionRangeArray() []protoiface.ExtensionRangeV1 {
   339  	return extRange_Test
   340  }
   341  
   342  func (x *Test) GetFoo() string {
   343  	if x != nil && x.Foo != nil {
   344  		return *x.Foo
   345  	}
   346  	return ""
   347  }
   348  
   349  func (x *Test) GetArray() []int32 {
   350  	if x != nil {
   351  		return x.Array
   352  	}
   353  	return nil
   354  }
   355  
   356  func (x *Test) GetS() *Simple {
   357  	if x != nil {
   358  		return x.S
   359  	}
   360  	return nil
   361  }
   362  
   363  func (x *Test) GetR() []*Simple {
   364  	if x != nil {
   365  		return x.R
   366  	}
   367  	return nil
   368  }
   369  
   370  func (x *Test) GetM() map[string]int32 {
   371  	if x != nil {
   372  		return x.M
   373  	}
   374  	return nil
   375  }
   376  
   377  func (x *Test) GetB() []byte {
   378  	if x != nil && x.B != nil {
   379  		return x.B
   380  	}
   381  	return append([]byte(nil), Default_Test_B...)
   382  }
   383  
   384  type MessageWithReservations struct {
   385  	state         protoimpl.MessageState
   386  	sizeCache     protoimpl.SizeCache
   387  	unknownFields protoimpl.UnknownFields
   388  }
   389  
   390  func (x *MessageWithReservations) Reset() {
   391  	*x = MessageWithReservations{}
   392  	if protoimpl.UnsafeEnabled {
   393  		mi := &file_desc_test_complex_proto_msgTypes[2]
   394  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   395  		ms.StoreMessageInfo(mi)
   396  	}
   397  }
   398  
   399  func (x *MessageWithReservations) String() string {
   400  	return protoimpl.X.MessageStringOf(x)
   401  }
   402  
   403  func (*MessageWithReservations) ProtoMessage() {}
   404  
   405  func (x *MessageWithReservations) ProtoReflect() protoreflect.Message {
   406  	mi := &file_desc_test_complex_proto_msgTypes[2]
   407  	if protoimpl.UnsafeEnabled && x != nil {
   408  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   409  		if ms.LoadMessageInfo() == nil {
   410  			ms.StoreMessageInfo(mi)
   411  		}
   412  		return ms
   413  	}
   414  	return mi.MessageOf(x)
   415  }
   416  
   417  // Deprecated: Use MessageWithReservations.ProtoReflect.Descriptor instead.
   418  func (*MessageWithReservations) Descriptor() ([]byte, []int) {
   419  	return file_desc_test_complex_proto_rawDescGZIP(), []int{2}
   420  }
   421  
   422  type MessageWithMap struct {
   423  	state         protoimpl.MessageState
   424  	sizeCache     protoimpl.SizeCache
   425  	unknownFields protoimpl.UnknownFields
   426  
   427  	Vals map[string]*Simple `protobuf:"bytes,1,rep,name=vals" json:"vals,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
   428  }
   429  
   430  func (x *MessageWithMap) Reset() {
   431  	*x = MessageWithMap{}
   432  	if protoimpl.UnsafeEnabled {
   433  		mi := &file_desc_test_complex_proto_msgTypes[3]
   434  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   435  		ms.StoreMessageInfo(mi)
   436  	}
   437  }
   438  
   439  func (x *MessageWithMap) String() string {
   440  	return protoimpl.X.MessageStringOf(x)
   441  }
   442  
   443  func (*MessageWithMap) ProtoMessage() {}
   444  
   445  func (x *MessageWithMap) ProtoReflect() protoreflect.Message {
   446  	mi := &file_desc_test_complex_proto_msgTypes[3]
   447  	if protoimpl.UnsafeEnabled && x != nil {
   448  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   449  		if ms.LoadMessageInfo() == nil {
   450  			ms.StoreMessageInfo(mi)
   451  		}
   452  		return ms
   453  	}
   454  	return mi.MessageOf(x)
   455  }
   456  
   457  // Deprecated: Use MessageWithMap.ProtoReflect.Descriptor instead.
   458  func (*MessageWithMap) Descriptor() ([]byte, []int) {
   459  	return file_desc_test_complex_proto_rawDescGZIP(), []int{3}
   460  }
   461  
   462  func (x *MessageWithMap) GetVals() map[string]*Simple {
   463  	if x != nil {
   464  		return x.Vals
   465  	}
   466  	return nil
   467  }
   468  
   469  type Another struct {
   470  	state         protoimpl.MessageState
   471  	sizeCache     protoimpl.SizeCache
   472  	unknownFields protoimpl.UnknownFields
   473  
   474  	Test *Test                          `protobuf:"bytes,1,opt,name=test" json:"test,omitempty"`
   475  	Fff  *Test_Nested_XNestedNested_EEE `protobuf:"varint,2,opt,name=fff,enum=foo.bar.Test_Nested_XNestedNested_EEE,def=1" json:"fff,omitempty"`
   476  }
   477  
   478  // Default values for Another fields.
   479  const (
   480  	Default_Another_Fff = Test_Nested_XNestedNested_V1
   481  )
   482  
   483  func (x *Another) Reset() {
   484  	*x = Another{}
   485  	if protoimpl.UnsafeEnabled {
   486  		mi := &file_desc_test_complex_proto_msgTypes[4]
   487  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   488  		ms.StoreMessageInfo(mi)
   489  	}
   490  }
   491  
   492  func (x *Another) String() string {
   493  	return protoimpl.X.MessageStringOf(x)
   494  }
   495  
   496  func (*Another) ProtoMessage() {}
   497  
   498  func (x *Another) ProtoReflect() protoreflect.Message {
   499  	mi := &file_desc_test_complex_proto_msgTypes[4]
   500  	if protoimpl.UnsafeEnabled && x != nil {
   501  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   502  		if ms.LoadMessageInfo() == nil {
   503  			ms.StoreMessageInfo(mi)
   504  		}
   505  		return ms
   506  	}
   507  	return mi.MessageOf(x)
   508  }
   509  
   510  // Deprecated: Use Another.ProtoReflect.Descriptor instead.
   511  func (*Another) Descriptor() ([]byte, []int) {
   512  	return file_desc_test_complex_proto_rawDescGZIP(), []int{4}
   513  }
   514  
   515  func (x *Another) GetTest() *Test {
   516  	if x != nil {
   517  		return x.Test
   518  	}
   519  	return nil
   520  }
   521  
   522  func (x *Another) GetFff() Test_Nested_XNestedNested_EEE {
   523  	if x != nil && x.Fff != nil {
   524  		return *x.Fff
   525  	}
   526  	return Default_Another_Fff
   527  }
   528  
   529  type Validator struct {
   530  	state         protoimpl.MessageState
   531  	sizeCache     protoimpl.SizeCache
   532  	unknownFields protoimpl.UnknownFields
   533  
   534  	Authenticated *bool                   `protobuf:"varint,1,opt,name=authenticated" json:"authenticated,omitempty"`
   535  	Permission    []*Validator_Permission `protobuf:"bytes,2,rep,name=permission" json:"permission,omitempty"`
   536  }
   537  
   538  func (x *Validator) Reset() {
   539  	*x = Validator{}
   540  	if protoimpl.UnsafeEnabled {
   541  		mi := &file_desc_test_complex_proto_msgTypes[5]
   542  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   543  		ms.StoreMessageInfo(mi)
   544  	}
   545  }
   546  
   547  func (x *Validator) String() string {
   548  	return protoimpl.X.MessageStringOf(x)
   549  }
   550  
   551  func (*Validator) ProtoMessage() {}
   552  
   553  func (x *Validator) ProtoReflect() protoreflect.Message {
   554  	mi := &file_desc_test_complex_proto_msgTypes[5]
   555  	if protoimpl.UnsafeEnabled && x != nil {
   556  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   557  		if ms.LoadMessageInfo() == nil {
   558  			ms.StoreMessageInfo(mi)
   559  		}
   560  		return ms
   561  	}
   562  	return mi.MessageOf(x)
   563  }
   564  
   565  // Deprecated: Use Validator.ProtoReflect.Descriptor instead.
   566  func (*Validator) Descriptor() ([]byte, []int) {
   567  	return file_desc_test_complex_proto_rawDescGZIP(), []int{5}
   568  }
   569  
   570  func (x *Validator) GetAuthenticated() bool {
   571  	if x != nil && x.Authenticated != nil {
   572  		return *x.Authenticated
   573  	}
   574  	return false
   575  }
   576  
   577  func (x *Validator) GetPermission() []*Validator_Permission {
   578  	if x != nil {
   579  		return x.Permission
   580  	}
   581  	return nil
   582  }
   583  
   584  type Rule struct {
   585  	state         protoimpl.MessageState
   586  	sizeCache     protoimpl.SizeCache
   587  	unknownFields protoimpl.UnknownFields
   588  
   589  	// Types that are assignable to Rule:
   590  	//	*Rule_String_
   591  	//	*Rule_Repeated
   592  	//	*Rule_Int
   593  	//	*Rule_Floatrule
   594  	Rule isRule_Rule `protobuf_oneof:"rule"`
   595  }
   596  
   597  func (x *Rule) Reset() {
   598  	*x = Rule{}
   599  	if protoimpl.UnsafeEnabled {
   600  		mi := &file_desc_test_complex_proto_msgTypes[6]
   601  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   602  		ms.StoreMessageInfo(mi)
   603  	}
   604  }
   605  
   606  func (x *Rule) String() string {
   607  	return protoimpl.X.MessageStringOf(x)
   608  }
   609  
   610  func (*Rule) ProtoMessage() {}
   611  
   612  func (x *Rule) ProtoReflect() protoreflect.Message {
   613  	mi := &file_desc_test_complex_proto_msgTypes[6]
   614  	if protoimpl.UnsafeEnabled && x != nil {
   615  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   616  		if ms.LoadMessageInfo() == nil {
   617  			ms.StoreMessageInfo(mi)
   618  		}
   619  		return ms
   620  	}
   621  	return mi.MessageOf(x)
   622  }
   623  
   624  // Deprecated: Use Rule.ProtoReflect.Descriptor instead.
   625  func (*Rule) Descriptor() ([]byte, []int) {
   626  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6}
   627  }
   628  
   629  func (m *Rule) GetRule() isRule_Rule {
   630  	if m != nil {
   631  		return m.Rule
   632  	}
   633  	return nil
   634  }
   635  
   636  func (x *Rule) GetString_() *Rule_StringRule {
   637  	if x, ok := x.GetRule().(*Rule_String_); ok {
   638  		return x.String_
   639  	}
   640  	return nil
   641  }
   642  
   643  func (x *Rule) GetRepeated() *Rule_RepeatedRule {
   644  	if x, ok := x.GetRule().(*Rule_Repeated); ok {
   645  		return x.Repeated
   646  	}
   647  	return nil
   648  }
   649  
   650  func (x *Rule) GetInt() *Rule_IntRule {
   651  	if x, ok := x.GetRule().(*Rule_Int); ok {
   652  		return x.Int
   653  	}
   654  	return nil
   655  }
   656  
   657  func (x *Rule) GetFloatrule() *Rule_FloatRule {
   658  	if x, ok := x.GetRule().(*Rule_Floatrule); ok {
   659  		return x.Floatrule
   660  	}
   661  	return nil
   662  }
   663  
   664  type isRule_Rule interface {
   665  	isRule_Rule()
   666  }
   667  
   668  type Rule_String_ struct {
   669  	String_ *Rule_StringRule `protobuf:"bytes,1,opt,name=string,oneof"`
   670  }
   671  
   672  type Rule_Repeated struct {
   673  	Repeated *Rule_RepeatedRule `protobuf:"bytes,2,opt,name=repeated,oneof"`
   674  }
   675  
   676  type Rule_Int struct {
   677  	Int *Rule_IntRule `protobuf:"bytes,3,opt,name=int,oneof"`
   678  }
   679  
   680  type Rule_Floatrule struct {
   681  	Floatrule *Rule_FloatRule `protobuf:"group,4,opt,name=FloatRule,json=floatrule,oneof"`
   682  }
   683  
   684  func (*Rule_String_) isRule_Rule() {}
   685  
   686  func (*Rule_Repeated) isRule_Rule() {}
   687  
   688  func (*Rule_Int) isRule_Rule() {}
   689  
   690  func (*Rule_Floatrule) isRule_Rule() {}
   691  
   692  type IsAuthorizedReq struct {
   693  	state         protoimpl.MessageState
   694  	sizeCache     protoimpl.SizeCache
   695  	unknownFields protoimpl.UnknownFields
   696  
   697  	Subjects []string `protobuf:"bytes,1,rep,name=subjects" json:"subjects,omitempty"`
   698  }
   699  
   700  func (x *IsAuthorizedReq) Reset() {
   701  	*x = IsAuthorizedReq{}
   702  	if protoimpl.UnsafeEnabled {
   703  		mi := &file_desc_test_complex_proto_msgTypes[7]
   704  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   705  		ms.StoreMessageInfo(mi)
   706  	}
   707  }
   708  
   709  func (x *IsAuthorizedReq) String() string {
   710  	return protoimpl.X.MessageStringOf(x)
   711  }
   712  
   713  func (*IsAuthorizedReq) ProtoMessage() {}
   714  
   715  func (x *IsAuthorizedReq) ProtoReflect() protoreflect.Message {
   716  	mi := &file_desc_test_complex_proto_msgTypes[7]
   717  	if protoimpl.UnsafeEnabled && x != nil {
   718  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   719  		if ms.LoadMessageInfo() == nil {
   720  			ms.StoreMessageInfo(mi)
   721  		}
   722  		return ms
   723  	}
   724  	return mi.MessageOf(x)
   725  }
   726  
   727  // Deprecated: Use IsAuthorizedReq.ProtoReflect.Descriptor instead.
   728  func (*IsAuthorizedReq) Descriptor() ([]byte, []int) {
   729  	return file_desc_test_complex_proto_rawDescGZIP(), []int{7}
   730  }
   731  
   732  func (x *IsAuthorizedReq) GetSubjects() []string {
   733  	if x != nil {
   734  		return x.Subjects
   735  	}
   736  	return nil
   737  }
   738  
   739  type KeywordCollisions struct {
   740  	state         protoimpl.MessageState
   741  	sizeCache     protoimpl.SizeCache
   742  	unknownFields protoimpl.UnknownFields
   743  
   744  	Syntax     *bool    `protobuf:"varint,1,opt,name=syntax" json:"syntax,omitempty"`
   745  	Import     *bool    `protobuf:"varint,2,opt,name=import" json:"import,omitempty"`
   746  	Public     *bool    `protobuf:"varint,3,opt,name=public" json:"public,omitempty"`
   747  	Weak       *bool    `protobuf:"varint,4,opt,name=weak" json:"weak,omitempty"`
   748  	Package    *bool    `protobuf:"varint,5,opt,name=package" json:"package,omitempty"`
   749  	String_    *string  `protobuf:"bytes,6,opt,name=string" json:"string,omitempty"`
   750  	Bytes      []byte   `protobuf:"bytes,7,opt,name=bytes" json:"bytes,omitempty"`
   751  	Int32      *int32   `protobuf:"varint,8,opt,name=int32" json:"int32,omitempty"`
   752  	Int64      *int64   `protobuf:"varint,9,opt,name=int64" json:"int64,omitempty"`
   753  	Uint32     *uint32  `protobuf:"varint,10,opt,name=uint32" json:"uint32,omitempty"`
   754  	Uint64     *uint64  `protobuf:"varint,11,opt,name=uint64" json:"uint64,omitempty"`
   755  	Sint32     *int32   `protobuf:"zigzag32,12,opt,name=sint32" json:"sint32,omitempty"`
   756  	Sint64     *int64   `protobuf:"zigzag64,13,opt,name=sint64" json:"sint64,omitempty"`
   757  	Fixed32    *uint32  `protobuf:"fixed32,14,opt,name=fixed32" json:"fixed32,omitempty"`
   758  	Fixed64    *uint64  `protobuf:"fixed64,15,opt,name=fixed64" json:"fixed64,omitempty"`
   759  	Sfixed32   *int32   `protobuf:"fixed32,16,opt,name=sfixed32" json:"sfixed32,omitempty"`
   760  	Sfixed64   *int64   `protobuf:"fixed64,17,opt,name=sfixed64" json:"sfixed64,omitempty"`
   761  	Bool       *bool    `protobuf:"varint,18,opt,name=bool" json:"bool,omitempty"`
   762  	Float      *float32 `protobuf:"fixed32,19,opt,name=float" json:"float,omitempty"`
   763  	Double     *float64 `protobuf:"fixed64,20,opt,name=double" json:"double,omitempty"`
   764  	Optional   *bool    `protobuf:"varint,21,opt,name=optional" json:"optional,omitempty"`
   765  	Repeated   *bool    `protobuf:"varint,22,opt,name=repeated" json:"repeated,omitempty"`
   766  	Required   *bool    `protobuf:"varint,23,opt,name=required" json:"required,omitempty"`
   767  	Message    *bool    `protobuf:"varint,24,opt,name=message" json:"message,omitempty"`
   768  	Enum       *bool    `protobuf:"varint,25,opt,name=enum" json:"enum,omitempty"`
   769  	Service    *bool    `protobuf:"varint,26,opt,name=service" json:"service,omitempty"`
   770  	Rpc        *bool    `protobuf:"varint,27,opt,name=rpc" json:"rpc,omitempty"`
   771  	Option     *bool    `protobuf:"varint,28,opt,name=option" json:"option,omitempty"`
   772  	Extend     *bool    `protobuf:"varint,29,opt,name=extend" json:"extend,omitempty"`
   773  	Extensions *bool    `protobuf:"varint,30,opt,name=extensions" json:"extensions,omitempty"`
   774  	Reserved   *bool    `protobuf:"varint,31,opt,name=reserved" json:"reserved,omitempty"`
   775  	To         *bool    `protobuf:"varint,32,opt,name=to" json:"to,omitempty"`
   776  	True       *int32   `protobuf:"varint,33,opt,name=true" json:"true,omitempty"`
   777  	False      *int32   `protobuf:"varint,34,opt,name=false" json:"false,omitempty"`
   778  	Default    *int32   `protobuf:"varint,35,opt,name=default" json:"default,omitempty"`
   779  }
   780  
   781  func (x *KeywordCollisions) Reset() {
   782  	*x = KeywordCollisions{}
   783  	if protoimpl.UnsafeEnabled {
   784  		mi := &file_desc_test_complex_proto_msgTypes[8]
   785  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   786  		ms.StoreMessageInfo(mi)
   787  	}
   788  }
   789  
   790  func (x *KeywordCollisions) String() string {
   791  	return protoimpl.X.MessageStringOf(x)
   792  }
   793  
   794  func (*KeywordCollisions) ProtoMessage() {}
   795  
   796  func (x *KeywordCollisions) ProtoReflect() protoreflect.Message {
   797  	mi := &file_desc_test_complex_proto_msgTypes[8]
   798  	if protoimpl.UnsafeEnabled && x != nil {
   799  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   800  		if ms.LoadMessageInfo() == nil {
   801  			ms.StoreMessageInfo(mi)
   802  		}
   803  		return ms
   804  	}
   805  	return mi.MessageOf(x)
   806  }
   807  
   808  // Deprecated: Use KeywordCollisions.ProtoReflect.Descriptor instead.
   809  func (*KeywordCollisions) Descriptor() ([]byte, []int) {
   810  	return file_desc_test_complex_proto_rawDescGZIP(), []int{8}
   811  }
   812  
   813  func (x *KeywordCollisions) GetSyntax() bool {
   814  	if x != nil && x.Syntax != nil {
   815  		return *x.Syntax
   816  	}
   817  	return false
   818  }
   819  
   820  func (x *KeywordCollisions) GetImport() bool {
   821  	if x != nil && x.Import != nil {
   822  		return *x.Import
   823  	}
   824  	return false
   825  }
   826  
   827  func (x *KeywordCollisions) GetPublic() bool {
   828  	if x != nil && x.Public != nil {
   829  		return *x.Public
   830  	}
   831  	return false
   832  }
   833  
   834  func (x *KeywordCollisions) GetWeak() bool {
   835  	if x != nil && x.Weak != nil {
   836  		return *x.Weak
   837  	}
   838  	return false
   839  }
   840  
   841  func (x *KeywordCollisions) GetPackage() bool {
   842  	if x != nil && x.Package != nil {
   843  		return *x.Package
   844  	}
   845  	return false
   846  }
   847  
   848  func (x *KeywordCollisions) GetString_() string {
   849  	if x != nil && x.String_ != nil {
   850  		return *x.String_
   851  	}
   852  	return ""
   853  }
   854  
   855  func (x *KeywordCollisions) GetBytes() []byte {
   856  	if x != nil {
   857  		return x.Bytes
   858  	}
   859  	return nil
   860  }
   861  
   862  func (x *KeywordCollisions) GetInt32() int32 {
   863  	if x != nil && x.Int32 != nil {
   864  		return *x.Int32
   865  	}
   866  	return 0
   867  }
   868  
   869  func (x *KeywordCollisions) GetInt64() int64 {
   870  	if x != nil && x.Int64 != nil {
   871  		return *x.Int64
   872  	}
   873  	return 0
   874  }
   875  
   876  func (x *KeywordCollisions) GetUint32() uint32 {
   877  	if x != nil && x.Uint32 != nil {
   878  		return *x.Uint32
   879  	}
   880  	return 0
   881  }
   882  
   883  func (x *KeywordCollisions) GetUint64() uint64 {
   884  	if x != nil && x.Uint64 != nil {
   885  		return *x.Uint64
   886  	}
   887  	return 0
   888  }
   889  
   890  func (x *KeywordCollisions) GetSint32() int32 {
   891  	if x != nil && x.Sint32 != nil {
   892  		return *x.Sint32
   893  	}
   894  	return 0
   895  }
   896  
   897  func (x *KeywordCollisions) GetSint64() int64 {
   898  	if x != nil && x.Sint64 != nil {
   899  		return *x.Sint64
   900  	}
   901  	return 0
   902  }
   903  
   904  func (x *KeywordCollisions) GetFixed32() uint32 {
   905  	if x != nil && x.Fixed32 != nil {
   906  		return *x.Fixed32
   907  	}
   908  	return 0
   909  }
   910  
   911  func (x *KeywordCollisions) GetFixed64() uint64 {
   912  	if x != nil && x.Fixed64 != nil {
   913  		return *x.Fixed64
   914  	}
   915  	return 0
   916  }
   917  
   918  func (x *KeywordCollisions) GetSfixed32() int32 {
   919  	if x != nil && x.Sfixed32 != nil {
   920  		return *x.Sfixed32
   921  	}
   922  	return 0
   923  }
   924  
   925  func (x *KeywordCollisions) GetSfixed64() int64 {
   926  	if x != nil && x.Sfixed64 != nil {
   927  		return *x.Sfixed64
   928  	}
   929  	return 0
   930  }
   931  
   932  func (x *KeywordCollisions) GetBool() bool {
   933  	if x != nil && x.Bool != nil {
   934  		return *x.Bool
   935  	}
   936  	return false
   937  }
   938  
   939  func (x *KeywordCollisions) GetFloat() float32 {
   940  	if x != nil && x.Float != nil {
   941  		return *x.Float
   942  	}
   943  	return 0
   944  }
   945  
   946  func (x *KeywordCollisions) GetDouble() float64 {
   947  	if x != nil && x.Double != nil {
   948  		return *x.Double
   949  	}
   950  	return 0
   951  }
   952  
   953  func (x *KeywordCollisions) GetOptional() bool {
   954  	if x != nil && x.Optional != nil {
   955  		return *x.Optional
   956  	}
   957  	return false
   958  }
   959  
   960  func (x *KeywordCollisions) GetRepeated() bool {
   961  	if x != nil && x.Repeated != nil {
   962  		return *x.Repeated
   963  	}
   964  	return false
   965  }
   966  
   967  func (x *KeywordCollisions) GetRequired() bool {
   968  	if x != nil && x.Required != nil {
   969  		return *x.Required
   970  	}
   971  	return false
   972  }
   973  
   974  func (x *KeywordCollisions) GetMessage() bool {
   975  	if x != nil && x.Message != nil {
   976  		return *x.Message
   977  	}
   978  	return false
   979  }
   980  
   981  func (x *KeywordCollisions) GetEnum() bool {
   982  	if x != nil && x.Enum != nil {
   983  		return *x.Enum
   984  	}
   985  	return false
   986  }
   987  
   988  func (x *KeywordCollisions) GetService() bool {
   989  	if x != nil && x.Service != nil {
   990  		return *x.Service
   991  	}
   992  	return false
   993  }
   994  
   995  func (x *KeywordCollisions) GetRpc() bool {
   996  	if x != nil && x.Rpc != nil {
   997  		return *x.Rpc
   998  	}
   999  	return false
  1000  }
  1001  
  1002  func (x *KeywordCollisions) GetOption() bool {
  1003  	if x != nil && x.Option != nil {
  1004  		return *x.Option
  1005  	}
  1006  	return false
  1007  }
  1008  
  1009  func (x *KeywordCollisions) GetExtend() bool {
  1010  	if x != nil && x.Extend != nil {
  1011  		return *x.Extend
  1012  	}
  1013  	return false
  1014  }
  1015  
  1016  func (x *KeywordCollisions) GetExtensions() bool {
  1017  	if x != nil && x.Extensions != nil {
  1018  		return *x.Extensions
  1019  	}
  1020  	return false
  1021  }
  1022  
  1023  func (x *KeywordCollisions) GetReserved() bool {
  1024  	if x != nil && x.Reserved != nil {
  1025  		return *x.Reserved
  1026  	}
  1027  	return false
  1028  }
  1029  
  1030  func (x *KeywordCollisions) GetTo() bool {
  1031  	if x != nil && x.To != nil {
  1032  		return *x.To
  1033  	}
  1034  	return false
  1035  }
  1036  
  1037  func (x *KeywordCollisions) GetTrue() int32 {
  1038  	if x != nil && x.True != nil {
  1039  		return *x.True
  1040  	}
  1041  	return 0
  1042  }
  1043  
  1044  func (x *KeywordCollisions) GetFalse() int32 {
  1045  	if x != nil && x.False != nil {
  1046  		return *x.False
  1047  	}
  1048  	return 0
  1049  }
  1050  
  1051  func (x *KeywordCollisions) GetDefault() int32 {
  1052  	if x != nil && x.Default != nil {
  1053  		return *x.Default
  1054  	}
  1055  	return 0
  1056  }
  1057  
  1058  type KeywordCollisionOptions struct {
  1059  	state         protoimpl.MessageState
  1060  	sizeCache     protoimpl.SizeCache
  1061  	unknownFields protoimpl.UnknownFields
  1062  
  1063  	Id   *uint64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
  1064  	Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  1065  }
  1066  
  1067  func (x *KeywordCollisionOptions) Reset() {
  1068  	*x = KeywordCollisionOptions{}
  1069  	if protoimpl.UnsafeEnabled {
  1070  		mi := &file_desc_test_complex_proto_msgTypes[9]
  1071  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1072  		ms.StoreMessageInfo(mi)
  1073  	}
  1074  }
  1075  
  1076  func (x *KeywordCollisionOptions) String() string {
  1077  	return protoimpl.X.MessageStringOf(x)
  1078  }
  1079  
  1080  func (*KeywordCollisionOptions) ProtoMessage() {}
  1081  
  1082  func (x *KeywordCollisionOptions) ProtoReflect() protoreflect.Message {
  1083  	mi := &file_desc_test_complex_proto_msgTypes[9]
  1084  	if protoimpl.UnsafeEnabled && x != nil {
  1085  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1086  		if ms.LoadMessageInfo() == nil {
  1087  			ms.StoreMessageInfo(mi)
  1088  		}
  1089  		return ms
  1090  	}
  1091  	return mi.MessageOf(x)
  1092  }
  1093  
  1094  // Deprecated: Use KeywordCollisionOptions.ProtoReflect.Descriptor instead.
  1095  func (*KeywordCollisionOptions) Descriptor() ([]byte, []int) {
  1096  	return file_desc_test_complex_proto_rawDescGZIP(), []int{9}
  1097  }
  1098  
  1099  func (x *KeywordCollisionOptions) GetId() uint64 {
  1100  	if x != nil && x.Id != nil {
  1101  		return *x.Id
  1102  	}
  1103  	return 0
  1104  }
  1105  
  1106  func (x *KeywordCollisionOptions) GetName() string {
  1107  	if x != nil && x.Name != nil {
  1108  		return *x.Name
  1109  	}
  1110  	return ""
  1111  }
  1112  
  1113  type Test_Nested struct {
  1114  	state         protoimpl.MessageState
  1115  	sizeCache     protoimpl.SizeCache
  1116  	unknownFields protoimpl.UnknownFields
  1117  }
  1118  
  1119  func (x *Test_Nested) Reset() {
  1120  	*x = Test_Nested{}
  1121  	if protoimpl.UnsafeEnabled {
  1122  		mi := &file_desc_test_complex_proto_msgTypes[11]
  1123  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1124  		ms.StoreMessageInfo(mi)
  1125  	}
  1126  }
  1127  
  1128  func (x *Test_Nested) String() string {
  1129  	return protoimpl.X.MessageStringOf(x)
  1130  }
  1131  
  1132  func (*Test_Nested) ProtoMessage() {}
  1133  
  1134  func (x *Test_Nested) ProtoReflect() protoreflect.Message {
  1135  	mi := &file_desc_test_complex_proto_msgTypes[11]
  1136  	if protoimpl.UnsafeEnabled && x != nil {
  1137  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1138  		if ms.LoadMessageInfo() == nil {
  1139  			ms.StoreMessageInfo(mi)
  1140  		}
  1141  		return ms
  1142  	}
  1143  	return mi.MessageOf(x)
  1144  }
  1145  
  1146  // Deprecated: Use Test_Nested.ProtoReflect.Descriptor instead.
  1147  func (*Test_Nested) Descriptor() ([]byte, []int) {
  1148  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1, 1}
  1149  }
  1150  
  1151  type Test_Nested_XNestedNested struct {
  1152  	state         protoimpl.MessageState
  1153  	sizeCache     protoimpl.SizeCache
  1154  	unknownFields protoimpl.UnknownFields
  1155  }
  1156  
  1157  func (x *Test_Nested_XNestedNested) Reset() {
  1158  	*x = Test_Nested_XNestedNested{}
  1159  	if protoimpl.UnsafeEnabled {
  1160  		mi := &file_desc_test_complex_proto_msgTypes[12]
  1161  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1162  		ms.StoreMessageInfo(mi)
  1163  	}
  1164  }
  1165  
  1166  func (x *Test_Nested_XNestedNested) String() string {
  1167  	return protoimpl.X.MessageStringOf(x)
  1168  }
  1169  
  1170  func (*Test_Nested_XNestedNested) ProtoMessage() {}
  1171  
  1172  func (x *Test_Nested_XNestedNested) ProtoReflect() protoreflect.Message {
  1173  	mi := &file_desc_test_complex_proto_msgTypes[12]
  1174  	if protoimpl.UnsafeEnabled && x != nil {
  1175  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1176  		if ms.LoadMessageInfo() == nil {
  1177  			ms.StoreMessageInfo(mi)
  1178  		}
  1179  		return ms
  1180  	}
  1181  	return mi.MessageOf(x)
  1182  }
  1183  
  1184  // Deprecated: Use Test_Nested_XNestedNested.ProtoReflect.Descriptor instead.
  1185  func (*Test_Nested_XNestedNested) Descriptor() ([]byte, []int) {
  1186  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1, 1, 0}
  1187  }
  1188  
  1189  type Test_Nested_XNestedNested_NestedNestedNested struct {
  1190  	state         protoimpl.MessageState
  1191  	sizeCache     protoimpl.SizeCache
  1192  	unknownFields protoimpl.UnknownFields
  1193  
  1194  	Test *Test `protobuf:"bytes,1,opt,name=Test" json:"Test,omitempty"`
  1195  }
  1196  
  1197  func (x *Test_Nested_XNestedNested_NestedNestedNested) Reset() {
  1198  	*x = Test_Nested_XNestedNested_NestedNestedNested{}
  1199  	if protoimpl.UnsafeEnabled {
  1200  		mi := &file_desc_test_complex_proto_msgTypes[13]
  1201  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1202  		ms.StoreMessageInfo(mi)
  1203  	}
  1204  }
  1205  
  1206  func (x *Test_Nested_XNestedNested_NestedNestedNested) String() string {
  1207  	return protoimpl.X.MessageStringOf(x)
  1208  }
  1209  
  1210  func (*Test_Nested_XNestedNested_NestedNestedNested) ProtoMessage() {}
  1211  
  1212  func (x *Test_Nested_XNestedNested_NestedNestedNested) ProtoReflect() protoreflect.Message {
  1213  	mi := &file_desc_test_complex_proto_msgTypes[13]
  1214  	if protoimpl.UnsafeEnabled && x != nil {
  1215  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1216  		if ms.LoadMessageInfo() == nil {
  1217  			ms.StoreMessageInfo(mi)
  1218  		}
  1219  		return ms
  1220  	}
  1221  	return mi.MessageOf(x)
  1222  }
  1223  
  1224  // Deprecated: Use Test_Nested_XNestedNested_NestedNestedNested.ProtoReflect.Descriptor instead.
  1225  func (*Test_Nested_XNestedNested_NestedNestedNested) Descriptor() ([]byte, []int) {
  1226  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1, 1, 0, 0}
  1227  }
  1228  
  1229  func (x *Test_Nested_XNestedNested_NestedNestedNested) GetTest() *Test {
  1230  	if x != nil {
  1231  		return x.Test
  1232  	}
  1233  	return nil
  1234  }
  1235  
  1236  type Validator_Permission struct {
  1237  	state         protoimpl.MessageState
  1238  	sizeCache     protoimpl.SizeCache
  1239  	unknownFields protoimpl.UnknownFields
  1240  
  1241  	Action *Validator_Action `protobuf:"varint,1,opt,name=action,enum=foo.bar.Validator_Action" json:"action,omitempty"`
  1242  	Entity *string           `protobuf:"bytes,2,opt,name=entity" json:"entity,omitempty"`
  1243  }
  1244  
  1245  func (x *Validator_Permission) Reset() {
  1246  	*x = Validator_Permission{}
  1247  	if protoimpl.UnsafeEnabled {
  1248  		mi := &file_desc_test_complex_proto_msgTypes[15]
  1249  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1250  		ms.StoreMessageInfo(mi)
  1251  	}
  1252  }
  1253  
  1254  func (x *Validator_Permission) String() string {
  1255  	return protoimpl.X.MessageStringOf(x)
  1256  }
  1257  
  1258  func (*Validator_Permission) ProtoMessage() {}
  1259  
  1260  func (x *Validator_Permission) ProtoReflect() protoreflect.Message {
  1261  	mi := &file_desc_test_complex_proto_msgTypes[15]
  1262  	if protoimpl.UnsafeEnabled && x != nil {
  1263  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1264  		if ms.LoadMessageInfo() == nil {
  1265  			ms.StoreMessageInfo(mi)
  1266  		}
  1267  		return ms
  1268  	}
  1269  	return mi.MessageOf(x)
  1270  }
  1271  
  1272  // Deprecated: Use Validator_Permission.ProtoReflect.Descriptor instead.
  1273  func (*Validator_Permission) Descriptor() ([]byte, []int) {
  1274  	return file_desc_test_complex_proto_rawDescGZIP(), []int{5, 0}
  1275  }
  1276  
  1277  func (x *Validator_Permission) GetAction() Validator_Action {
  1278  	if x != nil && x.Action != nil {
  1279  		return *x.Action
  1280  	}
  1281  	return Validator_LOGIN
  1282  }
  1283  
  1284  func (x *Validator_Permission) GetEntity() string {
  1285  	if x != nil && x.Entity != nil {
  1286  		return *x.Entity
  1287  	}
  1288  	return ""
  1289  }
  1290  
  1291  type Rule_StringRule struct {
  1292  	state         protoimpl.MessageState
  1293  	sizeCache     protoimpl.SizeCache
  1294  	unknownFields protoimpl.UnknownFields
  1295  
  1296  	Pattern    *string `protobuf:"bytes,1,opt,name=pattern" json:"pattern,omitempty"`
  1297  	AllowEmpty *bool   `protobuf:"varint,2,opt,name=allow_empty,json=allowEmpty" json:"allow_empty,omitempty"`
  1298  	MinLen     *int32  `protobuf:"varint,3,opt,name=min_len,json=minLen" json:"min_len,omitempty"`
  1299  	MaxLen     *int32  `protobuf:"varint,4,opt,name=max_len,json=maxLen" json:"max_len,omitempty"`
  1300  }
  1301  
  1302  func (x *Rule_StringRule) Reset() {
  1303  	*x = Rule_StringRule{}
  1304  	if protoimpl.UnsafeEnabled {
  1305  		mi := &file_desc_test_complex_proto_msgTypes[16]
  1306  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1307  		ms.StoreMessageInfo(mi)
  1308  	}
  1309  }
  1310  
  1311  func (x *Rule_StringRule) String() string {
  1312  	return protoimpl.X.MessageStringOf(x)
  1313  }
  1314  
  1315  func (*Rule_StringRule) ProtoMessage() {}
  1316  
  1317  func (x *Rule_StringRule) ProtoReflect() protoreflect.Message {
  1318  	mi := &file_desc_test_complex_proto_msgTypes[16]
  1319  	if protoimpl.UnsafeEnabled && x != nil {
  1320  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1321  		if ms.LoadMessageInfo() == nil {
  1322  			ms.StoreMessageInfo(mi)
  1323  		}
  1324  		return ms
  1325  	}
  1326  	return mi.MessageOf(x)
  1327  }
  1328  
  1329  // Deprecated: Use Rule_StringRule.ProtoReflect.Descriptor instead.
  1330  func (*Rule_StringRule) Descriptor() ([]byte, []int) {
  1331  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6, 0}
  1332  }
  1333  
  1334  func (x *Rule_StringRule) GetPattern() string {
  1335  	if x != nil && x.Pattern != nil {
  1336  		return *x.Pattern
  1337  	}
  1338  	return ""
  1339  }
  1340  
  1341  func (x *Rule_StringRule) GetAllowEmpty() bool {
  1342  	if x != nil && x.AllowEmpty != nil {
  1343  		return *x.AllowEmpty
  1344  	}
  1345  	return false
  1346  }
  1347  
  1348  func (x *Rule_StringRule) GetMinLen() int32 {
  1349  	if x != nil && x.MinLen != nil {
  1350  		return *x.MinLen
  1351  	}
  1352  	return 0
  1353  }
  1354  
  1355  func (x *Rule_StringRule) GetMaxLen() int32 {
  1356  	if x != nil && x.MaxLen != nil {
  1357  		return *x.MaxLen
  1358  	}
  1359  	return 0
  1360  }
  1361  
  1362  type Rule_IntRule struct {
  1363  	state         protoimpl.MessageState
  1364  	sizeCache     protoimpl.SizeCache
  1365  	unknownFields protoimpl.UnknownFields
  1366  
  1367  	MinVal *int64  `protobuf:"varint,1,opt,name=min_val,json=minVal" json:"min_val,omitempty"`
  1368  	MaxVal *uint64 `protobuf:"varint,2,opt,name=max_val,json=maxVal" json:"max_val,omitempty"`
  1369  }
  1370  
  1371  func (x *Rule_IntRule) Reset() {
  1372  	*x = Rule_IntRule{}
  1373  	if protoimpl.UnsafeEnabled {
  1374  		mi := &file_desc_test_complex_proto_msgTypes[17]
  1375  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1376  		ms.StoreMessageInfo(mi)
  1377  	}
  1378  }
  1379  
  1380  func (x *Rule_IntRule) String() string {
  1381  	return protoimpl.X.MessageStringOf(x)
  1382  }
  1383  
  1384  func (*Rule_IntRule) ProtoMessage() {}
  1385  
  1386  func (x *Rule_IntRule) ProtoReflect() protoreflect.Message {
  1387  	mi := &file_desc_test_complex_proto_msgTypes[17]
  1388  	if protoimpl.UnsafeEnabled && x != nil {
  1389  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1390  		if ms.LoadMessageInfo() == nil {
  1391  			ms.StoreMessageInfo(mi)
  1392  		}
  1393  		return ms
  1394  	}
  1395  	return mi.MessageOf(x)
  1396  }
  1397  
  1398  // Deprecated: Use Rule_IntRule.ProtoReflect.Descriptor instead.
  1399  func (*Rule_IntRule) Descriptor() ([]byte, []int) {
  1400  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6, 1}
  1401  }
  1402  
  1403  func (x *Rule_IntRule) GetMinVal() int64 {
  1404  	if x != nil && x.MinVal != nil {
  1405  		return *x.MinVal
  1406  	}
  1407  	return 0
  1408  }
  1409  
  1410  func (x *Rule_IntRule) GetMaxVal() uint64 {
  1411  	if x != nil && x.MaxVal != nil {
  1412  		return *x.MaxVal
  1413  	}
  1414  	return 0
  1415  }
  1416  
  1417  type Rule_RepeatedRule struct {
  1418  	state         protoimpl.MessageState
  1419  	sizeCache     protoimpl.SizeCache
  1420  	unknownFields protoimpl.UnknownFields
  1421  
  1422  	AllowEmpty *bool  `protobuf:"varint,1,opt,name=allow_empty,json=allowEmpty" json:"allow_empty,omitempty"`
  1423  	MinItems   *int32 `protobuf:"varint,2,opt,name=min_items,json=minItems" json:"min_items,omitempty"`
  1424  	MaxItems   *int32 `protobuf:"varint,3,opt,name=max_items,json=maxItems" json:"max_items,omitempty"`
  1425  	Items      *Rule  `protobuf:"bytes,4,opt,name=items" json:"items,omitempty"`
  1426  }
  1427  
  1428  func (x *Rule_RepeatedRule) Reset() {
  1429  	*x = Rule_RepeatedRule{}
  1430  	if protoimpl.UnsafeEnabled {
  1431  		mi := &file_desc_test_complex_proto_msgTypes[18]
  1432  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1433  		ms.StoreMessageInfo(mi)
  1434  	}
  1435  }
  1436  
  1437  func (x *Rule_RepeatedRule) String() string {
  1438  	return protoimpl.X.MessageStringOf(x)
  1439  }
  1440  
  1441  func (*Rule_RepeatedRule) ProtoMessage() {}
  1442  
  1443  func (x *Rule_RepeatedRule) ProtoReflect() protoreflect.Message {
  1444  	mi := &file_desc_test_complex_proto_msgTypes[18]
  1445  	if protoimpl.UnsafeEnabled && x != nil {
  1446  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1447  		if ms.LoadMessageInfo() == nil {
  1448  			ms.StoreMessageInfo(mi)
  1449  		}
  1450  		return ms
  1451  	}
  1452  	return mi.MessageOf(x)
  1453  }
  1454  
  1455  // Deprecated: Use Rule_RepeatedRule.ProtoReflect.Descriptor instead.
  1456  func (*Rule_RepeatedRule) Descriptor() ([]byte, []int) {
  1457  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6, 2}
  1458  }
  1459  
  1460  func (x *Rule_RepeatedRule) GetAllowEmpty() bool {
  1461  	if x != nil && x.AllowEmpty != nil {
  1462  		return *x.AllowEmpty
  1463  	}
  1464  	return false
  1465  }
  1466  
  1467  func (x *Rule_RepeatedRule) GetMinItems() int32 {
  1468  	if x != nil && x.MinItems != nil {
  1469  		return *x.MinItems
  1470  	}
  1471  	return 0
  1472  }
  1473  
  1474  func (x *Rule_RepeatedRule) GetMaxItems() int32 {
  1475  	if x != nil && x.MaxItems != nil {
  1476  		return *x.MaxItems
  1477  	}
  1478  	return 0
  1479  }
  1480  
  1481  func (x *Rule_RepeatedRule) GetItems() *Rule {
  1482  	if x != nil {
  1483  		return x.Items
  1484  	}
  1485  	return nil
  1486  }
  1487  
  1488  type Rule_FloatRule struct {
  1489  	state         protoimpl.MessageState
  1490  	sizeCache     protoimpl.SizeCache
  1491  	unknownFields protoimpl.UnknownFields
  1492  
  1493  	MinVal *float64 `protobuf:"fixed64,1,opt,name=min_val,json=minVal" json:"min_val,omitempty"`
  1494  	MaxVal *float64 `protobuf:"fixed64,2,opt,name=max_val,json=maxVal" json:"max_val,omitempty"`
  1495  }
  1496  
  1497  func (x *Rule_FloatRule) Reset() {
  1498  	*x = Rule_FloatRule{}
  1499  	if protoimpl.UnsafeEnabled {
  1500  		mi := &file_desc_test_complex_proto_msgTypes[19]
  1501  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1502  		ms.StoreMessageInfo(mi)
  1503  	}
  1504  }
  1505  
  1506  func (x *Rule_FloatRule) String() string {
  1507  	return protoimpl.X.MessageStringOf(x)
  1508  }
  1509  
  1510  func (*Rule_FloatRule) ProtoMessage() {}
  1511  
  1512  func (x *Rule_FloatRule) ProtoReflect() protoreflect.Message {
  1513  	mi := &file_desc_test_complex_proto_msgTypes[19]
  1514  	if protoimpl.UnsafeEnabled && x != nil {
  1515  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1516  		if ms.LoadMessageInfo() == nil {
  1517  			ms.StoreMessageInfo(mi)
  1518  		}
  1519  		return ms
  1520  	}
  1521  	return mi.MessageOf(x)
  1522  }
  1523  
  1524  // Deprecated: Use Rule_FloatRule.ProtoReflect.Descriptor instead.
  1525  func (*Rule_FloatRule) Descriptor() ([]byte, []int) {
  1526  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6, 3}
  1527  }
  1528  
  1529  func (x *Rule_FloatRule) GetMinVal() float64 {
  1530  	if x != nil && x.MinVal != nil {
  1531  		return *x.MinVal
  1532  	}
  1533  	return 0
  1534  }
  1535  
  1536  func (x *Rule_FloatRule) GetMaxVal() float64 {
  1537  	if x != nil && x.MaxVal != nil {
  1538  		return *x.MaxVal
  1539  	}
  1540  	return 0
  1541  }
  1542  
  1543  var file_desc_test_complex_proto_extTypes = []protoimpl.ExtensionInfo{
  1544  	{
  1545  		ExtendedType:  (*descriptor.ExtensionRangeOptions)(nil),
  1546  		ExtensionType: (*string)(nil),
  1547  		Field:         20000,
  1548  		Name:          "foo.bar.label",
  1549  		Tag:           "bytes,20000,opt,name=label",
  1550  		Filename:      "desc_test_complex.proto",
  1551  	},
  1552  	{
  1553  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1554  		ExtensionType: ([]*Test)(nil),
  1555  		Field:         20002,
  1556  		Name:          "foo.bar.rept",
  1557  		Tag:           "bytes,20002,rep,name=rept",
  1558  		Filename:      "desc_test_complex.proto",
  1559  	},
  1560  	{
  1561  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1562  		ExtensionType: (*Test_Nested_XNestedNested_EEE)(nil),
  1563  		Field:         20010,
  1564  		Name:          "foo.bar.eee",
  1565  		Tag:           "varint,20010,opt,name=eee,enum=foo.bar.Test_Nested_XNestedNested_EEE",
  1566  		Filename:      "desc_test_complex.proto",
  1567  	},
  1568  	{
  1569  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1570  		ExtensionType: (*Another)(nil),
  1571  		Field:         20020,
  1572  		Name:          "foo.bar.a",
  1573  		Tag:           "bytes,20020,opt,name=a",
  1574  		Filename:      "desc_test_complex.proto",
  1575  	},
  1576  	{
  1577  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1578  		ExtensionType: (*MessageWithMap)(nil),
  1579  		Field:         20030,
  1580  		Name:          "foo.bar.map_vals",
  1581  		Tag:           "bytes,20030,opt,name=map_vals",
  1582  		Filename:      "desc_test_complex.proto",
  1583  	},
  1584  	{
  1585  		ExtendedType:  (*descriptor.MethodOptions)(nil),
  1586  		ExtensionType: (*Validator)(nil),
  1587  		Field:         12345,
  1588  		Name:          "foo.bar.validator",
  1589  		Tag:           "bytes,12345,opt,name=validator",
  1590  		Filename:      "desc_test_complex.proto",
  1591  	},
  1592  	{
  1593  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1594  		ExtensionType: (*Rule)(nil),
  1595  		Field:         1234,
  1596  		Name:          "foo.bar.rules",
  1597  		Tag:           "bytes,1234,opt,name=rules",
  1598  		Filename:      "desc_test_complex.proto",
  1599  	},
  1600  	{
  1601  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1602  		ExtensionType: (*bool)(nil),
  1603  		Field:         20001,
  1604  		Name:          "foo.bar.syntax",
  1605  		Tag:           "varint,20001,opt,name=syntax",
  1606  		Filename:      "desc_test_complex.proto",
  1607  	},
  1608  	{
  1609  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1610  		ExtensionType: (*bool)(nil),
  1611  		Field:         20002,
  1612  		Name:          "foo.bar.import",
  1613  		Tag:           "varint,20002,opt,name=import",
  1614  		Filename:      "desc_test_complex.proto",
  1615  	},
  1616  	{
  1617  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1618  		ExtensionType: (*bool)(nil),
  1619  		Field:         20003,
  1620  		Name:          "foo.bar.public",
  1621  		Tag:           "varint,20003,opt,name=public",
  1622  		Filename:      "desc_test_complex.proto",
  1623  	},
  1624  	{
  1625  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1626  		ExtensionType: (*bool)(nil),
  1627  		Field:         20004,
  1628  		Name:          "foo.bar.weak",
  1629  		Tag:           "varint,20004,opt,name=weak",
  1630  		Filename:      "desc_test_complex.proto",
  1631  	},
  1632  	{
  1633  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1634  		ExtensionType: (*bool)(nil),
  1635  		Field:         20005,
  1636  		Name:          "foo.bar.package",
  1637  		Tag:           "varint,20005,opt,name=package",
  1638  		Filename:      "desc_test_complex.proto",
  1639  	},
  1640  	{
  1641  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1642  		ExtensionType: (*string)(nil),
  1643  		Field:         20006,
  1644  		Name:          "foo.bar.string",
  1645  		Tag:           "bytes,20006,opt,name=string",
  1646  		Filename:      "desc_test_complex.proto",
  1647  	},
  1648  	{
  1649  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1650  		ExtensionType: ([]byte)(nil),
  1651  		Field:         20007,
  1652  		Name:          "foo.bar.bytes",
  1653  		Tag:           "bytes,20007,opt,name=bytes",
  1654  		Filename:      "desc_test_complex.proto",
  1655  	},
  1656  	{
  1657  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1658  		ExtensionType: (*int32)(nil),
  1659  		Field:         20008,
  1660  		Name:          "foo.bar.int32",
  1661  		Tag:           "varint,20008,opt,name=int32",
  1662  		Filename:      "desc_test_complex.proto",
  1663  	},
  1664  	{
  1665  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1666  		ExtensionType: (*int64)(nil),
  1667  		Field:         20009,
  1668  		Name:          "foo.bar.int64",
  1669  		Tag:           "varint,20009,opt,name=int64",
  1670  		Filename:      "desc_test_complex.proto",
  1671  	},
  1672  	{
  1673  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1674  		ExtensionType: (*uint32)(nil),
  1675  		Field:         20010,
  1676  		Name:          "foo.bar.uint32",
  1677  		Tag:           "varint,20010,opt,name=uint32",
  1678  		Filename:      "desc_test_complex.proto",
  1679  	},
  1680  	{
  1681  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1682  		ExtensionType: (*uint64)(nil),
  1683  		Field:         20011,
  1684  		Name:          "foo.bar.uint64",
  1685  		Tag:           "varint,20011,opt,name=uint64",
  1686  		Filename:      "desc_test_complex.proto",
  1687  	},
  1688  	{
  1689  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1690  		ExtensionType: (*int32)(nil),
  1691  		Field:         20012,
  1692  		Name:          "foo.bar.sint32",
  1693  		Tag:           "zigzag32,20012,opt,name=sint32",
  1694  		Filename:      "desc_test_complex.proto",
  1695  	},
  1696  	{
  1697  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1698  		ExtensionType: (*int64)(nil),
  1699  		Field:         20013,
  1700  		Name:          "foo.bar.sint64",
  1701  		Tag:           "zigzag64,20013,opt,name=sint64",
  1702  		Filename:      "desc_test_complex.proto",
  1703  	},
  1704  	{
  1705  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1706  		ExtensionType: (*uint32)(nil),
  1707  		Field:         20014,
  1708  		Name:          "foo.bar.fixed32",
  1709  		Tag:           "fixed32,20014,opt,name=fixed32",
  1710  		Filename:      "desc_test_complex.proto",
  1711  	},
  1712  	{
  1713  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1714  		ExtensionType: (*uint64)(nil),
  1715  		Field:         20015,
  1716  		Name:          "foo.bar.fixed64",
  1717  		Tag:           "fixed64,20015,opt,name=fixed64",
  1718  		Filename:      "desc_test_complex.proto",
  1719  	},
  1720  	{
  1721  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1722  		ExtensionType: (*int32)(nil),
  1723  		Field:         20016,
  1724  		Name:          "foo.bar.sfixed32",
  1725  		Tag:           "fixed32,20016,opt,name=sfixed32",
  1726  		Filename:      "desc_test_complex.proto",
  1727  	},
  1728  	{
  1729  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1730  		ExtensionType: (*int64)(nil),
  1731  		Field:         20017,
  1732  		Name:          "foo.bar.sfixed64",
  1733  		Tag:           "fixed64,20017,opt,name=sfixed64",
  1734  		Filename:      "desc_test_complex.proto",
  1735  	},
  1736  	{
  1737  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1738  		ExtensionType: (*bool)(nil),
  1739  		Field:         20018,
  1740  		Name:          "foo.bar.bool",
  1741  		Tag:           "varint,20018,opt,name=bool",
  1742  		Filename:      "desc_test_complex.proto",
  1743  	},
  1744  	{
  1745  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1746  		ExtensionType: (*float32)(nil),
  1747  		Field:         20019,
  1748  		Name:          "foo.bar.float",
  1749  		Tag:           "fixed32,20019,opt,name=float",
  1750  		Filename:      "desc_test_complex.proto",
  1751  	},
  1752  	{
  1753  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1754  		ExtensionType: (*float64)(nil),
  1755  		Field:         20020,
  1756  		Name:          "foo.bar.double",
  1757  		Tag:           "fixed64,20020,opt,name=double",
  1758  		Filename:      "desc_test_complex.proto",
  1759  	},
  1760  	{
  1761  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1762  		ExtensionType: (*bool)(nil),
  1763  		Field:         20021,
  1764  		Name:          "foo.bar.optional",
  1765  		Tag:           "varint,20021,opt,name=optional",
  1766  		Filename:      "desc_test_complex.proto",
  1767  	},
  1768  	{
  1769  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1770  		ExtensionType: (*bool)(nil),
  1771  		Field:         20022,
  1772  		Name:          "foo.bar.repeated",
  1773  		Tag:           "varint,20022,opt,name=repeated",
  1774  		Filename:      "desc_test_complex.proto",
  1775  	},
  1776  	{
  1777  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1778  		ExtensionType: (*bool)(nil),
  1779  		Field:         20023,
  1780  		Name:          "foo.bar.required",
  1781  		Tag:           "varint,20023,opt,name=required",
  1782  		Filename:      "desc_test_complex.proto",
  1783  	},
  1784  	{
  1785  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1786  		ExtensionType: (*bool)(nil),
  1787  		Field:         20024,
  1788  		Name:          "foo.bar.message",
  1789  		Tag:           "varint,20024,opt,name=message",
  1790  		Filename:      "desc_test_complex.proto",
  1791  	},
  1792  	{
  1793  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1794  		ExtensionType: (*bool)(nil),
  1795  		Field:         20025,
  1796  		Name:          "foo.bar.enum",
  1797  		Tag:           "varint,20025,opt,name=enum",
  1798  		Filename:      "desc_test_complex.proto",
  1799  	},
  1800  	{
  1801  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1802  		ExtensionType: (*bool)(nil),
  1803  		Field:         20026,
  1804  		Name:          "foo.bar.service",
  1805  		Tag:           "varint,20026,opt,name=service",
  1806  		Filename:      "desc_test_complex.proto",
  1807  	},
  1808  	{
  1809  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1810  		ExtensionType: (*bool)(nil),
  1811  		Field:         20027,
  1812  		Name:          "foo.bar.rpc",
  1813  		Tag:           "varint,20027,opt,name=rpc",
  1814  		Filename:      "desc_test_complex.proto",
  1815  	},
  1816  	{
  1817  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1818  		ExtensionType: (*bool)(nil),
  1819  		Field:         20028,
  1820  		Name:          "foo.bar.option",
  1821  		Tag:           "varint,20028,opt,name=option",
  1822  		Filename:      "desc_test_complex.proto",
  1823  	},
  1824  	{
  1825  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1826  		ExtensionType: (*bool)(nil),
  1827  		Field:         20029,
  1828  		Name:          "foo.bar.extend",
  1829  		Tag:           "varint,20029,opt,name=extend",
  1830  		Filename:      "desc_test_complex.proto",
  1831  	},
  1832  	{
  1833  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1834  		ExtensionType: (*bool)(nil),
  1835  		Field:         20030,
  1836  		Name:          "foo.bar.extensions",
  1837  		Tag:           "varint,20030,opt,name=extensions",
  1838  		Filename:      "desc_test_complex.proto",
  1839  	},
  1840  	{
  1841  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1842  		ExtensionType: (*bool)(nil),
  1843  		Field:         20031,
  1844  		Name:          "foo.bar.reserved",
  1845  		Tag:           "varint,20031,opt,name=reserved",
  1846  		Filename:      "desc_test_complex.proto",
  1847  	},
  1848  	{
  1849  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1850  		ExtensionType: (*bool)(nil),
  1851  		Field:         20032,
  1852  		Name:          "foo.bar.to",
  1853  		Tag:           "varint,20032,opt,name=to",
  1854  		Filename:      "desc_test_complex.proto",
  1855  	},
  1856  	{
  1857  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1858  		ExtensionType: (*int32)(nil),
  1859  		Field:         20033,
  1860  		Name:          "foo.bar.true",
  1861  		Tag:           "varint,20033,opt,name=true",
  1862  		Filename:      "desc_test_complex.proto",
  1863  	},
  1864  	{
  1865  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1866  		ExtensionType: (*int32)(nil),
  1867  		Field:         20034,
  1868  		Name:          "foo.bar.false",
  1869  		Tag:           "varint,20034,opt,name=false",
  1870  		Filename:      "desc_test_complex.proto",
  1871  	},
  1872  	{
  1873  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1874  		ExtensionType: (*int32)(nil),
  1875  		Field:         20035,
  1876  		Name:          "foo.bar.default",
  1877  		Tag:           "varint,20035,opt,name=default",
  1878  		Filename:      "desc_test_complex.proto",
  1879  	},
  1880  	{
  1881  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1882  		ExtensionType: (*KeywordCollisions)(nil),
  1883  		Field:         20036,
  1884  		Name:          "foo.bar.boom",
  1885  		Tag:           "bytes,20036,opt,name=boom",
  1886  		Filename:      "desc_test_complex.proto",
  1887  	},
  1888  	{
  1889  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1890  		ExtensionType: (*int32)(nil),
  1891  		Field:         20003,
  1892  		Name:          "foo.bar.Test.Nested.fooblez",
  1893  		Tag:           "varint,20003,opt,name=fooblez",
  1894  		Filename:      "desc_test_complex.proto",
  1895  	},
  1896  	{
  1897  		ExtendedType:  (*Test)(nil),
  1898  		ExtensionType: (*string)(nil),
  1899  		Field:         100,
  1900  		Name:          "foo.bar.Test.Nested._NestedNested._garblez",
  1901  		Tag:           "bytes,100,opt,name=_garblez",
  1902  		Filename:      "desc_test_complex.proto",
  1903  	},
  1904  }
  1905  
  1906  // Extension fields to descriptor.ExtensionRangeOptions.
  1907  var (
  1908  	// optional string label = 20000;
  1909  	E_Label = &file_desc_test_complex_proto_extTypes[0]
  1910  )
  1911  
  1912  // Extension fields to descriptor.MessageOptions.
  1913  var (
  1914  	// repeated foo.bar.Test rept = 20002;
  1915  	E_Rept = &file_desc_test_complex_proto_extTypes[1]
  1916  	// optional foo.bar.Test.Nested._NestedNested.EEE eee = 20010;
  1917  	E_Eee = &file_desc_test_complex_proto_extTypes[2]
  1918  	// optional foo.bar.Another a = 20020;
  1919  	E_A = &file_desc_test_complex_proto_extTypes[3]
  1920  	// optional foo.bar.MessageWithMap map_vals = 20030;
  1921  	E_MapVals = &file_desc_test_complex_proto_extTypes[4]
  1922  	// optional int32 fooblez = 20003;
  1923  	E_Test_Nested_Fooblez = &file_desc_test_complex_proto_extTypes[43]
  1924  )
  1925  
  1926  // Extension fields to descriptor.MethodOptions.
  1927  var (
  1928  	// optional foo.bar.Validator validator = 12345;
  1929  	E_Validator = &file_desc_test_complex_proto_extTypes[5]
  1930  )
  1931  
  1932  // Extension fields to descriptor.FieldOptions.
  1933  var (
  1934  	// optional foo.bar.Rule rules = 1234;
  1935  	E_Rules = &file_desc_test_complex_proto_extTypes[6]
  1936  	// optional bool syntax = 20001;
  1937  	E_Syntax = &file_desc_test_complex_proto_extTypes[7]
  1938  	// optional bool import = 20002;
  1939  	E_Import = &file_desc_test_complex_proto_extTypes[8]
  1940  	// optional bool public = 20003;
  1941  	E_Public = &file_desc_test_complex_proto_extTypes[9]
  1942  	// optional bool weak = 20004;
  1943  	E_Weak = &file_desc_test_complex_proto_extTypes[10]
  1944  	// optional bool package = 20005;
  1945  	E_Package = &file_desc_test_complex_proto_extTypes[11]
  1946  	// optional string string = 20006;
  1947  	E_String = &file_desc_test_complex_proto_extTypes[12]
  1948  	// optional bytes bytes = 20007;
  1949  	E_Bytes = &file_desc_test_complex_proto_extTypes[13]
  1950  	// optional int32 int32 = 20008;
  1951  	E_Int32 = &file_desc_test_complex_proto_extTypes[14]
  1952  	// optional int64 int64 = 20009;
  1953  	E_Int64 = &file_desc_test_complex_proto_extTypes[15]
  1954  	// optional uint32 uint32 = 20010;
  1955  	E_Uint32 = &file_desc_test_complex_proto_extTypes[16]
  1956  	// optional uint64 uint64 = 20011;
  1957  	E_Uint64 = &file_desc_test_complex_proto_extTypes[17]
  1958  	// optional sint32 sint32 = 20012;
  1959  	E_Sint32 = &file_desc_test_complex_proto_extTypes[18]
  1960  	// optional sint64 sint64 = 20013;
  1961  	E_Sint64 = &file_desc_test_complex_proto_extTypes[19]
  1962  	// optional fixed32 fixed32 = 20014;
  1963  	E_Fixed32 = &file_desc_test_complex_proto_extTypes[20]
  1964  	// optional fixed64 fixed64 = 20015;
  1965  	E_Fixed64 = &file_desc_test_complex_proto_extTypes[21]
  1966  	// optional sfixed32 sfixed32 = 20016;
  1967  	E_Sfixed32 = &file_desc_test_complex_proto_extTypes[22]
  1968  	// optional sfixed64 sfixed64 = 20017;
  1969  	E_Sfixed64 = &file_desc_test_complex_proto_extTypes[23]
  1970  	// optional bool bool = 20018;
  1971  	E_Bool = &file_desc_test_complex_proto_extTypes[24]
  1972  	// optional float float = 20019;
  1973  	E_Float = &file_desc_test_complex_proto_extTypes[25]
  1974  	// optional double double = 20020;
  1975  	E_Double = &file_desc_test_complex_proto_extTypes[26]
  1976  	// optional bool optional = 20021;
  1977  	E_Optional = &file_desc_test_complex_proto_extTypes[27]
  1978  	// optional bool repeated = 20022;
  1979  	E_Repeated = &file_desc_test_complex_proto_extTypes[28]
  1980  	// optional bool required = 20023;
  1981  	E_Required = &file_desc_test_complex_proto_extTypes[29]
  1982  	// optional bool message = 20024;
  1983  	E_Message = &file_desc_test_complex_proto_extTypes[30]
  1984  	// optional bool enum = 20025;
  1985  	E_Enum = &file_desc_test_complex_proto_extTypes[31]
  1986  	// optional bool service = 20026;
  1987  	E_Service = &file_desc_test_complex_proto_extTypes[32]
  1988  	// optional bool rpc = 20027;
  1989  	E_Rpc = &file_desc_test_complex_proto_extTypes[33]
  1990  	// optional bool option = 20028;
  1991  	E_Option = &file_desc_test_complex_proto_extTypes[34]
  1992  	// optional bool extend = 20029;
  1993  	E_Extend = &file_desc_test_complex_proto_extTypes[35]
  1994  	// optional bool extensions = 20030;
  1995  	E_Extensions = &file_desc_test_complex_proto_extTypes[36]
  1996  	// optional bool reserved = 20031;
  1997  	E_Reserved = &file_desc_test_complex_proto_extTypes[37]
  1998  	// optional bool to = 20032;
  1999  	E_To = &file_desc_test_complex_proto_extTypes[38]
  2000  	// optional int32 true = 20033;
  2001  	E_True = &file_desc_test_complex_proto_extTypes[39]
  2002  	// optional int32 false = 20034;
  2003  	E_False = &file_desc_test_complex_proto_extTypes[40]
  2004  	// optional int32 default = 20035;
  2005  	E_Default = &file_desc_test_complex_proto_extTypes[41]
  2006  	// optional foo.bar.KeywordCollisions boom = 20036;
  2007  	E_Boom = &file_desc_test_complex_proto_extTypes[42]
  2008  )
  2009  
  2010  // Extension fields to Test.
  2011  var (
  2012  	// optional string _garblez = 100;
  2013  	E_Test_Nested_XNestedNested_XGarblez = &file_desc_test_complex_proto_extTypes[44]
  2014  )
  2015  
  2016  var File_desc_test_complex_proto protoreflect.FileDescriptor
  2017  
  2018  var file_desc_test_complex_proto_rawDesc = []byte{
  2019  	0x0a, 0x17, 0x64, 0x65, 0x73, 0x63, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70,
  2020  	0x6c, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x66, 0x6f, 0x6f, 0x2e, 0x62,
  2021  	0x61, 0x72, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2022  	0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70,
  2023  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x06, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x12,
  2024  	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
  2025  	0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02,
  2026  	0x69, 0x64, 0x22, 0xf5, 0x04, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x66,
  2027  	0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x7c, 0x66, 0x6f, 0x6f, 0x7c, 0x12,
  2028  	0x14, 0x0a, 0x05, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05,
  2029  	0x61, 0x72, 0x72, 0x61, 0x79, 0x12, 0x1d, 0x0a, 0x01, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
  2030  	0x32, 0x0f, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c,
  2031  	0x65, 0x52, 0x01, 0x73, 0x12, 0x1d, 0x0a, 0x01, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2032  	0x0f, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65,
  2033  	0x52, 0x01, 0x72, 0x12, 0x22, 0x0a, 0x01, 0x6d, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
  2034  	0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x45,
  2035  	0x6e, 0x74, 0x72, 0x79, 0x52, 0x01, 0x6d, 0x12, 0x34, 0x0a, 0x01, 0x62, 0x18, 0x06, 0x20, 0x01,
  2036  	0x28, 0x0c, 0x3a, 0x26, 0x5c, 0x30, 0x30, 0x30, 0x5c, 0x30, 0x30, 0x31, 0x5c, 0x30, 0x30, 0x32,
  2037  	0x5c, 0x30, 0x30, 0x33, 0x5c, 0x30, 0x30, 0x34, 0x5c, 0x30, 0x30, 0x35, 0x5c, 0x30, 0x30, 0x36,
  2038  	0x5c, 0x30, 0x30, 0x37, 0x66, 0x75, 0x62, 0x61, 0x72, 0x21, 0x52, 0x01, 0x62, 0x1a, 0x34, 0x0a,
  2039  	0x06, 0x4d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
  2040  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
  2041  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
  2042  	0x02, 0x38, 0x01, 0x1a, 0xa1, 0x02, 0x0a, 0x06, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a, 0xd9,
  2043  	0x01, 0x0a, 0x0d, 0x5f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
  2044  	0x1a, 0x49, 0x0a, 0x12, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
  2045  	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x18, 0x01,
  2046  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54,
  2047  	0x65, 0x73, 0x74, 0x52, 0x04, 0x54, 0x65, 0x73, 0x74, 0x3a, 0x10, 0x92, 0xe2, 0x09, 0x0c, 0x0a,
  2048  	0x03, 0x68, 0x6f, 0x6f, 0xa2, 0x06, 0x04, 0x73, 0x70, 0x6f, 0x6f, 0x22, 0x3d, 0x0a, 0x03, 0x45,
  2049  	0x45, 0x45, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x31,
  2050  	0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x33,
  2051  	0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x34, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x35,
  2052  	0x10, 0x05, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x36, 0x10, 0x06, 0x32, 0x28, 0x0a, 0x08, 0x5f, 0x67,
  2053  	0x61, 0x72, 0x62, 0x6c, 0x65, 0x7a, 0x12, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72,
  2054  	0x2e, 0x54, 0x65, 0x73, 0x74, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x61, 0x72,
  2055  	0x62, 0x6c, 0x65, 0x7a, 0x3a, 0x14, 0x98, 0xe2, 0x09, 0xf5, 0x4e, 0x92, 0xe2, 0x09, 0x0b, 0x0a,
  2056  	0x03, 0x67, 0x6f, 0x6f, 0xa2, 0x06, 0x03, 0x62, 0x6f, 0x6f, 0x32, 0x3b, 0x0a, 0x07, 0x66, 0x6f,
  2057  	0x6f, 0x62, 0x6c, 0x65, 0x7a, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2058  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f,
  2059  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa3, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
  2060  	0x66, 0x6f, 0x6f, 0x62, 0x6c, 0x65, 0x7a, 0x2a, 0x05, 0x08, 0x64, 0x10, 0xc9, 0x01, 0x2a, 0x10,
  2061  	0x08, 0xf9, 0x01, 0x10, 0xfa, 0x01, 0x1a, 0x08, 0x82, 0xe2, 0x09, 0x04, 0x6a, 0x61, 0x7a, 0x7a,
  2062  	0x2a, 0x10, 0x08, 0xac, 0x02, 0x10, 0xdf, 0x02, 0x1a, 0x08, 0x82, 0xe2, 0x09, 0x04, 0x6a, 0x61,
  2063  	0x7a, 0x7a, 0x2a, 0x10, 0x08, 0xf4, 0x03, 0x10, 0xa7, 0x04, 0x1a, 0x08, 0x82, 0xe2, 0x09, 0x04,
  2064  	0x6a, 0x61, 0x7a, 0x7a, 0x2a, 0x14, 0x08, 0xa0, 0x9c, 0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02,
  2065  	0x1a, 0x08, 0x82, 0xe2, 0x09, 0x04, 0x6a, 0x61, 0x7a, 0x7a, 0x22, 0x3f, 0x0a, 0x17, 0x4d, 0x65,
  2066  	0x73, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61,
  2067  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x0b, 0x4a, 0x04, 0x08, 0x0c, 0x10,
  2068  	0x10, 0x4a, 0x04, 0x08, 0x12, 0x10, 0x13, 0x4a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80,
  2069  	0x80, 0x02, 0x52, 0x01, 0x41, 0x52, 0x01, 0x42, 0x52, 0x01, 0x43, 0x22, 0x91, 0x01, 0x0a, 0x0e,
  2070  	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x61, 0x70, 0x12, 0x35,
  2071  	0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66,
  2072  	0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69,
  2073  	0x74, 0x68, 0x4d, 0x61, 0x70, 0x2e, 0x56, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
  2074  	0x04, 0x76, 0x61, 0x6c, 0x73, 0x1a, 0x48, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74,
  2075  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2076  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  2077  	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x53, 0x69,
  2078  	0x6d, 0x70, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
  2079  	0xd0, 0x02, 0x0a, 0x07, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x74,
  2080  	0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e,
  2081  	0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x04, 0x74, 0x65, 0x73, 0x74, 0x12, 0x3c,
  2082  	0x0a, 0x03, 0x66, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x66, 0x6f,
  2083  	0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
  2084  	0x64, 0x2e, 0x5f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2e,
  2085  	0x45, 0x45, 0x45, 0x3a, 0x02, 0x56, 0x31, 0x52, 0x03, 0x66, 0x66, 0x66, 0x3a, 0xe3, 0x01, 0x92,
  2086  	0xe2, 0x09, 0x23, 0x0a, 0x03, 0x61, 0x62, 0x63, 0x10, 0x01, 0x10, 0x02, 0x10, 0x03, 0x1a, 0x07,
  2087  	0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x10, 0x7b, 0x22, 0x03, 0x0a, 0x01, 0x66, 0x22, 0x03, 0x0a, 0x01,
  2088  	0x73, 0x22, 0x03, 0x10, 0xc8, 0x03, 0x92, 0xe2, 0x09, 0x1f, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x10,
  2089  	0x03, 0x10, 0x02, 0x10, 0x01, 0x1a, 0x08, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x10, 0xc1, 0x02, 0x22,
  2090  	0x03, 0x0a, 0x01, 0x67, 0x22, 0x03, 0x0a, 0x01, 0x73, 0x92, 0xe2, 0x09, 0x05, 0x0a, 0x03, 0x64,
  2091  	0x65, 0x66, 0xd0, 0xe2, 0x09, 0x01, 0xa2, 0xe3, 0x09, 0x02, 0x10, 0x00, 0xa2, 0xe3, 0x09, 0x15,
  2092  	0x0a, 0x13, 0x2a, 0x07, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x10, 0x64, 0x2a, 0x08, 0x0a, 0x03, 0x62,
  2093  	0x61, 0x72, 0x10, 0xc8, 0x01, 0xa2, 0xe3, 0x09, 0x07, 0x0a, 0x05, 0x0a, 0x03, 0x6d, 0x26, 0x6d,
  2094  	0xa2, 0xe3, 0x09, 0x0a, 0x0a, 0x08, 0x1a, 0x06, 0x0a, 0x04, 0x79, 0x6f, 0x6c, 0x6f, 0xa2, 0xe3,
  2095  	0x09, 0x08, 0x0a, 0x06, 0x1a, 0x04, 0x10, 0xcd, 0x83, 0x06, 0xa2, 0xe3, 0x09, 0x04, 0x0a, 0x02,
  2096  	0x10, 0x01, 0xa2, 0xe3, 0x09, 0x04, 0x0a, 0x02, 0x10, 0x02, 0xa2, 0xe3, 0x09, 0x0b, 0x0a, 0x09,
  2097  	0xa2, 0x06, 0x06, 0x77, 0x68, 0x6f, 0x61, 0x68, 0x21, 0xf2, 0xe3, 0x09, 0x06, 0x0a, 0x04, 0x0a,
  2098  	0x00, 0x12, 0x00, 0xf2, 0xe3, 0x09, 0x09, 0x0a, 0x07, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x00,
  2099  	0xf2, 0xe3, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x12, 0x05, 0x0a, 0x03, 0x62,
  2100  	0x61, 0x7a, 0x22, 0xf3, 0x01, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
  2101  	0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
  2102  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
  2103  	0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
  2104  	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6f, 0x6f,
  2105  	0x2e, 0x62, 0x61, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x50,
  2106  	0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69,
  2107  	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x57, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
  2108  	0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
  2109  	0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x56, 0x61,
  2110  	0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06,
  2111  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
  2112  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x28,
  2113  	0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x47, 0x49,
  2114  	0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a,
  2115  	0x05, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02, 0x22, 0xe8, 0x04, 0x0a, 0x04, 0x52, 0x75, 0x6c,
  2116  	0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
  2117  	0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x52, 0x75, 0x6c, 0x65,
  2118  	0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73,
  2119  	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
  2120  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61,
  2121  	0x72, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52,
  2122  	0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12,
  2123  	0x29, 0x0a, 0x03, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x66,
  2124  	0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x52,
  2125  	0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x03, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x66, 0x6c,
  2126  	0x6f, 0x61, 0x74, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x17, 0x2e,
  2127  	0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x46, 0x6c, 0x6f,
  2128  	0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x72,
  2129  	0x75, 0x6c, 0x65, 0x1a, 0x79, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c,
  2130  	0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01,
  2131  	0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
  2132  	0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
  2133  	0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07,
  2134  	0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d,
  2135  	0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e,
  2136  	0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x1a, 0x3b,
  2137  	0x0a, 0x07, 0x49, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e,
  2138  	0x5f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x56,
  2139  	0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20,
  2140  	0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x1a, 0x8e, 0x01, 0x0a, 0x0c,
  2141  	0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
  2142  	0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
  2143  	0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x1b, 0x0a,
  2144  	0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
  2145  	0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61,
  2146  	0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d,
  2147  	0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
  2148  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72,
  2149  	0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x3d, 0x0a, 0x09,
  2150  	0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e,
  2151  	0x5f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x56,
  2152  	0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20,
  2153  	0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x72,
  2154  	0x75, 0x6c, 0x65, 0x22, 0x6d, 0x0a, 0x0f, 0x49, 0x73, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
  2155  	0x7a, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x5a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
  2156  	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x3e, 0x92, 0x4d, 0x3b, 0x12, 0x39, 0x10,
  2157  	0x01, 0x22, 0x35, 0x0a, 0x33, 0x0a, 0x31, 0x5e, 0x28, 0x3f, 0x3a, 0x28, 0x3f, 0x3a, 0x74, 0x65,
  2158  	0x61, 0x6d, 0x3a, 0x28, 0x3f, 0x3a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x7c, 0x6c, 0x64, 0x61, 0x70,
  2159  	0x29, 0x29, 0x7c, 0x75, 0x73, 0x65, 0x72, 0x29, 0x3a, 0x5b, 0x5b, 0x3a, 0x61, 0x6c, 0x6e, 0x75,
  2160  	0x6d, 0x3a, 0x5d, 0x5f, 0x2d, 0x5d, 0x2b, 0x24, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
  2161  	0x74, 0x73, 0x22, 0xdf, 0x06, 0x0a, 0x11, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f,
  2162  	0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x74,
  2163  	0x61, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78,
  2164  	0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
  2165  	0x52, 0x06, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c,
  2166  	0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
  2167  	0x12, 0x12, 0x0a, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
  2168  	0x77, 0x65, 0x61, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18,
  2169  	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x16,
  2170  	0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
  2171  	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
  2172  	0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05,
  2173  	0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x74,
  2174  	0x33, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28,
  2175  	0x03, 0x52, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74,
  2176  	0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
  2177  	0x12, 0x16, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04,
  2178  	0x52, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74,
  2179  	0x33, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32,
  2180  	0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12,
  2181  	0x52, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65,
  2182  	0x64, 0x33, 0x32, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x07, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64,
  2183  	0x33, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0f, 0x20,
  2184  	0x01, 0x28, 0x06, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1a, 0x0a, 0x08,
  2185  	0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x08,
  2186  	0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78,
  2187  	0x65, 0x64, 0x36, 0x34, 0x18, 0x11, 0x20, 0x01, 0x28, 0x10, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78,
  2188  	0x65, 0x64, 0x36, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x12, 0x20, 0x01,
  2189  	0x28, 0x08, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61,
  2190  	0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x16,
  2191  	0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06,
  2192  	0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  2193  	0x61, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  2194  	0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x16,
  2195  	0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1a,
  2196  	0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08,
  2197  	0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65,
  2198  	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, 0x65, 0x73,
  2199  	0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x19, 0x20, 0x01,
  2200  	0x28, 0x08, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76,
  2201  	0x69, 0x63, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69,
  2202  	0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x70, 0x63, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52,
  2203  	0x03, 0x72, 0x70, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1c,
  2204  	0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06,
  2205  	0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78,
  2206  	0x74, 0x65, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  2207  	0x6e, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
  2208  	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
  2209  	0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
  2210  	0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x74, 0x6f,
  2211  	0x12, 0x12, 0x0a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
  2212  	0x74, 0x72, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x18, 0x22, 0x20,
  2213  	0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65,
  2214  	0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x65, 0x66,
  2215  	0x61, 0x75, 0x6c, 0x74, 0x22, 0x9a, 0x03, 0x0a, 0x17, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64,
  2216  	0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  2217  	0x12, 0xd2, 0x01, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0xc1, 0x01,
  2218  	0x88, 0xe2, 0x09, 0x01, 0x90, 0xe2, 0x09, 0x01, 0x98, 0xe2, 0x09, 0x01, 0xa0, 0xe2, 0x09, 0x01,
  2219  	0xa8, 0xe2, 0x09, 0x01, 0xb2, 0xe2, 0x09, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0xba, 0xe2,
  2220  	0x09, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x90, 0xe3, 0x09, 0x01, 0x9d, 0xe3, 0x09, 0xc3, 0xf5,
  2221  	0x48, 0x40, 0xa1, 0xe3, 0x09, 0x6e, 0x86, 0x1b, 0xf0, 0xf9, 0x21, 0x09, 0x40, 0xc0, 0xe2, 0x09,
  2222  	0x20, 0xc8, 0xe2, 0x09, 0x40, 0xd0, 0xe2, 0x09, 0x80, 0x19, 0xd8, 0xe2, 0x09, 0x80, 0x32, 0xe0,
  2223  	0xe2, 0x09, 0x3f, 0xe8, 0xe2, 0x09, 0x7f, 0xf5, 0xe2, 0x09, 0xa0, 0x0c, 0x00, 0x00, 0xf9, 0xe2,
  2224  	0x09, 0x40, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0xe3, 0x09, 0x60, 0xf3, 0xff, 0xff,
  2225  	0x89, 0xe3, 0x09, 0xc0, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa8, 0xe3, 0x09, 0x01, 0xb0,
  2226  	0xe3, 0x09, 0x01, 0xb8, 0xe3, 0x09, 0x01, 0xc0, 0xe3, 0x09, 0x01, 0xc8, 0xe3, 0x09, 0x01, 0xd0,
  2227  	0xe3, 0x09, 0x01, 0xd8, 0xe3, 0x09, 0x01, 0xe0, 0xe3, 0x09, 0x01, 0xe8, 0xe3, 0x09, 0x01, 0xf0,
  2228  	0xe3, 0x09, 0x01, 0xf8, 0xe3, 0x09, 0x01, 0x80, 0xe4, 0x09, 0x01, 0x88, 0xe4, 0x09, 0x6f, 0x90,
  2229  	0xe4, 0x09, 0x91, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x98, 0xe4, 0x09, 0xde,
  2230  	0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0xa9, 0x01, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
  2231  	0x20, 0x01, 0x28, 0x09, 0x42, 0x94, 0x01, 0xa2, 0xe4, 0x09, 0x8f, 0x01, 0x08, 0x01, 0x10, 0x01,
  2232  	0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x32, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x05,
  2233  	0x62, 0x79, 0x74, 0x65, 0x73, 0x40, 0x20, 0x48, 0x40, 0x50, 0x80, 0x19, 0x58, 0x80, 0x32, 0x60,
  2234  	0x3f, 0x68, 0x7f, 0x75, 0xa0, 0x0c, 0x00, 0x00, 0x79, 0x40, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
  2235  	0x00, 0x85, 0x01, 0x60, 0xf3, 0xff, 0xff, 0x89, 0x01, 0xc0, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff,
  2236  	0xff, 0x90, 0x01, 0x01, 0x9d, 0x01, 0xc3, 0xf5, 0x48, 0x40, 0xa1, 0x01, 0x6e, 0x86, 0x1b, 0xf0,
  2237  	0xf9, 0x21, 0x09, 0x40, 0xa8, 0x01, 0x01, 0xb0, 0x01, 0x01, 0xb8, 0x01, 0x01, 0xc0, 0x01, 0x01,
  2238  	0xc8, 0x01, 0x01, 0xd0, 0x01, 0x01, 0xd8, 0x01, 0x01, 0xe0, 0x01, 0x01, 0xe8, 0x01, 0x01, 0xf0,
  2239  	0x01, 0x01, 0xf8, 0x01, 0x01, 0x80, 0x02, 0x01, 0x88, 0x02, 0x6f, 0x90, 0x02, 0x91, 0xff, 0xff,
  2240  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x98, 0x02, 0xde, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  2241  	0x65, 0x2a, 0x78, 0x0a, 0x14, 0x45, 0x6e, 0x75, 0x6d, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x73,
  2242  	0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x05, 0x0a, 0x01, 0x58, 0x10, 0x02,
  2243  	0x12, 0x05, 0x0a, 0x01, 0x59, 0x10, 0x03, 0x12, 0x05, 0x0a, 0x01, 0x5a, 0x10, 0x04, 0x22, 0x09,
  2244  	0x08, 0xe8, 0x07, 0x10, 0xff, 0xff, 0xff, 0xff, 0x07, 0x22, 0x0d, 0x08, 0xfe, 0xff, 0xff, 0xff,
  2245  	0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x10, 0x01, 0x22, 0x04, 0x08, 0x05, 0x10, 0x0a, 0x22, 0x04,
  2246  	0x08, 0x0c, 0x10, 0x0f, 0x22, 0x04, 0x08, 0x12, 0x10, 0x12, 0x22, 0x16, 0x08, 0xfb, 0xff, 0xff,
  2247  	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x10, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  2248  	0xff, 0x01, 0x2a, 0x01, 0x43, 0x2a, 0x01, 0x42, 0x2a, 0x01, 0x41, 0x32, 0x86, 0x01, 0x0a, 0x0f,
  2249  	0x54, 0x65, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
  2250  	0x3c, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x0d, 0x2e, 0x66, 0x6f,
  2251  	0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x66, 0x6f, 0x6f,
  2252  	0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x22, 0x12, 0xca, 0x83, 0x06, 0x0e, 0x08,
  2253  	0x01, 0x12, 0x0a, 0x08, 0x00, 0x12, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a,
  2254  	0x03, 0x47, 0x65, 0x74, 0x12, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54,
  2255  	0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65,
  2256  	0x73, 0x74, 0x22, 0x10, 0xca, 0x83, 0x06, 0x0c, 0x08, 0x01, 0x12, 0x08, 0x08, 0x01, 0x12, 0x04,
  2257  	0x75, 0x73, 0x65, 0x72, 0x3a, 0x3e, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x26, 0x2e,
  2258  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2259  	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70,
  2260  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa0, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c,
  2261  	0x61, 0x62, 0x65, 0x6c, 0x3a, 0x44, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x74, 0x12, 0x1f, 0x2e, 0x67,
  2262  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d,
  2263  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa2, 0x9c,
  2264  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e,
  2265  	0x54, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x70, 0x74, 0x3a, 0x5b, 0x0a, 0x03, 0x65, 0x65,
  2266  	0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2267  	0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
  2268  	0x6e, 0x73, 0x18, 0xaa, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x66, 0x6f, 0x6f,
  2269  	0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
  2270  	0x2e, 0x5f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2e, 0x45,
  2271  	0x45, 0x45, 0x52, 0x03, 0x65, 0x65, 0x65, 0x3a, 0x41, 0x0a, 0x01, 0x61, 0x12, 0x1f, 0x2e, 0x67,
  2272  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d,
  2273  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb4, 0x9c,
  2274  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e,
  2275  	0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x52, 0x01, 0x61, 0x3a, 0x55, 0x0a, 0x08, 0x6d, 0x61,
  2276  	0x70, 0x5f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2277  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  2278  	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbe, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2279  	0x17, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
  2280  	0x65, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x61, 0x70, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x6c,
  2281  	0x73, 0x3a, 0x51, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e,
  2282  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2283  	0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb9,
  2284  	0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e,
  2285  	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64,
  2286  	0x61, 0x74, 0x6f, 0x72, 0x3a, 0x43, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x2e,
  2287  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2288  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xd2, 0x09, 0x20,
  2289  	0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x52, 0x75,
  2290  	0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x37, 0x0a, 0x06, 0x73, 0x79, 0x6e,
  2291  	0x74, 0x61, 0x78, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  2292  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f,
  2293  	0x6e, 0x73, 0x18, 0xa1, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74,
  2294  	0x61, 0x78, 0x3a, 0x37, 0x0a, 0x06, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x2e, 0x67,
  2295  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2296  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa2, 0x9c, 0x01, 0x20,
  2297  	0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x37, 0x0a, 0x06, 0x70,
  2298  	0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2299  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74,
  2300  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa3, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75,
  2301  	0x62, 0x6c, 0x69, 0x63, 0x3a, 0x33, 0x0a, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x12, 0x1d, 0x2e, 0x67,
  2302  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2303  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x9c, 0x01, 0x20,
  2304  	0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x3a, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x63,
  2305  	0x6b, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2306  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2307  	0x6f, 0x6e, 0x73, 0x18, 0xa5, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x63,
  2308  	0x6b, 0x61, 0x67, 0x65, 0x3a, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d,
  2309  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2310  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa6, 0x9c,
  2311  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x35, 0x0a,
  2312  	0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2313  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70,
  2314  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa7, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62,
  2315  	0x79, 0x74, 0x65, 0x73, 0x3a, 0x35, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x2e,
  2316  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2317  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa8, 0x9c, 0x01,
  2318  	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x35, 0x0a, 0x05, 0x69,
  2319  	0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2320  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2321  	0x6f, 0x6e, 0x73, 0x18, 0xa9, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x74,
  2322  	0x36, 0x34, 0x3a, 0x37, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x2e, 0x67,
  2323  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2324  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaa, 0x9c, 0x01, 0x20,
  2325  	0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x37, 0x0a, 0x06, 0x75,
  2326  	0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2327  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74,
  2328  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0xab, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x69,
  2329  	0x6e, 0x74, 0x36, 0x34, 0x3a, 0x37, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d,
  2330  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2331  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xac, 0x9c,
  2332  	0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x37, 0x0a,
  2333  	0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2334  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f,
  2335  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xad, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06,
  2336  	0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x39, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
  2337  	0x32, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2338  	0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  2339  	0x18, 0xae, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
  2340  	0x32, 0x3a, 0x39, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1d, 0x2e, 0x67,
  2341  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2342  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaf, 0x9c, 0x01, 0x20,
  2343  	0x01, 0x28, 0x06, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x3b, 0x0a, 0x08,
  2344  	0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2345  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
  2346  	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb0, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52,
  2347  	0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x3b, 0x0a, 0x08, 0x73, 0x66, 0x69,
  2348  	0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2349  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74,
  2350  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb1, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x10, 0x52, 0x08, 0x73, 0x66,
  2351  	0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x33, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x1d,
  2352  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2353  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb2, 0x9c,
  2354  	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x3a, 0x35, 0x0a, 0x05, 0x66,
  2355  	0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2356  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2357  	0x6f, 0x6e, 0x73, 0x18, 0xb3, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f,
  2358  	0x61, 0x74, 0x3a, 0x37, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x67,
  2359  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2360  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb4, 0x9c, 0x01, 0x20,
  2361  	0x01, 0x28, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x3a, 0x3b, 0x0a, 0x08, 0x6f,
  2362  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2363  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f,
  2364  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb5, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
  2365  	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x3a, 0x3b, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65,
  2366  	0x61, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2367  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2368  	0x6f, 0x6e, 0x73, 0x18, 0xb6, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x70,
  2369  	0x65, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x3b, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
  2370  	0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2371  	0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  2372  	0x18, 0xb7, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
  2373  	0x65, 0x64, 0x3a, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x2e,
  2374  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2375  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb8, 0x9c, 0x01,
  2376  	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x33, 0x0a,
  2377  	0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2378  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74,
  2379  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb9, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x6e,
  2380  	0x75, 0x6d, 0x3a, 0x39, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x2e,
  2381  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2382  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xba, 0x9c, 0x01,
  2383  	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x31, 0x0a,
  2384  	0x03, 0x72, 0x70, 0x63, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2385  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2386  	0x6f, 0x6e, 0x73, 0x18, 0xbb, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x70, 0x63,
  2387  	0x3a, 0x37, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
  2388  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
  2389  	0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbc, 0x9c, 0x01, 0x20, 0x01, 0x28,
  2390  	0x08, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x37, 0x0a, 0x06, 0x65, 0x78, 0x74,
  2391  	0x65, 0x6e, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  2392  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f,
  2393  	0x6e, 0x73, 0x18, 0xbd, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x74, 0x65,
  2394  	0x6e, 0x64, 0x3a, 0x3f, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
  2395  	0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2396  	0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  2397  	0xbe, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
  2398  	0x6f, 0x6e, 0x73, 0x3a, 0x3b, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12,
  2399  	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  2400  	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbf,
  2401  	0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
  2402  	0x3a, 0x2f, 0x0a, 0x02, 0x74, 0x6f, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2403  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70,
  2404  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc0, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x74,
  2405  	0x6f, 0x3a, 0x33, 0x0a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2406  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c,
  2407  	0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc1, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05,
  2408  	0x52, 0x04, 0x74, 0x72, 0x75, 0x65, 0x3a, 0x35, 0x0a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x12,
  2409  	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  2410  	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc2,
  2411  	0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x3a, 0x39, 0x0a,
  2412  	0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2413  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
  2414  	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc3, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
  2415  	0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x4f, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6d,
  2416  	0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2417  	0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  2418  	0xc4, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61,
  2419  	0x72, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69,
  2420  	0x6f, 0x6e, 0x73, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6d, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74,
  2421  	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x68, 0x75, 0x6d, 0x70, 0x2f, 0x70, 0x72,
  2422  	0x6f, 0x74, 0x6f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72,
  2423  	0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73,
  2424  }
  2425  
  2426  var (
  2427  	file_desc_test_complex_proto_rawDescOnce sync.Once
  2428  	file_desc_test_complex_proto_rawDescData = file_desc_test_complex_proto_rawDesc
  2429  )
  2430  
  2431  func file_desc_test_complex_proto_rawDescGZIP() []byte {
  2432  	file_desc_test_complex_proto_rawDescOnce.Do(func() {
  2433  		file_desc_test_complex_proto_rawDescData = protoimpl.X.CompressGZIP(file_desc_test_complex_proto_rawDescData)
  2434  	})
  2435  	return file_desc_test_complex_proto_rawDescData
  2436  }
  2437  
  2438  var file_desc_test_complex_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2439  var file_desc_test_complex_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
  2440  var file_desc_test_complex_proto_goTypes = []interface{}{
  2441  	(EnumWithReservations)(0),          // 0: foo.bar.EnumWithReservations
  2442  	(Test_Nested_XNestedNested_EEE)(0), // 1: foo.bar.Test.Nested._NestedNested.EEE
  2443  	(Validator_Action)(0),              // 2: foo.bar.Validator.Action
  2444  	(*Simple)(nil),                     // 3: foo.bar.Simple
  2445  	(*Test)(nil),                       // 4: foo.bar.Test
  2446  	(*MessageWithReservations)(nil),    // 5: foo.bar.MessageWithReservations
  2447  	(*MessageWithMap)(nil),             // 6: foo.bar.MessageWithMap
  2448  	(*Another)(nil),                    // 7: foo.bar.Another
  2449  	(*Validator)(nil),                  // 8: foo.bar.Validator
  2450  	(*Rule)(nil),                       // 9: foo.bar.Rule
  2451  	(*IsAuthorizedReq)(nil),            // 10: foo.bar.IsAuthorizedReq
  2452  	(*KeywordCollisions)(nil),          // 11: foo.bar.KeywordCollisions
  2453  	(*KeywordCollisionOptions)(nil),    // 12: foo.bar.KeywordCollisionOptions
  2454  	nil,                                // 13: foo.bar.Test.MEntry
  2455  	(*Test_Nested)(nil),                // 14: foo.bar.Test.Nested
  2456  	(*Test_Nested_XNestedNested)(nil),  // 15: foo.bar.Test.Nested._NestedNested
  2457  	(*Test_Nested_XNestedNested_NestedNestedNested)(nil), // 16: foo.bar.Test.Nested._NestedNested.NestedNestedNested
  2458  	nil,                                      // 17: foo.bar.MessageWithMap.ValsEntry
  2459  	(*Validator_Permission)(nil),             // 18: foo.bar.Validator.Permission
  2460  	(*Rule_StringRule)(nil),                  // 19: foo.bar.Rule.StringRule
  2461  	(*Rule_IntRule)(nil),                     // 20: foo.bar.Rule.IntRule
  2462  	(*Rule_RepeatedRule)(nil),                // 21: foo.bar.Rule.RepeatedRule
  2463  	(*Rule_FloatRule)(nil),                   // 22: foo.bar.Rule.FloatRule
  2464  	(*descriptor.ExtensionRangeOptions)(nil), // 23: google.protobuf.ExtensionRangeOptions
  2465  	(*descriptor.MessageOptions)(nil),        // 24: google.protobuf.MessageOptions
  2466  	(*descriptor.MethodOptions)(nil),         // 25: google.protobuf.MethodOptions
  2467  	(*descriptor.FieldOptions)(nil),          // 26: google.protobuf.FieldOptions
  2468  }
  2469  var file_desc_test_complex_proto_depIdxs = []int32{
  2470  	3,  // 0: foo.bar.Test.s:type_name -> foo.bar.Simple
  2471  	3,  // 1: foo.bar.Test.r:type_name -> foo.bar.Simple
  2472  	13, // 2: foo.bar.Test.m:type_name -> foo.bar.Test.MEntry
  2473  	17, // 3: foo.bar.MessageWithMap.vals:type_name -> foo.bar.MessageWithMap.ValsEntry
  2474  	4,  // 4: foo.bar.Another.test:type_name -> foo.bar.Test
  2475  	1,  // 5: foo.bar.Another.fff:type_name -> foo.bar.Test.Nested._NestedNested.EEE
  2476  	18, // 6: foo.bar.Validator.permission:type_name -> foo.bar.Validator.Permission
  2477  	19, // 7: foo.bar.Rule.string:type_name -> foo.bar.Rule.StringRule
  2478  	21, // 8: foo.bar.Rule.repeated:type_name -> foo.bar.Rule.RepeatedRule
  2479  	20, // 9: foo.bar.Rule.int:type_name -> foo.bar.Rule.IntRule
  2480  	22, // 10: foo.bar.Rule.floatrule:type_name -> foo.bar.Rule.FloatRule
  2481  	4,  // 11: foo.bar.Test.Nested._NestedNested.NestedNestedNested.Test:type_name -> foo.bar.Test
  2482  	3,  // 12: foo.bar.MessageWithMap.ValsEntry.value:type_name -> foo.bar.Simple
  2483  	2,  // 13: foo.bar.Validator.Permission.action:type_name -> foo.bar.Validator.Action
  2484  	9,  // 14: foo.bar.Rule.RepeatedRule.items:type_name -> foo.bar.Rule
  2485  	23, // 15: foo.bar.label:extendee -> google.protobuf.ExtensionRangeOptions
  2486  	24, // 16: foo.bar.rept:extendee -> google.protobuf.MessageOptions
  2487  	24, // 17: foo.bar.eee:extendee -> google.protobuf.MessageOptions
  2488  	24, // 18: foo.bar.a:extendee -> google.protobuf.MessageOptions
  2489  	24, // 19: foo.bar.map_vals:extendee -> google.protobuf.MessageOptions
  2490  	25, // 20: foo.bar.validator:extendee -> google.protobuf.MethodOptions
  2491  	26, // 21: foo.bar.rules:extendee -> google.protobuf.FieldOptions
  2492  	26, // 22: foo.bar.syntax:extendee -> google.protobuf.FieldOptions
  2493  	26, // 23: foo.bar.import:extendee -> google.protobuf.FieldOptions
  2494  	26, // 24: foo.bar.public:extendee -> google.protobuf.FieldOptions
  2495  	26, // 25: foo.bar.weak:extendee -> google.protobuf.FieldOptions
  2496  	26, // 26: foo.bar.package:extendee -> google.protobuf.FieldOptions
  2497  	26, // 27: foo.bar.string:extendee -> google.protobuf.FieldOptions
  2498  	26, // 28: foo.bar.bytes:extendee -> google.protobuf.FieldOptions
  2499  	26, // 29: foo.bar.int32:extendee -> google.protobuf.FieldOptions
  2500  	26, // 30: foo.bar.int64:extendee -> google.protobuf.FieldOptions
  2501  	26, // 31: foo.bar.uint32:extendee -> google.protobuf.FieldOptions
  2502  	26, // 32: foo.bar.uint64:extendee -> google.protobuf.FieldOptions
  2503  	26, // 33: foo.bar.sint32:extendee -> google.protobuf.FieldOptions
  2504  	26, // 34: foo.bar.sint64:extendee -> google.protobuf.FieldOptions
  2505  	26, // 35: foo.bar.fixed32:extendee -> google.protobuf.FieldOptions
  2506  	26, // 36: foo.bar.fixed64:extendee -> google.protobuf.FieldOptions
  2507  	26, // 37: foo.bar.sfixed32:extendee -> google.protobuf.FieldOptions
  2508  	26, // 38: foo.bar.sfixed64:extendee -> google.protobuf.FieldOptions
  2509  	26, // 39: foo.bar.bool:extendee -> google.protobuf.FieldOptions
  2510  	26, // 40: foo.bar.float:extendee -> google.protobuf.FieldOptions
  2511  	26, // 41: foo.bar.double:extendee -> google.protobuf.FieldOptions
  2512  	26, // 42: foo.bar.optional:extendee -> google.protobuf.FieldOptions
  2513  	26, // 43: foo.bar.repeated:extendee -> google.protobuf.FieldOptions
  2514  	26, // 44: foo.bar.required:extendee -> google.protobuf.FieldOptions
  2515  	26, // 45: foo.bar.message:extendee -> google.protobuf.FieldOptions
  2516  	26, // 46: foo.bar.enum:extendee -> google.protobuf.FieldOptions
  2517  	26, // 47: foo.bar.service:extendee -> google.protobuf.FieldOptions
  2518  	26, // 48: foo.bar.rpc:extendee -> google.protobuf.FieldOptions
  2519  	26, // 49: foo.bar.option:extendee -> google.protobuf.FieldOptions
  2520  	26, // 50: foo.bar.extend:extendee -> google.protobuf.FieldOptions
  2521  	26, // 51: foo.bar.extensions:extendee -> google.protobuf.FieldOptions
  2522  	26, // 52: foo.bar.reserved:extendee -> google.protobuf.FieldOptions
  2523  	26, // 53: foo.bar.to:extendee -> google.protobuf.FieldOptions
  2524  	26, // 54: foo.bar.true:extendee -> google.protobuf.FieldOptions
  2525  	26, // 55: foo.bar.false:extendee -> google.protobuf.FieldOptions
  2526  	26, // 56: foo.bar.default:extendee -> google.protobuf.FieldOptions
  2527  	26, // 57: foo.bar.boom:extendee -> google.protobuf.FieldOptions
  2528  	24, // 58: foo.bar.Test.Nested.fooblez:extendee -> google.protobuf.MessageOptions
  2529  	4,  // 59: foo.bar.Test.Nested._NestedNested._garblez:extendee -> foo.bar.Test
  2530  	4,  // 60: foo.bar.rept:type_name -> foo.bar.Test
  2531  	1,  // 61: foo.bar.eee:type_name -> foo.bar.Test.Nested._NestedNested.EEE
  2532  	7,  // 62: foo.bar.a:type_name -> foo.bar.Another
  2533  	6,  // 63: foo.bar.map_vals:type_name -> foo.bar.MessageWithMap
  2534  	8,  // 64: foo.bar.validator:type_name -> foo.bar.Validator
  2535  	9,  // 65: foo.bar.rules:type_name -> foo.bar.Rule
  2536  	11, // 66: foo.bar.boom:type_name -> foo.bar.KeywordCollisions
  2537  	4,  // 67: foo.bar.TestTestService.UserAuth:input_type -> foo.bar.Test
  2538  	4,  // 68: foo.bar.TestTestService.Get:input_type -> foo.bar.Test
  2539  	4,  // 69: foo.bar.TestTestService.UserAuth:output_type -> foo.bar.Test
  2540  	4,  // 70: foo.bar.TestTestService.Get:output_type -> foo.bar.Test
  2541  	69, // [69:71] is the sub-list for method output_type
  2542  	67, // [67:69] is the sub-list for method input_type
  2543  	60, // [60:67] is the sub-list for extension type_name
  2544  	15, // [15:60] is the sub-list for extension extendee
  2545  	0,  // [0:15] is the sub-list for field type_name
  2546  }
  2547  
  2548  func init() { file_desc_test_complex_proto_init() }
  2549  func file_desc_test_complex_proto_init() {
  2550  	if File_desc_test_complex_proto != nil {
  2551  		return
  2552  	}
  2553  	if !protoimpl.UnsafeEnabled {
  2554  		file_desc_test_complex_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2555  			switch v := v.(*Simple); i {
  2556  			case 0:
  2557  				return &v.state
  2558  			case 1:
  2559  				return &v.sizeCache
  2560  			case 2:
  2561  				return &v.unknownFields
  2562  			default:
  2563  				return nil
  2564  			}
  2565  		}
  2566  		file_desc_test_complex_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2567  			switch v := v.(*Test); i {
  2568  			case 0:
  2569  				return &v.state
  2570  			case 1:
  2571  				return &v.sizeCache
  2572  			case 2:
  2573  				return &v.unknownFields
  2574  			case 3:
  2575  				return &v.extensionFields
  2576  			default:
  2577  				return nil
  2578  			}
  2579  		}
  2580  		file_desc_test_complex_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2581  			switch v := v.(*MessageWithReservations); i {
  2582  			case 0:
  2583  				return &v.state
  2584  			case 1:
  2585  				return &v.sizeCache
  2586  			case 2:
  2587  				return &v.unknownFields
  2588  			default:
  2589  				return nil
  2590  			}
  2591  		}
  2592  		file_desc_test_complex_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2593  			switch v := v.(*MessageWithMap); i {
  2594  			case 0:
  2595  				return &v.state
  2596  			case 1:
  2597  				return &v.sizeCache
  2598  			case 2:
  2599  				return &v.unknownFields
  2600  			default:
  2601  				return nil
  2602  			}
  2603  		}
  2604  		file_desc_test_complex_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2605  			switch v := v.(*Another); i {
  2606  			case 0:
  2607  				return &v.state
  2608  			case 1:
  2609  				return &v.sizeCache
  2610  			case 2:
  2611  				return &v.unknownFields
  2612  			default:
  2613  				return nil
  2614  			}
  2615  		}
  2616  		file_desc_test_complex_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2617  			switch v := v.(*Validator); i {
  2618  			case 0:
  2619  				return &v.state
  2620  			case 1:
  2621  				return &v.sizeCache
  2622  			case 2:
  2623  				return &v.unknownFields
  2624  			default:
  2625  				return nil
  2626  			}
  2627  		}
  2628  		file_desc_test_complex_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2629  			switch v := v.(*Rule); i {
  2630  			case 0:
  2631  				return &v.state
  2632  			case 1:
  2633  				return &v.sizeCache
  2634  			case 2:
  2635  				return &v.unknownFields
  2636  			default:
  2637  				return nil
  2638  			}
  2639  		}
  2640  		file_desc_test_complex_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2641  			switch v := v.(*IsAuthorizedReq); i {
  2642  			case 0:
  2643  				return &v.state
  2644  			case 1:
  2645  				return &v.sizeCache
  2646  			case 2:
  2647  				return &v.unknownFields
  2648  			default:
  2649  				return nil
  2650  			}
  2651  		}
  2652  		file_desc_test_complex_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2653  			switch v := v.(*KeywordCollisions); i {
  2654  			case 0:
  2655  				return &v.state
  2656  			case 1:
  2657  				return &v.sizeCache
  2658  			case 2:
  2659  				return &v.unknownFields
  2660  			default:
  2661  				return nil
  2662  			}
  2663  		}
  2664  		file_desc_test_complex_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2665  			switch v := v.(*KeywordCollisionOptions); i {
  2666  			case 0:
  2667  				return &v.state
  2668  			case 1:
  2669  				return &v.sizeCache
  2670  			case 2:
  2671  				return &v.unknownFields
  2672  			default:
  2673  				return nil
  2674  			}
  2675  		}
  2676  		file_desc_test_complex_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2677  			switch v := v.(*Test_Nested); i {
  2678  			case 0:
  2679  				return &v.state
  2680  			case 1:
  2681  				return &v.sizeCache
  2682  			case 2:
  2683  				return &v.unknownFields
  2684  			default:
  2685  				return nil
  2686  			}
  2687  		}
  2688  		file_desc_test_complex_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2689  			switch v := v.(*Test_Nested_XNestedNested); i {
  2690  			case 0:
  2691  				return &v.state
  2692  			case 1:
  2693  				return &v.sizeCache
  2694  			case 2:
  2695  				return &v.unknownFields
  2696  			default:
  2697  				return nil
  2698  			}
  2699  		}
  2700  		file_desc_test_complex_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2701  			switch v := v.(*Test_Nested_XNestedNested_NestedNestedNested); i {
  2702  			case 0:
  2703  				return &v.state
  2704  			case 1:
  2705  				return &v.sizeCache
  2706  			case 2:
  2707  				return &v.unknownFields
  2708  			default:
  2709  				return nil
  2710  			}
  2711  		}
  2712  		file_desc_test_complex_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2713  			switch v := v.(*Validator_Permission); i {
  2714  			case 0:
  2715  				return &v.state
  2716  			case 1:
  2717  				return &v.sizeCache
  2718  			case 2:
  2719  				return &v.unknownFields
  2720  			default:
  2721  				return nil
  2722  			}
  2723  		}
  2724  		file_desc_test_complex_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2725  			switch v := v.(*Rule_StringRule); i {
  2726  			case 0:
  2727  				return &v.state
  2728  			case 1:
  2729  				return &v.sizeCache
  2730  			case 2:
  2731  				return &v.unknownFields
  2732  			default:
  2733  				return nil
  2734  			}
  2735  		}
  2736  		file_desc_test_complex_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  2737  			switch v := v.(*Rule_IntRule); i {
  2738  			case 0:
  2739  				return &v.state
  2740  			case 1:
  2741  				return &v.sizeCache
  2742  			case 2:
  2743  				return &v.unknownFields
  2744  			default:
  2745  				return nil
  2746  			}
  2747  		}
  2748  		file_desc_test_complex_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2749  			switch v := v.(*Rule_RepeatedRule); i {
  2750  			case 0:
  2751  				return &v.state
  2752  			case 1:
  2753  				return &v.sizeCache
  2754  			case 2:
  2755  				return &v.unknownFields
  2756  			default:
  2757  				return nil
  2758  			}
  2759  		}
  2760  		file_desc_test_complex_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  2761  			switch v := v.(*Rule_FloatRule); i {
  2762  			case 0:
  2763  				return &v.state
  2764  			case 1:
  2765  				return &v.sizeCache
  2766  			case 2:
  2767  				return &v.unknownFields
  2768  			default:
  2769  				return nil
  2770  			}
  2771  		}
  2772  	}
  2773  	file_desc_test_complex_proto_msgTypes[6].OneofWrappers = []interface{}{
  2774  		(*Rule_String_)(nil),
  2775  		(*Rule_Repeated)(nil),
  2776  		(*Rule_Int)(nil),
  2777  		(*Rule_Floatrule)(nil),
  2778  	}
  2779  	type x struct{}
  2780  	out := protoimpl.TypeBuilder{
  2781  		File: protoimpl.DescBuilder{
  2782  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2783  			RawDescriptor: file_desc_test_complex_proto_rawDesc,
  2784  			NumEnums:      3,
  2785  			NumMessages:   20,
  2786  			NumExtensions: 45,
  2787  			NumServices:   1,
  2788  		},
  2789  		GoTypes:           file_desc_test_complex_proto_goTypes,
  2790  		DependencyIndexes: file_desc_test_complex_proto_depIdxs,
  2791  		EnumInfos:         file_desc_test_complex_proto_enumTypes,
  2792  		MessageInfos:      file_desc_test_complex_proto_msgTypes,
  2793  		ExtensionInfos:    file_desc_test_complex_proto_extTypes,
  2794  	}.Build()
  2795  	File_desc_test_complex_proto = out.File
  2796  	file_desc_test_complex_proto_rawDesc = nil
  2797  	file_desc_test_complex_proto_goTypes = nil
  2798  	file_desc_test_complex_proto_depIdxs = nil
  2799  }
  2800  
  2801  // Reference imports to suppress errors if they are not otherwise used.
  2802  var _ context.Context
  2803  var _ grpc.ClientConnInterface
  2804  
  2805  // This is a compile-time assertion to ensure that this generated file
  2806  // is compatible with the grpc package it is being compiled against.
  2807  const _ = grpc.SupportPackageIsVersion6
  2808  
  2809  // TestTestServiceClient is the client API for TestTestService service.
  2810  //
  2811  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  2812  type TestTestServiceClient interface {
  2813  	UserAuth(ctx context.Context, in *Test, opts ...grpc.CallOption) (*Test, error)
  2814  	Get(ctx context.Context, in *Test, opts ...grpc.CallOption) (*Test, error)
  2815  }
  2816  
  2817  type testTestServiceClient struct {
  2818  	cc grpc.ClientConnInterface
  2819  }
  2820  
  2821  func NewTestTestServiceClient(cc grpc.ClientConnInterface) TestTestServiceClient {
  2822  	return &testTestServiceClient{cc}
  2823  }
  2824  
  2825  func (c *testTestServiceClient) UserAuth(ctx context.Context, in *Test, opts ...grpc.CallOption) (*Test, error) {
  2826  	out := new(Test)
  2827  	err := c.cc.Invoke(ctx, "/foo.bar.TestTestService/UserAuth", in, out, opts...)
  2828  	if err != nil {
  2829  		return nil, err
  2830  	}
  2831  	return out, nil
  2832  }
  2833  
  2834  func (c *testTestServiceClient) Get(ctx context.Context, in *Test, opts ...grpc.CallOption) (*Test, error) {
  2835  	out := new(Test)
  2836  	err := c.cc.Invoke(ctx, "/foo.bar.TestTestService/Get", in, out, opts...)
  2837  	if err != nil {
  2838  		return nil, err
  2839  	}
  2840  	return out, nil
  2841  }
  2842  
  2843  // TestTestServiceServer is the server API for TestTestService service.
  2844  type TestTestServiceServer interface {
  2845  	UserAuth(context.Context, *Test) (*Test, error)
  2846  	Get(context.Context, *Test) (*Test, error)
  2847  }
  2848  
  2849  // UnimplementedTestTestServiceServer can be embedded to have forward compatible implementations.
  2850  type UnimplementedTestTestServiceServer struct {
  2851  }
  2852  
  2853  func (*UnimplementedTestTestServiceServer) UserAuth(context.Context, *Test) (*Test, error) {
  2854  	return nil, status.Errorf(codes.Unimplemented, "method UserAuth not implemented")
  2855  }
  2856  func (*UnimplementedTestTestServiceServer) Get(context.Context, *Test) (*Test, error) {
  2857  	return nil, status.Errorf(codes.Unimplemented, "method Get not implemented")
  2858  }
  2859  
  2860  func RegisterTestTestServiceServer(s *grpc.Server, srv TestTestServiceServer) {
  2861  	s.RegisterService(&_TestTestService_serviceDesc, srv)
  2862  }
  2863  
  2864  func _TestTestService_UserAuth_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2865  	in := new(Test)
  2866  	if err := dec(in); err != nil {
  2867  		return nil, err
  2868  	}
  2869  	if interceptor == nil {
  2870  		return srv.(TestTestServiceServer).UserAuth(ctx, in)
  2871  	}
  2872  	info := &grpc.UnaryServerInfo{
  2873  		Server:     srv,
  2874  		FullMethod: "/foo.bar.TestTestService/UserAuth",
  2875  	}
  2876  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2877  		return srv.(TestTestServiceServer).UserAuth(ctx, req.(*Test))
  2878  	}
  2879  	return interceptor(ctx, in, info, handler)
  2880  }
  2881  
  2882  func _TestTestService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2883  	in := new(Test)
  2884  	if err := dec(in); err != nil {
  2885  		return nil, err
  2886  	}
  2887  	if interceptor == nil {
  2888  		return srv.(TestTestServiceServer).Get(ctx, in)
  2889  	}
  2890  	info := &grpc.UnaryServerInfo{
  2891  		Server:     srv,
  2892  		FullMethod: "/foo.bar.TestTestService/Get",
  2893  	}
  2894  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2895  		return srv.(TestTestServiceServer).Get(ctx, req.(*Test))
  2896  	}
  2897  	return interceptor(ctx, in, info, handler)
  2898  }
  2899  
  2900  var _TestTestService_serviceDesc = grpc.ServiceDesc{
  2901  	ServiceName: "foo.bar.TestTestService",
  2902  	HandlerType: (*TestTestServiceServer)(nil),
  2903  	Methods: []grpc.MethodDesc{
  2904  		{
  2905  			MethodName: "UserAuth",
  2906  			Handler:    _TestTestService_UserAuth_Handler,
  2907  		},
  2908  		{
  2909  			MethodName: "Get",
  2910  			Handler:    _TestTestService_Get_Handler,
  2911  		},
  2912  	},
  2913  	Streams:  []grpc.StreamDesc{},
  2914  	Metadata: "desc_test_complex.proto",
  2915  }