diff --git a/common/v1/common.pb.go b/common/v1/common.pb.go index 3e6d07a56..2cc834669 100644 --- a/common/v1/common.pb.go +++ b/common/v1/common.pb.go @@ -638,6 +638,83 @@ func (x *Capsule) GetLengthMm() float64 { return 0 } +// Cylinder is a finite right circular cylinder. Its central axis is the local +// frame's Z axis and its pose is at its center. Unlike a capsule, a cylinder has +// flat end caps and may be arbitrarily flat (no length >= 2*radius constraint). +type Cylinder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RadiusMm float64 `protobuf:"fixed64,1,opt,name=radius_mm,json=radiusMm,proto3" json:"radius_mm,omitempty"` + // Total height, cap to cap. + HeightMm float64 `protobuf:"fixed64,2,opt,name=height_mm,json=heightMm,proto3" json:"height_mm,omitempty"` + // When true the flat end caps are omitted, producing an open tube: a + // cylindrical surface, which models open containers a robot reaches into. + // + // Phrased negatively so the proto3 default (false) is the solid cylinder, + // which is the overwhelmingly common case and matches what a cylinder means + // in URDF and SDF. A consumer that ignores this field reads every cylinder as + // solid. + // + // This is a defaulting convention, not a safety guarantee: whether solid or + // open is the conservative reading depends on the consumer's collision + // semantics, so producers should set the field rather than rely on the + // default carrying meaning. + Uncapped bool `protobuf:"varint,3,opt,name=uncapped,proto3" json:"uncapped,omitempty"` +} + +func (x *Cylinder) Reset() { + *x = Cylinder{} + mi := &file_common_v1_common_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Cylinder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Cylinder) ProtoMessage() {} + +func (x *Cylinder) ProtoReflect() protoreflect.Message { + mi := &file_common_v1_common_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Cylinder.ProtoReflect.Descriptor instead. +func (*Cylinder) Descriptor() ([]byte, []int) { + return file_common_v1_common_proto_rawDescGZIP(), []int{8} +} + +func (x *Cylinder) GetRadiusMm() float64 { + if x != nil { + return x.RadiusMm + } + return 0 +} + +func (x *Cylinder) GetHeightMm() float64 { + if x != nil { + return x.HeightMm + } + return 0 +} + +func (x *Cylinder) GetUncapped() bool { + if x != nil { + return x.Uncapped + } + return false +} + // RectangularPrism contains a Vector3 field corresponding to the X, Y, Z dimensions of the prism in mms // These dimensions are with respect to the referenceframe in which the RectangularPrism is defined type RectangularPrism struct { @@ -650,7 +727,7 @@ type RectangularPrism struct { func (x *RectangularPrism) Reset() { *x = RectangularPrism{} - mi := &file_common_v1_common_proto_msgTypes[8] + mi := &file_common_v1_common_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -662,7 +739,7 @@ func (x *RectangularPrism) String() string { func (*RectangularPrism) ProtoMessage() {} func (x *RectangularPrism) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[8] + mi := &file_common_v1_common_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -675,7 +752,7 @@ func (x *RectangularPrism) ProtoReflect() protoreflect.Message { // Deprecated: Use RectangularPrism.ProtoReflect.Descriptor instead. func (*RectangularPrism) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{8} + return file_common_v1_common_proto_rawDescGZIP(), []int{9} } func (x *RectangularPrism) GetDimsMm() *Vector3 { @@ -698,7 +775,7 @@ type Mesh struct { func (x *Mesh) Reset() { *x = Mesh{} - mi := &file_common_v1_common_proto_msgTypes[9] + mi := &file_common_v1_common_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -710,7 +787,7 @@ func (x *Mesh) String() string { func (*Mesh) ProtoMessage() {} func (x *Mesh) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[9] + mi := &file_common_v1_common_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -723,7 +800,7 @@ func (x *Mesh) ProtoReflect() protoreflect.Message { // Deprecated: Use Mesh.ProtoReflect.Descriptor instead. func (*Mesh) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{9} + return file_common_v1_common_proto_rawDescGZIP(), []int{10} } func (x *Mesh) GetContentType() string { @@ -750,7 +827,7 @@ type PointCloud struct { func (x *PointCloud) Reset() { *x = PointCloud{} - mi := &file_common_v1_common_proto_msgTypes[10] + mi := &file_common_v1_common_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -762,7 +839,7 @@ func (x *PointCloud) String() string { func (*PointCloud) ProtoMessage() {} func (x *PointCloud) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[10] + mi := &file_common_v1_common_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -775,7 +852,7 @@ func (x *PointCloud) ProtoReflect() protoreflect.Message { // Deprecated: Use PointCloud.ProtoReflect.Descriptor instead. func (*PointCloud) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{10} + return file_common_v1_common_proto_rawDescGZIP(), []int{11} } func (x *PointCloud) GetPointCloud() []byte { @@ -802,6 +879,7 @@ type Geometry struct { // *Geometry_Capsule // *Geometry_Mesh // *Geometry_Pointcloud + // *Geometry_Cylinder GeometryType isGeometry_GeometryType `protobuf_oneof:"geometry_type"` // Label of the geometry. If none supplied, will be an empty string. Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` @@ -809,7 +887,7 @@ type Geometry struct { func (x *Geometry) Reset() { *x = Geometry{} - mi := &file_common_v1_common_proto_msgTypes[11] + mi := &file_common_v1_common_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -821,7 +899,7 @@ func (x *Geometry) String() string { func (*Geometry) ProtoMessage() {} func (x *Geometry) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[11] + mi := &file_common_v1_common_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -834,7 +912,7 @@ func (x *Geometry) ProtoReflect() protoreflect.Message { // Deprecated: Use Geometry.ProtoReflect.Descriptor instead. func (*Geometry) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{11} + return file_common_v1_common_proto_rawDescGZIP(), []int{12} } func (x *Geometry) GetCenter() *Pose { @@ -886,6 +964,13 @@ func (x *Geometry) GetPointcloud() *PointCloud { return nil } +func (x *Geometry) GetCylinder() *Cylinder { + if x, ok := x.GetGeometryType().(*Geometry_Cylinder); ok { + return x.Cylinder + } + return nil +} + func (x *Geometry) GetLabel() string { if x != nil { return x.Label @@ -917,6 +1002,10 @@ type Geometry_Pointcloud struct { Pointcloud *PointCloud `protobuf:"bytes,7,opt,name=pointcloud,proto3,oneof"` } +type Geometry_Cylinder struct { + Cylinder *Cylinder `protobuf:"bytes,8,opt,name=cylinder,proto3,oneof"` +} + func (*Geometry_Sphere) isGeometry_GeometryType() {} func (*Geometry_Box) isGeometry_GeometryType() {} @@ -927,6 +1016,8 @@ func (*Geometry_Mesh) isGeometry_GeometryType() {} func (*Geometry_Pointcloud) isGeometry_GeometryType() {} +func (*Geometry_Cylinder) isGeometry_GeometryType() {} + // GeometriesinFrame contains the dimensions of a given geometry, pose of its center point, and the reference frame by which it was // observed. type GeometriesInFrame struct { @@ -942,7 +1033,7 @@ type GeometriesInFrame struct { func (x *GeometriesInFrame) Reset() { *x = GeometriesInFrame{} - mi := &file_common_v1_common_proto_msgTypes[12] + mi := &file_common_v1_common_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -954,7 +1045,7 @@ func (x *GeometriesInFrame) String() string { func (*GeometriesInFrame) ProtoMessage() {} func (x *GeometriesInFrame) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[12] + mi := &file_common_v1_common_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -967,7 +1058,7 @@ func (x *GeometriesInFrame) ProtoReflect() protoreflect.Message { // Deprecated: Use GeometriesInFrame.ProtoReflect.Descriptor instead. func (*GeometriesInFrame) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{12} + return file_common_v1_common_proto_rawDescGZIP(), []int{13} } func (x *GeometriesInFrame) GetReferenceFrame() string { @@ -999,7 +1090,7 @@ type PointCloudObject struct { func (x *PointCloudObject) Reset() { *x = PointCloudObject{} - mi := &file_common_v1_common_proto_msgTypes[13] + mi := &file_common_v1_common_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1011,7 +1102,7 @@ func (x *PointCloudObject) String() string { func (*PointCloudObject) ProtoMessage() {} func (x *PointCloudObject) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[13] + mi := &file_common_v1_common_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1024,7 +1115,7 @@ func (x *PointCloudObject) ProtoReflect() protoreflect.Message { // Deprecated: Use PointCloudObject.ProtoReflect.Descriptor instead. func (*PointCloudObject) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{13} + return file_common_v1_common_proto_rawDescGZIP(), []int{14} } func (x *PointCloudObject) GetPointCloud() []byte { @@ -1052,7 +1143,7 @@ type GeoPoint struct { func (x *GeoPoint) Reset() { *x = GeoPoint{} - mi := &file_common_v1_common_proto_msgTypes[14] + mi := &file_common_v1_common_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1064,7 +1155,7 @@ func (x *GeoPoint) String() string { func (*GeoPoint) ProtoMessage() {} func (x *GeoPoint) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[14] + mi := &file_common_v1_common_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1077,7 +1168,7 @@ func (x *GeoPoint) ProtoReflect() protoreflect.Message { // Deprecated: Use GeoPoint.ProtoReflect.Descriptor instead. func (*GeoPoint) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{14} + return file_common_v1_common_proto_rawDescGZIP(), []int{15} } func (x *GeoPoint) GetLatitude() float64 { @@ -1108,7 +1199,7 @@ type GeoGeometry struct { func (x *GeoGeometry) Reset() { *x = GeoGeometry{} - mi := &file_common_v1_common_proto_msgTypes[15] + mi := &file_common_v1_common_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1120,7 +1211,7 @@ func (x *GeoGeometry) String() string { func (*GeoGeometry) ProtoMessage() {} func (x *GeoGeometry) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[15] + mi := &file_common_v1_common_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1133,7 +1224,7 @@ func (x *GeoGeometry) ProtoReflect() protoreflect.Message { // Deprecated: Use GeoGeometry.ProtoReflect.Descriptor instead. func (*GeoGeometry) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{15} + return file_common_v1_common_proto_rawDescGZIP(), []int{16} } func (x *GeoGeometry) GetLocation() *GeoPoint { @@ -1171,7 +1262,7 @@ type Transform struct { func (x *Transform) Reset() { *x = Transform{} - mi := &file_common_v1_common_proto_msgTypes[16] + mi := &file_common_v1_common_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1183,7 +1274,7 @@ func (x *Transform) String() string { func (*Transform) ProtoMessage() {} func (x *Transform) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[16] + mi := &file_common_v1_common_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1196,7 +1287,7 @@ func (x *Transform) ProtoReflect() protoreflect.Message { // Deprecated: Use Transform.ProtoReflect.Descriptor instead. func (*Transform) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{16} + return file_common_v1_common_proto_rawDescGZIP(), []int{17} } func (x *Transform) GetReferenceFrame() string { @@ -1251,7 +1342,7 @@ type WorldState struct { func (x *WorldState) Reset() { *x = WorldState{} - mi := &file_common_v1_common_proto_msgTypes[17] + mi := &file_common_v1_common_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1263,7 +1354,7 @@ func (x *WorldState) String() string { func (*WorldState) ProtoMessage() {} func (x *WorldState) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[17] + mi := &file_common_v1_common_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1276,7 +1367,7 @@ func (x *WorldState) ProtoReflect() protoreflect.Message { // Deprecated: Use WorldState.ProtoReflect.Descriptor instead. func (*WorldState) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{17} + return file_common_v1_common_proto_rawDescGZIP(), []int{18} } func (x *WorldState) GetObstacles() []*GeometriesInFrame { @@ -1304,7 +1395,7 @@ type ActuatorStatus struct { func (x *ActuatorStatus) Reset() { *x = ActuatorStatus{} - mi := &file_common_v1_common_proto_msgTypes[18] + mi := &file_common_v1_common_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1316,7 +1407,7 @@ func (x *ActuatorStatus) String() string { func (*ActuatorStatus) ProtoMessage() {} func (x *ActuatorStatus) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[18] + mi := &file_common_v1_common_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1329,7 +1420,7 @@ func (x *ActuatorStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ActuatorStatus.ProtoReflect.Descriptor instead. func (*ActuatorStatus) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{18} + return file_common_v1_common_proto_rawDescGZIP(), []int{19} } func (x *ActuatorStatus) GetIsMoving() bool { @@ -1353,7 +1444,7 @@ type ResponseMetadata struct { func (x *ResponseMetadata) Reset() { *x = ResponseMetadata{} - mi := &file_common_v1_common_proto_msgTypes[19] + mi := &file_common_v1_common_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1365,7 +1456,7 @@ func (x *ResponseMetadata) String() string { func (*ResponseMetadata) ProtoMessage() {} func (x *ResponseMetadata) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[19] + mi := &file_common_v1_common_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1378,7 +1469,7 @@ func (x *ResponseMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use ResponseMetadata.ProtoReflect.Descriptor instead. func (*ResponseMetadata) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{19} + return file_common_v1_common_proto_rawDescGZIP(), []int{20} } func (x *ResponseMetadata) GetCapturedAt() *timestamppb.Timestamp { @@ -1400,7 +1491,7 @@ type DoCommandRequest struct { func (x *DoCommandRequest) Reset() { *x = DoCommandRequest{} - mi := &file_common_v1_common_proto_msgTypes[20] + mi := &file_common_v1_common_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1412,7 +1503,7 @@ func (x *DoCommandRequest) String() string { func (*DoCommandRequest) ProtoMessage() {} func (x *DoCommandRequest) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[20] + mi := &file_common_v1_common_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1425,7 +1516,7 @@ func (x *DoCommandRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DoCommandRequest.ProtoReflect.Descriptor instead. func (*DoCommandRequest) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{20} + return file_common_v1_common_proto_rawDescGZIP(), []int{21} } func (x *DoCommandRequest) GetName() string { @@ -1453,7 +1544,7 @@ type DoCommandResponse struct { func (x *DoCommandResponse) Reset() { *x = DoCommandResponse{} - mi := &file_common_v1_common_proto_msgTypes[21] + mi := &file_common_v1_common_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1465,7 +1556,7 @@ func (x *DoCommandResponse) String() string { func (*DoCommandResponse) ProtoMessage() {} func (x *DoCommandResponse) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[21] + mi := &file_common_v1_common_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1478,7 +1569,7 @@ func (x *DoCommandResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DoCommandResponse.ProtoReflect.Descriptor instead. func (*DoCommandResponse) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{21} + return file_common_v1_common_proto_rawDescGZIP(), []int{22} } func (x *DoCommandResponse) GetResult() *structpb.Struct { @@ -1499,7 +1590,7 @@ type GetStatusRequest struct { func (x *GetStatusRequest) Reset() { *x = GetStatusRequest{} - mi := &file_common_v1_common_proto_msgTypes[22] + mi := &file_common_v1_common_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1511,7 +1602,7 @@ func (x *GetStatusRequest) String() string { func (*GetStatusRequest) ProtoMessage() {} func (x *GetStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[22] + mi := &file_common_v1_common_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1524,7 +1615,7 @@ func (x *GetStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStatusRequest.ProtoReflect.Descriptor instead. func (*GetStatusRequest) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{22} + return file_common_v1_common_proto_rawDescGZIP(), []int{23} } func (x *GetStatusRequest) GetName() string { @@ -1545,7 +1636,7 @@ type GetStatusResponse struct { func (x *GetStatusResponse) Reset() { *x = GetStatusResponse{} - mi := &file_common_v1_common_proto_msgTypes[23] + mi := &file_common_v1_common_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1557,7 +1648,7 @@ func (x *GetStatusResponse) String() string { func (*GetStatusResponse) ProtoMessage() {} func (x *GetStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[23] + mi := &file_common_v1_common_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1570,7 +1661,7 @@ func (x *GetStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStatusResponse.ProtoReflect.Descriptor instead. func (*GetStatusResponse) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{23} + return file_common_v1_common_proto_rawDescGZIP(), []int{24} } func (x *GetStatusResponse) GetResult() *structpb.Struct { @@ -1593,7 +1684,7 @@ type GetKinematicsRequest struct { func (x *GetKinematicsRequest) Reset() { *x = GetKinematicsRequest{} - mi := &file_common_v1_common_proto_msgTypes[24] + mi := &file_common_v1_common_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1605,7 +1696,7 @@ func (x *GetKinematicsRequest) String() string { func (*GetKinematicsRequest) ProtoMessage() {} func (x *GetKinematicsRequest) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[24] + mi := &file_common_v1_common_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1618,7 +1709,7 @@ func (x *GetKinematicsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetKinematicsRequest.ProtoReflect.Descriptor instead. func (*GetKinematicsRequest) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{24} + return file_common_v1_common_proto_rawDescGZIP(), []int{25} } func (x *GetKinematicsRequest) GetName() string { @@ -1651,7 +1742,7 @@ type GetKinematicsResponse struct { func (x *GetKinematicsResponse) Reset() { *x = GetKinematicsResponse{} - mi := &file_common_v1_common_proto_msgTypes[25] + mi := &file_common_v1_common_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1663,7 +1754,7 @@ func (x *GetKinematicsResponse) String() string { func (*GetKinematicsResponse) ProtoMessage() {} func (x *GetKinematicsResponse) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[25] + mi := &file_common_v1_common_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1676,7 +1767,7 @@ func (x *GetKinematicsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetKinematicsResponse.ProtoReflect.Descriptor instead. func (*GetKinematicsResponse) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{25} + return file_common_v1_common_proto_rawDescGZIP(), []int{26} } func (x *GetKinematicsResponse) GetFormat() KinematicsFileFormat { @@ -1713,7 +1804,7 @@ type GetGeometriesRequest struct { func (x *GetGeometriesRequest) Reset() { *x = GetGeometriesRequest{} - mi := &file_common_v1_common_proto_msgTypes[26] + mi := &file_common_v1_common_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1725,7 +1816,7 @@ func (x *GetGeometriesRequest) String() string { func (*GetGeometriesRequest) ProtoMessage() {} func (x *GetGeometriesRequest) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[26] + mi := &file_common_v1_common_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1738,7 +1829,7 @@ func (x *GetGeometriesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGeometriesRequest.ProtoReflect.Descriptor instead. func (*GetGeometriesRequest) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{26} + return file_common_v1_common_proto_rawDescGZIP(), []int{27} } func (x *GetGeometriesRequest) GetName() string { @@ -1766,7 +1857,7 @@ type GetGeometriesResponse struct { func (x *GetGeometriesResponse) Reset() { *x = GetGeometriesResponse{} - mi := &file_common_v1_common_proto_msgTypes[27] + mi := &file_common_v1_common_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1778,7 +1869,7 @@ func (x *GetGeometriesResponse) String() string { func (*GetGeometriesResponse) ProtoMessage() {} func (x *GetGeometriesResponse) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[27] + mi := &file_common_v1_common_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1791,7 +1882,7 @@ func (x *GetGeometriesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGeometriesResponse.ProtoReflect.Descriptor instead. func (*GetGeometriesResponse) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{27} + return file_common_v1_common_proto_rawDescGZIP(), []int{28} } func (x *GetGeometriesResponse) GetGeometries() []*Geometry { @@ -1814,7 +1905,7 @@ type Get3DModelsRequest struct { func (x *Get3DModelsRequest) Reset() { *x = Get3DModelsRequest{} - mi := &file_common_v1_common_proto_msgTypes[28] + mi := &file_common_v1_common_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1826,7 +1917,7 @@ func (x *Get3DModelsRequest) String() string { func (*Get3DModelsRequest) ProtoMessage() {} func (x *Get3DModelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[28] + mi := &file_common_v1_common_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1839,7 +1930,7 @@ func (x *Get3DModelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use Get3DModelsRequest.ProtoReflect.Descriptor instead. func (*Get3DModelsRequest) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{28} + return file_common_v1_common_proto_rawDescGZIP(), []int{29} } func (x *Get3DModelsRequest) GetName() string { @@ -1867,7 +1958,7 @@ type Get3DModelsResponse struct { func (x *Get3DModelsResponse) Reset() { *x = Get3DModelsResponse{} - mi := &file_common_v1_common_proto_msgTypes[29] + mi := &file_common_v1_common_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1879,7 +1970,7 @@ func (x *Get3DModelsResponse) String() string { func (*Get3DModelsResponse) ProtoMessage() {} func (x *Get3DModelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[29] + mi := &file_common_v1_common_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1892,7 +1983,7 @@ func (x *Get3DModelsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use Get3DModelsResponse.ProtoReflect.Descriptor instead. func (*Get3DModelsResponse) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{29} + return file_common_v1_common_proto_rawDescGZIP(), []int{30} } func (x *Get3DModelsResponse) GetModels() map[string]*Mesh { @@ -1913,7 +2004,7 @@ type GetWorldPoseResponse struct { func (x *GetWorldPoseResponse) Reset() { *x = GetWorldPoseResponse{} - mi := &file_common_v1_common_proto_msgTypes[30] + mi := &file_common_v1_common_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1925,7 +2016,7 @@ func (x *GetWorldPoseResponse) String() string { func (*GetWorldPoseResponse) ProtoMessage() {} func (x *GetWorldPoseResponse) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[30] + mi := &file_common_v1_common_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1938,7 +2029,7 @@ func (x *GetWorldPoseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWorldPoseResponse.ProtoReflect.Descriptor instead. func (*GetWorldPoseResponse) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{30} + return file_common_v1_common_proto_rawDescGZIP(), []int{31} } func (x *GetWorldPoseResponse) GetPose() *Pose { @@ -1961,7 +2052,7 @@ type GetReadingsRequest struct { func (x *GetReadingsRequest) Reset() { *x = GetReadingsRequest{} - mi := &file_common_v1_common_proto_msgTypes[31] + mi := &file_common_v1_common_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1973,7 +2064,7 @@ func (x *GetReadingsRequest) String() string { func (*GetReadingsRequest) ProtoMessage() {} func (x *GetReadingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[31] + mi := &file_common_v1_common_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1986,7 +2077,7 @@ func (x *GetReadingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetReadingsRequest.ProtoReflect.Descriptor instead. func (*GetReadingsRequest) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{31} + return file_common_v1_common_proto_rawDescGZIP(), []int{32} } func (x *GetReadingsRequest) GetName() string { @@ -2013,7 +2104,7 @@ type GetReadingsResponse struct { func (x *GetReadingsResponse) Reset() { *x = GetReadingsResponse{} - mi := &file_common_v1_common_proto_msgTypes[32] + mi := &file_common_v1_common_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2025,7 +2116,7 @@ func (x *GetReadingsResponse) String() string { func (*GetReadingsResponse) ProtoMessage() {} func (x *GetReadingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[32] + mi := &file_common_v1_common_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2038,7 +2129,7 @@ func (x *GetReadingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetReadingsResponse.ProtoReflect.Descriptor instead. func (*GetReadingsResponse) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{32} + return file_common_v1_common_proto_rawDescGZIP(), []int{33} } func (x *GetReadingsResponse) GetReadings() map[string]*structpb.Value { @@ -2065,7 +2156,7 @@ type LogEntry struct { func (x *LogEntry) Reset() { *x = LogEntry{} - mi := &file_common_v1_common_proto_msgTypes[33] + mi := &file_common_v1_common_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2077,7 +2168,7 @@ func (x *LogEntry) String() string { func (*LogEntry) ProtoMessage() {} func (x *LogEntry) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[33] + mi := &file_common_v1_common_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2090,7 +2181,7 @@ func (x *LogEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use LogEntry.ProtoReflect.Descriptor instead. func (*LogEntry) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{33} + return file_common_v1_common_proto_rawDescGZIP(), []int{34} } func (x *LogEntry) GetHost() string { @@ -2165,7 +2256,7 @@ type AudioInfo struct { func (x *AudioInfo) Reset() { *x = AudioInfo{} - mi := &file_common_v1_common_proto_msgTypes[34] + mi := &file_common_v1_common_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2177,7 +2268,7 @@ func (x *AudioInfo) String() string { func (*AudioInfo) ProtoMessage() {} func (x *AudioInfo) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[34] + mi := &file_common_v1_common_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2190,7 +2281,7 @@ func (x *AudioInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AudioInfo.ProtoReflect.Descriptor instead. func (*AudioInfo) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{34} + return file_common_v1_common_proto_rawDescGZIP(), []int{35} } func (x *AudioInfo) GetCodec() string { @@ -2226,7 +2317,7 @@ type GetPropertiesRequest struct { func (x *GetPropertiesRequest) Reset() { *x = GetPropertiesRequest{} - mi := &file_common_v1_common_proto_msgTypes[35] + mi := &file_common_v1_common_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2238,7 +2329,7 @@ func (x *GetPropertiesRequest) String() string { func (*GetPropertiesRequest) ProtoMessage() {} func (x *GetPropertiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[35] + mi := &file_common_v1_common_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2251,7 +2342,7 @@ func (x *GetPropertiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPropertiesRequest.ProtoReflect.Descriptor instead. func (*GetPropertiesRequest) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{35} + return file_common_v1_common_proto_rawDescGZIP(), []int{36} } func (x *GetPropertiesRequest) GetName() string { @@ -2283,7 +2374,7 @@ type GetPropertiesResponse struct { func (x *GetPropertiesResponse) Reset() { *x = GetPropertiesResponse{} - mi := &file_common_v1_common_proto_msgTypes[36] + mi := &file_common_v1_common_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2295,7 +2386,7 @@ func (x *GetPropertiesResponse) String() string { func (*GetPropertiesResponse) ProtoMessage() {} func (x *GetPropertiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_common_v1_common_proto_msgTypes[36] + mi := &file_common_v1_common_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2308,7 +2399,7 @@ func (x *GetPropertiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPropertiesResponse.ProtoReflect.Descriptor instead. func (*GetPropertiesResponse) Descriptor() ([]byte, []int) { - return file_common_v1_common_proto_rawDescGZIP(), []int{36} + return file_common_v1_common_proto_rawDescGZIP(), []int{37} } func (x *GetPropertiesResponse) GetSupportedCodecs() []string { @@ -2413,256 +2504,266 @@ var file_common_v1_common_proto_rawDesc = []byte{ 0x73, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x5f, 0x6d, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x4d, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x6d, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x6d, 0x22, 0x44, - 0x0a, 0x10, 0x52, 0x65, 0x63, 0x74, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x50, 0x72, 0x69, - 0x73, 0x6d, 0x12, 0x30, 0x0a, 0x07, 0x64, 0x69, 0x6d, 0x73, 0x5f, 0x6d, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x33, 0x52, 0x06, 0x64, 0x69, - 0x6d, 0x73, 0x4d, 0x6d, 0x22, 0x3d, 0x0a, 0x04, 0x4d, 0x65, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x0c, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6d, - 0x65, 0x73, 0x68, 0x22, 0x2d, 0x0a, 0x0a, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x6d, 0x22, 0x60, + 0x0a, 0x08, 0x43, 0x79, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x61, + 0x64, 0x69, 0x75, 0x73, 0x5f, 0x6d, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x72, + 0x61, 0x64, 0x69, 0x75, 0x73, 0x4d, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x5f, 0x6d, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x4d, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x63, 0x61, 0x70, 0x70, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x75, 0x6e, 0x63, 0x61, 0x70, 0x70, 0x65, 0x64, + 0x22, 0x44, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x74, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x50, + 0x72, 0x69, 0x73, 0x6d, 0x12, 0x30, 0x0a, 0x07, 0x64, 0x69, 0x6d, 0x73, 0x5f, 0x6d, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x33, 0x52, 0x06, + 0x64, 0x69, 0x6d, 0x73, 0x4d, 0x6d, 0x22, 0x3d, 0x0a, 0x04, 0x4d, 0x65, 0x73, 0x68, 0x12, 0x21, + 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x6d, 0x65, 0x73, 0x68, 0x22, 0x2d, 0x0a, 0x0a, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x22, 0x9e, 0x03, 0x0a, 0x08, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, + 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x65, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, + 0x30, 0x0a, 0x06, 0x73, 0x70, 0x68, 0x65, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x70, 0x68, 0x65, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x70, 0x68, 0x65, 0x72, + 0x65, 0x12, 0x34, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x63, 0x74, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x50, 0x72, 0x69, 0x73, 0x6d, + 0x48, 0x00, 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x61, 0x70, 0x73, 0x75, + 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x70, 0x73, 0x75, 0x6c, + 0x65, 0x48, 0x00, 0x52, 0x07, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x04, + 0x6d, 0x65, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x68, + 0x48, 0x00, 0x52, 0x04, 0x6d, 0x65, 0x73, 0x68, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, + 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x63, 0x79, 0x6c, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x79, 0x6c, 0x69, 0x6e, 0x64, + 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x63, 0x79, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0f, 0x0a, 0x0d, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x76, 0x0a, 0x11, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x49, 0x6e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x46, 0x72, + 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x76, 0x0a, + 0x10, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x22, 0xe6, 0x02, 0x0a, 0x08, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, - 0x2c, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x73, 0x65, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, - 0x06, 0x73, 0x70, 0x68, 0x65, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x70, 0x68, 0x65, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x70, 0x68, 0x65, 0x72, 0x65, 0x12, - 0x34, 0x0a, 0x03, 0x62, 0x6f, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x63, 0x74, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x50, 0x72, 0x69, 0x73, 0x6d, 0x48, 0x00, - 0x52, 0x03, 0x62, 0x6f, 0x78, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x48, - 0x00, 0x52, 0x07, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6d, 0x65, - 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x48, 0x00, - 0x52, 0x04, 0x6d, 0x65, 0x73, 0x68, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0f, 0x0a, 0x0d, 0x67, 0x65, - 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x76, 0x0a, 0x11, 0x47, - 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x46, 0x72, 0x61, 0x6d, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x72, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x67, 0x65, 0x6f, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x22, 0x76, 0x0a, 0x10, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, + 0x75, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x49, 0x6e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x08, 0x47, 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x47, + 0x65, 0x6f, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 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, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x38, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 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, 0x0a, + 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xbd, 0x02, 0x0a, 0x09, 0x54, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, + 0x65, 0x12, 0x50, 0x0a, 0x16, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x6f, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x13, + 0x70, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x72, + 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 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, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, + 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 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, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x68, + 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x88, 0x01, 0x0a, 0x0a, 0x57, + 0x6f, 0x72, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x6f, 0x62, 0x73, + 0x74, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, - 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x08, 0x47, - 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x47, 0x65, 0x6f, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, - 0x12, 0x34, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 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, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x22, 0xbd, 0x02, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x27, - 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x16, 0x70, 0x6f, 0x73, 0x65, 0x5f, - 0x69, 0x6e, 0x5f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x46, - 0x72, 0x61, 0x6d, 0x65, 0x52, 0x13, 0x70, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x4f, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x70, 0x68, 0x79, - 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 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, 0x48, 0x00, 0x52, 0x0e, - 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 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, - 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x88, 0x01, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x3f, 0x0a, 0x09, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, - 0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x73, - 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, - 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x22, 0x2d, 0x0a, 0x0e, 0x41, - 0x63, 0x74, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, - 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x69, 0x73, 0x4d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x22, 0x64, 0x0a, 0x10, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, - 0x0a, 0x0b, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, - 0x00, 0x52, 0x0a, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x22, 0x59, 0x0a, 0x10, 0x44, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, + 0x09, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x22, 0x2d, 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x75, 0x61, 0x74, 0x6f, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x6f, + 0x76, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4d, 0x6f, + 0x76, 0x69, 0x6e, 0x67, 0x22, 0x64, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x61, 0x70, 0x74, + 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x70, + 0x74, 0x75, 0x72, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, + 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0x59, 0x0a, 0x10, 0x44, 0x6f, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 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, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x44, 0x0a, 0x11, 0x44, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 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, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x26, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x44, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 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, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x59, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x63, + 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, 0x05, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x22, 0xd5, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x65, + 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, + 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, + 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, + 0x6b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x6b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x76, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x73, 0x5f, + 0x62, 0x79, 0x5f, 0x75, 0x72, 0x64, 0x66, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, + 0x61, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, + 0x73, 0x68, 0x65, 0x73, 0x42, 0x79, 0x55, 0x72, 0x64, 0x66, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, + 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, 0x65, 0x73, 0x68, 0x65, 0x73, 0x42, + 0x79, 0x55, 0x72, 0x64, 0x66, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x5d, 0x0a, + 0x19, 0x4d, 0x65, 0x73, 0x68, 0x65, 0x73, 0x42, 0x79, 0x55, 0x72, 0x64, 0x66, 0x46, 0x69, 0x6c, + 0x65, 0x70, 0x61, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, + 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x59, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 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, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x44, 0x0a, 0x11, 0x44, - 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x18, 0x63, 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, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x65, + 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x38, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 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, 0x0a, + 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x57, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x33, 0x44, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x63, 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, 0x05, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x22, 0xaf, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x33, 0x44, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x33, 0x44, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x1a, 0x4f, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x40, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6c, + 0x64, 0x50, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, + 0x04, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, + 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, + 0x65, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x63, 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, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x26, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x44, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x22, 0xb9, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x69, 0x61, + 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, + 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x53, 0x0a, 0x0d, 0x52, 0x65, 0x61, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x97, 0x02, 0x0a, + 0x08, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, + 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2f, + 0x0a, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x06, 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, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x59, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, - 0x78, 0x74, 0x72, 0x61, 0x18, 0x63, 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, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xd5, 0x02, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, - 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x6b, 0x69, 0x6e, - 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x76, 0x0a, 0x17, 0x6d, - 0x65, 0x73, 0x68, 0x65, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x72, 0x64, 0x66, 0x5f, 0x66, 0x69, - 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x76, - 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x65, 0x73, 0x42, 0x79, 0x55, 0x72, 0x64, 0x66, - 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6d, - 0x65, 0x73, 0x68, 0x65, 0x73, 0x42, 0x79, 0x55, 0x72, 0x64, 0x66, 0x46, 0x69, 0x6c, 0x65, 0x70, - 0x61, 0x74, 0x68, 0x1a, 0x5d, 0x0a, 0x19, 0x4d, 0x65, 0x73, 0x68, 0x65, 0x73, 0x42, 0x79, 0x55, - 0x72, 0x64, 0x66, 0x46, 0x69, 0x6c, 0x65, 0x70, 0x61, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x59, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, + 0x08, 0x20, 0x03, 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, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x6a, 0x0a, 0x09, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x7a, 0x12, + 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x22, 0x59, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x63, 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, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x51, 0x0a, - 0x15, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x0a, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x22, 0x57, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x33, 0x44, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x18, 0x63, 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, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xaf, 0x01, 0x0a, 0x13, 0x47, 0x65, - 0x74, 0x33, 0x44, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x47, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x33, 0x44, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x1a, 0x4f, 0x0a, 0x0b, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x68, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x40, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x65, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x65, 0x22, 0x57, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x18, 0x63, 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, - 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xb9, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, - 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x53, 0x0a, - 0x0d, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x97, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, - 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, - 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x06, - 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, - 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x06, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 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, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x6a, 0x0a, 0x09, - 0x41, 0x75, 0x64, 0x69, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, - 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, - 0x24, 0x0a, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x68, - 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, - 0x61, 0x74, 0x65, 0x48, 0x7a, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x59, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x63, 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, 0x05, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x22, 0x8b, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, - 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x7a, 0x12, 0x21, - 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2a, 0x7f, 0x0a, 0x14, 0x4b, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x46, - 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x4b, 0x49, 0x4e, - 0x45, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, - 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x4b, 0x49, 0x4e, 0x45, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x53, 0x5f, - 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x56, 0x41, 0x10, - 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x4b, 0x49, 0x4e, 0x45, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x53, 0x5f, - 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x52, 0x44, 0x46, - 0x10, 0x02, 0x3a, 0x61, 0x0a, 0x1a, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x68, 0x65, 0x61, - 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, - 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0xa4, 0x92, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, - 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x2f, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x69, 0x61, - 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x5a, 0x19, 0x67, 0x6f, 0x2e, - 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x8b, 0x01, + 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, + 0x63, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, + 0x65, 0x5f, 0x68, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x7a, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2a, 0x7f, 0x0a, 0x14, 0x4b, + 0x69, 0x6e, 0x65, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x4b, 0x49, 0x4e, 0x45, 0x4d, 0x41, 0x54, 0x49, 0x43, + 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x4b, + 0x49, 0x4e, 0x45, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x56, 0x41, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x4b, + 0x49, 0x4e, 0x45, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x52, 0x44, 0x46, 0x10, 0x02, 0x3a, 0x61, 0x0a, 0x1a, + 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, + 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x92, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x18, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, + 0x65, 0x61, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x2f, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x5a, 0x19, 0x67, 0x6f, 0x2e, 0x76, 0x69, 0x61, 0x6d, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2678,7 +2779,7 @@ func file_common_v1_common_proto_rawDescGZIP() []byte { } var file_common_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_common_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 40) +var file_common_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 41) var file_common_v1_common_proto_goTypes = []any{ (KinematicsFileFormat)(0), // 0: viam.common.v1.KinematicsFileFormat (*ResourceName)(nil), // 1: viam.common.v1.ResourceName @@ -2689,42 +2790,43 @@ var file_common_v1_common_proto_goTypes = []any{ (*Vector3)(nil), // 6: viam.common.v1.Vector3 (*Sphere)(nil), // 7: viam.common.v1.Sphere (*Capsule)(nil), // 8: viam.common.v1.Capsule - (*RectangularPrism)(nil), // 9: viam.common.v1.RectangularPrism - (*Mesh)(nil), // 10: viam.common.v1.Mesh - (*PointCloud)(nil), // 11: viam.common.v1.PointCloud - (*Geometry)(nil), // 12: viam.common.v1.Geometry - (*GeometriesInFrame)(nil), // 13: viam.common.v1.GeometriesInFrame - (*PointCloudObject)(nil), // 14: viam.common.v1.PointCloudObject - (*GeoPoint)(nil), // 15: viam.common.v1.GeoPoint - (*GeoGeometry)(nil), // 16: viam.common.v1.GeoGeometry - (*Transform)(nil), // 17: viam.common.v1.Transform - (*WorldState)(nil), // 18: viam.common.v1.WorldState - (*ActuatorStatus)(nil), // 19: viam.common.v1.ActuatorStatus - (*ResponseMetadata)(nil), // 20: viam.common.v1.ResponseMetadata - (*DoCommandRequest)(nil), // 21: viam.common.v1.DoCommandRequest - (*DoCommandResponse)(nil), // 22: viam.common.v1.DoCommandResponse - (*GetStatusRequest)(nil), // 23: viam.common.v1.GetStatusRequest - (*GetStatusResponse)(nil), // 24: viam.common.v1.GetStatusResponse - (*GetKinematicsRequest)(nil), // 25: viam.common.v1.GetKinematicsRequest - (*GetKinematicsResponse)(nil), // 26: viam.common.v1.GetKinematicsResponse - (*GetGeometriesRequest)(nil), // 27: viam.common.v1.GetGeometriesRequest - (*GetGeometriesResponse)(nil), // 28: viam.common.v1.GetGeometriesResponse - (*Get3DModelsRequest)(nil), // 29: viam.common.v1.Get3DModelsRequest - (*Get3DModelsResponse)(nil), // 30: viam.common.v1.Get3DModelsResponse - (*GetWorldPoseResponse)(nil), // 31: viam.common.v1.GetWorldPoseResponse - (*GetReadingsRequest)(nil), // 32: viam.common.v1.GetReadingsRequest - (*GetReadingsResponse)(nil), // 33: viam.common.v1.GetReadingsResponse - (*LogEntry)(nil), // 34: viam.common.v1.LogEntry - (*AudioInfo)(nil), // 35: viam.common.v1.AudioInfo - (*GetPropertiesRequest)(nil), // 36: viam.common.v1.GetPropertiesRequest - (*GetPropertiesResponse)(nil), // 37: viam.common.v1.GetPropertiesResponse - nil, // 38: viam.common.v1.GetKinematicsResponse.MeshesByUrdfFilepathEntry - nil, // 39: viam.common.v1.Get3DModelsResponse.ModelsEntry - nil, // 40: viam.common.v1.GetReadingsResponse.ReadingsEntry - (*structpb.Struct)(nil), // 41: google.protobuf.Struct - (*timestamppb.Timestamp)(nil), // 42: google.protobuf.Timestamp - (*structpb.Value)(nil), // 43: google.protobuf.Value - (*descriptorpb.MethodOptions)(nil), // 44: google.protobuf.MethodOptions + (*Cylinder)(nil), // 9: viam.common.v1.Cylinder + (*RectangularPrism)(nil), // 10: viam.common.v1.RectangularPrism + (*Mesh)(nil), // 11: viam.common.v1.Mesh + (*PointCloud)(nil), // 12: viam.common.v1.PointCloud + (*Geometry)(nil), // 13: viam.common.v1.Geometry + (*GeometriesInFrame)(nil), // 14: viam.common.v1.GeometriesInFrame + (*PointCloudObject)(nil), // 15: viam.common.v1.PointCloudObject + (*GeoPoint)(nil), // 16: viam.common.v1.GeoPoint + (*GeoGeometry)(nil), // 17: viam.common.v1.GeoGeometry + (*Transform)(nil), // 18: viam.common.v1.Transform + (*WorldState)(nil), // 19: viam.common.v1.WorldState + (*ActuatorStatus)(nil), // 20: viam.common.v1.ActuatorStatus + (*ResponseMetadata)(nil), // 21: viam.common.v1.ResponseMetadata + (*DoCommandRequest)(nil), // 22: viam.common.v1.DoCommandRequest + (*DoCommandResponse)(nil), // 23: viam.common.v1.DoCommandResponse + (*GetStatusRequest)(nil), // 24: viam.common.v1.GetStatusRequest + (*GetStatusResponse)(nil), // 25: viam.common.v1.GetStatusResponse + (*GetKinematicsRequest)(nil), // 26: viam.common.v1.GetKinematicsRequest + (*GetKinematicsResponse)(nil), // 27: viam.common.v1.GetKinematicsResponse + (*GetGeometriesRequest)(nil), // 28: viam.common.v1.GetGeometriesRequest + (*GetGeometriesResponse)(nil), // 29: viam.common.v1.GetGeometriesResponse + (*Get3DModelsRequest)(nil), // 30: viam.common.v1.Get3DModelsRequest + (*Get3DModelsResponse)(nil), // 31: viam.common.v1.Get3DModelsResponse + (*GetWorldPoseResponse)(nil), // 32: viam.common.v1.GetWorldPoseResponse + (*GetReadingsRequest)(nil), // 33: viam.common.v1.GetReadingsRequest + (*GetReadingsResponse)(nil), // 34: viam.common.v1.GetReadingsResponse + (*LogEntry)(nil), // 35: viam.common.v1.LogEntry + (*AudioInfo)(nil), // 36: viam.common.v1.AudioInfo + (*GetPropertiesRequest)(nil), // 37: viam.common.v1.GetPropertiesRequest + (*GetPropertiesResponse)(nil), // 38: viam.common.v1.GetPropertiesResponse + nil, // 39: viam.common.v1.GetKinematicsResponse.MeshesByUrdfFilepathEntry + nil, // 40: viam.common.v1.Get3DModelsResponse.ModelsEntry + nil, // 41: viam.common.v1.GetReadingsResponse.ReadingsEntry + (*structpb.Struct)(nil), // 42: google.protobuf.Struct + (*timestamppb.Timestamp)(nil), // 43: google.protobuf.Timestamp + (*structpb.Value)(nil), // 44: google.protobuf.Value + (*descriptorpb.MethodOptions)(nil), // 45: google.protobuf.MethodOptions } var file_common_v1_common_proto_depIdxs = []int32{ 2, // 0: viam.common.v1.PoseInFrame.pose:type_name -> viam.common.v1.Pose @@ -2732,46 +2834,47 @@ var file_common_v1_common_proto_depIdxs = []int32{ 6, // 2: viam.common.v1.RectangularPrism.dims_mm:type_name -> viam.common.v1.Vector3 2, // 3: viam.common.v1.Geometry.center:type_name -> viam.common.v1.Pose 7, // 4: viam.common.v1.Geometry.sphere:type_name -> viam.common.v1.Sphere - 9, // 5: viam.common.v1.Geometry.box:type_name -> viam.common.v1.RectangularPrism + 10, // 5: viam.common.v1.Geometry.box:type_name -> viam.common.v1.RectangularPrism 8, // 6: viam.common.v1.Geometry.capsule:type_name -> viam.common.v1.Capsule - 10, // 7: viam.common.v1.Geometry.mesh:type_name -> viam.common.v1.Mesh - 11, // 8: viam.common.v1.Geometry.pointcloud:type_name -> viam.common.v1.PointCloud - 12, // 9: viam.common.v1.GeometriesInFrame.geometries:type_name -> viam.common.v1.Geometry - 13, // 10: viam.common.v1.PointCloudObject.geometries:type_name -> viam.common.v1.GeometriesInFrame - 15, // 11: viam.common.v1.GeoGeometry.location:type_name -> viam.common.v1.GeoPoint - 12, // 12: viam.common.v1.GeoGeometry.geometries:type_name -> viam.common.v1.Geometry - 5, // 13: viam.common.v1.Transform.pose_in_observer_frame:type_name -> viam.common.v1.PoseInFrame - 12, // 14: viam.common.v1.Transform.physical_object:type_name -> viam.common.v1.Geometry - 41, // 15: viam.common.v1.Transform.metadata:type_name -> google.protobuf.Struct - 13, // 16: viam.common.v1.WorldState.obstacles:type_name -> viam.common.v1.GeometriesInFrame - 17, // 17: viam.common.v1.WorldState.transforms:type_name -> viam.common.v1.Transform - 42, // 18: viam.common.v1.ResponseMetadata.captured_at:type_name -> google.protobuf.Timestamp - 41, // 19: viam.common.v1.DoCommandRequest.command:type_name -> google.protobuf.Struct - 41, // 20: viam.common.v1.DoCommandResponse.result:type_name -> google.protobuf.Struct - 41, // 21: viam.common.v1.GetStatusResponse.result:type_name -> google.protobuf.Struct - 41, // 22: viam.common.v1.GetKinematicsRequest.extra:type_name -> google.protobuf.Struct - 0, // 23: viam.common.v1.GetKinematicsResponse.format:type_name -> viam.common.v1.KinematicsFileFormat - 38, // 24: viam.common.v1.GetKinematicsResponse.meshes_by_urdf_filepath:type_name -> viam.common.v1.GetKinematicsResponse.MeshesByUrdfFilepathEntry - 41, // 25: viam.common.v1.GetGeometriesRequest.extra:type_name -> google.protobuf.Struct - 12, // 26: viam.common.v1.GetGeometriesResponse.geometries:type_name -> viam.common.v1.Geometry - 41, // 27: viam.common.v1.Get3DModelsRequest.extra:type_name -> google.protobuf.Struct - 39, // 28: viam.common.v1.Get3DModelsResponse.models:type_name -> viam.common.v1.Get3DModelsResponse.ModelsEntry - 2, // 29: viam.common.v1.GetWorldPoseResponse.pose:type_name -> viam.common.v1.Pose - 41, // 30: viam.common.v1.GetReadingsRequest.extra:type_name -> google.protobuf.Struct - 40, // 31: viam.common.v1.GetReadingsResponse.readings:type_name -> viam.common.v1.GetReadingsResponse.ReadingsEntry - 42, // 32: viam.common.v1.LogEntry.time:type_name -> google.protobuf.Timestamp - 41, // 33: viam.common.v1.LogEntry.caller:type_name -> google.protobuf.Struct - 41, // 34: viam.common.v1.LogEntry.fields:type_name -> google.protobuf.Struct - 41, // 35: viam.common.v1.GetPropertiesRequest.extra:type_name -> google.protobuf.Struct - 10, // 36: viam.common.v1.GetKinematicsResponse.MeshesByUrdfFilepathEntry.value:type_name -> viam.common.v1.Mesh - 10, // 37: viam.common.v1.Get3DModelsResponse.ModelsEntry.value:type_name -> viam.common.v1.Mesh - 43, // 38: viam.common.v1.GetReadingsResponse.ReadingsEntry.value:type_name -> google.protobuf.Value - 44, // 39: viam.common.v1.safety_heartbeat_monitored:extendee -> google.protobuf.MethodOptions - 40, // [40:40] is the sub-list for method output_type - 40, // [40:40] is the sub-list for method input_type - 40, // [40:40] is the sub-list for extension type_name - 39, // [39:40] is the sub-list for extension extendee - 0, // [0:39] is the sub-list for field type_name + 11, // 7: viam.common.v1.Geometry.mesh:type_name -> viam.common.v1.Mesh + 12, // 8: viam.common.v1.Geometry.pointcloud:type_name -> viam.common.v1.PointCloud + 9, // 9: viam.common.v1.Geometry.cylinder:type_name -> viam.common.v1.Cylinder + 13, // 10: viam.common.v1.GeometriesInFrame.geometries:type_name -> viam.common.v1.Geometry + 14, // 11: viam.common.v1.PointCloudObject.geometries:type_name -> viam.common.v1.GeometriesInFrame + 16, // 12: viam.common.v1.GeoGeometry.location:type_name -> viam.common.v1.GeoPoint + 13, // 13: viam.common.v1.GeoGeometry.geometries:type_name -> viam.common.v1.Geometry + 5, // 14: viam.common.v1.Transform.pose_in_observer_frame:type_name -> viam.common.v1.PoseInFrame + 13, // 15: viam.common.v1.Transform.physical_object:type_name -> viam.common.v1.Geometry + 42, // 16: viam.common.v1.Transform.metadata:type_name -> google.protobuf.Struct + 14, // 17: viam.common.v1.WorldState.obstacles:type_name -> viam.common.v1.GeometriesInFrame + 18, // 18: viam.common.v1.WorldState.transforms:type_name -> viam.common.v1.Transform + 43, // 19: viam.common.v1.ResponseMetadata.captured_at:type_name -> google.protobuf.Timestamp + 42, // 20: viam.common.v1.DoCommandRequest.command:type_name -> google.protobuf.Struct + 42, // 21: viam.common.v1.DoCommandResponse.result:type_name -> google.protobuf.Struct + 42, // 22: viam.common.v1.GetStatusResponse.result:type_name -> google.protobuf.Struct + 42, // 23: viam.common.v1.GetKinematicsRequest.extra:type_name -> google.protobuf.Struct + 0, // 24: viam.common.v1.GetKinematicsResponse.format:type_name -> viam.common.v1.KinematicsFileFormat + 39, // 25: viam.common.v1.GetKinematicsResponse.meshes_by_urdf_filepath:type_name -> viam.common.v1.GetKinematicsResponse.MeshesByUrdfFilepathEntry + 42, // 26: viam.common.v1.GetGeometriesRequest.extra:type_name -> google.protobuf.Struct + 13, // 27: viam.common.v1.GetGeometriesResponse.geometries:type_name -> viam.common.v1.Geometry + 42, // 28: viam.common.v1.Get3DModelsRequest.extra:type_name -> google.protobuf.Struct + 40, // 29: viam.common.v1.Get3DModelsResponse.models:type_name -> viam.common.v1.Get3DModelsResponse.ModelsEntry + 2, // 30: viam.common.v1.GetWorldPoseResponse.pose:type_name -> viam.common.v1.Pose + 42, // 31: viam.common.v1.GetReadingsRequest.extra:type_name -> google.protobuf.Struct + 41, // 32: viam.common.v1.GetReadingsResponse.readings:type_name -> viam.common.v1.GetReadingsResponse.ReadingsEntry + 43, // 33: viam.common.v1.LogEntry.time:type_name -> google.protobuf.Timestamp + 42, // 34: viam.common.v1.LogEntry.caller:type_name -> google.protobuf.Struct + 42, // 35: viam.common.v1.LogEntry.fields:type_name -> google.protobuf.Struct + 42, // 36: viam.common.v1.GetPropertiesRequest.extra:type_name -> google.protobuf.Struct + 11, // 37: viam.common.v1.GetKinematicsResponse.MeshesByUrdfFilepathEntry.value:type_name -> viam.common.v1.Mesh + 11, // 38: viam.common.v1.Get3DModelsResponse.ModelsEntry.value:type_name -> viam.common.v1.Mesh + 44, // 39: viam.common.v1.GetReadingsResponse.ReadingsEntry.value:type_name -> google.protobuf.Value + 45, // 40: viam.common.v1.safety_heartbeat_monitored:extendee -> google.protobuf.MethodOptions + 41, // [41:41] is the sub-list for method output_type + 41, // [41:41] is the sub-list for method input_type + 41, // [41:41] is the sub-list for extension type_name + 40, // [40:41] is the sub-list for extension extendee + 0, // [0:40] is the sub-list for field type_name } func init() { file_common_v1_common_proto_init() } @@ -2780,22 +2883,23 @@ func file_common_v1_common_proto_init() { return } file_common_v1_common_proto_msgTypes[4].OneofWrappers = []any{} - file_common_v1_common_proto_msgTypes[11].OneofWrappers = []any{ + file_common_v1_common_proto_msgTypes[12].OneofWrappers = []any{ (*Geometry_Sphere)(nil), (*Geometry_Box)(nil), (*Geometry_Capsule)(nil), (*Geometry_Mesh)(nil), (*Geometry_Pointcloud)(nil), + (*Geometry_Cylinder)(nil), } - file_common_v1_common_proto_msgTypes[16].OneofWrappers = []any{} - file_common_v1_common_proto_msgTypes[19].OneofWrappers = []any{} + file_common_v1_common_proto_msgTypes[17].OneofWrappers = []any{} + file_common_v1_common_proto_msgTypes[20].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_common_v1_common_proto_rawDesc, NumEnums: 1, - NumMessages: 40, + NumMessages: 41, NumExtensions: 1, NumServices: 0, }, diff --git a/proto/viam/common/v1/common.proto b/proto/viam/common/v1/common.proto index 62f3fcf3e..a82a81799 100644 --- a/proto/viam/common/v1/common.proto +++ b/proto/viam/common/v1/common.proto @@ -85,6 +85,28 @@ message Capsule { double length_mm = 2; } +// Cylinder is a finite right circular cylinder. Its central axis is the local +// frame's Z axis and its pose is at its center. Unlike a capsule, a cylinder has +// flat end caps and may be arbitrarily flat (no length >= 2*radius constraint). +message Cylinder { + double radius_mm = 1; + // Total height, cap to cap. + double height_mm = 2; + // When true the flat end caps are omitted, producing an open tube: a + // cylindrical surface, which models open containers a robot reaches into. + // + // Phrased negatively so the proto3 default (false) is the solid cylinder, + // which is the overwhelmingly common case and matches what a cylinder means + // in URDF and SDF. A consumer that ignores this field reads every cylinder as + // solid. + // + // This is a defaulting convention, not a safety guarantee: whether solid or + // open is the conservative reading depends on the consumer's collision + // semantics, so producers should set the field rather than rely on the + // default carrying meaning. + bool uncapped = 3; +} + // RectangularPrism contains a Vector3 field corresponding to the X, Y, Z dimensions of the prism in mms // These dimensions are with respect to the referenceframe in which the RectangularPrism is defined message RectangularPrism { @@ -113,6 +135,7 @@ message Geometry { Capsule capsule = 5; Mesh mesh = 6; PointCloud pointcloud = 7; + Cylinder cylinder = 8; } // Label of the geometry. If none supplied, will be an empty string. string label = 4;