// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        v3.12.2
// source: google/devtools/cloudbuild/v1/cloudbuild.proto

package cloudbuild

import (
	context "context"
	reflect "reflect"
	sync "sync"

	_ "google.golang.org/genproto/googleapis/api/annotations"
	httpbody "google.golang.org/genproto/googleapis/api/httpbody"
	longrunning "google.golang.org/genproto/googleapis/longrunning"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Possible status of a build or build step.
type Build_Status int32

const (
	// Status of the build is unknown.
	Build_STATUS_UNKNOWN Build_Status = 0
	// Build has been created and is pending execution and queuing. It has not
	// been queued.
	Build_PENDING Build_Status = 10
	// Build or step is queued; work has not yet begun.
	Build_QUEUED Build_Status = 1
	// Build or step is being executed.
	Build_WORKING Build_Status = 2
	// Build or step finished successfully.
	Build_SUCCESS Build_Status = 3
	// Build or step failed to complete successfully.
	Build_FAILURE Build_Status = 4
	// Build or step failed due to an internal cause.
	Build_INTERNAL_ERROR Build_Status = 5
	// Build or step took longer than was allowed.
	Build_TIMEOUT Build_Status = 6
	// Build or step was canceled by a user.
	Build_CANCELLED Build_Status = 7
	// Build was enqueued for longer than the value of `queue_ttl`.
	Build_EXPIRED Build_Status = 9
)

// Enum value maps for Build_Status.
var (
	Build_Status_name = map[int32]string{
		0:  "STATUS_UNKNOWN",
		10: "PENDING",
		1:  "QUEUED",
		2:  "WORKING",
		3:  "SUCCESS",
		4:  "FAILURE",
		5:  "INTERNAL_ERROR",
		6:  "TIMEOUT",
		7:  "CANCELLED",
		9:  "EXPIRED",
	}
	Build_Status_value = map[string]int32{
		"STATUS_UNKNOWN": 0,
		"PENDING":        10,
		"QUEUED":         1,
		"WORKING":        2,
		"SUCCESS":        3,
		"FAILURE":        4,
		"INTERNAL_ERROR": 5,
		"TIMEOUT":        6,
		"CANCELLED":      7,
		"EXPIRED":        9,
	}
)

func (x Build_Status) Enum() *Build_Status {
	p := new(Build_Status)
	*p = x
	return p
}

func (x Build_Status) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Build_Status) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[0].Descriptor()
}

func (Build_Status) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[0]
}

func (x Build_Status) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Build_Status.Descriptor instead.
func (Build_Status) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{11, 0}
}

// The relative importance of this warning.
type Build_Warning_Priority int32

const (
	// Should not be used.
	Build_Warning_PRIORITY_UNSPECIFIED Build_Warning_Priority = 0
	// e.g. deprecation warnings and alternative feature highlights.
	Build_Warning_INFO Build_Warning_Priority = 1
	// e.g. automated detection of possible issues with the build.
	Build_Warning_WARNING Build_Warning_Priority = 2
	// e.g. alerts that a feature used in the build is pending removal
	Build_Warning_ALERT Build_Warning_Priority = 3
)

// Enum value maps for Build_Warning_Priority.
var (
	Build_Warning_Priority_name = map[int32]string{
		0: "PRIORITY_UNSPECIFIED",
		1: "INFO",
		2: "WARNING",
		3: "ALERT",
	}
	Build_Warning_Priority_value = map[string]int32{
		"PRIORITY_UNSPECIFIED": 0,
		"INFO":                 1,
		"WARNING":              2,
		"ALERT":                3,
	}
)

func (x Build_Warning_Priority) Enum() *Build_Warning_Priority {
	p := new(Build_Warning_Priority)
	*p = x
	return p
}

func (x Build_Warning_Priority) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Build_Warning_Priority) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[1].Descriptor()
}

func (Build_Warning_Priority) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[1]
}

func (x Build_Warning_Priority) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Build_Warning_Priority.Descriptor instead.
func (Build_Warning_Priority) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{11, 0, 0}
}

// The name of a fatal problem encountered during the execution of the
// build.
type Build_FailureInfo_FailureType int32

const (
	// Type unspecified
	Build_FailureInfo_FAILURE_TYPE_UNSPECIFIED Build_FailureInfo_FailureType = 0
	// Unable to push the image to the repository.
	Build_FailureInfo_PUSH_FAILED Build_FailureInfo_FailureType = 1
	// Final image not found.
	Build_FailureInfo_PUSH_IMAGE_NOT_FOUND Build_FailureInfo_FailureType = 2
	// Unauthorized push of the final image.
	Build_FailureInfo_PUSH_NOT_AUTHORIZED Build_FailureInfo_FailureType = 3
	// Backend logging failures. Should retry.
	Build_FailureInfo_LOGGING_FAILURE Build_FailureInfo_FailureType = 4
	// A build step has failed.
	Build_FailureInfo_USER_BUILD_STEP Build_FailureInfo_FailureType = 5
	// The source fetching has failed.
	Build_FailureInfo_FETCH_SOURCE_FAILED Build_FailureInfo_FailureType = 6
)

// Enum value maps for Build_FailureInfo_FailureType.
var (
	Build_FailureInfo_FailureType_name = map[int32]string{
		0: "FAILURE_TYPE_UNSPECIFIED",
		1: "PUSH_FAILED",
		2: "PUSH_IMAGE_NOT_FOUND",
		3: "PUSH_NOT_AUTHORIZED",
		4: "LOGGING_FAILURE",
		5: "USER_BUILD_STEP",
		6: "FETCH_SOURCE_FAILED",
	}
	Build_FailureInfo_FailureType_value = map[string]int32{
		"FAILURE_TYPE_UNSPECIFIED": 0,
		"PUSH_FAILED":              1,
		"PUSH_IMAGE_NOT_FOUND":     2,
		"PUSH_NOT_AUTHORIZED":      3,
		"LOGGING_FAILURE":          4,
		"USER_BUILD_STEP":          5,
		"FETCH_SOURCE_FAILED":      6,
	}
)

func (x Build_FailureInfo_FailureType) Enum() *Build_FailureInfo_FailureType {
	p := new(Build_FailureInfo_FailureType)
	*p = x
	return p
}

func (x Build_FailureInfo_FailureType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Build_FailureInfo_FailureType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[2].Descriptor()
}

func (Build_FailureInfo_FailureType) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[2]
}

func (x Build_FailureInfo_FailureType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Build_FailureInfo_FailureType.Descriptor instead.
func (Build_FailureInfo_FailureType) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{11, 1, 0}
}

// Specifies the hash algorithm, if any.
type Hash_HashType int32

const (
	// No hash requested.
	Hash_NONE Hash_HashType = 0
	// Use a sha256 hash.
	Hash_SHA256 Hash_HashType = 1
	// Use a md5 hash.
	Hash_MD5 Hash_HashType = 2
)

// Enum value maps for Hash_HashType.
var (
	Hash_HashType_name = map[int32]string{
		0: "NONE",
		1: "SHA256",
		2: "MD5",
	}
	Hash_HashType_value = map[string]int32{
		"NONE":   0,
		"SHA256": 1,
		"MD5":    2,
	}
)

func (x Hash_HashType) Enum() *Hash_HashType {
	p := new(Hash_HashType)
	*p = x
	return p
}

func (x Hash_HashType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Hash_HashType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[3].Descriptor()
}

func (Hash_HashType) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[3]
}

func (x Hash_HashType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Hash_HashType.Descriptor instead.
func (Hash_HashType) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{17, 0}
}

// Specifies the current state of a build's approval.
type BuildApproval_State int32

const (
	// Default enum type. This should not be used.
	BuildApproval_STATE_UNSPECIFIED BuildApproval_State = 0
	// Build approval is pending.
	BuildApproval_PENDING BuildApproval_State = 1
	// Build approval has been approved.
	BuildApproval_APPROVED BuildApproval_State = 2
	// Build approval has been rejected.
	BuildApproval_REJECTED BuildApproval_State = 3
	// Build was cancelled while it was still pending approval.
	BuildApproval_CANCELLED BuildApproval_State = 5
)

// Enum value maps for BuildApproval_State.
var (
	BuildApproval_State_name = map[int32]string{
		0: "STATE_UNSPECIFIED",
		1: "PENDING",
		2: "APPROVED",
		3: "REJECTED",
		5: "CANCELLED",
	}
	BuildApproval_State_value = map[string]int32{
		"STATE_UNSPECIFIED": 0,
		"PENDING":           1,
		"APPROVED":          2,
		"REJECTED":          3,
		"CANCELLED":         5,
	}
)

func (x BuildApproval_State) Enum() *BuildApproval_State {
	p := new(BuildApproval_State)
	*p = x
	return p
}

func (x BuildApproval_State) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BuildApproval_State) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[4].Descriptor()
}

func (BuildApproval_State) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[4]
}

func (x BuildApproval_State) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BuildApproval_State.Descriptor instead.
func (BuildApproval_State) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{28, 0}
}

// Specifies whether or not this manual approval result is to approve
// or reject a build.
type ApprovalResult_Decision int32

const (
	// Default enum type. This should not be used.
	ApprovalResult_DECISION_UNSPECIFIED ApprovalResult_Decision = 0
	// Build is approved.
	ApprovalResult_APPROVED ApprovalResult_Decision = 1
	// Build is rejected.
	ApprovalResult_REJECTED ApprovalResult_Decision = 2
)

// Enum value maps for ApprovalResult_Decision.
var (
	ApprovalResult_Decision_name = map[int32]string{
		0: "DECISION_UNSPECIFIED",
		1: "APPROVED",
		2: "REJECTED",
	}
	ApprovalResult_Decision_value = map[string]int32{
		"DECISION_UNSPECIFIED": 0,
		"APPROVED":             1,
		"REJECTED":             2,
	}
)

func (x ApprovalResult_Decision) Enum() *ApprovalResult_Decision {
	p := new(ApprovalResult_Decision)
	*p = x
	return p
}

func (x ApprovalResult_Decision) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ApprovalResult_Decision) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[5].Descriptor()
}

func (ApprovalResult_Decision) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[5]
}

func (x ApprovalResult_Decision) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ApprovalResult_Decision.Descriptor instead.
func (ApprovalResult_Decision) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{30, 0}
}

// Enumerates potential issues with the underlying Pub/Sub subscription
// configuration.
type PubsubConfig_State int32

const (
	// The subscription configuration has not been checked.
	PubsubConfig_STATE_UNSPECIFIED PubsubConfig_State = 0
	// The Pub/Sub subscription is properly configured.
	PubsubConfig_OK PubsubConfig_State = 1
	// The subscription has been deleted.
	PubsubConfig_SUBSCRIPTION_DELETED PubsubConfig_State = 2
	// The topic has been deleted.
	PubsubConfig_TOPIC_DELETED PubsubConfig_State = 3
	// Some of the subscription's field are misconfigured.
	PubsubConfig_SUBSCRIPTION_MISCONFIGURED PubsubConfig_State = 4
)

// Enum value maps for PubsubConfig_State.
var (
	PubsubConfig_State_name = map[int32]string{
		0: "STATE_UNSPECIFIED",
		1: "OK",
		2: "SUBSCRIPTION_DELETED",
		3: "TOPIC_DELETED",
		4: "SUBSCRIPTION_MISCONFIGURED",
	}
	PubsubConfig_State_value = map[string]int32{
		"STATE_UNSPECIFIED":          0,
		"OK":                         1,
		"SUBSCRIPTION_DELETED":       2,
		"TOPIC_DELETED":              3,
		"SUBSCRIPTION_MISCONFIGURED": 4,
	}
)

func (x PubsubConfig_State) Enum() *PubsubConfig_State {
	p := new(PubsubConfig_State)
	*p = x
	return p
}

func (x PubsubConfig_State) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PubsubConfig_State) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[6].Descriptor()
}

func (PubsubConfig_State) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[6]
}

func (x PubsubConfig_State) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PubsubConfig_State.Descriptor instead.
func (PubsubConfig_State) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{33, 0}
}

// Enumerates potential issues with the Secret Manager secret provided by the
// user.
type WebhookConfig_State int32

const (
	// The webhook auth configuration not been checked.
	WebhookConfig_STATE_UNSPECIFIED WebhookConfig_State = 0
	// The auth configuration is properly setup.
	WebhookConfig_OK WebhookConfig_State = 1
	// The secret provided in auth_method has been deleted.
	WebhookConfig_SECRET_DELETED WebhookConfig_State = 2
)

// Enum value maps for WebhookConfig_State.
var (
	WebhookConfig_State_name = map[int32]string{
		0: "STATE_UNSPECIFIED",
		1: "OK",
		2: "SECRET_DELETED",
	}
	WebhookConfig_State_value = map[string]int32{
		"STATE_UNSPECIFIED": 0,
		"OK":                1,
		"SECRET_DELETED":    2,
	}
)

func (x WebhookConfig_State) Enum() *WebhookConfig_State {
	p := new(WebhookConfig_State)
	*p = x
	return p
}

func (x WebhookConfig_State) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WebhookConfig_State) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[7].Descriptor()
}

func (WebhookConfig_State) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[7]
}

func (x WebhookConfig_State) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WebhookConfig_State.Descriptor instead.
func (WebhookConfig_State) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{34, 0}
}

// Controls behavior of Pull Request comments.
type PullRequestFilter_CommentControl int32

const (
	// Do not require comments on Pull Requests before builds are triggered.
	PullRequestFilter_COMMENTS_DISABLED PullRequestFilter_CommentControl = 0
	// Enforce that repository owners or collaborators must comment on Pull
	// Requests before builds are triggered.
	PullRequestFilter_COMMENTS_ENABLED PullRequestFilter_CommentControl = 1
	// Enforce that repository owners or collaborators must comment on external
	// contributors' Pull Requests before builds are triggered.
	PullRequestFilter_COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY PullRequestFilter_CommentControl = 2
)

// Enum value maps for PullRequestFilter_CommentControl.
var (
	PullRequestFilter_CommentControl_name = map[int32]string{
		0: "COMMENTS_DISABLED",
		1: "COMMENTS_ENABLED",
		2: "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY",
	}
	PullRequestFilter_CommentControl_value = map[string]int32{
		"COMMENTS_DISABLED": 0,
		"COMMENTS_ENABLED":  1,
		"COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY": 2,
	}
)

func (x PullRequestFilter_CommentControl) Enum() *PullRequestFilter_CommentControl {
	p := new(PullRequestFilter_CommentControl)
	*p = x
	return p
}

func (x PullRequestFilter_CommentControl) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PullRequestFilter_CommentControl) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[8].Descriptor()
}

func (PullRequestFilter_CommentControl) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[8]
}

func (x PullRequestFilter_CommentControl) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PullRequestFilter_CommentControl.Descriptor instead.
func (PullRequestFilter_CommentControl) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{35, 0}
}

// Specifies the manner in which the build should be verified, if at all.
type BuildOptions_VerifyOption int32

const (
	// Not a verifiable build. (default)
	BuildOptions_NOT_VERIFIED BuildOptions_VerifyOption = 0
	// Verified build.
	BuildOptions_VERIFIED BuildOptions_VerifyOption = 1
)

// Enum value maps for BuildOptions_VerifyOption.
var (
	BuildOptions_VerifyOption_name = map[int32]string{
		0: "NOT_VERIFIED",
		1: "VERIFIED",
	}
	BuildOptions_VerifyOption_value = map[string]int32{
		"NOT_VERIFIED": 0,
		"VERIFIED":     1,
	}
)

func (x BuildOptions_VerifyOption) Enum() *BuildOptions_VerifyOption {
	p := new(BuildOptions_VerifyOption)
	*p = x
	return p
}

func (x BuildOptions_VerifyOption) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BuildOptions_VerifyOption) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[9].Descriptor()
}

func (BuildOptions_VerifyOption) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[9]
}

func (x BuildOptions_VerifyOption) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BuildOptions_VerifyOption.Descriptor instead.
func (BuildOptions_VerifyOption) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{43, 0}
}

// Supported Compute Engine machine types.
// For more information, see [Machine
// types](https://cloud.google.com/compute/docs/machine-types).
type BuildOptions_MachineType int32

const (
	// Standard machine type.
	BuildOptions_UNSPECIFIED BuildOptions_MachineType = 0
	// Highcpu machine with 8 CPUs.
	BuildOptions_N1_HIGHCPU_8 BuildOptions_MachineType = 1
	// Highcpu machine with 32 CPUs.
	BuildOptions_N1_HIGHCPU_32 BuildOptions_MachineType = 2
	// Highcpu e2 machine with 8 CPUs.
	BuildOptions_E2_HIGHCPU_8 BuildOptions_MachineType = 5
	// Highcpu e2 machine with 32 CPUs.
	BuildOptions_E2_HIGHCPU_32 BuildOptions_MachineType = 6
)

// Enum value maps for BuildOptions_MachineType.
var (
	BuildOptions_MachineType_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "N1_HIGHCPU_8",
		2: "N1_HIGHCPU_32",
		5: "E2_HIGHCPU_8",
		6: "E2_HIGHCPU_32",
	}
	BuildOptions_MachineType_value = map[string]int32{
		"UNSPECIFIED":   0,
		"N1_HIGHCPU_8":  1,
		"N1_HIGHCPU_32": 2,
		"E2_HIGHCPU_8":  5,
		"E2_HIGHCPU_32": 6,
	}
)

func (x BuildOptions_MachineType) Enum() *BuildOptions_MachineType {
	p := new(BuildOptions_MachineType)
	*p = x
	return p
}

func (x BuildOptions_MachineType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BuildOptions_MachineType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[10].Descriptor()
}

func (BuildOptions_MachineType) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[10]
}

func (x BuildOptions_MachineType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BuildOptions_MachineType.Descriptor instead.
func (BuildOptions_MachineType) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{43, 1}
}

// Specifies the behavior when there is an error in the substitution checks.
type BuildOptions_SubstitutionOption int32

const (
	// Fails the build if error in substitutions checks, like missing
	// a substitution in the template or in the map.
	BuildOptions_MUST_MATCH BuildOptions_SubstitutionOption = 0
	// Do not fail the build if error in substitutions checks.
	BuildOptions_ALLOW_LOOSE BuildOptions_SubstitutionOption = 1
)

// Enum value maps for BuildOptions_SubstitutionOption.
var (
	BuildOptions_SubstitutionOption_name = map[int32]string{
		0: "MUST_MATCH",
		1: "ALLOW_LOOSE",
	}
	BuildOptions_SubstitutionOption_value = map[string]int32{
		"MUST_MATCH":  0,
		"ALLOW_LOOSE": 1,
	}
)

func (x BuildOptions_SubstitutionOption) Enum() *BuildOptions_SubstitutionOption {
	p := new(BuildOptions_SubstitutionOption)
	*p = x
	return p
}

func (x BuildOptions_SubstitutionOption) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BuildOptions_SubstitutionOption) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[11].Descriptor()
}

func (BuildOptions_SubstitutionOption) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[11]
}

func (x BuildOptions_SubstitutionOption) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BuildOptions_SubstitutionOption.Descriptor instead.
func (BuildOptions_SubstitutionOption) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{43, 2}
}

// Specifies the behavior when writing build logs to Google Cloud Storage.
type BuildOptions_LogStreamingOption int32

const (
	// Service may automatically determine build log streaming behavior.
	BuildOptions_STREAM_DEFAULT BuildOptions_LogStreamingOption = 0
	// Build logs should be streamed to Google Cloud Storage.
	BuildOptions_STREAM_ON BuildOptions_LogStreamingOption = 1
	// Build logs should not be streamed to Google Cloud Storage; they will be
	// written when the build is completed.
	BuildOptions_STREAM_OFF BuildOptions_LogStreamingOption = 2
)

// Enum value maps for BuildOptions_LogStreamingOption.
var (
	BuildOptions_LogStreamingOption_name = map[int32]string{
		0: "STREAM_DEFAULT",
		1: "STREAM_ON",
		2: "STREAM_OFF",
	}
	BuildOptions_LogStreamingOption_value = map[string]int32{
		"STREAM_DEFAULT": 0,
		"STREAM_ON":      1,
		"STREAM_OFF":     2,
	}
)

func (x BuildOptions_LogStreamingOption) Enum() *BuildOptions_LogStreamingOption {
	p := new(BuildOptions_LogStreamingOption)
	*p = x
	return p
}

func (x BuildOptions_LogStreamingOption) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BuildOptions_LogStreamingOption) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[12].Descriptor()
}

func (BuildOptions_LogStreamingOption) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[12]
}

func (x BuildOptions_LogStreamingOption) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BuildOptions_LogStreamingOption.Descriptor instead.
func (BuildOptions_LogStreamingOption) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{43, 3}
}

// Specifies the logging mode.
type BuildOptions_LoggingMode int32

const (
	// The service determines the logging mode. The default is `LEGACY`. Do not
	// rely on the default logging behavior as it may change in the future.
	BuildOptions_LOGGING_UNSPECIFIED BuildOptions_LoggingMode = 0
	// Cloud Logging and Cloud Storage logging are enabled.
	BuildOptions_LEGACY BuildOptions_LoggingMode = 1
	// Only Cloud Storage logging is enabled.
	BuildOptions_GCS_ONLY BuildOptions_LoggingMode = 2
	// This option is the same as CLOUD_LOGGING_ONLY.
	//
	// Deprecated: Do not use.
	BuildOptions_STACKDRIVER_ONLY BuildOptions_LoggingMode = 3
	// Only Cloud Logging is enabled. Note that logs for both the Cloud Console
	// UI and Cloud SDK are based on Cloud Storage logs, so neither will provide
	// logs if this option is chosen.
	BuildOptions_CLOUD_LOGGING_ONLY BuildOptions_LoggingMode = 5
	// Turn off all logging. No build logs will be captured.
	BuildOptions_NONE BuildOptions_LoggingMode = 4
)

// Enum value maps for BuildOptions_LoggingMode.
var (
	BuildOptions_LoggingMode_name = map[int32]string{
		0: "LOGGING_UNSPECIFIED",
		1: "LEGACY",
		2: "GCS_ONLY",
		3: "STACKDRIVER_ONLY",
		5: "CLOUD_LOGGING_ONLY",
		4: "NONE",
	}
	BuildOptions_LoggingMode_value = map[string]int32{
		"LOGGING_UNSPECIFIED": 0,
		"LEGACY":              1,
		"GCS_ONLY":            2,
		"STACKDRIVER_ONLY":    3,
		"CLOUD_LOGGING_ONLY":  5,
		"NONE":                4,
	}
)

func (x BuildOptions_LoggingMode) Enum() *BuildOptions_LoggingMode {
	p := new(BuildOptions_LoggingMode)
	*p = x
	return p
}

func (x BuildOptions_LoggingMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BuildOptions_LoggingMode) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[13].Descriptor()
}

func (BuildOptions_LoggingMode) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[13]
}

func (x BuildOptions_LoggingMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BuildOptions_LoggingMode.Descriptor instead.
func (BuildOptions_LoggingMode) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{43, 4}
}

// State of the `WorkerPool`.
type WorkerPool_State int32

const (
	// State of the `WorkerPool` is unknown.
	WorkerPool_STATE_UNSPECIFIED WorkerPool_State = 0
	// `WorkerPool` is being created.
	WorkerPool_CREATING WorkerPool_State = 1
	// `WorkerPool` is running.
	WorkerPool_RUNNING WorkerPool_State = 2
	// `WorkerPool` is being deleted: cancelling builds and draining workers.
	WorkerPool_DELETING WorkerPool_State = 3
	// `WorkerPool` is deleted.
	WorkerPool_DELETED WorkerPool_State = 4
)

// Enum value maps for WorkerPool_State.
var (
	WorkerPool_State_name = map[int32]string{
		0: "STATE_UNSPECIFIED",
		1: "CREATING",
		2: "RUNNING",
		3: "DELETING",
		4: "DELETED",
	}
	WorkerPool_State_value = map[string]int32{
		"STATE_UNSPECIFIED": 0,
		"CREATING":          1,
		"RUNNING":           2,
		"DELETING":          3,
		"DELETED":           4,
	}
)

func (x WorkerPool_State) Enum() *WorkerPool_State {
	p := new(WorkerPool_State)
	*p = x
	return p
}

func (x WorkerPool_State) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WorkerPool_State) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[14].Descriptor()
}

func (WorkerPool_State) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[14]
}

func (x WorkerPool_State) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WorkerPool_State.Descriptor instead.
func (WorkerPool_State) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{46, 0}
}

// Defines the egress option for the pool.
type PrivatePoolV1Config_NetworkConfig_EgressOption int32

const (
	// If set, defaults to PUBLIC_EGRESS.
	PrivatePoolV1Config_NetworkConfig_EGRESS_OPTION_UNSPECIFIED PrivatePoolV1Config_NetworkConfig_EgressOption = 0
	// If set, workers are created without any public address, which prevents
	// network egress to public IPs unless a network proxy is configured.
	PrivatePoolV1Config_NetworkConfig_NO_PUBLIC_EGRESS PrivatePoolV1Config_NetworkConfig_EgressOption = 1
	// If set, workers are created with a public address which allows for
	// public internet egress.
	PrivatePoolV1Config_NetworkConfig_PUBLIC_EGRESS PrivatePoolV1Config_NetworkConfig_EgressOption = 2
)

// Enum value maps for PrivatePoolV1Config_NetworkConfig_EgressOption.
var (
	PrivatePoolV1Config_NetworkConfig_EgressOption_name = map[int32]string{
		0: "EGRESS_OPTION_UNSPECIFIED",
		1: "NO_PUBLIC_EGRESS",
		2: "PUBLIC_EGRESS",
	}
	PrivatePoolV1Config_NetworkConfig_EgressOption_value = map[string]int32{
		"EGRESS_OPTION_UNSPECIFIED": 0,
		"NO_PUBLIC_EGRESS":          1,
		"PUBLIC_EGRESS":             2,
	}
)

func (x PrivatePoolV1Config_NetworkConfig_EgressOption) Enum() *PrivatePoolV1Config_NetworkConfig_EgressOption {
	p := new(PrivatePoolV1Config_NetworkConfig_EgressOption)
	*p = x
	return p
}

func (x PrivatePoolV1Config_NetworkConfig_EgressOption) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PrivatePoolV1Config_NetworkConfig_EgressOption) Descriptor() protoreflect.EnumDescriptor {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[15].Descriptor()
}

func (PrivatePoolV1Config_NetworkConfig_EgressOption) Type() protoreflect.EnumType {
	return &file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes[15]
}

func (x PrivatePoolV1Config_NetworkConfig_EgressOption) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PrivatePoolV1Config_NetworkConfig_EgressOption.Descriptor instead.
func (PrivatePoolV1Config_NetworkConfig_EgressOption) EnumDescriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{47, 1, 0}
}

// Specifies a build to retry.
type RetryBuildRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the `Build` to retry.
	// Format: `projects/{project}/locations/{location}/builds/{build}`
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// Required. ID of the project.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Build ID of the original build.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *RetryBuildRequest) Reset() {
	*x = RetryBuildRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RetryBuildRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RetryBuildRequest) ProtoMessage() {}

func (x *RetryBuildRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RetryBuildRequest.ProtoReflect.Descriptor instead.
func (*RetryBuildRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{0}
}

func (x *RetryBuildRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *RetryBuildRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *RetryBuildRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Specifies a build trigger to run and the source to use.
type RunBuildTriggerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the `Trigger` to run.
	// Format: `projects/{project}/locations/{location}/triggers/{trigger}`
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Required. ID of the project.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. ID of the trigger.
	TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
	// Source to build against this trigger.
	Source *RepoSource `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
}

func (x *RunBuildTriggerRequest) Reset() {
	*x = RunBuildTriggerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RunBuildTriggerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RunBuildTriggerRequest) ProtoMessage() {}

func (x *RunBuildTriggerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunBuildTriggerRequest.ProtoReflect.Descriptor instead.
func (*RunBuildTriggerRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{1}
}

func (x *RunBuildTriggerRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *RunBuildTriggerRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *RunBuildTriggerRequest) GetTriggerId() string {
	if x != nil {
		return x.TriggerId
	}
	return ""
}

func (x *RunBuildTriggerRequest) GetSource() *RepoSource {
	if x != nil {
		return x.Source
	}
	return nil
}

// Location of the source in an archive file in Google Cloud Storage.
type StorageSource struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Google Cloud Storage bucket containing the source (see
	// [Bucket Name
	// Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
	Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	// Google Cloud Storage object containing the source.
	//
	// This object must be a gzipped archive file (`.tar.gz`) containing source to
	// build.
	Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
	// Google Cloud Storage generation for the object. If the generation is
	// omitted, the latest generation will be used.
	Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
}

func (x *StorageSource) Reset() {
	*x = StorageSource{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StorageSource) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StorageSource) ProtoMessage() {}

func (x *StorageSource) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[2]
	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 StorageSource.ProtoReflect.Descriptor instead.
func (*StorageSource) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{2}
}

func (x *StorageSource) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *StorageSource) GetObject() string {
	if x != nil {
		return x.Object
	}
	return ""
}

func (x *StorageSource) GetGeneration() int64 {
	if x != nil {
		return x.Generation
	}
	return 0
}

// Location of the source in a Google Cloud Source Repository.
type RepoSource struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// ID of the project that owns the Cloud Source Repository. If omitted, the
	// project ID requesting the build is assumed.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Name of the Cloud Source Repository.
	RepoName string `protobuf:"bytes,2,opt,name=repo_name,json=repoName,proto3" json:"repo_name,omitempty"`
	// A revision within the Cloud Source Repository must be specified in
	// one of these ways.
	//
	// Types that are assignable to Revision:
	//	*RepoSource_BranchName
	//	*RepoSource_TagName
	//	*RepoSource_CommitSha
	Revision isRepoSource_Revision `protobuf_oneof:"revision"`
	// Directory, relative to the source root, in which to run the build.
	//
	// This must be a relative path. If a step's `dir` is specified and is an
	// absolute path, this value is ignored for that step's execution.
	Dir string `protobuf:"bytes,7,opt,name=dir,proto3" json:"dir,omitempty"`
	// Only trigger a build if the revision regex does NOT match the revision
	// regex.
	InvertRegex bool `protobuf:"varint,8,opt,name=invert_regex,json=invertRegex,proto3" json:"invert_regex,omitempty"`
	// Substitutions to use in a triggered build.
	// Should only be used with RunBuildTrigger
	Substitutions map[string]string `protobuf:"bytes,9,rep,name=substitutions,proto3" json:"substitutions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *RepoSource) Reset() {
	*x = RepoSource{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RepoSource) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RepoSource) ProtoMessage() {}

func (x *RepoSource) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[3]
	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 RepoSource.ProtoReflect.Descriptor instead.
func (*RepoSource) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{3}
}

func (x *RepoSource) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *RepoSource) GetRepoName() string {
	if x != nil {
		return x.RepoName
	}
	return ""
}

func (m *RepoSource) GetRevision() isRepoSource_Revision {
	if m != nil {
		return m.Revision
	}
	return nil
}

func (x *RepoSource) GetBranchName() string {
	if x, ok := x.GetRevision().(*RepoSource_BranchName); ok {
		return x.BranchName
	}
	return ""
}

func (x *RepoSource) GetTagName() string {
	if x, ok := x.GetRevision().(*RepoSource_TagName); ok {
		return x.TagName
	}
	return ""
}

func (x *RepoSource) GetCommitSha() string {
	if x, ok := x.GetRevision().(*RepoSource_CommitSha); ok {
		return x.CommitSha
	}
	return ""
}

func (x *RepoSource) GetDir() string {
	if x != nil {
		return x.Dir
	}
	return ""
}

func (x *RepoSource) GetInvertRegex() bool {
	if x != nil {
		return x.InvertRegex
	}
	return false
}

func (x *RepoSource) GetSubstitutions() map[string]string {
	if x != nil {
		return x.Substitutions
	}
	return nil
}

type isRepoSource_Revision interface {
	isRepoSource_Revision()
}

type RepoSource_BranchName struct {
	// Regex matching branches to build.
	//
	// The syntax of the regular expressions accepted is the syntax accepted by
	// RE2 and described at https://github.com/google/re2/wiki/Syntax
	BranchName string `protobuf:"bytes,3,opt,name=branch_name,json=branchName,proto3,oneof"`
}

type RepoSource_TagName struct {
	// Regex matching tags to build.
	//
	// The syntax of the regular expressions accepted is the syntax accepted by
	// RE2 and described at https://github.com/google/re2/wiki/Syntax
	TagName string `protobuf:"bytes,4,opt,name=tag_name,json=tagName,proto3,oneof"`
}

type RepoSource_CommitSha struct {
	// Explicit commit SHA to build.
	CommitSha string `protobuf:"bytes,5,opt,name=commit_sha,json=commitSha,proto3,oneof"`
}

func (*RepoSource_BranchName) isRepoSource_Revision() {}

func (*RepoSource_TagName) isRepoSource_Revision() {}

func (*RepoSource_CommitSha) isRepoSource_Revision() {}

// Location of the source manifest in Google Cloud Storage.
// This feature is in Preview; see description
// [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).
type StorageSourceManifest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Google Cloud Storage bucket containing the source manifest (see [Bucket
	// Name
	// Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
	Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	// Google Cloud Storage object containing the source manifest.
	//
	// This object must be a JSON file.
	Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
	// Google Cloud Storage generation for the object. If the generation is
	// omitted, the latest generation will be used.
	Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
}

func (x *StorageSourceManifest) Reset() {
	*x = StorageSourceManifest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StorageSourceManifest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StorageSourceManifest) ProtoMessage() {}

func (x *StorageSourceManifest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[4]
	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 StorageSourceManifest.ProtoReflect.Descriptor instead.
func (*StorageSourceManifest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{4}
}

func (x *StorageSourceManifest) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *StorageSourceManifest) GetObject() string {
	if x != nil {
		return x.Object
	}
	return ""
}

func (x *StorageSourceManifest) GetGeneration() int64 {
	if x != nil {
		return x.Generation
	}
	return 0
}

// Location of the source in a supported storage service.
type Source struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Location of source.
	//
	// Types that are assignable to Source:
	//	*Source_StorageSource
	//	*Source_RepoSource
	//	*Source_StorageSourceManifest
	Source isSource_Source `protobuf_oneof:"source"`
}

func (x *Source) Reset() {
	*x = Source{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Source) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Source) ProtoMessage() {}

func (x *Source) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[5]
	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 Source.ProtoReflect.Descriptor instead.
func (*Source) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{5}
}

func (m *Source) GetSource() isSource_Source {
	if m != nil {
		return m.Source
	}
	return nil
}

func (x *Source) GetStorageSource() *StorageSource {
	if x, ok := x.GetSource().(*Source_StorageSource); ok {
		return x.StorageSource
	}
	return nil
}

func (x *Source) GetRepoSource() *RepoSource {
	if x, ok := x.GetSource().(*Source_RepoSource); ok {
		return x.RepoSource
	}
	return nil
}

func (x *Source) GetStorageSourceManifest() *StorageSourceManifest {
	if x, ok := x.GetSource().(*Source_StorageSourceManifest); ok {
		return x.StorageSourceManifest
	}
	return nil
}

type isSource_Source interface {
	isSource_Source()
}

type Source_StorageSource struct {
	// If provided, get the source from this location in Google Cloud Storage.
	StorageSource *StorageSource `protobuf:"bytes,2,opt,name=storage_source,json=storageSource,proto3,oneof"`
}

type Source_RepoSource struct {
	// If provided, get the source from this location in a Cloud Source
	// Repository.
	RepoSource *RepoSource `protobuf:"bytes,3,opt,name=repo_source,json=repoSource,proto3,oneof"`
}

type Source_StorageSourceManifest struct {
	// If provided, get the source from this manifest in Google Cloud Storage.
	// This feature is in Preview; see description
	// [here](https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcs-fetcher).
	StorageSourceManifest *StorageSourceManifest `protobuf:"bytes,8,opt,name=storage_source_manifest,json=storageSourceManifest,proto3,oneof"`
}

func (*Source_StorageSource) isSource_Source() {}

func (*Source_RepoSource) isSource_Source() {}

func (*Source_StorageSourceManifest) isSource_Source() {}

// An image built by the pipeline.
type BuiltImage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Name used to push the container image to Google Container Registry, as
	// presented to `docker push`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Docker Registry 2.0 digest.
	Digest string `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
	// Output only. Stores timing information for pushing the specified image.
	PushTiming *TimeSpan `protobuf:"bytes,4,opt,name=push_timing,json=pushTiming,proto3" json:"push_timing,omitempty"`
}

func (x *BuiltImage) Reset() {
	*x = BuiltImage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BuiltImage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuiltImage) ProtoMessage() {}

func (x *BuiltImage) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[6]
	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 BuiltImage.ProtoReflect.Descriptor instead.
func (*BuiltImage) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{6}
}

func (x *BuiltImage) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *BuiltImage) GetDigest() string {
	if x != nil {
		return x.Digest
	}
	return ""
}

func (x *BuiltImage) GetPushTiming() *TimeSpan {
	if x != nil {
		return x.PushTiming
	}
	return nil
}

// A step in the build pipeline.
type BuildStep struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the container image that will run this particular
	// build step.
	//
	// If the image is available in the host's Docker daemon's cache, it
	// will be run directly. If not, the host will attempt to pull the image
	// first, using the builder service account's credentials if necessary.
	//
	// The Docker daemon's cache will already have the latest versions of all of
	// the officially supported build steps
	// ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
	// The Docker daemon will also have cached many of the layers for some popular
	// images, like "ubuntu", "debian", but they will be refreshed at the time you
	// attempt to use them.
	//
	// If you built an image in a previous build step, it will be stored in the
	// host's Docker daemon's cache and is available to use as the name for a
	// later build step.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A list of environment variable definitions to be used when running a step.
	//
	// The elements are of the form "KEY=VALUE" for the environment variable "KEY"
	// being given the value "VALUE".
	Env []string `protobuf:"bytes,2,rep,name=env,proto3" json:"env,omitempty"`
	// A list of arguments that will be presented to the step when it is started.
	//
	// If the image used to run the step's container has an entrypoint, the `args`
	// are used as arguments to that entrypoint. If the image does not define
	// an entrypoint, the first element in args is used as the entrypoint,
	// and the remainder will be used as arguments.
	Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
	// Working directory to use when running this step's container.
	//
	// If this value is a relative path, it is relative to the build's working
	// directory. If this value is absolute, it may be outside the build's working
	// directory, in which case the contents of the path may not be persisted
	// across build step executions, unless a `volume` for that path is specified.
	//
	// If the build specifies a `RepoSource` with `dir` and a step with a `dir`,
	// which specifies an absolute path, the `RepoSource` `dir` is ignored for
	// the step's execution.
	Dir string `protobuf:"bytes,4,opt,name=dir,proto3" json:"dir,omitempty"`
	// Unique identifier for this build step, used in `wait_for` to
	// reference this build step as a dependency.
	Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"`
	// The ID(s) of the step(s) that this build step depends on.
	// This build step will not start until all the build steps in `wait_for`
	// have completed successfully. If `wait_for` is empty, this build step will
	// start when all previous build steps in the `Build.Steps` list have
	// completed successfully.
	WaitFor []string `protobuf:"bytes,6,rep,name=wait_for,json=waitFor,proto3" json:"wait_for,omitempty"`
	// Entrypoint to be used instead of the build step image's default entrypoint.
	// If unset, the image's default entrypoint is used.
	Entrypoint string `protobuf:"bytes,7,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"`
	// A list of environment variables which are encrypted using a Cloud Key
	// Management Service crypto key. These values must be specified in the
	// build's `Secret`.
	SecretEnv []string `protobuf:"bytes,8,rep,name=secret_env,json=secretEnv,proto3" json:"secret_env,omitempty"`
	// List of volumes to mount into the build step.
	//
	// Each volume is created as an empty volume prior to execution of the
	// build step. Upon completion of the build, volumes and their contents are
	// discarded.
	//
	// Using a named volume in only one step is not valid as it is indicative
	// of a build request with an incorrect configuration.
	Volumes []*Volume `protobuf:"bytes,9,rep,name=volumes,proto3" json:"volumes,omitempty"`
	// Output only. Stores timing information for executing this build step.
	Timing *TimeSpan `protobuf:"bytes,10,opt,name=timing,proto3" json:"timing,omitempty"`
	// Output only. Stores timing information for pulling this build step's
	// builder image only.
	PullTiming *TimeSpan `protobuf:"bytes,13,opt,name=pull_timing,json=pullTiming,proto3" json:"pull_timing,omitempty"`
	// Time limit for executing this build step. If not defined, the step has no
	// time limit and will be allowed to continue to run until either it completes
	// or the build itself times out.
	Timeout *durationpb.Duration `protobuf:"bytes,11,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// Output only. Status of the build step. At this time, build step status is
	// only updated on build completion; step status is not updated in real-time
	// as the build progresses.
	Status Build_Status `protobuf:"varint,12,opt,name=status,proto3,enum=google.devtools.cloudbuild.v1.Build_Status" json:"status,omitempty"`
	// A shell script to be executed in the step.
	//
	// When script is provided, the user cannot specify the entrypoint or args.
	Script string `protobuf:"bytes,19,opt,name=script,proto3" json:"script,omitempty"`
}

func (x *BuildStep) Reset() {
	*x = BuildStep{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BuildStep) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuildStep) ProtoMessage() {}

func (x *BuildStep) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[7]
	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 BuildStep.ProtoReflect.Descriptor instead.
func (*BuildStep) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{7}
}

func (x *BuildStep) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *BuildStep) GetEnv() []string {
	if x != nil {
		return x.Env
	}
	return nil
}

func (x *BuildStep) GetArgs() []string {
	if x != nil {
		return x.Args
	}
	return nil
}

func (x *BuildStep) GetDir() string {
	if x != nil {
		return x.Dir
	}
	return ""
}

func (x *BuildStep) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *BuildStep) GetWaitFor() []string {
	if x != nil {
		return x.WaitFor
	}
	return nil
}

func (x *BuildStep) GetEntrypoint() string {
	if x != nil {
		return x.Entrypoint
	}
	return ""
}

func (x *BuildStep) GetSecretEnv() []string {
	if x != nil {
		return x.SecretEnv
	}
	return nil
}

func (x *BuildStep) GetVolumes() []*Volume {
	if x != nil {
		return x.Volumes
	}
	return nil
}

func (x *BuildStep) GetTiming() *TimeSpan {
	if x != nil {
		return x.Timing
	}
	return nil
}

func (x *BuildStep) GetPullTiming() *TimeSpan {
	if x != nil {
		return x.PullTiming
	}
	return nil
}

func (x *BuildStep) GetTimeout() *durationpb.Duration {
	if x != nil {
		return x.Timeout
	}
	return nil
}

func (x *BuildStep) GetStatus() Build_Status {
	if x != nil {
		return x.Status
	}
	return Build_STATUS_UNKNOWN
}

func (x *BuildStep) GetScript() string {
	if x != nil {
		return x.Script
	}
	return ""
}

// Volume describes a Docker container volume which is mounted into build steps
// in order to persist files across build step execution.
type Volume struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Name of the volume to mount.
	//
	// Volume names must be unique per build step and must be valid names for
	// Docker volumes. Each named volume must be used by at least two build steps.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Path at which to mount the volume.
	//
	// Paths must be absolute and cannot conflict with other volume paths on the
	// same build step or with certain reserved volume paths.
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *Volume) Reset() {
	*x = Volume{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Volume) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Volume) ProtoMessage() {}

func (x *Volume) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[8]
	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 Volume.ProtoReflect.Descriptor instead.
func (*Volume) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{8}
}

func (x *Volume) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Volume) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

// Artifacts created by the build pipeline.
type Results struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Container images that were built as a part of the build.
	Images []*BuiltImage `protobuf:"bytes,2,rep,name=images,proto3" json:"images,omitempty"`
	// List of build step digests, in the order corresponding to build step
	// indices.
	BuildStepImages []string `protobuf:"bytes,3,rep,name=build_step_images,json=buildStepImages,proto3" json:"build_step_images,omitempty"`
	// Path to the artifact manifest. Only populated when artifacts are uploaded.
	ArtifactManifest string `protobuf:"bytes,4,opt,name=artifact_manifest,json=artifactManifest,proto3" json:"artifact_manifest,omitempty"`
	// Number of artifacts uploaded. Only populated when artifacts are uploaded.
	NumArtifacts int64 `protobuf:"varint,5,opt,name=num_artifacts,json=numArtifacts,proto3" json:"num_artifacts,omitempty"`
	// List of build step outputs, produced by builder images, in the order
	// corresponding to build step indices.
	//
	// [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
	// can produce this output by writing to `$BUILDER_OUTPUT/output`.
	// Only the first 4KB of data is stored.
	BuildStepOutputs [][]byte `protobuf:"bytes,6,rep,name=build_step_outputs,json=buildStepOutputs,proto3" json:"build_step_outputs,omitempty"`
	// Time to push all non-container artifacts.
	ArtifactTiming *TimeSpan `protobuf:"bytes,7,opt,name=artifact_timing,json=artifactTiming,proto3" json:"artifact_timing,omitempty"`
}

func (x *Results) Reset() {
	*x = Results{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Results) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Results) ProtoMessage() {}

func (x *Results) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[9]
	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 Results.ProtoReflect.Descriptor instead.
func (*Results) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{9}
}

func (x *Results) GetImages() []*BuiltImage {
	if x != nil {
		return x.Images
	}
	return nil
}

func (x *Results) GetBuildStepImages() []string {
	if x != nil {
		return x.BuildStepImages
	}
	return nil
}

func (x *Results) GetArtifactManifest() string {
	if x != nil {
		return x.ArtifactManifest
	}
	return ""
}

func (x *Results) GetNumArtifacts() int64 {
	if x != nil {
		return x.NumArtifacts
	}
	return 0
}

func (x *Results) GetBuildStepOutputs() [][]byte {
	if x != nil {
		return x.BuildStepOutputs
	}
	return nil
}

func (x *Results) GetArtifactTiming() *TimeSpan {
	if x != nil {
		return x.ArtifactTiming
	}
	return nil
}

// An artifact that was uploaded during a build. This
// is a single record in the artifact manifest JSON file.
type ArtifactResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The path of an artifact in a Google Cloud Storage bucket, with the
	// generation number. For example,
	// `gs://mybucket/path/to/output.jar#generation`.
	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
	// The file hash of the artifact.
	FileHash []*FileHashes `protobuf:"bytes,2,rep,name=file_hash,json=fileHash,proto3" json:"file_hash,omitempty"`
}

func (x *ArtifactResult) Reset() {
	*x = ArtifactResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ArtifactResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArtifactResult) ProtoMessage() {}

func (x *ArtifactResult) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[10]
	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 ArtifactResult.ProtoReflect.Descriptor instead.
func (*ArtifactResult) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{10}
}

func (x *ArtifactResult) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

func (x *ArtifactResult) GetFileHash() []*FileHashes {
	if x != nil {
		return x.FileHash
	}
	return nil
}

// A build resource in the Cloud Build API.
//
// At a high level, a `Build` describes where to find source code, how to build
// it (for example, the builder image to run on the source), and where to store
// the built artifacts.
//
// Fields can include the following variables, which will be expanded when the
// build is created:
//
// - $PROJECT_ID: the project ID of the build.
// - $PROJECT_NUMBER: the project number of the build.
// - $BUILD_ID: the autogenerated ID of the build.
// - $REPO_NAME: the source repository name specified by RepoSource.
// - $BRANCH_NAME: the branch name specified by RepoSource.
// - $TAG_NAME: the tag name specified by RepoSource.
// - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
//   resolved from the specified branch or tag.
// - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
type Build struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Output only. The 'Build' name with format:
	// `projects/{project}/locations/{location}/builds/{build}`, where {build}
	// is a unique identifier generated by the service.
	Name string `protobuf:"bytes,45,opt,name=name,proto3" json:"name,omitempty"`
	// Output only. Unique identifier of the build.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Output only. ID of the project.
	ProjectId string `protobuf:"bytes,16,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Output only. Status of the build.
	Status Build_Status `protobuf:"varint,2,opt,name=status,proto3,enum=google.devtools.cloudbuild.v1.Build_Status" json:"status,omitempty"`
	// Output only. Customer-readable message about the current status.
	StatusDetail string `protobuf:"bytes,24,opt,name=status_detail,json=statusDetail,proto3" json:"status_detail,omitempty"`
	// The location of the source files to build.
	Source *Source `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	// Required. The operations to be performed on the workspace.
	Steps []*BuildStep `protobuf:"bytes,11,rep,name=steps,proto3" json:"steps,omitempty"`
	// Output only. Results of the build.
	Results *Results `protobuf:"bytes,10,opt,name=results,proto3" json:"results,omitempty"`
	// Output only. Time at which the request to create the build was received.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only. Time at which execution of the build was started.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// Output only. Time at which execution of the build was finished.
	//
	// The difference between finish_time and start_time is the duration of the
	// build's execution.
	FinishTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
	// Amount of time that this build should be allowed to run, to second
	// granularity. If this amount of time elapses, work on the build will cease
	// and the build status will be `TIMEOUT`.
	//
	// `timeout` starts ticking from `startTime`.
	//
	// Default time is ten minutes.
	Timeout *durationpb.Duration `protobuf:"bytes,12,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// A list of images to be pushed upon the successful completion of all build
	// steps.
	//
	// The images are pushed using the builder service account's credentials.
	//
	// The digests of the pushed images will be stored in the `Build` resource's
	// results field.
	//
	// If any of the images fail to be pushed, the build status is marked
	// `FAILURE`.
	Images []string `protobuf:"bytes,13,rep,name=images,proto3" json:"images,omitempty"`
	// TTL in queue for this build. If provided and the build is enqueued longer
	// than this value, the build will expire and the build status will be
	// `EXPIRED`.
	//
	// The TTL starts ticking from create_time.
	QueueTtl *durationpb.Duration `protobuf:"bytes,40,opt,name=queue_ttl,json=queueTtl,proto3" json:"queue_ttl,omitempty"`
	// Artifacts produced by the build that should be uploaded upon
	// successful completion of all build steps.
	Artifacts *Artifacts `protobuf:"bytes,37,opt,name=artifacts,proto3" json:"artifacts,omitempty"`
	// Google Cloud Storage bucket where logs should be written (see
	// [Bucket Name
	// Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
	// Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
	LogsBucket string `protobuf:"bytes,19,opt,name=logs_bucket,json=logsBucket,proto3" json:"logs_bucket,omitempty"`
	// Output only. A permanent fixed identifier for source.
	SourceProvenance *SourceProvenance `protobuf:"bytes,21,opt,name=source_provenance,json=sourceProvenance,proto3" json:"source_provenance,omitempty"`
	// Output only. The ID of the `BuildTrigger` that triggered this build, if it
	// was triggered automatically.
	BuildTriggerId string `protobuf:"bytes,22,opt,name=build_trigger_id,json=buildTriggerId,proto3" json:"build_trigger_id,omitempty"`
	// Special options for this build.
	Options *BuildOptions `protobuf:"bytes,23,opt,name=options,proto3" json:"options,omitempty"`
	// Output only. URL to logs for this build in Google Cloud Console.
	LogUrl string `protobuf:"bytes,25,opt,name=log_url,json=logUrl,proto3" json:"log_url,omitempty"`
	// Substitutions data for `Build` resource.
	Substitutions map[string]string `protobuf:"bytes,29,rep,name=substitutions,proto3" json:"substitutions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Tags for annotation of a `Build`. These are not docker tags.
	Tags []string `protobuf:"bytes,31,rep,name=tags,proto3" json:"tags,omitempty"`
	// Secrets to decrypt using Cloud Key Management Service.
	// Note: Secret Manager is the recommended technique
	// for managing sensitive data with Cloud Build. Use `available_secrets` to
	// configure builds to access secrets from Secret Manager. For instructions,
	// see: https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets
	Secrets []*Secret `protobuf:"bytes,32,rep,name=secrets,proto3" json:"secrets,omitempty"`
	// Output only. Stores timing information for phases of the build. Valid keys
	// are:
	//
	// * BUILD: time to execute all build steps.
	// * PUSH: time to push all specified images.
	// * FETCHSOURCE: time to fetch source.
	// * SETUPBUILD: time to set up build.
	//
	// If the build does not specify source or images,
	// these keys will not be included.
	Timing map[string]*TimeSpan `protobuf:"bytes,33,rep,name=timing,proto3" json:"timing,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Output only. Describes this build's approval configuration, status,
	// and result.
	Approval *BuildApproval `protobuf:"bytes,44,opt,name=approval,proto3" json:"approval,omitempty"`
	// IAM service account whose credentials will be used at build runtime.
	// Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
	// ACCOUNT can be email address or uniqueId of the service account.
	//
	ServiceAccount string `protobuf:"bytes,42,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	// Secrets and secret environment variables.
	AvailableSecrets *Secrets `protobuf:"bytes,47,opt,name=available_secrets,json=availableSecrets,proto3" json:"available_secrets,omitempty"`
	// Output only. Non-fatal problems encountered during the execution of the
	// build.
	Warnings []*Build_Warning `protobuf:"bytes,49,rep,name=warnings,proto3" json:"warnings,omitempty"`
	// Output only. Contains information about the build when status=FAILURE.
	FailureInfo *Build_FailureInfo `protobuf:"bytes,51,opt,name=failure_info,json=failureInfo,proto3" json:"failure_info,omitempty"`
}

func (x *Build) Reset() {
	*x = Build{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Build) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Build) ProtoMessage() {}

func (x *Build) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[11]
	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 Build.ProtoReflect.Descriptor instead.
func (*Build) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{11}
}

func (x *Build) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Build) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Build) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *Build) GetStatus() Build_Status {
	if x != nil {
		return x.Status
	}
	return Build_STATUS_UNKNOWN
}

func (x *Build) GetStatusDetail() string {
	if x != nil {
		return x.StatusDetail
	}
	return ""
}

func (x *Build) GetSource() *Source {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *Build) GetSteps() []*BuildStep {
	if x != nil {
		return x.Steps
	}
	return nil
}

func (x *Build) GetResults() *Results {
	if x != nil {
		return x.Results
	}
	return nil
}

func (x *Build) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *Build) GetStartTime() *timestamppb.Timestamp {
	if x != nil {
		return x.StartTime
	}
	return nil
}

func (x *Build) GetFinishTime() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishTime
	}
	return nil
}

func (x *Build) GetTimeout() *durationpb.Duration {
	if x != nil {
		return x.Timeout
	}
	return nil
}

func (x *Build) GetImages() []string {
	if x != nil {
		return x.Images
	}
	return nil
}

func (x *Build) GetQueueTtl() *durationpb.Duration {
	if x != nil {
		return x.QueueTtl
	}
	return nil
}

func (x *Build) GetArtifacts() *Artifacts {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

func (x *Build) GetLogsBucket() string {
	if x != nil {
		return x.LogsBucket
	}
	return ""
}

func (x *Build) GetSourceProvenance() *SourceProvenance {
	if x != nil {
		return x.SourceProvenance
	}
	return nil
}

func (x *Build) GetBuildTriggerId() string {
	if x != nil {
		return x.BuildTriggerId
	}
	return ""
}

func (x *Build) GetOptions() *BuildOptions {
	if x != nil {
		return x.Options
	}
	return nil
}

func (x *Build) GetLogUrl() string {
	if x != nil {
		return x.LogUrl
	}
	return ""
}

func (x *Build) GetSubstitutions() map[string]string {
	if x != nil {
		return x.Substitutions
	}
	return nil
}

func (x *Build) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *Build) GetSecrets() []*Secret {
	if x != nil {
		return x.Secrets
	}
	return nil
}

func (x *Build) GetTiming() map[string]*TimeSpan {
	if x != nil {
		return x.Timing
	}
	return nil
}

func (x *Build) GetApproval() *BuildApproval {
	if x != nil {
		return x.Approval
	}
	return nil
}

func (x *Build) GetServiceAccount() string {
	if x != nil {
		return x.ServiceAccount
	}
	return ""
}

func (x *Build) GetAvailableSecrets() *Secrets {
	if x != nil {
		return x.AvailableSecrets
	}
	return nil
}

func (x *Build) GetWarnings() []*Build_Warning {
	if x != nil {
		return x.Warnings
	}
	return nil
}

func (x *Build) GetFailureInfo() *Build_FailureInfo {
	if x != nil {
		return x.FailureInfo
	}
	return nil
}

// Artifacts produced by a build that should be uploaded upon
// successful completion of all build steps.
type Artifacts struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A list of images to be pushed upon the successful completion of all build
	// steps.
	//
	// The images will be pushed using the builder service account's credentials.
	//
	// The digests of the pushed images will be stored in the Build resource's
	// results field.
	//
	// If any of the images fail to be pushed, the build is marked FAILURE.
	Images []string `protobuf:"bytes,1,rep,name=images,proto3" json:"images,omitempty"`
	// A list of objects to be uploaded to Cloud Storage upon successful
	// completion of all build steps.
	//
	// Files in the workspace matching specified paths globs will be uploaded to
	// the specified Cloud Storage location using the builder service account's
	// credentials.
	//
	// The location and generation of the uploaded objects will be stored in the
	// Build resource's results field.
	//
	// If any objects fail to be pushed, the build is marked FAILURE.
	Objects *Artifacts_ArtifactObjects `protobuf:"bytes,2,opt,name=objects,proto3" json:"objects,omitempty"`
}

func (x *Artifacts) Reset() {
	*x = Artifacts{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Artifacts) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Artifacts) ProtoMessage() {}

func (x *Artifacts) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[12]
	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 Artifacts.ProtoReflect.Descriptor instead.
func (*Artifacts) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{12}
}

func (x *Artifacts) GetImages() []string {
	if x != nil {
		return x.Images
	}
	return nil
}

func (x *Artifacts) GetObjects() *Artifacts_ArtifactObjects {
	if x != nil {
		return x.Objects
	}
	return nil
}

// Start and end times for a build execution phase.
type TimeSpan struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Start of time span.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// End of time span.
	EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
}

func (x *TimeSpan) Reset() {
	*x = TimeSpan{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TimeSpan) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TimeSpan) ProtoMessage() {}

func (x *TimeSpan) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[13]
	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 TimeSpan.ProtoReflect.Descriptor instead.
func (*TimeSpan) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{13}
}

func (x *TimeSpan) GetStartTime() *timestamppb.Timestamp {
	if x != nil {
		return x.StartTime
	}
	return nil
}

func (x *TimeSpan) GetEndTime() *timestamppb.Timestamp {
	if x != nil {
		return x.EndTime
	}
	return nil
}

// Metadata for build operations.
type BuildOperationMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The build that the operation is tracking.
	Build *Build `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"`
}

func (x *BuildOperationMetadata) Reset() {
	*x = BuildOperationMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BuildOperationMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuildOperationMetadata) ProtoMessage() {}

func (x *BuildOperationMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[14]
	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 BuildOperationMetadata.ProtoReflect.Descriptor instead.
func (*BuildOperationMetadata) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{14}
}

func (x *BuildOperationMetadata) GetBuild() *Build {
	if x != nil {
		return x.Build
	}
	return nil
}

// Provenance of the source. Ways to find the original source, or verify that
// some source was used for this build.
type SourceProvenance struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A copy of the build's `source.storage_source`, if exists, with any
	// generations resolved.
	ResolvedStorageSource *StorageSource `protobuf:"bytes,3,opt,name=resolved_storage_source,json=resolvedStorageSource,proto3" json:"resolved_storage_source,omitempty"`
	// A copy of the build's `source.repo_source`, if exists, with any
	// revisions resolved.
	ResolvedRepoSource *RepoSource `protobuf:"bytes,6,opt,name=resolved_repo_source,json=resolvedRepoSource,proto3" json:"resolved_repo_source,omitempty"`
	// A copy of the build's `source.storage_source_manifest`, if exists, with any
	// revisions resolved.
	// This feature is in Preview.
	ResolvedStorageSourceManifest *StorageSourceManifest `protobuf:"bytes,9,opt,name=resolved_storage_source_manifest,json=resolvedStorageSourceManifest,proto3" json:"resolved_storage_source_manifest,omitempty"`
	// Output only. Hash(es) of the build source, which can be used to verify that
	// the original source integrity was maintained in the build. Note that
	// `FileHashes` will only be populated if `BuildOptions` has requested a
	// `SourceProvenanceHash`.
	//
	// The keys to this map are file paths used as build source and the values
	// contain the hash values for those files.
	//
	// If the build source came in a single package such as a gzipped tarfile
	// (`.tar.gz`), the `FileHash` will be for the single path to that file.
	FileHashes map[string]*FileHashes `protobuf:"bytes,4,rep,name=file_hashes,json=fileHashes,proto3" json:"file_hashes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *SourceProvenance) Reset() {
	*x = SourceProvenance{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SourceProvenance) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SourceProvenance) ProtoMessage() {}

func (x *SourceProvenance) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_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 SourceProvenance.ProtoReflect.Descriptor instead.
func (*SourceProvenance) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{15}
}

func (x *SourceProvenance) GetResolvedStorageSource() *StorageSource {
	if x != nil {
		return x.ResolvedStorageSource
	}
	return nil
}

func (x *SourceProvenance) GetResolvedRepoSource() *RepoSource {
	if x != nil {
		return x.ResolvedRepoSource
	}
	return nil
}

func (x *SourceProvenance) GetResolvedStorageSourceManifest() *StorageSourceManifest {
	if x != nil {
		return x.ResolvedStorageSourceManifest
	}
	return nil
}

func (x *SourceProvenance) GetFileHashes() map[string]*FileHashes {
	if x != nil {
		return x.FileHashes
	}
	return nil
}

// Container message for hashes of byte content of files, used in
// SourceProvenance messages to verify integrity of source input to the build.
type FileHashes struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Collection of file hashes.
	FileHash []*Hash `protobuf:"bytes,1,rep,name=file_hash,json=fileHash,proto3" json:"file_hash,omitempty"`
}

func (x *FileHashes) Reset() {
	*x = FileHashes{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FileHashes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileHashes) ProtoMessage() {}

func (x *FileHashes) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[16]
	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 FileHashes.ProtoReflect.Descriptor instead.
func (*FileHashes) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{16}
}

func (x *FileHashes) GetFileHash() []*Hash {
	if x != nil {
		return x.FileHash
	}
	return nil
}

// Container message for hash values.
type Hash struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The type of hash that was performed.
	Type Hash_HashType `protobuf:"varint,1,opt,name=type,proto3,enum=google.devtools.cloudbuild.v1.Hash_HashType" json:"type,omitempty"`
	// The hash value.
	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Hash) Reset() {
	*x = Hash{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Hash) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Hash) ProtoMessage() {}

func (x *Hash) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[17]
	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 Hash.ProtoReflect.Descriptor instead.
func (*Hash) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{17}
}

func (x *Hash) GetType() Hash_HashType {
	if x != nil {
		return x.Type
	}
	return Hash_NONE
}

func (x *Hash) GetValue() []byte {
	if x != nil {
		return x.Value
	}
	return nil
}

// Secrets and secret environment variables.
type Secrets struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Secrets in Secret Manager and associated secret environment variable.
	SecretManager []*SecretManagerSecret `protobuf:"bytes,1,rep,name=secret_manager,json=secretManager,proto3" json:"secret_manager,omitempty"`
	// Secrets encrypted with KMS key and the associated secret environment
	// variable.
	Inline []*InlineSecret `protobuf:"bytes,2,rep,name=inline,proto3" json:"inline,omitempty"`
}

func (x *Secrets) Reset() {
	*x = Secrets{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Secrets) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Secrets) ProtoMessage() {}

func (x *Secrets) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[18]
	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 Secrets.ProtoReflect.Descriptor instead.
func (*Secrets) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{18}
}

func (x *Secrets) GetSecretManager() []*SecretManagerSecret {
	if x != nil {
		return x.SecretManager
	}
	return nil
}

func (x *Secrets) GetInline() []*InlineSecret {
	if x != nil {
		return x.Inline
	}
	return nil
}

// Pairs a set of secret environment variables mapped to encrypted
// values with the Cloud KMS key to use to decrypt the value.
type InlineSecret struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Resource name of Cloud KMS crypto key to decrypt the encrypted value.
	// In format: projects/*/locations/*/keyRings/*/cryptoKeys/*
	KmsKeyName string `protobuf:"bytes,1,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"`
	// Map of environment variable name to its encrypted value.
	//
	// Secret environment variables must be unique across all of a build's
	// secrets, and must be used by at least one build step. Values can be at most
	// 64 KB in size. There can be at most 100 secret values across all of a
	// build's secrets.
	EnvMap map[string][]byte `protobuf:"bytes,2,rep,name=env_map,json=envMap,proto3" json:"env_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *InlineSecret) Reset() {
	*x = InlineSecret{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *InlineSecret) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InlineSecret) ProtoMessage() {}

func (x *InlineSecret) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[19]
	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 InlineSecret.ProtoReflect.Descriptor instead.
func (*InlineSecret) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{19}
}

func (x *InlineSecret) GetKmsKeyName() string {
	if x != nil {
		return x.KmsKeyName
	}
	return ""
}

func (x *InlineSecret) GetEnvMap() map[string][]byte {
	if x != nil {
		return x.EnvMap
	}
	return nil
}

// Pairs a secret environment variable with a SecretVersion in Secret Manager.
type SecretManagerSecret struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Resource name of the SecretVersion. In format:
	// projects/*/secrets/*/versions/*
	VersionName string `protobuf:"bytes,1,opt,name=version_name,json=versionName,proto3" json:"version_name,omitempty"`
	// Environment variable name to associate with the secret.
	// Secret environment variables must be unique across all of a build's
	// secrets, and must be used by at least one build step.
	Env string `protobuf:"bytes,2,opt,name=env,proto3" json:"env,omitempty"`
}

func (x *SecretManagerSecret) Reset() {
	*x = SecretManagerSecret{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SecretManagerSecret) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SecretManagerSecret) ProtoMessage() {}

func (x *SecretManagerSecret) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[20]
	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 SecretManagerSecret.ProtoReflect.Descriptor instead.
func (*SecretManagerSecret) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{20}
}

func (x *SecretManagerSecret) GetVersionName() string {
	if x != nil {
		return x.VersionName
	}
	return ""
}

func (x *SecretManagerSecret) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

// Pairs a set of secret environment variables containing encrypted
// values with the Cloud KMS key to use to decrypt the value.
// Note: Use `kmsKeyName` with  `available_secrets` instead of using
// `kmsKeyName` with `secret`. For instructions see:
// https://cloud.google.com/cloud-build/docs/securing-builds/use-encrypted-credentials.
type Secret struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Cloud KMS key name to use to decrypt these envs.
	KmsKeyName string `protobuf:"bytes,1,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"`
	// Map of environment variable name to its encrypted value.
	//
	// Secret environment variables must be unique across all of a build's
	// secrets, and must be used by at least one build step. Values can be at most
	// 64 KB in size. There can be at most 100 secret values across all of a
	// build's secrets.
	SecretEnv map[string][]byte `protobuf:"bytes,3,rep,name=secret_env,json=secretEnv,proto3" json:"secret_env,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *Secret) Reset() {
	*x = Secret{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Secret) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Secret) ProtoMessage() {}

func (x *Secret) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[21]
	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 Secret.ProtoReflect.Descriptor instead.
func (*Secret) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{21}
}

func (x *Secret) GetKmsKeyName() string {
	if x != nil {
		return x.KmsKeyName
	}
	return ""
}

func (x *Secret) GetSecretEnv() map[string][]byte {
	if x != nil {
		return x.SecretEnv
	}
	return nil
}

// Request to create a new build.
type CreateBuildRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The parent resource where this build will be created.
	// Format: `projects/{project}/locations/{location}`
	Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. ID of the project.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Build resource to create.
	Build *Build `protobuf:"bytes,2,opt,name=build,proto3" json:"build,omitempty"`
}

func (x *CreateBuildRequest) Reset() {
	*x = CreateBuildRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateBuildRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateBuildRequest) ProtoMessage() {}

func (x *CreateBuildRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[22]
	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 CreateBuildRequest.ProtoReflect.Descriptor instead.
func (*CreateBuildRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{22}
}

func (x *CreateBuildRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *CreateBuildRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *CreateBuildRequest) GetBuild() *Build {
	if x != nil {
		return x.Build
	}
	return nil
}

// Request to get a build.
type GetBuildRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the `Build` to retrieve.
	// Format: `projects/{project}/locations/{location}/builds/{build}`
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Required. ID of the project.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. ID of the build.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetBuildRequest) Reset() {
	*x = GetBuildRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetBuildRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBuildRequest) ProtoMessage() {}

func (x *GetBuildRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[23]
	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 GetBuildRequest.ProtoReflect.Descriptor instead.
func (*GetBuildRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{23}
}

func (x *GetBuildRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *GetBuildRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *GetBuildRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Request to list builds.
type ListBuildsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The parent of the collection of `Builds`.
	// Format: `projects/{project}/locations/location`
	Parent string `protobuf:"bytes,9,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. ID of the project.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Number of results to return in the list.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// The page token for the next page of Builds.
	//
	// If unspecified, the first page of results is returned.
	//
	// If the token is rejected for any reason, INVALID_ARGUMENT will be thrown.
	// In this case, the token should be discarded, and pagination should be
	// restarted from the first page of results.
	//
	// See https://google.aip.dev/158 for more.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// The raw filter text to constrain the results.
	Filter string `protobuf:"bytes,8,opt,name=filter,proto3" json:"filter,omitempty"`
}

func (x *ListBuildsRequest) Reset() {
	*x = ListBuildsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListBuildsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBuildsRequest) ProtoMessage() {}

func (x *ListBuildsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[24]
	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 ListBuildsRequest.ProtoReflect.Descriptor instead.
func (*ListBuildsRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{24}
}

func (x *ListBuildsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListBuildsRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *ListBuildsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListBuildsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

func (x *ListBuildsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

// Response including listed builds.
type ListBuildsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Builds will be sorted by `create_time`, descending.
	Builds []*Build `protobuf:"bytes,1,rep,name=builds,proto3" json:"builds,omitempty"`
	// Token to receive the next page of results.
	// This will be absent if the end of the response list has been reached.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ListBuildsResponse) Reset() {
	*x = ListBuildsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListBuildsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBuildsResponse) ProtoMessage() {}

func (x *ListBuildsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[25]
	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 ListBuildsResponse.ProtoReflect.Descriptor instead.
func (*ListBuildsResponse) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{25}
}

func (x *ListBuildsResponse) GetBuilds() []*Build {
	if x != nil {
		return x.Builds
	}
	return nil
}

func (x *ListBuildsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request to cancel an ongoing build.
type CancelBuildRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the `Build` to cancel.
	// Format: `projects/{project}/locations/{location}/builds/{build}`
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Required. ID of the project.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. ID of the build.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *CancelBuildRequest) Reset() {
	*x = CancelBuildRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CancelBuildRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelBuildRequest) ProtoMessage() {}

func (x *CancelBuildRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[26]
	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 CancelBuildRequest.ProtoReflect.Descriptor instead.
func (*CancelBuildRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{26}
}

func (x *CancelBuildRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CancelBuildRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *CancelBuildRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Request to approve or reject a pending build.
type ApproveBuildRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Name of the target build.
	// For example: "projects/{$project_id}/builds/{$build_id}"
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Approval decision and metadata.
	ApprovalResult *ApprovalResult `protobuf:"bytes,2,opt,name=approval_result,json=approvalResult,proto3" json:"approval_result,omitempty"`
}

func (x *ApproveBuildRequest) Reset() {
	*x = ApproveBuildRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ApproveBuildRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ApproveBuildRequest) ProtoMessage() {}

func (x *ApproveBuildRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[27]
	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 ApproveBuildRequest.ProtoReflect.Descriptor instead.
func (*ApproveBuildRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{27}
}

func (x *ApproveBuildRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ApproveBuildRequest) GetApprovalResult() *ApprovalResult {
	if x != nil {
		return x.ApprovalResult
	}
	return nil
}

// BuildApproval describes a build's approval configuration, state, and
// result.
type BuildApproval struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Output only. The state of this build's approval.
	State BuildApproval_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.devtools.cloudbuild.v1.BuildApproval_State" json:"state,omitempty"`
	// Output only. Configuration for manual approval of this build.
	Config *ApprovalConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	// Output only. Result of manual approval for this Build.
	Result *ApprovalResult `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
}

func (x *BuildApproval) Reset() {
	*x = BuildApproval{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BuildApproval) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuildApproval) ProtoMessage() {}

func (x *BuildApproval) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[28]
	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 BuildApproval.ProtoReflect.Descriptor instead.
func (*BuildApproval) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{28}
}

func (x *BuildApproval) GetState() BuildApproval_State {
	if x != nil {
		return x.State
	}
	return BuildApproval_STATE_UNSPECIFIED
}

func (x *BuildApproval) GetConfig() *ApprovalConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *BuildApproval) GetResult() *ApprovalResult {
	if x != nil {
		return x.Result
	}
	return nil
}

// ApprovalConfig describes configuration for manual approval of a build.
type ApprovalConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Whether or not approval is needed. If this is set on a build, it will
	// become pending when created, and will need to be explicitly approved
	// to start.
	ApprovalRequired bool `protobuf:"varint,1,opt,name=approval_required,json=approvalRequired,proto3" json:"approval_required,omitempty"`
}

func (x *ApprovalConfig) Reset() {
	*x = ApprovalConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ApprovalConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ApprovalConfig) ProtoMessage() {}

func (x *ApprovalConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[29]
	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 ApprovalConfig.ProtoReflect.Descriptor instead.
func (*ApprovalConfig) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{29}
}

func (x *ApprovalConfig) GetApprovalRequired() bool {
	if x != nil {
		return x.ApprovalRequired
	}
	return false
}

// ApprovalResult describes the decision and associated metadata of a manual
// approval of a build.
type ApprovalResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Output only. Email of the user that called the ApproveBuild API to
	// approve or reject a build at the time that the API was called.
	ApproverAccount string `protobuf:"bytes,2,opt,name=approver_account,json=approverAccount,proto3" json:"approver_account,omitempty"`
	// Output only. The time when the approval decision was made.
	ApprovalTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=approval_time,json=approvalTime,proto3" json:"approval_time,omitempty"`
	// Required. The decision of this manual approval.
	Decision ApprovalResult_Decision `protobuf:"varint,4,opt,name=decision,proto3,enum=google.devtools.cloudbuild.v1.ApprovalResult_Decision" json:"decision,omitempty"`
	// Optional. An optional comment for this manual approval result.
	Comment string `protobuf:"bytes,5,opt,name=comment,proto3" json:"comment,omitempty"`
	// Optional. An optional URL tied to this manual approval result. This field
	// is essentially the same as comment, except that it will be rendered by the
	// UI differently. An example use case is a link to an external job that
	// approved this Build.
	Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
}

func (x *ApprovalResult) Reset() {
	*x = ApprovalResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ApprovalResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ApprovalResult) ProtoMessage() {}

func (x *ApprovalResult) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[30]
	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 ApprovalResult.ProtoReflect.Descriptor instead.
func (*ApprovalResult) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{30}
}

func (x *ApprovalResult) GetApproverAccount() string {
	if x != nil {
		return x.ApproverAccount
	}
	return ""
}

func (x *ApprovalResult) GetApprovalTime() *timestamppb.Timestamp {
	if x != nil {
		return x.ApprovalTime
	}
	return nil
}

func (x *ApprovalResult) GetDecision() ApprovalResult_Decision {
	if x != nil {
		return x.Decision
	}
	return ApprovalResult_DECISION_UNSPECIFIED
}

func (x *ApprovalResult) GetComment() string {
	if x != nil {
		return x.Comment
	}
	return ""
}

func (x *ApprovalResult) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

// Configuration for an automated build in response to source repository
// changes.
type BuildTrigger struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The `Trigger` name with format:
	// `projects/{project}/locations/{location}/triggers/{trigger}`, where
	// {trigger} is a unique identifier generated by the service.
	ResourceName string `protobuf:"bytes,34,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
	// Output only. Unique identifier of the trigger.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Human-readable description of this trigger.
	Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"`
	// User-assigned name of the trigger. Must be unique within the project.
	// Trigger names must meet the following requirements:
	//
	// + They must contain only alphanumeric characters and dashes.
	// + They can be 1-64 characters long.
	// + They must begin and end with an alphanumeric character.
	Name string `protobuf:"bytes,21,opt,name=name,proto3" json:"name,omitempty"`
	// Tags for annotation of a `BuildTrigger`
	Tags []string `protobuf:"bytes,19,rep,name=tags,proto3" json:"tags,omitempty"`
	// Template describing the types of source changes to trigger a build.
	//
	// Branch and tag names in trigger templates are interpreted as regular
	// expressions. Any branch or tag change that matches that regular expression
	// will trigger a build.
	//
	// Mutually exclusive with `github`.
	TriggerTemplate *RepoSource `protobuf:"bytes,7,opt,name=trigger_template,json=triggerTemplate,proto3" json:"trigger_template,omitempty"`
	// GitHubEventsConfig describes the configuration of a trigger that creates
	// a build whenever a GitHub event is received.
	//
	// Mutually exclusive with `trigger_template`.
	Github *GitHubEventsConfig `protobuf:"bytes,13,opt,name=github,proto3" json:"github,omitempty"`
	// PubsubConfig describes the configuration of a trigger that
	// creates a build whenever a Pub/Sub message is published.
	PubsubConfig *PubsubConfig `protobuf:"bytes,29,opt,name=pubsub_config,json=pubsubConfig,proto3" json:"pubsub_config,omitempty"`
	// WebhookConfig describes the configuration of a trigger that
	// creates a build whenever a webhook is sent to a trigger's webhook URL.
	WebhookConfig *WebhookConfig `protobuf:"bytes,31,opt,name=webhook_config,json=webhookConfig,proto3" json:"webhook_config,omitempty"`
	// Template describing the Build request to make when the trigger is matched.
	//
	// Types that are assignable to BuildTemplate:
	//	*BuildTrigger_Autodetect
	//	*BuildTrigger_Build
	//	*BuildTrigger_Filename
	BuildTemplate isBuildTrigger_BuildTemplate `protobuf_oneof:"build_template"`
	// Output only. Time when the trigger was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// If true, the trigger will never automatically execute a build.
	Disabled bool `protobuf:"varint,9,opt,name=disabled,proto3" json:"disabled,omitempty"`
	// Substitutions for Build resource. The keys must match the following
	// regular expression: `^_[A-Z0-9_]+$`.
	Substitutions map[string]string `protobuf:"bytes,11,rep,name=substitutions,proto3" json:"substitutions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// ignored_files and included_files are file glob matches using
	// https://golang.org/pkg/path/filepath/#Match extended with support for "**".
	//
	// If ignored_files and changed files are both empty, then they are
	// not used to determine whether or not to trigger a build.
	//
	// If ignored_files is not empty, then we ignore any files that match
	// any of the ignored_file globs. If the change has no files that are
	// outside of the ignored_files globs, then we do not trigger a build.
	IgnoredFiles []string `protobuf:"bytes,15,rep,name=ignored_files,json=ignoredFiles,proto3" json:"ignored_files,omitempty"`
	// If any of the files altered in the commit pass the ignored_files
	// filter and included_files is empty, then as far as this filter is
	// concerned, we should trigger the build.
	//
	// If any of the files altered in the commit pass the ignored_files
	// filter and included_files is not empty, then we make sure that at
	// least one of those files matches a included_files glob. If not,
	// then we do not trigger a build.
	IncludedFiles []string `protobuf:"bytes,16,rep,name=included_files,json=includedFiles,proto3" json:"included_files,omitempty"`
	// Optional. A Common Expression Language string.
	Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty"`
	// The service account used for all user-controlled operations including
	// UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and CancelBuild.
	// If no service account is set, then the standard Cloud Build service account
	// ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead.
	// Format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}`
	ServiceAccount string `protobuf:"bytes,33,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
}

func (x *BuildTrigger) Reset() {
	*x = BuildTrigger{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BuildTrigger) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuildTrigger) ProtoMessage() {}

func (x *BuildTrigger) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[31]
	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 BuildTrigger.ProtoReflect.Descriptor instead.
func (*BuildTrigger) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{31}
}

func (x *BuildTrigger) GetResourceName() string {
	if x != nil {
		return x.ResourceName
	}
	return ""
}

func (x *BuildTrigger) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *BuildTrigger) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *BuildTrigger) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *BuildTrigger) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *BuildTrigger) GetTriggerTemplate() *RepoSource {
	if x != nil {
		return x.TriggerTemplate
	}
	return nil
}

func (x *BuildTrigger) GetGithub() *GitHubEventsConfig {
	if x != nil {
		return x.Github
	}
	return nil
}

func (x *BuildTrigger) GetPubsubConfig() *PubsubConfig {
	if x != nil {
		return x.PubsubConfig
	}
	return nil
}

func (x *BuildTrigger) GetWebhookConfig() *WebhookConfig {
	if x != nil {
		return x.WebhookConfig
	}
	return nil
}

func (m *BuildTrigger) GetBuildTemplate() isBuildTrigger_BuildTemplate {
	if m != nil {
		return m.BuildTemplate
	}
	return nil
}

func (x *BuildTrigger) GetAutodetect() bool {
	if x, ok := x.GetBuildTemplate().(*BuildTrigger_Autodetect); ok {
		return x.Autodetect
	}
	return false
}

func (x *BuildTrigger) GetBuild() *Build {
	if x, ok := x.GetBuildTemplate().(*BuildTrigger_Build); ok {
		return x.Build
	}
	return nil
}

func (x *BuildTrigger) GetFilename() string {
	if x, ok := x.GetBuildTemplate().(*BuildTrigger_Filename); ok {
		return x.Filename
	}
	return ""
}

func (x *BuildTrigger) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *BuildTrigger) GetDisabled() bool {
	if x != nil {
		return x.Disabled
	}
	return false
}

func (x *BuildTrigger) GetSubstitutions() map[string]string {
	if x != nil {
		return x.Substitutions
	}
	return nil
}

func (x *BuildTrigger) GetIgnoredFiles() []string {
	if x != nil {
		return x.IgnoredFiles
	}
	return nil
}

func (x *BuildTrigger) GetIncludedFiles() []string {
	if x != nil {
		return x.IncludedFiles
	}
	return nil
}

func (x *BuildTrigger) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

func (x *BuildTrigger) GetServiceAccount() string {
	if x != nil {
		return x.ServiceAccount
	}
	return ""
}

type isBuildTrigger_BuildTemplate interface {
	isBuildTrigger_BuildTemplate()
}

type BuildTrigger_Autodetect struct {
	// Autodetect build configuration.  The following precedence is used (case
	// insensitive):
	//
	// 1. cloudbuild.yaml
	// 2. cloudbuild.yml
	// 3. cloudbuild.json
	// 4. Dockerfile
	//
	// Currently only available for GitHub App Triggers.
	Autodetect bool `protobuf:"varint,18,opt,name=autodetect,proto3,oneof"`
}

type BuildTrigger_Build struct {
	// Contents of the build template.
	Build *Build `protobuf:"bytes,4,opt,name=build,proto3,oneof"`
}

type BuildTrigger_Filename struct {
	// Path, from the source root, to the build configuration file
	// (i.e. cloudbuild.yaml).
	Filename string `protobuf:"bytes,8,opt,name=filename,proto3,oneof"`
}

func (*BuildTrigger_Autodetect) isBuildTrigger_BuildTemplate() {}

func (*BuildTrigger_Build) isBuildTrigger_BuildTemplate() {}

func (*BuildTrigger_Filename) isBuildTrigger_BuildTemplate() {}

// GitHubEventsConfig describes the configuration of a trigger that creates a
// build whenever a GitHub event is received.
//
// This message is experimental.
type GitHubEventsConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The installationID that emits the GitHub event.
	//
	// Deprecated: Do not use.
	InstallationId int64 `protobuf:"varint,1,opt,name=installation_id,json=installationId,proto3" json:"installation_id,omitempty"`
	// Owner of the repository. For example: The owner for
	// https://github.com/googlecloudplatform/cloud-builders is
	// "googlecloudplatform".
	Owner string `protobuf:"bytes,6,opt,name=owner,proto3" json:"owner,omitempty"`
	// Name of the repository. For example: The name for
	// https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
	// Filter describing the types of events to trigger a build.
	// Currently supported event types: push, pull_request.
	//
	// Types that are assignable to Event:
	//	*GitHubEventsConfig_PullRequest
	//	*GitHubEventsConfig_Push
	Event isGitHubEventsConfig_Event `protobuf_oneof:"event"`
}

func (x *GitHubEventsConfig) Reset() {
	*x = GitHubEventsConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GitHubEventsConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GitHubEventsConfig) ProtoMessage() {}

func (x *GitHubEventsConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[32]
	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 GitHubEventsConfig.ProtoReflect.Descriptor instead.
func (*GitHubEventsConfig) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{32}
}

// Deprecated: Do not use.
func (x *GitHubEventsConfig) GetInstallationId() int64 {
	if x != nil {
		return x.InstallationId
	}
	return 0
}

func (x *GitHubEventsConfig) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

func (x *GitHubEventsConfig) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (m *GitHubEventsConfig) GetEvent() isGitHubEventsConfig_Event {
	if m != nil {
		return m.Event
	}
	return nil
}

func (x *GitHubEventsConfig) GetPullRequest() *PullRequestFilter {
	if x, ok := x.GetEvent().(*GitHubEventsConfig_PullRequest); ok {
		return x.PullRequest
	}
	return nil
}

func (x *GitHubEventsConfig) GetPush() *PushFilter {
	if x, ok := x.GetEvent().(*GitHubEventsConfig_Push); ok {
		return x.Push
	}
	return nil
}

type isGitHubEventsConfig_Event interface {
	isGitHubEventsConfig_Event()
}

type GitHubEventsConfig_PullRequest struct {
	// filter to match changes in pull requests.
	PullRequest *PullRequestFilter `protobuf:"bytes,4,opt,name=pull_request,json=pullRequest,proto3,oneof"`
}

type GitHubEventsConfig_Push struct {
	// filter to match changes in refs like branches, tags.
	Push *PushFilter `protobuf:"bytes,5,opt,name=push,proto3,oneof"`
}

func (*GitHubEventsConfig_PullRequest) isGitHubEventsConfig_Event() {}

func (*GitHubEventsConfig_Push) isGitHubEventsConfig_Event() {}

// PubsubConfig describes the configuration of a trigger that
// creates a build whenever a Pub/Sub message is published.
type PubsubConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Output only. Name of the subscription. Format is
	// `projects/{project}/subscriptions/{subscription}`.
	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
	// The name of the topic from which this subscription is receiving messages.
	// Format is `projects/{project}/topics/{topic}`.
	Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
	// Service account that will make the push request.
	ServiceAccountEmail string `protobuf:"bytes,3,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
	// Potential issues with the underlying Pub/Sub subscription configuration.
	// Only populated on get requests.
	State PubsubConfig_State `protobuf:"varint,4,opt,name=state,proto3,enum=google.devtools.cloudbuild.v1.PubsubConfig_State" json:"state,omitempty"`
}

func (x *PubsubConfig) Reset() {
	*x = PubsubConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PubsubConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PubsubConfig) ProtoMessage() {}

func (x *PubsubConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[33]
	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 PubsubConfig.ProtoReflect.Descriptor instead.
func (*PubsubConfig) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{33}
}

func (x *PubsubConfig) GetSubscription() string {
	if x != nil {
		return x.Subscription
	}
	return ""
}

func (x *PubsubConfig) GetTopic() string {
	if x != nil {
		return x.Topic
	}
	return ""
}

func (x *PubsubConfig) GetServiceAccountEmail() string {
	if x != nil {
		return x.ServiceAccountEmail
	}
	return ""
}

func (x *PubsubConfig) GetState() PubsubConfig_State {
	if x != nil {
		return x.State
	}
	return PubsubConfig_STATE_UNSPECIFIED
}

// WebhookConfig describes the configuration of a trigger that
// creates a build whenever a webhook is sent to a trigger's webhook URL.
type WebhookConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Auth method specifies how the webhook authenticates with GCP.
	//
	// Types that are assignable to AuthMethod:
	//	*WebhookConfig_Secret
	AuthMethod isWebhookConfig_AuthMethod `protobuf_oneof:"auth_method"`
	// Potential issues with the underlying Pub/Sub subscription configuration.
	// Only populated on get requests.
	State WebhookConfig_State `protobuf:"varint,4,opt,name=state,proto3,enum=google.devtools.cloudbuild.v1.WebhookConfig_State" json:"state,omitempty"`
}

func (x *WebhookConfig) Reset() {
	*x = WebhookConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WebhookConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WebhookConfig) ProtoMessage() {}

func (x *WebhookConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[34]
	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 WebhookConfig.ProtoReflect.Descriptor instead.
func (*WebhookConfig) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{34}
}

func (m *WebhookConfig) GetAuthMethod() isWebhookConfig_AuthMethod {
	if m != nil {
		return m.AuthMethod
	}
	return nil
}

func (x *WebhookConfig) GetSecret() string {
	if x, ok := x.GetAuthMethod().(*WebhookConfig_Secret); ok {
		return x.Secret
	}
	return ""
}

func (x *WebhookConfig) GetState() WebhookConfig_State {
	if x != nil {
		return x.State
	}
	return WebhookConfig_STATE_UNSPECIFIED
}

type isWebhookConfig_AuthMethod interface {
	isWebhookConfig_AuthMethod()
}

type WebhookConfig_Secret struct {
	// Required. Resource name for the secret required as a URL parameter.
	Secret string `protobuf:"bytes,3,opt,name=secret,proto3,oneof"`
}

func (*WebhookConfig_Secret) isWebhookConfig_AuthMethod() {}

// PullRequestFilter contains filter properties for matching GitHub Pull
// Requests.
type PullRequestFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Target refs to match.
	// A target ref is the git reference where the pull request will be applied.
	//
	// Types that are assignable to GitRef:
	//	*PullRequestFilter_Branch
	GitRef isPullRequestFilter_GitRef `protobuf_oneof:"git_ref"`
	// Configure builds to run whether a repository owner or collaborator need to
	// comment `/gcbrun`.
	CommentControl PullRequestFilter_CommentControl `protobuf:"varint,5,opt,name=comment_control,json=commentControl,proto3,enum=google.devtools.cloudbuild.v1.PullRequestFilter_CommentControl" json:"comment_control,omitempty"`
	// If true, branches that do NOT match the git_ref will trigger a build.
	InvertRegex bool `protobuf:"varint,6,opt,name=invert_regex,json=invertRegex,proto3" json:"invert_regex,omitempty"`
}

func (x *PullRequestFilter) Reset() {
	*x = PullRequestFilter{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PullRequestFilter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PullRequestFilter) ProtoMessage() {}

func (x *PullRequestFilter) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[35]
	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 PullRequestFilter.ProtoReflect.Descriptor instead.
func (*PullRequestFilter) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{35}
}

func (m *PullRequestFilter) GetGitRef() isPullRequestFilter_GitRef {
	if m != nil {
		return m.GitRef
	}
	return nil
}

func (x *PullRequestFilter) GetBranch() string {
	if x, ok := x.GetGitRef().(*PullRequestFilter_Branch); ok {
		return x.Branch
	}
	return ""
}

func (x *PullRequestFilter) GetCommentControl() PullRequestFilter_CommentControl {
	if x != nil {
		return x.CommentControl
	}
	return PullRequestFilter_COMMENTS_DISABLED
}

func (x *PullRequestFilter) GetInvertRegex() bool {
	if x != nil {
		return x.InvertRegex
	}
	return false
}

type isPullRequestFilter_GitRef interface {
	isPullRequestFilter_GitRef()
}

type PullRequestFilter_Branch struct {
	// Regex of branches to match.
	//
	// The syntax of the regular expressions accepted is the syntax accepted by
	// RE2 and described at https://github.com/google/re2/wiki/Syntax
	Branch string `protobuf:"bytes,2,opt,name=branch,proto3,oneof"`
}

func (*PullRequestFilter_Branch) isPullRequestFilter_GitRef() {}

// Push contains filter properties for matching GitHub git pushes.
type PushFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Modified refs to match.
	// A modified refs are the refs modified by a git push operation.
	//
	// Types that are assignable to GitRef:
	//	*PushFilter_Branch
	//	*PushFilter_Tag
	GitRef isPushFilter_GitRef `protobuf_oneof:"git_ref"`
	// When true, only trigger a build if the revision regex does NOT match the
	// git_ref regex.
	InvertRegex bool `protobuf:"varint,4,opt,name=invert_regex,json=invertRegex,proto3" json:"invert_regex,omitempty"`
}

func (x *PushFilter) Reset() {
	*x = PushFilter{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PushFilter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PushFilter) ProtoMessage() {}

func (x *PushFilter) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[36]
	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 PushFilter.ProtoReflect.Descriptor instead.
func (*PushFilter) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{36}
}

func (m *PushFilter) GetGitRef() isPushFilter_GitRef {
	if m != nil {
		return m.GitRef
	}
	return nil
}

func (x *PushFilter) GetBranch() string {
	if x, ok := x.GetGitRef().(*PushFilter_Branch); ok {
		return x.Branch
	}
	return ""
}

func (x *PushFilter) GetTag() string {
	if x, ok := x.GetGitRef().(*PushFilter_Tag); ok {
		return x.Tag
	}
	return ""
}

func (x *PushFilter) GetInvertRegex() bool {
	if x != nil {
		return x.InvertRegex
	}
	return false
}

type isPushFilter_GitRef interface {
	isPushFilter_GitRef()
}

type PushFilter_Branch struct {
	// Regexes matching branches to build.
	//
	// The syntax of the regular expressions accepted is the syntax accepted by
	// RE2 and described at https://github.com/google/re2/wiki/Syntax
	Branch string `protobuf:"bytes,2,opt,name=branch,proto3,oneof"`
}

type PushFilter_Tag struct {
	// Regexes matching tags to build.
	//
	// The syntax of the regular expressions accepted is the syntax accepted by
	// RE2 and described at https://github.com/google/re2/wiki/Syntax
	Tag string `protobuf:"bytes,3,opt,name=tag,proto3,oneof"`
}

func (*PushFilter_Branch) isPushFilter_GitRef() {}

func (*PushFilter_Tag) isPushFilter_GitRef() {}

// Request to create a new `BuildTrigger`.
type CreateBuildTriggerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The parent resource where this trigger will be created.
	// Format: `projects/{project}/locations/{location}`
	Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. ID of the project for which to configure automatic builds.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. `BuildTrigger` to create.
	Trigger *BuildTrigger `protobuf:"bytes,2,opt,name=trigger,proto3" json:"trigger,omitempty"`
}

func (x *CreateBuildTriggerRequest) Reset() {
	*x = CreateBuildTriggerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateBuildTriggerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateBuildTriggerRequest) ProtoMessage() {}

func (x *CreateBuildTriggerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[37]
	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 CreateBuildTriggerRequest.ProtoReflect.Descriptor instead.
func (*CreateBuildTriggerRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{37}
}

func (x *CreateBuildTriggerRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *CreateBuildTriggerRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *CreateBuildTriggerRequest) GetTrigger() *BuildTrigger {
	if x != nil {
		return x.Trigger
	}
	return nil
}

// Returns the `BuildTrigger` with the specified ID.
type GetBuildTriggerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the `Trigger` to retrieve.
	// Format: `projects/{project}/locations/{location}/triggers/{trigger}`
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// Required. ID of the project that owns the trigger.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Identifier (`id` or `name`) of the `BuildTrigger` to get.
	TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
}

func (x *GetBuildTriggerRequest) Reset() {
	*x = GetBuildTriggerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetBuildTriggerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBuildTriggerRequest) ProtoMessage() {}

func (x *GetBuildTriggerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[38]
	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 GetBuildTriggerRequest.ProtoReflect.Descriptor instead.
func (*GetBuildTriggerRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{38}
}

func (x *GetBuildTriggerRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *GetBuildTriggerRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *GetBuildTriggerRequest) GetTriggerId() string {
	if x != nil {
		return x.TriggerId
	}
	return ""
}

// Request to list existing `BuildTriggers`.
type ListBuildTriggersRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The parent of the collection of `Triggers`.
	// Format: `projects/{project}/locations/{location}`
	Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. ID of the project for which to list BuildTriggers.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Number of results to return in the list.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Token to provide to skip to a particular spot in the list.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}

func (x *ListBuildTriggersRequest) Reset() {
	*x = ListBuildTriggersRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListBuildTriggersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBuildTriggersRequest) ProtoMessage() {}

func (x *ListBuildTriggersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[39]
	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 ListBuildTriggersRequest.ProtoReflect.Descriptor instead.
func (*ListBuildTriggersRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{39}
}

func (x *ListBuildTriggersRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListBuildTriggersRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *ListBuildTriggersRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListBuildTriggersRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

// Response containing existing `BuildTriggers`.
type ListBuildTriggersResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// `BuildTriggers` for the project, sorted by `create_time` descending.
	Triggers []*BuildTrigger `protobuf:"bytes,1,rep,name=triggers,proto3" json:"triggers,omitempty"`
	// Token to receive the next page of results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ListBuildTriggersResponse) Reset() {
	*x = ListBuildTriggersResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListBuildTriggersResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBuildTriggersResponse) ProtoMessage() {}

func (x *ListBuildTriggersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[40]
	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 ListBuildTriggersResponse.ProtoReflect.Descriptor instead.
func (*ListBuildTriggersResponse) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{40}
}

func (x *ListBuildTriggersResponse) GetTriggers() []*BuildTrigger {
	if x != nil {
		return x.Triggers
	}
	return nil
}

func (x *ListBuildTriggersResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request to delete a `BuildTrigger`.
type DeleteBuildTriggerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the `Trigger` to delete.
	// Format: `projects/{project}/locations/{location}/triggers/{trigger}`
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// Required. ID of the project that owns the trigger.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. ID of the `BuildTrigger` to delete.
	TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
}

func (x *DeleteBuildTriggerRequest) Reset() {
	*x = DeleteBuildTriggerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteBuildTriggerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteBuildTriggerRequest) ProtoMessage() {}

func (x *DeleteBuildTriggerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[41]
	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 DeleteBuildTriggerRequest.ProtoReflect.Descriptor instead.
func (*DeleteBuildTriggerRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{41}
}

func (x *DeleteBuildTriggerRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DeleteBuildTriggerRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *DeleteBuildTriggerRequest) GetTriggerId() string {
	if x != nil {
		return x.TriggerId
	}
	return ""
}

// Request to update an existing `BuildTrigger`.
type UpdateBuildTriggerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. ID of the project that owns the trigger.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. ID of the `BuildTrigger` to update.
	TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
	// Required. `BuildTrigger` to update.
	Trigger *BuildTrigger `protobuf:"bytes,3,opt,name=trigger,proto3" json:"trigger,omitempty"`
}

func (x *UpdateBuildTriggerRequest) Reset() {
	*x = UpdateBuildTriggerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateBuildTriggerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateBuildTriggerRequest) ProtoMessage() {}

func (x *UpdateBuildTriggerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[42]
	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 UpdateBuildTriggerRequest.ProtoReflect.Descriptor instead.
func (*UpdateBuildTriggerRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{42}
}

func (x *UpdateBuildTriggerRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *UpdateBuildTriggerRequest) GetTriggerId() string {
	if x != nil {
		return x.TriggerId
	}
	return ""
}

func (x *UpdateBuildTriggerRequest) GetTrigger() *BuildTrigger {
	if x != nil {
		return x.Trigger
	}
	return nil
}

// Optional arguments to enable specific features of builds.
type BuildOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Requested hash for SourceProvenance.
	SourceProvenanceHash []Hash_HashType `protobuf:"varint,1,rep,packed,name=source_provenance_hash,json=sourceProvenanceHash,proto3,enum=google.devtools.cloudbuild.v1.Hash_HashType" json:"source_provenance_hash,omitempty"`
	// Requested verifiability options.
	RequestedVerifyOption BuildOptions_VerifyOption `protobuf:"varint,2,opt,name=requested_verify_option,json=requestedVerifyOption,proto3,enum=google.devtools.cloudbuild.v1.BuildOptions_VerifyOption" json:"requested_verify_option,omitempty"`
	// Compute Engine machine type on which to run the build.
	MachineType BuildOptions_MachineType `protobuf:"varint,3,opt,name=machine_type,json=machineType,proto3,enum=google.devtools.cloudbuild.v1.BuildOptions_MachineType" json:"machine_type,omitempty"`
	// Requested disk size for the VM that runs the build. Note that this is *NOT*
	// "disk free"; some of the space will be used by the operating system and
	// build utilities. Also note that this is the minimum disk size that will be
	// allocated for the build -- the build may run with a larger disk than
	// requested. At present, the maximum disk size is 1000GB; builds that request
	// more than the maximum are rejected with an error.
	DiskSizeGb int64 `protobuf:"varint,6,opt,name=disk_size_gb,json=diskSizeGb,proto3" json:"disk_size_gb,omitempty"`
	// Option to specify behavior when there is an error in the substitution
	// checks.
	//
	// NOTE: this is always set to ALLOW_LOOSE for triggered builds and cannot
	// be overridden in the build configuration file.
	SubstitutionOption BuildOptions_SubstitutionOption `protobuf:"varint,4,opt,name=substitution_option,json=substitutionOption,proto3,enum=google.devtools.cloudbuild.v1.BuildOptions_SubstitutionOption" json:"substitution_option,omitempty"`
	// Option to specify whether or not to apply bash style string
	// operations to the substitutions.
	//
	// NOTE: this is always enabled for triggered builds and cannot be
	// overridden in the build configuration file.
	DynamicSubstitutions bool `protobuf:"varint,17,opt,name=dynamic_substitutions,json=dynamicSubstitutions,proto3" json:"dynamic_substitutions,omitempty"`
	// Option to define build log streaming behavior to Google Cloud
	// Storage.
	LogStreamingOption BuildOptions_LogStreamingOption `protobuf:"varint,5,opt,name=log_streaming_option,json=logStreamingOption,proto3,enum=google.devtools.cloudbuild.v1.BuildOptions_LogStreamingOption" json:"log_streaming_option,omitempty"`
	// This field deprecated; please use `pool.name` instead.
	//
	// Deprecated: Do not use.
	WorkerPool string `protobuf:"bytes,7,opt,name=worker_pool,json=workerPool,proto3" json:"worker_pool,omitempty"`
	// Optional. Specification for execution on a `WorkerPool`.
	//
	// See [running builds in a private
	// pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool)
	// for more information.
	Pool *BuildOptions_PoolOption `protobuf:"bytes,19,opt,name=pool,proto3" json:"pool,omitempty"`
	// Option to specify the logging mode, which determines if and where build
	// logs are stored.
	Logging BuildOptions_LoggingMode `protobuf:"varint,11,opt,name=logging,proto3,enum=google.devtools.cloudbuild.v1.BuildOptions_LoggingMode" json:"logging,omitempty"`
	// A list of global environment variable definitions that will exist for all
	// build steps in this build. If a variable is defined in both globally and in
	// a build step, the variable will use the build step value.
	//
	// The elements are of the form "KEY=VALUE" for the environment variable "KEY"
	// being given the value "VALUE".
	Env []string `protobuf:"bytes,12,rep,name=env,proto3" json:"env,omitempty"`
	// A list of global environment variables, which are encrypted using a Cloud
	// Key Management Service crypto key. These values must be specified in the
	// build's `Secret`. These variables will be available to all build steps
	// in this build.
	SecretEnv []string `protobuf:"bytes,13,rep,name=secret_env,json=secretEnv,proto3" json:"secret_env,omitempty"`
	// Global list of volumes to mount for ALL build steps
	//
	// Each volume is created as an empty volume prior to starting the build
	// process. Upon completion of the build, volumes and their contents are
	// discarded. Global volume names and paths cannot conflict with the volumes
	// defined a build step.
	//
	// Using a global volume in a build with only one step is not valid as
	// it is indicative of a build request with an incorrect configuration.
	Volumes []*Volume `protobuf:"bytes,14,rep,name=volumes,proto3" json:"volumes,omitempty"`
}

func (x *BuildOptions) Reset() {
	*x = BuildOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BuildOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuildOptions) ProtoMessage() {}

func (x *BuildOptions) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[43]
	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 BuildOptions.ProtoReflect.Descriptor instead.
func (*BuildOptions) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{43}
}

func (x *BuildOptions) GetSourceProvenanceHash() []Hash_HashType {
	if x != nil {
		return x.SourceProvenanceHash
	}
	return nil
}

func (x *BuildOptions) GetRequestedVerifyOption() BuildOptions_VerifyOption {
	if x != nil {
		return x.RequestedVerifyOption
	}
	return BuildOptions_NOT_VERIFIED
}

func (x *BuildOptions) GetMachineType() BuildOptions_MachineType {
	if x != nil {
		return x.MachineType
	}
	return BuildOptions_UNSPECIFIED
}

func (x *BuildOptions) GetDiskSizeGb() int64 {
	if x != nil {
		return x.DiskSizeGb
	}
	return 0
}

func (x *BuildOptions) GetSubstitutionOption() BuildOptions_SubstitutionOption {
	if x != nil {
		return x.SubstitutionOption
	}
	return BuildOptions_MUST_MATCH
}

func (x *BuildOptions) GetDynamicSubstitutions() bool {
	if x != nil {
		return x.DynamicSubstitutions
	}
	return false
}

func (x *BuildOptions) GetLogStreamingOption() BuildOptions_LogStreamingOption {
	if x != nil {
		return x.LogStreamingOption
	}
	return BuildOptions_STREAM_DEFAULT
}

// Deprecated: Do not use.
func (x *BuildOptions) GetWorkerPool() string {
	if x != nil {
		return x.WorkerPool
	}
	return ""
}

func (x *BuildOptions) GetPool() *BuildOptions_PoolOption {
	if x != nil {
		return x.Pool
	}
	return nil
}

func (x *BuildOptions) GetLogging() BuildOptions_LoggingMode {
	if x != nil {
		return x.Logging
	}
	return BuildOptions_LOGGING_UNSPECIFIED
}

func (x *BuildOptions) GetEnv() []string {
	if x != nil {
		return x.Env
	}
	return nil
}

func (x *BuildOptions) GetSecretEnv() []string {
	if x != nil {
		return x.SecretEnv
	}
	return nil
}

func (x *BuildOptions) GetVolumes() []*Volume {
	if x != nil {
		return x.Volumes
	}
	return nil
}

// ReceiveTriggerWebhookRequest [Experimental] is the request object accepted by
// the ReceiveTriggerWebhook method.
type ReceiveTriggerWebhookRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the `ReceiveTriggerWebhook` to retrieve.
	// Format: `projects/{project}/locations/{location}/triggers/{trigger}`
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	// HTTP request body.
	Body *httpbody.HttpBody `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
	// Project in which the specified trigger lives
	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Name of the trigger to run the payload against
	Trigger string `protobuf:"bytes,3,opt,name=trigger,proto3" json:"trigger,omitempty"`
	// Secret token used for authorization if an OAuth token isn't provided.
	Secret string `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty"`
}

func (x *ReceiveTriggerWebhookRequest) Reset() {
	*x = ReceiveTriggerWebhookRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReceiveTriggerWebhookRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiveTriggerWebhookRequest) ProtoMessage() {}

func (x *ReceiveTriggerWebhookRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[44]
	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 ReceiveTriggerWebhookRequest.ProtoReflect.Descriptor instead.
func (*ReceiveTriggerWebhookRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{44}
}

func (x *ReceiveTriggerWebhookRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ReceiveTriggerWebhookRequest) GetBody() *httpbody.HttpBody {
	if x != nil {
		return x.Body
	}
	return nil
}

func (x *ReceiveTriggerWebhookRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *ReceiveTriggerWebhookRequest) GetTrigger() string {
	if x != nil {
		return x.Trigger
	}
	return ""
}

func (x *ReceiveTriggerWebhookRequest) GetSecret() string {
	if x != nil {
		return x.Secret
	}
	return ""
}

// ReceiveTriggerWebhookResponse [Experimental] is the response object for the
// ReceiveTriggerWebhook method.
type ReceiveTriggerWebhookResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ReceiveTriggerWebhookResponse) Reset() {
	*x = ReceiveTriggerWebhookResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReceiveTriggerWebhookResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiveTriggerWebhookResponse) ProtoMessage() {}

func (x *ReceiveTriggerWebhookResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[45]
	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 ReceiveTriggerWebhookResponse.ProtoReflect.Descriptor instead.
func (*ReceiveTriggerWebhookResponse) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{45}
}

// Configuration for a `WorkerPool`.
//
// Cloud Build owns and maintains a pool of workers for general use and have no
// access to a project's private network. By default, builds submitted to
// Cloud Build will use a worker from this pool.
//
// If your build needs access to resources on a private network,
// create and use a `WorkerPool` to run your builds. Private `WorkerPool`s give
// your builds access to any single VPC network that you
// administer, including any on-prem resources connected to that VPC
// network. For an overview of private pools, see
// [Private pools
// overview](https://cloud.google.com/build/docs/private-pools/private-pools-overview).
type WorkerPool struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Output only. The resource name of the `WorkerPool`, with format
	// `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
	// The value of `{worker_pool}` is provided by `worker_pool_id` in
	// `CreateWorkerPool` request and the value of `{location}` is determined by
	// the endpoint accessed.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A user-specified, human-readable name for the `WorkerPool`. If provided,
	// this value must be 1-63 characters.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Output only. A unique identifier for the `WorkerPool`.
	Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"`
	// User specified annotations. See https://google.aip.dev/128#annotations
	// for more details such as format and size limitations.
	Annotations map[string]string `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Output only. Time at which the request to create the `WorkerPool` was
	// received.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only. Time at which the request to update the `WorkerPool` was
	// received.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// Output only. Time at which the request to delete the `WorkerPool` was
	// received.
	DeleteTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
	// Output only. `WorkerPool` state.
	State WorkerPool_State `protobuf:"varint,8,opt,name=state,proto3,enum=google.devtools.cloudbuild.v1.WorkerPool_State" json:"state,omitempty"`
	// Private Pool configuration for the `WorkerPool`.
	//
	// Types that are assignable to Config:
	//	*WorkerPool_PrivatePoolV1Config
	Config isWorkerPool_Config `protobuf_oneof:"config"`
	// Output only. Checksum computed by the server. May be sent on update and
	// delete requests to ensure that the client has an up-to-date value before
	// proceeding.
	Etag string `protobuf:"bytes,11,opt,name=etag,proto3" json:"etag,omitempty"`
}

func (x *WorkerPool) Reset() {
	*x = WorkerPool{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WorkerPool) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkerPool) ProtoMessage() {}

func (x *WorkerPool) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[46]
	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 WorkerPool.ProtoReflect.Descriptor instead.
func (*WorkerPool) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{46}
}

func (x *WorkerPool) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *WorkerPool) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *WorkerPool) GetUid() string {
	if x != nil {
		return x.Uid
	}
	return ""
}

func (x *WorkerPool) GetAnnotations() map[string]string {
	if x != nil {
		return x.Annotations
	}
	return nil
}

func (x *WorkerPool) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *WorkerPool) GetUpdateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

func (x *WorkerPool) GetDeleteTime() *timestamppb.Timestamp {
	if x != nil {
		return x.DeleteTime
	}
	return nil
}

func (x *WorkerPool) GetState() WorkerPool_State {
	if x != nil {
		return x.State
	}
	return WorkerPool_STATE_UNSPECIFIED
}

func (m *WorkerPool) GetConfig() isWorkerPool_Config {
	if m != nil {
		return m.Config
	}
	return nil
}

func (x *WorkerPool) GetPrivatePoolV1Config() *PrivatePoolV1Config {
	if x, ok := x.GetConfig().(*WorkerPool_PrivatePoolV1Config); ok {
		return x.PrivatePoolV1Config
	}
	return nil
}

func (x *WorkerPool) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

type isWorkerPool_Config interface {
	isWorkerPool_Config()
}

type WorkerPool_PrivatePoolV1Config struct {
	// Private Pool using a v1 configuration.
	PrivatePoolV1Config *PrivatePoolV1Config `protobuf:"bytes,12,opt,name=private_pool_v1_config,json=privatePoolV1Config,proto3,oneof"`
}

func (*WorkerPool_PrivatePoolV1Config) isWorkerPool_Config() {}

// Configuration for a V1 `PrivatePool`.
type PrivatePoolV1Config struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Machine configuration for the workers in the pool.
	WorkerConfig *PrivatePoolV1Config_WorkerConfig `protobuf:"bytes,1,opt,name=worker_config,json=workerConfig,proto3" json:"worker_config,omitempty"`
	// Network configuration for the pool.
	NetworkConfig *PrivatePoolV1Config_NetworkConfig `protobuf:"bytes,2,opt,name=network_config,json=networkConfig,proto3" json:"network_config,omitempty"`
}

func (x *PrivatePoolV1Config) Reset() {
	*x = PrivatePoolV1Config{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PrivatePoolV1Config) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrivatePoolV1Config) ProtoMessage() {}

func (x *PrivatePoolV1Config) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[47]
	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 PrivatePoolV1Config.ProtoReflect.Descriptor instead.
func (*PrivatePoolV1Config) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{47}
}

func (x *PrivatePoolV1Config) GetWorkerConfig() *PrivatePoolV1Config_WorkerConfig {
	if x != nil {
		return x.WorkerConfig
	}
	return nil
}

func (x *PrivatePoolV1Config) GetNetworkConfig() *PrivatePoolV1Config_NetworkConfig {
	if x != nil {
		return x.NetworkConfig
	}
	return nil
}

// Request to create a new `WorkerPool`.
type CreateWorkerPoolRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The parent resource where this worker pool will be created.
	// Format: `projects/{project}/locations/{location}`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. `WorkerPool` resource to create.
	WorkerPool *WorkerPool `protobuf:"bytes,2,opt,name=worker_pool,json=workerPool,proto3" json:"worker_pool,omitempty"`
	// Required. Immutable. The ID to use for the `WorkerPool`, which will become
	// the final component of the resource name.
	//
	// This value should be 1-63 characters, and valid characters
	// are /[a-z][0-9]-/.
	WorkerPoolId string `protobuf:"bytes,3,opt,name=worker_pool_id,json=workerPoolId,proto3" json:"worker_pool_id,omitempty"`
	// If set, validate the request and preview the response, but do not actually
	// post it.
	ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
}

func (x *CreateWorkerPoolRequest) Reset() {
	*x = CreateWorkerPoolRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateWorkerPoolRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateWorkerPoolRequest) ProtoMessage() {}

func (x *CreateWorkerPoolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[48]
	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 CreateWorkerPoolRequest.ProtoReflect.Descriptor instead.
func (*CreateWorkerPoolRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{48}
}

func (x *CreateWorkerPoolRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *CreateWorkerPoolRequest) GetWorkerPool() *WorkerPool {
	if x != nil {
		return x.WorkerPool
	}
	return nil
}

func (x *CreateWorkerPoolRequest) GetWorkerPoolId() string {
	if x != nil {
		return x.WorkerPoolId
	}
	return ""
}

func (x *CreateWorkerPoolRequest) GetValidateOnly() bool {
	if x != nil {
		return x.ValidateOnly
	}
	return false
}

// Request to get a `WorkerPool` with the specified name.
type GetWorkerPoolRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the `WorkerPool` to retrieve.
	// Format: `projects/{project}/locations/{location}/workerPools/{workerPool}`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *GetWorkerPoolRequest) Reset() {
	*x = GetWorkerPoolRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetWorkerPoolRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetWorkerPoolRequest) ProtoMessage() {}

func (x *GetWorkerPoolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[49]
	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 GetWorkerPoolRequest.ProtoReflect.Descriptor instead.
func (*GetWorkerPoolRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{49}
}

func (x *GetWorkerPoolRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Request to delete a `WorkerPool`.
type DeleteWorkerPoolRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The name of the `WorkerPool` to delete.
	// Format:
	// `projects/{project}/locations/{workerPool}/workerPools/{workerPool}`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Optional. If this is provided, it must match the server's etag on the
	// workerpool for the request to be processed.
	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
	// If set to true, and the `WorkerPool` is not found, the request will succeed
	// but no action will be taken on the server.
	AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"`
	// If set, validate the request and preview the response, but do not actually
	// post it.
	ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
}

func (x *DeleteWorkerPoolRequest) Reset() {
	*x = DeleteWorkerPoolRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteWorkerPoolRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteWorkerPoolRequest) ProtoMessage() {}

func (x *DeleteWorkerPoolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[50]
	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 DeleteWorkerPoolRequest.ProtoReflect.Descriptor instead.
func (*DeleteWorkerPoolRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{50}
}

func (x *DeleteWorkerPoolRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DeleteWorkerPoolRequest) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

func (x *DeleteWorkerPoolRequest) GetAllowMissing() bool {
	if x != nil {
		return x.AllowMissing
	}
	return false
}

func (x *DeleteWorkerPoolRequest) GetValidateOnly() bool {
	if x != nil {
		return x.ValidateOnly
	}
	return false
}

// Request to update a `WorkerPool`.
type UpdateWorkerPoolRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The `WorkerPool` to update.
	//
	// The `name` field is used to identify the `WorkerPool` to update.
	// Format: `projects/{project}/locations/{location}/workerPools/{workerPool}`.
	WorkerPool *WorkerPool `protobuf:"bytes,1,opt,name=worker_pool,json=workerPool,proto3" json:"worker_pool,omitempty"`
	// A mask specifying which fields in `worker_pool` to update.
	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	// If set, validate the request and preview the response, but do not actually
	// post it.
	ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
}

func (x *UpdateWorkerPoolRequest) Reset() {
	*x = UpdateWorkerPoolRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateWorkerPoolRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateWorkerPoolRequest) ProtoMessage() {}

func (x *UpdateWorkerPoolRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[51]
	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 UpdateWorkerPoolRequest.ProtoReflect.Descriptor instead.
func (*UpdateWorkerPoolRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{51}
}

func (x *UpdateWorkerPoolRequest) GetWorkerPool() *WorkerPool {
	if x != nil {
		return x.WorkerPool
	}
	return nil
}

func (x *UpdateWorkerPoolRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.UpdateMask
	}
	return nil
}

func (x *UpdateWorkerPoolRequest) GetValidateOnly() bool {
	if x != nil {
		return x.ValidateOnly
	}
	return false
}

// Request to list `WorkerPool`s.
type ListWorkerPoolsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. The parent of the collection of `WorkerPools`.
	// Format: `projects/{project}/locations/{location}`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The maximum number of `WorkerPool`s to return. The service may return
	// fewer than this value. If omitted, the server will use a sensible default.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token, received from a previous `ListWorkerPools` call. Provide this
	// to retrieve the subsequent page.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}

func (x *ListWorkerPoolsRequest) Reset() {
	*x = ListWorkerPoolsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListWorkerPoolsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListWorkerPoolsRequest) ProtoMessage() {}

func (x *ListWorkerPoolsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[52]
	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 ListWorkerPoolsRequest.ProtoReflect.Descriptor instead.
func (*ListWorkerPoolsRequest) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{52}
}

func (x *ListWorkerPoolsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListWorkerPoolsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListWorkerPoolsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

// Response containing existing `WorkerPools`.
type ListWorkerPoolsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// `WorkerPools` for the specified project.
	WorkerPools []*WorkerPool `protobuf:"bytes,1,rep,name=worker_pools,json=workerPools,proto3" json:"worker_pools,omitempty"`
	// Continuation token used to page through large result sets. Provide this
	// value in a subsequent ListWorkerPoolsRequest to return the next page of
	// results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ListWorkerPoolsResponse) Reset() {
	*x = ListWorkerPoolsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListWorkerPoolsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListWorkerPoolsResponse) ProtoMessage() {}

func (x *ListWorkerPoolsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[53]
	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 ListWorkerPoolsResponse.ProtoReflect.Descriptor instead.
func (*ListWorkerPoolsResponse) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{53}
}

func (x *ListWorkerPoolsResponse) GetWorkerPools() []*WorkerPool {
	if x != nil {
		return x.WorkerPools
	}
	return nil
}

func (x *ListWorkerPoolsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Metadata for the `CreateWorkerPool` operation.
type CreateWorkerPoolOperationMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The resource name of the `WorkerPool` to create.
	// Format:
	// `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
	WorkerPool string `protobuf:"bytes,1,opt,name=worker_pool,json=workerPool,proto3" json:"worker_pool,omitempty"`
	// Time the operation was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Time the operation was completed.
	CompleteTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"`
}

func (x *CreateWorkerPoolOperationMetadata) Reset() {
	*x = CreateWorkerPoolOperationMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateWorkerPoolOperationMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateWorkerPoolOperationMetadata) ProtoMessage() {}

func (x *CreateWorkerPoolOperationMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[54]
	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 CreateWorkerPoolOperationMetadata.ProtoReflect.Descriptor instead.
func (*CreateWorkerPoolOperationMetadata) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{54}
}

func (x *CreateWorkerPoolOperationMetadata) GetWorkerPool() string {
	if x != nil {
		return x.WorkerPool
	}
	return ""
}

func (x *CreateWorkerPoolOperationMetadata) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *CreateWorkerPoolOperationMetadata) GetCompleteTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CompleteTime
	}
	return nil
}

// Metadata for the `UpdateWorkerPool` operation.
type UpdateWorkerPoolOperationMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The resource name of the `WorkerPool` being updated.
	// Format:
	// `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
	WorkerPool string `protobuf:"bytes,1,opt,name=worker_pool,json=workerPool,proto3" json:"worker_pool,omitempty"`
	// Time the operation was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Time the operation was completed.
	CompleteTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"`
}

func (x *UpdateWorkerPoolOperationMetadata) Reset() {
	*x = UpdateWorkerPoolOperationMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateWorkerPoolOperationMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateWorkerPoolOperationMetadata) ProtoMessage() {}

func (x *UpdateWorkerPoolOperationMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[55]
	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 UpdateWorkerPoolOperationMetadata.ProtoReflect.Descriptor instead.
func (*UpdateWorkerPoolOperationMetadata) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{55}
}

func (x *UpdateWorkerPoolOperationMetadata) GetWorkerPool() string {
	if x != nil {
		return x.WorkerPool
	}
	return ""
}

func (x *UpdateWorkerPoolOperationMetadata) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *UpdateWorkerPoolOperationMetadata) GetCompleteTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CompleteTime
	}
	return nil
}

// Metadata for the `DeleteWorkerPool` operation.
type DeleteWorkerPoolOperationMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The resource name of the `WorkerPool` being deleted.
	// Format:
	// `projects/{project}/locations/{location}/workerPools/{worker_pool}`.
	WorkerPool string `protobuf:"bytes,1,opt,name=worker_pool,json=workerPool,proto3" json:"worker_pool,omitempty"`
	// Time the operation was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Time the operation was completed.
	CompleteTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"`
}

func (x *DeleteWorkerPoolOperationMetadata) Reset() {
	*x = DeleteWorkerPoolOperationMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteWorkerPoolOperationMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteWorkerPoolOperationMetadata) ProtoMessage() {}

func (x *DeleteWorkerPoolOperationMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[56]
	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 DeleteWorkerPoolOperationMetadata.ProtoReflect.Descriptor instead.
func (*DeleteWorkerPoolOperationMetadata) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{56}
}

func (x *DeleteWorkerPoolOperationMetadata) GetWorkerPool() string {
	if x != nil {
		return x.WorkerPool
	}
	return ""
}

func (x *DeleteWorkerPoolOperationMetadata) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *DeleteWorkerPoolOperationMetadata) GetCompleteTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CompleteTime
	}
	return nil
}

// A non-fatal problem encountered during the execution of the build.
type Build_Warning struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Explanation of the warning generated.
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// The priority for this warning.
	Priority Build_Warning_Priority `protobuf:"varint,2,opt,name=priority,proto3,enum=google.devtools.cloudbuild.v1.Build_Warning_Priority" json:"priority,omitempty"`
}

func (x *Build_Warning) Reset() {
	*x = Build_Warning{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Build_Warning) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Build_Warning) ProtoMessage() {}

func (x *Build_Warning) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[58]
	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 Build_Warning.ProtoReflect.Descriptor instead.
func (*Build_Warning) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{11, 0}
}

func (x *Build_Warning) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *Build_Warning) GetPriority() Build_Warning_Priority {
	if x != nil {
		return x.Priority
	}
	return Build_Warning_PRIORITY_UNSPECIFIED
}

// A fatal problem encountered during the execution of the build.
type Build_FailureInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the failure.
	Type Build_FailureInfo_FailureType `protobuf:"varint,1,opt,name=type,proto3,enum=google.devtools.cloudbuild.v1.Build_FailureInfo_FailureType" json:"type,omitempty"`
	// Explains the failure issue in more detail using hard-coded text.
	Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"`
}

func (x *Build_FailureInfo) Reset() {
	*x = Build_FailureInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Build_FailureInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Build_FailureInfo) ProtoMessage() {}

func (x *Build_FailureInfo) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[59]
	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 Build_FailureInfo.ProtoReflect.Descriptor instead.
func (*Build_FailureInfo) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{11, 1}
}

func (x *Build_FailureInfo) GetType() Build_FailureInfo_FailureType {
	if x != nil {
		return x.Type
	}
	return Build_FailureInfo_FAILURE_TYPE_UNSPECIFIED
}

func (x *Build_FailureInfo) GetDetail() string {
	if x != nil {
		return x.Detail
	}
	return ""
}

// Files in the workspace to upload to Cloud Storage upon successful
// completion of all build steps.
type Artifacts_ArtifactObjects struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Cloud Storage bucket and optional object path, in the form
	// "gs://bucket/path/to/somewhere/". (see [Bucket Name
	// Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
	//
	// Files in the workspace matching any path pattern will be uploaded to
	// Cloud Storage with this location as a prefix.
	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
	// Path globs used to match files in the build's workspace.
	Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"`
	// Output only. Stores timing information for pushing all artifact objects.
	Timing *TimeSpan `protobuf:"bytes,3,opt,name=timing,proto3" json:"timing,omitempty"`
}

func (x *Artifacts_ArtifactObjects) Reset() {
	*x = Artifacts_ArtifactObjects{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Artifacts_ArtifactObjects) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Artifacts_ArtifactObjects) ProtoMessage() {}

func (x *Artifacts_ArtifactObjects) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[62]
	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 Artifacts_ArtifactObjects.ProtoReflect.Descriptor instead.
func (*Artifacts_ArtifactObjects) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{12, 0}
}

func (x *Artifacts_ArtifactObjects) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

func (x *Artifacts_ArtifactObjects) GetPaths() []string {
	if x != nil {
		return x.Paths
	}
	return nil
}

func (x *Artifacts_ArtifactObjects) GetTiming() *TimeSpan {
	if x != nil {
		return x.Timing
	}
	return nil
}

// Details about how a build should be executed on a `WorkerPool`.
//
// See [running builds in a private
// pool](https://cloud.google.com/build/docs/private-pools/run-builds-in-private-pool)
// for more information.
type BuildOptions_PoolOption struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The `WorkerPool` resource to execute the build on.
	// You must have `cloudbuild.workerpools.use` on the project hosting the
	// WorkerPool.
	//
	// Format projects/{project}/locations/{location}/workerPools/{workerPoolId}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *BuildOptions_PoolOption) Reset() {
	*x = BuildOptions_PoolOption{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BuildOptions_PoolOption) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuildOptions_PoolOption) ProtoMessage() {}

func (x *BuildOptions_PoolOption) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[67]
	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 BuildOptions_PoolOption.ProtoReflect.Descriptor instead.
func (*BuildOptions_PoolOption) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{43, 0}
}

func (x *BuildOptions_PoolOption) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Defines the configuration to be used for creating workers in
// the pool.
type PrivatePoolV1Config_WorkerConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Machine type of a worker, such as `e2-medium`.
	// See [Worker pool config
	// file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema).
	// If left blank, Cloud Build will use a sensible default.
	MachineType string `protobuf:"bytes,1,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"`
	// Size of the disk attached to the worker, in GB.
	// See [Worker pool config
	// file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema).
	// Specify a value of up to 1000. If `0` is specified, Cloud Build will use
	// a standard disk size.
	DiskSizeGb int64 `protobuf:"varint,2,opt,name=disk_size_gb,json=diskSizeGb,proto3" json:"disk_size_gb,omitempty"`
}

func (x *PrivatePoolV1Config_WorkerConfig) Reset() {
	*x = PrivatePoolV1Config_WorkerConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PrivatePoolV1Config_WorkerConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrivatePoolV1Config_WorkerConfig) ProtoMessage() {}

func (x *PrivatePoolV1Config_WorkerConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[69]
	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 PrivatePoolV1Config_WorkerConfig.ProtoReflect.Descriptor instead.
func (*PrivatePoolV1Config_WorkerConfig) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{47, 0}
}

func (x *PrivatePoolV1Config_WorkerConfig) GetMachineType() string {
	if x != nil {
		return x.MachineType
	}
	return ""
}

func (x *PrivatePoolV1Config_WorkerConfig) GetDiskSizeGb() int64 {
	if x != nil {
		return x.DiskSizeGb
	}
	return 0
}

// Defines the network configuration for the pool.
type PrivatePoolV1Config_NetworkConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Immutable. The network definition that the workers are peered
	// to. If this section is left empty, the workers will be peered to
	// `WorkerPool.project_id` on the service producer network. Must be in the
	// format `projects/{project}/global/networks/{network}`, where `{project}`
	// is a project number, such as `12345`, and `{network}` is the name of a
	// VPC network in the project. See
	// [Understanding network configuration
	// options](https://cloud.google.com/build/docs/private-pools/set-up-private-pool-environment)
	PeeredNetwork string `protobuf:"bytes,1,opt,name=peered_network,json=peeredNetwork,proto3" json:"peered_network,omitempty"`
	// Option to configure network egress for the workers.
	EgressOption PrivatePoolV1Config_NetworkConfig_EgressOption `protobuf:"varint,2,opt,name=egress_option,json=egressOption,proto3,enum=google.devtools.cloudbuild.v1.PrivatePoolV1Config_NetworkConfig_EgressOption" json:"egress_option,omitempty"`
}

func (x *PrivatePoolV1Config_NetworkConfig) Reset() {
	*x = PrivatePoolV1Config_NetworkConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PrivatePoolV1Config_NetworkConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrivatePoolV1Config_NetworkConfig) ProtoMessage() {}

func (x *PrivatePoolV1Config_NetworkConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[70]
	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 PrivatePoolV1Config_NetworkConfig.ProtoReflect.Descriptor instead.
func (*PrivatePoolV1Config_NetworkConfig) Descriptor() ([]byte, []int) {
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP(), []int{47, 1}
}

func (x *PrivatePoolV1Config_NetworkConfig) GetPeeredNetwork() string {
	if x != nil {
		return x.PeeredNetwork
	}
	return ""
}

func (x *PrivatePoolV1Config_NetworkConfig) GetEgressOption() PrivatePoolV1Config_NetworkConfig_EgressOption {
	if x != nil {
		return x.EgressOption
	}
	return PrivatePoolV1Config_NetworkConfig_EGRESS_OPTION_UNSPECIFIED
}

var File_google_devtools_cloudbuild_v1_cloudbuild_proto protoreflect.FileDescriptor

var file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDesc = []byte{
	0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x76, 0x31, 0x2f,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x1a,
	0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
	0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f,
	0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
	0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
	0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x22, 0xe4, 0x01, 0x0a, 0x16,
	0x52, 0x75, 0x6e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x74,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12,
	0x41, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e,
	0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x22, 0x5f, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f,
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a,
	0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x22, 0x90, 0x03, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21,
	0x0a, 0x0b, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x1b, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f,
	0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x61, 0x12,
	0x10, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69,
	0x72, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x65,
	0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52,
	0x65, 0x67, 0x65, 0x78, 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x74,
	0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x73,
	0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65,
	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
	0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12,
	0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
	0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
	0xa7, 0x02, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x74,
	0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
	0x6e, 0x0a, 0x17, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
	0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31,
	0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61,
	0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
	0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x42,
	0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x0a, 0x42, 0x75,
	0x69, 0x6c, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
	0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69,
	0x67, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d,
	0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70,
	0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x6d,
	0x69, 0x6e, 0x67, 0x22, 0xae, 0x04, 0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x65,
	0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x64,
	0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a,
	0x08, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x07, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x72,
	0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e,
	0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65,
	0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x3f, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d,
	0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52,
	0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69,
	0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61,
	0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x4d,
	0x0a, 0x0b, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
	0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64,
	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41,
	0x03, 0x52, 0x0a, 0x70, 0x75, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a,
	0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f,
	0x75, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42,
	0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x22, 0x30, 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 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, 0x22, 0xca, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69,
	0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73,
	0x74, 0x65, 0x70, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x65, 0x70, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61,
	0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x72,
	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x23,
	0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
	0x63, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x65,
	0x70, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, 0x52,
	0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
	0x73, 0x12, 0x50, 0x0a, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x69,
	0x6d, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53,
	0x70, 0x61, 0x6e, 0x52, 0x0e, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x69, 0x6d,
	0x69, 0x6e, 0x67, 0x22, 0x74, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x46, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
	0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c,
	0x64, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52,
	0x08, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x22, 0x8a, 0x15, 0x0a, 0x05, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
	0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x28, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70,
	0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x65,
	0x70, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12,
	0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
	0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
	0x65, 0x12, 0x40, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54,
	0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67,
	0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
	0x12, 0x36, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x28, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08,
	0x71, 0x75, 0x65, 0x75, 0x65, 0x54, 0x74, 0x6c, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69,
	0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69,
	0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
	0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18,
	0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65,
	0x74, 0x12, 0x61, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76,
	0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0,
	0x41, 0x03, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e,
	0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x03, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
	0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c,
	0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x6c, 0x6f,
	0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
	0x52, 0x06, 0x6c, 0x6f, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x5d, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73,
	0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e,
	0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69,
	0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18,
	0x1f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x73,
	0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63,
	0x72, 0x65, 0x74, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x06,
	0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03,
	0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x08, 0x61,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03,
	0x52, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x4f, 0x0a, 0x0f, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x2a, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x11, 0x61,
	0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73,
	0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x52, 0x10,
	0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73,
	0x12, 0x4d, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x31, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67,
	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12,
	0x58, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
	0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
	0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x46, 0x61, 0x69, 0x6c,
	0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x66, 0x61,
	0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xb8, 0x01, 0x0a, 0x07, 0x57, 0x61,
	0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x51, 0x0a, 0x08, 0x70, 0x72, 0x69,
	0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69,
	0x74, 0x79, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x46, 0x0a, 0x08,
	0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x49, 0x4f,
	0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07,
	0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x45,
	0x52, 0x54, 0x10, 0x03, 0x1a, 0xac, 0x02, 0x0a, 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xb2,
	0x01, 0x0a, 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c,
	0x0a, 0x18, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55,
	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b,
	0x50, 0x55, 0x53, 0x48, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a,
	0x14, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
	0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x55, 0x53, 0x48, 0x5f,
	0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x03,
	0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c,
	0x55, 0x52, 0x45, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x42, 0x55,
	0x49, 0x4c, 0x44, 0x5f, 0x53, 0x54, 0x45, 0x50, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x45,
	0x54, 0x43, 0x48, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45,
	0x44, 0x10, 0x06, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x62, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
	0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x01, 0x0a, 0x06, 0x53, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55,
	0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44,
	0x49, 0x4e, 0x47, 0x10, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10,
	0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x4f, 0x52, 0x4b, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b,
	0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x46,
	0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45,
	0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07,
	0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e,
	0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49,
	0x52, 0x45, 0x44, 0x10, 0x09, 0x3a, 0x7f, 0xea, 0x41, 0x7c, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x21, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x7d, 0x12, 0x36,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x7b,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x7d, 0x22, 0x83, 0x02, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x66,
	0x61, 0x63, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x07,
	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72,
	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
	0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73,
	0x1a, 0x89, 0x01, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4f, 0x62, 0x6a,
	0x65, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x44, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x42,
	0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0x7c, 0x0a, 0x08,
	0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54,
	0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x16, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
	0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64,
	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64,
	0x22, 0xa5, 0x04, 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x65,
	0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65,
	0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x52, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x53, 0x74,
	0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x14, 0x72,
	0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65,
	0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f,
	0x6c, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x1d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76,
	0x65, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d,
	0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x65, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f,
	0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x46, 0x69,
	0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0,
	0x41, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x1a, 0x68,
	0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65,
	0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x68,
	0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x08,
	0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x22, 0x89, 0x01, 0x0a, 0x04, 0x48, 0x61, 0x73,
	0x68, 0x12, 0x40, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e,
	0x48, 0x61, 0x73, 0x68, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74,
	0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x29, 0x0a, 0x08, 0x48, 0x61, 0x73,
	0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12,
	0x0a, 0x0a, 0x06, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4d,
	0x44, 0x35, 0x10, 0x02, 0x22, 0xa9, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73,
	0x12, 0x59, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67,
	0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x0d, 0x73, 0x65,
	0x63, 0x72, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x06, 0x69,
	0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x6c, 0x69,
	0x6e, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
	0x22, 0xe5, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65,
	0x74, 0x12, 0x48, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52,
	0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x65,
	0x6e, 0x76, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x6c,
	0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x76, 0x4d, 0x61, 0x70,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x4d, 0x61, 0x70, 0x1a, 0x39, 0x0a,
	0x0b, 0x45, 0x6e, 0x76, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7b, 0x0a, 0x13, 0x53, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12,
	0x52, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x73, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x65, 0x6e, 0x76, 0x22, 0xbd, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
	0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x76,
	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x53, 0x65,
	0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x65,
	0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x1a, 0x3c, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x72, 0x65,
	0x74, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb7, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06,
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41,
	0x21, 0x12, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x69,
	0x6c, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3f,
	0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x22,
	0x84, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
	0x6d, 0x2f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x42,
	0x75, 0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06,
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41,
	0x21, 0x12, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x69,
	0x6c, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b,
	0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69,
	0x6c, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x22, 0x7a, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x62, 0x75, 0x69, 0x6c,
	0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x06,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87,
	0x01, 0x0a, 0x12, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x22, 0xce, 0x02, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f,
	0x76, 0x61, 0x6c, 0x12, 0x4d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a,
	0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0,
	0x41, 0x03, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x56, 0x0a, 0x05, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53,
	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45,
	0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f,
	0x56, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45,
	0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44,
	0x10, 0x05, 0x22, 0x3d, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x10, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
	0x64, 0x22, 0xd7, 0x02, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72,
	0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x03, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x61, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x64, 0x65,
	0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x69,
	0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
	0x6e, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x40, 0x0a, 0x08, 0x44, 0x65, 0x63,
	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x45, 0x43, 0x49, 0x53, 0x49, 0x4f,
	0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
	0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a,
	0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0xcf, 0x09, 0x0a, 0x0c,
	0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d,
	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x22, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x74, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
	0x12, 0x54, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70,
	0x6c, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x65,
	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
	0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x45, 0x76, 0x65,
	0x6e, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75,
	0x62, 0x12, 0x50, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68,
	0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x68, 0x6f,
	0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f,
	0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a,
	0x61, 0x75, 0x74, 0x6f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x05, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x48,
	0x00, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1c, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69,
	0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x12, 0x64, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74,
	0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x75, 0x62,
	0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x67,
	0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12,
	0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65,
	0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
	0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41,
	0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0xa2, 0x01, 0xea, 0x41, 0x9e, 0x01, 0x0a, 0x26, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
	0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x73, 0x2f, 0x7b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x7d, 0x12, 0x3a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d,
	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b,
	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x7d, 0x2a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x73, 0x32, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x8c, 0x02,
	0x0a, 0x12, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18,
	0x01, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
	0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x70,
	0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76,
	0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x70, 0x75, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
	0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31,
	0x2e, 0x50, 0x75, 0x73, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x70,
	0x75, 0x73, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb0, 0x03, 0x0a,
	0x0c, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a,
	0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62,
	0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
	0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a,
	0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xfa, 0x41,
	0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05,
	0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x5a, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69,
	0x6c, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
	0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31,
	0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x73, 0x0a, 0x05, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53,
	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b,
	0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49,
	0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d,
	0x54, 0x4f, 0x50, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12,
	0x1e, 0x0a, 0x1a, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
	0x4d, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x10, 0x04, 0x22,
	0xf2, 0x01, 0x0a, 0x0d, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x73, 0x65, 0x63, 0x72, 0x65,
	0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12,
	0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57,
	0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3a, 0x0a, 0x05, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10,
	0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x45, 0x43, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45,
	0x54, 0x45, 0x44, 0x10, 0x02, 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65,
	0x74, 0x68, 0x6f, 0x64, 0x22, 0xb9, 0x02, 0x0a, 0x11, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x06, 0x62, 0x72,
	0x61, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, 0x72,
	0x61, 0x6e, 0x63, 0x68, 0x12, 0x68, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75,
	0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e,
	0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x0e,
	0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x21,
	0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x65,
	0x78, 0x22, 0x72, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74,
	0x72, 0x6f, 0x6c, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x5f,
	0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f,
	0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01,
	0x12, 0x33, 0x0a, 0x2f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x45, 0x4e, 0x41,
	0x42, 0x4c, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41,
	0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x4f, 0x52, 0x53, 0x5f, 0x4f,
	0x4e, 0x4c, 0x59, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x66,
	0x22, 0x68, 0x0a, 0x0a, 0x50, 0x75, 0x73, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x18,
	0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x21, 0x0a, 0x0c,
	0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x65, 0x78, 0x42,
	0x09, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x22, 0xd0, 0x01, 0x0a, 0x19, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
	0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x12, 0x4a, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0xa1, 0x01,
	0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67,
	0x67, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a,
	0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49,
	0x64, 0x22, 0xbf, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43,
	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b,
	0xfa, 0x41, 0x28, 0x12, 0x26, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42,
	0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
	0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
	0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x47, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
	0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64,
	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65,
	0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x69,
	0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b,
	0xfa, 0x41, 0x28, 0x0a, 0x26, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42,
	0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x22, 0xaf, 0x01, 0x0a, 0x19, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
	0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x74,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12,
	0x4a, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
	0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31,
	0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x9a, 0x0b, 0x0a, 0x0c,
	0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x16,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63,
	0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x61, 0x73,
	0x68, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x14, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x61, 0x73, 0x68,
	0x12, 0x70, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x65,
	0x72, 0x69, 0x66, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76,
	0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56,
	0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20,
	0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62,
	0x12, 0x6f, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74,
	0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x73,
	0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x33, 0x0a, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x75, 0x62,
	0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x14, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74,
	0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x70, 0x0a, 0x14, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
	0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c,
	0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69,
	0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18,
	0x01, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x4f, 0x0a,
	0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x12, 0x51,
	0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e,
	0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x6f, 0x67,
	0x67, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e,
	0x67, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03,
	0x65, 0x6e, 0x76, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x65, 0x6e,
	0x76, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45,
	0x6e, 0x76, 0x12, 0x3f, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x0e, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
	0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64,
	0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75,
	0x6d, 0x65, 0x73, 0x1a, 0x4b, 0x0a, 0x0a, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x29, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x22, 0x2e, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01,
	0x22, 0x68, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
	0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x31, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x43, 0x50, 0x55, 0x5f, 0x38,
	0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x31, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x43, 0x50, 0x55,
	0x5f, 0x33, 0x32, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x32, 0x5f, 0x48, 0x49, 0x47, 0x48,
	0x43, 0x50, 0x55, 0x5f, 0x38, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x32, 0x5f, 0x48, 0x49,
	0x47, 0x48, 0x43, 0x50, 0x55, 0x5f, 0x33, 0x32, 0x10, 0x06, 0x22, 0x35, 0x0a, 0x12, 0x53, 0x75,
	0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00,
	0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x4c, 0x4f, 0x4f, 0x53, 0x45, 0x10,
	0x01, 0x22, 0x47, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
	0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x52, 0x45, 0x41,
	0x4d, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53,
	0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54,
	0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x02, 0x22, 0x7c, 0x0a, 0x0b, 0x4c, 0x6f,
	0x67, 0x67, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x4f, 0x47,
	0x47, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x01, 0x12, 0x0c,
	0x0a, 0x08, 0x47, 0x43, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x10,
	0x53, 0x54, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4f, 0x4e, 0x4c, 0x59,
	0x10, 0x03, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f,
	0x4c, 0x4f, 0x47, 0x47, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x05, 0x12, 0x08,
	0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x04, 0x22, 0xad, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x63,
	0x65, 0x69, 0x76, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f,
	0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a,
	0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64,
	0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x1f, 0x0a, 0x1d, 0x52, 0x65, 0x63, 0x65,
	0x69, 0x76, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f,
	0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xff, 0x06, 0x0a, 0x0a, 0x57, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x5c, 0x0a, 0x0b, 0x61,
	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
	0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31,
	0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e,
	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
	0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41,
	0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a,
	0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
	0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
	0x4a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42,
	0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x69, 0x0a, 0x16, 0x70,
	0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x31, 0x5f, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76,
	0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
	0x00, 0x52, 0x13, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x1a,
	0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
	0x54, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54,
	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
	0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a,
	0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45,
	0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45,
	0x54, 0x45, 0x44, 0x10, 0x04, 0x3a, 0x89, 0x01, 0xea, 0x41, 0x85, 0x01, 0x0a, 0x24, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f,
	0x6f, 0x6c, 0x12, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f,
	0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f,
	0x6c, 0x73, 0x32, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x01,
	0x01, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xe9, 0x04, 0x0a, 0x13,
	0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61,
	0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x77, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x0e, 0x6e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76,
	0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x1a, 0x53, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69,
	0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73,
	0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x1a, 0xad, 0x02, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0e, 0x70, 0x65, 0x65,
	0x72, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x29, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f,
	0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0d, 0x70, 0x65,
	0x65, 0x72, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x72, 0x0a, 0x0d, 0x65,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x56, 0x31,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x0c, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
	0x56, 0x0a, 0x0c, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x1d, 0x0a, 0x19, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e,
	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14,
	0x0a, 0x10, 0x4e, 0x4f, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x45, 0x47, 0x52, 0x45,
	0x53, 0x53, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x45,
	0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x02, 0x22, 0x80, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06,
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x77, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2c, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50,
	0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x58, 0x0a, 0x14, 0x47, 0x65,
	0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb9, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c,
	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
	0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f,
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61,
	0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79,
	0x22, 0xcc, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0b,
	0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76,
	0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x3b, 0x0a,
	0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22,
	0x97, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f,
	0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61,
	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
	0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a,
	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61,
	0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x17, 0x4c, 0x69,
	0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f,
	0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f,
	0x6f, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65,
	0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xed, 0x01, 0x0a, 0x21,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c,
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x12, 0x4a, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f,
	0x6c, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x3b, 0x0a,
	0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f,
	0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63,
	0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x21,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c,
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x12, 0x4a, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f,
	0x6c, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x3b, 0x0a,
	0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f,
	0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63,
	0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x21,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c,
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x12, 0x4a, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f,
	0x6c, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x3b, 0x0a,
	0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x6f,
	0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63,
	0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x32, 0xb6, 0x23, 0x0a, 0x0a,
	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0xfb, 0x01, 0x0a, 0x0b, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69,
	0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x82,
	0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x22, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d,
	0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x3a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5a, 0x33,
	0x22, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x3a, 0x05, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
	0x2c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0xca, 0x41, 0x1f, 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c, 0x64,
	0x12, 0x16, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xcd, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74,
	0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
	0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
	0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x22, 0x6b, 0x82, 0xd3, 0xe4,
	0x93, 0x02, 0x55, 0x12, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x76,
	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x69, 0x64, 0x12, 0xdd, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73,
	0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x82, 0xd3,
	0xe4, 0x93, 0x02, 0x50, 0x12, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x5a, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70,
	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x73, 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xe7, 0x01, 0x0a, 0x0b, 0x43, 0x61, 0x6e,
	0x63, 0x65, 0x6c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42,
	0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d,
	0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0x5a, 0x36, 0x22, 0x31, 0x2f, 0x76,
	0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a,
	0x01, 0x2a, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c,
	0x69, 0x64, 0x12, 0xff, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76,
	0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e,
	0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x22, 0x9f, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x22, 0x2b, 0x2f, 0x76, 0x31,
	0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x7b, 0x69,
	0x64, 0x7d, 0x3a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x35, 0x22, 0x30, 0x2f,
	0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x3a,
	0x01, 0x2a, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c,
	0x69, 0x64, 0xca, 0x41, 0x1f, 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x16, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x12, 0x87, 0x02, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65,
	0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
	0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x42, 0x75, 0x69,
	0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02,
	0x64, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x2a,
	0x7d, 0x3a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x37, 0x22, 0x32,
	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
	0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x70, 0x70, 0x72, 0x6f,
	0x76, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x14, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0xca, 0x41, 0x1f, 0x0a,
	0x05, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x16, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xff,
	0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
	0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e,
	0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x81, 0x01, 0x82,
	0xd3, 0xe4, 0x93, 0x02, 0x66, 0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d,
	0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x3a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x5a, 0x37, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x73, 0x3a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0xda, 0x41, 0x12, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x12, 0xf6, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
	0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c,
	0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61,
	0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x67,
	0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x7d, 0x5a, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a,
	0x7d, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x74,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0xef, 0x01, 0x0a, 0x11, 0x4c, 0x69,
	0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12,
	0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
	0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e,
	0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x69,
	0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x5a, 0x2e,
	0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0xda, 0x41,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0xe7, 0x01, 0x0a, 0x12,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
	0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e,
	0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
	0x6d, 0x70, 0x74, 0x79, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x2a, 0x2f, 0x2f, 0x76,
	0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73,
	0x2f, 0x7b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x5a, 0x2e, 0x2a,
	0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
	0x2a, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x15,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x74, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0xa9, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67,
	0x67, 0x65, 0x72, 0x22, 0xab, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x84, 0x01, 0x32, 0x2f, 0x2f,
	0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x73, 0x2f, 0x7b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x07,
	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5a, 0x48, 0x32, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x74,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x12, 0xa5, 0x02, 0x0a, 0x0f, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64,
	0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69,
	0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72,
	0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
	0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x01, 0x82, 0xd3,
	0xe4, 0x93, 0x02, 0x74, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x3a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x5a, 0x35, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a,
	0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x2c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xca, 0x41, 0x1f, 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c,
	0x64, 0x12, 0x16, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x95, 0x02, 0x0a, 0x15, 0x52, 0x65,
	0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x65, 0x62, 0x68,
	0x6f, 0x6f, 0x6b, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
	0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64,
	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
	0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31,
	0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57,
	0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80,
	0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7a, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x7d, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x74, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x7d, 0x3a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x3a, 0x04, 0x62,
	0x6f, 0x64, 0x79, 0x5a, 0x3c, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73,
	0x2f, 0x2a, 0x7d, 0x3a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x3a, 0x04, 0x62, 0x6f, 0x64,
	0x79, 0x12, 0x86, 0x02, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e,
	0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01,
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x3a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f,
	0x70, 0x6f, 0x6f, 0x6c, 0xda, 0x41, 0x21, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x6f,
	0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x2f, 0x0a, 0x0a, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xaf, 0x01, 0x0a, 0x0d, 0x47,
	0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x33, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76,
	0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x3e, 0x82, 0xd3,
	0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f,
	0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe6, 0x01, 0x0a,
	0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f,
	0x6c, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76,
	0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f,
	0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31,
	0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a,
	0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x3a, 0x0a, 0x15, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
	0x74, 0x79, 0x12, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x88, 0x02, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67,
	0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x22, 0x9c, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x32, 0x3b, 0x2f, 0x76, 0x31, 0x2f,
	0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x6e, 0x61, 0x6d,
	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50,
	0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f,
	0x70, 0x6f, 0x6f, 0x6c, 0xda, 0x41, 0x17, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f,
	0x6f, 0x6c, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41,
	0x2f, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x21, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x12, 0xc2, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50,
	0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
	0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c,
	0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50,
	0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31,
	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
	0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0xda, 0x41, 0x06, 0x70,
	0x61, 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62,
	0x75, 0x69, 0x6c, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x42, 0x92, 0x06, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x76,
	0x31, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f,
	0x6f, 0x6c, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x76,
	0x31, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0xa2, 0x02, 0x03, 0x47,
	0x43, 0x42, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75,
	0x64, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x56, 0x31, 0xea,
	0x02, 0x18, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a,
	0x3a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0xea, 0x41, 0x4e, 0x0a, 0x1e, 0x63,
	0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0xea, 0x41, 0x59, 0x0a, 0x21,
	0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
	0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x12, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0xea, 0x41, 0x4a, 0x0a, 0x23, 0x73, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12,
	0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63,
	0x72, 0x65, 0x74, 0x7d, 0xea, 0x41, 0x64, 0x0a, 0x2a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x6d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x2f,
	0x7b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x70, 0x0a, 0x21,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
	0x79, 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
	0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69,
	0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72,
	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0xea, 0x41,
	0x55, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
	0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x40, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75,
	0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
	0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63,
	0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x33,
}

var (
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescOnce sync.Once
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescData = file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDesc
)

func file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescGZIP() []byte {
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescOnce.Do(func() {
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescData)
	})
	return file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDescData
}

var file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes = make([]protoimpl.EnumInfo, 16)
var file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes = make([]protoimpl.MessageInfo, 71)
var file_google_devtools_cloudbuild_v1_cloudbuild_proto_goTypes = []interface{}{
	(Build_Status)(0),                                   // 0: google.devtools.cloudbuild.v1.Build.Status
	(Build_Warning_Priority)(0),                         // 1: google.devtools.cloudbuild.v1.Build.Warning.Priority
	(Build_FailureInfo_FailureType)(0),                  // 2: google.devtools.cloudbuild.v1.Build.FailureInfo.FailureType
	(Hash_HashType)(0),                                  // 3: google.devtools.cloudbuild.v1.Hash.HashType
	(BuildApproval_State)(0),                            // 4: google.devtools.cloudbuild.v1.BuildApproval.State
	(ApprovalResult_Decision)(0),                        // 5: google.devtools.cloudbuild.v1.ApprovalResult.Decision
	(PubsubConfig_State)(0),                             // 6: google.devtools.cloudbuild.v1.PubsubConfig.State
	(WebhookConfig_State)(0),                            // 7: google.devtools.cloudbuild.v1.WebhookConfig.State
	(PullRequestFilter_CommentControl)(0),               // 8: google.devtools.cloudbuild.v1.PullRequestFilter.CommentControl
	(BuildOptions_VerifyOption)(0),                      // 9: google.devtools.cloudbuild.v1.BuildOptions.VerifyOption
	(BuildOptions_MachineType)(0),                       // 10: google.devtools.cloudbuild.v1.BuildOptions.MachineType
	(BuildOptions_SubstitutionOption)(0),                // 11: google.devtools.cloudbuild.v1.BuildOptions.SubstitutionOption
	(BuildOptions_LogStreamingOption)(0),                // 12: google.devtools.cloudbuild.v1.BuildOptions.LogStreamingOption
	(BuildOptions_LoggingMode)(0),                       // 13: google.devtools.cloudbuild.v1.BuildOptions.LoggingMode
	(WorkerPool_State)(0),                               // 14: google.devtools.cloudbuild.v1.WorkerPool.State
	(PrivatePoolV1Config_NetworkConfig_EgressOption)(0), // 15: google.devtools.cloudbuild.v1.PrivatePoolV1Config.NetworkConfig.EgressOption
	(*RetryBuildRequest)(nil),                           // 16: google.devtools.cloudbuild.v1.RetryBuildRequest
	(*RunBuildTriggerRequest)(nil),                      // 17: google.devtools.cloudbuild.v1.RunBuildTriggerRequest
	(*StorageSource)(nil),                               // 18: google.devtools.cloudbuild.v1.StorageSource
	(*RepoSource)(nil),                                  // 19: google.devtools.cloudbuild.v1.RepoSource
	(*StorageSourceManifest)(nil),                       // 20: google.devtools.cloudbuild.v1.StorageSourceManifest
	(*Source)(nil),                                      // 21: google.devtools.cloudbuild.v1.Source
	(*BuiltImage)(nil),                                  // 22: google.devtools.cloudbuild.v1.BuiltImage
	(*BuildStep)(nil),                                   // 23: google.devtools.cloudbuild.v1.BuildStep
	(*Volume)(nil),                                      // 24: google.devtools.cloudbuild.v1.Volume
	(*Results)(nil),                                     // 25: google.devtools.cloudbuild.v1.Results
	(*ArtifactResult)(nil),                              // 26: google.devtools.cloudbuild.v1.ArtifactResult
	(*Build)(nil),                                       // 27: google.devtools.cloudbuild.v1.Build
	(*Artifacts)(nil),                                   // 28: google.devtools.cloudbuild.v1.Artifacts
	(*TimeSpan)(nil),                                    // 29: google.devtools.cloudbuild.v1.TimeSpan
	(*BuildOperationMetadata)(nil),                      // 30: google.devtools.cloudbuild.v1.BuildOperationMetadata
	(*SourceProvenance)(nil),                            // 31: google.devtools.cloudbuild.v1.SourceProvenance
	(*FileHashes)(nil),                                  // 32: google.devtools.cloudbuild.v1.FileHashes
	(*Hash)(nil),                                        // 33: google.devtools.cloudbuild.v1.Hash
	(*Secrets)(nil),                                     // 34: google.devtools.cloudbuild.v1.Secrets
	(*InlineSecret)(nil),                                // 35: google.devtools.cloudbuild.v1.InlineSecret
	(*SecretManagerSecret)(nil),                         // 36: google.devtools.cloudbuild.v1.SecretManagerSecret
	(*Secret)(nil),                                      // 37: google.devtools.cloudbuild.v1.Secret
	(*CreateBuildRequest)(nil),                          // 38: google.devtools.cloudbuild.v1.CreateBuildRequest
	(*GetBuildRequest)(nil),                             // 39: google.devtools.cloudbuild.v1.GetBuildRequest
	(*ListBuildsRequest)(nil),                           // 40: google.devtools.cloudbuild.v1.ListBuildsRequest
	(*ListBuildsResponse)(nil),                          // 41: google.devtools.cloudbuild.v1.ListBuildsResponse
	(*CancelBuildRequest)(nil),                          // 42: google.devtools.cloudbuild.v1.CancelBuildRequest
	(*ApproveBuildRequest)(nil),                         // 43: google.devtools.cloudbuild.v1.ApproveBuildRequest
	(*BuildApproval)(nil),                               // 44: google.devtools.cloudbuild.v1.BuildApproval
	(*ApprovalConfig)(nil),                              // 45: google.devtools.cloudbuild.v1.ApprovalConfig
	(*ApprovalResult)(nil),                              // 46: google.devtools.cloudbuild.v1.ApprovalResult
	(*BuildTrigger)(nil),                                // 47: google.devtools.cloudbuild.v1.BuildTrigger
	(*GitHubEventsConfig)(nil),                          // 48: google.devtools.cloudbuild.v1.GitHubEventsConfig
	(*PubsubConfig)(nil),                                // 49: google.devtools.cloudbuild.v1.PubsubConfig
	(*WebhookConfig)(nil),                               // 50: google.devtools.cloudbuild.v1.WebhookConfig
	(*PullRequestFilter)(nil),                           // 51: google.devtools.cloudbuild.v1.PullRequestFilter
	(*PushFilter)(nil),                                  // 52: google.devtools.cloudbuild.v1.PushFilter
	(*CreateBuildTriggerRequest)(nil),                   // 53: google.devtools.cloudbuild.v1.CreateBuildTriggerRequest
	(*GetBuildTriggerRequest)(nil),                      // 54: google.devtools.cloudbuild.v1.GetBuildTriggerRequest
	(*ListBuildTriggersRequest)(nil),                    // 55: google.devtools.cloudbuild.v1.ListBuildTriggersRequest
	(*ListBuildTriggersResponse)(nil),                   // 56: google.devtools.cloudbuild.v1.ListBuildTriggersResponse
	(*DeleteBuildTriggerRequest)(nil),                   // 57: google.devtools.cloudbuild.v1.DeleteBuildTriggerRequest
	(*UpdateBuildTriggerRequest)(nil),                   // 58: google.devtools.cloudbuild.v1.UpdateBuildTriggerRequest
	(*BuildOptions)(nil),                                // 59: google.devtools.cloudbuild.v1.BuildOptions
	(*ReceiveTriggerWebhookRequest)(nil),                // 60: google.devtools.cloudbuild.v1.ReceiveTriggerWebhookRequest
	(*ReceiveTriggerWebhookResponse)(nil),               // 61: google.devtools.cloudbuild.v1.ReceiveTriggerWebhookResponse
	(*WorkerPool)(nil),                                  // 62: google.devtools.cloudbuild.v1.WorkerPool
	(*PrivatePoolV1Config)(nil),                         // 63: google.devtools.cloudbuild.v1.PrivatePoolV1Config
	(*CreateWorkerPoolRequest)(nil),                     // 64: google.devtools.cloudbuild.v1.CreateWorkerPoolRequest
	(*GetWorkerPoolRequest)(nil),                        // 65: google.devtools.cloudbuild.v1.GetWorkerPoolRequest
	(*DeleteWorkerPoolRequest)(nil),                     // 66: google.devtools.cloudbuild.v1.DeleteWorkerPoolRequest
	(*UpdateWorkerPoolRequest)(nil),                     // 67: google.devtools.cloudbuild.v1.UpdateWorkerPoolRequest
	(*ListWorkerPoolsRequest)(nil),                      // 68: google.devtools.cloudbuild.v1.ListWorkerPoolsRequest
	(*ListWorkerPoolsResponse)(nil),                     // 69: google.devtools.cloudbuild.v1.ListWorkerPoolsResponse
	(*CreateWorkerPoolOperationMetadata)(nil),           // 70: google.devtools.cloudbuild.v1.CreateWorkerPoolOperationMetadata
	(*UpdateWorkerPoolOperationMetadata)(nil),           // 71: google.devtools.cloudbuild.v1.UpdateWorkerPoolOperationMetadata
	(*DeleteWorkerPoolOperationMetadata)(nil),           // 72: google.devtools.cloudbuild.v1.DeleteWorkerPoolOperationMetadata
	nil,                                      // 73: google.devtools.cloudbuild.v1.RepoSource.SubstitutionsEntry
	(*Build_Warning)(nil),                    // 74: google.devtools.cloudbuild.v1.Build.Warning
	(*Build_FailureInfo)(nil),                // 75: google.devtools.cloudbuild.v1.Build.FailureInfo
	nil,                                      // 76: google.devtools.cloudbuild.v1.Build.SubstitutionsEntry
	nil,                                      // 77: google.devtools.cloudbuild.v1.Build.TimingEntry
	(*Artifacts_ArtifactObjects)(nil),        // 78: google.devtools.cloudbuild.v1.Artifacts.ArtifactObjects
	nil,                                      // 79: google.devtools.cloudbuild.v1.SourceProvenance.FileHashesEntry
	nil,                                      // 80: google.devtools.cloudbuild.v1.InlineSecret.EnvMapEntry
	nil,                                      // 81: google.devtools.cloudbuild.v1.Secret.SecretEnvEntry
	nil,                                      // 82: google.devtools.cloudbuild.v1.BuildTrigger.SubstitutionsEntry
	(*BuildOptions_PoolOption)(nil),          // 83: google.devtools.cloudbuild.v1.BuildOptions.PoolOption
	nil,                                      // 84: google.devtools.cloudbuild.v1.WorkerPool.AnnotationsEntry
	(*PrivatePoolV1Config_WorkerConfig)(nil), // 85: google.devtools.cloudbuild.v1.PrivatePoolV1Config.WorkerConfig
	(*PrivatePoolV1Config_NetworkConfig)(nil), // 86: google.devtools.cloudbuild.v1.PrivatePoolV1Config.NetworkConfig
	(*durationpb.Duration)(nil),               // 87: google.protobuf.Duration
	(*timestamppb.Timestamp)(nil),             // 88: google.protobuf.Timestamp
	(*httpbody.HttpBody)(nil),                 // 89: google.api.HttpBody
	(*fieldmaskpb.FieldMask)(nil),             // 90: google.protobuf.FieldMask
	(*longrunning.Operation)(nil),             // 91: google.longrunning.Operation
	(*emptypb.Empty)(nil),                     // 92: google.protobuf.Empty
}
var file_google_devtools_cloudbuild_v1_cloudbuild_proto_depIdxs = []int32{
	19,  // 0: google.devtools.cloudbuild.v1.RunBuildTriggerRequest.source:type_name -> google.devtools.cloudbuild.v1.RepoSource
	73,  // 1: google.devtools.cloudbuild.v1.RepoSource.substitutions:type_name -> google.devtools.cloudbuild.v1.RepoSource.SubstitutionsEntry
	18,  // 2: google.devtools.cloudbuild.v1.Source.storage_source:type_name -> google.devtools.cloudbuild.v1.StorageSource
	19,  // 3: google.devtools.cloudbuild.v1.Source.repo_source:type_name -> google.devtools.cloudbuild.v1.RepoSource
	20,  // 4: google.devtools.cloudbuild.v1.Source.storage_source_manifest:type_name -> google.devtools.cloudbuild.v1.StorageSourceManifest
	29,  // 5: google.devtools.cloudbuild.v1.BuiltImage.push_timing:type_name -> google.devtools.cloudbuild.v1.TimeSpan
	24,  // 6: google.devtools.cloudbuild.v1.BuildStep.volumes:type_name -> google.devtools.cloudbuild.v1.Volume
	29,  // 7: google.devtools.cloudbuild.v1.BuildStep.timing:type_name -> google.devtools.cloudbuild.v1.TimeSpan
	29,  // 8: google.devtools.cloudbuild.v1.BuildStep.pull_timing:type_name -> google.devtools.cloudbuild.v1.TimeSpan
	87,  // 9: google.devtools.cloudbuild.v1.BuildStep.timeout:type_name -> google.protobuf.Duration
	0,   // 10: google.devtools.cloudbuild.v1.BuildStep.status:type_name -> google.devtools.cloudbuild.v1.Build.Status
	22,  // 11: google.devtools.cloudbuild.v1.Results.images:type_name -> google.devtools.cloudbuild.v1.BuiltImage
	29,  // 12: google.devtools.cloudbuild.v1.Results.artifact_timing:type_name -> google.devtools.cloudbuild.v1.TimeSpan
	32,  // 13: google.devtools.cloudbuild.v1.ArtifactResult.file_hash:type_name -> google.devtools.cloudbuild.v1.FileHashes
	0,   // 14: google.devtools.cloudbuild.v1.Build.status:type_name -> google.devtools.cloudbuild.v1.Build.Status
	21,  // 15: google.devtools.cloudbuild.v1.Build.source:type_name -> google.devtools.cloudbuild.v1.Source
	23,  // 16: google.devtools.cloudbuild.v1.Build.steps:type_name -> google.devtools.cloudbuild.v1.BuildStep
	25,  // 17: google.devtools.cloudbuild.v1.Build.results:type_name -> google.devtools.cloudbuild.v1.Results
	88,  // 18: google.devtools.cloudbuild.v1.Build.create_time:type_name -> google.protobuf.Timestamp
	88,  // 19: google.devtools.cloudbuild.v1.Build.start_time:type_name -> google.protobuf.Timestamp
	88,  // 20: google.devtools.cloudbuild.v1.Build.finish_time:type_name -> google.protobuf.Timestamp
	87,  // 21: google.devtools.cloudbuild.v1.Build.timeout:type_name -> google.protobuf.Duration
	87,  // 22: google.devtools.cloudbuild.v1.Build.queue_ttl:type_name -> google.protobuf.Duration
	28,  // 23: google.devtools.cloudbuild.v1.Build.artifacts:type_name -> google.devtools.cloudbuild.v1.Artifacts
	31,  // 24: google.devtools.cloudbuild.v1.Build.source_provenance:type_name -> google.devtools.cloudbuild.v1.SourceProvenance
	59,  // 25: google.devtools.cloudbuild.v1.Build.options:type_name -> google.devtools.cloudbuild.v1.BuildOptions
	76,  // 26: google.devtools.cloudbuild.v1.Build.substitutions:type_name -> google.devtools.cloudbuild.v1.Build.SubstitutionsEntry
	37,  // 27: google.devtools.cloudbuild.v1.Build.secrets:type_name -> google.devtools.cloudbuild.v1.Secret
	77,  // 28: google.devtools.cloudbuild.v1.Build.timing:type_name -> google.devtools.cloudbuild.v1.Build.TimingEntry
	44,  // 29: google.devtools.cloudbuild.v1.Build.approval:type_name -> google.devtools.cloudbuild.v1.BuildApproval
	34,  // 30: google.devtools.cloudbuild.v1.Build.available_secrets:type_name -> google.devtools.cloudbuild.v1.Secrets
	74,  // 31: google.devtools.cloudbuild.v1.Build.warnings:type_name -> google.devtools.cloudbuild.v1.Build.Warning
	75,  // 32: google.devtools.cloudbuild.v1.Build.failure_info:type_name -> google.devtools.cloudbuild.v1.Build.FailureInfo
	78,  // 33: google.devtools.cloudbuild.v1.Artifacts.objects:type_name -> google.devtools.cloudbuild.v1.Artifacts.ArtifactObjects
	88,  // 34: google.devtools.cloudbuild.v1.TimeSpan.start_time:type_name -> google.protobuf.Timestamp
	88,  // 35: google.devtools.cloudbuild.v1.TimeSpan.end_time:type_name -> google.protobuf.Timestamp
	27,  // 36: google.devtools.cloudbuild.v1.BuildOperationMetadata.build:type_name -> google.devtools.cloudbuild.v1.Build
	18,  // 37: google.devtools.cloudbuild.v1.SourceProvenance.resolved_storage_source:type_name -> google.devtools.cloudbuild.v1.StorageSource
	19,  // 38: google.devtools.cloudbuild.v1.SourceProvenance.resolved_repo_source:type_name -> google.devtools.cloudbuild.v1.RepoSource
	20,  // 39: google.devtools.cloudbuild.v1.SourceProvenance.resolved_storage_source_manifest:type_name -> google.devtools.cloudbuild.v1.StorageSourceManifest
	79,  // 40: google.devtools.cloudbuild.v1.SourceProvenance.file_hashes:type_name -> google.devtools.cloudbuild.v1.SourceProvenance.FileHashesEntry
	33,  // 41: google.devtools.cloudbuild.v1.FileHashes.file_hash:type_name -> google.devtools.cloudbuild.v1.Hash
	3,   // 42: google.devtools.cloudbuild.v1.Hash.type:type_name -> google.devtools.cloudbuild.v1.Hash.HashType
	36,  // 43: google.devtools.cloudbuild.v1.Secrets.secret_manager:type_name -> google.devtools.cloudbuild.v1.SecretManagerSecret
	35,  // 44: google.devtools.cloudbuild.v1.Secrets.inline:type_name -> google.devtools.cloudbuild.v1.InlineSecret
	80,  // 45: google.devtools.cloudbuild.v1.InlineSecret.env_map:type_name -> google.devtools.cloudbuild.v1.InlineSecret.EnvMapEntry
	81,  // 46: google.devtools.cloudbuild.v1.Secret.secret_env:type_name -> google.devtools.cloudbuild.v1.Secret.SecretEnvEntry
	27,  // 47: google.devtools.cloudbuild.v1.CreateBuildRequest.build:type_name -> google.devtools.cloudbuild.v1.Build
	27,  // 48: google.devtools.cloudbuild.v1.ListBuildsResponse.builds:type_name -> google.devtools.cloudbuild.v1.Build
	46,  // 49: google.devtools.cloudbuild.v1.ApproveBuildRequest.approval_result:type_name -> google.devtools.cloudbuild.v1.ApprovalResult
	4,   // 50: google.devtools.cloudbuild.v1.BuildApproval.state:type_name -> google.devtools.cloudbuild.v1.BuildApproval.State
	45,  // 51: google.devtools.cloudbuild.v1.BuildApproval.config:type_name -> google.devtools.cloudbuild.v1.ApprovalConfig
	46,  // 52: google.devtools.cloudbuild.v1.BuildApproval.result:type_name -> google.devtools.cloudbuild.v1.ApprovalResult
	88,  // 53: google.devtools.cloudbuild.v1.ApprovalResult.approval_time:type_name -> google.protobuf.Timestamp
	5,   // 54: google.devtools.cloudbuild.v1.ApprovalResult.decision:type_name -> google.devtools.cloudbuild.v1.ApprovalResult.Decision
	19,  // 55: google.devtools.cloudbuild.v1.BuildTrigger.trigger_template:type_name -> google.devtools.cloudbuild.v1.RepoSource
	48,  // 56: google.devtools.cloudbuild.v1.BuildTrigger.github:type_name -> google.devtools.cloudbuild.v1.GitHubEventsConfig
	49,  // 57: google.devtools.cloudbuild.v1.BuildTrigger.pubsub_config:type_name -> google.devtools.cloudbuild.v1.PubsubConfig
	50,  // 58: google.devtools.cloudbuild.v1.BuildTrigger.webhook_config:type_name -> google.devtools.cloudbuild.v1.WebhookConfig
	27,  // 59: google.devtools.cloudbuild.v1.BuildTrigger.build:type_name -> google.devtools.cloudbuild.v1.Build
	88,  // 60: google.devtools.cloudbuild.v1.BuildTrigger.create_time:type_name -> google.protobuf.Timestamp
	82,  // 61: google.devtools.cloudbuild.v1.BuildTrigger.substitutions:type_name -> google.devtools.cloudbuild.v1.BuildTrigger.SubstitutionsEntry
	51,  // 62: google.devtools.cloudbuild.v1.GitHubEventsConfig.pull_request:type_name -> google.devtools.cloudbuild.v1.PullRequestFilter
	52,  // 63: google.devtools.cloudbuild.v1.GitHubEventsConfig.push:type_name -> google.devtools.cloudbuild.v1.PushFilter
	6,   // 64: google.devtools.cloudbuild.v1.PubsubConfig.state:type_name -> google.devtools.cloudbuild.v1.PubsubConfig.State
	7,   // 65: google.devtools.cloudbuild.v1.WebhookConfig.state:type_name -> google.devtools.cloudbuild.v1.WebhookConfig.State
	8,   // 66: google.devtools.cloudbuild.v1.PullRequestFilter.comment_control:type_name -> google.devtools.cloudbuild.v1.PullRequestFilter.CommentControl
	47,  // 67: google.devtools.cloudbuild.v1.CreateBuildTriggerRequest.trigger:type_name -> google.devtools.cloudbuild.v1.BuildTrigger
	47,  // 68: google.devtools.cloudbuild.v1.ListBuildTriggersResponse.triggers:type_name -> google.devtools.cloudbuild.v1.BuildTrigger
	47,  // 69: google.devtools.cloudbuild.v1.UpdateBuildTriggerRequest.trigger:type_name -> google.devtools.cloudbuild.v1.BuildTrigger
	3,   // 70: google.devtools.cloudbuild.v1.BuildOptions.source_provenance_hash:type_name -> google.devtools.cloudbuild.v1.Hash.HashType
	9,   // 71: google.devtools.cloudbuild.v1.BuildOptions.requested_verify_option:type_name -> google.devtools.cloudbuild.v1.BuildOptions.VerifyOption
	10,  // 72: google.devtools.cloudbuild.v1.BuildOptions.machine_type:type_name -> google.devtools.cloudbuild.v1.BuildOptions.MachineType
	11,  // 73: google.devtools.cloudbuild.v1.BuildOptions.substitution_option:type_name -> google.devtools.cloudbuild.v1.BuildOptions.SubstitutionOption
	12,  // 74: google.devtools.cloudbuild.v1.BuildOptions.log_streaming_option:type_name -> google.devtools.cloudbuild.v1.BuildOptions.LogStreamingOption
	83,  // 75: google.devtools.cloudbuild.v1.BuildOptions.pool:type_name -> google.devtools.cloudbuild.v1.BuildOptions.PoolOption
	13,  // 76: google.devtools.cloudbuild.v1.BuildOptions.logging:type_name -> google.devtools.cloudbuild.v1.BuildOptions.LoggingMode
	24,  // 77: google.devtools.cloudbuild.v1.BuildOptions.volumes:type_name -> google.devtools.cloudbuild.v1.Volume
	89,  // 78: google.devtools.cloudbuild.v1.ReceiveTriggerWebhookRequest.body:type_name -> google.api.HttpBody
	84,  // 79: google.devtools.cloudbuild.v1.WorkerPool.annotations:type_name -> google.devtools.cloudbuild.v1.WorkerPool.AnnotationsEntry
	88,  // 80: google.devtools.cloudbuild.v1.WorkerPool.create_time:type_name -> google.protobuf.Timestamp
	88,  // 81: google.devtools.cloudbuild.v1.WorkerPool.update_time:type_name -> google.protobuf.Timestamp
	88,  // 82: google.devtools.cloudbuild.v1.WorkerPool.delete_time:type_name -> google.protobuf.Timestamp
	14,  // 83: google.devtools.cloudbuild.v1.WorkerPool.state:type_name -> google.devtools.cloudbuild.v1.WorkerPool.State
	63,  // 84: google.devtools.cloudbuild.v1.WorkerPool.private_pool_v1_config:type_name -> google.devtools.cloudbuild.v1.PrivatePoolV1Config
	85,  // 85: google.devtools.cloudbuild.v1.PrivatePoolV1Config.worker_config:type_name -> google.devtools.cloudbuild.v1.PrivatePoolV1Config.WorkerConfig
	86,  // 86: google.devtools.cloudbuild.v1.PrivatePoolV1Config.network_config:type_name -> google.devtools.cloudbuild.v1.PrivatePoolV1Config.NetworkConfig
	62,  // 87: google.devtools.cloudbuild.v1.CreateWorkerPoolRequest.worker_pool:type_name -> google.devtools.cloudbuild.v1.WorkerPool
	62,  // 88: google.devtools.cloudbuild.v1.UpdateWorkerPoolRequest.worker_pool:type_name -> google.devtools.cloudbuild.v1.WorkerPool
	90,  // 89: google.devtools.cloudbuild.v1.UpdateWorkerPoolRequest.update_mask:type_name -> google.protobuf.FieldMask
	62,  // 90: google.devtools.cloudbuild.v1.ListWorkerPoolsResponse.worker_pools:type_name -> google.devtools.cloudbuild.v1.WorkerPool
	88,  // 91: google.devtools.cloudbuild.v1.CreateWorkerPoolOperationMetadata.create_time:type_name -> google.protobuf.Timestamp
	88,  // 92: google.devtools.cloudbuild.v1.CreateWorkerPoolOperationMetadata.complete_time:type_name -> google.protobuf.Timestamp
	88,  // 93: google.devtools.cloudbuild.v1.UpdateWorkerPoolOperationMetadata.create_time:type_name -> google.protobuf.Timestamp
	88,  // 94: google.devtools.cloudbuild.v1.UpdateWorkerPoolOperationMetadata.complete_time:type_name -> google.protobuf.Timestamp
	88,  // 95: google.devtools.cloudbuild.v1.DeleteWorkerPoolOperationMetadata.create_time:type_name -> google.protobuf.Timestamp
	88,  // 96: google.devtools.cloudbuild.v1.DeleteWorkerPoolOperationMetadata.complete_time:type_name -> google.protobuf.Timestamp
	1,   // 97: google.devtools.cloudbuild.v1.Build.Warning.priority:type_name -> google.devtools.cloudbuild.v1.Build.Warning.Priority
	2,   // 98: google.devtools.cloudbuild.v1.Build.FailureInfo.type:type_name -> google.devtools.cloudbuild.v1.Build.FailureInfo.FailureType
	29,  // 99: google.devtools.cloudbuild.v1.Build.TimingEntry.value:type_name -> google.devtools.cloudbuild.v1.TimeSpan
	29,  // 100: google.devtools.cloudbuild.v1.Artifacts.ArtifactObjects.timing:type_name -> google.devtools.cloudbuild.v1.TimeSpan
	32,  // 101: google.devtools.cloudbuild.v1.SourceProvenance.FileHashesEntry.value:type_name -> google.devtools.cloudbuild.v1.FileHashes
	15,  // 102: google.devtools.cloudbuild.v1.PrivatePoolV1Config.NetworkConfig.egress_option:type_name -> google.devtools.cloudbuild.v1.PrivatePoolV1Config.NetworkConfig.EgressOption
	38,  // 103: google.devtools.cloudbuild.v1.CloudBuild.CreateBuild:input_type -> google.devtools.cloudbuild.v1.CreateBuildRequest
	39,  // 104: google.devtools.cloudbuild.v1.CloudBuild.GetBuild:input_type -> google.devtools.cloudbuild.v1.GetBuildRequest
	40,  // 105: google.devtools.cloudbuild.v1.CloudBuild.ListBuilds:input_type -> google.devtools.cloudbuild.v1.ListBuildsRequest
	42,  // 106: google.devtools.cloudbuild.v1.CloudBuild.CancelBuild:input_type -> google.devtools.cloudbuild.v1.CancelBuildRequest
	16,  // 107: google.devtools.cloudbuild.v1.CloudBuild.RetryBuild:input_type -> google.devtools.cloudbuild.v1.RetryBuildRequest
	43,  // 108: google.devtools.cloudbuild.v1.CloudBuild.ApproveBuild:input_type -> google.devtools.cloudbuild.v1.ApproveBuildRequest
	53,  // 109: google.devtools.cloudbuild.v1.CloudBuild.CreateBuildTrigger:input_type -> google.devtools.cloudbuild.v1.CreateBuildTriggerRequest
	54,  // 110: google.devtools.cloudbuild.v1.CloudBuild.GetBuildTrigger:input_type -> google.devtools.cloudbuild.v1.GetBuildTriggerRequest
	55,  // 111: google.devtools.cloudbuild.v1.CloudBuild.ListBuildTriggers:input_type -> google.devtools.cloudbuild.v1.ListBuildTriggersRequest
	57,  // 112: google.devtools.cloudbuild.v1.CloudBuild.DeleteBuildTrigger:input_type -> google.devtools.cloudbuild.v1.DeleteBuildTriggerRequest
	58,  // 113: google.devtools.cloudbuild.v1.CloudBuild.UpdateBuildTrigger:input_type -> google.devtools.cloudbuild.v1.UpdateBuildTriggerRequest
	17,  // 114: google.devtools.cloudbuild.v1.CloudBuild.RunBuildTrigger:input_type -> google.devtools.cloudbuild.v1.RunBuildTriggerRequest
	60,  // 115: google.devtools.cloudbuild.v1.CloudBuild.ReceiveTriggerWebhook:input_type -> google.devtools.cloudbuild.v1.ReceiveTriggerWebhookRequest
	64,  // 116: google.devtools.cloudbuild.v1.CloudBuild.CreateWorkerPool:input_type -> google.devtools.cloudbuild.v1.CreateWorkerPoolRequest
	65,  // 117: google.devtools.cloudbuild.v1.CloudBuild.GetWorkerPool:input_type -> google.devtools.cloudbuild.v1.GetWorkerPoolRequest
	66,  // 118: google.devtools.cloudbuild.v1.CloudBuild.DeleteWorkerPool:input_type -> google.devtools.cloudbuild.v1.DeleteWorkerPoolRequest
	67,  // 119: google.devtools.cloudbuild.v1.CloudBuild.UpdateWorkerPool:input_type -> google.devtools.cloudbuild.v1.UpdateWorkerPoolRequest
	68,  // 120: google.devtools.cloudbuild.v1.CloudBuild.ListWorkerPools:input_type -> google.devtools.cloudbuild.v1.ListWorkerPoolsRequest
	91,  // 121: google.devtools.cloudbuild.v1.CloudBuild.CreateBuild:output_type -> google.longrunning.Operation
	27,  // 122: google.devtools.cloudbuild.v1.CloudBuild.GetBuild:output_type -> google.devtools.cloudbuild.v1.Build
	41,  // 123: google.devtools.cloudbuild.v1.CloudBuild.ListBuilds:output_type -> google.devtools.cloudbuild.v1.ListBuildsResponse
	27,  // 124: google.devtools.cloudbuild.v1.CloudBuild.CancelBuild:output_type -> google.devtools.cloudbuild.v1.Build
	91,  // 125: google.devtools.cloudbuild.v1.CloudBuild.RetryBuild:output_type -> google.longrunning.Operation
	91,  // 126: google.devtools.cloudbuild.v1.CloudBuild.ApproveBuild:output_type -> google.longrunning.Operation
	47,  // 127: google.devtools.cloudbuild.v1.CloudBuild.CreateBuildTrigger:output_type -> google.devtools.cloudbuild.v1.BuildTrigger
	47,  // 128: google.devtools.cloudbuild.v1.CloudBuild.GetBuildTrigger:output_type -> google.devtools.cloudbuild.v1.BuildTrigger
	56,  // 129: google.devtools.cloudbuild.v1.CloudBuild.ListBuildTriggers:output_type -> google.devtools.cloudbuild.v1.ListBuildTriggersResponse
	92,  // 130: google.devtools.cloudbuild.v1.CloudBuild.DeleteBuildTrigger:output_type -> google.protobuf.Empty
	47,  // 131: google.devtools.cloudbuild.v1.CloudBuild.UpdateBuildTrigger:output_type -> google.devtools.cloudbuild.v1.BuildTrigger
	91,  // 132: google.devtools.cloudbuild.v1.CloudBuild.RunBuildTrigger:output_type -> google.longrunning.Operation
	61,  // 133: google.devtools.cloudbuild.v1.CloudBuild.ReceiveTriggerWebhook:output_type -> google.devtools.cloudbuild.v1.ReceiveTriggerWebhookResponse
	91,  // 134: google.devtools.cloudbuild.v1.CloudBuild.CreateWorkerPool:output_type -> google.longrunning.Operation
	62,  // 135: google.devtools.cloudbuild.v1.CloudBuild.GetWorkerPool:output_type -> google.devtools.cloudbuild.v1.WorkerPool
	91,  // 136: google.devtools.cloudbuild.v1.CloudBuild.DeleteWorkerPool:output_type -> google.longrunning.Operation
	91,  // 137: google.devtools.cloudbuild.v1.CloudBuild.UpdateWorkerPool:output_type -> google.longrunning.Operation
	69,  // 138: google.devtools.cloudbuild.v1.CloudBuild.ListWorkerPools:output_type -> google.devtools.cloudbuild.v1.ListWorkerPoolsResponse
	121, // [121:139] is the sub-list for method output_type
	103, // [103:121] is the sub-list for method input_type
	103, // [103:103] is the sub-list for extension type_name
	103, // [103:103] is the sub-list for extension extendee
	0,   // [0:103] is the sub-list for field type_name
}

func init() { file_google_devtools_cloudbuild_v1_cloudbuild_proto_init() }
func file_google_devtools_cloudbuild_v1_cloudbuild_proto_init() {
	if File_google_devtools_cloudbuild_v1_cloudbuild_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RetryBuildRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RunBuildTriggerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StorageSource); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RepoSource); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StorageSourceManifest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Source); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BuiltImage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BuildStep); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Volume); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Results); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ArtifactResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Build); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Artifacts); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TimeSpan); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BuildOperationMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SourceProvenance); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FileHashes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Hash); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Secrets); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InlineSecret); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SecretManagerSecret); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Secret); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateBuildRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetBuildRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListBuildsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListBuildsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CancelBuildRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApproveBuildRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BuildApproval); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApprovalConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApprovalResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BuildTrigger); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GitHubEventsConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PubsubConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WebhookConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PullRequestFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PushFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateBuildTriggerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetBuildTriggerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListBuildTriggersRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListBuildTriggersResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteBuildTriggerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateBuildTriggerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BuildOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReceiveTriggerWebhookRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReceiveTriggerWebhookResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WorkerPool); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PrivatePoolV1Config); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateWorkerPoolRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetWorkerPoolRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteWorkerPoolRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateWorkerPoolRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListWorkerPoolsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListWorkerPoolsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateWorkerPoolOperationMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateWorkerPoolOperationMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteWorkerPoolOperationMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Build_Warning); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Build_FailureInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Artifacts_ArtifactObjects); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BuildOptions_PoolOption); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PrivatePoolV1Config_WorkerConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PrivatePoolV1Config_NetworkConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*RepoSource_BranchName)(nil),
		(*RepoSource_TagName)(nil),
		(*RepoSource_CommitSha)(nil),
	}
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[5].OneofWrappers = []interface{}{
		(*Source_StorageSource)(nil),
		(*Source_RepoSource)(nil),
		(*Source_StorageSourceManifest)(nil),
	}
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[31].OneofWrappers = []interface{}{
		(*BuildTrigger_Autodetect)(nil),
		(*BuildTrigger_Build)(nil),
		(*BuildTrigger_Filename)(nil),
	}
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[32].OneofWrappers = []interface{}{
		(*GitHubEventsConfig_PullRequest)(nil),
		(*GitHubEventsConfig_Push)(nil),
	}
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[34].OneofWrappers = []interface{}{
		(*WebhookConfig_Secret)(nil),
	}
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[35].OneofWrappers = []interface{}{
		(*PullRequestFilter_Branch)(nil),
	}
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[36].OneofWrappers = []interface{}{
		(*PushFilter_Branch)(nil),
		(*PushFilter_Tag)(nil),
	}
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes[46].OneofWrappers = []interface{}{
		(*WorkerPool_PrivatePoolV1Config)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDesc,
			NumEnums:      16,
			NumMessages:   71,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_devtools_cloudbuild_v1_cloudbuild_proto_goTypes,
		DependencyIndexes: file_google_devtools_cloudbuild_v1_cloudbuild_proto_depIdxs,
		EnumInfos:         file_google_devtools_cloudbuild_v1_cloudbuild_proto_enumTypes,
		MessageInfos:      file_google_devtools_cloudbuild_v1_cloudbuild_proto_msgTypes,
	}.Build()
	File_google_devtools_cloudbuild_v1_cloudbuild_proto = out.File
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_rawDesc = nil
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_goTypes = nil
	file_google_devtools_cloudbuild_v1_cloudbuild_proto_depIdxs = nil
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// CloudBuildClient is the client API for CloudBuild service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type CloudBuildClient interface {
	// Starts a build with the specified configuration.
	//
	// This method returns a long-running `Operation`, which includes the build
	// ID. Pass the build ID to `GetBuild` to determine the build status (such as
	// `SUCCESS` or `FAILURE`).
	CreateBuild(ctx context.Context, in *CreateBuildRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Returns information about a previously requested build.
	//
	// The `Build` that is returned includes its status (such as `SUCCESS`,
	// `FAILURE`, or `WORKING`), and timing information.
	GetBuild(ctx context.Context, in *GetBuildRequest, opts ...grpc.CallOption) (*Build, error)
	// Lists previously requested builds.
	//
	// Previously requested builds may still be in-progress, or may have finished
	// successfully or unsuccessfully.
	ListBuilds(ctx context.Context, in *ListBuildsRequest, opts ...grpc.CallOption) (*ListBuildsResponse, error)
	// Cancels a build in progress.
	CancelBuild(ctx context.Context, in *CancelBuildRequest, opts ...grpc.CallOption) (*Build, error)
	// Creates a new build based on the specified build.
	//
	// This method creates a new build using the original build request, which may
	// or may not result in an identical build.
	//
	// For triggered builds:
	//
	// * Triggered builds resolve to a precise revision; therefore a retry of a
	// triggered build will result in a build that uses the same revision.
	//
	// For non-triggered builds that specify `RepoSource`:
	//
	// * If the original build built from the tip of a branch, the retried build
	// will build from the tip of that branch, which may not be the same revision
	// as the original build.
	// * If the original build specified a commit sha or revision ID, the retried
	// build will use the identical source.
	//
	// For builds that specify `StorageSource`:
	//
	// * If the original build pulled source from Google Cloud Storage without
	// specifying the generation of the object, the new build will use the current
	// object, which may be different from the original build source.
	// * If the original build pulled source from Cloud Storage and specified the
	// generation of the object, the new build will attempt to use the same
	// object, which may or may not be available depending on the bucket's
	// lifecycle management settings.
	RetryBuild(ctx context.Context, in *RetryBuildRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Approves or rejects a pending build.
	//
	// If approved, the returned LRO will be analogous to the LRO returned from
	// a CreateBuild call.
	//
	// If rejected, the returned LRO will be immediately done.
	ApproveBuild(ctx context.Context, in *ApproveBuildRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Creates a new `BuildTrigger`.
	//
	// This API is experimental.
	CreateBuildTrigger(ctx context.Context, in *CreateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error)
	// Returns information about a `BuildTrigger`.
	//
	// This API is experimental.
	GetBuildTrigger(ctx context.Context, in *GetBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error)
	// Lists existing `BuildTrigger`s.
	//
	// This API is experimental.
	ListBuildTriggers(ctx context.Context, in *ListBuildTriggersRequest, opts ...grpc.CallOption) (*ListBuildTriggersResponse, error)
	// Deletes a `BuildTrigger` by its project ID and trigger ID.
	//
	// This API is experimental.
	DeleteBuildTrigger(ctx context.Context, in *DeleteBuildTriggerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Updates a `BuildTrigger` by its project ID and trigger ID.
	//
	// This API is experimental.
	UpdateBuildTrigger(ctx context.Context, in *UpdateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error)
	// Runs a `BuildTrigger` at a particular source revision.
	RunBuildTrigger(ctx context.Context, in *RunBuildTriggerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// ReceiveTriggerWebhook [Experimental] is called when the API receives a
	// webhook request targeted at a specific trigger.
	ReceiveTriggerWebhook(ctx context.Context, in *ReceiveTriggerWebhookRequest, opts ...grpc.CallOption) (*ReceiveTriggerWebhookResponse, error)
	// Creates a `WorkerPool`.
	CreateWorkerPool(ctx context.Context, in *CreateWorkerPoolRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Returns details of a `WorkerPool`.
	GetWorkerPool(ctx context.Context, in *GetWorkerPoolRequest, opts ...grpc.CallOption) (*WorkerPool, error)
	// Deletes a `WorkerPool`.
	DeleteWorkerPool(ctx context.Context, in *DeleteWorkerPoolRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Updates a `WorkerPool`.
	UpdateWorkerPool(ctx context.Context, in *UpdateWorkerPoolRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
	// Lists `WorkerPool`s.
	ListWorkerPools(ctx context.Context, in *ListWorkerPoolsRequest, opts ...grpc.CallOption) (*ListWorkerPoolsResponse, error)
}

type cloudBuildClient struct {
	cc grpc.ClientConnInterface
}

func NewCloudBuildClient(cc grpc.ClientConnInterface) CloudBuildClient {
	return &cloudBuildClient{cc}
}

func (c *cloudBuildClient) CreateBuild(ctx context.Context, in *CreateBuildRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
	out := new(longrunning.Operation)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuild", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) GetBuild(ctx context.Context, in *GetBuildRequest, opts ...grpc.CallOption) (*Build, error) {
	out := new(Build)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/GetBuild", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) ListBuilds(ctx context.Context, in *ListBuildsRequest, opts ...grpc.CallOption) (*ListBuildsResponse, error) {
	out := new(ListBuildsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/ListBuilds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) CancelBuild(ctx context.Context, in *CancelBuildRequest, opts ...grpc.CallOption) (*Build, error) {
	out := new(Build)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/CancelBuild", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) RetryBuild(ctx context.Context, in *RetryBuildRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
	out := new(longrunning.Operation)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/RetryBuild", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) ApproveBuild(ctx context.Context, in *ApproveBuildRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
	out := new(longrunning.Operation)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/ApproveBuild", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) CreateBuildTrigger(ctx context.Context, in *CreateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error) {
	out := new(BuildTrigger)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuildTrigger", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) GetBuildTrigger(ctx context.Context, in *GetBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error) {
	out := new(BuildTrigger)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/GetBuildTrigger", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) ListBuildTriggers(ctx context.Context, in *ListBuildTriggersRequest, opts ...grpc.CallOption) (*ListBuildTriggersResponse, error) {
	out := new(ListBuildTriggersResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/ListBuildTriggers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) DeleteBuildTrigger(ctx context.Context, in *DeleteBuildTriggerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/DeleteBuildTrigger", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) UpdateBuildTrigger(ctx context.Context, in *UpdateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error) {
	out := new(BuildTrigger)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/UpdateBuildTrigger", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) RunBuildTrigger(ctx context.Context, in *RunBuildTriggerRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
	out := new(longrunning.Operation)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/RunBuildTrigger", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) ReceiveTriggerWebhook(ctx context.Context, in *ReceiveTriggerWebhookRequest, opts ...grpc.CallOption) (*ReceiveTriggerWebhookResponse, error) {
	out := new(ReceiveTriggerWebhookResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/ReceiveTriggerWebhook", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) CreateWorkerPool(ctx context.Context, in *CreateWorkerPoolRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
	out := new(longrunning.Operation)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/CreateWorkerPool", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) GetWorkerPool(ctx context.Context, in *GetWorkerPoolRequest, opts ...grpc.CallOption) (*WorkerPool, error) {
	out := new(WorkerPool)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/GetWorkerPool", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) DeleteWorkerPool(ctx context.Context, in *DeleteWorkerPoolRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
	out := new(longrunning.Operation)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/DeleteWorkerPool", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) UpdateWorkerPool(ctx context.Context, in *UpdateWorkerPoolRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
	out := new(longrunning.Operation)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/UpdateWorkerPool", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *cloudBuildClient) ListWorkerPools(ctx context.Context, in *ListWorkerPoolsRequest, opts ...grpc.CallOption) (*ListWorkerPoolsResponse, error) {
	out := new(ListWorkerPoolsResponse)
	err := c.cc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/ListWorkerPools", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// CloudBuildServer is the server API for CloudBuild service.
type CloudBuildServer interface {
	// Starts a build with the specified configuration.
	//
	// This method returns a long-running `Operation`, which includes the build
	// ID. Pass the build ID to `GetBuild` to determine the build status (such as
	// `SUCCESS` or `FAILURE`).
	CreateBuild(context.Context, *CreateBuildRequest) (*longrunning.Operation, error)
	// Returns information about a previously requested build.
	//
	// The `Build` that is returned includes its status (such as `SUCCESS`,
	// `FAILURE`, or `WORKING`), and timing information.
	GetBuild(context.Context, *GetBuildRequest) (*Build, error)
	// Lists previously requested builds.
	//
	// Previously requested builds may still be in-progress, or may have finished
	// successfully or unsuccessfully.
	ListBuilds(context.Context, *ListBuildsRequest) (*ListBuildsResponse, error)
	// Cancels a build in progress.
	CancelBuild(context.Context, *CancelBuildRequest) (*Build, error)
	// Creates a new build based on the specified build.
	//
	// This method creates a new build using the original build request, which may
	// or may not result in an identical build.
	//
	// For triggered builds:
	//
	// * Triggered builds resolve to a precise revision; therefore a retry of a
	// triggered build will result in a build that uses the same revision.
	//
	// For non-triggered builds that specify `RepoSource`:
	//
	// * If the original build built from the tip of a branch, the retried build
	// will build from the tip of that branch, which may not be the same revision
	// as the original build.
	// * If the original build specified a commit sha or revision ID, the retried
	// build will use the identical source.
	//
	// For builds that specify `StorageSource`:
	//
	// * If the original build pulled source from Google Cloud Storage without
	// specifying the generation of the object, the new build will use the current
	// object, which may be different from the original build source.
	// * If the original build pulled source from Cloud Storage and specified the
	// generation of the object, the new build will attempt to use the same
	// object, which may or may not be available depending on the bucket's
	// lifecycle management settings.
	RetryBuild(context.Context, *RetryBuildRequest) (*longrunning.Operation, error)
	// Approves or rejects a pending build.
	//
	// If approved, the returned LRO will be analogous to the LRO returned from
	// a CreateBuild call.
	//
	// If rejected, the returned LRO will be immediately done.
	ApproveBuild(context.Context, *ApproveBuildRequest) (*longrunning.Operation, error)
	// Creates a new `BuildTrigger`.
	//
	// This API is experimental.
	CreateBuildTrigger(context.Context, *CreateBuildTriggerRequest) (*BuildTrigger, error)
	// Returns information about a `BuildTrigger`.
	//
	// This API is experimental.
	GetBuildTrigger(context.Context, *GetBuildTriggerRequest) (*BuildTrigger, error)
	// Lists existing `BuildTrigger`s.
	//
	// This API is experimental.
	ListBuildTriggers(context.Context, *ListBuildTriggersRequest) (*ListBuildTriggersResponse, error)
	// Deletes a `BuildTrigger` by its project ID and trigger ID.
	//
	// This API is experimental.
	DeleteBuildTrigger(context.Context, *DeleteBuildTriggerRequest) (*emptypb.Empty, error)
	// Updates a `BuildTrigger` by its project ID and trigger ID.
	//
	// This API is experimental.
	UpdateBuildTrigger(context.Context, *UpdateBuildTriggerRequest) (*BuildTrigger, error)
	// Runs a `BuildTrigger` at a particular source revision.
	RunBuildTrigger(context.Context, *RunBuildTriggerRequest) (*longrunning.Operation, error)
	// ReceiveTriggerWebhook [Experimental] is called when the API receives a
	// webhook request targeted at a specific trigger.
	ReceiveTriggerWebhook(context.Context, *ReceiveTriggerWebhookRequest) (*ReceiveTriggerWebhookResponse, error)
	// Creates a `WorkerPool`.
	CreateWorkerPool(context.Context, *CreateWorkerPoolRequest) (*longrunning.Operation, error)
	// Returns details of a `WorkerPool`.
	GetWorkerPool(context.Context, *GetWorkerPoolRequest) (*WorkerPool, error)
	// Deletes a `WorkerPool`.
	DeleteWorkerPool(context.Context, *DeleteWorkerPoolRequest) (*longrunning.Operation, error)
	// Updates a `WorkerPool`.
	UpdateWorkerPool(context.Context, *UpdateWorkerPoolRequest) (*longrunning.Operation, error)
	// Lists `WorkerPool`s.
	ListWorkerPools(context.Context, *ListWorkerPoolsRequest) (*ListWorkerPoolsResponse, error)
}

// UnimplementedCloudBuildServer can be embedded to have forward compatible implementations.
type UnimplementedCloudBuildServer struct {
}

func (*UnimplementedCloudBuildServer) CreateBuild(context.Context, *CreateBuildRequest) (*longrunning.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateBuild not implemented")
}
func (*UnimplementedCloudBuildServer) GetBuild(context.Context, *GetBuildRequest) (*Build, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBuild not implemented")
}
func (*UnimplementedCloudBuildServer) ListBuilds(context.Context, *ListBuildsRequest) (*ListBuildsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListBuilds not implemented")
}
func (*UnimplementedCloudBuildServer) CancelBuild(context.Context, *CancelBuildRequest) (*Build, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CancelBuild not implemented")
}
func (*UnimplementedCloudBuildServer) RetryBuild(context.Context, *RetryBuildRequest) (*longrunning.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RetryBuild not implemented")
}
func (*UnimplementedCloudBuildServer) ApproveBuild(context.Context, *ApproveBuildRequest) (*longrunning.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ApproveBuild not implemented")
}
func (*UnimplementedCloudBuildServer) CreateBuildTrigger(context.Context, *CreateBuildTriggerRequest) (*BuildTrigger, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateBuildTrigger not implemented")
}
func (*UnimplementedCloudBuildServer) GetBuildTrigger(context.Context, *GetBuildTriggerRequest) (*BuildTrigger, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBuildTrigger not implemented")
}
func (*UnimplementedCloudBuildServer) ListBuildTriggers(context.Context, *ListBuildTriggersRequest) (*ListBuildTriggersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListBuildTriggers not implemented")
}
func (*UnimplementedCloudBuildServer) DeleteBuildTrigger(context.Context, *DeleteBuildTriggerRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteBuildTrigger not implemented")
}
func (*UnimplementedCloudBuildServer) UpdateBuildTrigger(context.Context, *UpdateBuildTriggerRequest) (*BuildTrigger, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateBuildTrigger not implemented")
}
func (*UnimplementedCloudBuildServer) RunBuildTrigger(context.Context, *RunBuildTriggerRequest) (*longrunning.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RunBuildTrigger not implemented")
}
func (*UnimplementedCloudBuildServer) ReceiveTriggerWebhook(context.Context, *ReceiveTriggerWebhookRequest) (*ReceiveTriggerWebhookResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReceiveTriggerWebhook not implemented")
}
func (*UnimplementedCloudBuildServer) CreateWorkerPool(context.Context, *CreateWorkerPoolRequest) (*longrunning.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateWorkerPool not implemented")
}
func (*UnimplementedCloudBuildServer) GetWorkerPool(context.Context, *GetWorkerPoolRequest) (*WorkerPool, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetWorkerPool not implemented")
}
func (*UnimplementedCloudBuildServer) DeleteWorkerPool(context.Context, *DeleteWorkerPoolRequest) (*longrunning.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteWorkerPool not implemented")
}
func (*UnimplementedCloudBuildServer) UpdateWorkerPool(context.Context, *UpdateWorkerPoolRequest) (*longrunning.Operation, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateWorkerPool not implemented")
}
func (*UnimplementedCloudBuildServer) ListWorkerPools(context.Context, *ListWorkerPoolsRequest) (*ListWorkerPoolsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListWorkerPools not implemented")
}

func RegisterCloudBuildServer(s *grpc.Server, srv CloudBuildServer) {
	s.RegisterService(&_CloudBuild_serviceDesc, srv)
}

func _CloudBuild_CreateBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateBuildRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).CreateBuild(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuild",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).CreateBuild(ctx, req.(*CreateBuildRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_GetBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetBuildRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).GetBuild(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/GetBuild",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).GetBuild(ctx, req.(*GetBuildRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_ListBuilds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListBuildsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).ListBuilds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/ListBuilds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).ListBuilds(ctx, req.(*ListBuildsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_CancelBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CancelBuildRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).CancelBuild(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/CancelBuild",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).CancelBuild(ctx, req.(*CancelBuildRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_RetryBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RetryBuildRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).RetryBuild(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/RetryBuild",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).RetryBuild(ctx, req.(*RetryBuildRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_ApproveBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ApproveBuildRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).ApproveBuild(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/ApproveBuild",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).ApproveBuild(ctx, req.(*ApproveBuildRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_CreateBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateBuildTriggerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).CreateBuildTrigger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuildTrigger",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).CreateBuildTrigger(ctx, req.(*CreateBuildTriggerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_GetBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetBuildTriggerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).GetBuildTrigger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/GetBuildTrigger",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).GetBuildTrigger(ctx, req.(*GetBuildTriggerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_ListBuildTriggers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListBuildTriggersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).ListBuildTriggers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/ListBuildTriggers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).ListBuildTriggers(ctx, req.(*ListBuildTriggersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_DeleteBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteBuildTriggerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).DeleteBuildTrigger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/DeleteBuildTrigger",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).DeleteBuildTrigger(ctx, req.(*DeleteBuildTriggerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_UpdateBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateBuildTriggerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).UpdateBuildTrigger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/UpdateBuildTrigger",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).UpdateBuildTrigger(ctx, req.(*UpdateBuildTriggerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_RunBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RunBuildTriggerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).RunBuildTrigger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/RunBuildTrigger",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).RunBuildTrigger(ctx, req.(*RunBuildTriggerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_ReceiveTriggerWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReceiveTriggerWebhookRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).ReceiveTriggerWebhook(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/ReceiveTriggerWebhook",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).ReceiveTriggerWebhook(ctx, req.(*ReceiveTriggerWebhookRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_CreateWorkerPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateWorkerPoolRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).CreateWorkerPool(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/CreateWorkerPool",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).CreateWorkerPool(ctx, req.(*CreateWorkerPoolRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_GetWorkerPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetWorkerPoolRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).GetWorkerPool(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/GetWorkerPool",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).GetWorkerPool(ctx, req.(*GetWorkerPoolRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_DeleteWorkerPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteWorkerPoolRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).DeleteWorkerPool(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/DeleteWorkerPool",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).DeleteWorkerPool(ctx, req.(*DeleteWorkerPoolRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_UpdateWorkerPool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateWorkerPoolRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).UpdateWorkerPool(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/UpdateWorkerPool",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).UpdateWorkerPool(ctx, req.(*UpdateWorkerPoolRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CloudBuild_ListWorkerPools_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListWorkerPoolsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CloudBuildServer).ListWorkerPools(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/ListWorkerPools",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CloudBuildServer).ListWorkerPools(ctx, req.(*ListWorkerPoolsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _CloudBuild_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.devtools.cloudbuild.v1.CloudBuild",
	HandlerType: (*CloudBuildServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateBuild",
			Handler:    _CloudBuild_CreateBuild_Handler,
		},
		{
			MethodName: "GetBuild",
			Handler:    _CloudBuild_GetBuild_Handler,
		},
		{
			MethodName: "ListBuilds",
			Handler:    _CloudBuild_ListBuilds_Handler,
		},
		{
			MethodName: "CancelBuild",
			Handler:    _CloudBuild_CancelBuild_Handler,
		},
		{
			MethodName: "RetryBuild",
			Handler:    _CloudBuild_RetryBuild_Handler,
		},
		{
			MethodName: "ApproveBuild",
			Handler:    _CloudBuild_ApproveBuild_Handler,
		},
		{
			MethodName: "CreateBuildTrigger",
			Handler:    _CloudBuild_CreateBuildTrigger_Handler,
		},
		{
			MethodName: "GetBuildTrigger",
			Handler:    _CloudBuild_GetBuildTrigger_Handler,
		},
		{
			MethodName: "ListBuildTriggers",
			Handler:    _CloudBuild_ListBuildTriggers_Handler,
		},
		{
			MethodName: "DeleteBuildTrigger",
			Handler:    _CloudBuild_DeleteBuildTrigger_Handler,
		},
		{
			MethodName: "UpdateBuildTrigger",
			Handler:    _CloudBuild_UpdateBuildTrigger_Handler,
		},
		{
			MethodName: "RunBuildTrigger",
			Handler:    _CloudBuild_RunBuildTrigger_Handler,
		},
		{
			MethodName: "ReceiveTriggerWebhook",
			Handler:    _CloudBuild_ReceiveTriggerWebhook_Handler,
		},
		{
			MethodName: "CreateWorkerPool",
			Handler:    _CloudBuild_CreateWorkerPool_Handler,
		},
		{
			MethodName: "GetWorkerPool",
			Handler:    _CloudBuild_GetWorkerPool_Handler,
		},
		{
			MethodName: "DeleteWorkerPool",
			Handler:    _CloudBuild_DeleteWorkerPool_Handler,
		},
		{
			MethodName: "UpdateWorkerPool",
			Handler:    _CloudBuild_UpdateWorkerPool_Handler,
		},
		{
			MethodName: "ListWorkerPools",
			Handler:    _CloudBuild_ListWorkerPools_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/devtools/cloudbuild/v1/cloudbuild.proto",
}
