google.golang.org/grpc@v1.72.2/credentials/alts/internal/proto/grpc_gcp/handshaker.pb.go (about)

     1  // Copyright 2018 The gRPC Authors
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // The canonical version of this proto can be found at
    16  // https://github.com/grpc/grpc-proto/blob/master/grpc/gcp/handshaker.proto
    17  
    18  // Code generated by protoc-gen-go. DO NOT EDIT.
    19  // versions:
    20  // 	protoc-gen-go v1.36.5
    21  // 	protoc        v5.27.1
    22  // source: grpc/gcp/handshaker.proto
    23  
    24  package grpc_gcp
    25  
    26  import (
    27  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    28  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    29  	reflect "reflect"
    30  	sync "sync"
    31  	unsafe "unsafe"
    32  )
    33  
    34  const (
    35  	// Verify that this generated code is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    37  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    39  )
    40  
    41  type HandshakeProtocol int32
    42  
    43  const (
    44  	// Default value.
    45  	HandshakeProtocol_HANDSHAKE_PROTOCOL_UNSPECIFIED HandshakeProtocol = 0
    46  	// TLS handshake protocol.
    47  	HandshakeProtocol_TLS HandshakeProtocol = 1
    48  	// Application Layer Transport Security handshake protocol.
    49  	HandshakeProtocol_ALTS HandshakeProtocol = 2
    50  )
    51  
    52  // Enum value maps for HandshakeProtocol.
    53  var (
    54  	HandshakeProtocol_name = map[int32]string{
    55  		0: "HANDSHAKE_PROTOCOL_UNSPECIFIED",
    56  		1: "TLS",
    57  		2: "ALTS",
    58  	}
    59  	HandshakeProtocol_value = map[string]int32{
    60  		"HANDSHAKE_PROTOCOL_UNSPECIFIED": 0,
    61  		"TLS":                            1,
    62  		"ALTS":                           2,
    63  	}
    64  )
    65  
    66  func (x HandshakeProtocol) Enum() *HandshakeProtocol {
    67  	p := new(HandshakeProtocol)
    68  	*p = x
    69  	return p
    70  }
    71  
    72  func (x HandshakeProtocol) String() string {
    73  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    74  }
    75  
    76  func (HandshakeProtocol) Descriptor() protoreflect.EnumDescriptor {
    77  	return file_grpc_gcp_handshaker_proto_enumTypes[0].Descriptor()
    78  }
    79  
    80  func (HandshakeProtocol) Type() protoreflect.EnumType {
    81  	return &file_grpc_gcp_handshaker_proto_enumTypes[0]
    82  }
    83  
    84  func (x HandshakeProtocol) Number() protoreflect.EnumNumber {
    85  	return protoreflect.EnumNumber(x)
    86  }
    87  
    88  // Deprecated: Use HandshakeProtocol.Descriptor instead.
    89  func (HandshakeProtocol) EnumDescriptor() ([]byte, []int) {
    90  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{0}
    91  }
    92  
    93  type NetworkProtocol int32
    94  
    95  const (
    96  	NetworkProtocol_NETWORK_PROTOCOL_UNSPECIFIED NetworkProtocol = 0
    97  	NetworkProtocol_TCP                          NetworkProtocol = 1
    98  	NetworkProtocol_UDP                          NetworkProtocol = 2
    99  )
   100  
   101  // Enum value maps for NetworkProtocol.
   102  var (
   103  	NetworkProtocol_name = map[int32]string{
   104  		0: "NETWORK_PROTOCOL_UNSPECIFIED",
   105  		1: "TCP",
   106  		2: "UDP",
   107  	}
   108  	NetworkProtocol_value = map[string]int32{
   109  		"NETWORK_PROTOCOL_UNSPECIFIED": 0,
   110  		"TCP":                          1,
   111  		"UDP":                          2,
   112  	}
   113  )
   114  
   115  func (x NetworkProtocol) Enum() *NetworkProtocol {
   116  	p := new(NetworkProtocol)
   117  	*p = x
   118  	return p
   119  }
   120  
   121  func (x NetworkProtocol) String() string {
   122  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   123  }
   124  
   125  func (NetworkProtocol) Descriptor() protoreflect.EnumDescriptor {
   126  	return file_grpc_gcp_handshaker_proto_enumTypes[1].Descriptor()
   127  }
   128  
   129  func (NetworkProtocol) Type() protoreflect.EnumType {
   130  	return &file_grpc_gcp_handshaker_proto_enumTypes[1]
   131  }
   132  
   133  func (x NetworkProtocol) Number() protoreflect.EnumNumber {
   134  	return protoreflect.EnumNumber(x)
   135  }
   136  
   137  // Deprecated: Use NetworkProtocol.Descriptor instead.
   138  func (NetworkProtocol) EnumDescriptor() ([]byte, []int) {
   139  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{1}
   140  }
   141  
   142  type Endpoint struct {
   143  	state protoimpl.MessageState `protogen:"open.v1"`
   144  	// IP address. It should contain an IPv4 or IPv6 string literal, e.g.
   145  	// "192.168.0.1" or "2001:db8::1".
   146  	IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
   147  	// Port number.
   148  	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
   149  	// Network protocol (e.g., TCP, UDP) associated with this endpoint.
   150  	Protocol      NetworkProtocol `protobuf:"varint,3,opt,name=protocol,proto3,enum=grpc.gcp.NetworkProtocol" json:"protocol,omitempty"`
   151  	unknownFields protoimpl.UnknownFields
   152  	sizeCache     protoimpl.SizeCache
   153  }
   154  
   155  func (x *Endpoint) Reset() {
   156  	*x = Endpoint{}
   157  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[0]
   158  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   159  	ms.StoreMessageInfo(mi)
   160  }
   161  
   162  func (x *Endpoint) String() string {
   163  	return protoimpl.X.MessageStringOf(x)
   164  }
   165  
   166  func (*Endpoint) ProtoMessage() {}
   167  
   168  func (x *Endpoint) ProtoReflect() protoreflect.Message {
   169  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[0]
   170  	if x != nil {
   171  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   172  		if ms.LoadMessageInfo() == nil {
   173  			ms.StoreMessageInfo(mi)
   174  		}
   175  		return ms
   176  	}
   177  	return mi.MessageOf(x)
   178  }
   179  
   180  // Deprecated: Use Endpoint.ProtoReflect.Descriptor instead.
   181  func (*Endpoint) Descriptor() ([]byte, []int) {
   182  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{0}
   183  }
   184  
   185  func (x *Endpoint) GetIpAddress() string {
   186  	if x != nil {
   187  		return x.IpAddress
   188  	}
   189  	return ""
   190  }
   191  
   192  func (x *Endpoint) GetPort() int32 {
   193  	if x != nil {
   194  		return x.Port
   195  	}
   196  	return 0
   197  }
   198  
   199  func (x *Endpoint) GetProtocol() NetworkProtocol {
   200  	if x != nil {
   201  		return x.Protocol
   202  	}
   203  	return NetworkProtocol_NETWORK_PROTOCOL_UNSPECIFIED
   204  }
   205  
   206  type Identity struct {
   207  	state protoimpl.MessageState `protogen:"open.v1"`
   208  	// Types that are valid to be assigned to IdentityOneof:
   209  	//
   210  	//	*Identity_ServiceAccount
   211  	//	*Identity_Hostname
   212  	IdentityOneof isIdentity_IdentityOneof `protobuf_oneof:"identity_oneof"`
   213  	// Additional attributes of the identity.
   214  	Attributes    map[string]string `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
   215  	unknownFields protoimpl.UnknownFields
   216  	sizeCache     protoimpl.SizeCache
   217  }
   218  
   219  func (x *Identity) Reset() {
   220  	*x = Identity{}
   221  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[1]
   222  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   223  	ms.StoreMessageInfo(mi)
   224  }
   225  
   226  func (x *Identity) String() string {
   227  	return protoimpl.X.MessageStringOf(x)
   228  }
   229  
   230  func (*Identity) ProtoMessage() {}
   231  
   232  func (x *Identity) ProtoReflect() protoreflect.Message {
   233  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[1]
   234  	if x != nil {
   235  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   236  		if ms.LoadMessageInfo() == nil {
   237  			ms.StoreMessageInfo(mi)
   238  		}
   239  		return ms
   240  	}
   241  	return mi.MessageOf(x)
   242  }
   243  
   244  // Deprecated: Use Identity.ProtoReflect.Descriptor instead.
   245  func (*Identity) Descriptor() ([]byte, []int) {
   246  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{1}
   247  }
   248  
   249  func (x *Identity) GetIdentityOneof() isIdentity_IdentityOneof {
   250  	if x != nil {
   251  		return x.IdentityOneof
   252  	}
   253  	return nil
   254  }
   255  
   256  func (x *Identity) GetServiceAccount() string {
   257  	if x != nil {
   258  		if x, ok := x.IdentityOneof.(*Identity_ServiceAccount); ok {
   259  			return x.ServiceAccount
   260  		}
   261  	}
   262  	return ""
   263  }
   264  
   265  func (x *Identity) GetHostname() string {
   266  	if x != nil {
   267  		if x, ok := x.IdentityOneof.(*Identity_Hostname); ok {
   268  			return x.Hostname
   269  		}
   270  	}
   271  	return ""
   272  }
   273  
   274  func (x *Identity) GetAttributes() map[string]string {
   275  	if x != nil {
   276  		return x.Attributes
   277  	}
   278  	return nil
   279  }
   280  
   281  type isIdentity_IdentityOneof interface {
   282  	isIdentity_IdentityOneof()
   283  }
   284  
   285  type Identity_ServiceAccount struct {
   286  	// Service account of a connection endpoint.
   287  	ServiceAccount string `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3,oneof"`
   288  }
   289  
   290  type Identity_Hostname struct {
   291  	// Hostname of a connection endpoint.
   292  	Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3,oneof"`
   293  }
   294  
   295  func (*Identity_ServiceAccount) isIdentity_IdentityOneof() {}
   296  
   297  func (*Identity_Hostname) isIdentity_IdentityOneof() {}
   298  
   299  type StartClientHandshakeReq struct {
   300  	state protoimpl.MessageState `protogen:"open.v1"`
   301  	// Handshake security protocol requested by the client.
   302  	HandshakeSecurityProtocol HandshakeProtocol `protobuf:"varint,1,opt,name=handshake_security_protocol,json=handshakeSecurityProtocol,proto3,enum=grpc.gcp.HandshakeProtocol" json:"handshake_security_protocol,omitempty"`
   303  	// The application protocols supported by the client, e.g., "h2" (for http2),
   304  	// "grpc".
   305  	ApplicationProtocols []string `protobuf:"bytes,2,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"`
   306  	// The record protocols supported by the client, e.g.,
   307  	// "ALTSRP_GCM_AES128".
   308  	RecordProtocols []string `protobuf:"bytes,3,rep,name=record_protocols,json=recordProtocols,proto3" json:"record_protocols,omitempty"`
   309  	// (Optional) Describes which server identities are acceptable by the client.
   310  	// If target identities are provided and none of them matches the peer
   311  	// identity of the server, handshake will fail.
   312  	TargetIdentities []*Identity `protobuf:"bytes,4,rep,name=target_identities,json=targetIdentities,proto3" json:"target_identities,omitempty"`
   313  	// (Optional) Application may specify a local identity. Otherwise, the
   314  	// handshaker chooses a default local identity.
   315  	LocalIdentity *Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"`
   316  	// (Optional) Local endpoint information of the connection to the server,
   317  	// such as local IP address, port number, and network protocol.
   318  	LocalEndpoint *Endpoint `protobuf:"bytes,6,opt,name=local_endpoint,json=localEndpoint,proto3" json:"local_endpoint,omitempty"`
   319  	// (Optional) Endpoint information of the remote server, such as IP address,
   320  	// port number, and network protocol.
   321  	RemoteEndpoint *Endpoint `protobuf:"bytes,7,opt,name=remote_endpoint,json=remoteEndpoint,proto3" json:"remote_endpoint,omitempty"`
   322  	// (Optional) If target name is provided, a secure naming check is performed
   323  	// to verify that the peer authenticated identity is indeed authorized to run
   324  	// the target name.
   325  	TargetName string `protobuf:"bytes,8,opt,name=target_name,json=targetName,proto3" json:"target_name,omitempty"`
   326  	// (Optional) RPC protocol versions supported by the client.
   327  	RpcVersions *RpcProtocolVersions `protobuf:"bytes,9,opt,name=rpc_versions,json=rpcVersions,proto3" json:"rpc_versions,omitempty"`
   328  	// (Optional) Maximum frame size supported by the client.
   329  	MaxFrameSize uint32 `protobuf:"varint,10,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"`
   330  	// (Optional) An access token created by the caller only intended for use in
   331  	// ALTS connections. The access token that should be used to authenticate to
   332  	// the peer. The access token MUST be strongly bound to the ALTS credentials
   333  	// used to establish the connection that the token is sent over.
   334  	AccessToken   string `protobuf:"bytes,11,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
   335  	unknownFields protoimpl.UnknownFields
   336  	sizeCache     protoimpl.SizeCache
   337  }
   338  
   339  func (x *StartClientHandshakeReq) Reset() {
   340  	*x = StartClientHandshakeReq{}
   341  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[2]
   342  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   343  	ms.StoreMessageInfo(mi)
   344  }
   345  
   346  func (x *StartClientHandshakeReq) String() string {
   347  	return protoimpl.X.MessageStringOf(x)
   348  }
   349  
   350  func (*StartClientHandshakeReq) ProtoMessage() {}
   351  
   352  func (x *StartClientHandshakeReq) ProtoReflect() protoreflect.Message {
   353  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[2]
   354  	if x != nil {
   355  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   356  		if ms.LoadMessageInfo() == nil {
   357  			ms.StoreMessageInfo(mi)
   358  		}
   359  		return ms
   360  	}
   361  	return mi.MessageOf(x)
   362  }
   363  
   364  // Deprecated: Use StartClientHandshakeReq.ProtoReflect.Descriptor instead.
   365  func (*StartClientHandshakeReq) Descriptor() ([]byte, []int) {
   366  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{2}
   367  }
   368  
   369  func (x *StartClientHandshakeReq) GetHandshakeSecurityProtocol() HandshakeProtocol {
   370  	if x != nil {
   371  		return x.HandshakeSecurityProtocol
   372  	}
   373  	return HandshakeProtocol_HANDSHAKE_PROTOCOL_UNSPECIFIED
   374  }
   375  
   376  func (x *StartClientHandshakeReq) GetApplicationProtocols() []string {
   377  	if x != nil {
   378  		return x.ApplicationProtocols
   379  	}
   380  	return nil
   381  }
   382  
   383  func (x *StartClientHandshakeReq) GetRecordProtocols() []string {
   384  	if x != nil {
   385  		return x.RecordProtocols
   386  	}
   387  	return nil
   388  }
   389  
   390  func (x *StartClientHandshakeReq) GetTargetIdentities() []*Identity {
   391  	if x != nil {
   392  		return x.TargetIdentities
   393  	}
   394  	return nil
   395  }
   396  
   397  func (x *StartClientHandshakeReq) GetLocalIdentity() *Identity {
   398  	if x != nil {
   399  		return x.LocalIdentity
   400  	}
   401  	return nil
   402  }
   403  
   404  func (x *StartClientHandshakeReq) GetLocalEndpoint() *Endpoint {
   405  	if x != nil {
   406  		return x.LocalEndpoint
   407  	}
   408  	return nil
   409  }
   410  
   411  func (x *StartClientHandshakeReq) GetRemoteEndpoint() *Endpoint {
   412  	if x != nil {
   413  		return x.RemoteEndpoint
   414  	}
   415  	return nil
   416  }
   417  
   418  func (x *StartClientHandshakeReq) GetTargetName() string {
   419  	if x != nil {
   420  		return x.TargetName
   421  	}
   422  	return ""
   423  }
   424  
   425  func (x *StartClientHandshakeReq) GetRpcVersions() *RpcProtocolVersions {
   426  	if x != nil {
   427  		return x.RpcVersions
   428  	}
   429  	return nil
   430  }
   431  
   432  func (x *StartClientHandshakeReq) GetMaxFrameSize() uint32 {
   433  	if x != nil {
   434  		return x.MaxFrameSize
   435  	}
   436  	return 0
   437  }
   438  
   439  func (x *StartClientHandshakeReq) GetAccessToken() string {
   440  	if x != nil {
   441  		return x.AccessToken
   442  	}
   443  	return ""
   444  }
   445  
   446  type ServerHandshakeParameters struct {
   447  	state protoimpl.MessageState `protogen:"open.v1"`
   448  	// The record protocols supported by the server, e.g.,
   449  	// "ALTSRP_GCM_AES128".
   450  	RecordProtocols []string `protobuf:"bytes,1,rep,name=record_protocols,json=recordProtocols,proto3" json:"record_protocols,omitempty"`
   451  	// (Optional) A list of local identities supported by the server, if
   452  	// specified. Otherwise, the handshaker chooses a default local identity.
   453  	LocalIdentities []*Identity `protobuf:"bytes,2,rep,name=local_identities,json=localIdentities,proto3" json:"local_identities,omitempty"`
   454  	// A token created by the caller only intended for use in
   455  	// ALTS connections. The token should be used to authenticate to
   456  	// the peer. The token MUST be strongly bound to the ALTS credentials
   457  	// used to establish the connection that the token is sent over.
   458  	Token         *string `protobuf:"bytes,3,opt,name=token,proto3,oneof" json:"token,omitempty"`
   459  	unknownFields protoimpl.UnknownFields
   460  	sizeCache     protoimpl.SizeCache
   461  }
   462  
   463  func (x *ServerHandshakeParameters) Reset() {
   464  	*x = ServerHandshakeParameters{}
   465  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[3]
   466  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   467  	ms.StoreMessageInfo(mi)
   468  }
   469  
   470  func (x *ServerHandshakeParameters) String() string {
   471  	return protoimpl.X.MessageStringOf(x)
   472  }
   473  
   474  func (*ServerHandshakeParameters) ProtoMessage() {}
   475  
   476  func (x *ServerHandshakeParameters) ProtoReflect() protoreflect.Message {
   477  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[3]
   478  	if x != nil {
   479  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   480  		if ms.LoadMessageInfo() == nil {
   481  			ms.StoreMessageInfo(mi)
   482  		}
   483  		return ms
   484  	}
   485  	return mi.MessageOf(x)
   486  }
   487  
   488  // Deprecated: Use ServerHandshakeParameters.ProtoReflect.Descriptor instead.
   489  func (*ServerHandshakeParameters) Descriptor() ([]byte, []int) {
   490  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{3}
   491  }
   492  
   493  func (x *ServerHandshakeParameters) GetRecordProtocols() []string {
   494  	if x != nil {
   495  		return x.RecordProtocols
   496  	}
   497  	return nil
   498  }
   499  
   500  func (x *ServerHandshakeParameters) GetLocalIdentities() []*Identity {
   501  	if x != nil {
   502  		return x.LocalIdentities
   503  	}
   504  	return nil
   505  }
   506  
   507  func (x *ServerHandshakeParameters) GetToken() string {
   508  	if x != nil && x.Token != nil {
   509  		return *x.Token
   510  	}
   511  	return ""
   512  }
   513  
   514  type StartServerHandshakeReq struct {
   515  	state protoimpl.MessageState `protogen:"open.v1"`
   516  	// The application protocols supported by the server, e.g., "h2" (for http2),
   517  	// "grpc".
   518  	ApplicationProtocols []string `protobuf:"bytes,1,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"`
   519  	// Handshake parameters (record protocols and local identities supported by
   520  	// the server) mapped by the handshake protocol. Each handshake security
   521  	// protocol (e.g., TLS or ALTS) has its own set of record protocols and local
   522  	// identities. Since protobuf does not support enum as key to the map, the key
   523  	// to handshake_parameters is the integer value of HandshakeProtocol enum.
   524  	HandshakeParameters map[int32]*ServerHandshakeParameters `protobuf:"bytes,2,rep,name=handshake_parameters,json=handshakeParameters,proto3" json:"handshake_parameters,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
   525  	// Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   526  	// that the peer's out_frames are split into multiple HandshakeReq messages.
   527  	InBytes []byte `protobuf:"bytes,3,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"`
   528  	// (Optional) Local endpoint information of the connection to the client,
   529  	// such as local IP address, port number, and network protocol.
   530  	LocalEndpoint *Endpoint `protobuf:"bytes,4,opt,name=local_endpoint,json=localEndpoint,proto3" json:"local_endpoint,omitempty"`
   531  	// (Optional) Endpoint information of the remote client, such as IP address,
   532  	// port number, and network protocol.
   533  	RemoteEndpoint *Endpoint `protobuf:"bytes,5,opt,name=remote_endpoint,json=remoteEndpoint,proto3" json:"remote_endpoint,omitempty"`
   534  	// (Optional) RPC protocol versions supported by the server.
   535  	RpcVersions *RpcProtocolVersions `protobuf:"bytes,6,opt,name=rpc_versions,json=rpcVersions,proto3" json:"rpc_versions,omitempty"`
   536  	// (Optional) Maximum frame size supported by the server.
   537  	MaxFrameSize  uint32 `protobuf:"varint,7,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"`
   538  	unknownFields protoimpl.UnknownFields
   539  	sizeCache     protoimpl.SizeCache
   540  }
   541  
   542  func (x *StartServerHandshakeReq) Reset() {
   543  	*x = StartServerHandshakeReq{}
   544  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[4]
   545  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   546  	ms.StoreMessageInfo(mi)
   547  }
   548  
   549  func (x *StartServerHandshakeReq) String() string {
   550  	return protoimpl.X.MessageStringOf(x)
   551  }
   552  
   553  func (*StartServerHandshakeReq) ProtoMessage() {}
   554  
   555  func (x *StartServerHandshakeReq) ProtoReflect() protoreflect.Message {
   556  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[4]
   557  	if x != nil {
   558  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   559  		if ms.LoadMessageInfo() == nil {
   560  			ms.StoreMessageInfo(mi)
   561  		}
   562  		return ms
   563  	}
   564  	return mi.MessageOf(x)
   565  }
   566  
   567  // Deprecated: Use StartServerHandshakeReq.ProtoReflect.Descriptor instead.
   568  func (*StartServerHandshakeReq) Descriptor() ([]byte, []int) {
   569  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{4}
   570  }
   571  
   572  func (x *StartServerHandshakeReq) GetApplicationProtocols() []string {
   573  	if x != nil {
   574  		return x.ApplicationProtocols
   575  	}
   576  	return nil
   577  }
   578  
   579  func (x *StartServerHandshakeReq) GetHandshakeParameters() map[int32]*ServerHandshakeParameters {
   580  	if x != nil {
   581  		return x.HandshakeParameters
   582  	}
   583  	return nil
   584  }
   585  
   586  func (x *StartServerHandshakeReq) GetInBytes() []byte {
   587  	if x != nil {
   588  		return x.InBytes
   589  	}
   590  	return nil
   591  }
   592  
   593  func (x *StartServerHandshakeReq) GetLocalEndpoint() *Endpoint {
   594  	if x != nil {
   595  		return x.LocalEndpoint
   596  	}
   597  	return nil
   598  }
   599  
   600  func (x *StartServerHandshakeReq) GetRemoteEndpoint() *Endpoint {
   601  	if x != nil {
   602  		return x.RemoteEndpoint
   603  	}
   604  	return nil
   605  }
   606  
   607  func (x *StartServerHandshakeReq) GetRpcVersions() *RpcProtocolVersions {
   608  	if x != nil {
   609  		return x.RpcVersions
   610  	}
   611  	return nil
   612  }
   613  
   614  func (x *StartServerHandshakeReq) GetMaxFrameSize() uint32 {
   615  	if x != nil {
   616  		return x.MaxFrameSize
   617  	}
   618  	return 0
   619  }
   620  
   621  type NextHandshakeMessageReq struct {
   622  	state protoimpl.MessageState `protogen:"open.v1"`
   623  	// Bytes in out_frames returned from the peer's HandshakerResp. It is possible
   624  	// that the peer's out_frames are split into multiple NextHandshakerMessageReq
   625  	// messages.
   626  	InBytes []byte `protobuf:"bytes,1,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"`
   627  	// Number of milliseconds between when the application send the last handshake
   628  	// message to the peer and when the application received the current handshake
   629  	// message (in the in_bytes field) from the peer.
   630  	NetworkLatencyMs uint32 `protobuf:"varint,2,opt,name=network_latency_ms,json=networkLatencyMs,proto3" json:"network_latency_ms,omitempty"`
   631  	unknownFields    protoimpl.UnknownFields
   632  	sizeCache        protoimpl.SizeCache
   633  }
   634  
   635  func (x *NextHandshakeMessageReq) Reset() {
   636  	*x = NextHandshakeMessageReq{}
   637  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[5]
   638  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   639  	ms.StoreMessageInfo(mi)
   640  }
   641  
   642  func (x *NextHandshakeMessageReq) String() string {
   643  	return protoimpl.X.MessageStringOf(x)
   644  }
   645  
   646  func (*NextHandshakeMessageReq) ProtoMessage() {}
   647  
   648  func (x *NextHandshakeMessageReq) ProtoReflect() protoreflect.Message {
   649  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[5]
   650  	if x != nil {
   651  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   652  		if ms.LoadMessageInfo() == nil {
   653  			ms.StoreMessageInfo(mi)
   654  		}
   655  		return ms
   656  	}
   657  	return mi.MessageOf(x)
   658  }
   659  
   660  // Deprecated: Use NextHandshakeMessageReq.ProtoReflect.Descriptor instead.
   661  func (*NextHandshakeMessageReq) Descriptor() ([]byte, []int) {
   662  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{5}
   663  }
   664  
   665  func (x *NextHandshakeMessageReq) GetInBytes() []byte {
   666  	if x != nil {
   667  		return x.InBytes
   668  	}
   669  	return nil
   670  }
   671  
   672  func (x *NextHandshakeMessageReq) GetNetworkLatencyMs() uint32 {
   673  	if x != nil {
   674  		return x.NetworkLatencyMs
   675  	}
   676  	return 0
   677  }
   678  
   679  type HandshakerReq struct {
   680  	state protoimpl.MessageState `protogen:"open.v1"`
   681  	// Types that are valid to be assigned to ReqOneof:
   682  	//
   683  	//	*HandshakerReq_ClientStart
   684  	//	*HandshakerReq_ServerStart
   685  	//	*HandshakerReq_Next
   686  	ReqOneof      isHandshakerReq_ReqOneof `protobuf_oneof:"req_oneof"`
   687  	unknownFields protoimpl.UnknownFields
   688  	sizeCache     protoimpl.SizeCache
   689  }
   690  
   691  func (x *HandshakerReq) Reset() {
   692  	*x = HandshakerReq{}
   693  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[6]
   694  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   695  	ms.StoreMessageInfo(mi)
   696  }
   697  
   698  func (x *HandshakerReq) String() string {
   699  	return protoimpl.X.MessageStringOf(x)
   700  }
   701  
   702  func (*HandshakerReq) ProtoMessage() {}
   703  
   704  func (x *HandshakerReq) ProtoReflect() protoreflect.Message {
   705  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[6]
   706  	if x != nil {
   707  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   708  		if ms.LoadMessageInfo() == nil {
   709  			ms.StoreMessageInfo(mi)
   710  		}
   711  		return ms
   712  	}
   713  	return mi.MessageOf(x)
   714  }
   715  
   716  // Deprecated: Use HandshakerReq.ProtoReflect.Descriptor instead.
   717  func (*HandshakerReq) Descriptor() ([]byte, []int) {
   718  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{6}
   719  }
   720  
   721  func (x *HandshakerReq) GetReqOneof() isHandshakerReq_ReqOneof {
   722  	if x != nil {
   723  		return x.ReqOneof
   724  	}
   725  	return nil
   726  }
   727  
   728  func (x *HandshakerReq) GetClientStart() *StartClientHandshakeReq {
   729  	if x != nil {
   730  		if x, ok := x.ReqOneof.(*HandshakerReq_ClientStart); ok {
   731  			return x.ClientStart
   732  		}
   733  	}
   734  	return nil
   735  }
   736  
   737  func (x *HandshakerReq) GetServerStart() *StartServerHandshakeReq {
   738  	if x != nil {
   739  		if x, ok := x.ReqOneof.(*HandshakerReq_ServerStart); ok {
   740  			return x.ServerStart
   741  		}
   742  	}
   743  	return nil
   744  }
   745  
   746  func (x *HandshakerReq) GetNext() *NextHandshakeMessageReq {
   747  	if x != nil {
   748  		if x, ok := x.ReqOneof.(*HandshakerReq_Next); ok {
   749  			return x.Next
   750  		}
   751  	}
   752  	return nil
   753  }
   754  
   755  type isHandshakerReq_ReqOneof interface {
   756  	isHandshakerReq_ReqOneof()
   757  }
   758  
   759  type HandshakerReq_ClientStart struct {
   760  	// The start client handshake request message.
   761  	ClientStart *StartClientHandshakeReq `protobuf:"bytes,1,opt,name=client_start,json=clientStart,proto3,oneof"`
   762  }
   763  
   764  type HandshakerReq_ServerStart struct {
   765  	// The start server handshake request message.
   766  	ServerStart *StartServerHandshakeReq `protobuf:"bytes,2,opt,name=server_start,json=serverStart,proto3,oneof"`
   767  }
   768  
   769  type HandshakerReq_Next struct {
   770  	// The next handshake request message.
   771  	Next *NextHandshakeMessageReq `protobuf:"bytes,3,opt,name=next,proto3,oneof"`
   772  }
   773  
   774  func (*HandshakerReq_ClientStart) isHandshakerReq_ReqOneof() {}
   775  
   776  func (*HandshakerReq_ServerStart) isHandshakerReq_ReqOneof() {}
   777  
   778  func (*HandshakerReq_Next) isHandshakerReq_ReqOneof() {}
   779  
   780  type HandshakerResult struct {
   781  	state protoimpl.MessageState `protogen:"open.v1"`
   782  	// The application protocol negotiated for this connection.
   783  	ApplicationProtocol string `protobuf:"bytes,1,opt,name=application_protocol,json=applicationProtocol,proto3" json:"application_protocol,omitempty"`
   784  	// The record protocol negotiated for this connection.
   785  	RecordProtocol string `protobuf:"bytes,2,opt,name=record_protocol,json=recordProtocol,proto3" json:"record_protocol,omitempty"`
   786  	// Cryptographic key data. The key data may be more than the key length
   787  	// required for the record protocol, thus the client of the handshaker
   788  	// service needs to truncate the key data into the right key length.
   789  	KeyData []byte `protobuf:"bytes,3,opt,name=key_data,json=keyData,proto3" json:"key_data,omitempty"`
   790  	// The authenticated identity of the peer.
   791  	PeerIdentity *Identity `protobuf:"bytes,4,opt,name=peer_identity,json=peerIdentity,proto3" json:"peer_identity,omitempty"`
   792  	// The local identity used in the handshake.
   793  	LocalIdentity *Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"`
   794  	// Indicate whether the handshaker service client should keep the channel
   795  	// between the handshaker service open, e.g., in order to handle
   796  	// post-handshake messages in the future.
   797  	KeepChannelOpen bool `protobuf:"varint,6,opt,name=keep_channel_open,json=keepChannelOpen,proto3" json:"keep_channel_open,omitempty"`
   798  	// The RPC protocol versions supported by the peer.
   799  	PeerRpcVersions *RpcProtocolVersions `protobuf:"bytes,7,opt,name=peer_rpc_versions,json=peerRpcVersions,proto3" json:"peer_rpc_versions,omitempty"`
   800  	// The maximum frame size of the peer.
   801  	MaxFrameSize  uint32 `protobuf:"varint,8,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"`
   802  	unknownFields protoimpl.UnknownFields
   803  	sizeCache     protoimpl.SizeCache
   804  }
   805  
   806  func (x *HandshakerResult) Reset() {
   807  	*x = HandshakerResult{}
   808  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[7]
   809  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   810  	ms.StoreMessageInfo(mi)
   811  }
   812  
   813  func (x *HandshakerResult) String() string {
   814  	return protoimpl.X.MessageStringOf(x)
   815  }
   816  
   817  func (*HandshakerResult) ProtoMessage() {}
   818  
   819  func (x *HandshakerResult) ProtoReflect() protoreflect.Message {
   820  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[7]
   821  	if x != nil {
   822  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   823  		if ms.LoadMessageInfo() == nil {
   824  			ms.StoreMessageInfo(mi)
   825  		}
   826  		return ms
   827  	}
   828  	return mi.MessageOf(x)
   829  }
   830  
   831  // Deprecated: Use HandshakerResult.ProtoReflect.Descriptor instead.
   832  func (*HandshakerResult) Descriptor() ([]byte, []int) {
   833  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{7}
   834  }
   835  
   836  func (x *HandshakerResult) GetApplicationProtocol() string {
   837  	if x != nil {
   838  		return x.ApplicationProtocol
   839  	}
   840  	return ""
   841  }
   842  
   843  func (x *HandshakerResult) GetRecordProtocol() string {
   844  	if x != nil {
   845  		return x.RecordProtocol
   846  	}
   847  	return ""
   848  }
   849  
   850  func (x *HandshakerResult) GetKeyData() []byte {
   851  	if x != nil {
   852  		return x.KeyData
   853  	}
   854  	return nil
   855  }
   856  
   857  func (x *HandshakerResult) GetPeerIdentity() *Identity {
   858  	if x != nil {
   859  		return x.PeerIdentity
   860  	}
   861  	return nil
   862  }
   863  
   864  func (x *HandshakerResult) GetLocalIdentity() *Identity {
   865  	if x != nil {
   866  		return x.LocalIdentity
   867  	}
   868  	return nil
   869  }
   870  
   871  func (x *HandshakerResult) GetKeepChannelOpen() bool {
   872  	if x != nil {
   873  		return x.KeepChannelOpen
   874  	}
   875  	return false
   876  }
   877  
   878  func (x *HandshakerResult) GetPeerRpcVersions() *RpcProtocolVersions {
   879  	if x != nil {
   880  		return x.PeerRpcVersions
   881  	}
   882  	return nil
   883  }
   884  
   885  func (x *HandshakerResult) GetMaxFrameSize() uint32 {
   886  	if x != nil {
   887  		return x.MaxFrameSize
   888  	}
   889  	return 0
   890  }
   891  
   892  type HandshakerStatus struct {
   893  	state protoimpl.MessageState `protogen:"open.v1"`
   894  	// The status code. This could be the gRPC status code.
   895  	Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
   896  	// The status details.
   897  	Details       string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"`
   898  	unknownFields protoimpl.UnknownFields
   899  	sizeCache     protoimpl.SizeCache
   900  }
   901  
   902  func (x *HandshakerStatus) Reset() {
   903  	*x = HandshakerStatus{}
   904  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[8]
   905  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   906  	ms.StoreMessageInfo(mi)
   907  }
   908  
   909  func (x *HandshakerStatus) String() string {
   910  	return protoimpl.X.MessageStringOf(x)
   911  }
   912  
   913  func (*HandshakerStatus) ProtoMessage() {}
   914  
   915  func (x *HandshakerStatus) ProtoReflect() protoreflect.Message {
   916  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[8]
   917  	if x != nil {
   918  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   919  		if ms.LoadMessageInfo() == nil {
   920  			ms.StoreMessageInfo(mi)
   921  		}
   922  		return ms
   923  	}
   924  	return mi.MessageOf(x)
   925  }
   926  
   927  // Deprecated: Use HandshakerStatus.ProtoReflect.Descriptor instead.
   928  func (*HandshakerStatus) Descriptor() ([]byte, []int) {
   929  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{8}
   930  }
   931  
   932  func (x *HandshakerStatus) GetCode() uint32 {
   933  	if x != nil {
   934  		return x.Code
   935  	}
   936  	return 0
   937  }
   938  
   939  func (x *HandshakerStatus) GetDetails() string {
   940  	if x != nil {
   941  		return x.Details
   942  	}
   943  	return ""
   944  }
   945  
   946  type HandshakerResp struct {
   947  	state protoimpl.MessageState `protogen:"open.v1"`
   948  	// Frames to be given to the peer for the NextHandshakeMessageReq. May be
   949  	// empty if no out_frames have to be sent to the peer or if in_bytes in the
   950  	// HandshakerReq are incomplete. All the non-empty out frames must be sent to
   951  	// the peer even if the handshaker status is not OK as these frames may
   952  	// contain the alert frames.
   953  	OutFrames []byte `protobuf:"bytes,1,opt,name=out_frames,json=outFrames,proto3" json:"out_frames,omitempty"`
   954  	// Number of bytes in the in_bytes consumed by the handshaker. It is possible
   955  	// that part of in_bytes in HandshakerReq was unrelated to the handshake
   956  	// process.
   957  	BytesConsumed uint32 `protobuf:"varint,2,opt,name=bytes_consumed,json=bytesConsumed,proto3" json:"bytes_consumed,omitempty"`
   958  	// This is set iff the handshake was successful. out_frames may still be set
   959  	// to frames that needs to be forwarded to the peer.
   960  	Result *HandshakerResult `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
   961  	// Status of the handshaker.
   962  	Status        *HandshakerStatus `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
   963  	unknownFields protoimpl.UnknownFields
   964  	sizeCache     protoimpl.SizeCache
   965  }
   966  
   967  func (x *HandshakerResp) Reset() {
   968  	*x = HandshakerResp{}
   969  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[9]
   970  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   971  	ms.StoreMessageInfo(mi)
   972  }
   973  
   974  func (x *HandshakerResp) String() string {
   975  	return protoimpl.X.MessageStringOf(x)
   976  }
   977  
   978  func (*HandshakerResp) ProtoMessage() {}
   979  
   980  func (x *HandshakerResp) ProtoReflect() protoreflect.Message {
   981  	mi := &file_grpc_gcp_handshaker_proto_msgTypes[9]
   982  	if x != nil {
   983  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   984  		if ms.LoadMessageInfo() == nil {
   985  			ms.StoreMessageInfo(mi)
   986  		}
   987  		return ms
   988  	}
   989  	return mi.MessageOf(x)
   990  }
   991  
   992  // Deprecated: Use HandshakerResp.ProtoReflect.Descriptor instead.
   993  func (*HandshakerResp) Descriptor() ([]byte, []int) {
   994  	return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{9}
   995  }
   996  
   997  func (x *HandshakerResp) GetOutFrames() []byte {
   998  	if x != nil {
   999  		return x.OutFrames
  1000  	}
  1001  	return nil
  1002  }
  1003  
  1004  func (x *HandshakerResp) GetBytesConsumed() uint32 {
  1005  	if x != nil {
  1006  		return x.BytesConsumed
  1007  	}
  1008  	return 0
  1009  }
  1010  
  1011  func (x *HandshakerResp) GetResult() *HandshakerResult {
  1012  	if x != nil {
  1013  		return x.Result
  1014  	}
  1015  	return nil
  1016  }
  1017  
  1018  func (x *HandshakerResp) GetStatus() *HandshakerStatus {
  1019  	if x != nil {
  1020  		return x.Status
  1021  	}
  1022  	return nil
  1023  }
  1024  
  1025  var File_grpc_gcp_handshaker_proto protoreflect.FileDescriptor
  1026  
  1027  var file_grpc_gcp_handshaker_proto_rawDesc = string([]byte{
  1028  	0x0a, 0x19, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x63, 0x70, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x73,
  1029  	0x68, 0x61, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x67, 0x72, 0x70,
  1030  	0x63, 0x2e, 0x67, 0x63, 0x70, 0x1a, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x63, 0x70, 0x2f,
  1031  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69,
  1032  	0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
  1033  	0x74, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69,
  1034  	0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  1035  	0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f,
  1036  	0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x35,
  1037  	0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
  1038  	0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x4e, 0x65, 0x74, 0x77,
  1039  	0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f,
  1040  	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xe8, 0x01, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
  1041  	0x74, 0x79, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63,
  1042  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73,
  1043  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a,
  1044  	0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48,
  1045  	0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x61,
  1046  	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1047  	0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74,
  1048  	0x69, 0x74, 0x79, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e,
  1049  	0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a,
  1050  	0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74,
  1051  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  1052  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  1053  	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x10,
  1054  	0x0a, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
  1055  	0x22, 0xfb, 0x04, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  1056  	0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x12, 0x5b, 0x0a, 0x1b,
  1057  	0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69,
  1058  	0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
  1059  	0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e,
  1060  	0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x19,
  1061  	0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74,
  1062  	0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x70, 0x70,
  1063  	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
  1064  	0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
  1065  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x29,
  1066  	0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
  1067  	0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
  1068  	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x11, 0x74, 0x61, 0x72,
  1069  	0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04,
  1070  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e,
  1071  	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
  1072  	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f,
  1073  	0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01,
  1074  	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64,
  1075  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65,
  1076  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x65,
  1077  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
  1078  	0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
  1079  	0x74, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
  1080  	0x12, 0x3b, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f,
  1081  	0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63,
  1082  	0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0e, 0x72,
  1083  	0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a,
  1084  	0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01,
  1085  	0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40,
  1086  	0x0a, 0x0c, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09,
  1087  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e,
  1088  	0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69,
  1089  	0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x70, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
  1090  	0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x69,
  1091  	0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61,
  1092  	0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
  1093  	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0x80, 0x01,
  1094  	0x01, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xaf,
  1095  	0x01, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61,
  1096  	0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10,
  1097  	0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73,
  1098  	0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x72,
  1099  	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x3d, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
  1100  	0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
  1101  	0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65,
  1102  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e,
  1103  	0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
  1104  	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0x80, 0x01, 0x01, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f,
  1105  	0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
  1106  	0x22, 0xa5, 0x04, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
  1107  	0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x12, 0x33, 0x0a, 0x15,
  1108  	0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74,
  1109  	0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70, 0x70,
  1110  	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
  1111  	0x73, 0x12, 0x6d, 0x0a, 0x14, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x70,
  1112  	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1113  	0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74,
  1114  	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52,
  1115  	0x65, 0x71, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61,
  1116  	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x68, 0x61, 0x6e,
  1117  	0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
  1118  	0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01,
  1119  	0x28, 0x0c, 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0e, 0x6c,
  1120  	0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20,
  1121  	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45,
  1122  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x6e,
  1123  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
  1124  	0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1125  	0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f,
  1126  	0x69, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f,
  1127  	0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
  1128  	0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63,
  1129  	0x2e, 0x67, 0x63, 0x70, 0x2e, 0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
  1130  	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x70, 0x63, 0x56, 0x65, 0x72,
  1131  	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61,
  1132  	0x6d, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d,
  1133  	0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x6b, 0x0a, 0x18, 0x48,
  1134  	0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
  1135  	0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
  1136  	0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c,
  1137  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
  1138  	0x67, 0x63, 0x70, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68,
  1139  	0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76,
  1140  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x62, 0x0a, 0x17, 0x4e, 0x65, 0x78, 0x74,
  1141  	0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  1142  	0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
  1143  	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c,
  1144  	0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63,
  1145  	0x79, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77,
  1146  	0x6f, 0x72, 0x6b, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x22, 0xe5, 0x01, 0x0a,
  1147  	0x0d, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x46,
  1148  	0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01,
  1149  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e,
  1150  	0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x73,
  1151  	0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e,
  1152  	0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
  1153  	0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67,
  1154  	0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72,
  1155  	0x76, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x48,
  1156  	0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x37,
  1157  	0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67,
  1158  	0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x61, 0x6e, 0x64,
  1159  	0x73, 0x68, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x48,
  1160  	0x00, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x5f, 0x6f,
  1161  	0x6e, 0x65, 0x6f, 0x66, 0x22, 0x9a, 0x03, 0x0a, 0x10, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61,
  1162  	0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70,
  1163  	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
  1164  	0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
  1165  	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f,
  1166  	0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18,
  1167  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x72, 0x6f,
  1168  	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74,
  1169  	0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61,
  1170  	0x12, 0x37, 0x0a, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
  1171  	0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67,
  1172  	0x63, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x70, 0x65, 0x65,
  1173  	0x72, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 0x63,
  1174  	0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28,
  1175  	0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65,
  1176  	0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e,
  1177  	0x74, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x63, 0x68, 0x61,
  1178  	0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
  1179  	0x0f, 0x6b, 0x65, 0x65, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e,
  1180  	0x12, 0x49, 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72,
  1181  	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72,
  1182  	0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
  1183  	0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72,
  1184  	0x52, 0x70, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d,
  1185  	0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20,
  1186  	0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x7a,
  1187  	0x65, 0x22, 0x40, 0x0a, 0x10, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x53,
  1188  	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
  1189  	0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74,
  1190  	0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61,
  1191  	0x69, 0x6c, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b,
  1192  	0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x72,
  1193  	0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x46,
  1194  	0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63,
  1195  	0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62,
  1196  	0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x06,
  1197  	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  1198  	0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b,
  1199  	0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
  1200  	0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
  1201  	0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64,
  1202  	0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74,
  1203  	0x61, 0x74, 0x75, 0x73, 0x2a, 0x4a, 0x0a, 0x11, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b,
  1204  	0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x1e, 0x48, 0x41, 0x4e,
  1205  	0x44, 0x53, 0x48, 0x41, 0x4b, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f,
  1206  	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a,
  1207  	0x03, 0x54, 0x4c, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x4c, 0x54, 0x53, 0x10, 0x02,
  1208  	0x2a, 0x45, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f,
  1209  	0x63, 0x6f, 0x6c, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x50,
  1210  	0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
  1211  	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x07,
  1212  	0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x02, 0x32, 0x5b, 0x0a, 0x11, 0x48, 0x61, 0x6e, 0x64, 0x73,
  1213  	0x68, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x0b,
  1214  	0x44, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x67, 0x72,
  1215  	0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65,
  1216  	0x72, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e,
  1217  	0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00,
  1218  	0x28, 0x01, 0x30, 0x01, 0x42, 0x6b, 0x0a, 0x15, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
  1219  	0x61, 0x6c, 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x0f, 0x48,
  1220  	0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
  1221  	0x5a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e,
  1222  	0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
  1223  	0x69, 0x61, 0x6c, 0x73, 0x2f, 0x61, 0x6c, 0x74, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e,
  1224  	0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x63,
  1225  	0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1226  })
  1227  
  1228  var (
  1229  	file_grpc_gcp_handshaker_proto_rawDescOnce sync.Once
  1230  	file_grpc_gcp_handshaker_proto_rawDescData []byte
  1231  )
  1232  
  1233  func file_grpc_gcp_handshaker_proto_rawDescGZIP() []byte {
  1234  	file_grpc_gcp_handshaker_proto_rawDescOnce.Do(func() {
  1235  		file_grpc_gcp_handshaker_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_grpc_gcp_handshaker_proto_rawDesc), len(file_grpc_gcp_handshaker_proto_rawDesc)))
  1236  	})
  1237  	return file_grpc_gcp_handshaker_proto_rawDescData
  1238  }
  1239  
  1240  var file_grpc_gcp_handshaker_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1241  var file_grpc_gcp_handshaker_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
  1242  var file_grpc_gcp_handshaker_proto_goTypes = []any{
  1243  	(HandshakeProtocol)(0),            // 0: grpc.gcp.HandshakeProtocol
  1244  	(NetworkProtocol)(0),              // 1: grpc.gcp.NetworkProtocol
  1245  	(*Endpoint)(nil),                  // 2: grpc.gcp.Endpoint
  1246  	(*Identity)(nil),                  // 3: grpc.gcp.Identity
  1247  	(*StartClientHandshakeReq)(nil),   // 4: grpc.gcp.StartClientHandshakeReq
  1248  	(*ServerHandshakeParameters)(nil), // 5: grpc.gcp.ServerHandshakeParameters
  1249  	(*StartServerHandshakeReq)(nil),   // 6: grpc.gcp.StartServerHandshakeReq
  1250  	(*NextHandshakeMessageReq)(nil),   // 7: grpc.gcp.NextHandshakeMessageReq
  1251  	(*HandshakerReq)(nil),             // 8: grpc.gcp.HandshakerReq
  1252  	(*HandshakerResult)(nil),          // 9: grpc.gcp.HandshakerResult
  1253  	(*HandshakerStatus)(nil),          // 10: grpc.gcp.HandshakerStatus
  1254  	(*HandshakerResp)(nil),            // 11: grpc.gcp.HandshakerResp
  1255  	nil,                               // 12: grpc.gcp.Identity.AttributesEntry
  1256  	nil,                               // 13: grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry
  1257  	(*RpcProtocolVersions)(nil),       // 14: grpc.gcp.RpcProtocolVersions
  1258  }
  1259  var file_grpc_gcp_handshaker_proto_depIdxs = []int32{
  1260  	1,  // 0: grpc.gcp.Endpoint.protocol:type_name -> grpc.gcp.NetworkProtocol
  1261  	12, // 1: grpc.gcp.Identity.attributes:type_name -> grpc.gcp.Identity.AttributesEntry
  1262  	0,  // 2: grpc.gcp.StartClientHandshakeReq.handshake_security_protocol:type_name -> grpc.gcp.HandshakeProtocol
  1263  	3,  // 3: grpc.gcp.StartClientHandshakeReq.target_identities:type_name -> grpc.gcp.Identity
  1264  	3,  // 4: grpc.gcp.StartClientHandshakeReq.local_identity:type_name -> grpc.gcp.Identity
  1265  	2,  // 5: grpc.gcp.StartClientHandshakeReq.local_endpoint:type_name -> grpc.gcp.Endpoint
  1266  	2,  // 6: grpc.gcp.StartClientHandshakeReq.remote_endpoint:type_name -> grpc.gcp.Endpoint
  1267  	14, // 7: grpc.gcp.StartClientHandshakeReq.rpc_versions:type_name -> grpc.gcp.RpcProtocolVersions
  1268  	3,  // 8: grpc.gcp.ServerHandshakeParameters.local_identities:type_name -> grpc.gcp.Identity
  1269  	13, // 9: grpc.gcp.StartServerHandshakeReq.handshake_parameters:type_name -> grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry
  1270  	2,  // 10: grpc.gcp.StartServerHandshakeReq.local_endpoint:type_name -> grpc.gcp.Endpoint
  1271  	2,  // 11: grpc.gcp.StartServerHandshakeReq.remote_endpoint:type_name -> grpc.gcp.Endpoint
  1272  	14, // 12: grpc.gcp.StartServerHandshakeReq.rpc_versions:type_name -> grpc.gcp.RpcProtocolVersions
  1273  	4,  // 13: grpc.gcp.HandshakerReq.client_start:type_name -> grpc.gcp.StartClientHandshakeReq
  1274  	6,  // 14: grpc.gcp.HandshakerReq.server_start:type_name -> grpc.gcp.StartServerHandshakeReq
  1275  	7,  // 15: grpc.gcp.HandshakerReq.next:type_name -> grpc.gcp.NextHandshakeMessageReq
  1276  	3,  // 16: grpc.gcp.HandshakerResult.peer_identity:type_name -> grpc.gcp.Identity
  1277  	3,  // 17: grpc.gcp.HandshakerResult.local_identity:type_name -> grpc.gcp.Identity
  1278  	14, // 18: grpc.gcp.HandshakerResult.peer_rpc_versions:type_name -> grpc.gcp.RpcProtocolVersions
  1279  	9,  // 19: grpc.gcp.HandshakerResp.result:type_name -> grpc.gcp.HandshakerResult
  1280  	10, // 20: grpc.gcp.HandshakerResp.status:type_name -> grpc.gcp.HandshakerStatus
  1281  	5,  // 21: grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry.value:type_name -> grpc.gcp.ServerHandshakeParameters
  1282  	8,  // 22: grpc.gcp.HandshakerService.DoHandshake:input_type -> grpc.gcp.HandshakerReq
  1283  	11, // 23: grpc.gcp.HandshakerService.DoHandshake:output_type -> grpc.gcp.HandshakerResp
  1284  	23, // [23:24] is the sub-list for method output_type
  1285  	22, // [22:23] is the sub-list for method input_type
  1286  	22, // [22:22] is the sub-list for extension type_name
  1287  	22, // [22:22] is the sub-list for extension extendee
  1288  	0,  // [0:22] is the sub-list for field type_name
  1289  }
  1290  
  1291  func init() { file_grpc_gcp_handshaker_proto_init() }
  1292  func file_grpc_gcp_handshaker_proto_init() {
  1293  	if File_grpc_gcp_handshaker_proto != nil {
  1294  		return
  1295  	}
  1296  	file_grpc_gcp_transport_security_common_proto_init()
  1297  	file_grpc_gcp_handshaker_proto_msgTypes[1].OneofWrappers = []any{
  1298  		(*Identity_ServiceAccount)(nil),
  1299  		(*Identity_Hostname)(nil),
  1300  	}
  1301  	file_grpc_gcp_handshaker_proto_msgTypes[3].OneofWrappers = []any{}
  1302  	file_grpc_gcp_handshaker_proto_msgTypes[6].OneofWrappers = []any{
  1303  		(*HandshakerReq_ClientStart)(nil),
  1304  		(*HandshakerReq_ServerStart)(nil),
  1305  		(*HandshakerReq_Next)(nil),
  1306  	}
  1307  	type x struct{}
  1308  	out := protoimpl.TypeBuilder{
  1309  		File: protoimpl.DescBuilder{
  1310  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1311  			RawDescriptor: unsafe.Slice(unsafe.StringData(file_grpc_gcp_handshaker_proto_rawDesc), len(file_grpc_gcp_handshaker_proto_rawDesc)),
  1312  			NumEnums:      2,
  1313  			NumMessages:   12,
  1314  			NumExtensions: 0,
  1315  			NumServices:   1,
  1316  		},
  1317  		GoTypes:           file_grpc_gcp_handshaker_proto_goTypes,
  1318  		DependencyIndexes: file_grpc_gcp_handshaker_proto_depIdxs,
  1319  		EnumInfos:         file_grpc_gcp_handshaker_proto_enumTypes,
  1320  		MessageInfos:      file_grpc_gcp_handshaker_proto_msgTypes,
  1321  	}.Build()
  1322  	File_grpc_gcp_handshaker_proto = out.File
  1323  	file_grpc_gcp_handshaker_proto_goTypes = nil
  1324  	file_grpc_gcp_handshaker_proto_depIdxs = nil
  1325  }