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