From f3dbfdea775dc20059d1229de6392c2dbfe559ef Mon Sep 17 00:00:00 2001 From: Bobo Date: Thu, 5 Jun 2025 15:04:22 +0800 Subject: [PATCH] feat: config. --- api/gen/go/conf/v1/kratos_conf_server.pb.go | 1074 +++++++++---------- api/protos/conf/v1/kratos_conf_server.proto | 28 +- tag.bat | 2 +- 3 files changed, 531 insertions(+), 573 deletions(-) diff --git a/api/gen/go/conf/v1/kratos_conf_server.pb.go b/api/gen/go/conf/v1/kratos_conf_server.pb.go index 4d75cb1..7d57935 100644 --- a/api/gen/go/conf/v1/kratos_conf_server.pb.go +++ b/api/gen/go/conf/v1/kratos_conf_server.pb.go @@ -29,6 +29,7 @@ type Server struct { Grpc *Server_GRPC `protobuf:"bytes,2,opt,name=grpc,proto3,oneof" json:"grpc,omitempty"` // gRPC服务 Graphql *Server_GraphQL `protobuf:"bytes,3,opt,name=graphql,proto3,oneof" json:"graphql,omitempty"` // GraphQL服务 Thrift *Server_Thrift `protobuf:"bytes,4,opt,name=thrift,proto3,oneof" json:"thrift,omitempty"` // Thrift服务 + Keepalive *Server_KeepAlive `protobuf:"bytes,5,opt,name=keepalive,proto3,oneof" json:"keepalive,omitempty"` // 保活服务 Mqtt *Server_Mqtt `protobuf:"bytes,10,opt,name=mqtt,proto3,oneof" json:"mqtt,omitempty"` // MQTT服务 Kafka *Server_Kafka `protobuf:"bytes,11,opt,name=kafka,proto3,oneof" json:"kafka,omitempty"` // Kafka服务 Rabbitmq *Server_RabbitMQ `protobuf:"bytes,12,opt,name=rabbitmq,proto3,oneof" json:"rabbitmq,omitempty"` // RabbitMQ服务 @@ -106,6 +107,13 @@ func (x *Server) GetThrift() *Server_Thrift { return nil } +func (x *Server) GetKeepalive() *Server_KeepAlive { + if x != nil { + return x.Keepalive + } + return nil +} + func (x *Server) GetMqtt() *Server_Mqtt { if x != nil { return x.Mqtt @@ -476,17 +484,16 @@ func (x *Server_Websocket) GetTls() *TLS { // MQTT type Server_Mqtt struct { - state protoimpl.MessageState `protogen:"open.v1"` - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 - Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... - Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 - Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"` // 用户名 - Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"` // 密码 - ClientId string `protobuf:"bytes,6,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // 客户端ID - CleanSession bool `protobuf:"varint,7,opt,name=clean_session,json=cleanSession,proto3" json:"clean_session,omitempty"` // 清除会话 - EnableKeepAlive bool `protobuf:"varint,8,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 + Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... + Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 + Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"` // 用户名 + Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"` // 密码 + ClientId string `protobuf:"bytes,6,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // 客户端ID + CleanSession bool `protobuf:"varint,7,opt,name=clean_session,json=cleanSession,proto3" json:"clean_session,omitempty"` // 清除会话 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Server_Mqtt) Reset() { @@ -568,22 +575,14 @@ func (x *Server_Mqtt) GetCleanSession() bool { return false } -func (x *Server_Mqtt) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - // Kafka type Server_Kafka struct { - state protoimpl.MessageState `protogen:"open.v1"` - Endpoints []string `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // 对端网络地址 - Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... - Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 - EnableKeepAlive bool `protobuf:"varint,4,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Endpoints []string `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // 对端网络地址 + Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... + Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Server_Kafka) Reset() { @@ -637,22 +636,14 @@ func (x *Server_Kafka) GetTls() *TLS { return nil } -func (x *Server_Kafka) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - // RabbitMQ type Server_RabbitMQ struct { - state protoimpl.MessageState `protogen:"open.v1"` - Endpoints []string `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // 对端网络地址 - Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... - Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 - EnableKeepAlive bool `protobuf:"varint,4,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Endpoints []string `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // 对端网络地址 + Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... + Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Server_RabbitMQ) Reset() { @@ -706,21 +697,13 @@ func (x *Server_RabbitMQ) GetTls() *TLS { return nil } -func (x *Server_RabbitMQ) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - type Server_ActiveMQ struct { - state protoimpl.MessageState `protogen:"open.v1"` - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 - Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... - Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 - EnableKeepAlive bool `protobuf:"varint,4,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 + Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... + Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Server_ActiveMQ) Reset() { @@ -774,21 +757,13 @@ func (x *Server_ActiveMQ) GetTls() *TLS { return nil } -func (x *Server_ActiveMQ) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - type Server_NATS struct { - state protoimpl.MessageState `protogen:"open.v1"` - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 - Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... - Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 - EnableKeepAlive bool `protobuf:"varint,4,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 + Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... + Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Server_NATS) Reset() { @@ -842,21 +817,13 @@ func (x *Server_NATS) GetTls() *TLS { return nil } -func (x *Server_NATS) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - type Server_NSQ struct { - state protoimpl.MessageState `protogen:"open.v1"` - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 - Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... - Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 - EnableKeepAlive bool `protobuf:"varint,4,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 + Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... + Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Server_NSQ) Reset() { @@ -910,21 +877,13 @@ func (x *Server_NSQ) GetTls() *TLS { return nil } -func (x *Server_NSQ) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - type Server_Pulsar struct { - state protoimpl.MessageState `protogen:"open.v1"` - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 - Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... - Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 - EnableKeepAlive bool `protobuf:"varint,4,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 + Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... + Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Server_Pulsar) Reset() { @@ -978,21 +937,13 @@ func (x *Server_Pulsar) GetTls() *TLS { return nil } -func (x *Server_Pulsar) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - type Server_Redis struct { - state protoimpl.MessageState `protogen:"open.v1"` - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 - Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... - Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 - EnableKeepAlive bool `protobuf:"varint,4,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // 对端网络地址 + Codec string `protobuf:"bytes,2,opt,name=codec,proto3" json:"codec,omitempty"` // 编解码器: json,xml,yaml... + Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Server_Redis) Reset() { @@ -1046,13 +997,6 @@ func (x *Server_Redis) GetTls() *TLS { return nil } -func (x *Server_Redis) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - type Server_RocketMQ struct { state protoimpl.MessageState `protogen:"open.v1"` Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // 驱动版本:aliyun、v2、v5 @@ -1067,7 +1011,6 @@ type Server_RocketMQ struct { GroupName string `protobuf:"bytes,10,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"` Tls *TLS `protobuf:"bytes,11,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 EnableTrace bool `protobuf:"varint,100,opt,name=enable_trace,json=enableTrace,proto3" json:"enable_trace,omitempty"` - EnableKeepAlive bool `protobuf:"varint,101,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1186,13 +1129,6 @@ func (x *Server_RocketMQ) GetEnableTrace() bool { return false } -func (x *Server_RocketMQ) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - // Asynq type Server_Asynq struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1208,9 +1144,8 @@ type Server_Asynq struct { Concurrency int32 `protobuf:"varint,11,opt,name=concurrency,proto3" json:"concurrency,omitempty"` // 并发数 GroupMaxSize int32 `protobuf:"varint,12,opt,name=group_max_size,json=groupMaxSize,proto3" json:"group_max_size,omitempty"` // 组最大大小 Queues map[string]int32 `protobuf:"bytes,13,rep,name=queues,proto3" json:"queues,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // 队列 - EnableKeepAlive bool `protobuf:"varint,20,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - EnableGracefullyShutdown bool `protobuf:"varint,21,opt,name=enable_gracefully_shutdown,json=enableGracefullyShutdown,proto3" json:"enable_gracefully_shutdown,omitempty"` // 优雅关闭 - EnableStrictPriority bool `protobuf:"varint,22,opt,name=enable_strict_priority,json=enableStrictPriority,proto3" json:"enable_strict_priority,omitempty"` // 严格优先级 + EnableGracefullyShutdown bool `protobuf:"varint,20,opt,name=enable_gracefully_shutdown,json=enableGracefullyShutdown,proto3" json:"enable_gracefully_shutdown,omitempty"` // 优雅关闭 + EnableStrictPriority bool `protobuf:"varint,21,opt,name=enable_strict_priority,json=enableStrictPriority,proto3" json:"enable_strict_priority,omitempty"` // 严格优先级 ShutdownTimeout *durationpb.Duration `protobuf:"bytes,30,opt,name=shutdown_timeout,json=shutdownTimeout,proto3" json:"shutdown_timeout,omitempty"` // 关闭超时时间 DialTimeout *durationpb.Duration `protobuf:"bytes,31,opt,name=dial_timeout,json=dialTimeout,proto3" json:"dial_timeout,omitempty"` // 拨号超时时间 ReadTimeout *durationpb.Duration `protobuf:"bytes,32,opt,name=read_timeout,json=readTimeout,proto3" json:"read_timeout,omitempty"` // 读取超时时间 @@ -1337,13 +1272,6 @@ func (x *Server_Asynq) GetQueues() map[string]int32 { return nil } -func (x *Server_Asynq) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - func (x *Server_Asynq) GetEnableGracefullyShutdown() bool { if x != nil { return x.EnableGracefullyShutdown @@ -1430,10 +1358,9 @@ type Server_Machinery struct { ConsumerConcurrency int32 `protobuf:"varint,31,opt,name=consumer_concurrency,json=consumerConcurrency,proto3" json:"consumer_concurrency,omitempty"` // 消费者并发数 ConsumerQueue string `protobuf:"bytes,32,opt,name=consumer_queue,json=consumerQueue,proto3" json:"consumer_queue,omitempty"` // 消费者队列 Tls *TLS `protobuf:"bytes,50,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 - EnableKeepAlive bool `protobuf:"varint,51,opt,name=enable_keep_alive,json=enableKeepAlive,proto3" json:"enable_keep_alive,omitempty"` // 启用心跳 - DefaultQueue string `protobuf:"bytes,52,opt,name=default_queue,json=defaultQueue,proto3" json:"default_queue,omitempty"` // 默认队列 - ResultsExpireIn int32 `protobuf:"varint,53,opt,name=results_expire_in,json=resultsExpireIn,proto3" json:"results_expire_in,omitempty"` // 结果过期时间 - NoUnixSignals bool `protobuf:"varint,54,opt,name=no_unix_signals,json=noUnixSignals,proto3" json:"no_unix_signals,omitempty"` // 禁用Unix信号 + DefaultQueue string `protobuf:"bytes,51,opt,name=default_queue,json=defaultQueue,proto3" json:"default_queue,omitempty"` // 默认队列 + ResultsExpireIn int32 `protobuf:"varint,52,opt,name=results_expire_in,json=resultsExpireIn,proto3" json:"results_expire_in,omitempty"` // 结果过期时间 + NoUnixSignals bool `protobuf:"varint,53,opt,name=no_unix_signals,json=noUnixSignals,proto3" json:"no_unix_signals,omitempty"` // 禁用Unix信号 Redis *Server_Machinery_Redis `protobuf:"bytes,100,opt,name=redis,proto3" json:"redis,omitempty"` // Redis配置 Amqp *Server_Machinery_AMQP `protobuf:"bytes,101,opt,name=amqp,proto3" json:"amqp,omitempty"` // AMQP配置 Sqs *Server_Machinery_SQS `protobuf:"bytes,102,opt,name=sqs,proto3" json:"sqs,omitempty"` // SQS配置 @@ -1565,13 +1492,6 @@ func (x *Server_Machinery) GetTls() *TLS { return nil } -func (x *Server_Machinery) GetEnableKeepAlive() bool { - if x != nil { - return x.EnableKeepAlive - } - return false -} - func (x *Server_Machinery) GetDefaultQueue() string { if x != nil { return x.DefaultQueue @@ -2124,6 +2044,66 @@ func (x *Server_Thrift) GetTls() *TLS { return nil } +type Server_KeepAlive struct { + state protoimpl.MessageState `protogen:"open.v1"` + Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` // 网络 + Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` // 服务监听地址 + Tls *TLS `protobuf:"bytes,3,opt,name=tls,proto3" json:"tls,omitempty"` // TLS配置 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Server_KeepAlive) Reset() { + *x = Server_KeepAlive{} + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Server_KeepAlive) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Server_KeepAlive) ProtoMessage() {} + +func (x *Server_KeepAlive) ProtoReflect() protoreflect.Message { + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Server_KeepAlive.ProtoReflect.Descriptor instead. +func (*Server_KeepAlive) Descriptor() ([]byte, []int) { + return file_conf_v1_kratos_conf_server_proto_rawDescGZIP(), []int{0, 19} +} + +func (x *Server_KeepAlive) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *Server_KeepAlive) GetAddr() string { + if x != nil { + return x.Addr + } + return "" +} + +func (x *Server_KeepAlive) GetTls() *TLS { + if x != nil { + return x.Tls + } + return nil +} + type Server_REST_CORS struct { state protoimpl.MessageState `protogen:"open.v1"` Headers []string `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` // @@ -2135,7 +2115,7 @@ type Server_REST_CORS struct { func (x *Server_REST_CORS) Reset() { *x = Server_REST_CORS{} - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[20] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2147,7 +2127,7 @@ func (x *Server_REST_CORS) String() string { func (*Server_REST_CORS) ProtoMessage() {} func (x *Server_REST_CORS) ProtoReflect() protoreflect.Message { - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[20] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2203,7 +2183,7 @@ type Server_Machinery_Redis struct { func (x *Server_Machinery_Redis) Reset() { *x = Server_Machinery_Redis{} - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[22] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2215,7 +2195,7 @@ func (x *Server_Machinery_Redis) String() string { func (*Server_Machinery_Redis) ProtoMessage() {} func (x *Server_Machinery_Redis) ProtoReflect() protoreflect.Message { - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[22] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2324,7 +2304,7 @@ type Server_Machinery_AMQP struct { func (x *Server_Machinery_AMQP) Reset() { *x = Server_Machinery_AMQP{} - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[23] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2336,7 +2316,7 @@ func (x *Server_Machinery_AMQP) String() string { func (*Server_Machinery_AMQP) ProtoMessage() {} func (x *Server_Machinery_AMQP) ProtoReflect() protoreflect.Message { - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[23] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2418,7 +2398,7 @@ type Server_Machinery_SQS struct { func (x *Server_Machinery_SQS) Reset() { *x = Server_Machinery_SQS{} - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[24] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2430,7 +2410,7 @@ func (x *Server_Machinery_SQS) String() string { func (*Server_Machinery_SQS) ProtoMessage() {} func (x *Server_Machinery_SQS) ProtoReflect() protoreflect.Message { - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[24] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2469,7 +2449,7 @@ type Server_Machinery_GCP struct { func (x *Server_Machinery_GCP) Reset() { *x = Server_Machinery_GCP{} - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[25] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2481,7 +2461,7 @@ func (x *Server_Machinery_GCP) String() string { func (*Server_Machinery_GCP) ProtoMessage() {} func (x *Server_Machinery_GCP) ProtoReflect() protoreflect.Message { - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[25] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2513,7 +2493,7 @@ type Server_Machinery_MongoDB struct { func (x *Server_Machinery_MongoDB) Reset() { *x = Server_Machinery_MongoDB{} - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[26] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2525,7 +2505,7 @@ func (x *Server_Machinery_MongoDB) String() string { func (*Server_Machinery_MongoDB) ProtoMessage() {} func (x *Server_Machinery_MongoDB) ProtoReflect() protoreflect.Message { - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[26] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2558,7 +2538,7 @@ type Server_Machinery_DynamoDB struct { func (x *Server_Machinery_DynamoDB) Reset() { *x = Server_Machinery_DynamoDB{} - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[27] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2570,7 +2550,7 @@ func (x *Server_Machinery_DynamoDB) String() string { func (*Server_Machinery_DynamoDB) ProtoMessage() {} func (x *Server_Machinery_DynamoDB) ProtoReflect() protoreflect.Message { - mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[27] + mi := &file_conf_v1_kratos_conf_server_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2611,7 +2591,7 @@ var file_conf_v1_kratos_conf_server_proto_rawDesc = string([]byte{ 0x31, 0x2f, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x5f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x40, + 0x6f, 0x6e, 0x66, 0x5f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x3d, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x04, 0x72, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x45, 0x53, 0x54, 0x48, 0x00, 0x52, 0x04, 0x72, 0x65, 0x73, @@ -2624,313 +2604,286 @@ var file_conf_v1_kratos_conf_server_proto_rawDesc = string([]byte{ 0x71, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x06, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x68, 0x72, 0x69, 0x66, 0x74, 0x48, 0x03, 0x52, 0x06, 0x74, 0x68, - 0x72, 0x69, 0x66, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x71, 0x74, 0x74, 0x48, 0x04, 0x52, 0x04, 0x6d, 0x71, 0x74, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x48, 0x05, 0x52, 0x05, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x88, - 0x01, 0x01, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x6d, 0x71, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x4d, 0x51, 0x48, 0x06, 0x52, 0x08, 0x72, - 0x61, 0x62, 0x62, 0x69, 0x74, 0x6d, 0x71, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x08, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x6d, 0x71, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x4d, 0x51, 0x48, 0x07, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6d, 0x71, 0x88, - 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4e, - 0x41, 0x54, 0x53, 0x48, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, - 0x0a, 0x03, 0x6e, 0x73, 0x71, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4e, 0x53, 0x51, 0x48, 0x09, 0x52, - 0x03, 0x6e, 0x73, 0x71, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x06, 0x70, 0x75, 0x6c, 0x73, 0x61, - 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x75, 0x6c, 0x73, 0x61, 0x72, 0x48, 0x0a, 0x52, 0x06, - 0x70, 0x75, 0x6c, 0x73, 0x61, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x72, 0x65, 0x64, - 0x69, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x48, 0x0b, 0x52, 0x05, - 0x72, 0x65, 0x64, 0x69, 0x73, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x6d, 0x71, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, - 0x51, 0x48, 0x0c, 0x52, 0x08, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x88, 0x01, 0x01, - 0x12, 0x39, 0x0a, 0x09, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x0d, 0x52, 0x09, 0x77, - 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x03, 0x73, - 0x73, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x53, 0x45, 0x48, 0x0e, 0x52, 0x03, 0x73, 0x73, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x08, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6f, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x4f, 0x48, 0x0f, 0x52, - 0x08, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x07, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x52, 0x48, 0x10, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x61, 0x73, 0x79, 0x6e, 0x71, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x41, - 0x73, 0x79, 0x6e, 0x71, 0x48, 0x11, 0x52, 0x05, 0x61, 0x73, 0x79, 0x6e, 0x71, 0x88, 0x01, 0x01, - 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x18, 0x1f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x48, 0x12, 0x52, 0x09, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x84, 0x03, 0x0a, 0x04, - 0x52, 0x45, 0x53, 0x54, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, - 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, - 0x64, 0x72, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x52, 0x45, 0x53, 0x54, 0x2e, 0x43, 0x4f, 0x52, 0x53, 0x52, 0x04, 0x63, - 0x6f, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4d, - 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, - 0x65, 0x77, 0x61, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, - 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x77, 0x61, - 0x67, 0x67, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x70, 0x72, 0x6f, 0x66, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x70, 0x72, 0x6f, 0x66, 0x1a, 0x54, 0x0a, 0x04, - 0x43, 0x4f, 0x52, 0x53, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x73, 0x1a, 0xb8, 0x01, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x12, 0x18, 0x0a, 0x07, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x30, - 0x0a, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x72, 0x69, 0x66, 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, + 0x6c, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, + 0x76, 0x65, 0x48, 0x04, 0x52, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, + 0x71, 0x74, 0x74, 0x48, 0x05, 0x52, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, + 0x0a, 0x05, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4b, 0x61, 0x66, 0x6b, + 0x61, 0x48, 0x06, 0x52, 0x05, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, + 0x08, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x6d, 0x71, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, 0x61, + 0x62, 0x62, 0x69, 0x74, 0x4d, 0x51, 0x48, 0x07, 0x52, 0x08, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, + 0x6d, 0x71, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6d, + 0x71, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x51, 0x48, 0x08, + 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6d, 0x71, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, + 0x04, 0x6e, 0x61, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4e, 0x41, 0x54, 0x53, 0x48, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x03, 0x6e, 0x73, 0x71, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4e, 0x53, 0x51, 0x48, 0x0a, 0x52, 0x03, 0x6e, 0x73, 0x71, 0x88, + 0x01, 0x01, 0x12, 0x30, 0x0a, 0x06, 0x70, 0x75, 0x6c, 0x73, 0x61, 0x72, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x50, 0x75, 0x6c, 0x73, 0x61, 0x72, 0x48, 0x0b, 0x52, 0x06, 0x70, 0x75, 0x6c, 0x73, 0x61, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x48, 0x0c, 0x52, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x08, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x51, 0x48, 0x0d, 0x52, 0x08, + 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x77, + 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x57, 0x65, 0x62, + 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x0e, 0x52, 0x09, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, + 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x03, 0x73, 0x73, 0x65, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x53, 0x53, 0x45, 0x48, 0x0f, 0x52, 0x03, 0x73, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x36, 0x0a, 0x08, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x4f, 0x48, 0x10, 0x52, 0x08, 0x73, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x69, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x48, 0x11, + 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x05, + 0x61, 0x73, 0x79, 0x6e, 0x71, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x71, 0x48, + 0x12, 0x52, 0x05, 0x61, 0x73, 0x79, 0x6e, 0x71, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x48, 0x13, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x84, 0x03, 0x0a, 0x04, 0x52, 0x45, 0x53, 0x54, 0x12, + 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x33, 0x0a, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x52, + 0x45, 0x53, 0x54, 0x2e, 0x43, 0x4f, 0x52, 0x53, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x30, + 0x0a, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, - 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0xb5, 0x01, - 0x0a, 0x09, 0x57, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, - 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, - 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0xfb, 0x01, 0x0a, 0x04, 0x4d, 0x71, 0x74, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6c, 0x65, 0x61, 0x6e, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, - 0x69, 0x76, 0x65, 0x1a, 0x84, 0x01, 0x0a, 0x05, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x12, 0x1c, 0x0a, - 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, - 0x63, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, - 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x2a, - 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, - 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x1a, 0x87, 0x01, 0x0a, 0x08, 0x52, - 0x61, 0x62, 0x62, 0x69, 0x74, 0x4d, 0x51, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, + 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x25, 0x0a, + 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x77, 0x61, + 0x67, 0x67, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, + 0x70, 0x72, 0x6f, 0x66, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x50, 0x70, 0x72, 0x6f, 0x66, 0x1a, 0x54, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x53, 0x12, + 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x1a, 0xb8, 0x01, + 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x61, 0x64, 0x64, 0x72, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x30, 0x0a, 0x0a, 0x6d, 0x69, 0x64, + 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, + 0x0a, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x74, + 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, + 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0xb5, 0x01, 0x0a, 0x09, 0x57, 0x65, 0x62, + 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x61, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x33, + 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, + 0x1a, 0xcf, 0x01, 0x0a, 0x04, 0x4d, 0x71, 0x74, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, - 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x41, - 0x6c, 0x69, 0x76, 0x65, 0x1a, 0x85, 0x01, 0x0a, 0x08, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, - 0x51, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, - 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, - 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x1a, 0x81, 0x01, 0x0a, - 0x04, 0x4e, 0x41, 0x54, 0x53, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x1a, 0x58, 0x0a, 0x05, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, + 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, + 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, + 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0x5b, 0x0a, 0x08, + 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x4d, 0x51, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x03, + 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0x59, 0x0a, 0x08, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x4d, 0x51, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, - 0x03, 0x74, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, - 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, - 0x1a, 0x80, 0x01, 0x0a, 0x03, 0x4e, 0x53, 0x51, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, - 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, - 0x69, 0x76, 0x65, 0x1a, 0x83, 0x01, 0x0a, 0x06, 0x50, 0x75, 0x6c, 0x73, 0x61, 0x72, 0x12, 0x1a, - 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x2a, 0x0a, - 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, - 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x1a, 0x82, 0x01, 0x0a, 0x05, 0x52, 0x65, + 0x03, 0x74, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x04, 0x4e, 0x41, 0x54, 0x53, 0x12, 0x1a, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, + 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, + 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0x54, 0x0a, 0x03, 0x4e, + 0x53, 0x51, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, + 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, + 0x73, 0x1a, 0x57, 0x0a, 0x06, 0x50, 0x75, 0x6c, 0x73, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, + 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, + 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0x56, 0x0a, 0x05, 0x52, 0x65, 0x64, 0x69, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, - 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x65, - 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x1a, 0xbe, - 0x03, 0x0a, 0x08, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x51, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x6e, - 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2c, - 0x0a, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x61, 0x6d, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, - 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, - 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, - 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x1a, - 0xf9, 0x08, 0x0a, 0x05, 0x41, 0x73, 0x79, 0x6e, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x64, - 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x64, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1b, 0x0a, - 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, - 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x36, 0x0a, 0x06, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x41, 0x73, 0x79, 0x6e, 0x71, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x65, 0x70, - 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, - 0x6f, 0x77, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x53, 0x68, 0x75, 0x74, 0x64, - 0x6f, 0x77, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, - 0x72, 0x69, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x63, - 0x74, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x68, 0x75, - 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x1e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, - 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, - 0x3c, 0x0a, 0x0c, 0x64, 0x69, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0b, 0x64, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, - 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x20, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, - 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x21, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x58, 0x0a, 0x1b, 0x64, 0x65, - 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x6c, 0x73, 0x1a, 0x92, 0x03, 0x0a, 0x08, 0x52, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x51, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, + 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, + 0x21, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, + 0x03, 0x74, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, + 0x72, 0x61, 0x63, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x65, 0x1a, 0xcd, 0x08, 0x0a, 0x05, 0x41, 0x73, 0x79, 0x6e, + 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x64, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x6f, 0x6c, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x78, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6e, 0x66, + 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x71, 0x2e, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x63, + 0x65, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x47, 0x72, 0x61, + 0x63, 0x65, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, + 0x34, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x50, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x64, 0x65, 0x6c, 0x61, - 0x79, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x12, 0x47, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x67, 0x72, - 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x41, 0x0a, - 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, - 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x68, 0x75, 0x74, + 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x64, + 0x69, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x69, + 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x61, 0x79, - 0x1a, 0x39, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xe8, 0x11, 0x0a, 0x09, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x72, 0x6f, - 0x6b, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x72, - 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x62, - 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x64, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x44, 0x62, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, - 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x62, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x44, 0x62, 0x12, 0x1b, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, - 0x63, 0x6b, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x64, 0x62, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x62, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, - 0x54, 0x61, 0x67, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, - 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, - 0x65, 0x72, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1b, 0x0a, - 0x03, 0x74, 0x6c, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, - 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x65, - 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, + 0x6e, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x58, 0x0a, 0x1b, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, + 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x54, + 0x61, 0x73, 0x6b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x12, 0x47, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x72, + 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x25, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x1a, 0x39, 0x0a, 0x0b, + 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xbc, 0x11, 0x0a, 0x09, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x72, 0x6f, 0x6b, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x72, 0x6f, + 0x6b, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x6b, 0x65, + 0x72, 0x5f, 0x64, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x72, 0x6f, 0x6b, + 0x65, 0x72, 0x44, 0x62, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x62, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x44, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x41, + 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x62, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x62, 0x12, 0x21, 0x0a, 0x0c, + 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x54, 0x61, 0x67, 0x12, + 0x31, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x73, + 0x75, 0x6d, 0x65, 0x72, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, + 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, + 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x69, 0x6e, - 0x18, 0x35, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, + 0x18, 0x34, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x6f, 0x5f, 0x75, 0x6e, - 0x69, 0x78, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, + 0x69, 0x78, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f, 0x55, 0x6e, 0x69, 0x78, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x72, 0x65, 0x64, 0x69, 0x73, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x63, @@ -3114,29 +3067,35 @@ var file_conf_v1_kratos_conf_server_proto_rawDesc = string([]byte{ 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, - 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x71, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x71, 0x74, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6b, 0x61, 0x66, - 0x6b, 0x61, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x6d, 0x71, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6d, 0x71, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6e, 0x61, 0x74, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6e, 0x73, 0x71, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x70, 0x75, 0x6c, 0x73, 0x61, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x65, 0x64, - 0x69, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x73, 0x73, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, - 0x69, 0x6f, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x72, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x71, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x42, 0x87, 0x01, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x42, 0x15, 0x4b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x78, 0x37, 0x64, 0x6f, 0x2f, 0x6b, - 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x2f, - 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x58, 0x58, 0xaa, 0x02, 0x04, 0x43, 0x6f, 0x6e, 0x66, 0xca, - 0x02, 0x04, 0x43, 0x6f, 0x6e, 0x66, 0xe2, 0x02, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x04, 0x43, 0x6f, 0x6e, 0x66, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x1a, 0x56, 0x0a, 0x09, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, + 0x69, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, + 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, + 0x72, 0x12, 0x1b, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, + 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x54, 0x4c, 0x53, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x67, 0x72, 0x70, 0x63, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x71, 0x6c, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x74, 0x68, 0x72, 0x69, 0x66, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6b, 0x65, 0x65, 0x70, + 0x61, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x71, 0x74, 0x74, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x61, 0x62, + 0x62, 0x69, 0x74, 0x6d, 0x71, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x6d, 0x71, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x74, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, + 0x6e, 0x73, 0x71, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x75, 0x6c, 0x73, 0x61, 0x72, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x6f, 0x63, + 0x6b, 0x65, 0x74, 0x6d, 0x71, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x77, 0x65, 0x62, 0x73, 0x6f, 0x63, + 0x6b, 0x65, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x73, 0x73, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6f, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x71, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x42, 0x87, 0x01, 0x0a, + 0x08, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x42, 0x15, 0x4b, 0x72, 0x61, 0x74, 0x6f, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, + 0x78, 0x37, 0x64, 0x6f, 0x2f, 0x6b, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2d, 0x62, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, + 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x2f, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x58, 0x58, 0xaa, 0x02, + 0x04, 0x43, 0x6f, 0x6e, 0x66, 0xca, 0x02, 0x04, 0x43, 0x6f, 0x6e, 0x66, 0xe2, 0x02, 0x10, 0x43, + 0x6f, 0x6e, 0x66, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x04, 0x43, 0x6f, 0x6e, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, }) var ( @@ -3151,7 +3110,7 @@ func file_conf_v1_kratos_conf_server_proto_rawDescGZIP() []byte { return file_conf_v1_kratos_conf_server_proto_rawDescData } -var file_conf_v1_kratos_conf_server_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_conf_v1_kratos_conf_server_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_conf_v1_kratos_conf_server_proto_goTypes = []any{ (*Server)(nil), // 0: conf.Server (*Server_REST)(nil), // 1: conf.Server.REST @@ -3173,93 +3132,96 @@ var file_conf_v1_kratos_conf_server_proto_goTypes = []any{ (*Server_SignalR)(nil), // 17: conf.Server.SignalR (*Server_GraphQL)(nil), // 18: conf.Server.GraphQL (*Server_Thrift)(nil), // 19: conf.Server.Thrift - (*Server_REST_CORS)(nil), // 20: conf.Server.REST.CORS - nil, // 21: conf.Server.Asynq.QueuesEntry - (*Server_Machinery_Redis)(nil), // 22: conf.Server.Machinery.Redis - (*Server_Machinery_AMQP)(nil), // 23: conf.Server.Machinery.AMQP - (*Server_Machinery_SQS)(nil), // 24: conf.Server.Machinery.SQS - (*Server_Machinery_GCP)(nil), // 25: conf.Server.Machinery.GCP - (*Server_Machinery_MongoDB)(nil), // 26: conf.Server.Machinery.MongoDB - (*Server_Machinery_DynamoDB)(nil), // 27: conf.Server.Machinery.DynamoDB - nil, // 28: conf.Server.Machinery.AMQP.QueueDeclareArgsEntry - nil, // 29: conf.Server.Machinery.AMQP.QueueBindingArgsEntry - (*durationpb.Duration)(nil), // 30: google.protobuf.Duration - (*Middleware)(nil), // 31: conf.Middleware - (*TLS)(nil), // 32: conf.TLS + (*Server_KeepAlive)(nil), // 20: conf.Server.KeepAlive + (*Server_REST_CORS)(nil), // 21: conf.Server.REST.CORS + nil, // 22: conf.Server.Asynq.QueuesEntry + (*Server_Machinery_Redis)(nil), // 23: conf.Server.Machinery.Redis + (*Server_Machinery_AMQP)(nil), // 24: conf.Server.Machinery.AMQP + (*Server_Machinery_SQS)(nil), // 25: conf.Server.Machinery.SQS + (*Server_Machinery_GCP)(nil), // 26: conf.Server.Machinery.GCP + (*Server_Machinery_MongoDB)(nil), // 27: conf.Server.Machinery.MongoDB + (*Server_Machinery_DynamoDB)(nil), // 28: conf.Server.Machinery.DynamoDB + nil, // 29: conf.Server.Machinery.AMQP.QueueDeclareArgsEntry + nil, // 30: conf.Server.Machinery.AMQP.QueueBindingArgsEntry + (*durationpb.Duration)(nil), // 31: google.protobuf.Duration + (*Middleware)(nil), // 32: conf.Middleware + (*TLS)(nil), // 33: conf.TLS } var file_conf_v1_kratos_conf_server_proto_depIdxs = []int32{ 1, // 0: conf.Server.rest:type_name -> conf.Server.REST 2, // 1: conf.Server.grpc:type_name -> conf.Server.GRPC 18, // 2: conf.Server.graphql:type_name -> conf.Server.GraphQL 19, // 3: conf.Server.thrift:type_name -> conf.Server.Thrift - 4, // 4: conf.Server.mqtt:type_name -> conf.Server.Mqtt - 5, // 5: conf.Server.kafka:type_name -> conf.Server.Kafka - 6, // 6: conf.Server.rabbitmq:type_name -> conf.Server.RabbitMQ - 7, // 7: conf.Server.activemq:type_name -> conf.Server.ActiveMQ - 8, // 8: conf.Server.nats:type_name -> conf.Server.NATS - 9, // 9: conf.Server.nsq:type_name -> conf.Server.NSQ - 10, // 10: conf.Server.pulsar:type_name -> conf.Server.Pulsar - 11, // 11: conf.Server.redis:type_name -> conf.Server.Redis - 12, // 12: conf.Server.rocketmq:type_name -> conf.Server.RocketMQ - 3, // 13: conf.Server.websocket:type_name -> conf.Server.Websocket - 15, // 14: conf.Server.sse:type_name -> conf.Server.SSE - 16, // 15: conf.Server.socketio:type_name -> conf.Server.SocketIO - 17, // 16: conf.Server.signalr:type_name -> conf.Server.SignalR - 13, // 17: conf.Server.asynq:type_name -> conf.Server.Asynq - 14, // 18: conf.Server.machinery:type_name -> conf.Server.Machinery - 30, // 19: conf.Server.REST.timeout:type_name -> google.protobuf.Duration - 20, // 20: conf.Server.REST.cors:type_name -> conf.Server.REST.CORS - 31, // 21: conf.Server.REST.middleware:type_name -> conf.Middleware - 32, // 22: conf.Server.REST.tls:type_name -> conf.TLS - 30, // 23: conf.Server.GRPC.timeout:type_name -> google.protobuf.Duration - 31, // 24: conf.Server.GRPC.middleware:type_name -> conf.Middleware - 32, // 25: conf.Server.GRPC.tls:type_name -> conf.TLS - 30, // 26: conf.Server.Websocket.timeout:type_name -> google.protobuf.Duration - 32, // 27: conf.Server.Websocket.tls:type_name -> conf.TLS - 32, // 28: conf.Server.Mqtt.tls:type_name -> conf.TLS - 32, // 29: conf.Server.Kafka.tls:type_name -> conf.TLS - 32, // 30: conf.Server.RabbitMQ.tls:type_name -> conf.TLS - 32, // 31: conf.Server.ActiveMQ.tls:type_name -> conf.TLS - 32, // 32: conf.Server.NATS.tls:type_name -> conf.TLS - 32, // 33: conf.Server.NSQ.tls:type_name -> conf.TLS - 32, // 34: conf.Server.Pulsar.tls:type_name -> conf.TLS - 32, // 35: conf.Server.Redis.tls:type_name -> conf.TLS - 32, // 36: conf.Server.RocketMQ.tls:type_name -> conf.TLS - 32, // 37: conf.Server.Asynq.tls:type_name -> conf.TLS - 21, // 38: conf.Server.Asynq.queues:type_name -> conf.Server.Asynq.QueuesEntry - 30, // 39: conf.Server.Asynq.shutdown_timeout:type_name -> google.protobuf.Duration - 30, // 40: conf.Server.Asynq.dial_timeout:type_name -> google.protobuf.Duration - 30, // 41: conf.Server.Asynq.read_timeout:type_name -> google.protobuf.Duration - 30, // 42: conf.Server.Asynq.write_timeout:type_name -> google.protobuf.Duration - 30, // 43: conf.Server.Asynq.health_check_interval:type_name -> google.protobuf.Duration - 30, // 44: conf.Server.Asynq.delayed_task_check_interval:type_name -> google.protobuf.Duration - 30, // 45: conf.Server.Asynq.group_grace_period:type_name -> google.protobuf.Duration - 30, // 46: conf.Server.Asynq.group_max_delay:type_name -> google.protobuf.Duration - 32, // 47: conf.Server.Machinery.tls:type_name -> conf.TLS - 22, // 48: conf.Server.Machinery.redis:type_name -> conf.Server.Machinery.Redis - 23, // 49: conf.Server.Machinery.amqp:type_name -> conf.Server.Machinery.AMQP - 24, // 50: conf.Server.Machinery.sqs:type_name -> conf.Server.Machinery.SQS - 25, // 51: conf.Server.Machinery.gcp:type_name -> conf.Server.Machinery.GCP - 26, // 52: conf.Server.Machinery.mongodb:type_name -> conf.Server.Machinery.MongoDB - 27, // 53: conf.Server.Machinery.dynamodb:type_name -> conf.Server.Machinery.DynamoDB - 32, // 54: conf.Server.SSE.tls:type_name -> conf.TLS - 30, // 55: conf.Server.SSE.timeout:type_name -> google.protobuf.Duration - 30, // 56: conf.Server.SSE.event_ttl:type_name -> google.protobuf.Duration - 32, // 57: conf.Server.SocketIO.tls:type_name -> conf.TLS - 32, // 58: conf.Server.SignalR.tls:type_name -> conf.TLS - 30, // 59: conf.Server.SignalR.keep_alive_interval:type_name -> google.protobuf.Duration - 30, // 60: conf.Server.SignalR.chan_receive_timeout:type_name -> google.protobuf.Duration - 30, // 61: conf.Server.GraphQL.timeout:type_name -> google.protobuf.Duration - 32, // 62: conf.Server.GraphQL.tls:type_name -> conf.TLS - 32, // 63: conf.Server.Thrift.tls:type_name -> conf.TLS - 28, // 64: conf.Server.Machinery.AMQP.queue_declare_args:type_name -> conf.Server.Machinery.AMQP.QueueDeclareArgsEntry - 29, // 65: conf.Server.Machinery.AMQP.queue_binding_args:type_name -> conf.Server.Machinery.AMQP.QueueBindingArgsEntry - 30, // 66: conf.Server.Machinery.GCP.max_extension:type_name -> google.protobuf.Duration - 67, // [67:67] is the sub-list for method output_type - 67, // [67:67] is the sub-list for method input_type - 67, // [67:67] is the sub-list for extension type_name - 67, // [67:67] is the sub-list for extension extendee - 0, // [0:67] is the sub-list for field type_name + 20, // 4: conf.Server.keepalive:type_name -> conf.Server.KeepAlive + 4, // 5: conf.Server.mqtt:type_name -> conf.Server.Mqtt + 5, // 6: conf.Server.kafka:type_name -> conf.Server.Kafka + 6, // 7: conf.Server.rabbitmq:type_name -> conf.Server.RabbitMQ + 7, // 8: conf.Server.activemq:type_name -> conf.Server.ActiveMQ + 8, // 9: conf.Server.nats:type_name -> conf.Server.NATS + 9, // 10: conf.Server.nsq:type_name -> conf.Server.NSQ + 10, // 11: conf.Server.pulsar:type_name -> conf.Server.Pulsar + 11, // 12: conf.Server.redis:type_name -> conf.Server.Redis + 12, // 13: conf.Server.rocketmq:type_name -> conf.Server.RocketMQ + 3, // 14: conf.Server.websocket:type_name -> conf.Server.Websocket + 15, // 15: conf.Server.sse:type_name -> conf.Server.SSE + 16, // 16: conf.Server.socketio:type_name -> conf.Server.SocketIO + 17, // 17: conf.Server.signalr:type_name -> conf.Server.SignalR + 13, // 18: conf.Server.asynq:type_name -> conf.Server.Asynq + 14, // 19: conf.Server.machinery:type_name -> conf.Server.Machinery + 31, // 20: conf.Server.REST.timeout:type_name -> google.protobuf.Duration + 21, // 21: conf.Server.REST.cors:type_name -> conf.Server.REST.CORS + 32, // 22: conf.Server.REST.middleware:type_name -> conf.Middleware + 33, // 23: conf.Server.REST.tls:type_name -> conf.TLS + 31, // 24: conf.Server.GRPC.timeout:type_name -> google.protobuf.Duration + 32, // 25: conf.Server.GRPC.middleware:type_name -> conf.Middleware + 33, // 26: conf.Server.GRPC.tls:type_name -> conf.TLS + 31, // 27: conf.Server.Websocket.timeout:type_name -> google.protobuf.Duration + 33, // 28: conf.Server.Websocket.tls:type_name -> conf.TLS + 33, // 29: conf.Server.Mqtt.tls:type_name -> conf.TLS + 33, // 30: conf.Server.Kafka.tls:type_name -> conf.TLS + 33, // 31: conf.Server.RabbitMQ.tls:type_name -> conf.TLS + 33, // 32: conf.Server.ActiveMQ.tls:type_name -> conf.TLS + 33, // 33: conf.Server.NATS.tls:type_name -> conf.TLS + 33, // 34: conf.Server.NSQ.tls:type_name -> conf.TLS + 33, // 35: conf.Server.Pulsar.tls:type_name -> conf.TLS + 33, // 36: conf.Server.Redis.tls:type_name -> conf.TLS + 33, // 37: conf.Server.RocketMQ.tls:type_name -> conf.TLS + 33, // 38: conf.Server.Asynq.tls:type_name -> conf.TLS + 22, // 39: conf.Server.Asynq.queues:type_name -> conf.Server.Asynq.QueuesEntry + 31, // 40: conf.Server.Asynq.shutdown_timeout:type_name -> google.protobuf.Duration + 31, // 41: conf.Server.Asynq.dial_timeout:type_name -> google.protobuf.Duration + 31, // 42: conf.Server.Asynq.read_timeout:type_name -> google.protobuf.Duration + 31, // 43: conf.Server.Asynq.write_timeout:type_name -> google.protobuf.Duration + 31, // 44: conf.Server.Asynq.health_check_interval:type_name -> google.protobuf.Duration + 31, // 45: conf.Server.Asynq.delayed_task_check_interval:type_name -> google.protobuf.Duration + 31, // 46: conf.Server.Asynq.group_grace_period:type_name -> google.protobuf.Duration + 31, // 47: conf.Server.Asynq.group_max_delay:type_name -> google.protobuf.Duration + 33, // 48: conf.Server.Machinery.tls:type_name -> conf.TLS + 23, // 49: conf.Server.Machinery.redis:type_name -> conf.Server.Machinery.Redis + 24, // 50: conf.Server.Machinery.amqp:type_name -> conf.Server.Machinery.AMQP + 25, // 51: conf.Server.Machinery.sqs:type_name -> conf.Server.Machinery.SQS + 26, // 52: conf.Server.Machinery.gcp:type_name -> conf.Server.Machinery.GCP + 27, // 53: conf.Server.Machinery.mongodb:type_name -> conf.Server.Machinery.MongoDB + 28, // 54: conf.Server.Machinery.dynamodb:type_name -> conf.Server.Machinery.DynamoDB + 33, // 55: conf.Server.SSE.tls:type_name -> conf.TLS + 31, // 56: conf.Server.SSE.timeout:type_name -> google.protobuf.Duration + 31, // 57: conf.Server.SSE.event_ttl:type_name -> google.protobuf.Duration + 33, // 58: conf.Server.SocketIO.tls:type_name -> conf.TLS + 33, // 59: conf.Server.SignalR.tls:type_name -> conf.TLS + 31, // 60: conf.Server.SignalR.keep_alive_interval:type_name -> google.protobuf.Duration + 31, // 61: conf.Server.SignalR.chan_receive_timeout:type_name -> google.protobuf.Duration + 31, // 62: conf.Server.GraphQL.timeout:type_name -> google.protobuf.Duration + 33, // 63: conf.Server.GraphQL.tls:type_name -> conf.TLS + 33, // 64: conf.Server.Thrift.tls:type_name -> conf.TLS + 33, // 65: conf.Server.KeepAlive.tls:type_name -> conf.TLS + 29, // 66: conf.Server.Machinery.AMQP.queue_declare_args:type_name -> conf.Server.Machinery.AMQP.QueueDeclareArgsEntry + 30, // 67: conf.Server.Machinery.AMQP.queue_binding_args:type_name -> conf.Server.Machinery.AMQP.QueueBindingArgsEntry + 31, // 68: conf.Server.Machinery.GCP.max_extension:type_name -> google.protobuf.Duration + 69, // [69:69] is the sub-list for method output_type + 69, // [69:69] is the sub-list for method input_type + 69, // [69:69] is the sub-list for extension type_name + 69, // [69:69] is the sub-list for extension extendee + 0, // [0:69] is the sub-list for field type_name } func init() { file_conf_v1_kratos_conf_server_proto_init() } @@ -3270,14 +3232,14 @@ func file_conf_v1_kratos_conf_server_proto_init() { file_conf_v1_kratos_conf_middleware_proto_init() file_conf_v1_kratos_conf_tls_proto_init() file_conf_v1_kratos_conf_server_proto_msgTypes[0].OneofWrappers = []any{} - file_conf_v1_kratos_conf_server_proto_msgTypes[24].OneofWrappers = []any{} + file_conf_v1_kratos_conf_server_proto_msgTypes[25].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_conf_v1_kratos_conf_server_proto_rawDesc), len(file_conf_v1_kratos_conf_server_proto_rawDesc)), NumEnums: 0, - NumMessages: 30, + NumMessages: 31, NumExtensions: 0, NumServices: 0, }, diff --git a/api/protos/conf/v1/kratos_conf_server.proto b/api/protos/conf/v1/kratos_conf_server.proto index 2a8ea92..e7f5282 100644 --- a/api/protos/conf/v1/kratos_conf_server.proto +++ b/api/protos/conf/v1/kratos_conf_server.proto @@ -62,7 +62,6 @@ message Server { string password = 5; // 密码 string client_id = 6; // 客户端ID bool clean_session = 7; // 清除会话 - bool enable_keep_alive = 8; // 启用心跳 } // Kafka @@ -70,7 +69,6 @@ message Server { repeated string endpoints = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... TLS tls = 3; // TLS配置 - bool enable_keep_alive = 4; // 启用心跳 } // RabbitMQ @@ -78,42 +76,36 @@ message Server { repeated string endpoints = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... TLS tls = 3; // TLS配置 - bool enable_keep_alive = 4; // 启用心跳 } message ActiveMQ { string endpoint = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... TLS tls = 3; // TLS配置 - bool enable_keep_alive = 4; // 启用心跳 } message NATS { string endpoint = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... TLS tls = 3; // TLS配置 - bool enable_keep_alive = 4; // 启用心跳 } message NSQ { string endpoint = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... TLS tls = 3; // TLS配置 - bool enable_keep_alive = 4; // 启用心跳 } message Pulsar { string endpoint = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... TLS tls = 3; // TLS配置 - bool enable_keep_alive = 4; // 启用心跳 } message Redis { string endpoint = 1; // 对端网络地址 string codec = 2; // 编解码器: json,xml,yaml... TLS tls = 3; // TLS配置 - bool enable_keep_alive = 4; // 启用心跳 } message RocketMQ { @@ -134,7 +126,6 @@ message Server { TLS tls = 11; // TLS配置 bool enable_trace = 100; - bool enable_keep_alive = 101; // 启用心跳 } // Asynq @@ -154,9 +145,8 @@ message Server { int32 group_max_size = 12; // 组最大大小 map queues = 13; // 队列 - bool enable_keep_alive = 20; // 启用心跳 - bool enable_gracefully_shutdown = 21; // 优雅关闭 - bool enable_strict_priority = 22; // 严格优先级 + bool enable_gracefully_shutdown = 20; // 优雅关闭 + bool enable_strict_priority = 21; // 严格优先级 google.protobuf.Duration shutdown_timeout = 30; // 关闭超时时间 google.protobuf.Duration dial_timeout = 31; // 拨号超时时间 @@ -188,10 +178,9 @@ message Server { string consumer_queue = 32; // 消费者队列 TLS tls = 50; // TLS配置 - bool enable_keep_alive = 51; // 启用心跳 - string default_queue = 52; // 默认队列 - int32 results_expire_in = 53; // 结果过期时间 - bool no_unix_signals = 54; // 禁用Unix信号 + string default_queue = 51; // 默认队列 + int32 results_expire_in = 52; // 结果过期时间 + bool no_unix_signals = 53; // 禁用Unix信号 message Redis { int32 max_idle = 1; @@ -305,12 +294,19 @@ message Server { TLS tls = 7; // TLS配置 } + message KeepAlive { + string network = 1; // 网络 + string addr = 2; // 服务监听地址 + TLS tls = 3; // TLS配置 + } + // RPC optional REST rest = 1; // REST服务 optional GRPC grpc = 2; // gRPC服务 optional GraphQL graphql = 3; // GraphQL服务 optional Thrift thrift = 4; // Thrift服务 + optional KeepAlive keepalive = 5; // 保活服务 // Message Queue diff --git a/tag.bat b/tag.bat index ce51d52..2be6a49 100644 --- a/tag.bat +++ b/tag.bat @@ -1,4 +1,4 @@ -git tag api/v0.0.21 --force +git tag api/v0.0.22 --force git tag utils/v0.1.4 --force