[autoroll] Add GitCheckoutGerritParent

I'm surprised we haven't needed this yet. A roller which uses a local
git checkout but doesn't use gclient to sync DEPS.

Bug: b/339417753
Change-Id: I56935e758b1ef68814dc3900c93fb6ba69d9833a
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/851608
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
diff --git a/autoroll/go/config/config.go b/autoroll/go/config/config.go
index 28bbe90..397ba48 100644
--- a/autoroll/go/config/config.go
+++ b/autoroll/go/config/config.go
@@ -680,6 +680,9 @@
 	if c.GetGitCheckoutGithubFileParent() != nil {
 		parents = append(parents, c.GetGitCheckoutGithubFileParent())
 	}
+	if c.GetGitCheckoutGerritParent() != nil {
+		parents = append(parents, c.GetGitCheckoutGerritParent())
+	}
 	if c.GetGitilesParent() != nil {
 		parents = append(parents, c.GetGitilesParent())
 	}
@@ -728,6 +731,9 @@
 	if c.GetGitCheckoutGithubFileParent() != nil {
 		return false
 	}
+	if c.GetGitCheckoutGerritParent() != nil {
+		return false
+	}
 	return true
 }
 
@@ -1092,6 +1098,17 @@
 }
 
 // Validate implements util.Validator.
+func (c *GitCheckoutGerritParentConfig) Validate() error {
+	if c.GitCheckout == nil {
+		return skerr.Fmt("GitCheckout is required.")
+	}
+	if err := c.GitCheckout.Validate(); err != nil {
+		return skerr.Wrap(err)
+	}
+	return nil
+}
+
+// Validate implements util.Validator.
 func (c *BuildbucketRevisionFilterConfig) Validate() error {
 	if c.Project == "" {
 		return skerr.Fmt("Project is required.")
diff --git a/autoroll/go/config/config.pb.go b/autoroll/go/config/config.pb.go
index 67bfbb9..a491370 100644
--- a/autoroll/go/config/config.pb.go
+++ b/autoroll/go/config/config.pb.go
@@ -351,7 +351,7 @@
 
 // Deprecated: Use NotifierConfig_LogLevel.Descriptor instead.
 func (NotifierConfig_LogLevel) EnumDescriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{31, 0}
+	return file_config_proto_rawDescGZIP(), []int{32, 0}
 }
 
 // MsgType categorizes notifications based on their type.
@@ -422,7 +422,7 @@
 
 // Deprecated: Use NotifierConfig_MsgType.Descriptor instead.
 func (NotifierConfig_MsgType) EnumDescriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{31, 1}
+	return file_config_proto_rawDescGZIP(), []int{32, 1}
 }
 
 // Config provides configuration for one AutoRoller.
@@ -1733,6 +1733,7 @@
 	//	*ParentChildRepoManagerConfig_GitCheckoutGithubFileParent
 	//	*ParentChildRepoManagerConfig_GitilesParent
 	//	*ParentChildRepoManagerConfig_GoModGerritParent
+	//	*ParentChildRepoManagerConfig_GitCheckoutGerritParent
 	Parent isParentChildRepoManagerConfig_Parent `protobuf_oneof:"parent"`
 	// child is the entity which is depended on by the parent and is rolled.
 	//
@@ -1834,6 +1835,13 @@
 	return nil
 }
 
+func (x *ParentChildRepoManagerConfig) GetGitCheckoutGerritParent() *GitCheckoutGerritParentConfig {
+	if x, ok := x.GetParent().(*ParentChildRepoManagerConfig_GitCheckoutGerritParent); ok {
+		return x.GitCheckoutGerritParent
+	}
+	return nil
+}
+
 func (m *ParentChildRepoManagerConfig) GetChild() isParentChildRepoManagerConfig_Child {
 	if m != nil {
 		return m.Child
@@ -1939,6 +1947,10 @@
 	GoModGerritParent *GoModGerritParentConfig `protobuf:"bytes,14,opt,name=go_mod_gerrit_parent,json=goModGerritParent,proto3,oneof"`
 }
 
+type ParentChildRepoManagerConfig_GitCheckoutGerritParent struct {
+	GitCheckoutGerritParent *GitCheckoutGerritParentConfig `protobuf:"bytes,17,opt,name=git_checkout_gerrit_parent,json=gitCheckoutGerritParent,proto3,oneof"`
+}
+
 func (*ParentChildRepoManagerConfig_CopyParent) isParentChildRepoManagerConfig_Parent() {}
 
 func (*ParentChildRepoManagerConfig_DepsLocalGithubParent) isParentChildRepoManagerConfig_Parent() {}
@@ -1952,6 +1964,9 @@
 
 func (*ParentChildRepoManagerConfig_GoModGerritParent) isParentChildRepoManagerConfig_Parent() {}
 
+func (*ParentChildRepoManagerConfig_GitCheckoutGerritParent) isParentChildRepoManagerConfig_Parent() {
+}
+
 type isParentChildRepoManagerConfig_Child interface {
 	isParentChildRepoManagerConfig_Child()
 }
@@ -2236,6 +2251,55 @@
 	return ""
 }
 
+// GitCheckoutGerritParentConfig provides configuration for a Parent which
+// uses a local Git checkout and uploads CLs to Gerrit.
+type GitCheckoutGerritParentConfig struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	GitCheckout *GitCheckoutParentConfig `protobuf:"bytes,1,opt,name=git_checkout,json=gitCheckout,proto3" json:"git_checkout,omitempty"`
+}
+
+func (x *GitCheckoutGerritParentConfig) Reset() {
+	*x = GitCheckoutGerritParentConfig{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_config_proto_msgTypes[15]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *GitCheckoutGerritParentConfig) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GitCheckoutGerritParentConfig) ProtoMessage() {}
+
+func (x *GitCheckoutGerritParentConfig) ProtoReflect() protoreflect.Message {
+	mi := &file_config_proto_msgTypes[15]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use GitCheckoutGerritParentConfig.ProtoReflect.Descriptor instead.
+func (*GitCheckoutGerritParentConfig) Descriptor() ([]byte, []int) {
+	return file_config_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *GitCheckoutGerritParentConfig) GetGitCheckout() *GitCheckoutParentConfig {
+	if x != nil {
+		return x.GitCheckout
+	}
+	return nil
+}
+
 // GitCheckoutGitHubFileParentConfig provides configuration for a Parent which
 // uses a local Git checkout and uploads pull requests to GitHub.
 type GitCheckoutGitHubFileParentConfig struct {
@@ -2252,7 +2316,7 @@
 func (x *GitCheckoutGitHubFileParentConfig) Reset() {
 	*x = GitCheckoutGitHubFileParentConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[15]
+		mi := &file_config_proto_msgTypes[16]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2265,7 +2329,7 @@
 func (*GitCheckoutGitHubFileParentConfig) ProtoMessage() {}
 
 func (x *GitCheckoutGitHubFileParentConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[15]
+	mi := &file_config_proto_msgTypes[16]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2278,7 +2342,7 @@
 
 // Deprecated: Use GitCheckoutGitHubFileParentConfig.ProtoReflect.Descriptor instead.
 func (*GitCheckoutGitHubFileParentConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{15}
+	return file_config_proto_rawDescGZIP(), []int{16}
 }
 
 func (x *GitCheckoutGitHubFileParentConfig) GetGitCheckout() *GitCheckoutGitHubParentConfig {
@@ -2316,7 +2380,7 @@
 func (x *GitilesParentConfig) Reset() {
 	*x = GitilesParentConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[16]
+		mi := &file_config_proto_msgTypes[17]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2329,7 +2393,7 @@
 func (*GitilesParentConfig) ProtoMessage() {}
 
 func (x *GitilesParentConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[16]
+	mi := &file_config_proto_msgTypes[17]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2342,7 +2406,7 @@
 
 // Deprecated: Use GitilesParentConfig.ProtoReflect.Descriptor instead.
 func (*GitilesParentConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{16}
+	return file_config_proto_rawDescGZIP(), []int{17}
 }
 
 func (x *GitilesParentConfig) GetGitiles() *GitilesConfig {
@@ -2388,7 +2452,7 @@
 func (x *GitilesConfig) Reset() {
 	*x = GitilesConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[17]
+		mi := &file_config_proto_msgTypes[18]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2401,7 +2465,7 @@
 func (*GitilesConfig) ProtoMessage() {}
 
 func (x *GitilesConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[17]
+	mi := &file_config_proto_msgTypes[18]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2414,7 +2478,7 @@
 
 // Deprecated: Use GitilesConfig.ProtoReflect.Descriptor instead.
 func (*GitilesConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{17}
+	return file_config_proto_rawDescGZIP(), []int{18}
 }
 
 func (x *GitilesConfig) GetBranch() string {
@@ -2459,7 +2523,7 @@
 func (x *GoModGerritParentConfig) Reset() {
 	*x = GoModGerritParentConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[18]
+		mi := &file_config_proto_msgTypes[19]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2472,7 +2536,7 @@
 func (*GoModGerritParentConfig) ProtoMessage() {}
 
 func (x *GoModGerritParentConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[18]
+	mi := &file_config_proto_msgTypes[19]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2485,7 +2549,7 @@
 
 // Deprecated: Use GoModGerritParentConfig.ProtoReflect.Descriptor instead.
 func (*GoModGerritParentConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{18}
+	return file_config_proto_rawDescGZIP(), []int{19}
 }
 
 func (x *GoModGerritParentConfig) GetGoMod() *GoModParentConfig {
@@ -2527,7 +2591,7 @@
 func (x *GoModParentConfig) Reset() {
 	*x = GoModParentConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[19]
+		mi := &file_config_proto_msgTypes[20]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2540,7 +2604,7 @@
 func (*GoModParentConfig) ProtoMessage() {}
 
 func (x *GoModParentConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[19]
+	mi := &file_config_proto_msgTypes[20]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2553,7 +2617,7 @@
 
 // Deprecated: Use GoModParentConfig.ProtoReflect.Descriptor instead.
 func (*GoModParentConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{19}
+	return file_config_proto_rawDescGZIP(), []int{20}
 }
 
 func (x *GoModParentConfig) GetGitCheckout() *GitCheckoutConfig {
@@ -2628,7 +2692,7 @@
 func (x *DEPSLocalParentConfig) Reset() {
 	*x = DEPSLocalParentConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[20]
+		mi := &file_config_proto_msgTypes[21]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2641,7 +2705,7 @@
 func (*DEPSLocalParentConfig) ProtoMessage() {}
 
 func (x *DEPSLocalParentConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[20]
+	mi := &file_config_proto_msgTypes[21]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2654,7 +2718,7 @@
 
 // Deprecated: Use DEPSLocalParentConfig.ProtoReflect.Descriptor instead.
 func (*DEPSLocalParentConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{20}
+	return file_config_proto_rawDescGZIP(), []int{21}
 }
 
 func (x *DEPSLocalParentConfig) GetGitCheckout() *GitCheckoutParentConfig {
@@ -2727,7 +2791,7 @@
 func (x *GitCheckoutParentConfig) Reset() {
 	*x = GitCheckoutParentConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[21]
+		mi := &file_config_proto_msgTypes[22]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2740,7 +2804,7 @@
 func (*GitCheckoutParentConfig) ProtoMessage() {}
 
 func (x *GitCheckoutParentConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[21]
+	mi := &file_config_proto_msgTypes[22]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2753,7 +2817,7 @@
 
 // Deprecated: Use GitCheckoutParentConfig.ProtoReflect.Descriptor instead.
 func (*GitCheckoutParentConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{21}
+	return file_config_proto_rawDescGZIP(), []int{22}
 }
 
 func (x *GitCheckoutParentConfig) GetGitCheckout() *GitCheckoutConfig {
@@ -2782,7 +2846,7 @@
 func (x *FreeTypeParentConfig) Reset() {
 	*x = FreeTypeParentConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[22]
+		mi := &file_config_proto_msgTypes[23]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2795,7 +2859,7 @@
 func (*FreeTypeParentConfig) ProtoMessage() {}
 
 func (x *FreeTypeParentConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[22]
+	mi := &file_config_proto_msgTypes[23]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2808,7 +2872,7 @@
 
 // Deprecated: Use FreeTypeParentConfig.ProtoReflect.Descriptor instead.
 func (*FreeTypeParentConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{22}
+	return file_config_proto_rawDescGZIP(), []int{23}
 }
 
 func (x *FreeTypeParentConfig) GetGitiles() *GitilesParentConfig {
@@ -2854,7 +2918,7 @@
 func (x *CIPDChildConfig) Reset() {
 	*x = CIPDChildConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[23]
+		mi := &file_config_proto_msgTypes[24]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2867,7 +2931,7 @@
 func (*CIPDChildConfig) ProtoMessage() {}
 
 func (x *CIPDChildConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[23]
+	mi := &file_config_proto_msgTypes[24]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2880,7 +2944,7 @@
 
 // Deprecated: Use CIPDChildConfig.ProtoReflect.Descriptor instead.
 func (*CIPDChildConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{23}
+	return file_config_proto_rawDescGZIP(), []int{24}
 }
 
 func (x *CIPDChildConfig) GetName() string {
@@ -2953,7 +3017,7 @@
 func (x *FuchsiaSDKChildConfig) Reset() {
 	*x = FuchsiaSDKChildConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[24]
+		mi := &file_config_proto_msgTypes[25]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -2966,7 +3030,7 @@
 func (*FuchsiaSDKChildConfig) ProtoMessage() {}
 
 func (x *FuchsiaSDKChildConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[24]
+	mi := &file_config_proto_msgTypes[25]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -2979,7 +3043,7 @@
 
 // Deprecated: Use FuchsiaSDKChildConfig.ProtoReflect.Descriptor instead.
 func (*FuchsiaSDKChildConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{24}
+	return file_config_proto_rawDescGZIP(), []int{25}
 }
 
 func (x *FuchsiaSDKChildConfig) GetIncludeMacSdk() bool {
@@ -3038,7 +3102,7 @@
 func (x *SemVerGCSChildConfig) Reset() {
 	*x = SemVerGCSChildConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[25]
+		mi := &file_config_proto_msgTypes[26]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3051,7 +3115,7 @@
 func (*SemVerGCSChildConfig) ProtoMessage() {}
 
 func (x *SemVerGCSChildConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[25]
+	mi := &file_config_proto_msgTypes[26]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3064,7 +3128,7 @@
 
 // Deprecated: Use SemVerGCSChildConfig.ProtoReflect.Descriptor instead.
 func (*SemVerGCSChildConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{25}
+	return file_config_proto_rawDescGZIP(), []int{26}
 }
 
 func (x *SemVerGCSChildConfig) GetGcs() *GCSChildConfig {
@@ -3106,7 +3170,7 @@
 func (x *GCSChildConfig) Reset() {
 	*x = GCSChildConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[26]
+		mi := &file_config_proto_msgTypes[27]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3119,7 +3183,7 @@
 func (*GCSChildConfig) ProtoMessage() {}
 
 func (x *GCSChildConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[26]
+	mi := &file_config_proto_msgTypes[27]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3132,7 +3196,7 @@
 
 // Deprecated: Use GCSChildConfig.ProtoReflect.Descriptor instead.
 func (*GCSChildConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{26}
+	return file_config_proto_rawDescGZIP(), []int{27}
 }
 
 func (x *GCSChildConfig) GetGcsBucket() string {
@@ -3169,7 +3233,7 @@
 func (x *GitCheckoutChildConfig) Reset() {
 	*x = GitCheckoutChildConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[27]
+		mi := &file_config_proto_msgTypes[28]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3182,7 +3246,7 @@
 func (*GitCheckoutChildConfig) ProtoMessage() {}
 
 func (x *GitCheckoutChildConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[27]
+	mi := &file_config_proto_msgTypes[28]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3195,7 +3259,7 @@
 
 // Deprecated: Use GitCheckoutChildConfig.ProtoReflect.Descriptor instead.
 func (*GitCheckoutChildConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{27}
+	return file_config_proto_rawDescGZIP(), []int{28}
 }
 
 func (x *GitCheckoutChildConfig) GetGitCheckout() *GitCheckoutConfig {
@@ -3220,7 +3284,7 @@
 func (x *GitCheckoutGitHubChildConfig) Reset() {
 	*x = GitCheckoutGitHubChildConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[28]
+		mi := &file_config_proto_msgTypes[29]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3233,7 +3297,7 @@
 func (*GitCheckoutGitHubChildConfig) ProtoMessage() {}
 
 func (x *GitCheckoutGitHubChildConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[28]
+	mi := &file_config_proto_msgTypes[29]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3246,7 +3310,7 @@
 
 // Deprecated: Use GitCheckoutGitHubChildConfig.ProtoReflect.Descriptor instead.
 func (*GitCheckoutGitHubChildConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{28}
+	return file_config_proto_rawDescGZIP(), []int{29}
 }
 
 func (x *GitCheckoutGitHubChildConfig) GetGitCheckout() *GitCheckoutChildConfig {
@@ -3287,7 +3351,7 @@
 func (x *GitilesChildConfig) Reset() {
 	*x = GitilesChildConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[29]
+		mi := &file_config_proto_msgTypes[30]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3300,7 +3364,7 @@
 func (*GitilesChildConfig) ProtoMessage() {}
 
 func (x *GitilesChildConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[29]
+	mi := &file_config_proto_msgTypes[30]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3313,7 +3377,7 @@
 
 // Deprecated: Use GitilesChildConfig.ProtoReflect.Descriptor instead.
 func (*GitilesChildConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{29}
+	return file_config_proto_rawDescGZIP(), []int{30}
 }
 
 func (x *GitilesChildConfig) GetGitiles() *GitilesConfig {
@@ -3347,7 +3411,7 @@
 func (x *DockerChildConfig) Reset() {
 	*x = DockerChildConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[30]
+		mi := &file_config_proto_msgTypes[31]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3360,7 +3424,7 @@
 func (*DockerChildConfig) ProtoMessage() {}
 
 func (x *DockerChildConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[30]
+	mi := &file_config_proto_msgTypes[31]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3373,7 +3437,7 @@
 
 // Deprecated: Use DockerChildConfig.ProtoReflect.Descriptor instead.
 func (*DockerChildConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{30}
+	return file_config_proto_rawDescGZIP(), []int{31}
 }
 
 func (x *DockerChildConfig) GetRegistry() string {
@@ -3426,7 +3490,7 @@
 func (x *NotifierConfig) Reset() {
 	*x = NotifierConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[31]
+		mi := &file_config_proto_msgTypes[32]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3439,7 +3503,7 @@
 func (*NotifierConfig) ProtoMessage() {}
 
 func (x *NotifierConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[31]
+	mi := &file_config_proto_msgTypes[32]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3452,7 +3516,7 @@
 
 // Deprecated: Use NotifierConfig.ProtoReflect.Descriptor instead.
 func (*NotifierConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{31}
+	return file_config_proto_rawDescGZIP(), []int{32}
 }
 
 func (x *NotifierConfig) GetLogLevel() NotifierConfig_LogLevel {
@@ -3552,7 +3616,7 @@
 func (x *EmailNotifierConfig) Reset() {
 	*x = EmailNotifierConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[32]
+		mi := &file_config_proto_msgTypes[33]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3565,7 +3629,7 @@
 func (*EmailNotifierConfig) ProtoMessage() {}
 
 func (x *EmailNotifierConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[32]
+	mi := &file_config_proto_msgTypes[33]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3578,7 +3642,7 @@
 
 // Deprecated: Use EmailNotifierConfig.ProtoReflect.Descriptor instead.
 func (*EmailNotifierConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{32}
+	return file_config_proto_rawDescGZIP(), []int{33}
 }
 
 func (x *EmailNotifierConfig) GetEmails() []string {
@@ -3601,7 +3665,7 @@
 func (x *ChatNotifierConfig) Reset() {
 	*x = ChatNotifierConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[33]
+		mi := &file_config_proto_msgTypes[34]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3614,7 +3678,7 @@
 func (*ChatNotifierConfig) ProtoMessage() {}
 
 func (x *ChatNotifierConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[33]
+	mi := &file_config_proto_msgTypes[34]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3627,7 +3691,7 @@
 
 // Deprecated: Use ChatNotifierConfig.ProtoReflect.Descriptor instead.
 func (*ChatNotifierConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{33}
+	return file_config_proto_rawDescGZIP(), []int{34}
 }
 
 func (x *ChatNotifierConfig) GetRoomId() string {
@@ -3659,7 +3723,7 @@
 func (x *MonorailNotifierConfig) Reset() {
 	*x = MonorailNotifierConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[34]
+		mi := &file_config_proto_msgTypes[35]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3672,7 +3736,7 @@
 func (*MonorailNotifierConfig) ProtoMessage() {}
 
 func (x *MonorailNotifierConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[34]
+	mi := &file_config_proto_msgTypes[35]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3685,7 +3749,7 @@
 
 // Deprecated: Use MonorailNotifierConfig.ProtoReflect.Descriptor instead.
 func (*MonorailNotifierConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{34}
+	return file_config_proto_rawDescGZIP(), []int{35}
 }
 
 func (x *MonorailNotifierConfig) GetProject() string {
@@ -3736,7 +3800,7 @@
 func (x *PubSubNotifierConfig) Reset() {
 	*x = PubSubNotifierConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[35]
+		mi := &file_config_proto_msgTypes[36]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3749,7 +3813,7 @@
 func (*PubSubNotifierConfig) ProtoMessage() {}
 
 func (x *PubSubNotifierConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[35]
+	mi := &file_config_proto_msgTypes[36]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3762,7 +3826,7 @@
 
 // Deprecated: Use PubSubNotifierConfig.ProtoReflect.Descriptor instead.
 func (*PubSubNotifierConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{35}
+	return file_config_proto_rawDescGZIP(), []int{36}
 }
 
 func (x *PubSubNotifierConfig) GetTopic() string {
@@ -3789,7 +3853,7 @@
 func (x *ThrottleConfig) Reset() {
 	*x = ThrottleConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[36]
+		mi := &file_config_proto_msgTypes[37]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3802,7 +3866,7 @@
 func (*ThrottleConfig) ProtoMessage() {}
 
 func (x *ThrottleConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[36]
+	mi := &file_config_proto_msgTypes[37]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3815,7 +3879,7 @@
 
 // Deprecated: Use ThrottleConfig.ProtoReflect.Descriptor instead.
 func (*ThrottleConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{36}
+	return file_config_proto_rawDescGZIP(), []int{37}
 }
 
 func (x *ThrottleConfig) GetAttemptCount() int32 {
@@ -3852,7 +3916,7 @@
 func (x *TransitiveDepConfig) Reset() {
 	*x = TransitiveDepConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[37]
+		mi := &file_config_proto_msgTypes[38]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3865,7 +3929,7 @@
 func (*TransitiveDepConfig) ProtoMessage() {}
 
 func (x *TransitiveDepConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[37]
+	mi := &file_config_proto_msgTypes[38]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3878,7 +3942,7 @@
 
 // Deprecated: Use TransitiveDepConfig.ProtoReflect.Descriptor instead.
 func (*TransitiveDepConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{37}
+	return file_config_proto_rawDescGZIP(), []int{38}
 }
 
 func (x *TransitiveDepConfig) GetChild() *VersionFileConfig {
@@ -3948,7 +4012,7 @@
 func (x *VersionFileConfig) Reset() {
 	*x = VersionFileConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[38]
+		mi := &file_config_proto_msgTypes[39]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -3961,7 +4025,7 @@
 func (*VersionFileConfig) ProtoMessage() {}
 
 func (x *VersionFileConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[38]
+	mi := &file_config_proto_msgTypes[39]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -3974,7 +4038,7 @@
 
 // Deprecated: Use VersionFileConfig.ProtoReflect.Descriptor instead.
 func (*VersionFileConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{38}
+	return file_config_proto_rawDescGZIP(), []int{39}
 }
 
 func (x *VersionFileConfig) GetId() string {
@@ -4018,7 +4082,7 @@
 func (x *DependencyConfig) Reset() {
 	*x = DependencyConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[39]
+		mi := &file_config_proto_msgTypes[40]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4031,7 +4095,7 @@
 func (*DependencyConfig) ProtoMessage() {}
 
 func (x *DependencyConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[39]
+	mi := &file_config_proto_msgTypes[40]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4044,7 +4108,7 @@
 
 // Deprecated: Use DependencyConfig.ProtoReflect.Descriptor instead.
 func (*DependencyConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{39}
+	return file_config_proto_rawDescGZIP(), []int{40}
 }
 
 func (x *DependencyConfig) GetPrimary() *VersionFileConfig {
@@ -4094,7 +4158,7 @@
 func (x *GitCheckoutConfig) Reset() {
 	*x = GitCheckoutConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[40]
+		mi := &file_config_proto_msgTypes[41]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4107,7 +4171,7 @@
 func (*GitCheckoutConfig) ProtoMessage() {}
 
 func (x *GitCheckoutConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[40]
+	mi := &file_config_proto_msgTypes[41]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4120,7 +4184,7 @@
 
 // Deprecated: Use GitCheckoutConfig.ProtoReflect.Descriptor instead.
 func (*GitCheckoutConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{40}
+	return file_config_proto_rawDescGZIP(), []int{41}
 }
 
 func (x *GitCheckoutConfig) GetBranch() string {
@@ -4174,7 +4238,7 @@
 func (x *BuildbucketRevisionFilterConfig) Reset() {
 	*x = BuildbucketRevisionFilterConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[41]
+		mi := &file_config_proto_msgTypes[42]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4187,7 +4251,7 @@
 func (*BuildbucketRevisionFilterConfig) ProtoMessage() {}
 
 func (x *BuildbucketRevisionFilterConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[41]
+	mi := &file_config_proto_msgTypes[42]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4200,7 +4264,7 @@
 
 // Deprecated: Use BuildbucketRevisionFilterConfig.ProtoReflect.Descriptor instead.
 func (*BuildbucketRevisionFilterConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{41}
+	return file_config_proto_rawDescGZIP(), []int{42}
 }
 
 func (x *BuildbucketRevisionFilterConfig) GetProject() string {
@@ -4247,7 +4311,7 @@
 func (x *CIPDRevisionFilterConfig) Reset() {
 	*x = CIPDRevisionFilterConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[42]
+		mi := &file_config_proto_msgTypes[43]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4260,7 +4324,7 @@
 func (*CIPDRevisionFilterConfig) ProtoMessage() {}
 
 func (x *CIPDRevisionFilterConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[42]
+	mi := &file_config_proto_msgTypes[43]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4273,7 +4337,7 @@
 
 // Deprecated: Use CIPDRevisionFilterConfig.ProtoReflect.Descriptor instead.
 func (*CIPDRevisionFilterConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{42}
+	return file_config_proto_rawDescGZIP(), []int{43}
 }
 
 func (x *CIPDRevisionFilterConfig) GetPackage() []string {
@@ -4316,7 +4380,7 @@
 func (x *ValidHttpRevisionFilterConfig) Reset() {
 	*x = ValidHttpRevisionFilterConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[43]
+		mi := &file_config_proto_msgTypes[44]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4329,7 +4393,7 @@
 func (*ValidHttpRevisionFilterConfig) ProtoMessage() {}
 
 func (x *ValidHttpRevisionFilterConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[43]
+	mi := &file_config_proto_msgTypes[44]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4342,7 +4406,7 @@
 
 // Deprecated: Use ValidHttpRevisionFilterConfig.ProtoReflect.Descriptor instead.
 func (*ValidHttpRevisionFilterConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{43}
+	return file_config_proto_rawDescGZIP(), []int{44}
 }
 
 func (x *ValidHttpRevisionFilterConfig) GetFileUrl() string {
@@ -4376,7 +4440,7 @@
 func (x *PreUploadConfig) Reset() {
 	*x = PreUploadConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[44]
+		mi := &file_config_proto_msgTypes[45]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4389,7 +4453,7 @@
 func (*PreUploadConfig) ProtoMessage() {}
 
 func (x *PreUploadConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[44]
+	mi := &file_config_proto_msgTypes[45]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4402,7 +4466,7 @@
 
 // Deprecated: Use PreUploadConfig.ProtoReflect.Descriptor instead.
 func (*PreUploadConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{44}
+	return file_config_proto_rawDescGZIP(), []int{45}
 }
 
 func (x *PreUploadConfig) GetCipdPackage() []*PreUploadCIPDPackageConfig {
@@ -4438,7 +4502,7 @@
 func (x *PreUploadCommandConfig) Reset() {
 	*x = PreUploadCommandConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[45]
+		mi := &file_config_proto_msgTypes[46]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4451,7 +4515,7 @@
 func (*PreUploadCommandConfig) ProtoMessage() {}
 
 func (x *PreUploadCommandConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[45]
+	mi := &file_config_proto_msgTypes[46]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4464,7 +4528,7 @@
 
 // Deprecated: Use PreUploadCommandConfig.ProtoReflect.Descriptor instead.
 func (*PreUploadCommandConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{45}
+	return file_config_proto_rawDescGZIP(), []int{46}
 }
 
 func (x *PreUploadCommandConfig) GetCommand() string {
@@ -4512,7 +4576,7 @@
 func (x *PreUploadCIPDPackageConfig) Reset() {
 	*x = PreUploadCIPDPackageConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[46]
+		mi := &file_config_proto_msgTypes[47]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4525,7 +4589,7 @@
 func (*PreUploadCIPDPackageConfig) ProtoMessage() {}
 
 func (x *PreUploadCIPDPackageConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[46]
+	mi := &file_config_proto_msgTypes[47]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4538,7 +4602,7 @@
 
 // Deprecated: Use PreUploadCIPDPackageConfig.ProtoReflect.Descriptor instead.
 func (*PreUploadCIPDPackageConfig) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{46}
+	return file_config_proto_rawDescGZIP(), []int{47}
 }
 
 func (x *PreUploadCIPDPackageConfig) GetName() string {
@@ -4574,7 +4638,7 @@
 func (x *Configs) Reset() {
 	*x = Configs{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[47]
+		mi := &file_config_proto_msgTypes[48]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4587,7 +4651,7 @@
 func (*Configs) ProtoMessage() {}
 
 func (x *Configs) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[47]
+	mi := &file_config_proto_msgTypes[48]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4600,7 +4664,7 @@
 
 // Deprecated: Use Configs.ProtoReflect.Descriptor instead.
 func (*Configs) Descriptor() ([]byte, []int) {
-	return file_config_proto_rawDescGZIP(), []int{47}
+	return file_config_proto_rawDescGZIP(), []int{48}
 }
 
 func (x *Configs) GetConfig() []*Config {
@@ -4634,7 +4698,7 @@
 func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) Reset() {
 	*x = AndroidRepoManagerConfig_ProjectMetadataFileConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[48]
+		mi := &file_config_proto_msgTypes[49]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4647,7 +4711,7 @@
 func (*AndroidRepoManagerConfig_ProjectMetadataFileConfig) ProtoMessage() {}
 
 func (x *AndroidRepoManagerConfig_ProjectMetadataFileConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[48]
+	mi := &file_config_proto_msgTypes[49]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4724,7 +4788,7 @@
 func (x *CommandRepoManagerConfig_CommandConfig) Reset() {
 	*x = CommandRepoManagerConfig_CommandConfig{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[49]
+		mi := &file_config_proto_msgTypes[50]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4737,7 +4801,7 @@
 func (*CommandRepoManagerConfig_CommandConfig) ProtoMessage() {}
 
 func (x *CommandRepoManagerConfig_CommandConfig) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[49]
+	mi := &file_config_proto_msgTypes[50]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -4788,7 +4852,7 @@
 func (x *CopyParentConfig_CopyEntry) Reset() {
 	*x = CopyParentConfig_CopyEntry{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_config_proto_msgTypes[50]
+		mi := &file_config_proto_msgTypes[51]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -4801,7 +4865,7 @@
 func (*CopyParentConfig_CopyEntry) ProtoMessage() {}
 
 func (x *CopyParentConfig_CopyEntry) ProtoReflect() protoreflect.Message {
-	mi := &file_config_proto_msgTypes[50]
+	mi := &file_config_proto_msgTypes[51]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -5151,7 +5215,7 @@
 	0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68,
 	0x69, 0x6c, 0x64, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x69,
 	0x6c, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
-	0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x22, 0xf3, 0x0b, 0x0a, 0x1c, 0x50, 0x61, 0x72,
+	0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x22, 0xe2, 0x0c, 0x0a, 0x1c, 0x50, 0x61, 0x72,
 	0x65, 0x6e, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x4d, 0x61, 0x6e, 0x61,
 	0x67, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6f, 0x70,
 	0x79, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
@@ -5189,493 +5253,507 @@
 	0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x6f, 0x4d,
 	0x6f, 0x64, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f,
 	0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x67, 0x6f, 0x4d, 0x6f, 0x64, 0x47, 0x65, 0x72,
-	0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x69, 0x70,
-	0x64, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
+	0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6d, 0x0a, 0x1a, 0x67, 0x69, 0x74,
+	0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x5f, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74,
+	0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
 	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
-	0x43, 0x49, 0x50, 0x44, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
-	0x01, 0x52, 0x09, 0x63, 0x69, 0x70, 0x64, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x54, 0x0a, 0x11,
-	0x66, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x63, 0x68, 0x69, 0x6c,
-	0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f,
-	0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x75, 0x63, 0x68, 0x73, 0x69,
-	0x61, 0x53, 0x44, 0x4b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
-	0x01, 0x52, 0x0f, 0x66, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x53, 0x64, 0x6b, 0x43, 0x68, 0x69,
-	0x6c, 0x64, 0x12, 0x57, 0x0a, 0x12, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f,
-	0x75, 0x74, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
-	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x69, 0x6c,
-	0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x10, 0x67, 0x69, 0x74, 0x43, 0x68,
-	0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x6a, 0x0a, 0x19, 0x67,
-	0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x5f, 0x67, 0x69, 0x74, 0x68,
-	0x75, 0x62, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
-	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48,
-	0x75, 0x62, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52,
-	0x16, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x68,
-	0x75, 0x62, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x4a, 0x0a, 0x0d, 0x67, 0x69, 0x74, 0x69, 0x6c,
-	0x65, 0x73, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
-	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x0c, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x68,
-	0x69, 0x6c, 0x64, 0x12, 0x51, 0x0a, 0x10, 0x73, 0x65, 0x6d, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x63,
-	0x73, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
+	0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x65, 0x72, 0x72, 0x69,
+	0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
+	0x17, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x65, 0x72, 0x72,
+	0x69, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x64,
+	0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61,
+	0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43,
+	0x49, 0x50, 0x44, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01,
+	0x52, 0x09, 0x63, 0x69, 0x70, 0x64, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x54, 0x0a, 0x11, 0x66,
+	0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64,
+	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c,
+	0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61,
+	0x53, 0x44, 0x4b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01,
+	0x52, 0x0f, 0x66, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x53, 0x64, 0x6b, 0x43, 0x68, 0x69, 0x6c,
+	0x64, 0x12, 0x57, 0x0a, 0x12, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75,
+	0x74, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
 	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
-	0x53, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x6d, 0x76, 0x65, 0x72, 0x47, 0x63,
-	0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x47, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72,
-	0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61,
-	0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44,
-	0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x48, 0x01, 0x52, 0x0b, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12,
-	0x70, 0x0a, 0x1b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72,
-	0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c,
-	0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
-	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b,
+	0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64,
+	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x10, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65,
+	0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x6a, 0x0a, 0x19, 0x67, 0x69,
+	0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75,
+	0x62, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
+	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+	0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75,
+	0x62, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x16,
+	0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x68, 0x75,
+	0x62, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x4a, 0x0a, 0x0d, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65,
+	0x73, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
+	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+	0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x48, 0x01, 0x52, 0x0c, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x68, 0x69,
+	0x6c, 0x64, 0x12, 0x51, 0x0a, 0x10, 0x73, 0x65, 0x6d, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x63, 0x73,
+	0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61,
+	0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53,
+	0x65, 0x6d, 0x56, 0x65, 0x72, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x6d, 0x76, 0x65, 0x72, 0x47, 0x63, 0x73,
+	0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x47, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f,
+	0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75,
+	0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x6f,
+	0x63, 0x6b, 0x65, 0x72, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
+	0x01, 0x52, 0x0b, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x70,
+	0x0a, 0x1b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65,
+	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20,
+	0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65,
+	0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b,
 	0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
-	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63,
-	0x6b, 0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65,
-	0x72, 0x12, 0x5b, 0x0a, 0x14, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
-	0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
-	0x29, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x2e, 0x43, 0x49, 0x50, 0x44, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69,
-	0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x63, 0x69, 0x70, 0x64,
-	0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x6b,
-	0x0a, 0x1a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x76,
-	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x03,
-	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65,
-	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x52, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x76,
-	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x70,
-	0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, 0xe8,
-	0x01, 0x0a, 0x10, 0x43, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
-	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61,
-	0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69,
-	0x6c, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20,
-	0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
-	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79,
-	0x52, 0x06, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x1a, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79,
-	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x6c,
-	0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x72, 0x63,
-	0x52, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x73, 0x74, 0x5f, 0x72,
-	0x65, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64,
-	0x73, 0x74, 0x52, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x44, 0x45,
-	0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x50, 0x61, 0x72,
-	0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0a, 0x64, 0x65, 0x70,
-	0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
-	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
-	0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x64, 0x65, 0x70, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
-	0x12, 0x35, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
-	0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x6b, 0x5f,
-	0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
-	0x66, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x22, 0x9b, 0x01, 0x0a, 0x1b,
-	0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50,
-	0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0a, 0x64,
-	0x65, 0x70, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x26, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x2e, 0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e,
-	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x64, 0x65, 0x70, 0x73, 0x4c, 0x6f, 0x63,
-	0x61, 0x6c, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x1d, 0x47, 0x69,
-	0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x50,
-	0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0c, 0x67,
-	0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50,
-	0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74,
-	0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x6b,
-	0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x0b, 0x66, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x22, 0x92, 0x02, 0x0a,
-	0x21, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48,
-	0x75, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x12, 0x51, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f,
-	0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72,
-	0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68,
-	0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x50, 0x61, 0x72, 0x65,
-	0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65,
-	0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c,
-	0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32,
-	0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52,
-	0x0e, 0x70, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12,
-	0x50, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f,
-	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61,
-	0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50,
-	0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11,
-	0x70, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
-	0x73, 0x22, 0xbb, 0x01, 0x0a, 0x13, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61, 0x72,
-	0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x07, 0x67, 0x69, 0x74,
-	0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74,
-	0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74,
-	0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69,
-	0x6c, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x03, 0x64, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x21, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x52, 0x03, 0x64, 0x65, 0x70, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72,
-	0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72,
-	0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69,
-	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x22,
-	0xba, 0x01, 0x0a, 0x0d, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x70,
-	0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70,
-	0x6f, 0x55, 0x72, 0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e,
-	0x63, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74,
-	0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72,
-	0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c,
-	0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13,
-	0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6a,
-	0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75,
-	0x6c, 0x74, 0x42, 0x75, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x8b, 0x01, 0x0a,
-	0x17, 0x47, 0x6f, 0x4d, 0x6f, 0x64, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65,
-	0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x06, 0x67, 0x6f, 0x5f, 0x6d,
-	0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72,
-	0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x6f, 0x4d, 0x6f, 0x64,
-	0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x67, 0x6f,
-	0x4d, 0x6f, 0x64, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18, 0x02, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x22, 0xd8, 0x02, 0x0a, 0x11, 0x47,
-	0x6f, 0x4d, 0x6f, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x12, 0x45, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c,
-	0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63,
-	0x6b, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43,
-	0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c,
-	0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f,
-	0x64, 0x75, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64,
-	0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03,
-	0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61,
-	0x63, 0x65, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64,
-	0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x61,
+	0x12, 0x5b, 0x0a, 0x14, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
+	0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29,
+	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x2e, 0x43, 0x49, 0x50, 0x44, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c,
+	0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x63, 0x69, 0x70, 0x64, 0x52,
+	0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x6b, 0x0a,
+	0x1a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x76, 0x69,
+	0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x03, 0x28,
+	0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x76,
+	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x52, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x76, 0x69,
+	0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x70, 0x61,
+	0x72, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, 0xe8, 0x01,
+	0x0a, 0x10, 0x43, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x12, 0x3e, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61, 0x72,
+	0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c,
+	0x65, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
+	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+	0x06, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x1a, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79, 0x45,
+	0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x6c, 0x5f,
+	0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x72, 0x63, 0x52,
+	0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x65,
+	0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x73,
+	0x74, 0x52, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x44, 0x45, 0x50,
+	0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x50, 0x61, 0x72, 0x65,
+	0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x73,
+	0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61,
+	0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44,
+	0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x64, 0x65, 0x70, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12,
+	0x35, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06,
+	0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x72,
+	0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66,
+	0x6f, 0x72, 0x6b, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x22, 0x9b, 0x01, 0x0a, 0x1b, 0x44,
+	0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x61,
+	0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0a, 0x64, 0x65,
+	0x70, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
+	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x2e, 0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
+	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x64, 0x65, 0x70, 0x73, 0x4c, 0x6f, 0x63, 0x61,
+	0x6c, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x1d, 0x47, 0x69, 0x74,
+	0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x50, 0x61,
+	0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0c, 0x67, 0x69,
+	0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x61,
+	0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43,
+	0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x6b, 0x5f,
+	0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+	0x66, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x22, 0x6c, 0x0a, 0x1d, 0x47,
+	0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74,
+	0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0c,
+	0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74,
+	0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69,
+	0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x22, 0x92, 0x02, 0x0a, 0x21, 0x47, 0x69,
+	0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x46,
+	0x69, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
+	0x51, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c,
+	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b,
+	0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f,
+	0x75, 0x74, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64,
+	0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x61,
 	0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50,
 	0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0e, 0x70, 0x72,
 	0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x13,
 	0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
-	0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74, 0x6f,
+	0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74, 0x6f,
 	0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55,
 	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x72, 0x65,
-	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x15,
-	0x0a, 0x06, 0x67, 0x6f, 0x5f, 0x63, 0x6d, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
-	0x67, 0x6f, 0x43, 0x6d, 0x64, 0x22, 0xa7, 0x03, 0x0a, 0x15, 0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f,
-	0x63, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
-	0x4b, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18,
-	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c,
-	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b,
-	0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
-	0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
-	0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x09, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63,
-	0x68, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x0b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x53, 0x75, 0x62, 0x64, 0x69, 0x72, 0x12, 0x23,
-	0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18,
-	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50,
-	0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
-	0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x63, 0x6c, 0x69, 0x65,
-	0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70,
-	0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e,
-	0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70,
-	0x52, 0x0e, 0x70, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x73,
-	0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x07, 0x20,
-	0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x50, 0x0a,
-	0x13, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d,
-	0x61, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74,
-	0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65,
-	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x72,
-	0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22,
-	0x95, 0x01, 0x0a, 0x17, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50,
-	0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0c, 0x67,
-	0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f,
-	0x75, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x64, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x21, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x52, 0x03, 0x64, 0x65, 0x70, 0x22, 0x56, 0x0a, 0x14, 0x46, 0x72, 0x65, 0x65, 0x54,
-	0x79, 0x70, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
-	0x3e, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
-	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x22,
-	0xfd, 0x01, 0x0a, 0x0f, 0x43, 0x49, 0x50, 0x44, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x02,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x69, 0x74,
-	0x69, 0x6c, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x0b, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x26, 0x0a, 0x0f,
-	0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x18,
-	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49,
-	0x64, 0x54, 0x61, 0x67, 0x12, 0x38, 0x0a, 0x19, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
-	0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x6b, 0x65,
-	0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
-	0x6e, 0x49, 0x64, 0x54, 0x61, 0x67, 0x53, 0x74, 0x72, 0x69, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x3f,
-	0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x07, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x22,
-	0xe9, 0x01, 0x0a, 0x15, 0x46, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x53, 0x44, 0x4b, 0x43, 0x68,
-	0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x63,
-	0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x63, 0x53, 0x64,
-	0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
-	0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x75, 0x78,
-	0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x74,
-	0x65, 0x73, 0x74, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x61, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f,
-	0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18,
-	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x63,
-	0x50, 0x61, 0x74, 0x68, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x5f,
-	0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18,
-	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x4c, 0x69,
-	0x6e, 0x75, 0x78, 0x50, 0x61, 0x74, 0x68, 0x54, 0x6d, 0x70, 0x6c, 0x22, 0x96, 0x01, 0x0a, 0x14,
-	0x53, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x03, 0x67, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x2e, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x52, 0x03, 0x67, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x68, 0x6f, 0x72, 0x74,
-	0x5f, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x76, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12,
-	0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
-	0x65, 0x67, 0x65, 0x78, 0x22, 0x76, 0x0a, 0x0e, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64,
-	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75,
-	0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x63, 0x73, 0x42,
-	0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61, 0x74,
-	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x63, 0x73, 0x50, 0x61, 0x74, 0x68,
-	0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f,
-	0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x76,
-	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x67, 0x65, 0x78, 0x22, 0x5f, 0x0a, 0x16,
-	0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64,
-	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68,
-	0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61,
-	0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47,
-	0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x22, 0xa6, 0x01,
-	0x0a, 0x1c, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74,
-	0x48, 0x75, 0x62, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a,
-	0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
-	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f,
-	0x75, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67,
-	0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65,
-	0x70, 0x6f, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
-	0x72, 0x65, 0x70, 0x6f, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x70,
-	0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65,
-	0x70, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65,
-	0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x07,
-	0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0xbb,
+	0x01, 0x0a, 0x13, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
+	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65,
+	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f,
+	0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65,
+	0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73,
+	0x12, 0x33, 0x0a, 0x03, 0x64, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
 	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
-	0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67,
-	0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
-	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x61, 0x0a, 0x11, 0x44, 0x6f,
-	0x63, 0x6b, 0x65, 0x72, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
-	0x1a, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x72,
-	0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x74,
-	0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0xe4, 0x05,
-	0x0a, 0x0e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x12, 0x45, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x08, 0x6c,
-	0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x42, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74,
-	0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f,
-	0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x74, 0x69,
-	0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79,
-	0x70, 0x65, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x65,
-	0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74,
-	0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6d, 0x61,
-	0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x63, 0x68, 0x61,
-	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f,
-	0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f,
-	0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x04,
-	0x63, 0x68, 0x61, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c,
-	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c,
-	0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69,
-	0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
-	0x00, 0x52, 0x08, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x70,
-	0x75, 0x62, 0x73, 0x75, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x75,
-	0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x75,
-	0x62, 0x53, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x18, 0x0a, 0x07,
-	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73,
-	0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x43, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76,
-	0x65, 0x6c, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x09,
-	0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52,
-	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x03,
-	0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x04, 0x22, 0xdc, 0x01, 0x0a, 0x07,
-	0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x53, 0x55, 0x45,
-	0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x41, 0x53,
-	0x54, 0x5f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b,
-	0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a,
-	0x0b, 0x4e, 0x45, 0x57, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x0f,
-	0x0a, 0x0b, 0x4e, 0x45, 0x57, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12,
-	0x18, 0x0a, 0x14, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f, 0x4e,
-	0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x41, 0x46,
-	0x45, 0x54, 0x59, 0x5f, 0x54, 0x48, 0x52, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x13,
-	0x0a, 0x0f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47,
-	0x45, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54,
-	0x48, 0x52, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x4e,
-	0x55, 0x41, 0x4c, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f,
-	0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x09, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x22, 0x2d, 0x0a, 0x13, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74,
-	0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65,
-	0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6d, 0x61,
-	0x69, 0x6c, 0x73, 0x22, 0x2d, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
-	0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f,
-	0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
-	0x49, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x16, 0x4d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x4e,
-	0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a,
-	0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
-	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a,
-	0x02, 0x63, 0x63, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x63, 0x63, 0x12, 0x1e, 0x0a,
-	0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
-	0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a,
-	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c,
-	0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x2c, 0x0a, 0x14, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x4e,
-	0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a,
-	0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f,
-	0x70, 0x69, 0x63, 0x22, 0x56, 0x0a, 0x0e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x43,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74,
-	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x74,
-	0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69,
-	0x6d, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x0a, 0x74, 0x69, 0x6d, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0xad, 0x01, 0x0a, 0x13,
-	0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x70, 0x43, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65,
-	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x3a, 0x0a,
-	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
+	0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x52, 0x03, 0x64, 0x65, 0x70, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c,
+	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x22, 0xba, 0x01, 0x0a,
+	0x0d, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16,
+	0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+	0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75,
+	0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x55, 0x72,
+	0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65,
+	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f,
+	0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
+	0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x64, 0x65, 0x70,
+	0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66,
+	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42,
+	0x75, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x17, 0x47, 0x6f,
+	0x4d, 0x6f, 0x64, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x06, 0x67, 0x6f, 0x5f, 0x6d, 0x6f, 0x64, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c,
+	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x6f, 0x4d, 0x6f, 0x64, 0x50, 0x61, 0x72,
+	0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x67, 0x6f, 0x4d, 0x6f, 0x64,
+	0x12, 0x35, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x1d, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
+	0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x22, 0xd8, 0x02, 0x0a, 0x11, 0x47, 0x6f, 0x4d, 0x6f,
+	0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a,
+	0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75,
+	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63,
+	0x6b, 0x6f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70,
+	0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c,
+	0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x61, 0x6e,
+	0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
+	0x0e, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12,
+	0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74,
+	0x65, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f,
+	0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55,
+	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x55, 0x70,
+	0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x13, 0x70, 0x72, 0x65,
+	0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73,
+	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c,
+	0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f,
+	0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x72, 0x65, 0x55, 0x70, 0x6c,
+	0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x67,
+	0x6f, 0x5f, 0x63, 0x6d, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x6f, 0x43,
+	0x6d, 0x64, 0x22, 0xa7, 0x03, 0x0a, 0x15, 0x44, 0x45, 0x50, 0x53, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
+	0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0c,
+	0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74,
+	0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69,
+	0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x69,
+	0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
+	0x68, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x69, 0x6c,
+	0x64, 0x5f, 0x73, 0x75, 0x62, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+	0x63, 0x68, 0x69, 0x6c, 0x64, 0x53, 0x75, 0x62, 0x64, 0x69, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x63,
+	0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68,
+	0x12, 0x21, 0x0a, 0x0c, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63,
+	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
+	0x70, 0x65, 0x63, 0x12, 0x48, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61,
+	0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e,
+	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+	0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52, 0x0e, 0x70,
+	0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x1b, 0x0a,
+	0x09, 0x72, 0x75, 0x6e, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
+	0x52, 0x08, 0x72, 0x75, 0x6e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x50, 0x0a, 0x13, 0x70, 0x72,
+	0x65, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
+	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f,
+	0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c,
+	0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x72, 0x65, 0x55, 0x70,
+	0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x95, 0x01, 0x0a,
+	0x17, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x72, 0x65,
+	0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f,
+	0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
+	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12,
+	0x33, 0x0a, 0x03, 0x64, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61,
+	0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44,
+	0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
+	0x03, 0x64, 0x65, 0x70, 0x22, 0x56, 0x0a, 0x14, 0x46, 0x72, 0x65, 0x65, 0x54, 0x79, 0x70, 0x65,
+	0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x07,
+	0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
+	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+	0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xfd, 0x01, 0x0a,
+	0x0f, 0x43, 0x49, 0x50, 0x44, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65,
+	0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x69,
+	0x74, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x76,
+	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x54, 0x61,
+	0x67, 0x12, 0x38, 0x0a, 0x19, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+	0x5f, 0x74, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06,
+	0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64,
+	0x54, 0x61, 0x67, 0x53, 0x74, 0x72, 0x69, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x0b, 0x73,
+	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x22, 0xe9, 0x01, 0x0a,
+	0x15, 0x46, 0x75, 0x63, 0x68, 0x73, 0x69, 0x61, 0x53, 0x44, 0x4b, 0x43, 0x68, 0x69, 0x6c, 0x64,
+	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+	0x65, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+	0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x63, 0x53, 0x64, 0x6b, 0x12, 0x1d,
+	0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x09, 0x67, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a,
+	0x11, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x70, 0x61,
+	0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74,
+	0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x61, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x74,
+	0x65, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74,
+	0x68, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x6e,
+	0x75, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18, 0x05, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x14, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x75, 0x78,
+	0x50, 0x61, 0x74, 0x68, 0x54, 0x6d, 0x70, 0x6c, 0x22, 0x96, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6d,
+	0x56, 0x65, 0x72, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x12, 0x31, 0x0a, 0x03, 0x67, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
+	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x2e, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
+	0x03, 0x67, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65,
+	0x76, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73,
+	0x68, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x76, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d,
+	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x65,
+	0x78, 0x22, 0x76, 0x0a, 0x0e, 0x47, 0x43, 0x53, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65,
+	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b,
+	0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x63, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a,
+	0x11, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x67,
+	0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
+	0x6f, 0x6e, 0x49, 0x64, 0x52, 0x65, 0x67, 0x65, 0x78, 0x22, 0x5f, 0x0a, 0x16, 0x47, 0x69, 0x74,
+	0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0c, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b,
+	0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f,
+	0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43,
+	0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67,
+	0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x1c, 0x47,
+	0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62,
+	0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a, 0x0a, 0x0c, 0x67,
+	0x69, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43,
+	0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x67, 0x69, 0x74, 0x43,
+	0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x5f,
+	0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x70,
+	0x6f, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6e,
+	0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x4e,
+	0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x68,
+	0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x07, 0x67, 0x69, 0x74,
+	0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x75, 0x74,
+	0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74,
+	0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69,
+	0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x61, 0x0a, 0x11, 0x44, 0x6f, 0x63, 0x6b, 0x65,
+	0x72, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08,
+	0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+	0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f,
+	0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65,
+	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0xe4, 0x05, 0x0a, 0x0e, 0x4e,
+	0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a,
+	0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
+	0x32, 0x28, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c,
+	0x65, 0x76, 0x65, 0x6c, 0x12, 0x42, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+	0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c,
+	0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65,
+	0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52,
+	0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
+	0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f,
+	0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4e,
+	0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
+	0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x04,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e,
+	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+	0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x04, 0x63, 0x68, 0x61,
+	0x74, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20,
+	0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x4e, 0x6f,
+	0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x08,
+	0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x73,
+	0x75, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72,
+	0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75,
+	0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
+	0x00, 0x52, 0x06, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62,
+	0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a,
+	0x65, 0x63, 0x74, 0x22, 0x43, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
+	0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4c, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45,
+	0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e,
+	0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x03, 0x12, 0x09, 0x0a,
+	0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x04, 0x22, 0xdc, 0x01, 0x0a, 0x07, 0x4d, 0x73, 0x67,
+	0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x55, 0x50,
+	0x44, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e,
+	0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f, 0x44,
+	0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x45,
+	0x57, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4e,
+	0x45, 0x57, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14,
+	0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41,
+	0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59,
+	0x5f, 0x54, 0x48, 0x52, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x53,
+	0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x07,
+	0x12, 0x14, 0x0a, 0x10, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x4f,
+	0x54, 0x54, 0x4c, 0x45, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c,
+	0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46,
+	0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x09, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x22, 0x2d, 0x0a, 0x13, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
+	0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6d, 0x61, 0x69,
+	0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73,
+	0x22, 0x2d, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72,
+	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69,
+	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22,
+	0x90, 0x01, 0x0a, 0x16, 0x4d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69,
+	0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72,
+	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f,
+	0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x63,
+	0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x63, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f,
+	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a,
+	0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61,
+	0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65,
+	0x6c, 0x73, 0x22, 0x2c, 0x0a, 0x14, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x4e, 0x6f, 0x74, 0x69,
+	0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
+	0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63,
+	0x22, 0x56, 0x0a, 0x0e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f,
+	0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x65, 0x6d,
+	0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f,
+	0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x69,
+	0x6d, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0xad, 0x01, 0x0a, 0x13, 0x54, 0x72, 0x61,
+	0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x12, 0x38, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x52, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61,
+	0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x75, 0x74,
+	0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72,
+	0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06,
+	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x5f, 0x75, 0x72,
+	0x6c, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f,
+	0x67, 0x55, 0x72, 0x6c, 0x54, 0x6d, 0x70, 0x6c, 0x22, 0x4d, 0x0a, 0x11, 0x56, 0x65, 0x72, 0x73,
+	0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a,
+	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
+	0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
+	0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, 0xc0, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x70, 0x65,
+	0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x07,
+	0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
 	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
 	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6c, 0x6f, 0x67,
-	0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x0a, 0x6c, 0x6f, 0x67, 0x55, 0x72, 0x6c, 0x54, 0x6d, 0x70, 0x6c, 0x22, 0x4d, 0x0a, 0x11, 0x56,
-	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
-	0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
-	0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, 0xc0, 0x01, 0x0a, 0x10, 0x44,
-	0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
-	0x3c, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x44, 0x0a,
-	0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
-	0x0b, 0x32, 0x24, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65,
-	0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74,
-	0x69, 0x76, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f,
-	0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x66,
-	0x69, 0x6e, 0x64, 0x41, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0xe2, 0x01,
-	0x0a, 0x11, 0x47, 0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x72,
-	0x65, 0x70, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72,
-	0x65, 0x70, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x5f, 0x6c, 0x69,
-	0x6e, 0x6b, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72,
-	0x65, 0x76, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6d, 0x70, 0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x64, 0x65,
-	0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
-	0x32, 0x22, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69,
-	0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x75,
-	0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x75, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65,
-	0x63, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x1f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b,
-	0x65, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
-	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
-	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
-	0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x75, 0x69, 0x6c,
-	0x64, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x6d, 0x70, 0x6c,
-	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x65, 0x74,
-	0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x6d, 0x70, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75,
-	0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x69,
-	0x6c, 0x64, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x18, 0x43, 0x49, 0x50, 0x44, 0x52, 0x65, 0x76, 0x69,
-	0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28,
-	0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c,
-	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c,
-	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x6b, 0x65,
-	0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x4b, 0x65, 0x79, 0x22,
-	0x50, 0x0a, 0x1d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x76, 0x69,
-	0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x72,
-	0x65, 0x67, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65,
-	0x78, 0x22, 0xa4, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x70, 0x61,
-	0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x75,
-	0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72,
-	0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x49, 0x50, 0x44, 0x50, 0x61, 0x63, 0x6b, 0x61,
-	0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x69, 0x70, 0x64, 0x50, 0x61,
-	0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
-	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c,
-	0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f,
-	0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
-	0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x7d, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x55,
-	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66,
-	0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03,
-	0x63, 0x77, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x77, 0x64, 0x12, 0x10,
-	0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76,
-	0x12, 0x25, 0x0a, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75,
-	0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
-	0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x5e, 0x0a, 0x1a, 0x50, 0x72, 0x65, 0x55, 0x70,
+	0x67, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x0a, 0x74, 0x72,
+	0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
+	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x70, 0x43, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
+	0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x70,
+	0x6c, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x64,
+	0x41, 0x6e, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x11, 0x47,
+	0x69, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f,
+	0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f,
+	0x55, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f,
+	0x74, 0x6d, 0x70, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x76, 0x4c,
+	0x69, 0x6e, 0x6b, 0x54, 0x6d, 0x70, 0x6c, 0x12, 0x46, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e,
+	0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
+	0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
+	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12,
+	0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x75, 0x67, 0x5f, 0x70,
+	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65,
+	0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x75, 0x67, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22,
+	0x9f, 0x01, 0x0a, 0x1f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52,
+	0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a,
+	0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62,
+	0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x65,
+	0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x6d, 0x70, 0x6c, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6d,
+	0x6d, 0x69, 0x74, 0x54, 0x6d, 0x70, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64,
+	0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65,
+	0x72, 0x22, 0x69, 0x0a, 0x18, 0x43, 0x49, 0x50, 0x44, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
+	0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a,
+	0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
+	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
+	0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
+	0x6f, 0x72, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x4b, 0x65, 0x79, 0x22, 0x50, 0x0a, 0x1d,
+	0x56, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
+	0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a,
+	0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x07, 0x66, 0x69, 0x6c, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65,
+	0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x22, 0xa4,
+	0x01, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61,
+	0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72,
+	0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70,
 	0x6c, 0x6f, 0x61, 0x64, 0x43, 0x49, 0x50, 0x44, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74,
-	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a,
-	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
-	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03,
-	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x2a, 0xfa, 0x02, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61,
-	0x64, 0x53, 0x74, 0x65, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x43,
-	0x4f, 0x44, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00,
-	0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x47, 0x4e, 0x5f, 0x54, 0x4f, 0x5f,
-	0x42, 0x50, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x52, 0x4f,
-	0x4c, 0x4c, 0x5f, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x14, 0x0a,
-	0x10, 0x47, 0x4f, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x49, 0x50,
-	0x44, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x4c,
-	0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x10, 0x04,
-	0x12, 0x24, 0x0a, 0x20, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x43, 0x45,
-	0x4e, 0x53, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f,
-	0x44, 0x41, 0x52, 0x54, 0x10, 0x05, 0x12, 0x27, 0x0a, 0x23, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45,
-	0x52, 0x5f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54,
-	0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x46, 0x55, 0x43, 0x48, 0x53, 0x49, 0x41, 0x10, 0x06, 0x12,
-	0x11, 0x0a, 0x0d, 0x53, 0x4b, 0x49, 0x41, 0x5f, 0x47, 0x4e, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x50,
-	0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x52,
-	0x41, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c,
-	0x55, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x50, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x44,
-	0x41, 0x52, 0x54, 0x10, 0x09, 0x12, 0x25, 0x0a, 0x21, 0x56, 0x55, 0x4c, 0x4b, 0x41, 0x4e, 0x5f,
-	0x44, 0x45, 0x50, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d,
-	0x49, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10,
-	0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x53, 0x53, 0x4c,
-	0x10, 0x0b, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x5f, 0x52,
-	0x4f, 0x4c, 0x4c, 0x5f, 0x57, 0x45, 0x42, 0x47, 0x50, 0x55, 0x5f, 0x43, 0x54, 0x53, 0x10, 0x0c,
-	0x2a, 0x3a, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e,
-	0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44,
-	0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x52, 0x59, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x02, 0x12,
-	0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x42, 0x26, 0x5a, 0x24,
-	0x67, 0x6f, 0x2e, 0x73, 0x6b, 0x69, 0x61, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x69, 0x6e, 0x66, 0x72,
-	0x61, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61,
+	0x67, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20,
+	0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43,
+	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x63, 0x6f,
+	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x7d, 0x0a, 0x16, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f,
+	0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
+	0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x77, 0x64,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x77, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65,
+	0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x25, 0x0a,
+	0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18,
+	0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x46, 0x61, 0x69,
+	0x6c, 0x75, 0x72, 0x65, 0x22, 0x5e, 0x0a, 0x1a, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61,
+	0x64, 0x43, 0x49, 0x50, 0x44, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
+	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72,
+	0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12,
+	0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+	0x17, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x2a, 0xfa, 0x02, 0x0a, 0x0d, 0x50, 0x72, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74,
+	0x65, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45,
+	0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a,
+	0x0e, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x47, 0x4e, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x50, 0x10,
+	0x01, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x5f,
+	0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x4f,
+	0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x49, 0x50, 0x44, 0x10, 0x03,
+	0x12, 0x1b, 0x0a, 0x17, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x43, 0x45,
+	0x4e, 0x53, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x10, 0x04, 0x12, 0x24, 0x0a,
+	0x20, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45,
+	0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x44, 0x41, 0x52,
+	0x54, 0x10, 0x05, 0x12, 0x27, 0x0a, 0x23, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x4c,
+	0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x5f, 0x46,
+	0x4f, 0x52, 0x5f, 0x46, 0x55, 0x43, 0x48, 0x53, 0x49, 0x41, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d,
+	0x53, 0x4b, 0x49, 0x41, 0x5f, 0x47, 0x4e, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x50, 0x10, 0x07, 0x12,
+	0x0f, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x10, 0x08,
+	0x12, 0x20, 0x0a, 0x1c, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x54, 0x54,
+	0x45, 0x52, 0x5f, 0x44, 0x45, 0x50, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x44, 0x41, 0x52, 0x54,
+	0x10, 0x09, 0x12, 0x25, 0x0a, 0x21, 0x56, 0x55, 0x4c, 0x4b, 0x41, 0x4e, 0x5f, 0x44, 0x45, 0x50,
+	0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f,
+	0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, 0x44,
+	0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x53, 0x53, 0x4c, 0x10, 0x0b, 0x12,
+	0x1c, 0x0a, 0x18, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x49, 0x55, 0x4d, 0x5f, 0x52, 0x4f, 0x4c, 0x4c,
+	0x5f, 0x57, 0x45, 0x42, 0x47, 0x50, 0x55, 0x5f, 0x43, 0x54, 0x53, 0x10, 0x0c, 0x2a, 0x3a, 0x0a,
+	0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47,
+	0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x01, 0x12,
+	0x0b, 0x0a, 0x07, 0x44, 0x52, 0x59, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07,
+	0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x6f, 0x2e,
+	0x73, 0x6b, 0x69, 0x61, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x61,
+	0x75, 0x74, 0x6f, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -5691,7 +5769,7 @@
 }
 
 var file_config_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
-var file_config_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
+var file_config_proto_msgTypes = make([]protoimpl.MessageInfo, 52)
 var file_config_proto_goTypes = []interface{}{
 	(PreUploadStep)(0),                                         // 0: autoroll.config.PreUploadStep
 	(Mode)(0),                                                  // 1: autoroll.config.Mode
@@ -5714,42 +5792,43 @@
 	(*DEPSLocalGitHubParentConfig)(nil),                        // 18: autoroll.config.DEPSLocalGitHubParentConfig
 	(*DEPSLocalGerritParentConfig)(nil),                        // 19: autoroll.config.DEPSLocalGerritParentConfig
 	(*GitCheckoutGitHubParentConfig)(nil),                      // 20: autoroll.config.GitCheckoutGitHubParentConfig
-	(*GitCheckoutGitHubFileParentConfig)(nil),                  // 21: autoroll.config.GitCheckoutGitHubFileParentConfig
-	(*GitilesParentConfig)(nil),                                // 22: autoroll.config.GitilesParentConfig
-	(*GitilesConfig)(nil),                                      // 23: autoroll.config.GitilesConfig
-	(*GoModGerritParentConfig)(nil),                            // 24: autoroll.config.GoModGerritParentConfig
-	(*GoModParentConfig)(nil),                                  // 25: autoroll.config.GoModParentConfig
-	(*DEPSLocalParentConfig)(nil),                              // 26: autoroll.config.DEPSLocalParentConfig
-	(*GitCheckoutParentConfig)(nil),                            // 27: autoroll.config.GitCheckoutParentConfig
-	(*FreeTypeParentConfig)(nil),                               // 28: autoroll.config.FreeTypeParentConfig
-	(*CIPDChildConfig)(nil),                                    // 29: autoroll.config.CIPDChildConfig
-	(*FuchsiaSDKChildConfig)(nil),                              // 30: autoroll.config.FuchsiaSDKChildConfig
-	(*SemVerGCSChildConfig)(nil),                               // 31: autoroll.config.SemVerGCSChildConfig
-	(*GCSChildConfig)(nil),                                     // 32: autoroll.config.GCSChildConfig
-	(*GitCheckoutChildConfig)(nil),                             // 33: autoroll.config.GitCheckoutChildConfig
-	(*GitCheckoutGitHubChildConfig)(nil),                       // 34: autoroll.config.GitCheckoutGitHubChildConfig
-	(*GitilesChildConfig)(nil),                                 // 35: autoroll.config.GitilesChildConfig
-	(*DockerChildConfig)(nil),                                  // 36: autoroll.config.DockerChildConfig
-	(*NotifierConfig)(nil),                                     // 37: autoroll.config.NotifierConfig
-	(*EmailNotifierConfig)(nil),                                // 38: autoroll.config.EmailNotifierConfig
-	(*ChatNotifierConfig)(nil),                                 // 39: autoroll.config.ChatNotifierConfig
-	(*MonorailNotifierConfig)(nil),                             // 40: autoroll.config.MonorailNotifierConfig
-	(*PubSubNotifierConfig)(nil),                               // 41: autoroll.config.PubSubNotifierConfig
-	(*ThrottleConfig)(nil),                                     // 42: autoroll.config.ThrottleConfig
-	(*TransitiveDepConfig)(nil),                                // 43: autoroll.config.TransitiveDepConfig
-	(*VersionFileConfig)(nil),                                  // 44: autoroll.config.VersionFileConfig
-	(*DependencyConfig)(nil),                                   // 45: autoroll.config.DependencyConfig
-	(*GitCheckoutConfig)(nil),                                  // 46: autoroll.config.GitCheckoutConfig
-	(*BuildbucketRevisionFilterConfig)(nil),                    // 47: autoroll.config.BuildbucketRevisionFilterConfig
-	(*CIPDRevisionFilterConfig)(nil),                           // 48: autoroll.config.CIPDRevisionFilterConfig
-	(*ValidHttpRevisionFilterConfig)(nil),                      // 49: autoroll.config.ValidHttpRevisionFilterConfig
-	(*PreUploadConfig)(nil),                                    // 50: autoroll.config.PreUploadConfig
-	(*PreUploadCommandConfig)(nil),                             // 51: autoroll.config.PreUploadCommandConfig
-	(*PreUploadCIPDPackageConfig)(nil),                         // 52: autoroll.config.PreUploadCIPDPackageConfig
-	(*Configs)(nil),                                            // 53: autoroll.config.Configs
-	(*AndroidRepoManagerConfig_ProjectMetadataFileConfig)(nil), // 54: autoroll.config.AndroidRepoManagerConfig.ProjectMetadataFileConfig
-	(*CommandRepoManagerConfig_CommandConfig)(nil),             // 55: autoroll.config.CommandRepoManagerConfig.CommandConfig
-	(*CopyParentConfig_CopyEntry)(nil),                         // 56: autoroll.config.CopyParentConfig.CopyEntry
+	(*GitCheckoutGerritParentConfig)(nil),                      // 21: autoroll.config.GitCheckoutGerritParentConfig
+	(*GitCheckoutGitHubFileParentConfig)(nil),                  // 22: autoroll.config.GitCheckoutGitHubFileParentConfig
+	(*GitilesParentConfig)(nil),                                // 23: autoroll.config.GitilesParentConfig
+	(*GitilesConfig)(nil),                                      // 24: autoroll.config.GitilesConfig
+	(*GoModGerritParentConfig)(nil),                            // 25: autoroll.config.GoModGerritParentConfig
+	(*GoModParentConfig)(nil),                                  // 26: autoroll.config.GoModParentConfig
+	(*DEPSLocalParentConfig)(nil),                              // 27: autoroll.config.DEPSLocalParentConfig
+	(*GitCheckoutParentConfig)(nil),                            // 28: autoroll.config.GitCheckoutParentConfig
+	(*FreeTypeParentConfig)(nil),                               // 29: autoroll.config.FreeTypeParentConfig
+	(*CIPDChildConfig)(nil),                                    // 30: autoroll.config.CIPDChildConfig
+	(*FuchsiaSDKChildConfig)(nil),                              // 31: autoroll.config.FuchsiaSDKChildConfig
+	(*SemVerGCSChildConfig)(nil),                               // 32: autoroll.config.SemVerGCSChildConfig
+	(*GCSChildConfig)(nil),                                     // 33: autoroll.config.GCSChildConfig
+	(*GitCheckoutChildConfig)(nil),                             // 34: autoroll.config.GitCheckoutChildConfig
+	(*GitCheckoutGitHubChildConfig)(nil),                       // 35: autoroll.config.GitCheckoutGitHubChildConfig
+	(*GitilesChildConfig)(nil),                                 // 36: autoroll.config.GitilesChildConfig
+	(*DockerChildConfig)(nil),                                  // 37: autoroll.config.DockerChildConfig
+	(*NotifierConfig)(nil),                                     // 38: autoroll.config.NotifierConfig
+	(*EmailNotifierConfig)(nil),                                // 39: autoroll.config.EmailNotifierConfig
+	(*ChatNotifierConfig)(nil),                                 // 40: autoroll.config.ChatNotifierConfig
+	(*MonorailNotifierConfig)(nil),                             // 41: autoroll.config.MonorailNotifierConfig
+	(*PubSubNotifierConfig)(nil),                               // 42: autoroll.config.PubSubNotifierConfig
+	(*ThrottleConfig)(nil),                                     // 43: autoroll.config.ThrottleConfig
+	(*TransitiveDepConfig)(nil),                                // 44: autoroll.config.TransitiveDepConfig
+	(*VersionFileConfig)(nil),                                  // 45: autoroll.config.VersionFileConfig
+	(*DependencyConfig)(nil),                                   // 46: autoroll.config.DependencyConfig
+	(*GitCheckoutConfig)(nil),                                  // 47: autoroll.config.GitCheckoutConfig
+	(*BuildbucketRevisionFilterConfig)(nil),                    // 48: autoroll.config.BuildbucketRevisionFilterConfig
+	(*CIPDRevisionFilterConfig)(nil),                           // 49: autoroll.config.CIPDRevisionFilterConfig
+	(*ValidHttpRevisionFilterConfig)(nil),                      // 50: autoroll.config.ValidHttpRevisionFilterConfig
+	(*PreUploadConfig)(nil),                                    // 51: autoroll.config.PreUploadConfig
+	(*PreUploadCommandConfig)(nil),                             // 52: autoroll.config.PreUploadCommandConfig
+	(*PreUploadCIPDPackageConfig)(nil),                         // 53: autoroll.config.PreUploadCIPDPackageConfig
+	(*Configs)(nil),                                            // 54: autoroll.config.Configs
+	(*AndroidRepoManagerConfig_ProjectMetadataFileConfig)(nil), // 55: autoroll.config.AndroidRepoManagerConfig.ProjectMetadataFileConfig
+	(*CommandRepoManagerConfig_CommandConfig)(nil),             // 56: autoroll.config.CommandRepoManagerConfig.CommandConfig
+	(*CopyParentConfig_CopyEntry)(nil),                         // 57: autoroll.config.CopyParentConfig.CopyEntry
 }
 var file_config_proto_depIdxs = []int32{
 	7,  // 0: autoroll.config.Config.commit_msg:type_name -> autoroll.config.CommitMsgConfig
@@ -5762,86 +5841,88 @@
 	13, // 7: autoroll.config.Config.command_repo_manager:type_name -> autoroll.config.CommandRepoManagerConfig
 	14, // 8: autoroll.config.Config.freetype_repo_manager:type_name -> autoroll.config.FreeTypeRepoManagerConfig
 	15, // 9: autoroll.config.Config.google3_repo_manager:type_name -> autoroll.config.Google3RepoManagerConfig
-	37, // 10: autoroll.config.Config.notifiers:type_name -> autoroll.config.NotifierConfig
-	42, // 11: autoroll.config.Config.safety_throttle:type_name -> autoroll.config.ThrottleConfig
-	43, // 12: autoroll.config.Config.transitive_deps:type_name -> autoroll.config.TransitiveDepConfig
+	38, // 10: autoroll.config.Config.notifiers:type_name -> autoroll.config.NotifierConfig
+	43, // 11: autoroll.config.Config.safety_throttle:type_name -> autoroll.config.ThrottleConfig
+	44, // 12: autoroll.config.Config.transitive_deps:type_name -> autoroll.config.TransitiveDepConfig
 	1,  // 13: autoroll.config.Config.valid_modes:type_name -> autoroll.config.Mode
 	2,  // 14: autoroll.config.CommitMsgConfig.built_in:type_name -> autoroll.config.CommitMsgConfig.BuiltIn
 	3,  // 15: autoroll.config.GerritConfig.config:type_name -> autoroll.config.GerritConfig.Config
 	0,  // 16: autoroll.config.AndroidRepoManagerConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
-	54, // 17: autoroll.config.AndroidRepoManagerConfig.metadata:type_name -> autoroll.config.AndroidRepoManagerConfig.ProjectMetadataFileConfig
-	50, // 18: autoroll.config.AndroidRepoManagerConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
-	46, // 19: autoroll.config.CommandRepoManagerConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
-	55, // 20: autoroll.config.CommandRepoManagerConfig.get_tip_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
-	55, // 21: autoroll.config.CommandRepoManagerConfig.get_pinned_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
-	55, // 22: autoroll.config.CommandRepoManagerConfig.set_pinned_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
-	28, // 23: autoroll.config.FreeTypeRepoManagerConfig.parent:type_name -> autoroll.config.FreeTypeParentConfig
-	35, // 24: autoroll.config.FreeTypeRepoManagerConfig.child:type_name -> autoroll.config.GitilesChildConfig
+	55, // 17: autoroll.config.AndroidRepoManagerConfig.metadata:type_name -> autoroll.config.AndroidRepoManagerConfig.ProjectMetadataFileConfig
+	51, // 18: autoroll.config.AndroidRepoManagerConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
+	47, // 19: autoroll.config.CommandRepoManagerConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
+	56, // 20: autoroll.config.CommandRepoManagerConfig.get_tip_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
+	56, // 21: autoroll.config.CommandRepoManagerConfig.get_pinned_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
+	56, // 22: autoroll.config.CommandRepoManagerConfig.set_pinned_rev:type_name -> autoroll.config.CommandRepoManagerConfig.CommandConfig
+	29, // 23: autoroll.config.FreeTypeRepoManagerConfig.parent:type_name -> autoroll.config.FreeTypeParentConfig
+	36, // 24: autoroll.config.FreeTypeRepoManagerConfig.child:type_name -> autoroll.config.GitilesChildConfig
 	17, // 25: autoroll.config.ParentChildRepoManagerConfig.copy_parent:type_name -> autoroll.config.CopyParentConfig
 	18, // 26: autoroll.config.ParentChildRepoManagerConfig.deps_local_github_parent:type_name -> autoroll.config.DEPSLocalGitHubParentConfig
 	19, // 27: autoroll.config.ParentChildRepoManagerConfig.deps_local_gerrit_parent:type_name -> autoroll.config.DEPSLocalGerritParentConfig
-	21, // 28: autoroll.config.ParentChildRepoManagerConfig.git_checkout_github_file_parent:type_name -> autoroll.config.GitCheckoutGitHubFileParentConfig
-	22, // 29: autoroll.config.ParentChildRepoManagerConfig.gitiles_parent:type_name -> autoroll.config.GitilesParentConfig
-	24, // 30: autoroll.config.ParentChildRepoManagerConfig.go_mod_gerrit_parent:type_name -> autoroll.config.GoModGerritParentConfig
-	29, // 31: autoroll.config.ParentChildRepoManagerConfig.cipd_child:type_name -> autoroll.config.CIPDChildConfig
-	30, // 32: autoroll.config.ParentChildRepoManagerConfig.fuchsia_sdk_child:type_name -> autoroll.config.FuchsiaSDKChildConfig
-	33, // 33: autoroll.config.ParentChildRepoManagerConfig.git_checkout_child:type_name -> autoroll.config.GitCheckoutChildConfig
-	34, // 34: autoroll.config.ParentChildRepoManagerConfig.git_checkout_github_child:type_name -> autoroll.config.GitCheckoutGitHubChildConfig
-	35, // 35: autoroll.config.ParentChildRepoManagerConfig.gitiles_child:type_name -> autoroll.config.GitilesChildConfig
-	31, // 36: autoroll.config.ParentChildRepoManagerConfig.semver_gcs_child:type_name -> autoroll.config.SemVerGCSChildConfig
-	36, // 37: autoroll.config.ParentChildRepoManagerConfig.docker_child:type_name -> autoroll.config.DockerChildConfig
-	47, // 38: autoroll.config.ParentChildRepoManagerConfig.buildbucket_revision_filter:type_name -> autoroll.config.BuildbucketRevisionFilterConfig
-	48, // 39: autoroll.config.ParentChildRepoManagerConfig.cipd_revision_filter:type_name -> autoroll.config.CIPDRevisionFilterConfig
-	49, // 40: autoroll.config.ParentChildRepoManagerConfig.valid_http_revision_filter:type_name -> autoroll.config.ValidHttpRevisionFilterConfig
-	22, // 41: autoroll.config.CopyParentConfig.gitiles:type_name -> autoroll.config.GitilesParentConfig
-	56, // 42: autoroll.config.CopyParentConfig.copies:type_name -> autoroll.config.CopyParentConfig.CopyEntry
-	26, // 43: autoroll.config.DEPSLocalGitHubParentConfig.deps_local:type_name -> autoroll.config.DEPSLocalParentConfig
-	9,  // 44: autoroll.config.DEPSLocalGitHubParentConfig.github:type_name -> autoroll.config.GitHubConfig
-	26, // 45: autoroll.config.DEPSLocalGerritParentConfig.deps_local:type_name -> autoroll.config.DEPSLocalParentConfig
-	8,  // 46: autoroll.config.DEPSLocalGerritParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
-	27, // 47: autoroll.config.GitCheckoutGitHubParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutParentConfig
-	20, // 48: autoroll.config.GitCheckoutGitHubFileParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutGitHubParentConfig
-	0,  // 49: autoroll.config.GitCheckoutGitHubFileParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
-	50, // 50: autoroll.config.GitCheckoutGitHubFileParentConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
-	23, // 51: autoroll.config.GitilesParentConfig.gitiles:type_name -> autoroll.config.GitilesConfig
-	45, // 52: autoroll.config.GitilesParentConfig.dep:type_name -> autoroll.config.DependencyConfig
-	8,  // 53: autoroll.config.GitilesParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
-	44, // 54: autoroll.config.GitilesConfig.dependencies:type_name -> autoroll.config.VersionFileConfig
-	25, // 55: autoroll.config.GoModGerritParentConfig.go_mod:type_name -> autoroll.config.GoModParentConfig
-	8,  // 56: autoroll.config.GoModGerritParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
-	46, // 57: autoroll.config.GoModParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
-	0,  // 58: autoroll.config.GoModParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
-	50, // 59: autoroll.config.GoModParentConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
-	27, // 60: autoroll.config.DEPSLocalParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutParentConfig
-	0,  // 61: autoroll.config.DEPSLocalParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
-	50, // 62: autoroll.config.DEPSLocalParentConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
-	46, // 63: autoroll.config.GitCheckoutParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
-	45, // 64: autoroll.config.GitCheckoutParentConfig.dep:type_name -> autoroll.config.DependencyConfig
-	22, // 65: autoroll.config.FreeTypeParentConfig.gitiles:type_name -> autoroll.config.GitilesParentConfig
-	23, // 66: autoroll.config.CIPDChildConfig.source_repo:type_name -> autoroll.config.GitilesConfig
-	32, // 67: autoroll.config.SemVerGCSChildConfig.gcs:type_name -> autoroll.config.GCSChildConfig
-	46, // 68: autoroll.config.GitCheckoutChildConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
-	33, // 69: autoroll.config.GitCheckoutGitHubChildConfig.git_checkout:type_name -> autoroll.config.GitCheckoutChildConfig
-	23, // 70: autoroll.config.GitilesChildConfig.gitiles:type_name -> autoroll.config.GitilesConfig
-	4,  // 71: autoroll.config.NotifierConfig.log_level:type_name -> autoroll.config.NotifierConfig.LogLevel
-	5,  // 72: autoroll.config.NotifierConfig.msg_type:type_name -> autoroll.config.NotifierConfig.MsgType
-	38, // 73: autoroll.config.NotifierConfig.email:type_name -> autoroll.config.EmailNotifierConfig
-	39, // 74: autoroll.config.NotifierConfig.chat:type_name -> autoroll.config.ChatNotifierConfig
-	40, // 75: autoroll.config.NotifierConfig.monorail:type_name -> autoroll.config.MonorailNotifierConfig
-	41, // 76: autoroll.config.NotifierConfig.pubsub:type_name -> autoroll.config.PubSubNotifierConfig
-	44, // 77: autoroll.config.TransitiveDepConfig.child:type_name -> autoroll.config.VersionFileConfig
-	44, // 78: autoroll.config.TransitiveDepConfig.parent:type_name -> autoroll.config.VersionFileConfig
-	44, // 79: autoroll.config.DependencyConfig.primary:type_name -> autoroll.config.VersionFileConfig
-	43, // 80: autoroll.config.DependencyConfig.transitive:type_name -> autoroll.config.TransitiveDepConfig
-	44, // 81: autoroll.config.GitCheckoutConfig.dependencies:type_name -> autoroll.config.VersionFileConfig
-	52, // 82: autoroll.config.PreUploadConfig.cipd_package:type_name -> autoroll.config.PreUploadCIPDPackageConfig
-	51, // 83: autoroll.config.PreUploadConfig.command:type_name -> autoroll.config.PreUploadCommandConfig
-	6,  // 84: autoroll.config.Configs.config:type_name -> autoroll.config.Config
-	85, // [85:85] is the sub-list for method output_type
-	85, // [85:85] is the sub-list for method input_type
-	85, // [85:85] is the sub-list for extension type_name
-	85, // [85:85] is the sub-list for extension extendee
-	0,  // [0:85] is the sub-list for field type_name
+	22, // 28: autoroll.config.ParentChildRepoManagerConfig.git_checkout_github_file_parent:type_name -> autoroll.config.GitCheckoutGitHubFileParentConfig
+	23, // 29: autoroll.config.ParentChildRepoManagerConfig.gitiles_parent:type_name -> autoroll.config.GitilesParentConfig
+	25, // 30: autoroll.config.ParentChildRepoManagerConfig.go_mod_gerrit_parent:type_name -> autoroll.config.GoModGerritParentConfig
+	21, // 31: autoroll.config.ParentChildRepoManagerConfig.git_checkout_gerrit_parent:type_name -> autoroll.config.GitCheckoutGerritParentConfig
+	30, // 32: autoroll.config.ParentChildRepoManagerConfig.cipd_child:type_name -> autoroll.config.CIPDChildConfig
+	31, // 33: autoroll.config.ParentChildRepoManagerConfig.fuchsia_sdk_child:type_name -> autoroll.config.FuchsiaSDKChildConfig
+	34, // 34: autoroll.config.ParentChildRepoManagerConfig.git_checkout_child:type_name -> autoroll.config.GitCheckoutChildConfig
+	35, // 35: autoroll.config.ParentChildRepoManagerConfig.git_checkout_github_child:type_name -> autoroll.config.GitCheckoutGitHubChildConfig
+	36, // 36: autoroll.config.ParentChildRepoManagerConfig.gitiles_child:type_name -> autoroll.config.GitilesChildConfig
+	32, // 37: autoroll.config.ParentChildRepoManagerConfig.semver_gcs_child:type_name -> autoroll.config.SemVerGCSChildConfig
+	37, // 38: autoroll.config.ParentChildRepoManagerConfig.docker_child:type_name -> autoroll.config.DockerChildConfig
+	48, // 39: autoroll.config.ParentChildRepoManagerConfig.buildbucket_revision_filter:type_name -> autoroll.config.BuildbucketRevisionFilterConfig
+	49, // 40: autoroll.config.ParentChildRepoManagerConfig.cipd_revision_filter:type_name -> autoroll.config.CIPDRevisionFilterConfig
+	50, // 41: autoroll.config.ParentChildRepoManagerConfig.valid_http_revision_filter:type_name -> autoroll.config.ValidHttpRevisionFilterConfig
+	23, // 42: autoroll.config.CopyParentConfig.gitiles:type_name -> autoroll.config.GitilesParentConfig
+	57, // 43: autoroll.config.CopyParentConfig.copies:type_name -> autoroll.config.CopyParentConfig.CopyEntry
+	27, // 44: autoroll.config.DEPSLocalGitHubParentConfig.deps_local:type_name -> autoroll.config.DEPSLocalParentConfig
+	9,  // 45: autoroll.config.DEPSLocalGitHubParentConfig.github:type_name -> autoroll.config.GitHubConfig
+	27, // 46: autoroll.config.DEPSLocalGerritParentConfig.deps_local:type_name -> autoroll.config.DEPSLocalParentConfig
+	8,  // 47: autoroll.config.DEPSLocalGerritParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
+	28, // 48: autoroll.config.GitCheckoutGitHubParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutParentConfig
+	28, // 49: autoroll.config.GitCheckoutGerritParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutParentConfig
+	20, // 50: autoroll.config.GitCheckoutGitHubFileParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutGitHubParentConfig
+	0,  // 51: autoroll.config.GitCheckoutGitHubFileParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
+	51, // 52: autoroll.config.GitCheckoutGitHubFileParentConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
+	24, // 53: autoroll.config.GitilesParentConfig.gitiles:type_name -> autoroll.config.GitilesConfig
+	46, // 54: autoroll.config.GitilesParentConfig.dep:type_name -> autoroll.config.DependencyConfig
+	8,  // 55: autoroll.config.GitilesParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
+	45, // 56: autoroll.config.GitilesConfig.dependencies:type_name -> autoroll.config.VersionFileConfig
+	26, // 57: autoroll.config.GoModGerritParentConfig.go_mod:type_name -> autoroll.config.GoModParentConfig
+	8,  // 58: autoroll.config.GoModGerritParentConfig.gerrit:type_name -> autoroll.config.GerritConfig
+	47, // 59: autoroll.config.GoModParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
+	0,  // 60: autoroll.config.GoModParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
+	51, // 61: autoroll.config.GoModParentConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
+	28, // 62: autoroll.config.DEPSLocalParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutParentConfig
+	0,  // 63: autoroll.config.DEPSLocalParentConfig.pre_upload_steps:type_name -> autoroll.config.PreUploadStep
+	51, // 64: autoroll.config.DEPSLocalParentConfig.pre_upload_commands:type_name -> autoroll.config.PreUploadConfig
+	47, // 65: autoroll.config.GitCheckoutParentConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
+	46, // 66: autoroll.config.GitCheckoutParentConfig.dep:type_name -> autoroll.config.DependencyConfig
+	23, // 67: autoroll.config.FreeTypeParentConfig.gitiles:type_name -> autoroll.config.GitilesParentConfig
+	24, // 68: autoroll.config.CIPDChildConfig.source_repo:type_name -> autoroll.config.GitilesConfig
+	33, // 69: autoroll.config.SemVerGCSChildConfig.gcs:type_name -> autoroll.config.GCSChildConfig
+	47, // 70: autoroll.config.GitCheckoutChildConfig.git_checkout:type_name -> autoroll.config.GitCheckoutConfig
+	34, // 71: autoroll.config.GitCheckoutGitHubChildConfig.git_checkout:type_name -> autoroll.config.GitCheckoutChildConfig
+	24, // 72: autoroll.config.GitilesChildConfig.gitiles:type_name -> autoroll.config.GitilesConfig
+	4,  // 73: autoroll.config.NotifierConfig.log_level:type_name -> autoroll.config.NotifierConfig.LogLevel
+	5,  // 74: autoroll.config.NotifierConfig.msg_type:type_name -> autoroll.config.NotifierConfig.MsgType
+	39, // 75: autoroll.config.NotifierConfig.email:type_name -> autoroll.config.EmailNotifierConfig
+	40, // 76: autoroll.config.NotifierConfig.chat:type_name -> autoroll.config.ChatNotifierConfig
+	41, // 77: autoroll.config.NotifierConfig.monorail:type_name -> autoroll.config.MonorailNotifierConfig
+	42, // 78: autoroll.config.NotifierConfig.pubsub:type_name -> autoroll.config.PubSubNotifierConfig
+	45, // 79: autoroll.config.TransitiveDepConfig.child:type_name -> autoroll.config.VersionFileConfig
+	45, // 80: autoroll.config.TransitiveDepConfig.parent:type_name -> autoroll.config.VersionFileConfig
+	45, // 81: autoroll.config.DependencyConfig.primary:type_name -> autoroll.config.VersionFileConfig
+	44, // 82: autoroll.config.DependencyConfig.transitive:type_name -> autoroll.config.TransitiveDepConfig
+	45, // 83: autoroll.config.GitCheckoutConfig.dependencies:type_name -> autoroll.config.VersionFileConfig
+	53, // 84: autoroll.config.PreUploadConfig.cipd_package:type_name -> autoroll.config.PreUploadCIPDPackageConfig
+	52, // 85: autoroll.config.PreUploadConfig.command:type_name -> autoroll.config.PreUploadCommandConfig
+	6,  // 86: autoroll.config.Configs.config:type_name -> autoroll.config.Config
+	87, // [87:87] is the sub-list for method output_type
+	87, // [87:87] is the sub-list for method input_type
+	87, // [87:87] is the sub-list for extension type_name
+	87, // [87:87] is the sub-list for extension extendee
+	0,  // [0:87] is the sub-list for field type_name
 }
 
 func init() { file_config_proto_init() }
@@ -6031,7 +6112,7 @@
 			}
 		}
 		file_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GitCheckoutGitHubFileParentConfig); i {
+			switch v := v.(*GitCheckoutGerritParentConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6043,7 +6124,7 @@
 			}
 		}
 		file_config_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GitilesParentConfig); i {
+			switch v := v.(*GitCheckoutGitHubFileParentConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6055,7 +6136,7 @@
 			}
 		}
 		file_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GitilesConfig); i {
+			switch v := v.(*GitilesParentConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6067,7 +6148,7 @@
 			}
 		}
 		file_config_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GoModGerritParentConfig); i {
+			switch v := v.(*GitilesConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6079,7 +6160,7 @@
 			}
 		}
 		file_config_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GoModParentConfig); i {
+			switch v := v.(*GoModGerritParentConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6091,7 +6172,7 @@
 			}
 		}
 		file_config_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*DEPSLocalParentConfig); i {
+			switch v := v.(*GoModParentConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6103,7 +6184,7 @@
 			}
 		}
 		file_config_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GitCheckoutParentConfig); i {
+			switch v := v.(*DEPSLocalParentConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6115,7 +6196,7 @@
 			}
 		}
 		file_config_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FreeTypeParentConfig); i {
+			switch v := v.(*GitCheckoutParentConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6127,7 +6208,7 @@
 			}
 		}
 		file_config_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*CIPDChildConfig); i {
+			switch v := v.(*FreeTypeParentConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6139,7 +6220,7 @@
 			}
 		}
 		file_config_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FuchsiaSDKChildConfig); i {
+			switch v := v.(*CIPDChildConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6151,7 +6232,7 @@
 			}
 		}
 		file_config_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*SemVerGCSChildConfig); i {
+			switch v := v.(*FuchsiaSDKChildConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6163,7 +6244,7 @@
 			}
 		}
 		file_config_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GCSChildConfig); i {
+			switch v := v.(*SemVerGCSChildConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6175,7 +6256,7 @@
 			}
 		}
 		file_config_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GitCheckoutChildConfig); i {
+			switch v := v.(*GCSChildConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6187,7 +6268,7 @@
 			}
 		}
 		file_config_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GitCheckoutGitHubChildConfig); i {
+			switch v := v.(*GitCheckoutChildConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6199,7 +6280,7 @@
 			}
 		}
 		file_config_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GitilesChildConfig); i {
+			switch v := v.(*GitCheckoutGitHubChildConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6211,7 +6292,7 @@
 			}
 		}
 		file_config_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*DockerChildConfig); i {
+			switch v := v.(*GitilesChildConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6223,7 +6304,7 @@
 			}
 		}
 		file_config_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*NotifierConfig); i {
+			switch v := v.(*DockerChildConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6235,7 +6316,7 @@
 			}
 		}
 		file_config_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*EmailNotifierConfig); i {
+			switch v := v.(*NotifierConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6247,7 +6328,7 @@
 			}
 		}
 		file_config_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*ChatNotifierConfig); i {
+			switch v := v.(*EmailNotifierConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6259,7 +6340,7 @@
 			}
 		}
 		file_config_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*MonorailNotifierConfig); i {
+			switch v := v.(*ChatNotifierConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6271,7 +6352,7 @@
 			}
 		}
 		file_config_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*PubSubNotifierConfig); i {
+			switch v := v.(*MonorailNotifierConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6283,7 +6364,7 @@
 			}
 		}
 		file_config_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*ThrottleConfig); i {
+			switch v := v.(*PubSubNotifierConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6295,7 +6376,7 @@
 			}
 		}
 		file_config_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TransitiveDepConfig); i {
+			switch v := v.(*ThrottleConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6307,7 +6388,7 @@
 			}
 		}
 		file_config_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*VersionFileConfig); i {
+			switch v := v.(*TransitiveDepConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6319,7 +6400,7 @@
 			}
 		}
 		file_config_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*DependencyConfig); i {
+			switch v := v.(*VersionFileConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6331,7 +6412,7 @@
 			}
 		}
 		file_config_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*GitCheckoutConfig); i {
+			switch v := v.(*DependencyConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6343,7 +6424,7 @@
 			}
 		}
 		file_config_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*BuildbucketRevisionFilterConfig); i {
+			switch v := v.(*GitCheckoutConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6355,7 +6436,7 @@
 			}
 		}
 		file_config_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*CIPDRevisionFilterConfig); i {
+			switch v := v.(*BuildbucketRevisionFilterConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6367,7 +6448,7 @@
 			}
 		}
 		file_config_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*ValidHttpRevisionFilterConfig); i {
+			switch v := v.(*CIPDRevisionFilterConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6379,7 +6460,7 @@
 			}
 		}
 		file_config_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*PreUploadConfig); i {
+			switch v := v.(*ValidHttpRevisionFilterConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6391,7 +6472,7 @@
 			}
 		}
 		file_config_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*PreUploadCommandConfig); i {
+			switch v := v.(*PreUploadConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6403,7 +6484,7 @@
 			}
 		}
 		file_config_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*PreUploadCIPDPackageConfig); i {
+			switch v := v.(*PreUploadCommandConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6415,7 +6496,7 @@
 			}
 		}
 		file_config_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Configs); i {
+			switch v := v.(*PreUploadCIPDPackageConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6427,7 +6508,7 @@
 			}
 		}
 		file_config_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*AndroidRepoManagerConfig_ProjectMetadataFileConfig); i {
+			switch v := v.(*Configs); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6439,7 +6520,7 @@
 			}
 		}
 		file_config_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*CommandRepoManagerConfig_CommandConfig); i {
+			switch v := v.(*AndroidRepoManagerConfig_ProjectMetadataFileConfig); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -6451,6 +6532,18 @@
 			}
 		}
 		file_config_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*CommandRepoManagerConfig_CommandConfig); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_config_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*CopyParentConfig_CopyEntry); i {
 			case 0:
 				return &v.state
@@ -6480,6 +6573,7 @@
 		(*ParentChildRepoManagerConfig_GitCheckoutGithubFileParent)(nil),
 		(*ParentChildRepoManagerConfig_GitilesParent)(nil),
 		(*ParentChildRepoManagerConfig_GoModGerritParent)(nil),
+		(*ParentChildRepoManagerConfig_GitCheckoutGerritParent)(nil),
 		(*ParentChildRepoManagerConfig_CipdChild)(nil),
 		(*ParentChildRepoManagerConfig_FuchsiaSdkChild)(nil),
 		(*ParentChildRepoManagerConfig_GitCheckoutChild)(nil),
@@ -6488,7 +6582,7 @@
 		(*ParentChildRepoManagerConfig_SemverGcsChild)(nil),
 		(*ParentChildRepoManagerConfig_DockerChild)(nil),
 	}
-	file_config_proto_msgTypes[31].OneofWrappers = []interface{}{
+	file_config_proto_msgTypes[32].OneofWrappers = []interface{}{
 		(*NotifierConfig_Email)(nil),
 		(*NotifierConfig_Chat)(nil),
 		(*NotifierConfig_Monorail)(nil),
@@ -6500,7 +6594,7 @@
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_config_proto_rawDesc,
 			NumEnums:      6,
-			NumMessages:   51,
+			NumMessages:   52,
 			NumExtensions: 0,
 			NumServices:   0,
 		},
diff --git a/autoroll/go/config/config.proto b/autoroll/go/config/config.proto
index 9d8867c..a7ceda3 100644
--- a/autoroll/go/config/config.proto
+++ b/autoroll/go/config/config.proto
@@ -340,6 +340,7 @@
         GitCheckoutGitHubFileParentConfig git_checkout_github_file_parent = 4;
         GitilesParentConfig gitiles_parent = 5;
         GoModGerritParentConfig go_mod_gerrit_parent = 14;
+        GitCheckoutGerritParentConfig git_checkout_gerrit_parent = 17;
     }
     // child is the entity which is depended on by the parent and is rolled.
     oneof child {
@@ -396,6 +397,12 @@
     string fork_repo_url = 2;
 }
 
+// GitCheckoutGerritParentConfig provides configuration for a Parent which
+// uses a local Git checkout and uploads CLs to Gerrit.
+message GitCheckoutGerritParentConfig {
+    GitCheckoutParentConfig git_checkout = 1;
+}
+
 // GitCheckoutGitHubFileParentConfig provides configuration for a Parent which
 // uses a local Git checkout and uploads pull requests to GitHub.
 message GitCheckoutGitHubFileParentConfig {
diff --git a/autoroll/go/repo_manager/parent/git_checkout_gerrit.go b/autoroll/go/repo_manager/parent/git_checkout_gerrit.go
index 493b2a4..c5ae4ec 100644
--- a/autoroll/go/repo_manager/parent/git_checkout_gerrit.go
+++ b/autoroll/go/repo_manager/parent/git_checkout_gerrit.go
@@ -4,6 +4,9 @@
 	"context"
 	"fmt"
 
+	"go.skia.org/infra/autoroll/go/codereview"
+	"go.skia.org/infra/autoroll/go/config"
+	"go.skia.org/infra/autoroll/go/config_vars"
 	"go.skia.org/infra/autoroll/go/repo_manager/common/gerrit_common"
 	"go.skia.org/infra/autoroll/go/repo_manager/common/git_common"
 	"go.skia.org/infra/go/gerrit"
@@ -45,3 +48,31 @@
 		return ci.Issue, nil
 	}
 }
+
+// NewGitCheckoutGerrit returns an implementation of Parent which uses a local
+// git checkout and uploads pull requests to Github.
+func NewGitCheckoutGerrit(ctx context.Context, c *config.GitCheckoutGerritParentConfig, reg *config_vars.Registry, serverURL, workdir, rollerName string, cr codereview.CodeReview) (*GitCheckoutParent, error) {
+	if err := c.Validate(); err != nil {
+		return nil, skerr.Wrap(err)
+	}
+
+	gerritClient, ok := cr.Client().(gerrit.GerritInterface)
+	if !ok {
+		return nil, skerr.Fmt("GitCheckoutGerrit must use Gerrit for code review.")
+	}
+
+	// See documentation for GitCheckoutUploadRollFunc.
+	uploadRoll := GitCheckoutUploadGerritRollFunc(gerritClient)
+
+	createRoll := gitCheckoutFileCreateRollFunc(c.GitCheckout.Dep)
+
+	// Create the GitCheckout Parent.
+	p, err := NewGitCheckout(ctx, c.GitCheckout, reg, workdir, cr, nil, createRoll, uploadRoll)
+	if err != nil {
+		return nil, skerr.Wrap(err)
+	}
+	if err := gerrit_common.SetupGerrit(ctx, p.Checkout.Checkout, gerritClient); err != nil {
+		return nil, skerr.Wrap(err)
+	}
+	return p, nil
+}
diff --git a/autoroll/go/repo_manager/parent_child_repo_manager.go b/autoroll/go/repo_manager/parent_child_repo_manager.go
index 0dcbdef..3f9d2d8 100644
--- a/autoroll/go/repo_manager/parent_child_repo_manager.go
+++ b/autoroll/go/repo_manager/parent_child_repo_manager.go
@@ -53,6 +53,8 @@
 		childFullPath := filepath.Join(workdir, childPath)
 		childCheckout = &git.Checkout{GitDir: git.GitDir(childFullPath)}
 		parentRM, err = parent.NewDEPSLocalGitHub(ctx, parentCfg, reg, client, serverURL, workdir, rollerName, recipeCfgFile, cr)
+	} else if c.GetGitCheckoutGerritParent() != nil {
+		parentRM, err = parent.NewGitCheckoutGerrit(ctx, c.GetGitCheckoutGerritParent(), reg, serverURL, workdir, rollerName, cr)
 	} else if c.GetGitCheckoutGithubFileParent() != nil {
 		parentRM, err = parent.NewGitCheckoutGithubFile(ctx, c.GetGitCheckoutGithubFileParent(), reg, client, serverURL, workdir, rollerName, cr)
 	} else if c.GetGitilesParent() != nil {
diff --git a/autoroll/modules/config/config.ts b/autoroll/modules/config/config.ts
index 24b1065..301686e 100644
--- a/autoroll/modules/config/config.ts
+++ b/autoroll/modules/config/config.ts
@@ -329,6 +329,7 @@
   gitCheckoutGithubFileParent?: GitCheckoutGitHubFileParentConfig;
   gitilesParent?: GitilesParentConfig;
   goModGerritParent?: GoModGerritParentConfig;
+  gitCheckoutGerritParent?: GitCheckoutGerritParentConfig;
   cipdChild?: CIPDChildConfig;
   fuchsiaSdkChild?: FuchsiaSDKChildConfig;
   gitCheckoutChild?: GitCheckoutChildConfig;
@@ -348,6 +349,7 @@
   git_checkout_github_file_parent?: GitCheckoutGitHubFileParentConfigJSON;
   gitiles_parent?: GitilesParentConfigJSON;
   go_mod_gerrit_parent?: GoModGerritParentConfigJSON;
+  git_checkout_gerrit_parent?: GitCheckoutGerritParentConfigJSON;
   cipd_child?: CIPDChildConfigJSON;
   fuchsia_sdk_child?: FuchsiaSDKChildConfigJSON;
   git_checkout_child?: GitCheckoutChildConfigJSON;
@@ -412,6 +414,14 @@
   fork_repo_url?: string;
 }
 
+export interface GitCheckoutGerritParentConfig {
+  gitCheckout?: GitCheckoutParentConfig;
+}
+
+interface GitCheckoutGerritParentConfigJSON {
+  git_checkout?: GitCheckoutParentConfigJSON;
+}
+
 export interface GitCheckoutGitHubFileParentConfig {
   gitCheckout?: GitCheckoutGitHubParentConfig;
   preUploadSteps?: PreUploadStep[];