diff --git a/go/chromite/api/firmware.pb.go b/go/chromite/api/firmware.pb.go
index b526553..c081dbe 100644
--- a/go/chromite/api/firmware.pb.go
+++ b/go/chromite/api/firmware.pb.go
@@ -130,7 +130,7 @@
 
 // Deprecated: Use FwBuildMetric_FwSection_FwRegion.Descriptor instead.
 func (FwBuildMetric_FwSection_FwRegion) EnumDescriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{0, 0, 0}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{2, 0, 0}
 }
 
 type FirmwareArtifactInfo_TarballInfo_FirmwareType_Type int32
@@ -182,7 +182,105 @@
 
 // Deprecated: Use FirmwareArtifactInfo_TarballInfo_FirmwareType_Type.Descriptor instead.
 func (FirmwareArtifactInfo_TarballInfo_FirmwareType_Type) EnumDescriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{14, 0, 0, 0}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{16, 0, 0, 0}
+}
+
+// Added in R91.
+type BcsVersionInfo struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	// Chrome OS version string, such as "R91-13844.0.0-45436".
+	VersionString string `protobuf:"bytes,1,opt,name=version_string,json=versionString,proto3" json:"version_string,omitempty"`
+}
+
+func (x *BcsVersionInfo) Reset() {
+	*x = BcsVersionInfo{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_chromite_api_firmware_proto_msgTypes[0]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *BcsVersionInfo) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BcsVersionInfo) ProtoMessage() {}
+
+func (x *BcsVersionInfo) ProtoReflect() protoreflect.Message {
+	mi := &file_chromite_api_firmware_proto_msgTypes[0]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use BcsVersionInfo.ProtoReflect.Descriptor instead.
+func (*BcsVersionInfo) Descriptor() ([]byte, []int) {
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BcsVersionInfo) GetVersionString() string {
+	if x != nil {
+		return x.VersionString
+	}
+	return ""
+}
+
+// Added in R91.
+type FirmwareVersionInfo struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	// Firmware version string, such as "atlas_v2.0.923-84a1d7260".
+	VersionString string `protobuf:"bytes,1,opt,name=version_string,json=versionString,proto3" json:"version_string,omitempty"` // Extend with fields that break down the version string.
+}
+
+func (x *FirmwareVersionInfo) Reset() {
+	*x = FirmwareVersionInfo{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_chromite_api_firmware_proto_msgTypes[1]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *FirmwareVersionInfo) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FirmwareVersionInfo) ProtoMessage() {}
+
+func (x *FirmwareVersionInfo) ProtoReflect() protoreflect.Message {
+	mi := &file_chromite_api_firmware_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use FirmwareVersionInfo.ProtoReflect.Descriptor instead.
+func (*FirmwareVersionInfo) Descriptor() ([]byte, []int) {
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *FirmwareVersionInfo) GetVersionString() string {
+	if x != nil {
+		return x.VersionString
+	}
+	return ""
 }
 
 // Metrics collected on every successful firmware build.
@@ -208,7 +306,7 @@
 func (x *FwBuildMetric) Reset() {
 	*x = FwBuildMetric{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[0]
+		mi := &file_chromite_api_firmware_proto_msgTypes[2]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -221,7 +319,7 @@
 func (*FwBuildMetric) ProtoMessage() {}
 
 func (x *FwBuildMetric) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[0]
+	mi := &file_chromite_api_firmware_proto_msgTypes[2]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -234,7 +332,7 @@
 
 // Deprecated: Use FwBuildMetric.ProtoReflect.Descriptor instead.
 func (*FwBuildMetric) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{0}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{2}
 }
 
 func (x *FwBuildMetric) GetTargetName() string {
@@ -297,7 +395,7 @@
 func (x *FwBuildMetricList) Reset() {
 	*x = FwBuildMetricList{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[1]
+		mi := &file_chromite_api_firmware_proto_msgTypes[3]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -310,7 +408,7 @@
 func (*FwBuildMetricList) ProtoMessage() {}
 
 func (x *FwBuildMetricList) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[1]
+	mi := &file_chromite_api_firmware_proto_msgTypes[3]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -323,7 +421,7 @@
 
 // Deprecated: Use FwBuildMetricList.ProtoReflect.Descriptor instead.
 func (*FwBuildMetricList) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{1}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{3}
 }
 
 func (x *FwBuildMetricList) GetValue() []*FwBuildMetric {
@@ -346,7 +444,7 @@
 func (x *FwTestMetric) Reset() {
 	*x = FwTestMetric{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[2]
+		mi := &file_chromite_api_firmware_proto_msgTypes[4]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -359,7 +457,7 @@
 func (*FwTestMetric) ProtoMessage() {}
 
 func (x *FwTestMetric) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[2]
+	mi := &file_chromite_api_firmware_proto_msgTypes[4]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -372,7 +470,7 @@
 
 // Deprecated: Use FwTestMetric.ProtoReflect.Descriptor instead.
 func (*FwTestMetric) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{2}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{4}
 }
 
 func (x *FwTestMetric) GetName() string {
@@ -397,7 +495,7 @@
 func (x *FwTestMetricList) Reset() {
 	*x = FwTestMetricList{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[3]
+		mi := &file_chromite_api_firmware_proto_msgTypes[5]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -410,7 +508,7 @@
 func (*FwTestMetricList) ProtoMessage() {}
 
 func (x *FwTestMetricList) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[3]
+	mi := &file_chromite_api_firmware_proto_msgTypes[5]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -423,7 +521,7 @@
 
 // Deprecated: Use FwTestMetricList.ProtoReflect.Descriptor instead.
 func (*FwTestMetricList) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{3}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{5}
 }
 
 func (x *FwTestMetricList) GetValue() []*FwTestMetric {
@@ -452,7 +550,7 @@
 func (x *BuildAllTotFirmwareRequest) Reset() {
 	*x = BuildAllTotFirmwareRequest{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[4]
+		mi := &file_chromite_api_firmware_proto_msgTypes[6]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -465,7 +563,7 @@
 func (*BuildAllTotFirmwareRequest) ProtoMessage() {}
 
 func (x *BuildAllTotFirmwareRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[4]
+	mi := &file_chromite_api_firmware_proto_msgTypes[6]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -478,7 +576,7 @@
 
 // Deprecated: Use BuildAllTotFirmwareRequest.ProtoReflect.Descriptor instead.
 func (*BuildAllTotFirmwareRequest) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{4}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{6}
 }
 
 func (x *BuildAllTotFirmwareRequest) GetFirmwareLocation() FwLocation {
@@ -515,7 +613,7 @@
 func (x *BuildAllTotFirmwareResponse) Reset() {
 	*x = BuildAllTotFirmwareResponse{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[5]
+		mi := &file_chromite_api_firmware_proto_msgTypes[7]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -528,7 +626,7 @@
 func (*BuildAllTotFirmwareResponse) ProtoMessage() {}
 
 func (x *BuildAllTotFirmwareResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[5]
+	mi := &file_chromite_api_firmware_proto_msgTypes[7]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -541,7 +639,7 @@
 
 // Deprecated: Use BuildAllTotFirmwareResponse.ProtoReflect.Descriptor instead.
 func (*BuildAllTotFirmwareResponse) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{5}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{7}
 }
 
 func (x *BuildAllTotFirmwareResponse) GetMetrics() *FwBuildMetricList {
@@ -570,7 +668,7 @@
 func (x *TestAllTotFirmwareRequest) Reset() {
 	*x = TestAllTotFirmwareRequest{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[6]
+		mi := &file_chromite_api_firmware_proto_msgTypes[8]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -583,7 +681,7 @@
 func (*TestAllTotFirmwareRequest) ProtoMessage() {}
 
 func (x *TestAllTotFirmwareRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[6]
+	mi := &file_chromite_api_firmware_proto_msgTypes[8]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -596,7 +694,7 @@
 
 // Deprecated: Use TestAllTotFirmwareRequest.ProtoReflect.Descriptor instead.
 func (*TestAllTotFirmwareRequest) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{6}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{8}
 }
 
 func (x *TestAllTotFirmwareRequest) GetFirmwareLocation() FwLocation {
@@ -633,7 +731,7 @@
 func (x *TestAllTotFirmwareResponse) Reset() {
 	*x = TestAllTotFirmwareResponse{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[7]
+		mi := &file_chromite_api_firmware_proto_msgTypes[9]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -646,7 +744,7 @@
 func (*TestAllTotFirmwareResponse) ProtoMessage() {}
 
 func (x *TestAllTotFirmwareResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[7]
+	mi := &file_chromite_api_firmware_proto_msgTypes[9]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -659,7 +757,7 @@
 
 // Deprecated: Use TestAllTotFirmwareResponse.ProtoReflect.Descriptor instead.
 func (*TestAllTotFirmwareResponse) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{7}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{9}
 }
 
 func (x *TestAllTotFirmwareResponse) GetMetrics() *FwTestMetricList {
@@ -687,7 +785,7 @@
 func (x *BuildAllFirmwareRequest) Reset() {
 	*x = BuildAllFirmwareRequest{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[8]
+		mi := &file_chromite_api_firmware_proto_msgTypes[10]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -700,7 +798,7 @@
 func (*BuildAllFirmwareRequest) ProtoMessage() {}
 
 func (x *BuildAllFirmwareRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[8]
+	mi := &file_chromite_api_firmware_proto_msgTypes[10]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -713,7 +811,7 @@
 
 // Deprecated: Use BuildAllFirmwareRequest.ProtoReflect.Descriptor instead.
 func (*BuildAllFirmwareRequest) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{8}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{10}
 }
 
 func (x *BuildAllFirmwareRequest) GetFirmwareLocation() chromiumos.FwLocation {
@@ -749,7 +847,7 @@
 func (x *BuildAllFirmwareResponse) Reset() {
 	*x = BuildAllFirmwareResponse{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[9]
+		mi := &file_chromite_api_firmware_proto_msgTypes[11]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -762,7 +860,7 @@
 func (*BuildAllFirmwareResponse) ProtoMessage() {}
 
 func (x *BuildAllFirmwareResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[9]
+	mi := &file_chromite_api_firmware_proto_msgTypes[11]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -775,7 +873,7 @@
 
 // Deprecated: Use BuildAllFirmwareResponse.ProtoReflect.Descriptor instead.
 func (*BuildAllFirmwareResponse) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{9}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{11}
 }
 
 func (x *BuildAllFirmwareResponse) GetMetrics() *FwBuildMetricList {
@@ -803,7 +901,7 @@
 func (x *TestAllFirmwareRequest) Reset() {
 	*x = TestAllFirmwareRequest{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[10]
+		mi := &file_chromite_api_firmware_proto_msgTypes[12]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -816,7 +914,7 @@
 func (*TestAllFirmwareRequest) ProtoMessage() {}
 
 func (x *TestAllFirmwareRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[10]
+	mi := &file_chromite_api_firmware_proto_msgTypes[12]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -829,7 +927,7 @@
 
 // Deprecated: Use TestAllFirmwareRequest.ProtoReflect.Descriptor instead.
 func (*TestAllFirmwareRequest) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{10}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{12}
 }
 
 func (x *TestAllFirmwareRequest) GetFirmwareLocation() chromiumos.FwLocation {
@@ -865,7 +963,7 @@
 func (x *TestAllFirmwareResponse) Reset() {
 	*x = TestAllFirmwareResponse{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[11]
+		mi := &file_chromite_api_firmware_proto_msgTypes[13]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -878,7 +976,7 @@
 func (*TestAllFirmwareResponse) ProtoMessage() {}
 
 func (x *TestAllFirmwareResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[11]
+	mi := &file_chromite_api_firmware_proto_msgTypes[13]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -891,7 +989,7 @@
 
 // Deprecated: Use TestAllFirmwareResponse.ProtoReflect.Descriptor instead.
 func (*TestAllFirmwareResponse) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{11}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{13}
 }
 
 func (x *TestAllFirmwareResponse) GetMetrics() *FwTestMetricList {
@@ -915,13 +1013,18 @@
 	// artifacts.output_artifacts[].location.
 	Artifacts *chromiumos.ArtifactsByService_Firmware `protobuf:"bytes,4,opt,name=artifacts,proto3" json:"artifacts,omitempty"`
 	// The Chrome OS style version to use in FirmwareArtifactInfo.
+	// Added and deprecated in R91.
+	//
+	// Deprecated: Do not use.
 	BcsVersion string `protobuf:"bytes,5,opt,name=bcs_version,json=bcsVersion,proto3" json:"bcs_version,omitempty"`
+	// BcsVersionInfo to use in (copy into) FirmwareArtifactInfo.TarballInfo.
+	BcsVersionInfo *BcsVersionInfo `protobuf:"bytes,6,opt,name=bcs_version_info,json=bcsVersionInfo,proto3" json:"bcs_version_info,omitempty"`
 }
 
 func (x *BundleFirmwareArtifactsRequest) Reset() {
 	*x = BundleFirmwareArtifactsRequest{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[12]
+		mi := &file_chromite_api_firmware_proto_msgTypes[14]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -934,7 +1037,7 @@
 func (*BundleFirmwareArtifactsRequest) ProtoMessage() {}
 
 func (x *BundleFirmwareArtifactsRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[12]
+	mi := &file_chromite_api_firmware_proto_msgTypes[14]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -947,7 +1050,7 @@
 
 // Deprecated: Use BundleFirmwareArtifactsRequest.ProtoReflect.Descriptor instead.
 func (*BundleFirmwareArtifactsRequest) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{12}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{14}
 }
 
 func (x *BundleFirmwareArtifactsRequest) GetChroot() *chromiumos.Chroot {
@@ -971,6 +1074,7 @@
 	return nil
 }
 
+// Deprecated: Do not use.
 func (x *BundleFirmwareArtifactsRequest) GetBcsVersion() string {
 	if x != nil {
 		return x.BcsVersion
@@ -978,6 +1082,13 @@
 	return ""
 }
 
+func (x *BundleFirmwareArtifactsRequest) GetBcsVersionInfo() *BcsVersionInfo {
+	if x != nil {
+		return x.BcsVersionInfo
+	}
+	return nil
+}
+
 type BundleFirmwareArtifactsResponse struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -990,7 +1101,7 @@
 func (x *BundleFirmwareArtifactsResponse) Reset() {
 	*x = BundleFirmwareArtifactsResponse{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[13]
+		mi := &file_chromite_api_firmware_proto_msgTypes[15]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1003,7 +1114,7 @@
 func (*BundleFirmwareArtifactsResponse) ProtoMessage() {}
 
 func (x *BundleFirmwareArtifactsResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[13]
+	mi := &file_chromite_api_firmware_proto_msgTypes[15]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1016,7 +1127,7 @@
 
 // Deprecated: Use BundleFirmwareArtifactsResponse.ProtoReflect.Descriptor instead.
 func (*BundleFirmwareArtifactsResponse) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{13}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{15}
 }
 
 func (x *BundleFirmwareArtifactsResponse) GetArtifacts() *chromiumos.UploadedArtifactsByService_Firmware {
@@ -1033,12 +1144,16 @@
 	unknownFields protoimpl.UnknownFields
 
 	Objects []*FirmwareArtifactInfo_ObjectInfo `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"`
+	// The value provided by BundleFirmwareArtifactsRequest, this is the version
+	// of Chrome OS used for this build.
+	// Added in R91.
+	BcsVersionInfo *BcsVersionInfo `protobuf:"bytes,2,opt,name=bcs_version_info,json=bcsVersionInfo,proto3" json:"bcs_version_info,omitempty"`
 }
 
 func (x *FirmwareArtifactInfo) Reset() {
 	*x = FirmwareArtifactInfo{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[14]
+		mi := &file_chromite_api_firmware_proto_msgTypes[16]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1051,7 +1166,7 @@
 func (*FirmwareArtifactInfo) ProtoMessage() {}
 
 func (x *FirmwareArtifactInfo) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[14]
+	mi := &file_chromite_api_firmware_proto_msgTypes[16]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1064,7 +1179,7 @@
 
 // Deprecated: Use FirmwareArtifactInfo.ProtoReflect.Descriptor instead.
 func (*FirmwareArtifactInfo) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{14}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{16}
 }
 
 func (x *FirmwareArtifactInfo) GetObjects() []*FirmwareArtifactInfo_ObjectInfo {
@@ -1074,6 +1189,13 @@
 	return nil
 }
 
+func (x *FirmwareArtifactInfo) GetBcsVersionInfo() *BcsVersionInfo {
+	if x != nil {
+		return x.BcsVersionInfo
+	}
+	return nil
+}
+
 type FwBuildMetric_FwSection struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1091,7 +1213,7 @@
 func (x *FwBuildMetric_FwSection) Reset() {
 	*x = FwBuildMetric_FwSection{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[15]
+		mi := &file_chromite_api_firmware_proto_msgTypes[17]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1104,7 +1226,7 @@
 func (*FwBuildMetric_FwSection) ProtoMessage() {}
 
 func (x *FwBuildMetric_FwSection) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[15]
+	mi := &file_chromite_api_firmware_proto_msgTypes[17]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1117,7 +1239,7 @@
 
 // Deprecated: Use FwBuildMetric_FwSection.ProtoReflect.Descriptor instead.
 func (*FwBuildMetric_FwSection) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{0, 0}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{2, 0}
 }
 
 func (x *FwBuildMetric_FwSection) GetRegion() FwBuildMetric_FwSection_FwRegion {
@@ -1155,7 +1277,7 @@
 func (x *FwBuildMetric_Version) Reset() {
 	*x = FwBuildMetric_Version{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[16]
+		mi := &file_chromite_api_firmware_proto_msgTypes[18]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1168,7 +1290,7 @@
 func (*FwBuildMetric_Version) ProtoMessage() {}
 
 func (x *FwBuildMetric_Version) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[16]
+	mi := &file_chromite_api_firmware_proto_msgTypes[18]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1181,7 +1303,7 @@
 
 // Deprecated: Use FwBuildMetric_Version.ProtoReflect.Descriptor instead.
 func (*FwBuildMetric_Version) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{0, 1}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{2, 1}
 }
 
 func (x *FwBuildMetric_Version) GetMajor() uint32 {
@@ -1218,7 +1340,7 @@
 func (x *FwBuildMetric_ZephyrTarget) Reset() {
 	*x = FwBuildMetric_ZephyrTarget{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[17]
+		mi := &file_chromite_api_firmware_proto_msgTypes[19]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1231,7 +1353,7 @@
 func (*FwBuildMetric_ZephyrTarget) ProtoMessage() {}
 
 func (x *FwBuildMetric_ZephyrTarget) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[17]
+	mi := &file_chromite_api_firmware_proto_msgTypes[19]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1244,7 +1366,7 @@
 
 // Deprecated: Use FwBuildMetric_ZephyrTarget.ProtoReflect.Descriptor instead.
 func (*FwBuildMetric_ZephyrTarget) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{0, 2}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{2, 2}
 }
 
 func (x *FwBuildMetric_ZephyrTarget) GetKernelVersion() *FwBuildMetric_Version {
@@ -1262,19 +1384,29 @@
 	unknownFields protoimpl.UnknownFields
 
 	// The Chrome OS style version.
+	// Use bcs_version_info.version_string instead.
+	// Deprecated since R91.
+	//
+	// Deprecated: Do not use.
 	BcsVersion string `protobuf:"bytes,1,opt,name=bcs_version,json=bcsVersion,proto3" json:"bcs_version,omitempty"`
 	// The name of the firmware image used by the firmware updater. Typically
 	// the device name, but can differ when a device may have two or more
 	// different firmware images.
 	FirmwareImageName string                                             `protobuf:"bytes,2,opt,name=firmware_image_name,json=firmwareImageName,proto3" json:"firmware_image_name,omitempty"`
 	Type              FirmwareArtifactInfo_TarballInfo_FirmwareType_Type `protobuf:"varint,3,opt,name=type,proto3,enum=chromite.api.FirmwareArtifactInfo_TarballInfo_FirmwareType_Type" json:"type,omitempty"`
-	Version           *FirmwareArtifactInfo_TarballInfo_Version          `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
+	// Use firmware_version_info instead.
+	// Deprecated since R91.
+	//
+	// Deprecated: Do not use.
+	Version *FirmwareArtifactInfo_TarballInfo_Version `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
+	// Added in R91.  Required.
+	FirmwareVersionInfo *FirmwareVersionInfo `protobuf:"bytes,5,opt,name=firmware_version_info,json=firmwareVersionInfo,proto3" json:"firmware_version_info,omitempty"`
 }
 
 func (x *FirmwareArtifactInfo_TarballInfo) Reset() {
 	*x = FirmwareArtifactInfo_TarballInfo{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[18]
+		mi := &file_chromite_api_firmware_proto_msgTypes[20]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1287,7 +1419,7 @@
 func (*FirmwareArtifactInfo_TarballInfo) ProtoMessage() {}
 
 func (x *FirmwareArtifactInfo_TarballInfo) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[18]
+	mi := &file_chromite_api_firmware_proto_msgTypes[20]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1300,9 +1432,10 @@
 
 // Deprecated: Use FirmwareArtifactInfo_TarballInfo.ProtoReflect.Descriptor instead.
 func (*FirmwareArtifactInfo_TarballInfo) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{14, 0}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{16, 0}
 }
 
+// Deprecated: Do not use.
 func (x *FirmwareArtifactInfo_TarballInfo) GetBcsVersion() string {
 	if x != nil {
 		return x.BcsVersion
@@ -1324,6 +1457,7 @@
 	return FirmwareArtifactInfo_TarballInfo_FirmwareType_UNKNOWN
 }
 
+// Deprecated: Do not use.
 func (x *FirmwareArtifactInfo_TarballInfo) GetVersion() *FirmwareArtifactInfo_TarballInfo_Version {
 	if x != nil {
 		return x.Version
@@ -1331,6 +1465,13 @@
 	return nil
 }
 
+func (x *FirmwareArtifactInfo_TarballInfo) GetFirmwareVersionInfo() *FirmwareVersionInfo {
+	if x != nil {
+		return x.FirmwareVersionInfo
+	}
+	return nil
+}
+
 type FirmwareArtifactInfo_ObjectInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1346,7 +1487,7 @@
 func (x *FirmwareArtifactInfo_ObjectInfo) Reset() {
 	*x = FirmwareArtifactInfo_ObjectInfo{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[19]
+		mi := &file_chromite_api_firmware_proto_msgTypes[21]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1359,7 +1500,7 @@
 func (*FirmwareArtifactInfo_ObjectInfo) ProtoMessage() {}
 
 func (x *FirmwareArtifactInfo_ObjectInfo) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[19]
+	mi := &file_chromite_api_firmware_proto_msgTypes[21]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1372,7 +1513,7 @@
 
 // Deprecated: Use FirmwareArtifactInfo_ObjectInfo.ProtoReflect.Descriptor instead.
 func (*FirmwareArtifactInfo_ObjectInfo) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{14, 1}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{16, 1}
 }
 
 func (x *FirmwareArtifactInfo_ObjectInfo) GetFileName() string {
@@ -1418,7 +1559,7 @@
 func (x *FirmwareArtifactInfo_TarballInfo_FirmwareType) Reset() {
 	*x = FirmwareArtifactInfo_TarballInfo_FirmwareType{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[20]
+		mi := &file_chromite_api_firmware_proto_msgTypes[22]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1431,7 +1572,7 @@
 func (*FirmwareArtifactInfo_TarballInfo_FirmwareType) ProtoMessage() {}
 
 func (x *FirmwareArtifactInfo_TarballInfo_FirmwareType) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[20]
+	mi := &file_chromite_api_firmware_proto_msgTypes[22]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1444,7 +1585,7 @@
 
 // Deprecated: Use FirmwareArtifactInfo_TarballInfo_FirmwareType.ProtoReflect.Descriptor instead.
 func (*FirmwareArtifactInfo_TarballInfo_FirmwareType) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{14, 0, 0}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{16, 0, 0}
 }
 
 // The firmware version from updater.sh --manifest.
@@ -1460,7 +1601,7 @@
 func (x *FirmwareArtifactInfo_TarballInfo_Version) Reset() {
 	*x = FirmwareArtifactInfo_TarballInfo_Version{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[21]
+		mi := &file_chromite_api_firmware_proto_msgTypes[23]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1473,7 +1614,7 @@
 func (*FirmwareArtifactInfo_TarballInfo_Version) ProtoMessage() {}
 
 func (x *FirmwareArtifactInfo_TarballInfo_Version) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[21]
+	mi := &file_chromite_api_firmware_proto_msgTypes[23]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1486,7 +1627,7 @@
 
 // Deprecated: Use FirmwareArtifactInfo_TarballInfo_Version.ProtoReflect.Descriptor instead.
 func (*FirmwareArtifactInfo_TarballInfo_Version) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{14, 0, 1}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{16, 0, 1}
 }
 
 func (x *FirmwareArtifactInfo_TarballInfo_Version) GetMajor() int32 {
@@ -1512,232 +1653,255 @@
 	0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f,
 	0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x68, 0x72, 0x6f, 0x6d,
 	0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x22, 0xfe, 0x04, 0x0a, 0x0d, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65,
-	0x74, 0x72, 0x69, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e,
-	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65,
-	0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
-	0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c,
-	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x66, 0x77,
-	0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25,
-	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77,
-	0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x46, 0x77, 0x53, 0x65,
-	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x77, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
-	0x12, 0x42, 0x0a, 0x06, 0x7a, 0x65, 0x70, 0x68, 0x79, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x28, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x5a, 0x65,
-	0x70, 0x68, 0x79, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x7a, 0x65,
-	0x70, 0x68, 0x79, 0x72, 0x1a, 0xe7, 0x01, 0x0a, 0x09, 0x46, 0x77, 0x53, 0x65, 0x63, 0x74, 0x69,
-	0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e,
-	0x46, 0x77, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x77, 0x52, 0x65, 0x67, 0x69,
-	0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73,
-	0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x14,
-	0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74,
-	0x6f, 0x74, 0x61, 0x6c, 0x22, 0x68, 0x0a, 0x08, 0x46, 0x77, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
-	0x12, 0x15, 0x0a, 0x11, 0x46, 0x57, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e,
-	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x43, 0x5f, 0x52, 0x4f,
-	0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x43, 0x5f, 0x52, 0x57, 0x10, 0x02, 0x12, 0x0d, 0x0a,
-	0x09, 0x45, 0x43, 0x5f, 0x52, 0x4f, 0x5f, 0x42, 0x53, 0x53, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09,
-	0x45, 0x43, 0x5f, 0x52, 0x57, 0x5f, 0x42, 0x53, 0x53, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x45,
-	0x43, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x4d, 0x10, 0x05, 0x1a, 0x49,
-	0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a,
-	0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12,
-	0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
-	0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6e, 0x79, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6e, 0x79, 0x1a, 0x5a, 0x0a, 0x0c, 0x5a, 0x65, 0x70,
-	0x68, 0x79, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x4a, 0x0a, 0x0e, 0x6b, 0x65, 0x72,
-	0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x56,
-	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65,
-	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74,
-	0x79, 0x70, 0x65, 0x22, 0x46, 0x0a, 0x11, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65,
-	0x74, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
-	0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
+	0x74, 0x6f, 0x22, 0x37, 0x0a, 0x0e, 0x42, 0x63, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
+	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65,
+	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x3c, 0x0a, 0x13, 0x46,
+	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+	0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74,
+	0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73,
+	0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xfe, 0x04, 0x0a, 0x0d, 0x46, 0x77,
+	0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x74,
+	0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d,
+	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d,
+	0x65, 0x12, 0x44, 0x0a, 0x0a, 0x66, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72,
+	0x69, 0x63, 0x2e, 0x46, 0x77, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x77,
+	0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x7a, 0x65, 0x70, 0x68, 0x79,
+	0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
 	0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65,
-	0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0c, 0x46,
-	0x77, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e,
-	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
-	0x44, 0x0a, 0x10, 0x46, 0x77, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c,
-	0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03,
-	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x46, 0x77, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05,
-	0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x1a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41,
-	0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
-	0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
-	0x18, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46,
-	0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77,
-	0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x63,
-	0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68,
-	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52,
-	0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f,
-	0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
-	0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x22, 0x58, 0x0a, 0x1b,
-	0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77,
-	0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x6d,
-	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63,
-	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x42, 0x75,
-	0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x6d,
-	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x19, 0x54, 0x65, 0x73, 0x74, 0x41,
-	0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
-	0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
-	0x18, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46,
-	0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77,
-	0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x63,
-	0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68,
-	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52,
-	0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f,
-	0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
-	0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x22, 0x56, 0x0a, 0x1a,
-	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61,
-	0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65,
-	0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68,
-	0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x54, 0x65, 0x73,
-	0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x6d, 0x65, 0x74,
-	0x72, 0x69, 0x63, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x17, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c,
-	0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x12, 0x43, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63,
-	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x68,
-	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x46, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x52, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63,
-	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
-	0x6f, 0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f,
-	0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61,
-	0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f,
-	0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x22, 0x55, 0x0a, 0x18, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41,
-	0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+	0x74, 0x72, 0x69, 0x63, 0x2e, 0x5a, 0x65, 0x70, 0x68, 0x79, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65,
+	0x74, 0x48, 0x00, 0x52, 0x06, 0x7a, 0x65, 0x70, 0x68, 0x79, 0x72, 0x1a, 0xe7, 0x01, 0x0a, 0x09,
+	0x46, 0x77, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x06, 0x72, 0x65, 0x67,
+	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x72, 0x6f,
+	0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64,
+	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x46, 0x77, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+	0x2e, 0x46, 0x77, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
+	0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+	0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x68, 0x0a, 0x08, 0x46,
+	0x77, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x57, 0x5f, 0x52, 0x45,
+	0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09,
+	0x0a, 0x05, 0x45, 0x43, 0x5f, 0x52, 0x4f, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x43, 0x5f,
+	0x52, 0x57, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x43, 0x5f, 0x52, 0x4f, 0x5f, 0x42, 0x53,
+	0x53, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x43, 0x5f, 0x52, 0x57, 0x5f, 0x42, 0x53, 0x53,
+	0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x43, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x5f,
+	0x4d, 0x45, 0x4d, 0x10, 0x05, 0x1a, 0x49, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+	0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+	0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04,
+	0x74, 0x69, 0x6e, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6e, 0x79,
+	0x1a, 0x5a, 0x0a, 0x0c, 0x5a, 0x65, 0x70, 0x68, 0x79, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
+	0x12, 0x4a, 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
+	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
+	0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d,
+	0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6b,
+	0x65, 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a,
+	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x46, 0x0a, 0x11, 0x46, 0x77,
+	0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x12,
+	0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
+	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77,
+	0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c,
+	0x75, 0x65, 0x22, 0x22, 0x0a, 0x0c, 0x46, 0x77, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72,
+	0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x44, 0x0a, 0x10, 0x46, 0x77, 0x54, 0x65, 0x73, 0x74,
+	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61,
+	0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x68, 0x72, 0x6f,
+	0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x54, 0x65, 0x73, 0x74, 0x4d,
+	0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb4, 0x01, 0x0a,
+	0x1a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d,
+	0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x66,
+	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
+	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x52, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e,
+	0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x23,
+	0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72,
+	0x61, 0x67, 0x65, 0x22, 0x58, 0x0a, 0x1b, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54,
+	0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 	0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20,
 	0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61,
 	0x70, 0x69, 0x2e, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
-	0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xae, 0x01,
-	0x0a, 0x16, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72,
-	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d,
-	0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73,
-	0x2e, 0x46, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x66, 0x69, 0x72,
-	0x6d, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a,
+	0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xb3, 0x01,
+	0x0a, 0x19, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d,
+	0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x66,
+	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
+	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+	0x52, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e,
+	0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x23,
+	0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72,
+	0x61, 0x67, 0x65, 0x22, 0x56, 0x0a, 0x1a, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f,
+	0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+	0x65, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x46, 0x77, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x69,
+	0x73, 0x74, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x17,
+	0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77,
+	0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e,
+	0x46, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x66, 0x69, 0x72, 0x6d,
+	0x77, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06,
+	0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63,
+	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74,
+	0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65,
+	0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
+	0x0c, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x22, 0x55, 0x0a,
+	0x18, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72,
+	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x65, 0x74,
+	0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x72,
+	0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x42, 0x75, 0x69, 0x6c,
+	0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x6d, 0x65, 0x74,
+	0x72, 0x69, 0x63, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x16, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+	0x43, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61,
+	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x72,
+	0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x46, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x52, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61,
+	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f,
+	0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74,
+	0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67,
+	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x76,
+	0x65, 0x72, 0x61, 0x67, 0x65, 0x22, 0x53, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+	0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x46, 0x77, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x73,
+	0x74, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xb9, 0x02, 0x0a, 0x1e, 0x42,
+	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74,
+	0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a,
 	0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
 	0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f,
-	0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64,
-	0x65, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
-	0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x22, 0x53,
-	0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72,
-	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x74,
-	0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72,
-	0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x77, 0x54, 0x65, 0x73, 0x74,
-	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72,
-	0x69, 0x63, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x1e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69,
-	0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
-	0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f,
-	0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x74,
-	0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
-	0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52,
-	0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x09, 0x61,
-	0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
-	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x72, 0x74, 0x69,
-	0x66, 0x61, 0x63, 0x74, 0x73, 0x42, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46,
-	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
-	0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x63, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
-	0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x63, 0x73, 0x56, 0x65, 0x72, 0x73,
-	0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x1f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72,
-	0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65,
-	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
-	0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
-	0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x41,
-	0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x42, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
-	0x65, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69,
-	0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0xf7, 0x04, 0x0a, 0x14, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61,
-	0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47,
-	0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
-	0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46,
-	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49,
-	0x6e, 0x66, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07,
-	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x1a, 0xfc, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x62,
-	0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x63, 0x73, 0x5f, 0x76,
-	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x63,
-	0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x6d,
-	0x77, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x49,
-	0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
-	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72,
-	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x61, 0x72, 0x62, 0x61,
-	0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x54,
-	0x79, 0x70, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x50,
-	0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x36, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46,
-	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49,
-	0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
-	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
-	0x1a, 0x3d, 0x0a, 0x0c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
-	0x22, 0x2d, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e,
-	0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x12,
-	0x06, 0x0a, 0x02, 0x45, 0x43, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x44, 0x10, 0x03, 0x1a,
-	0x35, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61,
-	0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72,
-	0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
-	0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x1a, 0x96, 0x01, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63,
-	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61,
-	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61,
-	0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e,
-	0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
-	0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
-	0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x61, 0x72,
-	0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x62,
-	0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x16, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x6d, 0x77,
-	0x61, 0x72, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2a,
-	0x5e, 0x0a, 0x0a, 0x46, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a,
-	0x13, 0x46, 0x57, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b,
-	0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f,
-	0x52, 0x4d, 0x5f, 0x45, 0x43, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x4c, 0x41, 0x54, 0x46,
-	0x4f, 0x52, 0x4d, 0x5f, 0x5a, 0x45, 0x50, 0x48, 0x59, 0x52, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d,
-	0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x49, 0x35, 0x30, 0x10, 0x03, 0x32,
-	0xb3, 0x04, 0x0a, 0x0f, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76,
-	0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54,
-	0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x68, 0x72,
-	0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41,
-	0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
+	0x74, 0x52, 0x06, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x72, 0x65, 0x73,
+	0x75, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
+	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x75,
+	0x6c, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x61,
+	0x74, 0x68, 0x12, 0x45, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18,
+	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
+	0x6f, 0x73, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x42, 0x79, 0x53, 0x65,
+	0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x09,
+	0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x62, 0x63, 0x73,
+	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02,
+	0x18, 0x01, 0x52, 0x0a, 0x62, 0x63, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46,
+	0x0a, 0x10, 0x62, 0x63, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e,
+	0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
+	0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x63, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69,
+	0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x62, 0x63, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69,
+	0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x70, 0x0a, 0x1f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
+	0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
+	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x09, 0x61, 0x72, 0x74,
+	0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63,
+	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
+	0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x42, 0x79, 0x53, 0x65, 0x72,
+	0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x09, 0x61,
+	0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0x9e, 0x06, 0x0a, 0x14, 0x46, 0x69, 0x72,
+	0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66,
+	0x6f, 0x12, 0x47, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
+	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
+	0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66,
+	0x6f, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x62, 0x63,
+	0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x42, 0x63, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+	0x66, 0x6f, 0x52, 0x0e, 0x62, 0x63, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+	0x66, 0x6f, 0x1a, 0xdb, 0x03, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e,
+	0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0b, 0x62, 0x63, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
+	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x62, 0x63, 0x73,
+	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x6d, 0x77,
+	0x61, 0x72, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x49, 0x6d,
+	0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74,
+	0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c,
+	0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x54, 0x79,
+	0x70, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x54, 0x0a,
+	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36,
+	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x69,
+	0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e,
+	0x66, 0x6f, 0x2e, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56,
+	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
+	0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x15, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f,
+	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
+	0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x56,
+	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x3d, 0x0a, 0x0c, 0x46, 0x69,
+	0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x2d, 0x0a, 0x04, 0x54, 0x79,
+	0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
+	0x08, 0x0a, 0x04, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x43, 0x10,
+	0x02, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x44, 0x10, 0x03, 0x1a, 0x35, 0x0a, 0x07, 0x56, 0x65, 0x72,
+	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69,
+	0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72,
+	0x1a, 0x96, 0x01, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+	0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0c,
+	0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
+	0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e,
+	0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+	0x6f, 0x42, 0x16, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6f, 0x62,
+	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2a, 0x5e, 0x0a, 0x0a, 0x46, 0x77, 0x4c,
+	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x57, 0x5f, 0x4c, 0x4f,
+	0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
+	0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x45, 0x43, 0x10,
+	0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x5a, 0x45,
+	0x50, 0x48, 0x59, 0x52, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f,
+	0x52, 0x4d, 0x5f, 0x54, 0x49, 0x35, 0x30, 0x10, 0x03, 0x32, 0xb3, 0x04, 0x0a, 0x0f, 0x46, 0x69,
+	0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a,
+	0x13, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d,
+	0x77, 0x61, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
 	0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46,
-	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
-	0x67, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72,
-	0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46,
-	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28,
+	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29,
+	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75,
+	0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72,
+	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x12, 0x54, 0x65, 0x73,
+	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12,
+	0x27, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72,
+	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
+	0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
+	0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+	0x73, 0x65, 0x12, 0x61, 0x0a, 0x10, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69,
+	0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
+	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69,
+	0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
+	0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69,
+	0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73,
+	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0f, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+	0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x24, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
+	0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46,
+	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25,
 	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65,
-	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
-	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x10, 0x42, 0x75, 0x69, 0x6c,
-	0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x25, 0x2e, 0x63,
-	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c,
-	0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75,
-	0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77,
-	0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0f, 0x54,
-	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x24,
-	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65,
-	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77,
-	0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x17, 0x42,
-	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74,
-	0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
-	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d,
-	0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61,
-	0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
-	0x6e, 0x73, 0x65, 0x1a, 0x10, 0xc2, 0xed, 0x1a, 0x0c, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x6d, 0x77,
-	0x61, 0x72, 0x65, 0x10, 0x01, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
-	0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
-	0x6d, 0x6f, 0x73, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
-	0x67, 0x6f, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x62,
-	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73,
+	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x17, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46,
+	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
+	0x12, 0x2c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72,
+	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d,
+	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75,
+	0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69,
+	0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x10, 0xc2,
+	0xed, 0x1a, 0x0c, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x10, 0x01, 0x42,
+	0x38, 0x5a, 0x36, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f,
+	0x72, 0x67, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x69, 0x6e,
+	0x66, 0x72, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x68, 0x72,
+	0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x33,
 }
 
 var (
@@ -1753,81 +1917,86 @@
 }
 
 var file_chromite_api_firmware_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_chromite_api_firmware_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
+var file_chromite_api_firmware_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
 var file_chromite_api_firmware_proto_goTypes = []interface{}{
 	(FwLocation)(0),                                         // 0: chromite.api.FwLocation
 	(FwBuildMetric_FwSection_FwRegion)(0),                   // 1: chromite.api.FwBuildMetric.FwSection.FwRegion
 	(FirmwareArtifactInfo_TarballInfo_FirmwareType_Type)(0), // 2: chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType.Type
-	(*FwBuildMetric)(nil),                                   // 3: chromite.api.FwBuildMetric
-	(*FwBuildMetricList)(nil),                               // 4: chromite.api.FwBuildMetricList
-	(*FwTestMetric)(nil),                                    // 5: chromite.api.FwTestMetric
-	(*FwTestMetricList)(nil),                                // 6: chromite.api.FwTestMetricList
-	(*BuildAllTotFirmwareRequest)(nil),                      // 7: chromite.api.BuildAllTotFirmwareRequest
-	(*BuildAllTotFirmwareResponse)(nil),                     // 8: chromite.api.BuildAllTotFirmwareResponse
-	(*TestAllTotFirmwareRequest)(nil),                       // 9: chromite.api.TestAllTotFirmwareRequest
-	(*TestAllTotFirmwareResponse)(nil),                      // 10: chromite.api.TestAllTotFirmwareResponse
-	(*BuildAllFirmwareRequest)(nil),                         // 11: chromite.api.BuildAllFirmwareRequest
-	(*BuildAllFirmwareResponse)(nil),                        // 12: chromite.api.BuildAllFirmwareResponse
-	(*TestAllFirmwareRequest)(nil),                          // 13: chromite.api.TestAllFirmwareRequest
-	(*TestAllFirmwareResponse)(nil),                         // 14: chromite.api.TestAllFirmwareResponse
-	(*BundleFirmwareArtifactsRequest)(nil),                  // 15: chromite.api.BundleFirmwareArtifactsRequest
-	(*BundleFirmwareArtifactsResponse)(nil),                 // 16: chromite.api.BundleFirmwareArtifactsResponse
-	(*FirmwareArtifactInfo)(nil),                            // 17: chromite.api.FirmwareArtifactInfo
-	(*FwBuildMetric_FwSection)(nil),                         // 18: chromite.api.FwBuildMetric.FwSection
-	(*FwBuildMetric_Version)(nil),                           // 19: chromite.api.FwBuildMetric.Version
-	(*FwBuildMetric_ZephyrTarget)(nil),                      // 20: chromite.api.FwBuildMetric.ZephyrTarget
-	(*FirmwareArtifactInfo_TarballInfo)(nil),                // 21: chromite.api.FirmwareArtifactInfo.TarballInfo
-	(*FirmwareArtifactInfo_ObjectInfo)(nil),                 // 22: chromite.api.FirmwareArtifactInfo.ObjectInfo
-	(*FirmwareArtifactInfo_TarballInfo_FirmwareType)(nil),   // 23: chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType
-	(*FirmwareArtifactInfo_TarballInfo_Version)(nil),        // 24: chromite.api.FirmwareArtifactInfo.TarballInfo.Version
-	(*chromiumos.Chroot)(nil),                               // 25: chromiumos.Chroot
-	(chromiumos.FwLocation)(0),                              // 26: chromiumos.FwLocation
-	(*chromiumos.ResultPath)(nil),                           // 27: chromiumos.ResultPath
-	(*chromiumos.ArtifactsByService_Firmware)(nil),          // 28: chromiumos.ArtifactsByService.Firmware
-	(*chromiumos.UploadedArtifactsByService_Firmware)(nil),  // 29: chromiumos.UploadedArtifactsByService.Firmware
+	(*BcsVersionInfo)(nil),                                  // 3: chromite.api.BcsVersionInfo
+	(*FirmwareVersionInfo)(nil),                             // 4: chromite.api.FirmwareVersionInfo
+	(*FwBuildMetric)(nil),                                   // 5: chromite.api.FwBuildMetric
+	(*FwBuildMetricList)(nil),                               // 6: chromite.api.FwBuildMetricList
+	(*FwTestMetric)(nil),                                    // 7: chromite.api.FwTestMetric
+	(*FwTestMetricList)(nil),                                // 8: chromite.api.FwTestMetricList
+	(*BuildAllTotFirmwareRequest)(nil),                      // 9: chromite.api.BuildAllTotFirmwareRequest
+	(*BuildAllTotFirmwareResponse)(nil),                     // 10: chromite.api.BuildAllTotFirmwareResponse
+	(*TestAllTotFirmwareRequest)(nil),                       // 11: chromite.api.TestAllTotFirmwareRequest
+	(*TestAllTotFirmwareResponse)(nil),                      // 12: chromite.api.TestAllTotFirmwareResponse
+	(*BuildAllFirmwareRequest)(nil),                         // 13: chromite.api.BuildAllFirmwareRequest
+	(*BuildAllFirmwareResponse)(nil),                        // 14: chromite.api.BuildAllFirmwareResponse
+	(*TestAllFirmwareRequest)(nil),                          // 15: chromite.api.TestAllFirmwareRequest
+	(*TestAllFirmwareResponse)(nil),                         // 16: chromite.api.TestAllFirmwareResponse
+	(*BundleFirmwareArtifactsRequest)(nil),                  // 17: chromite.api.BundleFirmwareArtifactsRequest
+	(*BundleFirmwareArtifactsResponse)(nil),                 // 18: chromite.api.BundleFirmwareArtifactsResponse
+	(*FirmwareArtifactInfo)(nil),                            // 19: chromite.api.FirmwareArtifactInfo
+	(*FwBuildMetric_FwSection)(nil),                         // 20: chromite.api.FwBuildMetric.FwSection
+	(*FwBuildMetric_Version)(nil),                           // 21: chromite.api.FwBuildMetric.Version
+	(*FwBuildMetric_ZephyrTarget)(nil),                      // 22: chromite.api.FwBuildMetric.ZephyrTarget
+	(*FirmwareArtifactInfo_TarballInfo)(nil),                // 23: chromite.api.FirmwareArtifactInfo.TarballInfo
+	(*FirmwareArtifactInfo_ObjectInfo)(nil),                 // 24: chromite.api.FirmwareArtifactInfo.ObjectInfo
+	(*FirmwareArtifactInfo_TarballInfo_FirmwareType)(nil),   // 25: chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType
+	(*FirmwareArtifactInfo_TarballInfo_Version)(nil),        // 26: chromite.api.FirmwareArtifactInfo.TarballInfo.Version
+	(*chromiumos.Chroot)(nil),                               // 27: chromiumos.Chroot
+	(chromiumos.FwLocation)(0),                              // 28: chromiumos.FwLocation
+	(*chromiumos.ResultPath)(nil),                           // 29: chromiumos.ResultPath
+	(*chromiumos.ArtifactsByService_Firmware)(nil),          // 30: chromiumos.ArtifactsByService.Firmware
+	(*chromiumos.UploadedArtifactsByService_Firmware)(nil),  // 31: chromiumos.UploadedArtifactsByService.Firmware
 }
 var file_chromite_api_firmware_proto_depIdxs = []int32{
-	18, // 0: chromite.api.FwBuildMetric.fw_section:type_name -> chromite.api.FwBuildMetric.FwSection
-	20, // 1: chromite.api.FwBuildMetric.zephyr:type_name -> chromite.api.FwBuildMetric.ZephyrTarget
-	3,  // 2: chromite.api.FwBuildMetricList.value:type_name -> chromite.api.FwBuildMetric
-	5,  // 3: chromite.api.FwTestMetricList.value:type_name -> chromite.api.FwTestMetric
+	20, // 0: chromite.api.FwBuildMetric.fw_section:type_name -> chromite.api.FwBuildMetric.FwSection
+	22, // 1: chromite.api.FwBuildMetric.zephyr:type_name -> chromite.api.FwBuildMetric.ZephyrTarget
+	5,  // 2: chromite.api.FwBuildMetricList.value:type_name -> chromite.api.FwBuildMetric
+	7,  // 3: chromite.api.FwTestMetricList.value:type_name -> chromite.api.FwTestMetric
 	0,  // 4: chromite.api.BuildAllTotFirmwareRequest.firmware_location:type_name -> chromite.api.FwLocation
-	25, // 5: chromite.api.BuildAllTotFirmwareRequest.chroot:type_name -> chromiumos.Chroot
-	4,  // 6: chromite.api.BuildAllTotFirmwareResponse.metrics:type_name -> chromite.api.FwBuildMetricList
+	27, // 5: chromite.api.BuildAllTotFirmwareRequest.chroot:type_name -> chromiumos.Chroot
+	6,  // 6: chromite.api.BuildAllTotFirmwareResponse.metrics:type_name -> chromite.api.FwBuildMetricList
 	0,  // 7: chromite.api.TestAllTotFirmwareRequest.firmware_location:type_name -> chromite.api.FwLocation
-	25, // 8: chromite.api.TestAllTotFirmwareRequest.chroot:type_name -> chromiumos.Chroot
-	6,  // 9: chromite.api.TestAllTotFirmwareResponse.metrics:type_name -> chromite.api.FwTestMetricList
-	26, // 10: chromite.api.BuildAllFirmwareRequest.firmware_location:type_name -> chromiumos.FwLocation
-	25, // 11: chromite.api.BuildAllFirmwareRequest.chroot:type_name -> chromiumos.Chroot
-	4,  // 12: chromite.api.BuildAllFirmwareResponse.metrics:type_name -> chromite.api.FwBuildMetricList
-	26, // 13: chromite.api.TestAllFirmwareRequest.firmware_location:type_name -> chromiumos.FwLocation
-	25, // 14: chromite.api.TestAllFirmwareRequest.chroot:type_name -> chromiumos.Chroot
-	6,  // 15: chromite.api.TestAllFirmwareResponse.metrics:type_name -> chromite.api.FwTestMetricList
-	25, // 16: chromite.api.BundleFirmwareArtifactsRequest.chroot:type_name -> chromiumos.Chroot
-	27, // 17: chromite.api.BundleFirmwareArtifactsRequest.result_path:type_name -> chromiumos.ResultPath
-	28, // 18: chromite.api.BundleFirmwareArtifactsRequest.artifacts:type_name -> chromiumos.ArtifactsByService.Firmware
-	29, // 19: chromite.api.BundleFirmwareArtifactsResponse.artifacts:type_name -> chromiumos.UploadedArtifactsByService.Firmware
-	22, // 20: chromite.api.FirmwareArtifactInfo.objects:type_name -> chromite.api.FirmwareArtifactInfo.ObjectInfo
-	1,  // 21: chromite.api.FwBuildMetric.FwSection.region:type_name -> chromite.api.FwBuildMetric.FwSection.FwRegion
-	19, // 22: chromite.api.FwBuildMetric.ZephyrTarget.kernel_version:type_name -> chromite.api.FwBuildMetric.Version
-	2,  // 23: chromite.api.FirmwareArtifactInfo.TarballInfo.type:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType.Type
-	24, // 24: chromite.api.FirmwareArtifactInfo.TarballInfo.version:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo.Version
-	21, // 25: chromite.api.FirmwareArtifactInfo.ObjectInfo.tarball_info:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo
-	7,  // 26: chromite.api.FirmwareService.BuildAllTotFirmware:input_type -> chromite.api.BuildAllTotFirmwareRequest
-	9,  // 27: chromite.api.FirmwareService.TestAllTotFirmware:input_type -> chromite.api.TestAllTotFirmwareRequest
-	11, // 28: chromite.api.FirmwareService.BuildAllFirmware:input_type -> chromite.api.BuildAllFirmwareRequest
-	13, // 29: chromite.api.FirmwareService.TestAllFirmware:input_type -> chromite.api.TestAllFirmwareRequest
-	15, // 30: chromite.api.FirmwareService.BundleFirmwareArtifacts:input_type -> chromite.api.BundleFirmwareArtifactsRequest
-	8,  // 31: chromite.api.FirmwareService.BuildAllTotFirmware:output_type -> chromite.api.BuildAllTotFirmwareResponse
-	10, // 32: chromite.api.FirmwareService.TestAllTotFirmware:output_type -> chromite.api.TestAllTotFirmwareResponse
-	12, // 33: chromite.api.FirmwareService.BuildAllFirmware:output_type -> chromite.api.BuildAllFirmwareResponse
-	14, // 34: chromite.api.FirmwareService.TestAllFirmware:output_type -> chromite.api.TestAllFirmwareResponse
-	16, // 35: chromite.api.FirmwareService.BundleFirmwareArtifacts:output_type -> chromite.api.BundleFirmwareArtifactsResponse
-	31, // [31:36] is the sub-list for method output_type
-	26, // [26:31] is the sub-list for method input_type
-	26, // [26:26] is the sub-list for extension type_name
-	26, // [26:26] is the sub-list for extension extendee
-	0,  // [0:26] is the sub-list for field type_name
+	27, // 8: chromite.api.TestAllTotFirmwareRequest.chroot:type_name -> chromiumos.Chroot
+	8,  // 9: chromite.api.TestAllTotFirmwareResponse.metrics:type_name -> chromite.api.FwTestMetricList
+	28, // 10: chromite.api.BuildAllFirmwareRequest.firmware_location:type_name -> chromiumos.FwLocation
+	27, // 11: chromite.api.BuildAllFirmwareRequest.chroot:type_name -> chromiumos.Chroot
+	6,  // 12: chromite.api.BuildAllFirmwareResponse.metrics:type_name -> chromite.api.FwBuildMetricList
+	28, // 13: chromite.api.TestAllFirmwareRequest.firmware_location:type_name -> chromiumos.FwLocation
+	27, // 14: chromite.api.TestAllFirmwareRequest.chroot:type_name -> chromiumos.Chroot
+	8,  // 15: chromite.api.TestAllFirmwareResponse.metrics:type_name -> chromite.api.FwTestMetricList
+	27, // 16: chromite.api.BundleFirmwareArtifactsRequest.chroot:type_name -> chromiumos.Chroot
+	29, // 17: chromite.api.BundleFirmwareArtifactsRequest.result_path:type_name -> chromiumos.ResultPath
+	30, // 18: chromite.api.BundleFirmwareArtifactsRequest.artifacts:type_name -> chromiumos.ArtifactsByService.Firmware
+	3,  // 19: chromite.api.BundleFirmwareArtifactsRequest.bcs_version_info:type_name -> chromite.api.BcsVersionInfo
+	31, // 20: chromite.api.BundleFirmwareArtifactsResponse.artifacts:type_name -> chromiumos.UploadedArtifactsByService.Firmware
+	24, // 21: chromite.api.FirmwareArtifactInfo.objects:type_name -> chromite.api.FirmwareArtifactInfo.ObjectInfo
+	3,  // 22: chromite.api.FirmwareArtifactInfo.bcs_version_info:type_name -> chromite.api.BcsVersionInfo
+	1,  // 23: chromite.api.FwBuildMetric.FwSection.region:type_name -> chromite.api.FwBuildMetric.FwSection.FwRegion
+	21, // 24: chromite.api.FwBuildMetric.ZephyrTarget.kernel_version:type_name -> chromite.api.FwBuildMetric.Version
+	2,  // 25: chromite.api.FirmwareArtifactInfo.TarballInfo.type:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType.Type
+	26, // 26: chromite.api.FirmwareArtifactInfo.TarballInfo.version:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo.Version
+	4,  // 27: chromite.api.FirmwareArtifactInfo.TarballInfo.firmware_version_info:type_name -> chromite.api.FirmwareVersionInfo
+	23, // 28: chromite.api.FirmwareArtifactInfo.ObjectInfo.tarball_info:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo
+	9,  // 29: chromite.api.FirmwareService.BuildAllTotFirmware:input_type -> chromite.api.BuildAllTotFirmwareRequest
+	11, // 30: chromite.api.FirmwareService.TestAllTotFirmware:input_type -> chromite.api.TestAllTotFirmwareRequest
+	13, // 31: chromite.api.FirmwareService.BuildAllFirmware:input_type -> chromite.api.BuildAllFirmwareRequest
+	15, // 32: chromite.api.FirmwareService.TestAllFirmware:input_type -> chromite.api.TestAllFirmwareRequest
+	17, // 33: chromite.api.FirmwareService.BundleFirmwareArtifacts:input_type -> chromite.api.BundleFirmwareArtifactsRequest
+	10, // 34: chromite.api.FirmwareService.BuildAllTotFirmware:output_type -> chromite.api.BuildAllTotFirmwareResponse
+	12, // 35: chromite.api.FirmwareService.TestAllTotFirmware:output_type -> chromite.api.TestAllTotFirmwareResponse
+	14, // 36: chromite.api.FirmwareService.BuildAllFirmware:output_type -> chromite.api.BuildAllFirmwareResponse
+	16, // 37: chromite.api.FirmwareService.TestAllFirmware:output_type -> chromite.api.TestAllFirmwareResponse
+	18, // 38: chromite.api.FirmwareService.BundleFirmwareArtifacts:output_type -> chromite.api.BundleFirmwareArtifactsResponse
+	34, // [34:39] is the sub-list for method output_type
+	29, // [29:34] is the sub-list for method input_type
+	29, // [29:29] is the sub-list for extension type_name
+	29, // [29:29] is the sub-list for extension extendee
+	0,  // [0:29] is the sub-list for field type_name
 }
 
 func init() { file_chromite_api_firmware_proto_init() }
@@ -1838,7 +2007,7 @@
 	file_chromite_api_build_api_proto_init()
 	if !protoimpl.UnsafeEnabled {
 		file_chromite_api_firmware_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FwBuildMetric); i {
+			switch v := v.(*BcsVersionInfo); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1850,7 +2019,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FwBuildMetricList); i {
+			switch v := v.(*FirmwareVersionInfo); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1862,7 +2031,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FwTestMetric); i {
+			switch v := v.(*FwBuildMetric); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1874,7 +2043,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FwTestMetricList); i {
+			switch v := v.(*FwBuildMetricList); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1886,7 +2055,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*BuildAllTotFirmwareRequest); i {
+			switch v := v.(*FwTestMetric); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1898,7 +2067,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*BuildAllTotFirmwareResponse); i {
+			switch v := v.(*FwTestMetricList); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1910,7 +2079,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TestAllTotFirmwareRequest); i {
+			switch v := v.(*BuildAllTotFirmwareRequest); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1922,7 +2091,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TestAllTotFirmwareResponse); i {
+			switch v := v.(*BuildAllTotFirmwareResponse); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1934,7 +2103,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*BuildAllFirmwareRequest); i {
+			switch v := v.(*TestAllTotFirmwareRequest); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1946,7 +2115,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*BuildAllFirmwareResponse); i {
+			switch v := v.(*TestAllTotFirmwareResponse); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1958,7 +2127,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TestAllFirmwareRequest); i {
+			switch v := v.(*BuildAllFirmwareRequest); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1970,7 +2139,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TestAllFirmwareResponse); i {
+			switch v := v.(*BuildAllFirmwareResponse); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1982,7 +2151,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*BundleFirmwareArtifactsRequest); i {
+			switch v := v.(*TestAllFirmwareRequest); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -1994,7 +2163,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*BundleFirmwareArtifactsResponse); i {
+			switch v := v.(*TestAllFirmwareResponse); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2006,7 +2175,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FirmwareArtifactInfo); i {
+			switch v := v.(*BundleFirmwareArtifactsRequest); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2018,7 +2187,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FwBuildMetric_FwSection); i {
+			switch v := v.(*BundleFirmwareArtifactsResponse); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2030,7 +2199,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FwBuildMetric_Version); i {
+			switch v := v.(*FirmwareArtifactInfo); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2042,7 +2211,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FwBuildMetric_ZephyrTarget); i {
+			switch v := v.(*FwBuildMetric_FwSection); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2054,7 +2223,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FirmwareArtifactInfo_TarballInfo); i {
+			switch v := v.(*FwBuildMetric_Version); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2066,7 +2235,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FirmwareArtifactInfo_ObjectInfo); i {
+			switch v := v.(*FwBuildMetric_ZephyrTarget); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2078,7 +2247,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FirmwareArtifactInfo_TarballInfo_FirmwareType); i {
+			switch v := v.(*FirmwareArtifactInfo_TarballInfo); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2090,6 +2259,30 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*FirmwareArtifactInfo_ObjectInfo); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_chromite_api_firmware_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*FirmwareArtifactInfo_TarballInfo_FirmwareType); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_chromite_api_firmware_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FirmwareArtifactInfo_TarballInfo_Version); i {
 			case 0:
 				return &v.state
@@ -2102,10 +2295,10 @@
 			}
 		}
 	}
-	file_chromite_api_firmware_proto_msgTypes[0].OneofWrappers = []interface{}{
+	file_chromite_api_firmware_proto_msgTypes[2].OneofWrappers = []interface{}{
 		(*FwBuildMetric_Zephyr)(nil),
 	}
-	file_chromite_api_firmware_proto_msgTypes[19].OneofWrappers = []interface{}{
+	file_chromite_api_firmware_proto_msgTypes[21].OneofWrappers = []interface{}{
 		(*FirmwareArtifactInfo_ObjectInfo_TarballInfo)(nil),
 	}
 	type x struct{}
@@ -2114,7 +2307,7 @@
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_chromite_api_firmware_proto_rawDesc,
 			NumEnums:      3,
-			NumMessages:   22,
+			NumMessages:   24,
 			NumExtensions: 0,
 			NumServices:   1,
 		},
diff --git a/src/chromite/api/firmware.proto b/src/chromite/api/firmware.proto
index bfa243d..b8b4166 100644
--- a/src/chromite/api/firmware.proto
+++ b/src/chromite/api/firmware.proto
@@ -17,6 +17,21 @@
   PLATFORM_TI50 = 3; // platform/ti50/common/firmware_builder.py.  Added in R90.
 }
 
+// Added in R91.
+message BcsVersionInfo {
+  // Chrome OS version string, such as "R91-13844.0.0-45436".
+  string version_string = 1;
+  // Extend with fields that break down the version string.
+  // This should come from chromiumos/common.proto.
+}
+
+// Added in R91.
+message FirmwareVersionInfo {
+  // Firmware version string, such as "atlas_v2.0.923-84a1d7260".
+  string version_string = 1;
+  // Extend with fields that break down the version string.
+}
+
 // Metrics collected on every successful firmware build.
 message FwBuildMetric {
   // Lowercase name of the firmware target built. E.g. phaser.
@@ -186,7 +201,11 @@
   chromiumos.ArtifactsByService.Firmware artifacts = 4;
 
   // The Chrome OS style version to use in FirmwareArtifactInfo.
-  string bcs_version = 5;
+  // Added and deprecated in R91.
+  string bcs_version = 5 [deprecated = true];
+
+  // BcsVersionInfo to use in (copy into) FirmwareArtifactInfo.TarballInfo.
+  BcsVersionInfo bcs_version_info = 6;
 }
 
 message BundleFirmwareArtifactsResponse {
@@ -200,7 +219,9 @@
   // chromiumos/config/api/software/firmware_config.proto
   message TarballInfo {
       // The Chrome OS style version.
-      string bcs_version = 1;
+      // Use bcs_version_info.version_string instead.
+      // Deprecated since R91.
+      string bcs_version = 1 [deprecated = true];
 
       // The name of the firmware image used by the firmware updater. Typically
       // the device name, but can differ when a device may have two or more
@@ -223,7 +244,12 @@
         int32 major = 1;
         int32 minor = 2;
       }
-      Version version = 4;
+      // Use firmware_version_info instead.
+      // Deprecated since R91.
+      Version version = 4 [deprecated = true];
+
+      // Added in R91.  Required.
+      FirmwareVersionInfo firmware_version_info = 5;
   }
 
   message ObjectInfo {
@@ -236,6 +262,11 @@
     }
   }
   repeated ObjectInfo objects = 1;
+
+  // The value provided by BundleFirmwareArtifactsRequest, this is the version
+  // of Chrome OS used for this build.
+  // Added in R91.
+  BcsVersionInfo bcs_version_info = 2;
 }
 
 
