From 44cd69b791e494d800196936681fc90213c180c3 Mon Sep 17 00:00:00 2001 From: Dan Gottlieb Date: Mon, 27 Nov 2023 09:25:22 -0500 Subject: [PATCH] RSDK-5277: Add log configuration to robot proto. (#401) Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- app/v1/robot.pb.go | 1092 +++++++++-------- component/arm/v1/arm.pb.gw.go | 14 +- component/encoder/v1/encoder.pb.gw.go | 10 +- component/gripper/v1/gripper.pb.gw.go | 10 +- .../v1/input_controller.pb.gw.go | 10 +- component/powersensor/v1/powersensor.pb.gw.go | 10 +- gen/js/app/v1/robot_pb.d.ts | 26 + gen/js/app/v1/robot_pb.js | 205 +++- proto/viam/app/v1/robot.proto | 5 + service/datamanager/v1/data_manager.pb.gw.go | 6 +- service/motion/v1/motion.pb.gw.go | 6 +- 11 files changed, 852 insertions(+), 542 deletions(-) diff --git a/app/v1/robot.pb.go b/app/v1/robot.pb.go index ee77a1d24..73cd700e9 100644 --- a/app/v1/robot.pb.go +++ b/app/v1/robot.pb.go @@ -434,15 +434,16 @@ type ComponentConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` // deprecated; use api - Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // deprecated; use api - Model string `protobuf:"bytes,4,opt,name=model,proto3" json:"model,omitempty"` - Frame *Frame `protobuf:"bytes,5,opt,name=frame,proto3" json:"frame,omitempty"` - DependsOn []string `protobuf:"bytes,6,rep,name=depends_on,json=dependsOn,proto3" json:"depends_on,omitempty"` - ServiceConfigs []*ResourceLevelServiceConfig `protobuf:"bytes,7,rep,name=service_configs,json=serviceConfigs,proto3" json:"service_config"` - Attributes *structpb.Struct `protobuf:"bytes,8,opt,name=attributes,proto3" json:"attributes,omitempty"` - Api string `protobuf:"bytes,9,opt,name=api,proto3" json:"api,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` // deprecated; use api + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // deprecated; use api + Model string `protobuf:"bytes,4,opt,name=model,proto3" json:"model,omitempty"` + Frame *Frame `protobuf:"bytes,5,opt,name=frame,proto3" json:"frame,omitempty"` + DependsOn []string `protobuf:"bytes,6,rep,name=depends_on,json=dependsOn,proto3" json:"depends_on,omitempty"` + ServiceConfigs []*ResourceLevelServiceConfig `protobuf:"bytes,7,rep,name=service_configs,json=serviceConfigs,proto3" json:"service_config"` + Attributes *structpb.Struct `protobuf:"bytes,8,opt,name=attributes,proto3" json:"attributes,omitempty"` + Api string `protobuf:"bytes,9,opt,name=api,proto3" json:"api,omitempty"` + LogConfiguration *LogConfiguration `protobuf:"bytes,10,opt,name=log_configuration,json=logConfiguration,proto3" json:"log_configuration,omitempty"` } func (x *ComponentConfig) Reset() { @@ -540,6 +541,13 @@ func (x *ComponentConfig) GetApi() string { return "" } +func (x *ComponentConfig) GetLogConfiguration() *LogConfiguration { + if x != nil { + return x.LogConfiguration + } + return nil +} + // A ResourceLevelServiceConfig describes component or remote configuration for a service. type ResourceLevelServiceConfig struct { state protoimpl.MessageState @@ -1226,6 +1234,53 @@ func (x *Frame) GetGeometry() *v1.Geometry { return nil } +type LogConfiguration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Level string `protobuf:"bytes,1,opt,name=level,proto3" json:"level,omitempty"` +} + +func (x *LogConfiguration) Reset() { + *x = LogConfiguration{} + if protoimpl.UnsafeEnabled { + mi := &file_app_v1_robot_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LogConfiguration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogConfiguration) ProtoMessage() {} + +func (x *LogConfiguration) ProtoReflect() protoreflect.Message { + mi := &file_app_v1_robot_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LogConfiguration.ProtoReflect.Descriptor instead. +func (*LogConfiguration) Descriptor() ([]byte, []int) { + return file_app_v1_robot_proto_rawDescGZIP(), []int{15} +} + +func (x *LogConfiguration) GetLevel() string { + if x != nil { + return x.Level + } + return "" +} + type Translation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1239,7 +1294,7 @@ type Translation struct { func (x *Translation) Reset() { *x = Translation{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[15] + mi := &file_app_v1_robot_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1252,7 +1307,7 @@ func (x *Translation) String() string { func (*Translation) ProtoMessage() {} func (x *Translation) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[15] + mi := &file_app_v1_robot_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1265,7 +1320,7 @@ func (x *Translation) ProtoReflect() protoreflect.Message { // Deprecated: Use Translation.ProtoReflect.Descriptor instead. func (*Translation) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{15} + return file_app_v1_robot_proto_rawDescGZIP(), []int{16} } func (x *Translation) GetX() float64 { @@ -1308,7 +1363,7 @@ type Orientation struct { func (x *Orientation) Reset() { *x = Orientation{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[16] + mi := &file_app_v1_robot_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1321,7 +1376,7 @@ func (x *Orientation) String() string { func (*Orientation) ProtoMessage() {} func (x *Orientation) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[16] + mi := &file_app_v1_robot_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1334,7 +1389,7 @@ func (x *Orientation) ProtoReflect() protoreflect.Message { // Deprecated: Use Orientation.ProtoReflect.Descriptor instead. func (*Orientation) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{16} + return file_app_v1_robot_proto_rawDescGZIP(), []int{17} } func (m *Orientation) GetType() isOrientation_Type { @@ -1451,7 +1506,7 @@ type RemoteConfig struct { func (x *RemoteConfig) Reset() { *x = RemoteConfig{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[17] + mi := &file_app_v1_robot_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1464,7 +1519,7 @@ func (x *RemoteConfig) String() string { func (*RemoteConfig) ProtoMessage() {} func (x *RemoteConfig) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[17] + mi := &file_app_v1_robot_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1477,7 +1532,7 @@ func (x *RemoteConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoteConfig.ProtoReflect.Descriptor instead. func (*RemoteConfig) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{17} + return file_app_v1_robot_proto_rawDescGZIP(), []int{18} } func (x *RemoteConfig) GetName() string { @@ -1565,7 +1620,7 @@ type RemoteAuth struct { func (x *RemoteAuth) Reset() { *x = RemoteAuth{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[18] + mi := &file_app_v1_robot_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1578,7 +1633,7 @@ func (x *RemoteAuth) String() string { func (*RemoteAuth) ProtoMessage() {} func (x *RemoteAuth) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[18] + mi := &file_app_v1_robot_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1591,7 +1646,7 @@ func (x *RemoteAuth) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoteAuth.ProtoReflect.Descriptor instead. func (*RemoteAuth) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{18} + return file_app_v1_robot_proto_rawDescGZIP(), []int{19} } func (x *RemoteAuth) GetCredentials() *RemoteAuth_Credentials { @@ -1627,7 +1682,7 @@ type AgentInfo struct { func (x *AgentInfo) Reset() { *x = AgentInfo{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[19] + mi := &file_app_v1_robot_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1640,7 +1695,7 @@ func (x *AgentInfo) String() string { func (*AgentInfo) ProtoMessage() {} func (x *AgentInfo) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[19] + mi := &file_app_v1_robot_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1653,7 +1708,7 @@ func (x *AgentInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AgentInfo.ProtoReflect.Descriptor instead. func (*AgentInfo) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{19} + return file_app_v1_robot_proto_rawDescGZIP(), []int{20} } func (x *AgentInfo) GetHost() string { @@ -1712,7 +1767,7 @@ type ConfigRequest struct { func (x *ConfigRequest) Reset() { *x = ConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[20] + mi := &file_app_v1_robot_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1725,7 +1780,7 @@ func (x *ConfigRequest) String() string { func (*ConfigRequest) ProtoMessage() {} func (x *ConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[20] + mi := &file_app_v1_robot_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1738,7 +1793,7 @@ func (x *ConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigRequest.ProtoReflect.Descriptor instead. func (*ConfigRequest) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{20} + return file_app_v1_robot_proto_rawDescGZIP(), []int{21} } func (x *ConfigRequest) GetId() string { @@ -1766,7 +1821,7 @@ type ConfigResponse struct { func (x *ConfigResponse) Reset() { *x = ConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[21] + mi := &file_app_v1_robot_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1779,7 +1834,7 @@ func (x *ConfigResponse) String() string { func (*ConfigResponse) ProtoMessage() {} func (x *ConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[21] + mi := &file_app_v1_robot_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1792,7 +1847,7 @@ func (x *ConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigResponse.ProtoReflect.Descriptor instead. func (*ConfigResponse) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{21} + return file_app_v1_robot_proto_rawDescGZIP(), []int{22} } func (x *ConfigResponse) GetConfig() *RobotConfig { @@ -1814,7 +1869,7 @@ type CertificateRequest struct { func (x *CertificateRequest) Reset() { *x = CertificateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[22] + mi := &file_app_v1_robot_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1827,7 +1882,7 @@ func (x *CertificateRequest) String() string { func (*CertificateRequest) ProtoMessage() {} func (x *CertificateRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[22] + mi := &file_app_v1_robot_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1840,7 +1895,7 @@ func (x *CertificateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CertificateRequest.ProtoReflect.Descriptor instead. func (*CertificateRequest) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{22} + return file_app_v1_robot_proto_rawDescGZIP(), []int{23} } func (x *CertificateRequest) GetId() string { @@ -1864,7 +1919,7 @@ type CertificateResponse struct { func (x *CertificateResponse) Reset() { *x = CertificateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[23] + mi := &file_app_v1_robot_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1877,7 +1932,7 @@ func (x *CertificateResponse) String() string { func (*CertificateResponse) ProtoMessage() {} func (x *CertificateResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[23] + mi := &file_app_v1_robot_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1890,7 +1945,7 @@ func (x *CertificateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CertificateResponse.ProtoReflect.Descriptor instead. func (*CertificateResponse) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{23} + return file_app_v1_robot_proto_rawDescGZIP(), []int{24} } func (x *CertificateResponse) GetId() string { @@ -1927,7 +1982,7 @@ type LogRequest struct { func (x *LogRequest) Reset() { *x = LogRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[24] + mi := &file_app_v1_robot_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1940,7 +1995,7 @@ func (x *LogRequest) String() string { func (*LogRequest) ProtoMessage() {} func (x *LogRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[24] + mi := &file_app_v1_robot_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1953,7 +2008,7 @@ func (x *LogRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LogRequest.ProtoReflect.Descriptor instead. func (*LogRequest) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{24} + return file_app_v1_robot_proto_rawDescGZIP(), []int{25} } func (x *LogRequest) GetId() string { @@ -1979,7 +2034,7 @@ type LogResponse struct { func (x *LogResponse) Reset() { *x = LogResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[25] + mi := &file_app_v1_robot_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1992,7 +2047,7 @@ func (x *LogResponse) String() string { func (*LogResponse) ProtoMessage() {} func (x *LogResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[25] + mi := &file_app_v1_robot_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2005,7 +2060,7 @@ func (x *LogResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LogResponse.ProtoReflect.Descriptor instead. func (*LogResponse) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{25} + return file_app_v1_robot_proto_rawDescGZIP(), []int{26} } type NeedsRestartRequest struct { @@ -2020,7 +2075,7 @@ type NeedsRestartRequest struct { func (x *NeedsRestartRequest) Reset() { *x = NeedsRestartRequest{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[26] + mi := &file_app_v1_robot_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2033,7 +2088,7 @@ func (x *NeedsRestartRequest) String() string { func (*NeedsRestartRequest) ProtoMessage() {} func (x *NeedsRestartRequest) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[26] + mi := &file_app_v1_robot_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2046,7 +2101,7 @@ func (x *NeedsRestartRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NeedsRestartRequest.ProtoReflect.Descriptor instead. func (*NeedsRestartRequest) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{26} + return file_app_v1_robot_proto_rawDescGZIP(), []int{27} } func (x *NeedsRestartRequest) GetId() string { @@ -2070,7 +2125,7 @@ type NeedsRestartResponse struct { func (x *NeedsRestartResponse) Reset() { *x = NeedsRestartResponse{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[27] + mi := &file_app_v1_robot_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2083,7 +2138,7 @@ func (x *NeedsRestartResponse) String() string { func (*NeedsRestartResponse) ProtoMessage() {} func (x *NeedsRestartResponse) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[27] + mi := &file_app_v1_robot_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2096,7 +2151,7 @@ func (x *NeedsRestartResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NeedsRestartResponse.ProtoReflect.Descriptor instead. func (*NeedsRestartResponse) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{27} + return file_app_v1_robot_proto_rawDescGZIP(), []int{28} } func (x *NeedsRestartResponse) GetId() string { @@ -2144,7 +2199,7 @@ type ModuleConfig struct { func (x *ModuleConfig) Reset() { *x = ModuleConfig{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[28] + mi := &file_app_v1_robot_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2157,7 +2212,7 @@ func (x *ModuleConfig) String() string { func (*ModuleConfig) ProtoMessage() {} func (x *ModuleConfig) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[28] + mi := &file_app_v1_robot_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2170,7 +2225,7 @@ func (x *ModuleConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{28} + return file_app_v1_robot_proto_rawDescGZIP(), []int{29} } func (x *ModuleConfig) GetName() string { @@ -2243,7 +2298,7 @@ type PackageConfig struct { func (x *PackageConfig) Reset() { *x = PackageConfig{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[29] + mi := &file_app_v1_robot_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2256,7 +2311,7 @@ func (x *PackageConfig) String() string { func (*PackageConfig) ProtoMessage() {} func (x *PackageConfig) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[29] + mi := &file_app_v1_robot_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2269,7 +2324,7 @@ func (x *PackageConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use PackageConfig.ProtoReflect.Descriptor instead. func (*PackageConfig) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{29} + return file_app_v1_robot_proto_rawDescGZIP(), []int{30} } func (x *PackageConfig) GetName() string { @@ -2316,7 +2371,7 @@ type Orientation_NoOrientation struct { func (x *Orientation_NoOrientation) Reset() { *x = Orientation_NoOrientation{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[31] + mi := &file_app_v1_robot_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2329,7 +2384,7 @@ func (x *Orientation_NoOrientation) String() string { func (*Orientation_NoOrientation) ProtoMessage() {} func (x *Orientation_NoOrientation) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[31] + mi := &file_app_v1_robot_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2342,7 +2397,7 @@ func (x *Orientation_NoOrientation) ProtoReflect() protoreflect.Message { // Deprecated: Use Orientation_NoOrientation.ProtoReflect.Descriptor instead. func (*Orientation_NoOrientation) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{16, 0} + return file_app_v1_robot_proto_rawDescGZIP(), []int{17, 0} } // OrientationVector containing ox, oy, oz, theta represents an orientation vector @@ -2368,7 +2423,7 @@ type Orientation_OrientationVectorRadians struct { func (x *Orientation_OrientationVectorRadians) Reset() { *x = Orientation_OrientationVectorRadians{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[32] + mi := &file_app_v1_robot_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2381,7 +2436,7 @@ func (x *Orientation_OrientationVectorRadians) String() string { func (*Orientation_OrientationVectorRadians) ProtoMessage() {} func (x *Orientation_OrientationVectorRadians) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[32] + mi := &file_app_v1_robot_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2394,7 +2449,7 @@ func (x *Orientation_OrientationVectorRadians) ProtoReflect() protoreflect.Messa // Deprecated: Use Orientation_OrientationVectorRadians.ProtoReflect.Descriptor instead. func (*Orientation_OrientationVectorRadians) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{16, 1} + return file_app_v1_robot_proto_rawDescGZIP(), []int{17, 1} } func (x *Orientation_OrientationVectorRadians) GetTheta() float64 { @@ -2441,7 +2496,7 @@ type Orientation_OrientationVectorDegrees struct { func (x *Orientation_OrientationVectorDegrees) Reset() { *x = Orientation_OrientationVectorDegrees{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[33] + mi := &file_app_v1_robot_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2454,7 +2509,7 @@ func (x *Orientation_OrientationVectorDegrees) String() string { func (*Orientation_OrientationVectorDegrees) ProtoMessage() {} func (x *Orientation_OrientationVectorDegrees) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[33] + mi := &file_app_v1_robot_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2467,7 +2522,7 @@ func (x *Orientation_OrientationVectorDegrees) ProtoReflect() protoreflect.Messa // Deprecated: Use Orientation_OrientationVectorDegrees.ProtoReflect.Descriptor instead. func (*Orientation_OrientationVectorDegrees) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{16, 2} + return file_app_v1_robot_proto_rawDescGZIP(), []int{17, 2} } func (x *Orientation_OrientationVectorDegrees) GetTheta() float64 { @@ -2513,7 +2568,7 @@ type Orientation_EulerAngles struct { func (x *Orientation_EulerAngles) Reset() { *x = Orientation_EulerAngles{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[34] + mi := &file_app_v1_robot_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2526,7 +2581,7 @@ func (x *Orientation_EulerAngles) String() string { func (*Orientation_EulerAngles) ProtoMessage() {} func (x *Orientation_EulerAngles) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[34] + mi := &file_app_v1_robot_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2539,7 +2594,7 @@ func (x *Orientation_EulerAngles) ProtoReflect() protoreflect.Message { // Deprecated: Use Orientation_EulerAngles.ProtoReflect.Descriptor instead. func (*Orientation_EulerAngles) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{16, 3} + return file_app_v1_robot_proto_rawDescGZIP(), []int{17, 3} } func (x *Orientation_EulerAngles) GetRoll() float64 { @@ -2584,7 +2639,7 @@ type Orientation_AxisAngles struct { func (x *Orientation_AxisAngles) Reset() { *x = Orientation_AxisAngles{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[35] + mi := &file_app_v1_robot_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2597,7 +2652,7 @@ func (x *Orientation_AxisAngles) String() string { func (*Orientation_AxisAngles) ProtoMessage() {} func (x *Orientation_AxisAngles) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[35] + mi := &file_app_v1_robot_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2610,7 +2665,7 @@ func (x *Orientation_AxisAngles) ProtoReflect() protoreflect.Message { // Deprecated: Use Orientation_AxisAngles.ProtoReflect.Descriptor instead. func (*Orientation_AxisAngles) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{16, 4} + return file_app_v1_robot_proto_rawDescGZIP(), []int{17, 4} } func (x *Orientation_AxisAngles) GetTheta() float64 { @@ -2656,7 +2711,7 @@ type Orientation_Quaternion struct { func (x *Orientation_Quaternion) Reset() { *x = Orientation_Quaternion{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[36] + mi := &file_app_v1_robot_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2669,7 +2724,7 @@ func (x *Orientation_Quaternion) String() string { func (*Orientation_Quaternion) ProtoMessage() {} func (x *Orientation_Quaternion) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[36] + mi := &file_app_v1_robot_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2682,7 +2737,7 @@ func (x *Orientation_Quaternion) ProtoReflect() protoreflect.Message { // Deprecated: Use Orientation_Quaternion.ProtoReflect.Descriptor instead. func (*Orientation_Quaternion) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{16, 5} + return file_app_v1_robot_proto_rawDescGZIP(), []int{17, 5} } func (x *Orientation_Quaternion) GetW() float64 { @@ -2727,7 +2782,7 @@ type RemoteAuth_Credentials struct { func (x *RemoteAuth_Credentials) Reset() { *x = RemoteAuth_Credentials{} if protoimpl.UnsafeEnabled { - mi := &file_app_v1_robot_proto_msgTypes[37] + mi := &file_app_v1_robot_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2740,7 +2795,7 @@ func (x *RemoteAuth_Credentials) String() string { func (*RemoteAuth_Credentials) ProtoMessage() {} func (x *RemoteAuth_Credentials) ProtoReflect() protoreflect.Message { - mi := &file_app_v1_robot_proto_msgTypes[37] + mi := &file_app_v1_robot_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2753,7 +2808,7 @@ func (x *RemoteAuth_Credentials) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoteAuth_Credentials.ProtoReflect.Descriptor instead. func (*RemoteAuth_Credentials) Descriptor() ([]byte, []int) { - return file_app_v1_robot_proto_rawDescGZIP(), []int{18, 0} + return file_app_v1_robot_proto_rawDescGZIP(), []int{19, 0} } func (x *RemoteAuth_Credentials) GetType() CredentialsType { @@ -2852,7 +2907,7 @@ var file_app_v1_robot_proto_rawDesc = []byte{ 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x22, - 0xef, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0xbb, 0x03, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, @@ -2875,337 +2930,344 @@ var file_app_v1_robot_proto_rawDesc = []byte{ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, - 0x69, 0x22, 0x69, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0xd4, 0x02, 0x0a, - 0x0d, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x77, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x77, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6e, 0x65, 0x5f, - 0x73, 0x68, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x65, 0x53, - 0x68, 0x6f, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 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, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, - 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x1a, 0x36, 0x0a, 0x08, 0x45, - 0x6e, 0x76, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xc3, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x5f, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x73, 0x4f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x69, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x6c, 0x0a, 0x0f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1a, 0x9a, - 0x84, 0x9e, 0x03, 0x15, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x22, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x0d, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, - 0x71, 0x64, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x12, - 0x21, 0x0a, 0x0c, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x43, 0x65, - 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x6c, 0x73, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6c, - 0x73, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x56, 0x0a, 0x0e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x10, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, - 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x01, 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, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, - 0x65, 0x61, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0xe5, 0x01, 0x0a, 0x0a, 0x41, 0x75, - 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x08, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6c, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x68, - 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0f, 0x74, 0x6c, 0x73, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x56, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, - 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x00, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x22, 0x37, 0x0a, 0x08, 0x4a, 0x57, 0x4b, 0x53, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2b, 0x0a, - 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, + 0x69, 0x12, 0x4a, 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6c, 0x6f, 0x67, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, + 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0xd4, 0x02, 0x0a, 0x0d, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x77, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x63, 0x77, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x6e, 0x65, 0x53, 0x68, 0x6f, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6c, 0x6f, + 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x08, 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, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x12, 0x35, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x1a, 0x36, 0x0a, 0x08, 0x45, 0x6e, 0x76, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0xc3, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x3f, 0x0a, 0x12, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x29, 0x0a, 0x04, 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x57, 0x4b, - 0x53, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x04, 0x6a, 0x77, 0x6b, 0x73, 0x22, 0x76, 0x0a, 0x11, 0x41, - 0x75, 0x74, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, - 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x22, 0xcd, 0x01, 0x0a, 0x05, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x3a, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, - 0x08, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x08, 0x67, 0x65, 0x6f, 0x6d, 0x65, - 0x74, 0x72, 0x79, 0x22, 0x37, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, - 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x12, 0x0c, - 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x7a, 0x22, 0xd0, 0x07, 0x0a, - 0x0b, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0e, - 0x6e, 0x6f, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4e, - 0x6f, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, - 0x6e, 0x6f, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, - 0x0e, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x76, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x0e, 0x76, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x72, 0x69, 0x65, - 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x67, - 0x72, 0x65, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x65, - 0x67, 0x72, 0x65, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x65, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x61, - 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x69, + 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x6c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1a, 0x9a, 0x84, 0x9e, 0x03, 0x15, + 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x22, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x62, + 0x69, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x62, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, + 0x0a, 0x0d, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x46, 0x69, + 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x6c, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x4b, 0x65, 0x79, + 0x46, 0x69, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x56, 0x0a, + 0x0e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x44, 0x0a, 0x10, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x18, 0x01, 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, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0xe5, 0x01, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, + 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6c, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6c, 0x73, + 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x14, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x12, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x37, 0x0a, + 0x08, 0x4a, 0x57, 0x4b, 0x53, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x73, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x3f, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x04, + 0x6a, 0x77, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x57, 0x4b, 0x53, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x04, 0x6a, 0x77, 0x6b, 0x73, 0x22, 0x76, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x48, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2f, + 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, + 0xcd, 0x01, 0x0a, 0x05, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, + 0x0b, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6f, 0x72, + 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x08, 0x67, 0x65, 0x6f, + 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6f, + 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x08, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x22, + 0x28, 0x0a, 0x10, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x37, 0x0a, 0x0b, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x01, 0x7a, 0x22, 0xd0, 0x07, 0x0a, 0x0b, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0e, 0x6e, 0x6f, 0x5f, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x6f, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x0e, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x61, + 0x64, 0x69, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x48, 0x00, + 0x52, 0x0d, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x12, + 0x5a, 0x0a, 0x0e, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x76, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x65, + 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x75, 0x6c, 0x65, + 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x75, 0x6c, 0x65, 0x72, + 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x78, 0x69, 0x73, 0x5f, 0x61, + 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x75, 0x6c, 0x65, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, - 0x73, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x75, 0x6c, 0x65, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, - 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x78, 0x69, 0x73, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x41, 0x78, 0x69, 0x73, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x78, - 0x69, 0x73, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x71, 0x75, 0x61, 0x74, - 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x1a, - 0x0f, 0x0a, 0x0d, 0x4e, 0x6f, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x6a, 0x0a, 0x18, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x05, - 0x74, 0x68, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0x9a, 0x84, 0x9e, - 0x03, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x22, 0x74, 0x68, 0x22, 0x52, 0x05, 0x74, 0x68, 0x65, - 0x74, 0x61, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, - 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x12, 0x0c, - 0x0a, 0x01, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x7a, 0x1a, 0x6a, 0x0a, 0x18, - 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0x9a, 0x84, 0x9e, 0x03, 0x09, 0x6a, 0x73, - 0x6f, 0x6e, 0x3a, 0x22, 0x74, 0x68, 0x22, 0x52, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x12, 0x0c, - 0x0a, 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x7a, 0x1a, 0x49, 0x0a, 0x0b, 0x45, 0x75, 0x6c, 0x65, - 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, - 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x69, 0x74, 0x63, - 0x68, 0x12, 0x10, 0x0a, 0x03, 0x79, 0x61, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, - 0x79, 0x61, 0x77, 0x1a, 0x5c, 0x0a, 0x0a, 0x41, 0x78, 0x69, 0x73, 0x41, 0x6e, 0x67, 0x6c, 0x65, - 0x73, 0x12, 0x24, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, - 0x42, 0x0e, 0x9a, 0x84, 0x9e, 0x03, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x22, 0x74, 0x68, 0x22, - 0x52, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, - 0x7a, 0x1a, 0x44, 0x0a, 0x0a, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x12, - 0x0c, 0x0a, 0x01, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x77, 0x12, 0x0c, 0x0a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x0a, 0x61, 0x78, 0x69, 0x73, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x45, + 0x0a, 0x0a, 0x71, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x61, + 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x74, 0x65, + 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x1a, 0x0f, 0x0a, 0x0d, 0x4e, 0x6f, 0x4f, 0x72, 0x69, 0x65, 0x6e, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x6a, 0x0a, 0x18, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x61, 0x64, 0x69, 0x61, + 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x01, 0x42, 0x0e, 0x9a, 0x84, 0x9e, 0x03, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x22, 0x74, 0x68, + 0x22, 0x52, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x01, 0x7a, 0x1a, 0x6a, 0x0a, 0x18, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x12, 0x24, + 0x0a, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0x9a, + 0x84, 0x9e, 0x03, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x22, 0x74, 0x68, 0x22, 0x52, 0x05, 0x74, + 0x68, 0x65, 0x74, 0x61, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, + 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x7a, 0x1a, 0x49, + 0x0a, 0x0b, 0x45, 0x75, 0x6c, 0x65, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, + 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x79, 0x61, 0x77, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x79, 0x61, 0x77, 0x1a, 0x5c, 0x0a, 0x0a, 0x41, 0x78, 0x69, + 0x73, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0x9a, 0x84, 0x9e, 0x03, 0x09, 0x6a, 0x73, 0x6f, + 0x6e, 0x3a, 0x22, 0x74, 0x68, 0x22, 0x52, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x7a, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, - 0xf5, 0x03, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x7a, 0x1a, 0x44, 0x0a, 0x0a, 0x51, 0x75, 0x61, 0x74, 0x65, + 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x01, 0x77, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, + 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x12, + 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x7a, 0x42, 0x06, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xf5, 0x03, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x2b, + 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x12, 0x55, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x18, 0x07, 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, 0x17, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x48, 0x0a, + 0x12, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x18, 0x08, 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, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x6c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1a, 0x9a, 0x84, 0x9e, 0x03, 0x15, + 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x22, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xc6, 0x01, + 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x59, 0x0a, 0x0b, 0x43, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xac, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x6a, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x88, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x22, 0x42, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x24, 0x0a, 0x12, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x76, 0x0a, 0x13, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x6c, 0x73, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x74, + 0x6c, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6c, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x4b, 0x65, 0x79, 0x22, 0x47, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, + 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x0d, 0x0a, 0x0b, + 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x0a, 0x13, 0x4e, + 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, + 0x75, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x6d, 0x75, 0x73, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x4f, + 0x0a, 0x16, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 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, 0x14, 0x72, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, + 0xac, 0x02, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, - 0x0a, 0x05, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x72, 0x61, 0x6d, - 0x65, 0x52, 0x05, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, - 0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x64, 0x42, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, - 0x12, 0x55, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x07, 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, 0x17, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x48, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 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, 0x11, - 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, - 0x6c, 0x12, 0x6c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x1a, 0x9a, 0x84, 0x9e, 0x03, 0x15, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x22, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x52, - 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x41, 0x75, 0x74, 0x68, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, - 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x59, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x22, 0xac, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, - 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x03, 0x69, 0x70, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, - 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, - 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, - 0x6a, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x3a, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x42, 0x0a, 0x0e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x62, 0x6f, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, - 0x24, 0x0a, 0x12, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x76, 0x0a, 0x13, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, - 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x74, 0x6c, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x47, 0x0a, - 0x0a, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x04, 0x6c, - 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x0a, 0x13, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x9a, 0x01, 0x0a, - 0x14, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x75, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x75, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x4f, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, - 0x61, 0x6c, 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, 0x14, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xac, 0x02, 0x0a, 0x0c, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, - 0x12, 0x34, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x1a, 0x36, 0x0a, 0x08, 0x45, 0x6e, 0x76, 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, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa5, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x2a, 0xbf, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, - 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, - 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, - 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x4b, 0x45, - 0x59, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, - 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x42, 0x4f, 0x54, 0x5f, 0x53, 0x45, - 0x43, 0x52, 0x45, 0x54, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, - 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x42, 0x4f, 0x54, - 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, - 0x10, 0x04, 0x32, 0xb2, 0x02, 0x0a, 0x0c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, - 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, - 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x18, 0x5a, 0x16, 0x67, 0x6f, 0x2e, 0x76, 0x69, - 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x67, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, + 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, + 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x38, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x45, 0x6e, 0x76, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa5, + 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0xbf, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x52, + 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, + 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x43, + 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, + 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, + 0x42, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, + 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x52, 0x4f, 0x42, 0x4f, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x10, 0x04, 0x32, 0xb2, 0x02, 0x0a, 0x0c, 0x52, 0x6f, 0x62, + 0x6f, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1a, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, + 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x4e, 0x65, 0x65, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x18, 0x5a, + 0x16, 0x67, 0x6f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3221,7 +3283,7 @@ func file_app_v1_robot_proto_rawDescGZIP() []byte { } var file_app_v1_robot_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_app_v1_robot_proto_msgTypes = make([]protoimpl.MessageInfo, 39) +var file_app_v1_robot_proto_msgTypes = make([]protoimpl.MessageInfo, 40) var file_app_v1_robot_proto_goTypes = []interface{}{ (CredentialsType)(0), // 0: viam.app.v1.CredentialsType (*RobotConfig)(nil), // 1: viam.app.v1.RobotConfig @@ -3239,98 +3301,100 @@ var file_app_v1_robot_proto_goTypes = []interface{}{ (*ExternalAuthConfig)(nil), // 13: viam.app.v1.ExternalAuthConfig (*AuthHandlerConfig)(nil), // 14: viam.app.v1.AuthHandlerConfig (*Frame)(nil), // 15: viam.app.v1.Frame - (*Translation)(nil), // 16: viam.app.v1.Translation - (*Orientation)(nil), // 17: viam.app.v1.Orientation - (*RemoteConfig)(nil), // 18: viam.app.v1.RemoteConfig - (*RemoteAuth)(nil), // 19: viam.app.v1.RemoteAuth - (*AgentInfo)(nil), // 20: viam.app.v1.AgentInfo - (*ConfigRequest)(nil), // 21: viam.app.v1.ConfigRequest - (*ConfigResponse)(nil), // 22: viam.app.v1.ConfigResponse - (*CertificateRequest)(nil), // 23: viam.app.v1.CertificateRequest - (*CertificateResponse)(nil), // 24: viam.app.v1.CertificateResponse - (*LogRequest)(nil), // 25: viam.app.v1.LogRequest - (*LogResponse)(nil), // 26: viam.app.v1.LogResponse - (*NeedsRestartRequest)(nil), // 27: viam.app.v1.NeedsRestartRequest - (*NeedsRestartResponse)(nil), // 28: viam.app.v1.NeedsRestartResponse - (*ModuleConfig)(nil), // 29: viam.app.v1.ModuleConfig - (*PackageConfig)(nil), // 30: viam.app.v1.PackageConfig - nil, // 31: viam.app.v1.ProcessConfig.EnvEntry - (*Orientation_NoOrientation)(nil), // 32: viam.app.v1.Orientation.NoOrientation - (*Orientation_OrientationVectorRadians)(nil), // 33: viam.app.v1.Orientation.OrientationVectorRadians - (*Orientation_OrientationVectorDegrees)(nil), // 34: viam.app.v1.Orientation.OrientationVectorDegrees - (*Orientation_EulerAngles)(nil), // 35: viam.app.v1.Orientation.EulerAngles - (*Orientation_AxisAngles)(nil), // 36: viam.app.v1.Orientation.AxisAngles - (*Orientation_Quaternion)(nil), // 37: viam.app.v1.Orientation.Quaternion - (*RemoteAuth_Credentials)(nil), // 38: viam.app.v1.RemoteAuth.Credentials - nil, // 39: viam.app.v1.ModuleConfig.EnvEntry - (*structpb.Struct)(nil), // 40: google.protobuf.Struct - (*durationpb.Duration)(nil), // 41: google.protobuf.Duration - (*v1.Geometry)(nil), // 42: viam.common.v1.Geometry - (*LogEntry)(nil), // 43: viam.app.v1.LogEntry + (*LogConfiguration)(nil), // 16: viam.app.v1.LogConfiguration + (*Translation)(nil), // 17: viam.app.v1.Translation + (*Orientation)(nil), // 18: viam.app.v1.Orientation + (*RemoteConfig)(nil), // 19: viam.app.v1.RemoteConfig + (*RemoteAuth)(nil), // 20: viam.app.v1.RemoteAuth + (*AgentInfo)(nil), // 21: viam.app.v1.AgentInfo + (*ConfigRequest)(nil), // 22: viam.app.v1.ConfigRequest + (*ConfigResponse)(nil), // 23: viam.app.v1.ConfigResponse + (*CertificateRequest)(nil), // 24: viam.app.v1.CertificateRequest + (*CertificateResponse)(nil), // 25: viam.app.v1.CertificateResponse + (*LogRequest)(nil), // 26: viam.app.v1.LogRequest + (*LogResponse)(nil), // 27: viam.app.v1.LogResponse + (*NeedsRestartRequest)(nil), // 28: viam.app.v1.NeedsRestartRequest + (*NeedsRestartResponse)(nil), // 29: viam.app.v1.NeedsRestartResponse + (*ModuleConfig)(nil), // 30: viam.app.v1.ModuleConfig + (*PackageConfig)(nil), // 31: viam.app.v1.PackageConfig + nil, // 32: viam.app.v1.ProcessConfig.EnvEntry + (*Orientation_NoOrientation)(nil), // 33: viam.app.v1.Orientation.NoOrientation + (*Orientation_OrientationVectorRadians)(nil), // 34: viam.app.v1.Orientation.OrientationVectorRadians + (*Orientation_OrientationVectorDegrees)(nil), // 35: viam.app.v1.Orientation.OrientationVectorDegrees + (*Orientation_EulerAngles)(nil), // 36: viam.app.v1.Orientation.EulerAngles + (*Orientation_AxisAngles)(nil), // 37: viam.app.v1.Orientation.AxisAngles + (*Orientation_Quaternion)(nil), // 38: viam.app.v1.Orientation.Quaternion + (*RemoteAuth_Credentials)(nil), // 39: viam.app.v1.RemoteAuth.Credentials + nil, // 40: viam.app.v1.ModuleConfig.EnvEntry + (*structpb.Struct)(nil), // 41: google.protobuf.Struct + (*durationpb.Duration)(nil), // 42: google.protobuf.Duration + (*v1.Geometry)(nil), // 43: viam.common.v1.Geometry + (*LogEntry)(nil), // 44: viam.app.v1.LogEntry } var file_app_v1_robot_proto_depIdxs = []int32{ 4, // 0: viam.app.v1.RobotConfig.cloud:type_name -> viam.app.v1.CloudConfig - 18, // 1: viam.app.v1.RobotConfig.remotes:type_name -> viam.app.v1.RemoteConfig + 19, // 1: viam.app.v1.RobotConfig.remotes:type_name -> viam.app.v1.RemoteConfig 5, // 2: viam.app.v1.RobotConfig.components:type_name -> viam.app.v1.ComponentConfig 7, // 3: viam.app.v1.RobotConfig.processes:type_name -> viam.app.v1.ProcessConfig 8, // 4: viam.app.v1.RobotConfig.services:type_name -> viam.app.v1.ServiceConfig 9, // 5: viam.app.v1.RobotConfig.network:type_name -> viam.app.v1.NetworkConfig 11, // 6: viam.app.v1.RobotConfig.auth:type_name -> viam.app.v1.AuthConfig - 29, // 7: viam.app.v1.RobotConfig.modules:type_name -> viam.app.v1.ModuleConfig - 30, // 8: viam.app.v1.RobotConfig.packages:type_name -> viam.app.v1.PackageConfig + 30, // 7: viam.app.v1.RobotConfig.modules:type_name -> viam.app.v1.ModuleConfig + 31, // 8: viam.app.v1.RobotConfig.packages:type_name -> viam.app.v1.PackageConfig 2, // 9: viam.app.v1.CloudConfig.location_secrets:type_name -> viam.app.v1.LocationSecret 15, // 10: viam.app.v1.ComponentConfig.frame:type_name -> viam.app.v1.Frame 6, // 11: viam.app.v1.ComponentConfig.service_configs:type_name -> viam.app.v1.ResourceLevelServiceConfig - 40, // 12: viam.app.v1.ComponentConfig.attributes:type_name -> google.protobuf.Struct - 40, // 13: viam.app.v1.ResourceLevelServiceConfig.attributes:type_name -> google.protobuf.Struct - 41, // 14: viam.app.v1.ProcessConfig.stop_timeout:type_name -> google.protobuf.Duration - 31, // 15: viam.app.v1.ProcessConfig.env:type_name -> viam.app.v1.ProcessConfig.EnvEntry - 40, // 16: viam.app.v1.ServiceConfig.attributes:type_name -> google.protobuf.Struct - 6, // 17: viam.app.v1.ServiceConfig.service_configs:type_name -> viam.app.v1.ResourceLevelServiceConfig - 10, // 18: viam.app.v1.NetworkConfig.sessions:type_name -> viam.app.v1.SessionsConfig - 41, // 19: viam.app.v1.SessionsConfig.heartbeat_window:type_name -> google.protobuf.Duration - 14, // 20: viam.app.v1.AuthConfig.handlers:type_name -> viam.app.v1.AuthHandlerConfig - 13, // 21: viam.app.v1.AuthConfig.external_auth_config:type_name -> viam.app.v1.ExternalAuthConfig - 40, // 22: viam.app.v1.JWKSFile.json:type_name -> google.protobuf.Struct - 12, // 23: viam.app.v1.ExternalAuthConfig.jwks:type_name -> viam.app.v1.JWKSFile - 0, // 24: viam.app.v1.AuthHandlerConfig.type:type_name -> viam.app.v1.CredentialsType - 40, // 25: viam.app.v1.AuthHandlerConfig.config:type_name -> google.protobuf.Struct - 16, // 26: viam.app.v1.Frame.translation:type_name -> viam.app.v1.Translation - 17, // 27: viam.app.v1.Frame.orientation:type_name -> viam.app.v1.Orientation - 42, // 28: viam.app.v1.Frame.geometry:type_name -> viam.common.v1.Geometry - 32, // 29: viam.app.v1.Orientation.no_orientation:type_name -> viam.app.v1.Orientation.NoOrientation - 33, // 30: viam.app.v1.Orientation.vector_radians:type_name -> viam.app.v1.Orientation.OrientationVectorRadians - 34, // 31: viam.app.v1.Orientation.vector_degrees:type_name -> viam.app.v1.Orientation.OrientationVectorDegrees - 35, // 32: viam.app.v1.Orientation.euler_angles:type_name -> viam.app.v1.Orientation.EulerAngles - 36, // 33: viam.app.v1.Orientation.axis_angles:type_name -> viam.app.v1.Orientation.AxisAngles - 37, // 34: viam.app.v1.Orientation.quaternion:type_name -> viam.app.v1.Orientation.Quaternion - 15, // 35: viam.app.v1.RemoteConfig.frame:type_name -> viam.app.v1.Frame - 19, // 36: viam.app.v1.RemoteConfig.auth:type_name -> viam.app.v1.RemoteAuth - 41, // 37: viam.app.v1.RemoteConfig.connection_check_interval:type_name -> google.protobuf.Duration - 41, // 38: viam.app.v1.RemoteConfig.reconnect_interval:type_name -> google.protobuf.Duration - 6, // 39: viam.app.v1.RemoteConfig.service_configs:type_name -> viam.app.v1.ResourceLevelServiceConfig - 38, // 40: viam.app.v1.RemoteAuth.credentials:type_name -> viam.app.v1.RemoteAuth.Credentials - 20, // 41: viam.app.v1.ConfigRequest.agent_info:type_name -> viam.app.v1.AgentInfo - 1, // 42: viam.app.v1.ConfigResponse.config:type_name -> viam.app.v1.RobotConfig - 43, // 43: viam.app.v1.LogRequest.logs:type_name -> viam.app.v1.LogEntry - 41, // 44: viam.app.v1.NeedsRestartResponse.restart_check_interval:type_name -> google.protobuf.Duration - 39, // 45: viam.app.v1.ModuleConfig.env:type_name -> viam.app.v1.ModuleConfig.EnvEntry - 3, // 46: viam.app.v1.ModuleConfig.status:type_name -> viam.app.v1.AppValidationStatus - 3, // 47: viam.app.v1.PackageConfig.status:type_name -> viam.app.v1.AppValidationStatus - 0, // 48: viam.app.v1.RemoteAuth.Credentials.type:type_name -> viam.app.v1.CredentialsType - 21, // 49: viam.app.v1.RobotService.Config:input_type -> viam.app.v1.ConfigRequest - 23, // 50: viam.app.v1.RobotService.Certificate:input_type -> viam.app.v1.CertificateRequest - 25, // 51: viam.app.v1.RobotService.Log:input_type -> viam.app.v1.LogRequest - 27, // 52: viam.app.v1.RobotService.NeedsRestart:input_type -> viam.app.v1.NeedsRestartRequest - 22, // 53: viam.app.v1.RobotService.Config:output_type -> viam.app.v1.ConfigResponse - 24, // 54: viam.app.v1.RobotService.Certificate:output_type -> viam.app.v1.CertificateResponse - 26, // 55: viam.app.v1.RobotService.Log:output_type -> viam.app.v1.LogResponse - 28, // 56: viam.app.v1.RobotService.NeedsRestart:output_type -> viam.app.v1.NeedsRestartResponse - 53, // [53:57] is the sub-list for method output_type - 49, // [49:53] is the sub-list for method input_type - 49, // [49:49] is the sub-list for extension type_name - 49, // [49:49] is the sub-list for extension extendee - 0, // [0:49] is the sub-list for field type_name + 41, // 12: viam.app.v1.ComponentConfig.attributes:type_name -> google.protobuf.Struct + 16, // 13: viam.app.v1.ComponentConfig.log_configuration:type_name -> viam.app.v1.LogConfiguration + 41, // 14: viam.app.v1.ResourceLevelServiceConfig.attributes:type_name -> google.protobuf.Struct + 42, // 15: viam.app.v1.ProcessConfig.stop_timeout:type_name -> google.protobuf.Duration + 32, // 16: viam.app.v1.ProcessConfig.env:type_name -> viam.app.v1.ProcessConfig.EnvEntry + 41, // 17: viam.app.v1.ServiceConfig.attributes:type_name -> google.protobuf.Struct + 6, // 18: viam.app.v1.ServiceConfig.service_configs:type_name -> viam.app.v1.ResourceLevelServiceConfig + 10, // 19: viam.app.v1.NetworkConfig.sessions:type_name -> viam.app.v1.SessionsConfig + 42, // 20: viam.app.v1.SessionsConfig.heartbeat_window:type_name -> google.protobuf.Duration + 14, // 21: viam.app.v1.AuthConfig.handlers:type_name -> viam.app.v1.AuthHandlerConfig + 13, // 22: viam.app.v1.AuthConfig.external_auth_config:type_name -> viam.app.v1.ExternalAuthConfig + 41, // 23: viam.app.v1.JWKSFile.json:type_name -> google.protobuf.Struct + 12, // 24: viam.app.v1.ExternalAuthConfig.jwks:type_name -> viam.app.v1.JWKSFile + 0, // 25: viam.app.v1.AuthHandlerConfig.type:type_name -> viam.app.v1.CredentialsType + 41, // 26: viam.app.v1.AuthHandlerConfig.config:type_name -> google.protobuf.Struct + 17, // 27: viam.app.v1.Frame.translation:type_name -> viam.app.v1.Translation + 18, // 28: viam.app.v1.Frame.orientation:type_name -> viam.app.v1.Orientation + 43, // 29: viam.app.v1.Frame.geometry:type_name -> viam.common.v1.Geometry + 33, // 30: viam.app.v1.Orientation.no_orientation:type_name -> viam.app.v1.Orientation.NoOrientation + 34, // 31: viam.app.v1.Orientation.vector_radians:type_name -> viam.app.v1.Orientation.OrientationVectorRadians + 35, // 32: viam.app.v1.Orientation.vector_degrees:type_name -> viam.app.v1.Orientation.OrientationVectorDegrees + 36, // 33: viam.app.v1.Orientation.euler_angles:type_name -> viam.app.v1.Orientation.EulerAngles + 37, // 34: viam.app.v1.Orientation.axis_angles:type_name -> viam.app.v1.Orientation.AxisAngles + 38, // 35: viam.app.v1.Orientation.quaternion:type_name -> viam.app.v1.Orientation.Quaternion + 15, // 36: viam.app.v1.RemoteConfig.frame:type_name -> viam.app.v1.Frame + 20, // 37: viam.app.v1.RemoteConfig.auth:type_name -> viam.app.v1.RemoteAuth + 42, // 38: viam.app.v1.RemoteConfig.connection_check_interval:type_name -> google.protobuf.Duration + 42, // 39: viam.app.v1.RemoteConfig.reconnect_interval:type_name -> google.protobuf.Duration + 6, // 40: viam.app.v1.RemoteConfig.service_configs:type_name -> viam.app.v1.ResourceLevelServiceConfig + 39, // 41: viam.app.v1.RemoteAuth.credentials:type_name -> viam.app.v1.RemoteAuth.Credentials + 21, // 42: viam.app.v1.ConfigRequest.agent_info:type_name -> viam.app.v1.AgentInfo + 1, // 43: viam.app.v1.ConfigResponse.config:type_name -> viam.app.v1.RobotConfig + 44, // 44: viam.app.v1.LogRequest.logs:type_name -> viam.app.v1.LogEntry + 42, // 45: viam.app.v1.NeedsRestartResponse.restart_check_interval:type_name -> google.protobuf.Duration + 40, // 46: viam.app.v1.ModuleConfig.env:type_name -> viam.app.v1.ModuleConfig.EnvEntry + 3, // 47: viam.app.v1.ModuleConfig.status:type_name -> viam.app.v1.AppValidationStatus + 3, // 48: viam.app.v1.PackageConfig.status:type_name -> viam.app.v1.AppValidationStatus + 0, // 49: viam.app.v1.RemoteAuth.Credentials.type:type_name -> viam.app.v1.CredentialsType + 22, // 50: viam.app.v1.RobotService.Config:input_type -> viam.app.v1.ConfigRequest + 24, // 51: viam.app.v1.RobotService.Certificate:input_type -> viam.app.v1.CertificateRequest + 26, // 52: viam.app.v1.RobotService.Log:input_type -> viam.app.v1.LogRequest + 28, // 53: viam.app.v1.RobotService.NeedsRestart:input_type -> viam.app.v1.NeedsRestartRequest + 23, // 54: viam.app.v1.RobotService.Config:output_type -> viam.app.v1.ConfigResponse + 25, // 55: viam.app.v1.RobotService.Certificate:output_type -> viam.app.v1.CertificateResponse + 27, // 56: viam.app.v1.RobotService.Log:output_type -> viam.app.v1.LogResponse + 29, // 57: viam.app.v1.RobotService.NeedsRestart:output_type -> viam.app.v1.NeedsRestartResponse + 54, // [54:58] is the sub-list for method output_type + 50, // [50:54] is the sub-list for method input_type + 50, // [50:50] is the sub-list for extension type_name + 50, // [50:50] is the sub-list for extension extendee + 0, // [0:50] is the sub-list for field type_name } func init() { file_app_v1_robot_proto_init() } @@ -3521,7 +3585,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Translation); i { + switch v := v.(*LogConfiguration); i { case 0: return &v.state case 1: @@ -3533,7 +3597,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Orientation); i { + switch v := v.(*Translation); i { case 0: return &v.state case 1: @@ -3545,7 +3609,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoteConfig); i { + switch v := v.(*Orientation); i { case 0: return &v.state case 1: @@ -3557,7 +3621,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoteAuth); i { + switch v := v.(*RemoteConfig); i { case 0: return &v.state case 1: @@ -3569,7 +3633,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AgentInfo); i { + switch v := v.(*RemoteAuth); i { case 0: return &v.state case 1: @@ -3581,7 +3645,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigRequest); i { + switch v := v.(*AgentInfo); i { case 0: return &v.state case 1: @@ -3593,7 +3657,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigResponse); i { + switch v := v.(*ConfigRequest); i { case 0: return &v.state case 1: @@ -3605,7 +3669,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CertificateRequest); i { + switch v := v.(*ConfigResponse); i { case 0: return &v.state case 1: @@ -3617,7 +3681,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CertificateResponse); i { + switch v := v.(*CertificateRequest); i { case 0: return &v.state case 1: @@ -3629,7 +3693,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogRequest); i { + switch v := v.(*CertificateResponse); i { case 0: return &v.state case 1: @@ -3641,7 +3705,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogResponse); i { + switch v := v.(*LogRequest); i { case 0: return &v.state case 1: @@ -3653,7 +3717,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NeedsRestartRequest); i { + switch v := v.(*LogResponse); i { case 0: return &v.state case 1: @@ -3665,7 +3729,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NeedsRestartResponse); i { + switch v := v.(*NeedsRestartRequest); i { case 0: return &v.state case 1: @@ -3677,7 +3741,7 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig); i { + switch v := v.(*NeedsRestartResponse); i { case 0: return &v.state case 1: @@ -3689,6 +3753,18 @@ func file_app_v1_robot_proto_init() { } } file_app_v1_robot_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModuleConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_app_v1_robot_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PackageConfig); i { case 0: return &v.state @@ -3700,7 +3776,7 @@ func file_app_v1_robot_proto_init() { return nil } } - file_app_v1_robot_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_app_v1_robot_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Orientation_NoOrientation); i { case 0: return &v.state @@ -3712,7 +3788,7 @@ func file_app_v1_robot_proto_init() { return nil } } - file_app_v1_robot_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_app_v1_robot_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Orientation_OrientationVectorRadians); i { case 0: return &v.state @@ -3724,7 +3800,7 @@ func file_app_v1_robot_proto_init() { return nil } } - file_app_v1_robot_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_app_v1_robot_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Orientation_OrientationVectorDegrees); i { case 0: return &v.state @@ -3736,7 +3812,7 @@ func file_app_v1_robot_proto_init() { return nil } } - file_app_v1_robot_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_app_v1_robot_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Orientation_EulerAngles); i { case 0: return &v.state @@ -3748,7 +3824,7 @@ func file_app_v1_robot_proto_init() { return nil } } - file_app_v1_robot_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_app_v1_robot_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Orientation_AxisAngles); i { case 0: return &v.state @@ -3760,7 +3836,7 @@ func file_app_v1_robot_proto_init() { return nil } } - file_app_v1_robot_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_app_v1_robot_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Orientation_Quaternion); i { case 0: return &v.state @@ -3772,7 +3848,7 @@ func file_app_v1_robot_proto_init() { return nil } } - file_app_v1_robot_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_app_v1_robot_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoteAuth_Credentials); i { case 0: return &v.state @@ -3787,7 +3863,7 @@ func file_app_v1_robot_proto_init() { } file_app_v1_robot_proto_msgTypes[0].OneofWrappers = []interface{}{} file_app_v1_robot_proto_msgTypes[10].OneofWrappers = []interface{}{} - file_app_v1_robot_proto_msgTypes[16].OneofWrappers = []interface{}{ + file_app_v1_robot_proto_msgTypes[17].OneofWrappers = []interface{}{ (*Orientation_NoOrientation_)(nil), (*Orientation_VectorRadians)(nil), (*Orientation_VectorDegrees)(nil), @@ -3795,15 +3871,15 @@ func file_app_v1_robot_proto_init() { (*Orientation_AxisAngles_)(nil), (*Orientation_Quaternion_)(nil), } - file_app_v1_robot_proto_msgTypes[19].OneofWrappers = []interface{}{} file_app_v1_robot_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_app_v1_robot_proto_msgTypes[21].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_app_v1_robot_proto_rawDesc, NumEnums: 1, - NumMessages: 39, + NumMessages: 40, NumExtensions: 0, NumServices: 1, }, diff --git a/component/arm/v1/arm.pb.gw.go b/component/arm/v1/arm.pb.gw.go index 90c742bb6..e9d51a96f 100644 --- a/component/arm/v1/arm.pb.gw.go +++ b/component/arm/v1/arm.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -439,7 +439,7 @@ var ( ) func request_ArmService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client ArmServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -472,7 +472,7 @@ func request_ArmService_DoCommand_0(ctx context.Context, marshaler runtime.Marsh } func local_request_ArmService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server ArmServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -509,7 +509,7 @@ var ( ) func request_ArmService_GetKinematics_0(ctx context.Context, marshaler runtime.Marshaler, client ArmServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetKinematicsRequest + var protoReq v1.GetKinematicsRequest var metadata runtime.ServerMetadata var ( @@ -542,7 +542,7 @@ func request_ArmService_GetKinematics_0(ctx context.Context, marshaler runtime.M } func local_request_ArmService_GetKinematics_0(ctx context.Context, marshaler runtime.Marshaler, server ArmServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetKinematicsRequest + var protoReq v1.GetKinematicsRequest var metadata runtime.ServerMetadata var ( @@ -579,7 +579,7 @@ var ( ) func request_ArmService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client ArmServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -612,7 +612,7 @@ func request_ArmService_GetGeometries_0(ctx context.Context, marshaler runtime.M } func local_request_ArmService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server ArmServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/encoder/v1/encoder.pb.gw.go b/component/encoder/v1/encoder.pb.gw.go index ef911f15d..4fa63db37 100644 --- a/component/encoder/v1/encoder.pb.gw.go +++ b/component/encoder/v1/encoder.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "go.viam.com/api/common/v1" + v1_0 "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -247,7 +247,7 @@ var ( ) func request_EncoderService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client EncoderServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -280,7 +280,7 @@ func request_EncoderService_DoCommand_0(ctx context.Context, marshaler runtime.M } func local_request_EncoderService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server EncoderServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -317,7 +317,7 @@ var ( ) func request_EncoderService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client EncoderServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetGeometriesRequest + var protoReq v1_0.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -350,7 +350,7 @@ func request_EncoderService_GetGeometries_0(ctx context.Context, marshaler runti } func local_request_EncoderService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server EncoderServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetGeometriesRequest + var protoReq v1_0.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/gripper/v1/gripper.pb.gw.go b/component/gripper/v1/gripper.pb.gw.go index d732daf0a..b432b0c7e 100644 --- a/component/gripper/v1/gripper.pb.gw.go +++ b/component/gripper/v1/gripper.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -299,7 +299,7 @@ var ( ) func request_GripperService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client GripperServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -332,7 +332,7 @@ func request_GripperService_DoCommand_0(ctx context.Context, marshaler runtime.M } func local_request_GripperService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server GripperServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -369,7 +369,7 @@ var ( ) func request_GripperService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client GripperServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -402,7 +402,7 @@ func request_GripperService_GetGeometries_0(ctx context.Context, marshaler runti } func local_request_GripperService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server GripperServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/inputcontroller/v1/input_controller.pb.gw.go b/component/inputcontroller/v1/input_controller.pb.gw.go index 65d0cf631..199f00f1d 100644 --- a/component/inputcontroller/v1/input_controller.pb.gw.go +++ b/component/inputcontroller/v1/input_controller.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -292,7 +292,7 @@ var ( ) func request_InputControllerService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client InputControllerServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -325,7 +325,7 @@ func request_InputControllerService_DoCommand_0(ctx context.Context, marshaler r } func local_request_InputControllerService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server InputControllerServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -362,7 +362,7 @@ var ( ) func request_InputControllerService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, client InputControllerServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( @@ -395,7 +395,7 @@ func request_InputControllerService_GetGeometries_0(ctx context.Context, marshal } func local_request_InputControllerService_GetGeometries_0(ctx context.Context, marshaler runtime.Marshaler, server InputControllerServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.GetGeometriesRequest + var protoReq v1.GetGeometriesRequest var metadata runtime.ServerMetadata var ( diff --git a/component/powersensor/v1/powersensor.pb.gw.go b/component/powersensor/v1/powersensor.pb.gw.go index c60c7e312..9a80a7e4a 100644 --- a/component/powersensor/v1/powersensor.pb.gw.go +++ b/component/powersensor/v1/powersensor.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "go.viam.com/api/common/v1" + v1_0 "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -247,7 +247,7 @@ var ( ) func request_PowerSensorService_GetReadings_0(ctx context.Context, marshaler runtime.Marshaler, client PowerSensorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetReadingsRequest + var protoReq v1_0.GetReadingsRequest var metadata runtime.ServerMetadata var ( @@ -280,7 +280,7 @@ func request_PowerSensorService_GetReadings_0(ctx context.Context, marshaler run } func local_request_PowerSensorService_GetReadings_0(ctx context.Context, marshaler runtime.Marshaler, server PowerSensorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.GetReadingsRequest + var protoReq v1_0.GetReadingsRequest var metadata runtime.ServerMetadata var ( @@ -317,7 +317,7 @@ var ( ) func request_PowerSensorService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client PowerSensorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -350,7 +350,7 @@ func request_PowerSensorService_DoCommand_0(ctx context.Context, marshaler runti } func local_request_PowerSensorService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server PowerSensorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1.DoCommandRequest + var protoReq v1_0.DoCommandRequest var metadata runtime.ServerMetadata var ( diff --git a/gen/js/app/v1/robot_pb.d.ts b/gen/js/app/v1/robot_pb.d.ts index 167549c50..c3265b835 100644 --- a/gen/js/app/v1/robot_pb.d.ts +++ b/gen/js/app/v1/robot_pb.d.ts @@ -224,6 +224,11 @@ export class ComponentConfig extends jspb.Message { getApi(): string; setApi(value: string): void; + hasLogConfiguration(): boolean; + clearLogConfiguration(): void; + getLogConfiguration(): LogConfiguration | undefined; + setLogConfiguration(value?: LogConfiguration): void; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): ComponentConfig.AsObject; static toObject(includeInstance: boolean, msg: ComponentConfig): ComponentConfig.AsObject; @@ -245,6 +250,7 @@ export namespace ComponentConfig { serviceConfigsList: Array, attributes?: google_protobuf_struct_pb.Struct.AsObject, api: string, + logConfiguration?: LogConfiguration.AsObject, } } @@ -585,6 +591,26 @@ export namespace Frame { } } +export class LogConfiguration extends jspb.Message { + getLevel(): string; + setLevel(value: string): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): LogConfiguration.AsObject; + static toObject(includeInstance: boolean, msg: LogConfiguration): LogConfiguration.AsObject; + static extensions: {[key: number]: jspb.ExtensionFieldInfo}; + static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; + static serializeBinaryToWriter(message: LogConfiguration, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): LogConfiguration; + static deserializeBinaryFromReader(message: LogConfiguration, reader: jspb.BinaryReader): LogConfiguration; +} + +export namespace LogConfiguration { + export type AsObject = { + level: string, + } +} + export class Translation extends jspb.Message { getX(): number; setX(value: number): void; diff --git a/gen/js/app/v1/robot_pb.js b/gen/js/app/v1/robot_pb.js index 293eb2923..a2d4cbf2c 100644 --- a/gen/js/app/v1/robot_pb.js +++ b/gen/js/app/v1/robot_pb.js @@ -40,6 +40,7 @@ goog.exportSymbol('proto.viam.app.v1.ExternalAuthConfig', null, global); goog.exportSymbol('proto.viam.app.v1.Frame', null, global); goog.exportSymbol('proto.viam.app.v1.JWKSFile', null, global); goog.exportSymbol('proto.viam.app.v1.LocationSecret', null, global); +goog.exportSymbol('proto.viam.app.v1.LogConfiguration', null, global); goog.exportSymbol('proto.viam.app.v1.LogRequest', null, global); goog.exportSymbol('proto.viam.app.v1.LogResponse', null, global); goog.exportSymbol('proto.viam.app.v1.ModuleConfig', null, global); @@ -379,6 +380,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.viam.app.v1.Frame.displayName = 'proto.viam.app.v1.Frame'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.viam.app.v1.LogConfiguration = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.viam.app.v1.LogConfiguration, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.viam.app.v1.LogConfiguration.displayName = 'proto.viam.app.v1.LogConfiguration'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -2253,7 +2275,8 @@ proto.viam.app.v1.ComponentConfig.toObject = function(includeInstance, msg) { serviceConfigsList: jspb.Message.toObjectList(msg.getServiceConfigsList(), proto.viam.app.v1.ResourceLevelServiceConfig.toObject, includeInstance), attributes: (f = msg.getAttributes()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f), - api: jspb.Message.getFieldWithDefault(msg, 9, "") + api: jspb.Message.getFieldWithDefault(msg, 9, ""), + logConfiguration: (f = msg.getLogConfiguration()) && proto.viam.app.v1.LogConfiguration.toObject(includeInstance, f) }; if (includeInstance) { @@ -2329,6 +2352,11 @@ proto.viam.app.v1.ComponentConfig.deserializeBinaryFromReader = function(msg, re var value = /** @type {string} */ (reader.readString()); msg.setApi(value); break; + case 10: + var value = new proto.viam.app.v1.LogConfiguration; + reader.readMessage(value,proto.viam.app.v1.LogConfiguration.deserializeBinaryFromReader); + msg.setLogConfiguration(value); + break; default: reader.skipField(); break; @@ -2424,6 +2452,14 @@ proto.viam.app.v1.ComponentConfig.serializeBinaryToWriter = function(message, wr f ); } + f = message.getLogConfiguration(); + if (f != null) { + writer.writeMessage( + 10, + f, + proto.viam.app.v1.LogConfiguration.serializeBinaryToWriter + ); + } }; @@ -2666,6 +2702,43 @@ proto.viam.app.v1.ComponentConfig.prototype.setApi = function(value) { }; +/** + * optional LogConfiguration log_configuration = 10; + * @return {?proto.viam.app.v1.LogConfiguration} + */ +proto.viam.app.v1.ComponentConfig.prototype.getLogConfiguration = function() { + return /** @type{?proto.viam.app.v1.LogConfiguration} */ ( + jspb.Message.getWrapperField(this, proto.viam.app.v1.LogConfiguration, 10)); +}; + + +/** + * @param {?proto.viam.app.v1.LogConfiguration|undefined} value + * @return {!proto.viam.app.v1.ComponentConfig} returns this +*/ +proto.viam.app.v1.ComponentConfig.prototype.setLogConfiguration = function(value) { + return jspb.Message.setWrapperField(this, 10, value); +}; + + +/** + * Clears the message field making it undefined. + * @return {!proto.viam.app.v1.ComponentConfig} returns this + */ +proto.viam.app.v1.ComponentConfig.prototype.clearLogConfiguration = function() { + return this.setLogConfiguration(undefined); +}; + + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.viam.app.v1.ComponentConfig.prototype.hasLogConfiguration = function() { + return jspb.Message.getField(this, 10) != null; +}; + + @@ -5128,6 +5201,136 @@ proto.viam.app.v1.Frame.prototype.hasGeometry = function() { +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.viam.app.v1.LogConfiguration.prototype.toObject = function(opt_includeInstance) { + return proto.viam.app.v1.LogConfiguration.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.viam.app.v1.LogConfiguration} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.LogConfiguration.toObject = function(includeInstance, msg) { + var f, obj = { + level: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.viam.app.v1.LogConfiguration} + */ +proto.viam.app.v1.LogConfiguration.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.viam.app.v1.LogConfiguration; + return proto.viam.app.v1.LogConfiguration.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.viam.app.v1.LogConfiguration} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.viam.app.v1.LogConfiguration} + */ +proto.viam.app.v1.LogConfiguration.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setLevel(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.viam.app.v1.LogConfiguration.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.viam.app.v1.LogConfiguration.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.viam.app.v1.LogConfiguration} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.viam.app.v1.LogConfiguration.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getLevel(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string level = 1; + * @return {string} + */ +proto.viam.app.v1.LogConfiguration.prototype.getLevel = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.viam.app.v1.LogConfiguration} returns this + */ +proto.viam.app.v1.LogConfiguration.prototype.setLevel = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. diff --git a/proto/viam/app/v1/robot.proto b/proto/viam/app/v1/robot.proto index e675a2071..2ba6e16e8 100644 --- a/proto/viam/app/v1/robot.proto +++ b/proto/viam/app/v1/robot.proto @@ -77,6 +77,7 @@ message ComponentConfig { repeated ResourceLevelServiceConfig service_configs = 7 [(tagger.v1.tags) = "json:\"service_config\""]; google.protobuf.Struct attributes = 8; string api = 9; + LogConfiguration log_configuration = 10; } // A ResourceLevelServiceConfig describes component or remote configuration for a service. @@ -153,6 +154,10 @@ message Frame { common.v1.Geometry geometry = 4; } +message LogConfiguration { + string level = 1; +} + message Translation { double x = 1; double y = 2; diff --git a/service/datamanager/v1/data_manager.pb.gw.go b/service/datamanager/v1/data_manager.pb.gw.go index 5a7e61ab2..5f497f653 100644 --- a/service/datamanager/v1/data_manager.pb.gw.go +++ b/service/datamanager/v1/data_manager.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -107,7 +107,7 @@ var ( ) func request_DataManagerService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client DataManagerServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -140,7 +140,7 @@ func request_DataManagerService_DoCommand_0(ctx context.Context, marshaler runti } func local_request_DataManagerService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server DataManagerServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( diff --git a/service/motion/v1/motion.pb.gw.go b/service/motion/v1/motion.pb.gw.go index 91bc2a4b0..aa33b532f 100644 --- a/service/motion/v1/motion.pb.gw.go +++ b/service/motion/v1/motion.pb.gw.go @@ -15,7 +15,7 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - v1_0 "go.viam.com/api/common/v1" + "go.viam.com/api/common/v1" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" @@ -597,7 +597,7 @@ var ( ) func request_MotionService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, client MotionServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var ( @@ -630,7 +630,7 @@ func request_MotionService_DoCommand_0(ctx context.Context, marshaler runtime.Ma } func local_request_MotionService_DoCommand_0(ctx context.Context, marshaler runtime.Marshaler, server MotionServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq v1_0.DoCommandRequest + var protoReq v1.DoCommandRequest var metadata runtime.ServerMetadata var (