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