github.com/prysmaticlabs/prysm@v1.4.4/proto/eth/v1alpha1/validator.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.15.8
     5  // source: proto/eth/v1alpha1/validator.proto
     6  
     7  package eth
     8  
     9  import (
    10  	context "context"
    11  	reflect "reflect"
    12  	sync "sync"
    13  
    14  	proto "github.com/golang/protobuf/proto"
    15  	empty "github.com/golang/protobuf/ptypes/empty"
    16  	github_com_prysmaticlabs_eth2_types "github.com/prysmaticlabs/eth2-types"
    17  	_ "github.com/prysmaticlabs/prysm/proto/eth/ext"
    18  	_ "google.golang.org/genproto/googleapis/api/annotations"
    19  	grpc "google.golang.org/grpc"
    20  	codes "google.golang.org/grpc/codes"
    21  	status "google.golang.org/grpc/status"
    22  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    23  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    24  )
    25  
    26  const (
    27  	// Verify that this generated code is sufficiently up-to-date.
    28  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    29  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    30  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    31  )
    32  
    33  // This is a compile-time assertion that a sufficiently up-to-date version
    34  // of the legacy proto package is being used.
    35  const _ = proto.ProtoPackageIsVersion4
    36  
    37  type ValidatorStatus int32
    38  
    39  const (
    40  	ValidatorStatus_UNKNOWN_STATUS      ValidatorStatus = 0
    41  	ValidatorStatus_DEPOSITED           ValidatorStatus = 1
    42  	ValidatorStatus_PENDING             ValidatorStatus = 2
    43  	ValidatorStatus_ACTIVE              ValidatorStatus = 3
    44  	ValidatorStatus_EXITING             ValidatorStatus = 4
    45  	ValidatorStatus_SLASHING            ValidatorStatus = 5
    46  	ValidatorStatus_EXITED              ValidatorStatus = 6
    47  	ValidatorStatus_INVALID             ValidatorStatus = 7
    48  	ValidatorStatus_PARTIALLY_DEPOSITED ValidatorStatus = 8
    49  )
    50  
    51  // Enum value maps for ValidatorStatus.
    52  var (
    53  	ValidatorStatus_name = map[int32]string{
    54  		0: "UNKNOWN_STATUS",
    55  		1: "DEPOSITED",
    56  		2: "PENDING",
    57  		3: "ACTIVE",
    58  		4: "EXITING",
    59  		5: "SLASHING",
    60  		6: "EXITED",
    61  		7: "INVALID",
    62  		8: "PARTIALLY_DEPOSITED",
    63  	}
    64  	ValidatorStatus_value = map[string]int32{
    65  		"UNKNOWN_STATUS":      0,
    66  		"DEPOSITED":           1,
    67  		"PENDING":             2,
    68  		"ACTIVE":              3,
    69  		"EXITING":             4,
    70  		"SLASHING":            5,
    71  		"EXITED":              6,
    72  		"INVALID":             7,
    73  		"PARTIALLY_DEPOSITED": 8,
    74  	}
    75  )
    76  
    77  func (x ValidatorStatus) Enum() *ValidatorStatus {
    78  	p := new(ValidatorStatus)
    79  	*p = x
    80  	return p
    81  }
    82  
    83  func (x ValidatorStatus) String() string {
    84  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    85  }
    86  
    87  func (ValidatorStatus) Descriptor() protoreflect.EnumDescriptor {
    88  	return file_proto_eth_v1alpha1_validator_proto_enumTypes[0].Descriptor()
    89  }
    90  
    91  func (ValidatorStatus) Type() protoreflect.EnumType {
    92  	return &file_proto_eth_v1alpha1_validator_proto_enumTypes[0]
    93  }
    94  
    95  func (x ValidatorStatus) Number() protoreflect.EnumNumber {
    96  	return protoreflect.EnumNumber(x)
    97  }
    98  
    99  // Deprecated: Use ValidatorStatus.Descriptor instead.
   100  func (ValidatorStatus) EnumDescriptor() ([]byte, []int) {
   101  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{0}
   102  }
   103  
   104  type DomainRequest struct {
   105  	state         protoimpl.MessageState
   106  	sizeCache     protoimpl.SizeCache
   107  	unknownFields protoimpl.UnknownFields
   108  
   109  	Epoch  github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"`
   110  	Domain []byte                                    `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
   111  }
   112  
   113  func (x *DomainRequest) Reset() {
   114  	*x = DomainRequest{}
   115  	if protoimpl.UnsafeEnabled {
   116  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[0]
   117  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   118  		ms.StoreMessageInfo(mi)
   119  	}
   120  }
   121  
   122  func (x *DomainRequest) String() string {
   123  	return protoimpl.X.MessageStringOf(x)
   124  }
   125  
   126  func (*DomainRequest) ProtoMessage() {}
   127  
   128  func (x *DomainRequest) ProtoReflect() protoreflect.Message {
   129  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[0]
   130  	if protoimpl.UnsafeEnabled && x != nil {
   131  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   132  		if ms.LoadMessageInfo() == nil {
   133  			ms.StoreMessageInfo(mi)
   134  		}
   135  		return ms
   136  	}
   137  	return mi.MessageOf(x)
   138  }
   139  
   140  // Deprecated: Use DomainRequest.ProtoReflect.Descriptor instead.
   141  func (*DomainRequest) Descriptor() ([]byte, []int) {
   142  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{0}
   143  }
   144  
   145  func (x *DomainRequest) GetEpoch() github_com_prysmaticlabs_eth2_types.Epoch {
   146  	if x != nil {
   147  		return x.Epoch
   148  	}
   149  	return github_com_prysmaticlabs_eth2_types.Epoch(0)
   150  }
   151  
   152  func (x *DomainRequest) GetDomain() []byte {
   153  	if x != nil {
   154  		return x.Domain
   155  	}
   156  	return nil
   157  }
   158  
   159  type DomainResponse struct {
   160  	state         protoimpl.MessageState
   161  	sizeCache     protoimpl.SizeCache
   162  	unknownFields protoimpl.UnknownFields
   163  
   164  	SignatureDomain []byte `protobuf:"bytes,1,opt,name=signature_domain,json=signatureDomain,proto3" json:"signature_domain,omitempty"`
   165  }
   166  
   167  func (x *DomainResponse) Reset() {
   168  	*x = DomainResponse{}
   169  	if protoimpl.UnsafeEnabled {
   170  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[1]
   171  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   172  		ms.StoreMessageInfo(mi)
   173  	}
   174  }
   175  
   176  func (x *DomainResponse) String() string {
   177  	return protoimpl.X.MessageStringOf(x)
   178  }
   179  
   180  func (*DomainResponse) ProtoMessage() {}
   181  
   182  func (x *DomainResponse) ProtoReflect() protoreflect.Message {
   183  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[1]
   184  	if protoimpl.UnsafeEnabled && x != nil {
   185  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   186  		if ms.LoadMessageInfo() == nil {
   187  			ms.StoreMessageInfo(mi)
   188  		}
   189  		return ms
   190  	}
   191  	return mi.MessageOf(x)
   192  }
   193  
   194  // Deprecated: Use DomainResponse.ProtoReflect.Descriptor instead.
   195  func (*DomainResponse) Descriptor() ([]byte, []int) {
   196  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{1}
   197  }
   198  
   199  func (x *DomainResponse) GetSignatureDomain() []byte {
   200  	if x != nil {
   201  		return x.SignatureDomain
   202  	}
   203  	return nil
   204  }
   205  
   206  type ValidatorActivationRequest struct {
   207  	state         protoimpl.MessageState
   208  	sizeCache     protoimpl.SizeCache
   209  	unknownFields protoimpl.UnknownFields
   210  
   211  	PublicKeys [][]byte `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty" ssz-size:"?,48"`
   212  }
   213  
   214  func (x *ValidatorActivationRequest) Reset() {
   215  	*x = ValidatorActivationRequest{}
   216  	if protoimpl.UnsafeEnabled {
   217  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[2]
   218  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   219  		ms.StoreMessageInfo(mi)
   220  	}
   221  }
   222  
   223  func (x *ValidatorActivationRequest) String() string {
   224  	return protoimpl.X.MessageStringOf(x)
   225  }
   226  
   227  func (*ValidatorActivationRequest) ProtoMessage() {}
   228  
   229  func (x *ValidatorActivationRequest) ProtoReflect() protoreflect.Message {
   230  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[2]
   231  	if protoimpl.UnsafeEnabled && x != nil {
   232  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   233  		if ms.LoadMessageInfo() == nil {
   234  			ms.StoreMessageInfo(mi)
   235  		}
   236  		return ms
   237  	}
   238  	return mi.MessageOf(x)
   239  }
   240  
   241  // Deprecated: Use ValidatorActivationRequest.ProtoReflect.Descriptor instead.
   242  func (*ValidatorActivationRequest) Descriptor() ([]byte, []int) {
   243  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{2}
   244  }
   245  
   246  func (x *ValidatorActivationRequest) GetPublicKeys() [][]byte {
   247  	if x != nil {
   248  		return x.PublicKeys
   249  	}
   250  	return nil
   251  }
   252  
   253  type ValidatorActivationResponse struct {
   254  	state         protoimpl.MessageState
   255  	sizeCache     protoimpl.SizeCache
   256  	unknownFields protoimpl.UnknownFields
   257  
   258  	Statuses []*ValidatorActivationResponse_Status `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty"`
   259  }
   260  
   261  func (x *ValidatorActivationResponse) Reset() {
   262  	*x = ValidatorActivationResponse{}
   263  	if protoimpl.UnsafeEnabled {
   264  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[3]
   265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   266  		ms.StoreMessageInfo(mi)
   267  	}
   268  }
   269  
   270  func (x *ValidatorActivationResponse) String() string {
   271  	return protoimpl.X.MessageStringOf(x)
   272  }
   273  
   274  func (*ValidatorActivationResponse) ProtoMessage() {}
   275  
   276  func (x *ValidatorActivationResponse) ProtoReflect() protoreflect.Message {
   277  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[3]
   278  	if protoimpl.UnsafeEnabled && x != nil {
   279  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   280  		if ms.LoadMessageInfo() == nil {
   281  			ms.StoreMessageInfo(mi)
   282  		}
   283  		return ms
   284  	}
   285  	return mi.MessageOf(x)
   286  }
   287  
   288  // Deprecated: Use ValidatorActivationResponse.ProtoReflect.Descriptor instead.
   289  func (*ValidatorActivationResponse) Descriptor() ([]byte, []int) {
   290  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{3}
   291  }
   292  
   293  func (x *ValidatorActivationResponse) GetStatuses() []*ValidatorActivationResponse_Status {
   294  	if x != nil {
   295  		return x.Statuses
   296  	}
   297  	return nil
   298  }
   299  
   300  type ChainStartResponse struct {
   301  	state         protoimpl.MessageState
   302  	sizeCache     protoimpl.SizeCache
   303  	unknownFields protoimpl.UnknownFields
   304  
   305  	Started               bool   `protobuf:"varint,1,opt,name=started,proto3" json:"started,omitempty"`
   306  	GenesisTime           uint64 `protobuf:"varint,2,opt,name=genesis_time,json=genesisTime,proto3" json:"genesis_time,omitempty"`
   307  	GenesisValidatorsRoot []byte `protobuf:"bytes,3,opt,name=genesis_validators_root,json=genesisValidatorsRoot,proto3" json:"genesis_validators_root,omitempty" ssz-size:"32"`
   308  }
   309  
   310  func (x *ChainStartResponse) Reset() {
   311  	*x = ChainStartResponse{}
   312  	if protoimpl.UnsafeEnabled {
   313  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[4]
   314  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   315  		ms.StoreMessageInfo(mi)
   316  	}
   317  }
   318  
   319  func (x *ChainStartResponse) String() string {
   320  	return protoimpl.X.MessageStringOf(x)
   321  }
   322  
   323  func (*ChainStartResponse) ProtoMessage() {}
   324  
   325  func (x *ChainStartResponse) ProtoReflect() protoreflect.Message {
   326  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[4]
   327  	if protoimpl.UnsafeEnabled && x != nil {
   328  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   329  		if ms.LoadMessageInfo() == nil {
   330  			ms.StoreMessageInfo(mi)
   331  		}
   332  		return ms
   333  	}
   334  	return mi.MessageOf(x)
   335  }
   336  
   337  // Deprecated: Use ChainStartResponse.ProtoReflect.Descriptor instead.
   338  func (*ChainStartResponse) Descriptor() ([]byte, []int) {
   339  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{4}
   340  }
   341  
   342  func (x *ChainStartResponse) GetStarted() bool {
   343  	if x != nil {
   344  		return x.Started
   345  	}
   346  	return false
   347  }
   348  
   349  func (x *ChainStartResponse) GetGenesisTime() uint64 {
   350  	if x != nil {
   351  		return x.GenesisTime
   352  	}
   353  	return 0
   354  }
   355  
   356  func (x *ChainStartResponse) GetGenesisValidatorsRoot() []byte {
   357  	if x != nil {
   358  		return x.GenesisValidatorsRoot
   359  	}
   360  	return nil
   361  }
   362  
   363  type SyncedResponse struct {
   364  	state         protoimpl.MessageState
   365  	sizeCache     protoimpl.SizeCache
   366  	unknownFields protoimpl.UnknownFields
   367  
   368  	Synced      bool   `protobuf:"varint,1,opt,name=synced,proto3" json:"synced,omitempty"`
   369  	GenesisTime uint64 `protobuf:"varint,2,opt,name=genesis_time,json=genesisTime,proto3" json:"genesis_time,omitempty"`
   370  }
   371  
   372  func (x *SyncedResponse) Reset() {
   373  	*x = SyncedResponse{}
   374  	if protoimpl.UnsafeEnabled {
   375  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[5]
   376  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   377  		ms.StoreMessageInfo(mi)
   378  	}
   379  }
   380  
   381  func (x *SyncedResponse) String() string {
   382  	return protoimpl.X.MessageStringOf(x)
   383  }
   384  
   385  func (*SyncedResponse) ProtoMessage() {}
   386  
   387  func (x *SyncedResponse) ProtoReflect() protoreflect.Message {
   388  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[5]
   389  	if protoimpl.UnsafeEnabled && x != nil {
   390  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   391  		if ms.LoadMessageInfo() == nil {
   392  			ms.StoreMessageInfo(mi)
   393  		}
   394  		return ms
   395  	}
   396  	return mi.MessageOf(x)
   397  }
   398  
   399  // Deprecated: Use SyncedResponse.ProtoReflect.Descriptor instead.
   400  func (*SyncedResponse) Descriptor() ([]byte, []int) {
   401  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{5}
   402  }
   403  
   404  func (x *SyncedResponse) GetSynced() bool {
   405  	if x != nil {
   406  		return x.Synced
   407  	}
   408  	return false
   409  }
   410  
   411  func (x *SyncedResponse) GetGenesisTime() uint64 {
   412  	if x != nil {
   413  		return x.GenesisTime
   414  	}
   415  	return 0
   416  }
   417  
   418  type ValidatorIndexRequest struct {
   419  	state         protoimpl.MessageState
   420  	sizeCache     protoimpl.SizeCache
   421  	unknownFields protoimpl.UnknownFields
   422  
   423  	PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" ssz-size:"48"`
   424  }
   425  
   426  func (x *ValidatorIndexRequest) Reset() {
   427  	*x = ValidatorIndexRequest{}
   428  	if protoimpl.UnsafeEnabled {
   429  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[6]
   430  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   431  		ms.StoreMessageInfo(mi)
   432  	}
   433  }
   434  
   435  func (x *ValidatorIndexRequest) String() string {
   436  	return protoimpl.X.MessageStringOf(x)
   437  }
   438  
   439  func (*ValidatorIndexRequest) ProtoMessage() {}
   440  
   441  func (x *ValidatorIndexRequest) ProtoReflect() protoreflect.Message {
   442  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[6]
   443  	if protoimpl.UnsafeEnabled && x != nil {
   444  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   445  		if ms.LoadMessageInfo() == nil {
   446  			ms.StoreMessageInfo(mi)
   447  		}
   448  		return ms
   449  	}
   450  	return mi.MessageOf(x)
   451  }
   452  
   453  // Deprecated: Use ValidatorIndexRequest.ProtoReflect.Descriptor instead.
   454  func (*ValidatorIndexRequest) Descriptor() ([]byte, []int) {
   455  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{6}
   456  }
   457  
   458  func (x *ValidatorIndexRequest) GetPublicKey() []byte {
   459  	if x != nil {
   460  		return x.PublicKey
   461  	}
   462  	return nil
   463  }
   464  
   465  type ValidatorIndexResponse struct {
   466  	state         protoimpl.MessageState
   467  	sizeCache     protoimpl.SizeCache
   468  	unknownFields protoimpl.UnknownFields
   469  
   470  	Index github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"`
   471  }
   472  
   473  func (x *ValidatorIndexResponse) Reset() {
   474  	*x = ValidatorIndexResponse{}
   475  	if protoimpl.UnsafeEnabled {
   476  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[7]
   477  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   478  		ms.StoreMessageInfo(mi)
   479  	}
   480  }
   481  
   482  func (x *ValidatorIndexResponse) String() string {
   483  	return protoimpl.X.MessageStringOf(x)
   484  }
   485  
   486  func (*ValidatorIndexResponse) ProtoMessage() {}
   487  
   488  func (x *ValidatorIndexResponse) ProtoReflect() protoreflect.Message {
   489  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[7]
   490  	if protoimpl.UnsafeEnabled && x != nil {
   491  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   492  		if ms.LoadMessageInfo() == nil {
   493  			ms.StoreMessageInfo(mi)
   494  		}
   495  		return ms
   496  	}
   497  	return mi.MessageOf(x)
   498  }
   499  
   500  // Deprecated: Use ValidatorIndexResponse.ProtoReflect.Descriptor instead.
   501  func (*ValidatorIndexResponse) Descriptor() ([]byte, []int) {
   502  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{7}
   503  }
   504  
   505  func (x *ValidatorIndexResponse) GetIndex() github_com_prysmaticlabs_eth2_types.ValidatorIndex {
   506  	if x != nil {
   507  		return x.Index
   508  	}
   509  	return github_com_prysmaticlabs_eth2_types.ValidatorIndex(0)
   510  }
   511  
   512  type ValidatorStatusRequest struct {
   513  	state         protoimpl.MessageState
   514  	sizeCache     protoimpl.SizeCache
   515  	unknownFields protoimpl.UnknownFields
   516  
   517  	PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" ssz-size:"48"`
   518  }
   519  
   520  func (x *ValidatorStatusRequest) Reset() {
   521  	*x = ValidatorStatusRequest{}
   522  	if protoimpl.UnsafeEnabled {
   523  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[8]
   524  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   525  		ms.StoreMessageInfo(mi)
   526  	}
   527  }
   528  
   529  func (x *ValidatorStatusRequest) String() string {
   530  	return protoimpl.X.MessageStringOf(x)
   531  }
   532  
   533  func (*ValidatorStatusRequest) ProtoMessage() {}
   534  
   535  func (x *ValidatorStatusRequest) ProtoReflect() protoreflect.Message {
   536  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[8]
   537  	if protoimpl.UnsafeEnabled && x != nil {
   538  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   539  		if ms.LoadMessageInfo() == nil {
   540  			ms.StoreMessageInfo(mi)
   541  		}
   542  		return ms
   543  	}
   544  	return mi.MessageOf(x)
   545  }
   546  
   547  // Deprecated: Use ValidatorStatusRequest.ProtoReflect.Descriptor instead.
   548  func (*ValidatorStatusRequest) Descriptor() ([]byte, []int) {
   549  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{8}
   550  }
   551  
   552  func (x *ValidatorStatusRequest) GetPublicKey() []byte {
   553  	if x != nil {
   554  		return x.PublicKey
   555  	}
   556  	return nil
   557  }
   558  
   559  type ValidatorStatusResponse struct {
   560  	state         protoimpl.MessageState
   561  	sizeCache     protoimpl.SizeCache
   562  	unknownFields protoimpl.UnknownFields
   563  
   564  	Status                    ValidatorStatus                           `protobuf:"varint,1,opt,name=status,proto3,enum=ethereum.eth.v1alpha1.ValidatorStatus" json:"status,omitempty"`
   565  	Eth1DepositBlockNumber    uint64                                    `protobuf:"varint,2,opt,name=eth1_deposit_block_number,json=eth1DepositBlockNumber,proto3" json:"eth1_deposit_block_number,omitempty"`
   566  	DepositInclusionSlot      github_com_prysmaticlabs_eth2_types.Slot  `protobuf:"varint,3,opt,name=deposit_inclusion_slot,json=depositInclusionSlot,proto3" json:"deposit_inclusion_slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"`
   567  	ActivationEpoch           github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,4,opt,name=activation_epoch,json=activationEpoch,proto3" json:"activation_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"`
   568  	PositionInActivationQueue uint64                                    `protobuf:"varint,5,opt,name=position_in_activation_queue,json=positionInActivationQueue,proto3" json:"position_in_activation_queue,omitempty"`
   569  }
   570  
   571  func (x *ValidatorStatusResponse) Reset() {
   572  	*x = ValidatorStatusResponse{}
   573  	if protoimpl.UnsafeEnabled {
   574  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[9]
   575  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   576  		ms.StoreMessageInfo(mi)
   577  	}
   578  }
   579  
   580  func (x *ValidatorStatusResponse) String() string {
   581  	return protoimpl.X.MessageStringOf(x)
   582  }
   583  
   584  func (*ValidatorStatusResponse) ProtoMessage() {}
   585  
   586  func (x *ValidatorStatusResponse) ProtoReflect() protoreflect.Message {
   587  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[9]
   588  	if protoimpl.UnsafeEnabled && x != nil {
   589  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   590  		if ms.LoadMessageInfo() == nil {
   591  			ms.StoreMessageInfo(mi)
   592  		}
   593  		return ms
   594  	}
   595  	return mi.MessageOf(x)
   596  }
   597  
   598  // Deprecated: Use ValidatorStatusResponse.ProtoReflect.Descriptor instead.
   599  func (*ValidatorStatusResponse) Descriptor() ([]byte, []int) {
   600  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{9}
   601  }
   602  
   603  func (x *ValidatorStatusResponse) GetStatus() ValidatorStatus {
   604  	if x != nil {
   605  		return x.Status
   606  	}
   607  	return ValidatorStatus_UNKNOWN_STATUS
   608  }
   609  
   610  func (x *ValidatorStatusResponse) GetEth1DepositBlockNumber() uint64 {
   611  	if x != nil {
   612  		return x.Eth1DepositBlockNumber
   613  	}
   614  	return 0
   615  }
   616  
   617  func (x *ValidatorStatusResponse) GetDepositInclusionSlot() github_com_prysmaticlabs_eth2_types.Slot {
   618  	if x != nil {
   619  		return x.DepositInclusionSlot
   620  	}
   621  	return github_com_prysmaticlabs_eth2_types.Slot(0)
   622  }
   623  
   624  func (x *ValidatorStatusResponse) GetActivationEpoch() github_com_prysmaticlabs_eth2_types.Epoch {
   625  	if x != nil {
   626  		return x.ActivationEpoch
   627  	}
   628  	return github_com_prysmaticlabs_eth2_types.Epoch(0)
   629  }
   630  
   631  func (x *ValidatorStatusResponse) GetPositionInActivationQueue() uint64 {
   632  	if x != nil {
   633  		return x.PositionInActivationQueue
   634  	}
   635  	return 0
   636  }
   637  
   638  type MultipleValidatorStatusRequest struct {
   639  	state         protoimpl.MessageState
   640  	sizeCache     protoimpl.SizeCache
   641  	unknownFields protoimpl.UnknownFields
   642  
   643  	PublicKeys [][]byte `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty" ssz-size:"?,48"`
   644  	Indices    []int64  `protobuf:"varint,2,rep,packed,name=indices,proto3" json:"indices,omitempty"`
   645  }
   646  
   647  func (x *MultipleValidatorStatusRequest) Reset() {
   648  	*x = MultipleValidatorStatusRequest{}
   649  	if protoimpl.UnsafeEnabled {
   650  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[10]
   651  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   652  		ms.StoreMessageInfo(mi)
   653  	}
   654  }
   655  
   656  func (x *MultipleValidatorStatusRequest) String() string {
   657  	return protoimpl.X.MessageStringOf(x)
   658  }
   659  
   660  func (*MultipleValidatorStatusRequest) ProtoMessage() {}
   661  
   662  func (x *MultipleValidatorStatusRequest) ProtoReflect() protoreflect.Message {
   663  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[10]
   664  	if protoimpl.UnsafeEnabled && x != nil {
   665  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   666  		if ms.LoadMessageInfo() == nil {
   667  			ms.StoreMessageInfo(mi)
   668  		}
   669  		return ms
   670  	}
   671  	return mi.MessageOf(x)
   672  }
   673  
   674  // Deprecated: Use MultipleValidatorStatusRequest.ProtoReflect.Descriptor instead.
   675  func (*MultipleValidatorStatusRequest) Descriptor() ([]byte, []int) {
   676  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{10}
   677  }
   678  
   679  func (x *MultipleValidatorStatusRequest) GetPublicKeys() [][]byte {
   680  	if x != nil {
   681  		return x.PublicKeys
   682  	}
   683  	return nil
   684  }
   685  
   686  func (x *MultipleValidatorStatusRequest) GetIndices() []int64 {
   687  	if x != nil {
   688  		return x.Indices
   689  	}
   690  	return nil
   691  }
   692  
   693  type MultipleValidatorStatusResponse struct {
   694  	state         protoimpl.MessageState
   695  	sizeCache     protoimpl.SizeCache
   696  	unknownFields protoimpl.UnknownFields
   697  
   698  	PublicKeys [][]byte                                             `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty" ssz-size:"?,48"`
   699  	Statuses   []*ValidatorStatusResponse                           `protobuf:"bytes,2,rep,name=statuses,proto3" json:"statuses,omitempty"`
   700  	Indices    []github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,3,rep,packed,name=indices,proto3" json:"indices,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"`
   701  }
   702  
   703  func (x *MultipleValidatorStatusResponse) Reset() {
   704  	*x = MultipleValidatorStatusResponse{}
   705  	if protoimpl.UnsafeEnabled {
   706  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[11]
   707  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   708  		ms.StoreMessageInfo(mi)
   709  	}
   710  }
   711  
   712  func (x *MultipleValidatorStatusResponse) String() string {
   713  	return protoimpl.X.MessageStringOf(x)
   714  }
   715  
   716  func (*MultipleValidatorStatusResponse) ProtoMessage() {}
   717  
   718  func (x *MultipleValidatorStatusResponse) ProtoReflect() protoreflect.Message {
   719  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[11]
   720  	if protoimpl.UnsafeEnabled && x != nil {
   721  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   722  		if ms.LoadMessageInfo() == nil {
   723  			ms.StoreMessageInfo(mi)
   724  		}
   725  		return ms
   726  	}
   727  	return mi.MessageOf(x)
   728  }
   729  
   730  // Deprecated: Use MultipleValidatorStatusResponse.ProtoReflect.Descriptor instead.
   731  func (*MultipleValidatorStatusResponse) Descriptor() ([]byte, []int) {
   732  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{11}
   733  }
   734  
   735  func (x *MultipleValidatorStatusResponse) GetPublicKeys() [][]byte {
   736  	if x != nil {
   737  		return x.PublicKeys
   738  	}
   739  	return nil
   740  }
   741  
   742  func (x *MultipleValidatorStatusResponse) GetStatuses() []*ValidatorStatusResponse {
   743  	if x != nil {
   744  		return x.Statuses
   745  	}
   746  	return nil
   747  }
   748  
   749  func (x *MultipleValidatorStatusResponse) GetIndices() []github_com_prysmaticlabs_eth2_types.ValidatorIndex {
   750  	if x != nil {
   751  		return x.Indices
   752  	}
   753  	return []github_com_prysmaticlabs_eth2_types.ValidatorIndex(nil)
   754  }
   755  
   756  type DutiesRequest struct {
   757  	state         protoimpl.MessageState
   758  	sizeCache     protoimpl.SizeCache
   759  	unknownFields protoimpl.UnknownFields
   760  
   761  	Epoch      github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"`
   762  	PublicKeys [][]byte                                  `protobuf:"bytes,2,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty" ssz-size:"?,48"`
   763  }
   764  
   765  func (x *DutiesRequest) Reset() {
   766  	*x = DutiesRequest{}
   767  	if protoimpl.UnsafeEnabled {
   768  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[12]
   769  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   770  		ms.StoreMessageInfo(mi)
   771  	}
   772  }
   773  
   774  func (x *DutiesRequest) String() string {
   775  	return protoimpl.X.MessageStringOf(x)
   776  }
   777  
   778  func (*DutiesRequest) ProtoMessage() {}
   779  
   780  func (x *DutiesRequest) ProtoReflect() protoreflect.Message {
   781  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[12]
   782  	if protoimpl.UnsafeEnabled && x != nil {
   783  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   784  		if ms.LoadMessageInfo() == nil {
   785  			ms.StoreMessageInfo(mi)
   786  		}
   787  		return ms
   788  	}
   789  	return mi.MessageOf(x)
   790  }
   791  
   792  // Deprecated: Use DutiesRequest.ProtoReflect.Descriptor instead.
   793  func (*DutiesRequest) Descriptor() ([]byte, []int) {
   794  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{12}
   795  }
   796  
   797  func (x *DutiesRequest) GetEpoch() github_com_prysmaticlabs_eth2_types.Epoch {
   798  	if x != nil {
   799  		return x.Epoch
   800  	}
   801  	return github_com_prysmaticlabs_eth2_types.Epoch(0)
   802  }
   803  
   804  func (x *DutiesRequest) GetPublicKeys() [][]byte {
   805  	if x != nil {
   806  		return x.PublicKeys
   807  	}
   808  	return nil
   809  }
   810  
   811  type DutiesResponse struct {
   812  	state         protoimpl.MessageState
   813  	sizeCache     protoimpl.SizeCache
   814  	unknownFields protoimpl.UnknownFields
   815  
   816  	// Deprecated: Do not use.
   817  	Duties             []*DutiesResponse_Duty `protobuf:"bytes,1,rep,name=duties,proto3" json:"duties,omitempty"`
   818  	CurrentEpochDuties []*DutiesResponse_Duty `protobuf:"bytes,2,rep,name=current_epoch_duties,json=currentEpochDuties,proto3" json:"current_epoch_duties,omitempty"`
   819  	NextEpochDuties    []*DutiesResponse_Duty `protobuf:"bytes,3,rep,name=next_epoch_duties,json=nextEpochDuties,proto3" json:"next_epoch_duties,omitempty"`
   820  }
   821  
   822  func (x *DutiesResponse) Reset() {
   823  	*x = DutiesResponse{}
   824  	if protoimpl.UnsafeEnabled {
   825  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[13]
   826  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   827  		ms.StoreMessageInfo(mi)
   828  	}
   829  }
   830  
   831  func (x *DutiesResponse) String() string {
   832  	return protoimpl.X.MessageStringOf(x)
   833  }
   834  
   835  func (*DutiesResponse) ProtoMessage() {}
   836  
   837  func (x *DutiesResponse) ProtoReflect() protoreflect.Message {
   838  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[13]
   839  	if protoimpl.UnsafeEnabled && x != nil {
   840  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   841  		if ms.LoadMessageInfo() == nil {
   842  			ms.StoreMessageInfo(mi)
   843  		}
   844  		return ms
   845  	}
   846  	return mi.MessageOf(x)
   847  }
   848  
   849  // Deprecated: Use DutiesResponse.ProtoReflect.Descriptor instead.
   850  func (*DutiesResponse) Descriptor() ([]byte, []int) {
   851  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{13}
   852  }
   853  
   854  // Deprecated: Do not use.
   855  func (x *DutiesResponse) GetDuties() []*DutiesResponse_Duty {
   856  	if x != nil {
   857  		return x.Duties
   858  	}
   859  	return nil
   860  }
   861  
   862  func (x *DutiesResponse) GetCurrentEpochDuties() []*DutiesResponse_Duty {
   863  	if x != nil {
   864  		return x.CurrentEpochDuties
   865  	}
   866  	return nil
   867  }
   868  
   869  func (x *DutiesResponse) GetNextEpochDuties() []*DutiesResponse_Duty {
   870  	if x != nil {
   871  		return x.NextEpochDuties
   872  	}
   873  	return nil
   874  }
   875  
   876  type BlockRequest struct {
   877  	state         protoimpl.MessageState
   878  	sizeCache     protoimpl.SizeCache
   879  	unknownFields protoimpl.UnknownFields
   880  
   881  	Slot         github_com_prysmaticlabs_eth2_types.Slot `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"`
   882  	RandaoReveal []byte                                   `protobuf:"bytes,2,opt,name=randao_reveal,json=randaoReveal,proto3" json:"randao_reveal,omitempty" ssz-size:"48"`
   883  	Graffiti     []byte                                   `protobuf:"bytes,3,opt,name=graffiti,proto3" json:"graffiti,omitempty" ssz-size:"32"`
   884  }
   885  
   886  func (x *BlockRequest) Reset() {
   887  	*x = BlockRequest{}
   888  	if protoimpl.UnsafeEnabled {
   889  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[14]
   890  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   891  		ms.StoreMessageInfo(mi)
   892  	}
   893  }
   894  
   895  func (x *BlockRequest) String() string {
   896  	return protoimpl.X.MessageStringOf(x)
   897  }
   898  
   899  func (*BlockRequest) ProtoMessage() {}
   900  
   901  func (x *BlockRequest) ProtoReflect() protoreflect.Message {
   902  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[14]
   903  	if protoimpl.UnsafeEnabled && x != nil {
   904  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   905  		if ms.LoadMessageInfo() == nil {
   906  			ms.StoreMessageInfo(mi)
   907  		}
   908  		return ms
   909  	}
   910  	return mi.MessageOf(x)
   911  }
   912  
   913  // Deprecated: Use BlockRequest.ProtoReflect.Descriptor instead.
   914  func (*BlockRequest) Descriptor() ([]byte, []int) {
   915  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{14}
   916  }
   917  
   918  func (x *BlockRequest) GetSlot() github_com_prysmaticlabs_eth2_types.Slot {
   919  	if x != nil {
   920  		return x.Slot
   921  	}
   922  	return github_com_prysmaticlabs_eth2_types.Slot(0)
   923  }
   924  
   925  func (x *BlockRequest) GetRandaoReveal() []byte {
   926  	if x != nil {
   927  		return x.RandaoReveal
   928  	}
   929  	return nil
   930  }
   931  
   932  func (x *BlockRequest) GetGraffiti() []byte {
   933  	if x != nil {
   934  		return x.Graffiti
   935  	}
   936  	return nil
   937  }
   938  
   939  type ProposeResponse struct {
   940  	state         protoimpl.MessageState
   941  	sizeCache     protoimpl.SizeCache
   942  	unknownFields protoimpl.UnknownFields
   943  
   944  	BlockRoot []byte `protobuf:"bytes,1,opt,name=block_root,json=blockRoot,proto3" json:"block_root,omitempty" ssz-size:"32"`
   945  }
   946  
   947  func (x *ProposeResponse) Reset() {
   948  	*x = ProposeResponse{}
   949  	if protoimpl.UnsafeEnabled {
   950  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[15]
   951  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   952  		ms.StoreMessageInfo(mi)
   953  	}
   954  }
   955  
   956  func (x *ProposeResponse) String() string {
   957  	return protoimpl.X.MessageStringOf(x)
   958  }
   959  
   960  func (*ProposeResponse) ProtoMessage() {}
   961  
   962  func (x *ProposeResponse) ProtoReflect() protoreflect.Message {
   963  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[15]
   964  	if protoimpl.UnsafeEnabled && x != nil {
   965  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   966  		if ms.LoadMessageInfo() == nil {
   967  			ms.StoreMessageInfo(mi)
   968  		}
   969  		return ms
   970  	}
   971  	return mi.MessageOf(x)
   972  }
   973  
   974  // Deprecated: Use ProposeResponse.ProtoReflect.Descriptor instead.
   975  func (*ProposeResponse) Descriptor() ([]byte, []int) {
   976  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{15}
   977  }
   978  
   979  func (x *ProposeResponse) GetBlockRoot() []byte {
   980  	if x != nil {
   981  		return x.BlockRoot
   982  	}
   983  	return nil
   984  }
   985  
   986  type ProposeExitResponse struct {
   987  	state         protoimpl.MessageState
   988  	sizeCache     protoimpl.SizeCache
   989  	unknownFields protoimpl.UnknownFields
   990  
   991  	ExitRoot []byte `protobuf:"bytes,1,opt,name=exit_root,json=exitRoot,proto3" json:"exit_root,omitempty" ssz-size:"32"`
   992  }
   993  
   994  func (x *ProposeExitResponse) Reset() {
   995  	*x = ProposeExitResponse{}
   996  	if protoimpl.UnsafeEnabled {
   997  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[16]
   998  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   999  		ms.StoreMessageInfo(mi)
  1000  	}
  1001  }
  1002  
  1003  func (x *ProposeExitResponse) String() string {
  1004  	return protoimpl.X.MessageStringOf(x)
  1005  }
  1006  
  1007  func (*ProposeExitResponse) ProtoMessage() {}
  1008  
  1009  func (x *ProposeExitResponse) ProtoReflect() protoreflect.Message {
  1010  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[16]
  1011  	if protoimpl.UnsafeEnabled && x != nil {
  1012  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1013  		if ms.LoadMessageInfo() == nil {
  1014  			ms.StoreMessageInfo(mi)
  1015  		}
  1016  		return ms
  1017  	}
  1018  	return mi.MessageOf(x)
  1019  }
  1020  
  1021  // Deprecated: Use ProposeExitResponse.ProtoReflect.Descriptor instead.
  1022  func (*ProposeExitResponse) Descriptor() ([]byte, []int) {
  1023  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{16}
  1024  }
  1025  
  1026  func (x *ProposeExitResponse) GetExitRoot() []byte {
  1027  	if x != nil {
  1028  		return x.ExitRoot
  1029  	}
  1030  	return nil
  1031  }
  1032  
  1033  type AttestationDataRequest struct {
  1034  	state         protoimpl.MessageState
  1035  	sizeCache     protoimpl.SizeCache
  1036  	unknownFields protoimpl.UnknownFields
  1037  
  1038  	Slot           github_com_prysmaticlabs_eth2_types.Slot           `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"`
  1039  	CommitteeIndex github_com_prysmaticlabs_eth2_types.CommitteeIndex `protobuf:"varint,2,opt,name=committee_index,json=committeeIndex,proto3" json:"committee_index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.CommitteeIndex"`
  1040  }
  1041  
  1042  func (x *AttestationDataRequest) Reset() {
  1043  	*x = AttestationDataRequest{}
  1044  	if protoimpl.UnsafeEnabled {
  1045  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[17]
  1046  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1047  		ms.StoreMessageInfo(mi)
  1048  	}
  1049  }
  1050  
  1051  func (x *AttestationDataRequest) String() string {
  1052  	return protoimpl.X.MessageStringOf(x)
  1053  }
  1054  
  1055  func (*AttestationDataRequest) ProtoMessage() {}
  1056  
  1057  func (x *AttestationDataRequest) ProtoReflect() protoreflect.Message {
  1058  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[17]
  1059  	if protoimpl.UnsafeEnabled && x != nil {
  1060  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1061  		if ms.LoadMessageInfo() == nil {
  1062  			ms.StoreMessageInfo(mi)
  1063  		}
  1064  		return ms
  1065  	}
  1066  	return mi.MessageOf(x)
  1067  }
  1068  
  1069  // Deprecated: Use AttestationDataRequest.ProtoReflect.Descriptor instead.
  1070  func (*AttestationDataRequest) Descriptor() ([]byte, []int) {
  1071  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{17}
  1072  }
  1073  
  1074  func (x *AttestationDataRequest) GetSlot() github_com_prysmaticlabs_eth2_types.Slot {
  1075  	if x != nil {
  1076  		return x.Slot
  1077  	}
  1078  	return github_com_prysmaticlabs_eth2_types.Slot(0)
  1079  }
  1080  
  1081  func (x *AttestationDataRequest) GetCommitteeIndex() github_com_prysmaticlabs_eth2_types.CommitteeIndex {
  1082  	if x != nil {
  1083  		return x.CommitteeIndex
  1084  	}
  1085  	return github_com_prysmaticlabs_eth2_types.CommitteeIndex(0)
  1086  }
  1087  
  1088  type AttestResponse struct {
  1089  	state         protoimpl.MessageState
  1090  	sizeCache     protoimpl.SizeCache
  1091  	unknownFields protoimpl.UnknownFields
  1092  
  1093  	AttestationDataRoot []byte `protobuf:"bytes,1,opt,name=attestation_data_root,json=attestationDataRoot,proto3" json:"attestation_data_root,omitempty" ssz-size:"32"`
  1094  }
  1095  
  1096  func (x *AttestResponse) Reset() {
  1097  	*x = AttestResponse{}
  1098  	if protoimpl.UnsafeEnabled {
  1099  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[18]
  1100  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1101  		ms.StoreMessageInfo(mi)
  1102  	}
  1103  }
  1104  
  1105  func (x *AttestResponse) String() string {
  1106  	return protoimpl.X.MessageStringOf(x)
  1107  }
  1108  
  1109  func (*AttestResponse) ProtoMessage() {}
  1110  
  1111  func (x *AttestResponse) ProtoReflect() protoreflect.Message {
  1112  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[18]
  1113  	if protoimpl.UnsafeEnabled && x != nil {
  1114  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1115  		if ms.LoadMessageInfo() == nil {
  1116  			ms.StoreMessageInfo(mi)
  1117  		}
  1118  		return ms
  1119  	}
  1120  	return mi.MessageOf(x)
  1121  }
  1122  
  1123  // Deprecated: Use AttestResponse.ProtoReflect.Descriptor instead.
  1124  func (*AttestResponse) Descriptor() ([]byte, []int) {
  1125  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{18}
  1126  }
  1127  
  1128  func (x *AttestResponse) GetAttestationDataRoot() []byte {
  1129  	if x != nil {
  1130  		return x.AttestationDataRoot
  1131  	}
  1132  	return nil
  1133  }
  1134  
  1135  type AggregateSelectionRequest struct {
  1136  	state         protoimpl.MessageState
  1137  	sizeCache     protoimpl.SizeCache
  1138  	unknownFields protoimpl.UnknownFields
  1139  
  1140  	Slot           github_com_prysmaticlabs_eth2_types.Slot           `protobuf:"varint,1,opt,name=slot,proto3" json:"slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"`
  1141  	CommitteeIndex github_com_prysmaticlabs_eth2_types.CommitteeIndex `protobuf:"varint,2,opt,name=committee_index,json=committeeIndex,proto3" json:"committee_index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.CommitteeIndex"`
  1142  	PublicKey      []byte                                             `protobuf:"bytes,3,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" spec-name:"pubkey" ssz-size:"48"`
  1143  	SlotSignature  []byte                                             `protobuf:"bytes,4,opt,name=slot_signature,json=slotSignature,proto3" json:"slot_signature,omitempty" ssz-size:"96"`
  1144  }
  1145  
  1146  func (x *AggregateSelectionRequest) Reset() {
  1147  	*x = AggregateSelectionRequest{}
  1148  	if protoimpl.UnsafeEnabled {
  1149  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[19]
  1150  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1151  		ms.StoreMessageInfo(mi)
  1152  	}
  1153  }
  1154  
  1155  func (x *AggregateSelectionRequest) String() string {
  1156  	return protoimpl.X.MessageStringOf(x)
  1157  }
  1158  
  1159  func (*AggregateSelectionRequest) ProtoMessage() {}
  1160  
  1161  func (x *AggregateSelectionRequest) ProtoReflect() protoreflect.Message {
  1162  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[19]
  1163  	if protoimpl.UnsafeEnabled && x != nil {
  1164  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1165  		if ms.LoadMessageInfo() == nil {
  1166  			ms.StoreMessageInfo(mi)
  1167  		}
  1168  		return ms
  1169  	}
  1170  	return mi.MessageOf(x)
  1171  }
  1172  
  1173  // Deprecated: Use AggregateSelectionRequest.ProtoReflect.Descriptor instead.
  1174  func (*AggregateSelectionRequest) Descriptor() ([]byte, []int) {
  1175  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{19}
  1176  }
  1177  
  1178  func (x *AggregateSelectionRequest) GetSlot() github_com_prysmaticlabs_eth2_types.Slot {
  1179  	if x != nil {
  1180  		return x.Slot
  1181  	}
  1182  	return github_com_prysmaticlabs_eth2_types.Slot(0)
  1183  }
  1184  
  1185  func (x *AggregateSelectionRequest) GetCommitteeIndex() github_com_prysmaticlabs_eth2_types.CommitteeIndex {
  1186  	if x != nil {
  1187  		return x.CommitteeIndex
  1188  	}
  1189  	return github_com_prysmaticlabs_eth2_types.CommitteeIndex(0)
  1190  }
  1191  
  1192  func (x *AggregateSelectionRequest) GetPublicKey() []byte {
  1193  	if x != nil {
  1194  		return x.PublicKey
  1195  	}
  1196  	return nil
  1197  }
  1198  
  1199  func (x *AggregateSelectionRequest) GetSlotSignature() []byte {
  1200  	if x != nil {
  1201  		return x.SlotSignature
  1202  	}
  1203  	return nil
  1204  }
  1205  
  1206  type AggregateSelectionResponse struct {
  1207  	state         protoimpl.MessageState
  1208  	sizeCache     protoimpl.SizeCache
  1209  	unknownFields protoimpl.UnknownFields
  1210  
  1211  	AggregateAndProof *AggregateAttestationAndProof `protobuf:"bytes,1,opt,name=aggregate_and_proof,json=aggregateAndProof,proto3" json:"aggregate_and_proof,omitempty"`
  1212  }
  1213  
  1214  func (x *AggregateSelectionResponse) Reset() {
  1215  	*x = AggregateSelectionResponse{}
  1216  	if protoimpl.UnsafeEnabled {
  1217  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[20]
  1218  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1219  		ms.StoreMessageInfo(mi)
  1220  	}
  1221  }
  1222  
  1223  func (x *AggregateSelectionResponse) String() string {
  1224  	return protoimpl.X.MessageStringOf(x)
  1225  }
  1226  
  1227  func (*AggregateSelectionResponse) ProtoMessage() {}
  1228  
  1229  func (x *AggregateSelectionResponse) ProtoReflect() protoreflect.Message {
  1230  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[20]
  1231  	if protoimpl.UnsafeEnabled && x != nil {
  1232  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1233  		if ms.LoadMessageInfo() == nil {
  1234  			ms.StoreMessageInfo(mi)
  1235  		}
  1236  		return ms
  1237  	}
  1238  	return mi.MessageOf(x)
  1239  }
  1240  
  1241  // Deprecated: Use AggregateSelectionResponse.ProtoReflect.Descriptor instead.
  1242  func (*AggregateSelectionResponse) Descriptor() ([]byte, []int) {
  1243  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{20}
  1244  }
  1245  
  1246  func (x *AggregateSelectionResponse) GetAggregateAndProof() *AggregateAttestationAndProof {
  1247  	if x != nil {
  1248  		return x.AggregateAndProof
  1249  	}
  1250  	return nil
  1251  }
  1252  
  1253  type SignedAggregateSubmitRequest struct {
  1254  	state         protoimpl.MessageState
  1255  	sizeCache     protoimpl.SizeCache
  1256  	unknownFields protoimpl.UnknownFields
  1257  
  1258  	SignedAggregateAndProof *SignedAggregateAttestationAndProof `protobuf:"bytes,1,opt,name=signed_aggregate_and_proof,json=signedAggregateAndProof,proto3" json:"signed_aggregate_and_proof,omitempty"`
  1259  }
  1260  
  1261  func (x *SignedAggregateSubmitRequest) Reset() {
  1262  	*x = SignedAggregateSubmitRequest{}
  1263  	if protoimpl.UnsafeEnabled {
  1264  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[21]
  1265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1266  		ms.StoreMessageInfo(mi)
  1267  	}
  1268  }
  1269  
  1270  func (x *SignedAggregateSubmitRequest) String() string {
  1271  	return protoimpl.X.MessageStringOf(x)
  1272  }
  1273  
  1274  func (*SignedAggregateSubmitRequest) ProtoMessage() {}
  1275  
  1276  func (x *SignedAggregateSubmitRequest) ProtoReflect() protoreflect.Message {
  1277  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[21]
  1278  	if protoimpl.UnsafeEnabled && x != nil {
  1279  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1280  		if ms.LoadMessageInfo() == nil {
  1281  			ms.StoreMessageInfo(mi)
  1282  		}
  1283  		return ms
  1284  	}
  1285  	return mi.MessageOf(x)
  1286  }
  1287  
  1288  // Deprecated: Use SignedAggregateSubmitRequest.ProtoReflect.Descriptor instead.
  1289  func (*SignedAggregateSubmitRequest) Descriptor() ([]byte, []int) {
  1290  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{21}
  1291  }
  1292  
  1293  func (x *SignedAggregateSubmitRequest) GetSignedAggregateAndProof() *SignedAggregateAttestationAndProof {
  1294  	if x != nil {
  1295  		return x.SignedAggregateAndProof
  1296  	}
  1297  	return nil
  1298  }
  1299  
  1300  type SignedAggregateSubmitResponse struct {
  1301  	state         protoimpl.MessageState
  1302  	sizeCache     protoimpl.SizeCache
  1303  	unknownFields protoimpl.UnknownFields
  1304  
  1305  	AttestationDataRoot []byte `protobuf:"bytes,1,opt,name=attestation_data_root,json=attestationDataRoot,proto3" json:"attestation_data_root,omitempty" ssz-size:"32"`
  1306  }
  1307  
  1308  func (x *SignedAggregateSubmitResponse) Reset() {
  1309  	*x = SignedAggregateSubmitResponse{}
  1310  	if protoimpl.UnsafeEnabled {
  1311  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[22]
  1312  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1313  		ms.StoreMessageInfo(mi)
  1314  	}
  1315  }
  1316  
  1317  func (x *SignedAggregateSubmitResponse) String() string {
  1318  	return protoimpl.X.MessageStringOf(x)
  1319  }
  1320  
  1321  func (*SignedAggregateSubmitResponse) ProtoMessage() {}
  1322  
  1323  func (x *SignedAggregateSubmitResponse) ProtoReflect() protoreflect.Message {
  1324  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[22]
  1325  	if protoimpl.UnsafeEnabled && x != nil {
  1326  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1327  		if ms.LoadMessageInfo() == nil {
  1328  			ms.StoreMessageInfo(mi)
  1329  		}
  1330  		return ms
  1331  	}
  1332  	return mi.MessageOf(x)
  1333  }
  1334  
  1335  // Deprecated: Use SignedAggregateSubmitResponse.ProtoReflect.Descriptor instead.
  1336  func (*SignedAggregateSubmitResponse) Descriptor() ([]byte, []int) {
  1337  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{22}
  1338  }
  1339  
  1340  func (x *SignedAggregateSubmitResponse) GetAttestationDataRoot() []byte {
  1341  	if x != nil {
  1342  		return x.AttestationDataRoot
  1343  	}
  1344  	return nil
  1345  }
  1346  
  1347  type CommitteeSubnetsSubscribeRequest struct {
  1348  	state         protoimpl.MessageState
  1349  	sizeCache     protoimpl.SizeCache
  1350  	unknownFields protoimpl.UnknownFields
  1351  
  1352  	Slots        []github_com_prysmaticlabs_eth2_types.Slot           `protobuf:"varint,1,rep,packed,name=slots,proto3" json:"slots,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"`
  1353  	CommitteeIds []github_com_prysmaticlabs_eth2_types.CommitteeIndex `protobuf:"varint,2,rep,packed,name=committee_ids,json=committeeIds,proto3" json:"committee_ids,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.CommitteeIndex"`
  1354  	IsAggregator []bool                                               `protobuf:"varint,3,rep,packed,name=is_aggregator,json=isAggregator,proto3" json:"is_aggregator,omitempty"`
  1355  }
  1356  
  1357  func (x *CommitteeSubnetsSubscribeRequest) Reset() {
  1358  	*x = CommitteeSubnetsSubscribeRequest{}
  1359  	if protoimpl.UnsafeEnabled {
  1360  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[23]
  1361  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1362  		ms.StoreMessageInfo(mi)
  1363  	}
  1364  }
  1365  
  1366  func (x *CommitteeSubnetsSubscribeRequest) String() string {
  1367  	return protoimpl.X.MessageStringOf(x)
  1368  }
  1369  
  1370  func (*CommitteeSubnetsSubscribeRequest) ProtoMessage() {}
  1371  
  1372  func (x *CommitteeSubnetsSubscribeRequest) ProtoReflect() protoreflect.Message {
  1373  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[23]
  1374  	if protoimpl.UnsafeEnabled && x != nil {
  1375  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1376  		if ms.LoadMessageInfo() == nil {
  1377  			ms.StoreMessageInfo(mi)
  1378  		}
  1379  		return ms
  1380  	}
  1381  	return mi.MessageOf(x)
  1382  }
  1383  
  1384  // Deprecated: Use CommitteeSubnetsSubscribeRequest.ProtoReflect.Descriptor instead.
  1385  func (*CommitteeSubnetsSubscribeRequest) Descriptor() ([]byte, []int) {
  1386  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{23}
  1387  }
  1388  
  1389  func (x *CommitteeSubnetsSubscribeRequest) GetSlots() []github_com_prysmaticlabs_eth2_types.Slot {
  1390  	if x != nil {
  1391  		return x.Slots
  1392  	}
  1393  	return []github_com_prysmaticlabs_eth2_types.Slot(nil)
  1394  }
  1395  
  1396  func (x *CommitteeSubnetsSubscribeRequest) GetCommitteeIds() []github_com_prysmaticlabs_eth2_types.CommitteeIndex {
  1397  	if x != nil {
  1398  		return x.CommitteeIds
  1399  	}
  1400  	return []github_com_prysmaticlabs_eth2_types.CommitteeIndex(nil)
  1401  }
  1402  
  1403  func (x *CommitteeSubnetsSubscribeRequest) GetIsAggregator() []bool {
  1404  	if x != nil {
  1405  		return x.IsAggregator
  1406  	}
  1407  	return nil
  1408  }
  1409  
  1410  type Validator struct {
  1411  	state         protoimpl.MessageState
  1412  	sizeCache     protoimpl.SizeCache
  1413  	unknownFields protoimpl.UnknownFields
  1414  
  1415  	PublicKey                  []byte                                    `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" spec-name:"pubkey" ssz-size:"48"`
  1416  	WithdrawalCredentials      []byte                                    `protobuf:"bytes,2,opt,name=withdrawal_credentials,json=withdrawalCredentials,proto3" json:"withdrawal_credentials,omitempty" ssz-size:"32"`
  1417  	EffectiveBalance           uint64                                    `protobuf:"varint,3,opt,name=effective_balance,json=effectiveBalance,proto3" json:"effective_balance,omitempty"`
  1418  	Slashed                    bool                                      `protobuf:"varint,4,opt,name=slashed,proto3" json:"slashed,omitempty"`
  1419  	ActivationEligibilityEpoch github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,5,opt,name=activation_eligibility_epoch,json=activationEligibilityEpoch,proto3" json:"activation_eligibility_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"`
  1420  	ActivationEpoch            github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,6,opt,name=activation_epoch,json=activationEpoch,proto3" json:"activation_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"`
  1421  	ExitEpoch                  github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,7,opt,name=exit_epoch,json=exitEpoch,proto3" json:"exit_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"`
  1422  	WithdrawableEpoch          github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,8,opt,name=withdrawable_epoch,json=withdrawableEpoch,proto3" json:"withdrawable_epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"`
  1423  }
  1424  
  1425  func (x *Validator) Reset() {
  1426  	*x = Validator{}
  1427  	if protoimpl.UnsafeEnabled {
  1428  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[24]
  1429  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1430  		ms.StoreMessageInfo(mi)
  1431  	}
  1432  }
  1433  
  1434  func (x *Validator) String() string {
  1435  	return protoimpl.X.MessageStringOf(x)
  1436  }
  1437  
  1438  func (*Validator) ProtoMessage() {}
  1439  
  1440  func (x *Validator) ProtoReflect() protoreflect.Message {
  1441  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[24]
  1442  	if protoimpl.UnsafeEnabled && x != nil {
  1443  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1444  		if ms.LoadMessageInfo() == nil {
  1445  			ms.StoreMessageInfo(mi)
  1446  		}
  1447  		return ms
  1448  	}
  1449  	return mi.MessageOf(x)
  1450  }
  1451  
  1452  // Deprecated: Use Validator.ProtoReflect.Descriptor instead.
  1453  func (*Validator) Descriptor() ([]byte, []int) {
  1454  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{24}
  1455  }
  1456  
  1457  func (x *Validator) GetPublicKey() []byte {
  1458  	if x != nil {
  1459  		return x.PublicKey
  1460  	}
  1461  	return nil
  1462  }
  1463  
  1464  func (x *Validator) GetWithdrawalCredentials() []byte {
  1465  	if x != nil {
  1466  		return x.WithdrawalCredentials
  1467  	}
  1468  	return nil
  1469  }
  1470  
  1471  func (x *Validator) GetEffectiveBalance() uint64 {
  1472  	if x != nil {
  1473  		return x.EffectiveBalance
  1474  	}
  1475  	return 0
  1476  }
  1477  
  1478  func (x *Validator) GetSlashed() bool {
  1479  	if x != nil {
  1480  		return x.Slashed
  1481  	}
  1482  	return false
  1483  }
  1484  
  1485  func (x *Validator) GetActivationEligibilityEpoch() github_com_prysmaticlabs_eth2_types.Epoch {
  1486  	if x != nil {
  1487  		return x.ActivationEligibilityEpoch
  1488  	}
  1489  	return github_com_prysmaticlabs_eth2_types.Epoch(0)
  1490  }
  1491  
  1492  func (x *Validator) GetActivationEpoch() github_com_prysmaticlabs_eth2_types.Epoch {
  1493  	if x != nil {
  1494  		return x.ActivationEpoch
  1495  	}
  1496  	return github_com_prysmaticlabs_eth2_types.Epoch(0)
  1497  }
  1498  
  1499  func (x *Validator) GetExitEpoch() github_com_prysmaticlabs_eth2_types.Epoch {
  1500  	if x != nil {
  1501  		return x.ExitEpoch
  1502  	}
  1503  	return github_com_prysmaticlabs_eth2_types.Epoch(0)
  1504  }
  1505  
  1506  func (x *Validator) GetWithdrawableEpoch() github_com_prysmaticlabs_eth2_types.Epoch {
  1507  	if x != nil {
  1508  		return x.WithdrawableEpoch
  1509  	}
  1510  	return github_com_prysmaticlabs_eth2_types.Epoch(0)
  1511  }
  1512  
  1513  type ValidatorParticipation struct {
  1514  	state         protoimpl.MessageState
  1515  	sizeCache     protoimpl.SizeCache
  1516  	unknownFields protoimpl.UnknownFields
  1517  
  1518  	// Deprecated: Do not use.
  1519  	GlobalParticipationRate float32 `protobuf:"fixed32,1,opt,name=global_participation_rate,json=globalParticipationRate,proto3" json:"global_participation_rate,omitempty"`
  1520  	// Deprecated: Do not use.
  1521  	VotedEther uint64 `protobuf:"varint,2,opt,name=voted_ether,json=votedEther,proto3" json:"voted_ether,omitempty"`
  1522  	// Deprecated: Do not use.
  1523  	EligibleEther                    uint64 `protobuf:"varint,3,opt,name=eligible_ether,json=eligibleEther,proto3" json:"eligible_ether,omitempty"`
  1524  	CurrentEpochActiveGwei           uint64 `protobuf:"varint,4,opt,name=current_epoch_active_gwei,json=currentEpochActiveGwei,proto3" json:"current_epoch_active_gwei,omitempty"`
  1525  	CurrentEpochAttestingGwei        uint64 `protobuf:"varint,5,opt,name=current_epoch_attesting_gwei,json=currentEpochAttestingGwei,proto3" json:"current_epoch_attesting_gwei,omitempty"`
  1526  	CurrentEpochTargetAttestingGwei  uint64 `protobuf:"varint,6,opt,name=current_epoch_target_attesting_gwei,json=currentEpochTargetAttestingGwei,proto3" json:"current_epoch_target_attesting_gwei,omitempty"`
  1527  	PreviousEpochActiveGwei          uint64 `protobuf:"varint,7,opt,name=previous_epoch_active_gwei,json=previousEpochActiveGwei,proto3" json:"previous_epoch_active_gwei,omitempty"`
  1528  	PreviousEpochAttestingGwei       uint64 `protobuf:"varint,8,opt,name=previous_epoch_attesting_gwei,json=previousEpochAttestingGwei,proto3" json:"previous_epoch_attesting_gwei,omitempty"`
  1529  	PreviousEpochTargetAttestingGwei uint64 `protobuf:"varint,9,opt,name=previous_epoch_target_attesting_gwei,json=previousEpochTargetAttestingGwei,proto3" json:"previous_epoch_target_attesting_gwei,omitempty"`
  1530  	PreviousEpochHeadAttestingGwei   uint64 `protobuf:"varint,10,opt,name=previous_epoch_head_attesting_gwei,json=previousEpochHeadAttestingGwei,proto3" json:"previous_epoch_head_attesting_gwei,omitempty"`
  1531  }
  1532  
  1533  func (x *ValidatorParticipation) Reset() {
  1534  	*x = ValidatorParticipation{}
  1535  	if protoimpl.UnsafeEnabled {
  1536  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[25]
  1537  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1538  		ms.StoreMessageInfo(mi)
  1539  	}
  1540  }
  1541  
  1542  func (x *ValidatorParticipation) String() string {
  1543  	return protoimpl.X.MessageStringOf(x)
  1544  }
  1545  
  1546  func (*ValidatorParticipation) ProtoMessage() {}
  1547  
  1548  func (x *ValidatorParticipation) ProtoReflect() protoreflect.Message {
  1549  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[25]
  1550  	if protoimpl.UnsafeEnabled && x != nil {
  1551  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1552  		if ms.LoadMessageInfo() == nil {
  1553  			ms.StoreMessageInfo(mi)
  1554  		}
  1555  		return ms
  1556  	}
  1557  	return mi.MessageOf(x)
  1558  }
  1559  
  1560  // Deprecated: Use ValidatorParticipation.ProtoReflect.Descriptor instead.
  1561  func (*ValidatorParticipation) Descriptor() ([]byte, []int) {
  1562  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{25}
  1563  }
  1564  
  1565  // Deprecated: Do not use.
  1566  func (x *ValidatorParticipation) GetGlobalParticipationRate() float32 {
  1567  	if x != nil {
  1568  		return x.GlobalParticipationRate
  1569  	}
  1570  	return 0
  1571  }
  1572  
  1573  // Deprecated: Do not use.
  1574  func (x *ValidatorParticipation) GetVotedEther() uint64 {
  1575  	if x != nil {
  1576  		return x.VotedEther
  1577  	}
  1578  	return 0
  1579  }
  1580  
  1581  // Deprecated: Do not use.
  1582  func (x *ValidatorParticipation) GetEligibleEther() uint64 {
  1583  	if x != nil {
  1584  		return x.EligibleEther
  1585  	}
  1586  	return 0
  1587  }
  1588  
  1589  func (x *ValidatorParticipation) GetCurrentEpochActiveGwei() uint64 {
  1590  	if x != nil {
  1591  		return x.CurrentEpochActiveGwei
  1592  	}
  1593  	return 0
  1594  }
  1595  
  1596  func (x *ValidatorParticipation) GetCurrentEpochAttestingGwei() uint64 {
  1597  	if x != nil {
  1598  		return x.CurrentEpochAttestingGwei
  1599  	}
  1600  	return 0
  1601  }
  1602  
  1603  func (x *ValidatorParticipation) GetCurrentEpochTargetAttestingGwei() uint64 {
  1604  	if x != nil {
  1605  		return x.CurrentEpochTargetAttestingGwei
  1606  	}
  1607  	return 0
  1608  }
  1609  
  1610  func (x *ValidatorParticipation) GetPreviousEpochActiveGwei() uint64 {
  1611  	if x != nil {
  1612  		return x.PreviousEpochActiveGwei
  1613  	}
  1614  	return 0
  1615  }
  1616  
  1617  func (x *ValidatorParticipation) GetPreviousEpochAttestingGwei() uint64 {
  1618  	if x != nil {
  1619  		return x.PreviousEpochAttestingGwei
  1620  	}
  1621  	return 0
  1622  }
  1623  
  1624  func (x *ValidatorParticipation) GetPreviousEpochTargetAttestingGwei() uint64 {
  1625  	if x != nil {
  1626  		return x.PreviousEpochTargetAttestingGwei
  1627  	}
  1628  	return 0
  1629  }
  1630  
  1631  func (x *ValidatorParticipation) GetPreviousEpochHeadAttestingGwei() uint64 {
  1632  	if x != nil {
  1633  		return x.PreviousEpochHeadAttestingGwei
  1634  	}
  1635  	return 0
  1636  }
  1637  
  1638  type ValidatorInfo struct {
  1639  	state         protoimpl.MessageState
  1640  	sizeCache     protoimpl.SizeCache
  1641  	unknownFields protoimpl.UnknownFields
  1642  
  1643  	PublicKey           []byte                                             `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
  1644  	Index               github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"`
  1645  	Epoch               github_com_prysmaticlabs_eth2_types.Epoch          `protobuf:"varint,3,opt,name=epoch,proto3" json:"epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"`
  1646  	Status              ValidatorStatus                                    `protobuf:"varint,4,opt,name=status,proto3,enum=ethereum.eth.v1alpha1.ValidatorStatus" json:"status,omitempty"`
  1647  	TransitionTimestamp uint64                                             `protobuf:"varint,5,opt,name=transition_timestamp,json=transitionTimestamp,proto3" json:"transition_timestamp,omitempty"`
  1648  	Balance             uint64                                             `protobuf:"varint,6,opt,name=balance,proto3" json:"balance,omitempty"`
  1649  	EffectiveBalance    uint64                                             `protobuf:"varint,7,opt,name=effective_balance,json=effectiveBalance,proto3" json:"effective_balance,omitempty"`
  1650  }
  1651  
  1652  func (x *ValidatorInfo) Reset() {
  1653  	*x = ValidatorInfo{}
  1654  	if protoimpl.UnsafeEnabled {
  1655  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[26]
  1656  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1657  		ms.StoreMessageInfo(mi)
  1658  	}
  1659  }
  1660  
  1661  func (x *ValidatorInfo) String() string {
  1662  	return protoimpl.X.MessageStringOf(x)
  1663  }
  1664  
  1665  func (*ValidatorInfo) ProtoMessage() {}
  1666  
  1667  func (x *ValidatorInfo) ProtoReflect() protoreflect.Message {
  1668  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[26]
  1669  	if protoimpl.UnsafeEnabled && x != nil {
  1670  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1671  		if ms.LoadMessageInfo() == nil {
  1672  			ms.StoreMessageInfo(mi)
  1673  		}
  1674  		return ms
  1675  	}
  1676  	return mi.MessageOf(x)
  1677  }
  1678  
  1679  // Deprecated: Use ValidatorInfo.ProtoReflect.Descriptor instead.
  1680  func (*ValidatorInfo) Descriptor() ([]byte, []int) {
  1681  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{26}
  1682  }
  1683  
  1684  func (x *ValidatorInfo) GetPublicKey() []byte {
  1685  	if x != nil {
  1686  		return x.PublicKey
  1687  	}
  1688  	return nil
  1689  }
  1690  
  1691  func (x *ValidatorInfo) GetIndex() github_com_prysmaticlabs_eth2_types.ValidatorIndex {
  1692  	if x != nil {
  1693  		return x.Index
  1694  	}
  1695  	return github_com_prysmaticlabs_eth2_types.ValidatorIndex(0)
  1696  }
  1697  
  1698  func (x *ValidatorInfo) GetEpoch() github_com_prysmaticlabs_eth2_types.Epoch {
  1699  	if x != nil {
  1700  		return x.Epoch
  1701  	}
  1702  	return github_com_prysmaticlabs_eth2_types.Epoch(0)
  1703  }
  1704  
  1705  func (x *ValidatorInfo) GetStatus() ValidatorStatus {
  1706  	if x != nil {
  1707  		return x.Status
  1708  	}
  1709  	return ValidatorStatus_UNKNOWN_STATUS
  1710  }
  1711  
  1712  func (x *ValidatorInfo) GetTransitionTimestamp() uint64 {
  1713  	if x != nil {
  1714  		return x.TransitionTimestamp
  1715  	}
  1716  	return 0
  1717  }
  1718  
  1719  func (x *ValidatorInfo) GetBalance() uint64 {
  1720  	if x != nil {
  1721  		return x.Balance
  1722  	}
  1723  	return 0
  1724  }
  1725  
  1726  func (x *ValidatorInfo) GetEffectiveBalance() uint64 {
  1727  	if x != nil {
  1728  		return x.EffectiveBalance
  1729  	}
  1730  	return 0
  1731  }
  1732  
  1733  type DoppelGangerRequest struct {
  1734  	state         protoimpl.MessageState
  1735  	sizeCache     protoimpl.SizeCache
  1736  	unknownFields protoimpl.UnknownFields
  1737  
  1738  	ValidatorRequests []*DoppelGangerRequest_ValidatorRequest `protobuf:"bytes,1,rep,name=validator_requests,json=validatorRequests,proto3" json:"validator_requests,omitempty"`
  1739  }
  1740  
  1741  func (x *DoppelGangerRequest) Reset() {
  1742  	*x = DoppelGangerRequest{}
  1743  	if protoimpl.UnsafeEnabled {
  1744  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[27]
  1745  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1746  		ms.StoreMessageInfo(mi)
  1747  	}
  1748  }
  1749  
  1750  func (x *DoppelGangerRequest) String() string {
  1751  	return protoimpl.X.MessageStringOf(x)
  1752  }
  1753  
  1754  func (*DoppelGangerRequest) ProtoMessage() {}
  1755  
  1756  func (x *DoppelGangerRequest) ProtoReflect() protoreflect.Message {
  1757  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[27]
  1758  	if protoimpl.UnsafeEnabled && x != nil {
  1759  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1760  		if ms.LoadMessageInfo() == nil {
  1761  			ms.StoreMessageInfo(mi)
  1762  		}
  1763  		return ms
  1764  	}
  1765  	return mi.MessageOf(x)
  1766  }
  1767  
  1768  // Deprecated: Use DoppelGangerRequest.ProtoReflect.Descriptor instead.
  1769  func (*DoppelGangerRequest) Descriptor() ([]byte, []int) {
  1770  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{27}
  1771  }
  1772  
  1773  func (x *DoppelGangerRequest) GetValidatorRequests() []*DoppelGangerRequest_ValidatorRequest {
  1774  	if x != nil {
  1775  		return x.ValidatorRequests
  1776  	}
  1777  	return nil
  1778  }
  1779  
  1780  type DoppelGangerResponse struct {
  1781  	state         protoimpl.MessageState
  1782  	sizeCache     protoimpl.SizeCache
  1783  	unknownFields protoimpl.UnknownFields
  1784  
  1785  	Responses []*DoppelGangerResponse_ValidatorResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
  1786  }
  1787  
  1788  func (x *DoppelGangerResponse) Reset() {
  1789  	*x = DoppelGangerResponse{}
  1790  	if protoimpl.UnsafeEnabled {
  1791  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[28]
  1792  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1793  		ms.StoreMessageInfo(mi)
  1794  	}
  1795  }
  1796  
  1797  func (x *DoppelGangerResponse) String() string {
  1798  	return protoimpl.X.MessageStringOf(x)
  1799  }
  1800  
  1801  func (*DoppelGangerResponse) ProtoMessage() {}
  1802  
  1803  func (x *DoppelGangerResponse) ProtoReflect() protoreflect.Message {
  1804  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[28]
  1805  	if protoimpl.UnsafeEnabled && x != nil {
  1806  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1807  		if ms.LoadMessageInfo() == nil {
  1808  			ms.StoreMessageInfo(mi)
  1809  		}
  1810  		return ms
  1811  	}
  1812  	return mi.MessageOf(x)
  1813  }
  1814  
  1815  // Deprecated: Use DoppelGangerResponse.ProtoReflect.Descriptor instead.
  1816  func (*DoppelGangerResponse) Descriptor() ([]byte, []int) {
  1817  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{28}
  1818  }
  1819  
  1820  func (x *DoppelGangerResponse) GetResponses() []*DoppelGangerResponse_ValidatorResponse {
  1821  	if x != nil {
  1822  		return x.Responses
  1823  	}
  1824  	return nil
  1825  }
  1826  
  1827  type ValidatorActivationResponse_Status struct {
  1828  	state         protoimpl.MessageState
  1829  	sizeCache     protoimpl.SizeCache
  1830  	unknownFields protoimpl.UnknownFields
  1831  
  1832  	PublicKey []byte                                             `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
  1833  	Status    *ValidatorStatusResponse                           `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
  1834  	Index     github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"`
  1835  }
  1836  
  1837  func (x *ValidatorActivationResponse_Status) Reset() {
  1838  	*x = ValidatorActivationResponse_Status{}
  1839  	if protoimpl.UnsafeEnabled {
  1840  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[29]
  1841  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1842  		ms.StoreMessageInfo(mi)
  1843  	}
  1844  }
  1845  
  1846  func (x *ValidatorActivationResponse_Status) String() string {
  1847  	return protoimpl.X.MessageStringOf(x)
  1848  }
  1849  
  1850  func (*ValidatorActivationResponse_Status) ProtoMessage() {}
  1851  
  1852  func (x *ValidatorActivationResponse_Status) ProtoReflect() protoreflect.Message {
  1853  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[29]
  1854  	if protoimpl.UnsafeEnabled && x != nil {
  1855  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1856  		if ms.LoadMessageInfo() == nil {
  1857  			ms.StoreMessageInfo(mi)
  1858  		}
  1859  		return ms
  1860  	}
  1861  	return mi.MessageOf(x)
  1862  }
  1863  
  1864  // Deprecated: Use ValidatorActivationResponse_Status.ProtoReflect.Descriptor instead.
  1865  func (*ValidatorActivationResponse_Status) Descriptor() ([]byte, []int) {
  1866  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{3, 0}
  1867  }
  1868  
  1869  func (x *ValidatorActivationResponse_Status) GetPublicKey() []byte {
  1870  	if x != nil {
  1871  		return x.PublicKey
  1872  	}
  1873  	return nil
  1874  }
  1875  
  1876  func (x *ValidatorActivationResponse_Status) GetStatus() *ValidatorStatusResponse {
  1877  	if x != nil {
  1878  		return x.Status
  1879  	}
  1880  	return nil
  1881  }
  1882  
  1883  func (x *ValidatorActivationResponse_Status) GetIndex() github_com_prysmaticlabs_eth2_types.ValidatorIndex {
  1884  	if x != nil {
  1885  		return x.Index
  1886  	}
  1887  	return github_com_prysmaticlabs_eth2_types.ValidatorIndex(0)
  1888  }
  1889  
  1890  type DutiesResponse_Duty struct {
  1891  	state         protoimpl.MessageState
  1892  	sizeCache     protoimpl.SizeCache
  1893  	unknownFields protoimpl.UnknownFields
  1894  
  1895  	Committee       []github_com_prysmaticlabs_eth2_types.ValidatorIndex `protobuf:"varint,1,rep,packed,name=committee,proto3" json:"committee,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"`
  1896  	CommitteeIndex  github_com_prysmaticlabs_eth2_types.CommitteeIndex   `protobuf:"varint,2,opt,name=committee_index,json=committeeIndex,proto3" json:"committee_index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.CommitteeIndex"`
  1897  	AttesterSlot    github_com_prysmaticlabs_eth2_types.Slot             `protobuf:"varint,3,opt,name=attester_slot,json=attesterSlot,proto3" json:"attester_slot,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"`
  1898  	ProposerSlots   []github_com_prysmaticlabs_eth2_types.Slot           `protobuf:"varint,4,rep,packed,name=proposer_slots,json=proposerSlots,proto3" json:"proposer_slots,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Slot"`
  1899  	PublicKey       []byte                                               `protobuf:"bytes,5,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" ssz-size:"48"`
  1900  	Status          ValidatorStatus                                      `protobuf:"varint,6,opt,name=status,proto3,enum=ethereum.eth.v1alpha1.ValidatorStatus" json:"status,omitempty"`
  1901  	ValidatorIndex  github_com_prysmaticlabs_eth2_types.ValidatorIndex   `protobuf:"varint,7,opt,name=validator_index,json=validatorIndex,proto3" json:"validator_index,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.ValidatorIndex"`
  1902  	IsSyncCommittee bool                                                 `protobuf:"varint,8,opt,name=is_sync_committee,json=isSyncCommittee,proto3" json:"is_sync_committee,omitempty"`
  1903  }
  1904  
  1905  func (x *DutiesResponse_Duty) Reset() {
  1906  	*x = DutiesResponse_Duty{}
  1907  	if protoimpl.UnsafeEnabled {
  1908  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[30]
  1909  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1910  		ms.StoreMessageInfo(mi)
  1911  	}
  1912  }
  1913  
  1914  func (x *DutiesResponse_Duty) String() string {
  1915  	return protoimpl.X.MessageStringOf(x)
  1916  }
  1917  
  1918  func (*DutiesResponse_Duty) ProtoMessage() {}
  1919  
  1920  func (x *DutiesResponse_Duty) ProtoReflect() protoreflect.Message {
  1921  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[30]
  1922  	if protoimpl.UnsafeEnabled && x != nil {
  1923  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1924  		if ms.LoadMessageInfo() == nil {
  1925  			ms.StoreMessageInfo(mi)
  1926  		}
  1927  		return ms
  1928  	}
  1929  	return mi.MessageOf(x)
  1930  }
  1931  
  1932  // Deprecated: Use DutiesResponse_Duty.ProtoReflect.Descriptor instead.
  1933  func (*DutiesResponse_Duty) Descriptor() ([]byte, []int) {
  1934  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{13, 0}
  1935  }
  1936  
  1937  func (x *DutiesResponse_Duty) GetCommittee() []github_com_prysmaticlabs_eth2_types.ValidatorIndex {
  1938  	if x != nil {
  1939  		return x.Committee
  1940  	}
  1941  	return []github_com_prysmaticlabs_eth2_types.ValidatorIndex(nil)
  1942  }
  1943  
  1944  func (x *DutiesResponse_Duty) GetCommitteeIndex() github_com_prysmaticlabs_eth2_types.CommitteeIndex {
  1945  	if x != nil {
  1946  		return x.CommitteeIndex
  1947  	}
  1948  	return github_com_prysmaticlabs_eth2_types.CommitteeIndex(0)
  1949  }
  1950  
  1951  func (x *DutiesResponse_Duty) GetAttesterSlot() github_com_prysmaticlabs_eth2_types.Slot {
  1952  	if x != nil {
  1953  		return x.AttesterSlot
  1954  	}
  1955  	return github_com_prysmaticlabs_eth2_types.Slot(0)
  1956  }
  1957  
  1958  func (x *DutiesResponse_Duty) GetProposerSlots() []github_com_prysmaticlabs_eth2_types.Slot {
  1959  	if x != nil {
  1960  		return x.ProposerSlots
  1961  	}
  1962  	return []github_com_prysmaticlabs_eth2_types.Slot(nil)
  1963  }
  1964  
  1965  func (x *DutiesResponse_Duty) GetPublicKey() []byte {
  1966  	if x != nil {
  1967  		return x.PublicKey
  1968  	}
  1969  	return nil
  1970  }
  1971  
  1972  func (x *DutiesResponse_Duty) GetStatus() ValidatorStatus {
  1973  	if x != nil {
  1974  		return x.Status
  1975  	}
  1976  	return ValidatorStatus_UNKNOWN_STATUS
  1977  }
  1978  
  1979  func (x *DutiesResponse_Duty) GetValidatorIndex() github_com_prysmaticlabs_eth2_types.ValidatorIndex {
  1980  	if x != nil {
  1981  		return x.ValidatorIndex
  1982  	}
  1983  	return github_com_prysmaticlabs_eth2_types.ValidatorIndex(0)
  1984  }
  1985  
  1986  func (x *DutiesResponse_Duty) GetIsSyncCommittee() bool {
  1987  	if x != nil {
  1988  		return x.IsSyncCommittee
  1989  	}
  1990  	return false
  1991  }
  1992  
  1993  type DoppelGangerRequest_ValidatorRequest struct {
  1994  	state         protoimpl.MessageState
  1995  	sizeCache     protoimpl.SizeCache
  1996  	unknownFields protoimpl.UnknownFields
  1997  
  1998  	PublicKey  []byte                                    `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" spec-name:"pubkey" ssz-size:"48"`
  1999  	Epoch      github_com_prysmaticlabs_eth2_types.Epoch `protobuf:"varint,3,opt,name=epoch,proto3" json:"epoch,omitempty" cast-type:"github.com/prysmaticlabs/eth2-types.Epoch"`
  2000  	SignedRoot []byte                                    `protobuf:"bytes,2,opt,name=signed_root,json=signedRoot,proto3" json:"signed_root,omitempty" ssz-size:"32"`
  2001  }
  2002  
  2003  func (x *DoppelGangerRequest_ValidatorRequest) Reset() {
  2004  	*x = DoppelGangerRequest_ValidatorRequest{}
  2005  	if protoimpl.UnsafeEnabled {
  2006  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[31]
  2007  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2008  		ms.StoreMessageInfo(mi)
  2009  	}
  2010  }
  2011  
  2012  func (x *DoppelGangerRequest_ValidatorRequest) String() string {
  2013  	return protoimpl.X.MessageStringOf(x)
  2014  }
  2015  
  2016  func (*DoppelGangerRequest_ValidatorRequest) ProtoMessage() {}
  2017  
  2018  func (x *DoppelGangerRequest_ValidatorRequest) ProtoReflect() protoreflect.Message {
  2019  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[31]
  2020  	if protoimpl.UnsafeEnabled && x != nil {
  2021  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2022  		if ms.LoadMessageInfo() == nil {
  2023  			ms.StoreMessageInfo(mi)
  2024  		}
  2025  		return ms
  2026  	}
  2027  	return mi.MessageOf(x)
  2028  }
  2029  
  2030  // Deprecated: Use DoppelGangerRequest_ValidatorRequest.ProtoReflect.Descriptor instead.
  2031  func (*DoppelGangerRequest_ValidatorRequest) Descriptor() ([]byte, []int) {
  2032  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{27, 0}
  2033  }
  2034  
  2035  func (x *DoppelGangerRequest_ValidatorRequest) GetPublicKey() []byte {
  2036  	if x != nil {
  2037  		return x.PublicKey
  2038  	}
  2039  	return nil
  2040  }
  2041  
  2042  func (x *DoppelGangerRequest_ValidatorRequest) GetEpoch() github_com_prysmaticlabs_eth2_types.Epoch {
  2043  	if x != nil {
  2044  		return x.Epoch
  2045  	}
  2046  	return github_com_prysmaticlabs_eth2_types.Epoch(0)
  2047  }
  2048  
  2049  func (x *DoppelGangerRequest_ValidatorRequest) GetSignedRoot() []byte {
  2050  	if x != nil {
  2051  		return x.SignedRoot
  2052  	}
  2053  	return nil
  2054  }
  2055  
  2056  type DoppelGangerResponse_ValidatorResponse struct {
  2057  	state         protoimpl.MessageState
  2058  	sizeCache     protoimpl.SizeCache
  2059  	unknownFields protoimpl.UnknownFields
  2060  
  2061  	PublicKey       []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty" spec-name:"pubkey" ssz-size:"48"`
  2062  	DuplicateExists bool   `protobuf:"varint,2,opt,name=duplicate_exists,json=duplicateExists,proto3" json:"duplicate_exists,omitempty"`
  2063  }
  2064  
  2065  func (x *DoppelGangerResponse_ValidatorResponse) Reset() {
  2066  	*x = DoppelGangerResponse_ValidatorResponse{}
  2067  	if protoimpl.UnsafeEnabled {
  2068  		mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[32]
  2069  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2070  		ms.StoreMessageInfo(mi)
  2071  	}
  2072  }
  2073  
  2074  func (x *DoppelGangerResponse_ValidatorResponse) String() string {
  2075  	return protoimpl.X.MessageStringOf(x)
  2076  }
  2077  
  2078  func (*DoppelGangerResponse_ValidatorResponse) ProtoMessage() {}
  2079  
  2080  func (x *DoppelGangerResponse_ValidatorResponse) ProtoReflect() protoreflect.Message {
  2081  	mi := &file_proto_eth_v1alpha1_validator_proto_msgTypes[32]
  2082  	if protoimpl.UnsafeEnabled && x != nil {
  2083  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2084  		if ms.LoadMessageInfo() == nil {
  2085  			ms.StoreMessageInfo(mi)
  2086  		}
  2087  		return ms
  2088  	}
  2089  	return mi.MessageOf(x)
  2090  }
  2091  
  2092  // Deprecated: Use DoppelGangerResponse_ValidatorResponse.ProtoReflect.Descriptor instead.
  2093  func (*DoppelGangerResponse_ValidatorResponse) Descriptor() ([]byte, []int) {
  2094  	return file_proto_eth_v1alpha1_validator_proto_rawDescGZIP(), []int{28, 0}
  2095  }
  2096  
  2097  func (x *DoppelGangerResponse_ValidatorResponse) GetPublicKey() []byte {
  2098  	if x != nil {
  2099  		return x.PublicKey
  2100  	}
  2101  	return nil
  2102  }
  2103  
  2104  func (x *DoppelGangerResponse_ValidatorResponse) GetDuplicateExists() bool {
  2105  	if x != nil {
  2106  		return x.DuplicateExists
  2107  	}
  2108  	return false
  2109  }
  2110  
  2111  var File_proto_eth_v1alpha1_validator_proto protoreflect.FileDescriptor
  2112  
  2113  var file_proto_eth_v1alpha1_validator_proto_rawDesc = []byte{
  2114  	0x0a, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c,
  2115  	0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70,
  2116  	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65,
  2117  	0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
  2118  	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
  2119  	0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2120  	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79,
  2121  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74,
  2122  	0x68, 0x2f, 0x65, 0x78, 0x74, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
  2123  	0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76,
  2124  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x62, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x5f, 0x62,
  2125  	0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74,
  2126  	0x6f, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x61,
  2127  	0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2128  	0x22, 0x6c, 0x0a, 0x0d, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  2129  	0x74, 0x12, 0x43, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
  2130  	0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
  2131  	0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65,
  2132  	0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52,
  2133  	0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
  2134  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3b,
  2135  	0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2136  	0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x6f,
  2137  	0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e,
  2138  	0x61, 0x74, 0x75, 0x72, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x47, 0x0a, 0x1a, 0x56,
  2139  	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69,
  2140  	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x75, 0x62,
  2141  	0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x08,
  2142  	0x8a, 0xb5, 0x18, 0x04, 0x3f, 0x2c, 0x34, 0x38, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
  2143  	0x4b, 0x65, 0x79, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
  2144  	0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
  2145  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73,
  2146  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
  2147  	0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56,
  2148  	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69,
  2149  	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
  2150  	0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x1a, 0xbd, 0x01, 0x0a, 0x06,
  2151  	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
  2152  	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c,
  2153  	0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
  2154  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d,
  2155  	0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61,
  2156  	0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73,
  2157  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4c, 0x0a,
  2158  	0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5,
  2159  	0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79,
  2160  	0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d,
  2161  	0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49,
  2162  	0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x91, 0x01, 0x0a, 0x12,
  2163  	0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2164  	0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20,
  2165  	0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c,
  2166  	0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
  2167  	0x28, 0x04, 0x52, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12,
  2168  	0x3e, 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64,
  2169  	0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
  2170  	0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69,
  2171  	0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x22,
  2172  	0x4b, 0x0a, 0x0e, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2173  	0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  2174  	0x08, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x65, 0x6e,
  2175  	0x65, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
  2176  	0x0b, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x15,
  2177  	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65,
  2178  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f,
  2179  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x34,
  2180  	0x38, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x66, 0x0a, 0x16,
  2181  	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65,
  2182  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
  2183  	0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75,
  2184  	0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c,
  2185  	0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56,
  2186  	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69,
  2187  	0x6e, 0x64, 0x65, 0x78, 0x22, 0x3f, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
  2188  	0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25,
  2189  	0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
  2190  	0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x34, 0x38, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c,
  2191  	0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x93, 0x03, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
  2192  	0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2193  	0x65, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
  2194  	0x0e, 0x32, 0x26, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68,
  2195  	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
  2196  	0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
  2197  	0x73, 0x12, 0x39, 0x0a, 0x19, 0x65, 0x74, 0x68, 0x31, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69,
  2198  	0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02,
  2199  	0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x65, 0x74, 0x68, 0x31, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69,
  2200  	0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x16,
  2201  	0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f,
  2202  	0x6e, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5,
  2203  	0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79,
  2204  	0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d,
  2205  	0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x14, 0x64, 0x65, 0x70, 0x6f,
  2206  	0x73, 0x69, 0x74, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x6c, 0x6f, 0x74,
  2207  	0x12, 0x58, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65,
  2208  	0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29,
  2209  	0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d,
  2210  	0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79,
  2211  	0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76,
  2212  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x6f,
  2213  	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61,
  2214  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04,
  2215  	0x52, 0x19, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x41, 0x63, 0x74, 0x69,
  2216  	0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x22, 0x65, 0x0a, 0x1e, 0x4d,
  2217  	0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
  2218  	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a,
  2219  	0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03,
  2220  	0x28, 0x0c, 0x42, 0x08, 0x8a, 0xb5, 0x18, 0x04, 0x3f, 0x2c, 0x34, 0x38, 0x52, 0x0a, 0x70, 0x75,
  2221  	0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x69,
  2222  	0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x69, 0x63,
  2223  	0x65, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x1f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x56,
  2224  	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
  2225  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
  2226  	0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x08, 0x8a, 0xb5, 0x18,
  2227  	0x04, 0x3f, 0x2c, 0x34, 0x38, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
  2228  	0x73, 0x12, 0x4a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20,
  2229  	0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65,
  2230  	0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69,
  2231  	0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2232  	0x6e, 0x73, 0x65, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x50, 0x0a,
  2233  	0x07, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x42, 0x36,
  2234  	0x82, 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70,
  2235  	0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68,
  2236  	0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
  2237  	0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x22,
  2238  	0x7f, 0x0a, 0x0d, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2239  	0x12, 0x43, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42,
  2240  	0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2241  	0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74,
  2242  	0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05,
  2243  	0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f,
  2244  	0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x08, 0x8a, 0xb5, 0x18, 0x04,
  2245  	0x3f, 0x2c, 0x34, 0x38, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73,
  2246  	0x22, 0xea, 0x06, 0x0a, 0x0e, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2247  	0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x64, 0x75, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20,
  2248  	0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65,
  2249  	0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74, 0x69,
  2250  	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x75, 0x74, 0x79, 0x42,
  2251  	0x02, 0x18, 0x01, 0x52, 0x06, 0x64, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x14, 0x63,
  2252  	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x74,
  2253  	0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65,
  2254  	0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  2255  	0x31, 0x2e, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2256  	0x2e, 0x44, 0x75, 0x74, 0x79, 0x52, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70,
  2257  	0x6f, 0x63, 0x68, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x11, 0x6e, 0x65, 0x78,
  2258  	0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03,
  2259  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e,
  2260  	0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74,
  2261  	0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x75, 0x74, 0x79,
  2262  	0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x44, 0x75, 0x74, 0x69, 0x65,
  2263  	0x73, 0x1a, 0xd9, 0x04, 0x0a, 0x04, 0x44, 0x75, 0x74, 0x79, 0x12, 0x54, 0x0a, 0x09, 0x63, 0x6f,
  2264  	0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x42, 0x36, 0x82,
  2265  	0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72,
  2266  	0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32,
  2267  	0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
  2268  	0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65,
  2269  	0x12, 0x5f, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x6e,
  2270  	0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 0x18, 0x32, 0x67,
  2271  	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61,
  2272  	0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70,
  2273  	0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, 0x64, 0x65,
  2274  	0x78, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49, 0x6e, 0x64, 0x65,
  2275  	0x78, 0x12, 0x51, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x6c,
  2276  	0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5, 0x18, 0x28, 0x67, 0x69,
  2277  	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74,
  2278  	0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65,
  2279  	0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72,
  2280  	0x53, 0x6c, 0x6f, 0x74, 0x12, 0x53, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72,
  2281  	0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5,
  2282  	0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79,
  2283  	0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d,
  2284  	0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x70,
  2285  	0x6f, 0x73, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x75, 0x62,
  2286  	0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a,
  2287  	0xb5, 0x18, 0x02, 0x34, 0x38, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
  2288  	0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e,
  2289  	0x32, 0x26, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e,
  2290  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
  2291  	0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
  2292  	0x12, 0x5f, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e,
  2293  	0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 0x18, 0x32, 0x67,
  2294  	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61,
  2295  	0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70,
  2296  	0x65, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65,
  2297  	0x78, 0x52, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65,
  2298  	0x78, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6d,
  2299  	0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73,
  2300  	0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x22, 0xa1, 0x01,
  2301  	0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40,
  2302  	0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5,
  2303  	0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79,
  2304  	0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d,
  2305  	0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74,
  2306  	0x12, 0x2b, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61,
  2307  	0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x34, 0x38, 0x52,
  2308  	0x0c, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x6f, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x12, 0x22, 0x0a,
  2309  	0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42,
  2310  	0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x08, 0x67, 0x72, 0x61, 0x66, 0x66, 0x69, 0x74,
  2311  	0x69, 0x22, 0x38, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
  2312  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x6f,
  2313  	0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32,
  2314  	0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x3a, 0x0a, 0x13, 0x50,
  2315  	0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x45, 0x78, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2316  	0x73, 0x65, 0x12, 0x23, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18,
  2317  	0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x08, 0x65,
  2318  	0x78, 0x69, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0xbb, 0x01, 0x0a, 0x16, 0x41, 0x74, 0x74, 0x65,
  2319  	0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
  2320  	0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
  2321  	0x42, 0x2c, 0x82, 0xb5, 0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
  2322  	0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65,
  2323  	0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04,
  2324  	0x73, 0x6c, 0x6f, 0x74, 0x12, 0x5f, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65,
  2325  	0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82,
  2326  	0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72,
  2327  	0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32,
  2328  	0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65,
  2329  	0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65,
  2330  	0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4c, 0x0a, 0x0e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x52,
  2331  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x15, 0x61, 0x74, 0x74, 0x65, 0x73,
  2332  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x6f, 0x6f, 0x74,
  2333  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x13,
  2334  	0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52,
  2335  	0x6f, 0x6f, 0x74, 0x22, 0x9e, 0x02, 0x0a, 0x19, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74,
  2336  	0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  2337  	0x74, 0x12, 0x40, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42,
  2338  	0x2c, 0x82, 0xb5, 0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2339  	0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74,
  2340  	0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x04, 0x73,
  2341  	0x6c, 0x6f, 0x74, 0x12, 0x5f, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65,
  2342  	0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5,
  2343  	0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79,
  2344  	0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d,
  2345  	0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49,
  2346  	0x6e, 0x64, 0x65, 0x78, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x49,
  2347  	0x6e, 0x64, 0x65, 0x78, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b,
  2348  	0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x10, 0x8a, 0xb5, 0x18, 0x02, 0x34, 0x38,
  2349  	0x9a, 0xb5, 0x18, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c,
  2350  	0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x69,
  2351  	0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a,
  2352  	0xb5, 0x18, 0x02, 0x39, 0x36, 0x52, 0x0d, 0x73, 0x6c, 0x6f, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61,
  2353  	0x74, 0x75, 0x72, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
  2354  	0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2355  	0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65,
  2356  	0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  2357  	0x32, 0x33, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e,
  2358  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
  2359  	0x74, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64,
  2360  	0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x11, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65,
  2361  	0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x22, 0x96, 0x01, 0x0a, 0x1c, 0x53, 0x69, 0x67,
  2362  	0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6d,
  2363  	0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x76, 0x0a, 0x1a, 0x73, 0x69, 0x67,
  2364  	0x6e, 0x65, 0x64, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6e,
  2365  	0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e,
  2366  	0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61,
  2367  	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72,
  2368  	0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2369  	0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x17, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64,
  2370  	0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x6f,
  2371  	0x66, 0x22, 0x5b, 0x0a, 0x1d, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65,
  2372  	0x67, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2373  	0x73, 0x65, 0x12, 0x3a, 0x0a, 0x15, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f,
  2374  	0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  2375  	0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32, 0x52, 0x13, 0x61, 0x74, 0x74, 0x65, 0x73,
  2376  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0xe8,
  2377  	0x01, 0x0a, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x53, 0x75, 0x62, 0x6e,
  2378  	0x65, 0x74, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75,
  2379  	0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
  2380  	0x28, 0x04, 0x42, 0x2c, 0x82, 0xb5, 0x18, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
  2381  	0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73,
  2382  	0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74,
  2383  	0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x5b, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69,
  2384  	0x74, 0x74, 0x65, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x42, 0x36,
  2385  	0x82, 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70,
  2386  	0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68,
  2387  	0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65,
  2388  	0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65,
  2389  	0x65, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65,
  2390  	0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x41,
  2391  	0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xb9, 0x04, 0x0a, 0x09, 0x56, 0x61,
  2392  	0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69,
  2393  	0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x10, 0x8a, 0xb5, 0x18,
  2394  	0x02, 0x34, 0x38, 0x9a, 0xb5, 0x18, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x09, 0x70,
  2395  	0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x16, 0x77, 0x69, 0x74, 0x68,
  2396  	0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
  2397  	0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32,
  2398  	0x52, 0x15, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64,
  2399  	0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63,
  2400  	0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01,
  2401  	0x28, 0x04, 0x52, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x61, 0x6c,
  2402  	0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x64, 0x18,
  2403  	0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x64, 0x12, 0x6f,
  2404  	0x0a, 0x1c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6c, 0x69,
  2405  	0x67, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x05,
  2406  	0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
  2407  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61,
  2408  	0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70,
  2409  	0x6f, 0x63, 0x68, 0x52, 0x1a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
  2410  	0x6c, 0x69, 0x67, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12,
  2411  	0x58, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x70,
  2412  	0x6f, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67,
  2413  	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61,
  2414  	0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70,
  2415  	0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61,
  2416  	0x74, 0x69, 0x6f, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0a, 0x65, 0x78, 0x69,
  2417  	0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82,
  2418  	0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72,
  2419  	0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32,
  2420  	0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x09, 0x65, 0x78,
  2421  	0x69, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x5c, 0x0a, 0x12, 0x77, 0x69, 0x74, 0x68, 0x64,
  2422  	0x72, 0x61, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x08, 0x20,
  2423  	0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
  2424  	0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62,
  2425  	0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f,
  2426  	0x63, 0x68, 0x52, 0x11, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x62, 0x6c, 0x65,
  2427  	0x45, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x8e, 0x05, 0x0a, 0x16, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
  2428  	0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2429  	0x12, 0x3e, 0x0a, 0x19, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69,
  2430  	0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
  2431  	0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x17, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50,
  2432  	0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65,
  2433  	0x12, 0x23, 0x0a, 0x0b, 0x76, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x18,
  2434  	0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x76, 0x6f, 0x74, 0x65, 0x64,
  2435  	0x45, 0x74, 0x68, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x0e, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c,
  2436  	0x65, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18,
  2437  	0x01, 0x52, 0x0d, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x45, 0x74, 0x68, 0x65, 0x72,
  2438  	0x12, 0x39, 0x0a, 0x19, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63,
  2439  	0x68, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x77, 0x65, 0x69, 0x18, 0x04, 0x20,
  2440  	0x01, 0x28, 0x04, 0x52, 0x16, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63,
  2441  	0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x77, 0x65, 0x69, 0x12, 0x3f, 0x0a, 0x1c, 0x63,
  2442  	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74,
  2443  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x77, 0x65, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28,
  2444  	0x04, 0x52, 0x19, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x41,
  2445  	0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x12, 0x4c, 0x0a, 0x23,
  2446  	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, 0x61,
  2447  	0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x67,
  2448  	0x77, 0x65, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1f, 0x63, 0x75, 0x72, 0x72, 0x65,
  2449  	0x6e, 0x74, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x74, 0x74,
  2450  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x72,
  2451  	0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x61, 0x63, 0x74,
  2452  	0x69, 0x76, 0x65, 0x5f, 0x67, 0x77, 0x65, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17,
  2453  	0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x41, 0x63, 0x74,
  2454  	0x69, 0x76, 0x65, 0x47, 0x77, 0x65, 0x69, 0x12, 0x41, 0x0a, 0x1d, 0x70, 0x72, 0x65, 0x76, 0x69,
  2455  	0x6f, 0x75, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74,
  2456  	0x69, 0x6e, 0x67, 0x5f, 0x67, 0x77, 0x65, 0x69, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a,
  2457  	0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x41, 0x74, 0x74,
  2458  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x12, 0x4e, 0x0a, 0x24, 0x70, 0x72,
  2459  	0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x72,
  2460  	0x67, 0x65, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x77,
  2461  	0x65, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f,
  2462  	0x75, 0x73, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x74, 0x74,
  2463  	0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x12, 0x4a, 0x0a, 0x22, 0x70, 0x72,
  2464  	0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x68, 0x65, 0x61,
  2465  	0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x77, 0x65, 0x69,
  2466  	0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73,
  2467  	0x45, 0x70, 0x6f, 0x63, 0x68, 0x48, 0x65, 0x61, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x69,
  2468  	0x6e, 0x67, 0x47, 0x77, 0x65, 0x69, 0x22, 0xfb, 0x02, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64,
  2469  	0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c,
  2470  	0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75,
  2471  	0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x4c, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
  2472  	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x36, 0x82, 0xb5, 0x18, 0x32, 0x67, 0x69, 0x74, 0x68,
  2473  	0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63,
  2474  	0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
  2475  	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05,
  2476  	0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x43, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03,
  2477  	0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82, 0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
  2478  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61,
  2479  	0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70,
  2480  	0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74,
  2481  	0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x74, 0x68,
  2482  	0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  2483  	0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74,
  2484  	0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x72,
  2485  	0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  2486  	0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69,
  2487  	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a,
  2488  	0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07,
  2489  	0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63,
  2490  	0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01,
  2491  	0x28, 0x04, 0x52, 0x10, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x61, 0x6c,
  2492  	0x61, 0x6e, 0x63, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x13, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47,
  2493  	0x61, 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x12,
  2494  	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
  2495  	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
  2496  	0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
  2497  	0x2e, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71,
  2498  	0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65,
  2499  	0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
  2500  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0xb1, 0x01, 0x0a, 0x10, 0x56, 0x61, 0x6c,
  2501  	0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a,
  2502  	0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
  2503  	0x0c, 0x42, 0x10, 0x8a, 0xb5, 0x18, 0x02, 0x34, 0x38, 0x9a, 0xb5, 0x18, 0x06, 0x70, 0x75, 0x62,
  2504  	0x6b, 0x65, 0x79, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x43,
  2505  	0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x2d, 0x82,
  2506  	0xb5, 0x18, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72,
  2507  	0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x65, 0x74, 0x68, 0x32,
  2508  	0x2d, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x52, 0x05, 0x65, 0x70,
  2509  	0x6f, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x6f,
  2510  	0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x06, 0x8a, 0xb5, 0x18, 0x02, 0x33, 0x32,
  2511  	0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0xe4, 0x01, 0x0a,
  2512  	0x14, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73,
  2513  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2514  	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
  2515  	0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
  2516  	0x2e, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73,
  2517  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52,
  2518  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2519  	0x65, 0x73, 0x1a, 0x6f, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52,
  2520  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69,
  2521  	0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x10, 0x8a, 0xb5, 0x18,
  2522  	0x02, 0x34, 0x38, 0x9a, 0xb5, 0x18, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x09, 0x70,
  2523  	0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x75, 0x70, 0x6c,
  2524  	0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01,
  2525  	0x28, 0x08, 0x52, 0x0f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x45, 0x78, 0x69,
  2526  	0x73, 0x74, 0x73, 0x2a, 0x9a, 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
  2527  	0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
  2528  	0x57, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x44,
  2529  	0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45,
  2530  	0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56,
  2531  	0x45, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04,
  2532  	0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4c, 0x41, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0a,
  2533  	0x0a, 0x06, 0x45, 0x58, 0x49, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e,
  2534  	0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x54, 0x49,
  2535  	0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x45, 0x44, 0x10, 0x08,
  2536  	0x32, 0xd3, 0x14, 0x0a, 0x13, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x56,
  2537  	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x80, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74,
  2538  	0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
  2539  	0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44,
  2540  	0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65,
  2541  	0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  2542  	0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2543  	0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x74,
  2544  	0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64,
  2545  	0x61, 0x74, 0x6f, 0x72, 0x2f, 0x64, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x0c,
  2546  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x65,
  2547  	0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  2548  	0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
  2549  	0x73, 0x74, 0x1a, 0x25, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74,
  2550  	0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x75, 0x74, 0x69, 0x65,
  2551  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  2552  	0x27, 0x12, 0x25, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
  2553  	0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x64, 0x75, 0x74, 0x69, 0x65,
  2554  	0x73, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x0a, 0x44,
  2555  	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x2e, 0x65, 0x74, 0x68, 0x65,
  2556  	0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  2557  	0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  2558  	0x25, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76,
  2559  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65,
  2560  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e,
  2561  	0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61,
  2562  	0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x8e,
  2563  	0x01, 0x0a, 0x11, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53,
  2564  	0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2565  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x29, 0x2e, 0x65,
  2566  	0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  2567  	0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52,
  2568  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93,
  2569  	0x02, 0x2b, 0x12, 0x29, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  2570  	0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x63, 0x68, 0x61, 0x69,
  2571  	0x6e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30, 0x01, 0x12,
  2572  	0xaf, 0x01, 0x0a, 0x11, 0x57, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76,
  2573  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d,
  2574  	0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61,
  2575  	0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f,
  2576  	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
  2577  	0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
  2578  	0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
  2579  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3,
  2580  	0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
  2581  	0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x63,
  2582  	0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x30,
  2583  	0x01, 0x12, 0x94, 0x01, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49,
  2584  	0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e,
  2585  	0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c,
  2586  	0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65,
  2587  	0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74,
  2588  	0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
  2589  	0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  2590  	0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x65, 0x74, 0x68, 0x2f,
  2591  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
  2592  	0x6f, 0x72, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x98, 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x6c,
  2593  	0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x2e, 0x65,
  2594  	0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  2595  	0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74,
  2596  	0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x65, 0x74,
  2597  	0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  2598  	0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61,
  2599  	0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4,
  2600  	0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  2601  	0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x73, 0x74, 0x61,
  2602  	0x74, 0x75, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65,
  2603  	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
  2604  	0x35, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76,
  2605  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65,
  2606  	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
  2607  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75,
  2608  	0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d,
  2609  	0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
  2610  	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28,
  2611  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61,
  2612  	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f,
  2613  	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x7a, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42,
  2614  	0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x23, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e,
  2615  	0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x6f,
  2616  	0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x65, 0x74, 0x68, 0x65,
  2617  	0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  2618  	0x31, 0x2e, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x25, 0x82,
  2619  	0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c,
  2620  	0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62,
  2621  	0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x8a, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65,
  2622  	0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x28, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d,
  2623  	0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69,
  2624  	0x67, 0x6e, 0x65, 0x64, 0x42, 0x65, 0x61, 0x63, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x1a,
  2625  	0x26, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76,
  2626  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x52,
  2627  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22,
  2628  	0x1d, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76,
  2629  	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3a, 0x01,
  2630  	0x2a, 0x12, 0x98, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61,
  2631  	0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72,
  2632  	0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
  2633  	0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61,
  2634  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65,
  2635  	0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
  2636  	0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22,
  2637  	0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31,
  2638  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
  2639  	0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8f, 0x01, 0x0a,
  2640  	0x12, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74,
  2641  	0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65,
  2642  	0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65,
  2643  	0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x25, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65,
  2644  	0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
  2645  	0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e,
  2646  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61,
  2647  	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f,
  2648  	0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0xb2,
  2649  	0x01, 0x0a, 0x1d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
  2650  	0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66,
  2651  	0x12, 0x30, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e,
  2652  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
  2653  	0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
  2654  	0x73, 0x74, 0x1a, 0x31, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74,
  2655  	0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65,
  2656  	0x67, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
  2657  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x21, 0x2f,
  2658  	0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c,
  2659  	0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65,
  2660  	0x3a, 0x01, 0x2a, 0x12, 0xbe, 0x01, 0x0a, 0x23, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x53, 0x69,
  2661  	0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c,
  2662  	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x33, 0x2e, 0x65, 0x74,
  2663  	0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  2664  	0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67,
  2665  	0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  2666  	0x1a, 0x34, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e,
  2667  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x41,
  2668  	0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65,
  2669  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x21,
  2670  	0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61,
  2671  	0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74,
  2672  	0x65, 0x3a, 0x01, 0x2a, 0x12, 0x8e, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65,
  2673  	0x45, 0x78, 0x69, 0x74, 0x12, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e,
  2674  	0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x67,
  2675  	0x6e, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6e, 0x74, 0x61, 0x72, 0x79, 0x45, 0x78, 0x69, 0x74,
  2676  	0x1a, 0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e,
  2677  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65,
  2678  	0x45, 0x78, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3,
  2679  	0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
  2680  	0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x65, 0x78,
  2681  	0x69, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xa1, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
  2682  	0x69, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x53, 0x75, 0x62, 0x6e,
  2683  	0x65, 0x74, 0x73, 0x12, 0x37, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65,
  2684  	0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
  2685  	0x69, 0x74, 0x74, 0x65, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x53, 0x75, 0x62, 0x73,
  2686  	0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
  2687  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
  2688  	0x6d, 0x70, 0x74, 0x79, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x22, 0x28, 0x2f, 0x65,
  2689  	0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69,
  2690  	0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x2f, 0x73, 0x75, 0x62,
  2691  	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x9a, 0x01, 0x0a, 0x11, 0x43, 0x68,
  2692  	0x65, 0x63, 0x6b, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x12,
  2693  	0x2a, 0x2e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76,
  2694  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61,
  2695  	0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x65, 0x74,
  2696  	0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  2697  	0x68, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c, 0x47, 0x61, 0x6e, 0x67, 0x65, 0x72,
  2698  	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26,
  2699  	0x12, 0x24, 0x2f, 0x65, 0x74, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f,
  2700  	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x64, 0x6f, 0x70, 0x70, 0x65, 0x6c,
  2701  	0x67, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x42, 0x94, 0x01, 0x0a, 0x19, 0x6f, 0x72, 0x67, 0x2e, 0x65,
  2702  	0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x65, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  2703  	0x70, 0x68, 0x61, 0x31, 0x42, 0x0e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x50,
  2704  	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
  2705  	0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x6c, 0x61, 0x62, 0x73,
  2706  	0x2f, 0x70, 0x72, 0x79, 0x73, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x74, 0x68,
  2707  	0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x65, 0x74, 0x68, 0xaa, 0x02, 0x15,
  2708  	0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d, 0x2e, 0x45, 0x74, 0x68, 0x2e, 0x76, 0x31, 0x61,
  2709  	0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x15, 0x45, 0x74, 0x68, 0x65, 0x72, 0x65, 0x75, 0x6d,
  2710  	0x5c, 0x45, 0x74, 0x68, 0x5c, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70,
  2711  	0x72, 0x6f, 0x74, 0x6f, 0x33,
  2712  }
  2713  
  2714  var (
  2715  	file_proto_eth_v1alpha1_validator_proto_rawDescOnce sync.Once
  2716  	file_proto_eth_v1alpha1_validator_proto_rawDescData = file_proto_eth_v1alpha1_validator_proto_rawDesc
  2717  )
  2718  
  2719  func file_proto_eth_v1alpha1_validator_proto_rawDescGZIP() []byte {
  2720  	file_proto_eth_v1alpha1_validator_proto_rawDescOnce.Do(func() {
  2721  		file_proto_eth_v1alpha1_validator_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_eth_v1alpha1_validator_proto_rawDescData)
  2722  	})
  2723  	return file_proto_eth_v1alpha1_validator_proto_rawDescData
  2724  }
  2725  
  2726  var file_proto_eth_v1alpha1_validator_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  2727  var file_proto_eth_v1alpha1_validator_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
  2728  var file_proto_eth_v1alpha1_validator_proto_goTypes = []interface{}{
  2729  	(ValidatorStatus)(0),                           // 0: ethereum.eth.v1alpha1.ValidatorStatus
  2730  	(*DomainRequest)(nil),                          // 1: ethereum.eth.v1alpha1.DomainRequest
  2731  	(*DomainResponse)(nil),                         // 2: ethereum.eth.v1alpha1.DomainResponse
  2732  	(*ValidatorActivationRequest)(nil),             // 3: ethereum.eth.v1alpha1.ValidatorActivationRequest
  2733  	(*ValidatorActivationResponse)(nil),            // 4: ethereum.eth.v1alpha1.ValidatorActivationResponse
  2734  	(*ChainStartResponse)(nil),                     // 5: ethereum.eth.v1alpha1.ChainStartResponse
  2735  	(*SyncedResponse)(nil),                         // 6: ethereum.eth.v1alpha1.SyncedResponse
  2736  	(*ValidatorIndexRequest)(nil),                  // 7: ethereum.eth.v1alpha1.ValidatorIndexRequest
  2737  	(*ValidatorIndexResponse)(nil),                 // 8: ethereum.eth.v1alpha1.ValidatorIndexResponse
  2738  	(*ValidatorStatusRequest)(nil),                 // 9: ethereum.eth.v1alpha1.ValidatorStatusRequest
  2739  	(*ValidatorStatusResponse)(nil),                // 10: ethereum.eth.v1alpha1.ValidatorStatusResponse
  2740  	(*MultipleValidatorStatusRequest)(nil),         // 11: ethereum.eth.v1alpha1.MultipleValidatorStatusRequest
  2741  	(*MultipleValidatorStatusResponse)(nil),        // 12: ethereum.eth.v1alpha1.MultipleValidatorStatusResponse
  2742  	(*DutiesRequest)(nil),                          // 13: ethereum.eth.v1alpha1.DutiesRequest
  2743  	(*DutiesResponse)(nil),                         // 14: ethereum.eth.v1alpha1.DutiesResponse
  2744  	(*BlockRequest)(nil),                           // 15: ethereum.eth.v1alpha1.BlockRequest
  2745  	(*ProposeResponse)(nil),                        // 16: ethereum.eth.v1alpha1.ProposeResponse
  2746  	(*ProposeExitResponse)(nil),                    // 17: ethereum.eth.v1alpha1.ProposeExitResponse
  2747  	(*AttestationDataRequest)(nil),                 // 18: ethereum.eth.v1alpha1.AttestationDataRequest
  2748  	(*AttestResponse)(nil),                         // 19: ethereum.eth.v1alpha1.AttestResponse
  2749  	(*AggregateSelectionRequest)(nil),              // 20: ethereum.eth.v1alpha1.AggregateSelectionRequest
  2750  	(*AggregateSelectionResponse)(nil),             // 21: ethereum.eth.v1alpha1.AggregateSelectionResponse
  2751  	(*SignedAggregateSubmitRequest)(nil),           // 22: ethereum.eth.v1alpha1.SignedAggregateSubmitRequest
  2752  	(*SignedAggregateSubmitResponse)(nil),          // 23: ethereum.eth.v1alpha1.SignedAggregateSubmitResponse
  2753  	(*CommitteeSubnetsSubscribeRequest)(nil),       // 24: ethereum.eth.v1alpha1.CommitteeSubnetsSubscribeRequest
  2754  	(*Validator)(nil),                              // 25: ethereum.eth.v1alpha1.Validator
  2755  	(*ValidatorParticipation)(nil),                 // 26: ethereum.eth.v1alpha1.ValidatorParticipation
  2756  	(*ValidatorInfo)(nil),                          // 27: ethereum.eth.v1alpha1.ValidatorInfo
  2757  	(*DoppelGangerRequest)(nil),                    // 28: ethereum.eth.v1alpha1.DoppelGangerRequest
  2758  	(*DoppelGangerResponse)(nil),                   // 29: ethereum.eth.v1alpha1.DoppelGangerResponse
  2759  	(*ValidatorActivationResponse_Status)(nil),     // 30: ethereum.eth.v1alpha1.ValidatorActivationResponse.Status
  2760  	(*DutiesResponse_Duty)(nil),                    // 31: ethereum.eth.v1alpha1.DutiesResponse.Duty
  2761  	(*DoppelGangerRequest_ValidatorRequest)(nil),   // 32: ethereum.eth.v1alpha1.DoppelGangerRequest.ValidatorRequest
  2762  	(*DoppelGangerResponse_ValidatorResponse)(nil), // 33: ethereum.eth.v1alpha1.DoppelGangerResponse.ValidatorResponse
  2763  	(*AggregateAttestationAndProof)(nil),           // 34: ethereum.eth.v1alpha1.AggregateAttestationAndProof
  2764  	(*SignedAggregateAttestationAndProof)(nil),     // 35: ethereum.eth.v1alpha1.SignedAggregateAttestationAndProof
  2765  	(*empty.Empty)(nil),                            // 36: google.protobuf.Empty
  2766  	(*SignedBeaconBlock)(nil),                      // 37: ethereum.eth.v1alpha1.SignedBeaconBlock
  2767  	(*Attestation)(nil),                            // 38: ethereum.eth.v1alpha1.Attestation
  2768  	(*SignedVoluntaryExit)(nil),                    // 39: ethereum.eth.v1alpha1.SignedVoluntaryExit
  2769  	(*BeaconBlock)(nil),                            // 40: ethereum.eth.v1alpha1.BeaconBlock
  2770  	(*AttestationData)(nil),                        // 41: ethereum.eth.v1alpha1.AttestationData
  2771  }
  2772  var file_proto_eth_v1alpha1_validator_proto_depIdxs = []int32{
  2773  	30, // 0: ethereum.eth.v1alpha1.ValidatorActivationResponse.statuses:type_name -> ethereum.eth.v1alpha1.ValidatorActivationResponse.Status
  2774  	0,  // 1: ethereum.eth.v1alpha1.ValidatorStatusResponse.status:type_name -> ethereum.eth.v1alpha1.ValidatorStatus
  2775  	10, // 2: ethereum.eth.v1alpha1.MultipleValidatorStatusResponse.statuses:type_name -> ethereum.eth.v1alpha1.ValidatorStatusResponse
  2776  	31, // 3: ethereum.eth.v1alpha1.DutiesResponse.duties:type_name -> ethereum.eth.v1alpha1.DutiesResponse.Duty
  2777  	31, // 4: ethereum.eth.v1alpha1.DutiesResponse.current_epoch_duties:type_name -> ethereum.eth.v1alpha1.DutiesResponse.Duty
  2778  	31, // 5: ethereum.eth.v1alpha1.DutiesResponse.next_epoch_duties:type_name -> ethereum.eth.v1alpha1.DutiesResponse.Duty
  2779  	34, // 6: ethereum.eth.v1alpha1.AggregateSelectionResponse.aggregate_and_proof:type_name -> ethereum.eth.v1alpha1.AggregateAttestationAndProof
  2780  	35, // 7: ethereum.eth.v1alpha1.SignedAggregateSubmitRequest.signed_aggregate_and_proof:type_name -> ethereum.eth.v1alpha1.SignedAggregateAttestationAndProof
  2781  	0,  // 8: ethereum.eth.v1alpha1.ValidatorInfo.status:type_name -> ethereum.eth.v1alpha1.ValidatorStatus
  2782  	32, // 9: ethereum.eth.v1alpha1.DoppelGangerRequest.validator_requests:type_name -> ethereum.eth.v1alpha1.DoppelGangerRequest.ValidatorRequest
  2783  	33, // 10: ethereum.eth.v1alpha1.DoppelGangerResponse.responses:type_name -> ethereum.eth.v1alpha1.DoppelGangerResponse.ValidatorResponse
  2784  	10, // 11: ethereum.eth.v1alpha1.ValidatorActivationResponse.Status.status:type_name -> ethereum.eth.v1alpha1.ValidatorStatusResponse
  2785  	0,  // 12: ethereum.eth.v1alpha1.DutiesResponse.Duty.status:type_name -> ethereum.eth.v1alpha1.ValidatorStatus
  2786  	13, // 13: ethereum.eth.v1alpha1.BeaconNodeValidator.GetDuties:input_type -> ethereum.eth.v1alpha1.DutiesRequest
  2787  	13, // 14: ethereum.eth.v1alpha1.BeaconNodeValidator.StreamDuties:input_type -> ethereum.eth.v1alpha1.DutiesRequest
  2788  	1,  // 15: ethereum.eth.v1alpha1.BeaconNodeValidator.DomainData:input_type -> ethereum.eth.v1alpha1.DomainRequest
  2789  	36, // 16: ethereum.eth.v1alpha1.BeaconNodeValidator.WaitForChainStart:input_type -> google.protobuf.Empty
  2790  	3,  // 17: ethereum.eth.v1alpha1.BeaconNodeValidator.WaitForActivation:input_type -> ethereum.eth.v1alpha1.ValidatorActivationRequest
  2791  	7,  // 18: ethereum.eth.v1alpha1.BeaconNodeValidator.ValidatorIndex:input_type -> ethereum.eth.v1alpha1.ValidatorIndexRequest
  2792  	9,  // 19: ethereum.eth.v1alpha1.BeaconNodeValidator.ValidatorStatus:input_type -> ethereum.eth.v1alpha1.ValidatorStatusRequest
  2793  	11, // 20: ethereum.eth.v1alpha1.BeaconNodeValidator.MultipleValidatorStatus:input_type -> ethereum.eth.v1alpha1.MultipleValidatorStatusRequest
  2794  	15, // 21: ethereum.eth.v1alpha1.BeaconNodeValidator.GetBlock:input_type -> ethereum.eth.v1alpha1.BlockRequest
  2795  	37, // 22: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeBlock:input_type -> ethereum.eth.v1alpha1.SignedBeaconBlock
  2796  	18, // 23: ethereum.eth.v1alpha1.BeaconNodeValidator.GetAttestationData:input_type -> ethereum.eth.v1alpha1.AttestationDataRequest
  2797  	38, // 24: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeAttestation:input_type -> ethereum.eth.v1alpha1.Attestation
  2798  	20, // 25: ethereum.eth.v1alpha1.BeaconNodeValidator.SubmitAggregateSelectionProof:input_type -> ethereum.eth.v1alpha1.AggregateSelectionRequest
  2799  	22, // 26: ethereum.eth.v1alpha1.BeaconNodeValidator.SubmitSignedAggregateSelectionProof:input_type -> ethereum.eth.v1alpha1.SignedAggregateSubmitRequest
  2800  	39, // 27: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeExit:input_type -> ethereum.eth.v1alpha1.SignedVoluntaryExit
  2801  	24, // 28: ethereum.eth.v1alpha1.BeaconNodeValidator.SubscribeCommitteeSubnets:input_type -> ethereum.eth.v1alpha1.CommitteeSubnetsSubscribeRequest
  2802  	28, // 29: ethereum.eth.v1alpha1.BeaconNodeValidator.CheckDoppelGanger:input_type -> ethereum.eth.v1alpha1.DoppelGangerRequest
  2803  	14, // 30: ethereum.eth.v1alpha1.BeaconNodeValidator.GetDuties:output_type -> ethereum.eth.v1alpha1.DutiesResponse
  2804  	14, // 31: ethereum.eth.v1alpha1.BeaconNodeValidator.StreamDuties:output_type -> ethereum.eth.v1alpha1.DutiesResponse
  2805  	2,  // 32: ethereum.eth.v1alpha1.BeaconNodeValidator.DomainData:output_type -> ethereum.eth.v1alpha1.DomainResponse
  2806  	5,  // 33: ethereum.eth.v1alpha1.BeaconNodeValidator.WaitForChainStart:output_type -> ethereum.eth.v1alpha1.ChainStartResponse
  2807  	4,  // 34: ethereum.eth.v1alpha1.BeaconNodeValidator.WaitForActivation:output_type -> ethereum.eth.v1alpha1.ValidatorActivationResponse
  2808  	8,  // 35: ethereum.eth.v1alpha1.BeaconNodeValidator.ValidatorIndex:output_type -> ethereum.eth.v1alpha1.ValidatorIndexResponse
  2809  	10, // 36: ethereum.eth.v1alpha1.BeaconNodeValidator.ValidatorStatus:output_type -> ethereum.eth.v1alpha1.ValidatorStatusResponse
  2810  	12, // 37: ethereum.eth.v1alpha1.BeaconNodeValidator.MultipleValidatorStatus:output_type -> ethereum.eth.v1alpha1.MultipleValidatorStatusResponse
  2811  	40, // 38: ethereum.eth.v1alpha1.BeaconNodeValidator.GetBlock:output_type -> ethereum.eth.v1alpha1.BeaconBlock
  2812  	16, // 39: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeBlock:output_type -> ethereum.eth.v1alpha1.ProposeResponse
  2813  	41, // 40: ethereum.eth.v1alpha1.BeaconNodeValidator.GetAttestationData:output_type -> ethereum.eth.v1alpha1.AttestationData
  2814  	19, // 41: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeAttestation:output_type -> ethereum.eth.v1alpha1.AttestResponse
  2815  	21, // 42: ethereum.eth.v1alpha1.BeaconNodeValidator.SubmitAggregateSelectionProof:output_type -> ethereum.eth.v1alpha1.AggregateSelectionResponse
  2816  	23, // 43: ethereum.eth.v1alpha1.BeaconNodeValidator.SubmitSignedAggregateSelectionProof:output_type -> ethereum.eth.v1alpha1.SignedAggregateSubmitResponse
  2817  	17, // 44: ethereum.eth.v1alpha1.BeaconNodeValidator.ProposeExit:output_type -> ethereum.eth.v1alpha1.ProposeExitResponse
  2818  	36, // 45: ethereum.eth.v1alpha1.BeaconNodeValidator.SubscribeCommitteeSubnets:output_type -> google.protobuf.Empty
  2819  	29, // 46: ethereum.eth.v1alpha1.BeaconNodeValidator.CheckDoppelGanger:output_type -> ethereum.eth.v1alpha1.DoppelGangerResponse
  2820  	30, // [30:47] is the sub-list for method output_type
  2821  	13, // [13:30] is the sub-list for method input_type
  2822  	13, // [13:13] is the sub-list for extension type_name
  2823  	13, // [13:13] is the sub-list for extension extendee
  2824  	0,  // [0:13] is the sub-list for field type_name
  2825  }
  2826  
  2827  func init() { file_proto_eth_v1alpha1_validator_proto_init() }
  2828  func file_proto_eth_v1alpha1_validator_proto_init() {
  2829  	if File_proto_eth_v1alpha1_validator_proto != nil {
  2830  		return
  2831  	}
  2832  	file_proto_eth_v1alpha1_beacon_block_proto_init()
  2833  	file_proto_eth_v1alpha1_attestation_proto_init()
  2834  	if !protoimpl.UnsafeEnabled {
  2835  		file_proto_eth_v1alpha1_validator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2836  			switch v := v.(*DomainRequest); i {
  2837  			case 0:
  2838  				return &v.state
  2839  			case 1:
  2840  				return &v.sizeCache
  2841  			case 2:
  2842  				return &v.unknownFields
  2843  			default:
  2844  				return nil
  2845  			}
  2846  		}
  2847  		file_proto_eth_v1alpha1_validator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2848  			switch v := v.(*DomainResponse); i {
  2849  			case 0:
  2850  				return &v.state
  2851  			case 1:
  2852  				return &v.sizeCache
  2853  			case 2:
  2854  				return &v.unknownFields
  2855  			default:
  2856  				return nil
  2857  			}
  2858  		}
  2859  		file_proto_eth_v1alpha1_validator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2860  			switch v := v.(*ValidatorActivationRequest); i {
  2861  			case 0:
  2862  				return &v.state
  2863  			case 1:
  2864  				return &v.sizeCache
  2865  			case 2:
  2866  				return &v.unknownFields
  2867  			default:
  2868  				return nil
  2869  			}
  2870  		}
  2871  		file_proto_eth_v1alpha1_validator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2872  			switch v := v.(*ValidatorActivationResponse); i {
  2873  			case 0:
  2874  				return &v.state
  2875  			case 1:
  2876  				return &v.sizeCache
  2877  			case 2:
  2878  				return &v.unknownFields
  2879  			default:
  2880  				return nil
  2881  			}
  2882  		}
  2883  		file_proto_eth_v1alpha1_validator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2884  			switch v := v.(*ChainStartResponse); i {
  2885  			case 0:
  2886  				return &v.state
  2887  			case 1:
  2888  				return &v.sizeCache
  2889  			case 2:
  2890  				return &v.unknownFields
  2891  			default:
  2892  				return nil
  2893  			}
  2894  		}
  2895  		file_proto_eth_v1alpha1_validator_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2896  			switch v := v.(*SyncedResponse); i {
  2897  			case 0:
  2898  				return &v.state
  2899  			case 1:
  2900  				return &v.sizeCache
  2901  			case 2:
  2902  				return &v.unknownFields
  2903  			default:
  2904  				return nil
  2905  			}
  2906  		}
  2907  		file_proto_eth_v1alpha1_validator_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2908  			switch v := v.(*ValidatorIndexRequest); i {
  2909  			case 0:
  2910  				return &v.state
  2911  			case 1:
  2912  				return &v.sizeCache
  2913  			case 2:
  2914  				return &v.unknownFields
  2915  			default:
  2916  				return nil
  2917  			}
  2918  		}
  2919  		file_proto_eth_v1alpha1_validator_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2920  			switch v := v.(*ValidatorIndexResponse); i {
  2921  			case 0:
  2922  				return &v.state
  2923  			case 1:
  2924  				return &v.sizeCache
  2925  			case 2:
  2926  				return &v.unknownFields
  2927  			default:
  2928  				return nil
  2929  			}
  2930  		}
  2931  		file_proto_eth_v1alpha1_validator_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2932  			switch v := v.(*ValidatorStatusRequest); i {
  2933  			case 0:
  2934  				return &v.state
  2935  			case 1:
  2936  				return &v.sizeCache
  2937  			case 2:
  2938  				return &v.unknownFields
  2939  			default:
  2940  				return nil
  2941  			}
  2942  		}
  2943  		file_proto_eth_v1alpha1_validator_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2944  			switch v := v.(*ValidatorStatusResponse); i {
  2945  			case 0:
  2946  				return &v.state
  2947  			case 1:
  2948  				return &v.sizeCache
  2949  			case 2:
  2950  				return &v.unknownFields
  2951  			default:
  2952  				return nil
  2953  			}
  2954  		}
  2955  		file_proto_eth_v1alpha1_validator_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2956  			switch v := v.(*MultipleValidatorStatusRequest); i {
  2957  			case 0:
  2958  				return &v.state
  2959  			case 1:
  2960  				return &v.sizeCache
  2961  			case 2:
  2962  				return &v.unknownFields
  2963  			default:
  2964  				return nil
  2965  			}
  2966  		}
  2967  		file_proto_eth_v1alpha1_validator_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2968  			switch v := v.(*MultipleValidatorStatusResponse); i {
  2969  			case 0:
  2970  				return &v.state
  2971  			case 1:
  2972  				return &v.sizeCache
  2973  			case 2:
  2974  				return &v.unknownFields
  2975  			default:
  2976  				return nil
  2977  			}
  2978  		}
  2979  		file_proto_eth_v1alpha1_validator_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2980  			switch v := v.(*DutiesRequest); i {
  2981  			case 0:
  2982  				return &v.state
  2983  			case 1:
  2984  				return &v.sizeCache
  2985  			case 2:
  2986  				return &v.unknownFields
  2987  			default:
  2988  				return nil
  2989  			}
  2990  		}
  2991  		file_proto_eth_v1alpha1_validator_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2992  			switch v := v.(*DutiesResponse); i {
  2993  			case 0:
  2994  				return &v.state
  2995  			case 1:
  2996  				return &v.sizeCache
  2997  			case 2:
  2998  				return &v.unknownFields
  2999  			default:
  3000  				return nil
  3001  			}
  3002  		}
  3003  		file_proto_eth_v1alpha1_validator_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3004  			switch v := v.(*BlockRequest); i {
  3005  			case 0:
  3006  				return &v.state
  3007  			case 1:
  3008  				return &v.sizeCache
  3009  			case 2:
  3010  				return &v.unknownFields
  3011  			default:
  3012  				return nil
  3013  			}
  3014  		}
  3015  		file_proto_eth_v1alpha1_validator_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3016  			switch v := v.(*ProposeResponse); i {
  3017  			case 0:
  3018  				return &v.state
  3019  			case 1:
  3020  				return &v.sizeCache
  3021  			case 2:
  3022  				return &v.unknownFields
  3023  			default:
  3024  				return nil
  3025  			}
  3026  		}
  3027  		file_proto_eth_v1alpha1_validator_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3028  			switch v := v.(*ProposeExitResponse); i {
  3029  			case 0:
  3030  				return &v.state
  3031  			case 1:
  3032  				return &v.sizeCache
  3033  			case 2:
  3034  				return &v.unknownFields
  3035  			default:
  3036  				return nil
  3037  			}
  3038  		}
  3039  		file_proto_eth_v1alpha1_validator_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3040  			switch v := v.(*AttestationDataRequest); i {
  3041  			case 0:
  3042  				return &v.state
  3043  			case 1:
  3044  				return &v.sizeCache
  3045  			case 2:
  3046  				return &v.unknownFields
  3047  			default:
  3048  				return nil
  3049  			}
  3050  		}
  3051  		file_proto_eth_v1alpha1_validator_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3052  			switch v := v.(*AttestResponse); i {
  3053  			case 0:
  3054  				return &v.state
  3055  			case 1:
  3056  				return &v.sizeCache
  3057  			case 2:
  3058  				return &v.unknownFields
  3059  			default:
  3060  				return nil
  3061  			}
  3062  		}
  3063  		file_proto_eth_v1alpha1_validator_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3064  			switch v := v.(*AggregateSelectionRequest); i {
  3065  			case 0:
  3066  				return &v.state
  3067  			case 1:
  3068  				return &v.sizeCache
  3069  			case 2:
  3070  				return &v.unknownFields
  3071  			default:
  3072  				return nil
  3073  			}
  3074  		}
  3075  		file_proto_eth_v1alpha1_validator_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  3076  			switch v := v.(*AggregateSelectionResponse); i {
  3077  			case 0:
  3078  				return &v.state
  3079  			case 1:
  3080  				return &v.sizeCache
  3081  			case 2:
  3082  				return &v.unknownFields
  3083  			default:
  3084  				return nil
  3085  			}
  3086  		}
  3087  		file_proto_eth_v1alpha1_validator_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  3088  			switch v := v.(*SignedAggregateSubmitRequest); i {
  3089  			case 0:
  3090  				return &v.state
  3091  			case 1:
  3092  				return &v.sizeCache
  3093  			case 2:
  3094  				return &v.unknownFields
  3095  			default:
  3096  				return nil
  3097  			}
  3098  		}
  3099  		file_proto_eth_v1alpha1_validator_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  3100  			switch v := v.(*SignedAggregateSubmitResponse); i {
  3101  			case 0:
  3102  				return &v.state
  3103  			case 1:
  3104  				return &v.sizeCache
  3105  			case 2:
  3106  				return &v.unknownFields
  3107  			default:
  3108  				return nil
  3109  			}
  3110  		}
  3111  		file_proto_eth_v1alpha1_validator_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  3112  			switch v := v.(*CommitteeSubnetsSubscribeRequest); i {
  3113  			case 0:
  3114  				return &v.state
  3115  			case 1:
  3116  				return &v.sizeCache
  3117  			case 2:
  3118  				return &v.unknownFields
  3119  			default:
  3120  				return nil
  3121  			}
  3122  		}
  3123  		file_proto_eth_v1alpha1_validator_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  3124  			switch v := v.(*Validator); i {
  3125  			case 0:
  3126  				return &v.state
  3127  			case 1:
  3128  				return &v.sizeCache
  3129  			case 2:
  3130  				return &v.unknownFields
  3131  			default:
  3132  				return nil
  3133  			}
  3134  		}
  3135  		file_proto_eth_v1alpha1_validator_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  3136  			switch v := v.(*ValidatorParticipation); i {
  3137  			case 0:
  3138  				return &v.state
  3139  			case 1:
  3140  				return &v.sizeCache
  3141  			case 2:
  3142  				return &v.unknownFields
  3143  			default:
  3144  				return nil
  3145  			}
  3146  		}
  3147  		file_proto_eth_v1alpha1_validator_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  3148  			switch v := v.(*ValidatorInfo); i {
  3149  			case 0:
  3150  				return &v.state
  3151  			case 1:
  3152  				return &v.sizeCache
  3153  			case 2:
  3154  				return &v.unknownFields
  3155  			default:
  3156  				return nil
  3157  			}
  3158  		}
  3159  		file_proto_eth_v1alpha1_validator_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  3160  			switch v := v.(*DoppelGangerRequest); i {
  3161  			case 0:
  3162  				return &v.state
  3163  			case 1:
  3164  				return &v.sizeCache
  3165  			case 2:
  3166  				return &v.unknownFields
  3167  			default:
  3168  				return nil
  3169  			}
  3170  		}
  3171  		file_proto_eth_v1alpha1_validator_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  3172  			switch v := v.(*DoppelGangerResponse); i {
  3173  			case 0:
  3174  				return &v.state
  3175  			case 1:
  3176  				return &v.sizeCache
  3177  			case 2:
  3178  				return &v.unknownFields
  3179  			default:
  3180  				return nil
  3181  			}
  3182  		}
  3183  		file_proto_eth_v1alpha1_validator_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  3184  			switch v := v.(*ValidatorActivationResponse_Status); i {
  3185  			case 0:
  3186  				return &v.state
  3187  			case 1:
  3188  				return &v.sizeCache
  3189  			case 2:
  3190  				return &v.unknownFields
  3191  			default:
  3192  				return nil
  3193  			}
  3194  		}
  3195  		file_proto_eth_v1alpha1_validator_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  3196  			switch v := v.(*DutiesResponse_Duty); i {
  3197  			case 0:
  3198  				return &v.state
  3199  			case 1:
  3200  				return &v.sizeCache
  3201  			case 2:
  3202  				return &v.unknownFields
  3203  			default:
  3204  				return nil
  3205  			}
  3206  		}
  3207  		file_proto_eth_v1alpha1_validator_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  3208  			switch v := v.(*DoppelGangerRequest_ValidatorRequest); i {
  3209  			case 0:
  3210  				return &v.state
  3211  			case 1:
  3212  				return &v.sizeCache
  3213  			case 2:
  3214  				return &v.unknownFields
  3215  			default:
  3216  				return nil
  3217  			}
  3218  		}
  3219  		file_proto_eth_v1alpha1_validator_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  3220  			switch v := v.(*DoppelGangerResponse_ValidatorResponse); i {
  3221  			case 0:
  3222  				return &v.state
  3223  			case 1:
  3224  				return &v.sizeCache
  3225  			case 2:
  3226  				return &v.unknownFields
  3227  			default:
  3228  				return nil
  3229  			}
  3230  		}
  3231  	}
  3232  	type x struct{}
  3233  	out := protoimpl.TypeBuilder{
  3234  		File: protoimpl.DescBuilder{
  3235  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3236  			RawDescriptor: file_proto_eth_v1alpha1_validator_proto_rawDesc,
  3237  			NumEnums:      1,
  3238  			NumMessages:   33,
  3239  			NumExtensions: 0,
  3240  			NumServices:   1,
  3241  		},
  3242  		GoTypes:           file_proto_eth_v1alpha1_validator_proto_goTypes,
  3243  		DependencyIndexes: file_proto_eth_v1alpha1_validator_proto_depIdxs,
  3244  		EnumInfos:         file_proto_eth_v1alpha1_validator_proto_enumTypes,
  3245  		MessageInfos:      file_proto_eth_v1alpha1_validator_proto_msgTypes,
  3246  	}.Build()
  3247  	File_proto_eth_v1alpha1_validator_proto = out.File
  3248  	file_proto_eth_v1alpha1_validator_proto_rawDesc = nil
  3249  	file_proto_eth_v1alpha1_validator_proto_goTypes = nil
  3250  	file_proto_eth_v1alpha1_validator_proto_depIdxs = nil
  3251  }
  3252  
  3253  // Reference imports to suppress errors if they are not otherwise used.
  3254  var _ context.Context
  3255  var _ grpc.ClientConnInterface
  3256  
  3257  // This is a compile-time assertion to ensure that this generated file
  3258  // is compatible with the grpc package it is being compiled against.
  3259  const _ = grpc.SupportPackageIsVersion6
  3260  
  3261  // BeaconNodeValidatorClient is the client API for BeaconNodeValidator service.
  3262  //
  3263  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  3264  type BeaconNodeValidatorClient interface {
  3265  	GetDuties(ctx context.Context, in *DutiesRequest, opts ...grpc.CallOption) (*DutiesResponse, error)
  3266  	StreamDuties(ctx context.Context, in *DutiesRequest, opts ...grpc.CallOption) (BeaconNodeValidator_StreamDutiesClient, error)
  3267  	DomainData(ctx context.Context, in *DomainRequest, opts ...grpc.CallOption) (*DomainResponse, error)
  3268  	// Deprecated: Do not use.
  3269  	WaitForChainStart(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (BeaconNodeValidator_WaitForChainStartClient, error)
  3270  	WaitForActivation(ctx context.Context, in *ValidatorActivationRequest, opts ...grpc.CallOption) (BeaconNodeValidator_WaitForActivationClient, error)
  3271  	ValidatorIndex(ctx context.Context, in *ValidatorIndexRequest, opts ...grpc.CallOption) (*ValidatorIndexResponse, error)
  3272  	ValidatorStatus(ctx context.Context, in *ValidatorStatusRequest, opts ...grpc.CallOption) (*ValidatorStatusResponse, error)
  3273  	MultipleValidatorStatus(ctx context.Context, in *MultipleValidatorStatusRequest, opts ...grpc.CallOption) (*MultipleValidatorStatusResponse, error)
  3274  	GetBlock(ctx context.Context, in *BlockRequest, opts ...grpc.CallOption) (*BeaconBlock, error)
  3275  	ProposeBlock(ctx context.Context, in *SignedBeaconBlock, opts ...grpc.CallOption) (*ProposeResponse, error)
  3276  	GetAttestationData(ctx context.Context, in *AttestationDataRequest, opts ...grpc.CallOption) (*AttestationData, error)
  3277  	ProposeAttestation(ctx context.Context, in *Attestation, opts ...grpc.CallOption) (*AttestResponse, error)
  3278  	SubmitAggregateSelectionProof(ctx context.Context, in *AggregateSelectionRequest, opts ...grpc.CallOption) (*AggregateSelectionResponse, error)
  3279  	SubmitSignedAggregateSelectionProof(ctx context.Context, in *SignedAggregateSubmitRequest, opts ...grpc.CallOption) (*SignedAggregateSubmitResponse, error)
  3280  	ProposeExit(ctx context.Context, in *SignedVoluntaryExit, opts ...grpc.CallOption) (*ProposeExitResponse, error)
  3281  	SubscribeCommitteeSubnets(ctx context.Context, in *CommitteeSubnetsSubscribeRequest, opts ...grpc.CallOption) (*empty.Empty, error)
  3282  	CheckDoppelGanger(ctx context.Context, in *DoppelGangerRequest, opts ...grpc.CallOption) (*DoppelGangerResponse, error)
  3283  }
  3284  
  3285  type beaconNodeValidatorClient struct {
  3286  	cc grpc.ClientConnInterface
  3287  }
  3288  
  3289  func NewBeaconNodeValidatorClient(cc grpc.ClientConnInterface) BeaconNodeValidatorClient {
  3290  	return &beaconNodeValidatorClient{cc}
  3291  }
  3292  
  3293  func (c *beaconNodeValidatorClient) GetDuties(ctx context.Context, in *DutiesRequest, opts ...grpc.CallOption) (*DutiesResponse, error) {
  3294  	out := new(DutiesResponse)
  3295  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetDuties", in, out, opts...)
  3296  	if err != nil {
  3297  		return nil, err
  3298  	}
  3299  	return out, nil
  3300  }
  3301  
  3302  func (c *beaconNodeValidatorClient) StreamDuties(ctx context.Context, in *DutiesRequest, opts ...grpc.CallOption) (BeaconNodeValidator_StreamDutiesClient, error) {
  3303  	stream, err := c.cc.NewStream(ctx, &_BeaconNodeValidator_serviceDesc.Streams[0], "/ethereum.eth.v1alpha1.BeaconNodeValidator/StreamDuties", opts...)
  3304  	if err != nil {
  3305  		return nil, err
  3306  	}
  3307  	x := &beaconNodeValidatorStreamDutiesClient{stream}
  3308  	if err := x.ClientStream.SendMsg(in); err != nil {
  3309  		return nil, err
  3310  	}
  3311  	if err := x.ClientStream.CloseSend(); err != nil {
  3312  		return nil, err
  3313  	}
  3314  	return x, nil
  3315  }
  3316  
  3317  type BeaconNodeValidator_StreamDutiesClient interface {
  3318  	Recv() (*DutiesResponse, error)
  3319  	grpc.ClientStream
  3320  }
  3321  
  3322  type beaconNodeValidatorStreamDutiesClient struct {
  3323  	grpc.ClientStream
  3324  }
  3325  
  3326  func (x *beaconNodeValidatorStreamDutiesClient) Recv() (*DutiesResponse, error) {
  3327  	m := new(DutiesResponse)
  3328  	if err := x.ClientStream.RecvMsg(m); err != nil {
  3329  		return nil, err
  3330  	}
  3331  	return m, nil
  3332  }
  3333  
  3334  func (c *beaconNodeValidatorClient) DomainData(ctx context.Context, in *DomainRequest, opts ...grpc.CallOption) (*DomainResponse, error) {
  3335  	out := new(DomainResponse)
  3336  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/DomainData", in, out, opts...)
  3337  	if err != nil {
  3338  		return nil, err
  3339  	}
  3340  	return out, nil
  3341  }
  3342  
  3343  // Deprecated: Do not use.
  3344  func (c *beaconNodeValidatorClient) WaitForChainStart(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (BeaconNodeValidator_WaitForChainStartClient, error) {
  3345  	stream, err := c.cc.NewStream(ctx, &_BeaconNodeValidator_serviceDesc.Streams[1], "/ethereum.eth.v1alpha1.BeaconNodeValidator/WaitForChainStart", opts...)
  3346  	if err != nil {
  3347  		return nil, err
  3348  	}
  3349  	x := &beaconNodeValidatorWaitForChainStartClient{stream}
  3350  	if err := x.ClientStream.SendMsg(in); err != nil {
  3351  		return nil, err
  3352  	}
  3353  	if err := x.ClientStream.CloseSend(); err != nil {
  3354  		return nil, err
  3355  	}
  3356  	return x, nil
  3357  }
  3358  
  3359  type BeaconNodeValidator_WaitForChainStartClient interface {
  3360  	Recv() (*ChainStartResponse, error)
  3361  	grpc.ClientStream
  3362  }
  3363  
  3364  type beaconNodeValidatorWaitForChainStartClient struct {
  3365  	grpc.ClientStream
  3366  }
  3367  
  3368  func (x *beaconNodeValidatorWaitForChainStartClient) Recv() (*ChainStartResponse, error) {
  3369  	m := new(ChainStartResponse)
  3370  	if err := x.ClientStream.RecvMsg(m); err != nil {
  3371  		return nil, err
  3372  	}
  3373  	return m, nil
  3374  }
  3375  
  3376  func (c *beaconNodeValidatorClient) WaitForActivation(ctx context.Context, in *ValidatorActivationRequest, opts ...grpc.CallOption) (BeaconNodeValidator_WaitForActivationClient, error) {
  3377  	stream, err := c.cc.NewStream(ctx, &_BeaconNodeValidator_serviceDesc.Streams[2], "/ethereum.eth.v1alpha1.BeaconNodeValidator/WaitForActivation", opts...)
  3378  	if err != nil {
  3379  		return nil, err
  3380  	}
  3381  	x := &beaconNodeValidatorWaitForActivationClient{stream}
  3382  	if err := x.ClientStream.SendMsg(in); err != nil {
  3383  		return nil, err
  3384  	}
  3385  	if err := x.ClientStream.CloseSend(); err != nil {
  3386  		return nil, err
  3387  	}
  3388  	return x, nil
  3389  }
  3390  
  3391  type BeaconNodeValidator_WaitForActivationClient interface {
  3392  	Recv() (*ValidatorActivationResponse, error)
  3393  	grpc.ClientStream
  3394  }
  3395  
  3396  type beaconNodeValidatorWaitForActivationClient struct {
  3397  	grpc.ClientStream
  3398  }
  3399  
  3400  func (x *beaconNodeValidatorWaitForActivationClient) Recv() (*ValidatorActivationResponse, error) {
  3401  	m := new(ValidatorActivationResponse)
  3402  	if err := x.ClientStream.RecvMsg(m); err != nil {
  3403  		return nil, err
  3404  	}
  3405  	return m, nil
  3406  }
  3407  
  3408  func (c *beaconNodeValidatorClient) ValidatorIndex(ctx context.Context, in *ValidatorIndexRequest, opts ...grpc.CallOption) (*ValidatorIndexResponse, error) {
  3409  	out := new(ValidatorIndexResponse)
  3410  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ValidatorIndex", in, out, opts...)
  3411  	if err != nil {
  3412  		return nil, err
  3413  	}
  3414  	return out, nil
  3415  }
  3416  
  3417  func (c *beaconNodeValidatorClient) ValidatorStatus(ctx context.Context, in *ValidatorStatusRequest, opts ...grpc.CallOption) (*ValidatorStatusResponse, error) {
  3418  	out := new(ValidatorStatusResponse)
  3419  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ValidatorStatus", in, out, opts...)
  3420  	if err != nil {
  3421  		return nil, err
  3422  	}
  3423  	return out, nil
  3424  }
  3425  
  3426  func (c *beaconNodeValidatorClient) MultipleValidatorStatus(ctx context.Context, in *MultipleValidatorStatusRequest, opts ...grpc.CallOption) (*MultipleValidatorStatusResponse, error) {
  3427  	out := new(MultipleValidatorStatusResponse)
  3428  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/MultipleValidatorStatus", in, out, opts...)
  3429  	if err != nil {
  3430  		return nil, err
  3431  	}
  3432  	return out, nil
  3433  }
  3434  
  3435  func (c *beaconNodeValidatorClient) GetBlock(ctx context.Context, in *BlockRequest, opts ...grpc.CallOption) (*BeaconBlock, error) {
  3436  	out := new(BeaconBlock)
  3437  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetBlock", in, out, opts...)
  3438  	if err != nil {
  3439  		return nil, err
  3440  	}
  3441  	return out, nil
  3442  }
  3443  
  3444  func (c *beaconNodeValidatorClient) ProposeBlock(ctx context.Context, in *SignedBeaconBlock, opts ...grpc.CallOption) (*ProposeResponse, error) {
  3445  	out := new(ProposeResponse)
  3446  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeBlock", in, out, opts...)
  3447  	if err != nil {
  3448  		return nil, err
  3449  	}
  3450  	return out, nil
  3451  }
  3452  
  3453  func (c *beaconNodeValidatorClient) GetAttestationData(ctx context.Context, in *AttestationDataRequest, opts ...grpc.CallOption) (*AttestationData, error) {
  3454  	out := new(AttestationData)
  3455  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetAttestationData", in, out, opts...)
  3456  	if err != nil {
  3457  		return nil, err
  3458  	}
  3459  	return out, nil
  3460  }
  3461  
  3462  func (c *beaconNodeValidatorClient) ProposeAttestation(ctx context.Context, in *Attestation, opts ...grpc.CallOption) (*AttestResponse, error) {
  3463  	out := new(AttestResponse)
  3464  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeAttestation", in, out, opts...)
  3465  	if err != nil {
  3466  		return nil, err
  3467  	}
  3468  	return out, nil
  3469  }
  3470  
  3471  func (c *beaconNodeValidatorClient) SubmitAggregateSelectionProof(ctx context.Context, in *AggregateSelectionRequest, opts ...grpc.CallOption) (*AggregateSelectionResponse, error) {
  3472  	out := new(AggregateSelectionResponse)
  3473  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubmitAggregateSelectionProof", in, out, opts...)
  3474  	if err != nil {
  3475  		return nil, err
  3476  	}
  3477  	return out, nil
  3478  }
  3479  
  3480  func (c *beaconNodeValidatorClient) SubmitSignedAggregateSelectionProof(ctx context.Context, in *SignedAggregateSubmitRequest, opts ...grpc.CallOption) (*SignedAggregateSubmitResponse, error) {
  3481  	out := new(SignedAggregateSubmitResponse)
  3482  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubmitSignedAggregateSelectionProof", in, out, opts...)
  3483  	if err != nil {
  3484  		return nil, err
  3485  	}
  3486  	return out, nil
  3487  }
  3488  
  3489  func (c *beaconNodeValidatorClient) ProposeExit(ctx context.Context, in *SignedVoluntaryExit, opts ...grpc.CallOption) (*ProposeExitResponse, error) {
  3490  	out := new(ProposeExitResponse)
  3491  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeExit", in, out, opts...)
  3492  	if err != nil {
  3493  		return nil, err
  3494  	}
  3495  	return out, nil
  3496  }
  3497  
  3498  func (c *beaconNodeValidatorClient) SubscribeCommitteeSubnets(ctx context.Context, in *CommitteeSubnetsSubscribeRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
  3499  	out := new(empty.Empty)
  3500  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubscribeCommitteeSubnets", in, out, opts...)
  3501  	if err != nil {
  3502  		return nil, err
  3503  	}
  3504  	return out, nil
  3505  }
  3506  
  3507  func (c *beaconNodeValidatorClient) CheckDoppelGanger(ctx context.Context, in *DoppelGangerRequest, opts ...grpc.CallOption) (*DoppelGangerResponse, error) {
  3508  	out := new(DoppelGangerResponse)
  3509  	err := c.cc.Invoke(ctx, "/ethereum.eth.v1alpha1.BeaconNodeValidator/CheckDoppelGanger", in, out, opts...)
  3510  	if err != nil {
  3511  		return nil, err
  3512  	}
  3513  	return out, nil
  3514  }
  3515  
  3516  // BeaconNodeValidatorServer is the server API for BeaconNodeValidator service.
  3517  type BeaconNodeValidatorServer interface {
  3518  	GetDuties(context.Context, *DutiesRequest) (*DutiesResponse, error)
  3519  	StreamDuties(*DutiesRequest, BeaconNodeValidator_StreamDutiesServer) error
  3520  	DomainData(context.Context, *DomainRequest) (*DomainResponse, error)
  3521  	// Deprecated: Do not use.
  3522  	WaitForChainStart(*empty.Empty, BeaconNodeValidator_WaitForChainStartServer) error
  3523  	WaitForActivation(*ValidatorActivationRequest, BeaconNodeValidator_WaitForActivationServer) error
  3524  	ValidatorIndex(context.Context, *ValidatorIndexRequest) (*ValidatorIndexResponse, error)
  3525  	ValidatorStatus(context.Context, *ValidatorStatusRequest) (*ValidatorStatusResponse, error)
  3526  	MultipleValidatorStatus(context.Context, *MultipleValidatorStatusRequest) (*MultipleValidatorStatusResponse, error)
  3527  	GetBlock(context.Context, *BlockRequest) (*BeaconBlock, error)
  3528  	ProposeBlock(context.Context, *SignedBeaconBlock) (*ProposeResponse, error)
  3529  	GetAttestationData(context.Context, *AttestationDataRequest) (*AttestationData, error)
  3530  	ProposeAttestation(context.Context, *Attestation) (*AttestResponse, error)
  3531  	SubmitAggregateSelectionProof(context.Context, *AggregateSelectionRequest) (*AggregateSelectionResponse, error)
  3532  	SubmitSignedAggregateSelectionProof(context.Context, *SignedAggregateSubmitRequest) (*SignedAggregateSubmitResponse, error)
  3533  	ProposeExit(context.Context, *SignedVoluntaryExit) (*ProposeExitResponse, error)
  3534  	SubscribeCommitteeSubnets(context.Context, *CommitteeSubnetsSubscribeRequest) (*empty.Empty, error)
  3535  	CheckDoppelGanger(context.Context, *DoppelGangerRequest) (*DoppelGangerResponse, error)
  3536  }
  3537  
  3538  // UnimplementedBeaconNodeValidatorServer can be embedded to have forward compatible implementations.
  3539  type UnimplementedBeaconNodeValidatorServer struct {
  3540  }
  3541  
  3542  func (*UnimplementedBeaconNodeValidatorServer) GetDuties(context.Context, *DutiesRequest) (*DutiesResponse, error) {
  3543  	return nil, status.Errorf(codes.Unimplemented, "method GetDuties not implemented")
  3544  }
  3545  func (*UnimplementedBeaconNodeValidatorServer) StreamDuties(*DutiesRequest, BeaconNodeValidator_StreamDutiesServer) error {
  3546  	return status.Errorf(codes.Unimplemented, "method StreamDuties not implemented")
  3547  }
  3548  func (*UnimplementedBeaconNodeValidatorServer) DomainData(context.Context, *DomainRequest) (*DomainResponse, error) {
  3549  	return nil, status.Errorf(codes.Unimplemented, "method DomainData not implemented")
  3550  }
  3551  func (*UnimplementedBeaconNodeValidatorServer) WaitForChainStart(*empty.Empty, BeaconNodeValidator_WaitForChainStartServer) error {
  3552  	return status.Errorf(codes.Unimplemented, "method WaitForChainStart not implemented")
  3553  }
  3554  func (*UnimplementedBeaconNodeValidatorServer) WaitForActivation(*ValidatorActivationRequest, BeaconNodeValidator_WaitForActivationServer) error {
  3555  	return status.Errorf(codes.Unimplemented, "method WaitForActivation not implemented")
  3556  }
  3557  func (*UnimplementedBeaconNodeValidatorServer) ValidatorIndex(context.Context, *ValidatorIndexRequest) (*ValidatorIndexResponse, error) {
  3558  	return nil, status.Errorf(codes.Unimplemented, "method ValidatorIndex not implemented")
  3559  }
  3560  func (*UnimplementedBeaconNodeValidatorServer) ValidatorStatus(context.Context, *ValidatorStatusRequest) (*ValidatorStatusResponse, error) {
  3561  	return nil, status.Errorf(codes.Unimplemented, "method ValidatorStatus not implemented")
  3562  }
  3563  func (*UnimplementedBeaconNodeValidatorServer) MultipleValidatorStatus(context.Context, *MultipleValidatorStatusRequest) (*MultipleValidatorStatusResponse, error) {
  3564  	return nil, status.Errorf(codes.Unimplemented, "method MultipleValidatorStatus not implemented")
  3565  }
  3566  func (*UnimplementedBeaconNodeValidatorServer) GetBlock(context.Context, *BlockRequest) (*BeaconBlock, error) {
  3567  	return nil, status.Errorf(codes.Unimplemented, "method GetBlock not implemented")
  3568  }
  3569  func (*UnimplementedBeaconNodeValidatorServer) ProposeBlock(context.Context, *SignedBeaconBlock) (*ProposeResponse, error) {
  3570  	return nil, status.Errorf(codes.Unimplemented, "method ProposeBlock not implemented")
  3571  }
  3572  func (*UnimplementedBeaconNodeValidatorServer) GetAttestationData(context.Context, *AttestationDataRequest) (*AttestationData, error) {
  3573  	return nil, status.Errorf(codes.Unimplemented, "method GetAttestationData not implemented")
  3574  }
  3575  func (*UnimplementedBeaconNodeValidatorServer) ProposeAttestation(context.Context, *Attestation) (*AttestResponse, error) {
  3576  	return nil, status.Errorf(codes.Unimplemented, "method ProposeAttestation not implemented")
  3577  }
  3578  func (*UnimplementedBeaconNodeValidatorServer) SubmitAggregateSelectionProof(context.Context, *AggregateSelectionRequest) (*AggregateSelectionResponse, error) {
  3579  	return nil, status.Errorf(codes.Unimplemented, "method SubmitAggregateSelectionProof not implemented")
  3580  }
  3581  func (*UnimplementedBeaconNodeValidatorServer) SubmitSignedAggregateSelectionProof(context.Context, *SignedAggregateSubmitRequest) (*SignedAggregateSubmitResponse, error) {
  3582  	return nil, status.Errorf(codes.Unimplemented, "method SubmitSignedAggregateSelectionProof not implemented")
  3583  }
  3584  func (*UnimplementedBeaconNodeValidatorServer) ProposeExit(context.Context, *SignedVoluntaryExit) (*ProposeExitResponse, error) {
  3585  	return nil, status.Errorf(codes.Unimplemented, "method ProposeExit not implemented")
  3586  }
  3587  func (*UnimplementedBeaconNodeValidatorServer) SubscribeCommitteeSubnets(context.Context, *CommitteeSubnetsSubscribeRequest) (*empty.Empty, error) {
  3588  	return nil, status.Errorf(codes.Unimplemented, "method SubscribeCommitteeSubnets not implemented")
  3589  }
  3590  func (*UnimplementedBeaconNodeValidatorServer) CheckDoppelGanger(context.Context, *DoppelGangerRequest) (*DoppelGangerResponse, error) {
  3591  	return nil, status.Errorf(codes.Unimplemented, "method CheckDoppelGanger not implemented")
  3592  }
  3593  
  3594  func RegisterBeaconNodeValidatorServer(s *grpc.Server, srv BeaconNodeValidatorServer) {
  3595  	s.RegisterService(&_BeaconNodeValidator_serviceDesc, srv)
  3596  }
  3597  
  3598  func _BeaconNodeValidator_GetDuties_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3599  	in := new(DutiesRequest)
  3600  	if err := dec(in); err != nil {
  3601  		return nil, err
  3602  	}
  3603  	if interceptor == nil {
  3604  		return srv.(BeaconNodeValidatorServer).GetDuties(ctx, in)
  3605  	}
  3606  	info := &grpc.UnaryServerInfo{
  3607  		Server:     srv,
  3608  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetDuties",
  3609  	}
  3610  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3611  		return srv.(BeaconNodeValidatorServer).GetDuties(ctx, req.(*DutiesRequest))
  3612  	}
  3613  	return interceptor(ctx, in, info, handler)
  3614  }
  3615  
  3616  func _BeaconNodeValidator_StreamDuties_Handler(srv interface{}, stream grpc.ServerStream) error {
  3617  	m := new(DutiesRequest)
  3618  	if err := stream.RecvMsg(m); err != nil {
  3619  		return err
  3620  	}
  3621  	return srv.(BeaconNodeValidatorServer).StreamDuties(m, &beaconNodeValidatorStreamDutiesServer{stream})
  3622  }
  3623  
  3624  type BeaconNodeValidator_StreamDutiesServer interface {
  3625  	Send(*DutiesResponse) error
  3626  	grpc.ServerStream
  3627  }
  3628  
  3629  type beaconNodeValidatorStreamDutiesServer struct {
  3630  	grpc.ServerStream
  3631  }
  3632  
  3633  func (x *beaconNodeValidatorStreamDutiesServer) Send(m *DutiesResponse) error {
  3634  	return x.ServerStream.SendMsg(m)
  3635  }
  3636  
  3637  func _BeaconNodeValidator_DomainData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3638  	in := new(DomainRequest)
  3639  	if err := dec(in); err != nil {
  3640  		return nil, err
  3641  	}
  3642  	if interceptor == nil {
  3643  		return srv.(BeaconNodeValidatorServer).DomainData(ctx, in)
  3644  	}
  3645  	info := &grpc.UnaryServerInfo{
  3646  		Server:     srv,
  3647  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/DomainData",
  3648  	}
  3649  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3650  		return srv.(BeaconNodeValidatorServer).DomainData(ctx, req.(*DomainRequest))
  3651  	}
  3652  	return interceptor(ctx, in, info, handler)
  3653  }
  3654  
  3655  func _BeaconNodeValidator_WaitForChainStart_Handler(srv interface{}, stream grpc.ServerStream) error {
  3656  	m := new(empty.Empty)
  3657  	if err := stream.RecvMsg(m); err != nil {
  3658  		return err
  3659  	}
  3660  	return srv.(BeaconNodeValidatorServer).WaitForChainStart(m, &beaconNodeValidatorWaitForChainStartServer{stream})
  3661  }
  3662  
  3663  type BeaconNodeValidator_WaitForChainStartServer interface {
  3664  	Send(*ChainStartResponse) error
  3665  	grpc.ServerStream
  3666  }
  3667  
  3668  type beaconNodeValidatorWaitForChainStartServer struct {
  3669  	grpc.ServerStream
  3670  }
  3671  
  3672  func (x *beaconNodeValidatorWaitForChainStartServer) Send(m *ChainStartResponse) error {
  3673  	return x.ServerStream.SendMsg(m)
  3674  }
  3675  
  3676  func _BeaconNodeValidator_WaitForActivation_Handler(srv interface{}, stream grpc.ServerStream) error {
  3677  	m := new(ValidatorActivationRequest)
  3678  	if err := stream.RecvMsg(m); err != nil {
  3679  		return err
  3680  	}
  3681  	return srv.(BeaconNodeValidatorServer).WaitForActivation(m, &beaconNodeValidatorWaitForActivationServer{stream})
  3682  }
  3683  
  3684  type BeaconNodeValidator_WaitForActivationServer interface {
  3685  	Send(*ValidatorActivationResponse) error
  3686  	grpc.ServerStream
  3687  }
  3688  
  3689  type beaconNodeValidatorWaitForActivationServer struct {
  3690  	grpc.ServerStream
  3691  }
  3692  
  3693  func (x *beaconNodeValidatorWaitForActivationServer) Send(m *ValidatorActivationResponse) error {
  3694  	return x.ServerStream.SendMsg(m)
  3695  }
  3696  
  3697  func _BeaconNodeValidator_ValidatorIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3698  	in := new(ValidatorIndexRequest)
  3699  	if err := dec(in); err != nil {
  3700  		return nil, err
  3701  	}
  3702  	if interceptor == nil {
  3703  		return srv.(BeaconNodeValidatorServer).ValidatorIndex(ctx, in)
  3704  	}
  3705  	info := &grpc.UnaryServerInfo{
  3706  		Server:     srv,
  3707  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ValidatorIndex",
  3708  	}
  3709  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3710  		return srv.(BeaconNodeValidatorServer).ValidatorIndex(ctx, req.(*ValidatorIndexRequest))
  3711  	}
  3712  	return interceptor(ctx, in, info, handler)
  3713  }
  3714  
  3715  func _BeaconNodeValidator_ValidatorStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3716  	in := new(ValidatorStatusRequest)
  3717  	if err := dec(in); err != nil {
  3718  		return nil, err
  3719  	}
  3720  	if interceptor == nil {
  3721  		return srv.(BeaconNodeValidatorServer).ValidatorStatus(ctx, in)
  3722  	}
  3723  	info := &grpc.UnaryServerInfo{
  3724  		Server:     srv,
  3725  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ValidatorStatus",
  3726  	}
  3727  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3728  		return srv.(BeaconNodeValidatorServer).ValidatorStatus(ctx, req.(*ValidatorStatusRequest))
  3729  	}
  3730  	return interceptor(ctx, in, info, handler)
  3731  }
  3732  
  3733  func _BeaconNodeValidator_MultipleValidatorStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3734  	in := new(MultipleValidatorStatusRequest)
  3735  	if err := dec(in); err != nil {
  3736  		return nil, err
  3737  	}
  3738  	if interceptor == nil {
  3739  		return srv.(BeaconNodeValidatorServer).MultipleValidatorStatus(ctx, in)
  3740  	}
  3741  	info := &grpc.UnaryServerInfo{
  3742  		Server:     srv,
  3743  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/MultipleValidatorStatus",
  3744  	}
  3745  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3746  		return srv.(BeaconNodeValidatorServer).MultipleValidatorStatus(ctx, req.(*MultipleValidatorStatusRequest))
  3747  	}
  3748  	return interceptor(ctx, in, info, handler)
  3749  }
  3750  
  3751  func _BeaconNodeValidator_GetBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3752  	in := new(BlockRequest)
  3753  	if err := dec(in); err != nil {
  3754  		return nil, err
  3755  	}
  3756  	if interceptor == nil {
  3757  		return srv.(BeaconNodeValidatorServer).GetBlock(ctx, in)
  3758  	}
  3759  	info := &grpc.UnaryServerInfo{
  3760  		Server:     srv,
  3761  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetBlock",
  3762  	}
  3763  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3764  		return srv.(BeaconNodeValidatorServer).GetBlock(ctx, req.(*BlockRequest))
  3765  	}
  3766  	return interceptor(ctx, in, info, handler)
  3767  }
  3768  
  3769  func _BeaconNodeValidator_ProposeBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3770  	in := new(SignedBeaconBlock)
  3771  	if err := dec(in); err != nil {
  3772  		return nil, err
  3773  	}
  3774  	if interceptor == nil {
  3775  		return srv.(BeaconNodeValidatorServer).ProposeBlock(ctx, in)
  3776  	}
  3777  	info := &grpc.UnaryServerInfo{
  3778  		Server:     srv,
  3779  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeBlock",
  3780  	}
  3781  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3782  		return srv.(BeaconNodeValidatorServer).ProposeBlock(ctx, req.(*SignedBeaconBlock))
  3783  	}
  3784  	return interceptor(ctx, in, info, handler)
  3785  }
  3786  
  3787  func _BeaconNodeValidator_GetAttestationData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3788  	in := new(AttestationDataRequest)
  3789  	if err := dec(in); err != nil {
  3790  		return nil, err
  3791  	}
  3792  	if interceptor == nil {
  3793  		return srv.(BeaconNodeValidatorServer).GetAttestationData(ctx, in)
  3794  	}
  3795  	info := &grpc.UnaryServerInfo{
  3796  		Server:     srv,
  3797  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/GetAttestationData",
  3798  	}
  3799  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3800  		return srv.(BeaconNodeValidatorServer).GetAttestationData(ctx, req.(*AttestationDataRequest))
  3801  	}
  3802  	return interceptor(ctx, in, info, handler)
  3803  }
  3804  
  3805  func _BeaconNodeValidator_ProposeAttestation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3806  	in := new(Attestation)
  3807  	if err := dec(in); err != nil {
  3808  		return nil, err
  3809  	}
  3810  	if interceptor == nil {
  3811  		return srv.(BeaconNodeValidatorServer).ProposeAttestation(ctx, in)
  3812  	}
  3813  	info := &grpc.UnaryServerInfo{
  3814  		Server:     srv,
  3815  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeAttestation",
  3816  	}
  3817  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3818  		return srv.(BeaconNodeValidatorServer).ProposeAttestation(ctx, req.(*Attestation))
  3819  	}
  3820  	return interceptor(ctx, in, info, handler)
  3821  }
  3822  
  3823  func _BeaconNodeValidator_SubmitAggregateSelectionProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3824  	in := new(AggregateSelectionRequest)
  3825  	if err := dec(in); err != nil {
  3826  		return nil, err
  3827  	}
  3828  	if interceptor == nil {
  3829  		return srv.(BeaconNodeValidatorServer).SubmitAggregateSelectionProof(ctx, in)
  3830  	}
  3831  	info := &grpc.UnaryServerInfo{
  3832  		Server:     srv,
  3833  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubmitAggregateSelectionProof",
  3834  	}
  3835  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3836  		return srv.(BeaconNodeValidatorServer).SubmitAggregateSelectionProof(ctx, req.(*AggregateSelectionRequest))
  3837  	}
  3838  	return interceptor(ctx, in, info, handler)
  3839  }
  3840  
  3841  func _BeaconNodeValidator_SubmitSignedAggregateSelectionProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3842  	in := new(SignedAggregateSubmitRequest)
  3843  	if err := dec(in); err != nil {
  3844  		return nil, err
  3845  	}
  3846  	if interceptor == nil {
  3847  		return srv.(BeaconNodeValidatorServer).SubmitSignedAggregateSelectionProof(ctx, in)
  3848  	}
  3849  	info := &grpc.UnaryServerInfo{
  3850  		Server:     srv,
  3851  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubmitSignedAggregateSelectionProof",
  3852  	}
  3853  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3854  		return srv.(BeaconNodeValidatorServer).SubmitSignedAggregateSelectionProof(ctx, req.(*SignedAggregateSubmitRequest))
  3855  	}
  3856  	return interceptor(ctx, in, info, handler)
  3857  }
  3858  
  3859  func _BeaconNodeValidator_ProposeExit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3860  	in := new(SignedVoluntaryExit)
  3861  	if err := dec(in); err != nil {
  3862  		return nil, err
  3863  	}
  3864  	if interceptor == nil {
  3865  		return srv.(BeaconNodeValidatorServer).ProposeExit(ctx, in)
  3866  	}
  3867  	info := &grpc.UnaryServerInfo{
  3868  		Server:     srv,
  3869  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/ProposeExit",
  3870  	}
  3871  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3872  		return srv.(BeaconNodeValidatorServer).ProposeExit(ctx, req.(*SignedVoluntaryExit))
  3873  	}
  3874  	return interceptor(ctx, in, info, handler)
  3875  }
  3876  
  3877  func _BeaconNodeValidator_SubscribeCommitteeSubnets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3878  	in := new(CommitteeSubnetsSubscribeRequest)
  3879  	if err := dec(in); err != nil {
  3880  		return nil, err
  3881  	}
  3882  	if interceptor == nil {
  3883  		return srv.(BeaconNodeValidatorServer).SubscribeCommitteeSubnets(ctx, in)
  3884  	}
  3885  	info := &grpc.UnaryServerInfo{
  3886  		Server:     srv,
  3887  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/SubscribeCommitteeSubnets",
  3888  	}
  3889  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3890  		return srv.(BeaconNodeValidatorServer).SubscribeCommitteeSubnets(ctx, req.(*CommitteeSubnetsSubscribeRequest))
  3891  	}
  3892  	return interceptor(ctx, in, info, handler)
  3893  }
  3894  
  3895  func _BeaconNodeValidator_CheckDoppelGanger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  3896  	in := new(DoppelGangerRequest)
  3897  	if err := dec(in); err != nil {
  3898  		return nil, err
  3899  	}
  3900  	if interceptor == nil {
  3901  		return srv.(BeaconNodeValidatorServer).CheckDoppelGanger(ctx, in)
  3902  	}
  3903  	info := &grpc.UnaryServerInfo{
  3904  		Server:     srv,
  3905  		FullMethod: "/ethereum.eth.v1alpha1.BeaconNodeValidator/CheckDoppelGanger",
  3906  	}
  3907  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  3908  		return srv.(BeaconNodeValidatorServer).CheckDoppelGanger(ctx, req.(*DoppelGangerRequest))
  3909  	}
  3910  	return interceptor(ctx, in, info, handler)
  3911  }
  3912  
  3913  var _BeaconNodeValidator_serviceDesc = grpc.ServiceDesc{
  3914  	ServiceName: "ethereum.eth.v1alpha1.BeaconNodeValidator",
  3915  	HandlerType: (*BeaconNodeValidatorServer)(nil),
  3916  	Methods: []grpc.MethodDesc{
  3917  		{
  3918  			MethodName: "GetDuties",
  3919  			Handler:    _BeaconNodeValidator_GetDuties_Handler,
  3920  		},
  3921  		{
  3922  			MethodName: "DomainData",
  3923  			Handler:    _BeaconNodeValidator_DomainData_Handler,
  3924  		},
  3925  		{
  3926  			MethodName: "ValidatorIndex",
  3927  			Handler:    _BeaconNodeValidator_ValidatorIndex_Handler,
  3928  		},
  3929  		{
  3930  			MethodName: "ValidatorStatus",
  3931  			Handler:    _BeaconNodeValidator_ValidatorStatus_Handler,
  3932  		},
  3933  		{
  3934  			MethodName: "MultipleValidatorStatus",
  3935  			Handler:    _BeaconNodeValidator_MultipleValidatorStatus_Handler,
  3936  		},
  3937  		{
  3938  			MethodName: "GetBlock",
  3939  			Handler:    _BeaconNodeValidator_GetBlock_Handler,
  3940  		},
  3941  		{
  3942  			MethodName: "ProposeBlock",
  3943  			Handler:    _BeaconNodeValidator_ProposeBlock_Handler,
  3944  		},
  3945  		{
  3946  			MethodName: "GetAttestationData",
  3947  			Handler:    _BeaconNodeValidator_GetAttestationData_Handler,
  3948  		},
  3949  		{
  3950  			MethodName: "ProposeAttestation",
  3951  			Handler:    _BeaconNodeValidator_ProposeAttestation_Handler,
  3952  		},
  3953  		{
  3954  			MethodName: "SubmitAggregateSelectionProof",
  3955  			Handler:    _BeaconNodeValidator_SubmitAggregateSelectionProof_Handler,
  3956  		},
  3957  		{
  3958  			MethodName: "SubmitSignedAggregateSelectionProof",
  3959  			Handler:    _BeaconNodeValidator_SubmitSignedAggregateSelectionProof_Handler,
  3960  		},
  3961  		{
  3962  			MethodName: "ProposeExit",
  3963  			Handler:    _BeaconNodeValidator_ProposeExit_Handler,
  3964  		},
  3965  		{
  3966  			MethodName: "SubscribeCommitteeSubnets",
  3967  			Handler:    _BeaconNodeValidator_SubscribeCommitteeSubnets_Handler,
  3968  		},
  3969  		{
  3970  			MethodName: "CheckDoppelGanger",
  3971  			Handler:    _BeaconNodeValidator_CheckDoppelGanger_Handler,
  3972  		},
  3973  	},
  3974  	Streams: []grpc.StreamDesc{
  3975  		{
  3976  			StreamName:    "StreamDuties",
  3977  			Handler:       _BeaconNodeValidator_StreamDuties_Handler,
  3978  			ServerStreams: true,
  3979  		},
  3980  		{
  3981  			StreamName:    "WaitForChainStart",
  3982  			Handler:       _BeaconNodeValidator_WaitForChainStart_Handler,
  3983  			ServerStreams: true,
  3984  		},
  3985  		{
  3986  			StreamName:    "WaitForActivation",
  3987  			Handler:       _BeaconNodeValidator_WaitForActivation_Handler,
  3988  			ServerStreams: true,
  3989  		},
  3990  	},
  3991  	Metadata: "proto/eth/v1alpha1/validator.proto",
  3992  }