// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v5.29.3
// source: v1/workflows.proto

package v1

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
)

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)
)

type StickyStrategy int32

const (
	StickyStrategy_SOFT StickyStrategy = 0
	StickyStrategy_HARD StickyStrategy = 1
)

// Enum value maps for StickyStrategy.
var (
	StickyStrategy_name = map[int32]string{
		0: "SOFT",
		1: "HARD",
	}
	StickyStrategy_value = map[string]int32{
		"SOFT": 0,
		"HARD": 1,
	}
)

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

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

func (StickyStrategy) Descriptor() protoreflect.EnumDescriptor {
	return file_v1_workflows_proto_enumTypes[0].Descriptor()
}

func (StickyStrategy) Type() protoreflect.EnumType {
	return &file_v1_workflows_proto_enumTypes[0]
}

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

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

type RateLimitDuration int32

const (
	RateLimitDuration_SECOND RateLimitDuration = 0
	RateLimitDuration_MINUTE RateLimitDuration = 1
	RateLimitDuration_HOUR   RateLimitDuration = 2
	RateLimitDuration_DAY    RateLimitDuration = 3
	RateLimitDuration_WEEK   RateLimitDuration = 4
	RateLimitDuration_MONTH  RateLimitDuration = 5
	RateLimitDuration_YEAR   RateLimitDuration = 6
)

// Enum value maps for RateLimitDuration.
var (
	RateLimitDuration_name = map[int32]string{
		0: "SECOND",
		1: "MINUTE",
		2: "HOUR",
		3: "DAY",
		4: "WEEK",
		5: "MONTH",
		6: "YEAR",
	}
	RateLimitDuration_value = map[string]int32{
		"SECOND": 0,
		"MINUTE": 1,
		"HOUR":   2,
		"DAY":    3,
		"WEEK":   4,
		"MONTH":  5,
		"YEAR":   6,
	}
)

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

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

func (RateLimitDuration) Descriptor() protoreflect.EnumDescriptor {
	return file_v1_workflows_proto_enumTypes[1].Descriptor()
}

func (RateLimitDuration) Type() protoreflect.EnumType {
	return &file_v1_workflows_proto_enumTypes[1]
}

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

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

type RunStatus int32

const (
	RunStatus_QUEUED    RunStatus = 0
	RunStatus_RUNNING   RunStatus = 1
	RunStatus_COMPLETED RunStatus = 2
	RunStatus_FAILED    RunStatus = 3
	RunStatus_CANCELLED RunStatus = 4
	RunStatus_EVICTED   RunStatus = 5
)

// Enum value maps for RunStatus.
var (
	RunStatus_name = map[int32]string{
		0: "QUEUED",
		1: "RUNNING",
		2: "COMPLETED",
		3: "FAILED",
		4: "CANCELLED",
		5: "EVICTED",
	}
	RunStatus_value = map[string]int32{
		"QUEUED":    0,
		"RUNNING":   1,
		"COMPLETED": 2,
		"FAILED":    3,
		"CANCELLED": 4,
		"EVICTED":   5,
	}
)

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

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

func (RunStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_v1_workflows_proto_enumTypes[2].Descriptor()
}

func (RunStatus) Type() protoreflect.EnumType {
	return &file_v1_workflows_proto_enumTypes[2]
}

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

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

type ConcurrencyLimitStrategy int32

const (
	ConcurrencyLimitStrategy_CANCEL_IN_PROGRESS ConcurrencyLimitStrategy = 0
	ConcurrencyLimitStrategy_DROP_NEWEST        ConcurrencyLimitStrategy = 1 // deprecated
	ConcurrencyLimitStrategy_QUEUE_NEWEST       ConcurrencyLimitStrategy = 2 // deprecated
	ConcurrencyLimitStrategy_GROUP_ROUND_ROBIN  ConcurrencyLimitStrategy = 3
	ConcurrencyLimitStrategy_CANCEL_NEWEST      ConcurrencyLimitStrategy = 4
)

// Enum value maps for ConcurrencyLimitStrategy.
var (
	ConcurrencyLimitStrategy_name = map[int32]string{
		0: "CANCEL_IN_PROGRESS",
		1: "DROP_NEWEST",
		2: "QUEUE_NEWEST",
		3: "GROUP_ROUND_ROBIN",
		4: "CANCEL_NEWEST",
	}
	ConcurrencyLimitStrategy_value = map[string]int32{
		"CANCEL_IN_PROGRESS": 0,
		"DROP_NEWEST":        1,
		"QUEUE_NEWEST":       2,
		"GROUP_ROUND_ROBIN":  3,
		"CANCEL_NEWEST":      4,
	}
)

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

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

func (ConcurrencyLimitStrategy) Descriptor() protoreflect.EnumDescriptor {
	return file_v1_workflows_proto_enumTypes[3].Descriptor()
}

func (ConcurrencyLimitStrategy) Type() protoreflect.EnumType {
	return &file_v1_workflows_proto_enumTypes[3]
}

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

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

type CancelTasksRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ExternalIds []string     `protobuf:"bytes,1,rep,name=external_ids,json=externalIds,proto3" json:"external_ids,omitempty"` // a list of external UUIDs
	Filter      *TasksFilter `protobuf:"bytes,2,opt,name=filter,proto3,oneof" json:"filter,omitempty"`
}

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

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

func (*CancelTasksRequest) ProtoMessage() {}

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

func (x *CancelTasksRequest) GetExternalIds() []string {
	if x != nil {
		return x.ExternalIds
	}
	return nil
}

func (x *CancelTasksRequest) GetFilter() *TasksFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

type ReplayTasksRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ExternalIds []string     `protobuf:"bytes,1,rep,name=external_ids,json=externalIds,proto3" json:"external_ids,omitempty"` // a list of external UUIDs
	Filter      *TasksFilter `protobuf:"bytes,2,opt,name=filter,proto3,oneof" json:"filter,omitempty"`
}

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

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

func (*ReplayTasksRequest) ProtoMessage() {}

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

func (x *ReplayTasksRequest) GetExternalIds() []string {
	if x != nil {
		return x.ExternalIds
	}
	return nil
}

func (x *ReplayTasksRequest) GetFilter() *TasksFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

type TasksFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Statuses           []string               `protobuf:"bytes,1,rep,name=statuses,proto3" json:"statuses,omitempty"`
	Since              *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=since,proto3" json:"since,omitempty"`
	Until              *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=until,proto3,oneof" json:"until,omitempty"`
	WorkflowIds        []string               `protobuf:"bytes,4,rep,name=workflow_ids,json=workflowIds,proto3" json:"workflow_ids,omitempty"`
	AdditionalMetadata []string               `protobuf:"bytes,5,rep,name=additional_metadata,json=additionalMetadata,proto3" json:"additional_metadata,omitempty"`
}

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

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

func (*TasksFilter) ProtoMessage() {}

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

func (x *TasksFilter) GetStatuses() []string {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *TasksFilter) GetSince() *timestamppb.Timestamp {
	if x != nil {
		return x.Since
	}
	return nil
}

func (x *TasksFilter) GetUntil() *timestamppb.Timestamp {
	if x != nil {
		return x.Until
	}
	return nil
}

func (x *TasksFilter) GetWorkflowIds() []string {
	if x != nil {
		return x.WorkflowIds
	}
	return nil
}

func (x *TasksFilter) GetAdditionalMetadata() []string {
	if x != nil {
		return x.AdditionalMetadata
	}
	return nil
}

type CancelTasksResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	CancelledTasks []string `protobuf:"bytes,1,rep,name=cancelled_tasks,json=cancelledTasks,proto3" json:"cancelled_tasks,omitempty"`
}

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

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

func (*CancelTasksResponse) ProtoMessage() {}

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

func (x *CancelTasksResponse) GetCancelledTasks() []string {
	if x != nil {
		return x.CancelledTasks
	}
	return nil
}

type ReplayTasksResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ReplayedTasks []string `protobuf:"bytes,1,rep,name=replayed_tasks,json=replayedTasks,proto3" json:"replayed_tasks,omitempty"`
}

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

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

func (*ReplayTasksResponse) ProtoMessage() {}

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

func (x *ReplayTasksResponse) GetReplayedTasks() []string {
	if x != nil {
		return x.ReplayedTasks
	}
	return nil
}

type TriggerWorkflowRunRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	WorkflowName        string                          `protobuf:"bytes,1,opt,name=workflow_name,json=workflowName,proto3" json:"workflow_name,omitempty"`
	Input               []byte                          `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"`
	AdditionalMetadata  []byte                          `protobuf:"bytes,3,opt,name=additional_metadata,json=additionalMetadata,proto3" json:"additional_metadata,omitempty"`
	Priority            *int32                          `protobuf:"varint,4,opt,name=priority,proto3,oneof" json:"priority,omitempty"`
	DesiredWorkerLabels map[string]*DesiredWorkerLabels `protobuf:"bytes,5,rep,name=desired_worker_labels,json=desiredWorkerLabels,proto3" json:"desired_worker_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

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

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

func (*TriggerWorkflowRunRequest) ProtoMessage() {}

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

func (x *TriggerWorkflowRunRequest) GetWorkflowName() string {
	if x != nil {
		return x.WorkflowName
	}
	return ""
}

func (x *TriggerWorkflowRunRequest) GetInput() []byte {
	if x != nil {
		return x.Input
	}
	return nil
}

func (x *TriggerWorkflowRunRequest) GetAdditionalMetadata() []byte {
	if x != nil {
		return x.AdditionalMetadata
	}
	return nil
}

func (x *TriggerWorkflowRunRequest) GetPriority() int32 {
	if x != nil && x.Priority != nil {
		return *x.Priority
	}
	return 0
}

func (x *TriggerWorkflowRunRequest) GetDesiredWorkerLabels() map[string]*DesiredWorkerLabels {
	if x != nil {
		return x.DesiredWorkerLabels
	}
	return nil
}

type TriggerWorkflowRunResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
}

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

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

func (*TriggerWorkflowRunResponse) ProtoMessage() {}

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

func (x *TriggerWorkflowRunResponse) GetExternalId() string {
	if x != nil {
		return x.ExternalId
	}
	return ""
}

type BranchDurableTaskRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TaskExternalId string `protobuf:"bytes,1,opt,name=task_external_id,json=taskExternalId,proto3" json:"task_external_id,omitempty"` // (required) the external id (uuid) of the durable task
	NodeId         int64  `protobuf:"varint,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`                          // (required) the node id to branch from
	BranchId       int64  `protobuf:"varint,3,opt,name=branch_id,json=branchId,proto3" json:"branch_id,omitempty"`                    // (required) the branch id to branch from
}

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

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

func (*BranchDurableTaskRequest) ProtoMessage() {}

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

func (x *BranchDurableTaskRequest) GetTaskExternalId() string {
	if x != nil {
		return x.TaskExternalId
	}
	return ""
}

func (x *BranchDurableTaskRequest) GetNodeId() int64 {
	if x != nil {
		return x.NodeId
	}
	return 0
}

func (x *BranchDurableTaskRequest) GetBranchId() int64 {
	if x != nil {
		return x.BranchId
	}
	return 0
}

type BranchDurableTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TaskExternalId string `protobuf:"bytes,1,opt,name=task_external_id,json=taskExternalId,proto3" json:"task_external_id,omitempty"` // the external id of the durable task
	NodeId         int64  `protobuf:"varint,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`                          // the node id of the new entry
	BranchId       int64  `protobuf:"varint,3,opt,name=branch_id,json=branchId,proto3" json:"branch_id,omitempty"`                    // the branch id of the new entry
}

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

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

func (*BranchDurableTaskResponse) ProtoMessage() {}

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

func (x *BranchDurableTaskResponse) GetTaskExternalId() string {
	if x != nil {
		return x.TaskExternalId
	}
	return ""
}

func (x *BranchDurableTaskResponse) GetNodeId() int64 {
	if x != nil {
		return x.NodeId
	}
	return 0
}

func (x *BranchDurableTaskResponse) GetBranchId() int64 {
	if x != nil {
		return x.BranchId
	}
	return 0
}

// CreateWorkflowVersionRequest represents options to create a workflow version.
type CreateWorkflowVersionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name          string            `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`                                        // (required) the workflow name
	Description   string            `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`                          // (optional) the workflow description
	Version       string            `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`                                  // (optional) the workflow version
	EventTriggers []string          `protobuf:"bytes,4,rep,name=event_triggers,json=eventTriggers,proto3" json:"event_triggers,omitempty"` // (optional) event triggers for the workflow
	CronTriggers  []string          `protobuf:"bytes,5,rep,name=cron_triggers,json=cronTriggers,proto3" json:"cron_triggers,omitempty"`    // (optional) cron triggers for the workflow
	Tasks         []*CreateTaskOpts `protobuf:"bytes,6,rep,name=tasks,proto3" json:"tasks,omitempty"`                                      // (required) the workflow jobs
	// Deprecated: use concurrency_arr instead
	Concurrency     *Concurrency     `protobuf:"bytes,7,opt,name=concurrency,proto3" json:"concurrency,omitempty"`                                         // (optional) the workflow concurrency options
	CronInput       *string          `protobuf:"bytes,8,opt,name=cron_input,json=cronInput,proto3,oneof" json:"cron_input,omitempty"`                      // (optional) the input for the cron trigger
	OnFailureTask   *CreateTaskOpts  `protobuf:"bytes,9,opt,name=on_failure_task,json=onFailureTask,proto3,oneof" json:"on_failure_task,omitempty"`        // (optional) the job to run on failure
	Sticky          *StickyStrategy  `protobuf:"varint,10,opt,name=sticky,proto3,enum=v1.StickyStrategy,oneof" json:"sticky,omitempty"`                    // (optional) the sticky strategy for assigning tasks to workers
	DefaultPriority *int32           `protobuf:"varint,11,opt,name=default_priority,json=defaultPriority,proto3,oneof" json:"default_priority,omitempty"`  // (optional) the default priority for the workflow
	ConcurrencyArr  []*Concurrency   `protobuf:"bytes,12,rep,name=concurrency_arr,json=concurrencyArr,proto3" json:"concurrency_arr,omitempty"`            // (optional) the workflow concurrency options
	DefaultFilters  []*DefaultFilter `protobuf:"bytes,13,rep,name=default_filters,json=defaultFilters,proto3" json:"default_filters,omitempty"`            // (optional) the default filters for the workflow
	InputJsonSchema []byte           `protobuf:"bytes,14,opt,name=input_json_schema,json=inputJsonSchema,proto3,oneof" json:"input_json_schema,omitempty"` // (optional) the JSON schema for the workflow input
}

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

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

func (*CreateWorkflowVersionRequest) ProtoMessage() {}

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

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

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

func (x *CreateWorkflowVersionRequest) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *CreateWorkflowVersionRequest) GetEventTriggers() []string {
	if x != nil {
		return x.EventTriggers
	}
	return nil
}

func (x *CreateWorkflowVersionRequest) GetCronTriggers() []string {
	if x != nil {
		return x.CronTriggers
	}
	return nil
}

func (x *CreateWorkflowVersionRequest) GetTasks() []*CreateTaskOpts {
	if x != nil {
		return x.Tasks
	}
	return nil
}

func (x *CreateWorkflowVersionRequest) GetConcurrency() *Concurrency {
	if x != nil {
		return x.Concurrency
	}
	return nil
}

func (x *CreateWorkflowVersionRequest) GetCronInput() string {
	if x != nil && x.CronInput != nil {
		return *x.CronInput
	}
	return ""
}

func (x *CreateWorkflowVersionRequest) GetOnFailureTask() *CreateTaskOpts {
	if x != nil {
		return x.OnFailureTask
	}
	return nil
}

func (x *CreateWorkflowVersionRequest) GetSticky() StickyStrategy {
	if x != nil && x.Sticky != nil {
		return *x.Sticky
	}
	return StickyStrategy_SOFT
}

func (x *CreateWorkflowVersionRequest) GetDefaultPriority() int32 {
	if x != nil && x.DefaultPriority != nil {
		return *x.DefaultPriority
	}
	return 0
}

func (x *CreateWorkflowVersionRequest) GetConcurrencyArr() []*Concurrency {
	if x != nil {
		return x.ConcurrencyArr
	}
	return nil
}

func (x *CreateWorkflowVersionRequest) GetDefaultFilters() []*DefaultFilter {
	if x != nil {
		return x.DefaultFilters
	}
	return nil
}

func (x *CreateWorkflowVersionRequest) GetInputJsonSchema() []byte {
	if x != nil {
		return x.InputJsonSchema
	}
	return nil
}

type DefaultFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"` // (required) the CEL expression for the filter
	Scope      string `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`           // (required) the scope of the filter
	Payload    []byte `protobuf:"bytes,3,opt,name=payload,proto3,oneof" json:"payload,omitempty"` // (optional) the payload for the filter, if any. A JSON object as a string.
}

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

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

func (*DefaultFilter) ProtoMessage() {}

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

func (x *DefaultFilter) GetExpression() string {
	if x != nil {
		return x.Expression
	}
	return ""
}

func (x *DefaultFilter) GetScope() string {
	if x != nil {
		return x.Scope
	}
	return ""
}

func (x *DefaultFilter) GetPayload() []byte {
	if x != nil {
		return x.Payload
	}
	return nil
}

type Concurrency struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Expression    string                    `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"`                                                                    // (required) the expression to use for concurrency
	MaxRuns       *int32                    `protobuf:"varint,2,opt,name=max_runs,json=maxRuns,proto3,oneof" json:"max_runs,omitempty"`                                                    // (optional) the maximum number of concurrent workflow runs, default 1
	LimitStrategy *ConcurrencyLimitStrategy `protobuf:"varint,3,opt,name=limit_strategy,json=limitStrategy,proto3,enum=v1.ConcurrencyLimitStrategy,oneof" json:"limit_strategy,omitempty"` // (optional) the strategy to use when the concurrency limit is reached, default CANCEL_IN_PROGRESS
}

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

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

func (*Concurrency) ProtoMessage() {}

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

func (x *Concurrency) GetExpression() string {
	if x != nil {
		return x.Expression
	}
	return ""
}

func (x *Concurrency) GetMaxRuns() int32 {
	if x != nil && x.MaxRuns != nil {
		return *x.MaxRuns
	}
	return 0
}

func (x *Concurrency) GetLimitStrategy() ConcurrencyLimitStrategy {
	if x != nil && x.LimitStrategy != nil {
		return *x.LimitStrategy
	}
	return ConcurrencyLimitStrategy_CANCEL_IN_PROGRESS
}

// CreateTaskOpts represents options to create a task.
type CreateTaskOpts struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ReadableId        string                          `protobuf:"bytes,1,opt,name=readable_id,json=readableId,proto3" json:"readable_id,omitempty"`                                                                                                 // (required) the task name
	Action            string                          `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"`                                                                                                                           // (required) the task action id
	Timeout           string                          `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`                                                                                                                         // (optional) the task timeout
	Inputs            string                          `protobuf:"bytes,4,opt,name=inputs,proto3" json:"inputs,omitempty"`                                                                                                                           // (optional) the task inputs, assuming string representation of JSON
	Parents           []string                        `protobuf:"bytes,5,rep,name=parents,proto3" json:"parents,omitempty"`                                                                                                                         // (optional) the task parents. if none are passed in, this is a root task
	Retries           int32                           `protobuf:"varint,6,opt,name=retries,proto3" json:"retries,omitempty"`                                                                                                                        // (optional) the number of retries for the task, default 0
	RateLimits        []*CreateTaskRateLimit          `protobuf:"bytes,7,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"`                                                                                                 // (optional) the rate limits for the task
	WorkerLabels      map[string]*DesiredWorkerLabels `protobuf:"bytes,8,rep,name=worker_labels,json=workerLabels,proto3" json:"worker_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`   // (optional) the desired worker affinity state for the task
	BackoffFactor     *float32                        `protobuf:"fixed32,9,opt,name=backoff_factor,json=backoffFactor,proto3,oneof" json:"backoff_factor,omitempty"`                                                                                // (optional) the retry backoff factor for the task
	BackoffMaxSeconds *int32                          `protobuf:"varint,10,opt,name=backoff_max_seconds,json=backoffMaxSeconds,proto3,oneof" json:"backoff_max_seconds,omitempty"`                                                                  // (optional) the maximum backoff time for the task
	Concurrency       []*Concurrency                  `protobuf:"bytes,11,rep,name=concurrency,proto3" json:"concurrency,omitempty"`                                                                                                                // (optional) the task concurrency options
	Conditions        *TaskConditions                 `protobuf:"bytes,12,opt,name=conditions,proto3,oneof" json:"conditions,omitempty"`                                                                                                            // (optional) the task conditions for creating the task
	ScheduleTimeout   *string                         `protobuf:"bytes,13,opt,name=schedule_timeout,json=scheduleTimeout,proto3,oneof" json:"schedule_timeout,omitempty"`                                                                           // (optional) the timeout for the schedule
	IsDurable         bool                            `protobuf:"varint,14,opt,name=is_durable,json=isDurable,proto3" json:"is_durable,omitempty"`                                                                                                  // (optional) whether the task is durable
	SlotRequests      map[string]int32                `protobuf:"bytes,15,rep,name=slot_requests,json=slotRequests,proto3" json:"slot_requests,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // (optional) slot requests (slot_type -> units)
}

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

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

func (*CreateTaskOpts) ProtoMessage() {}

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

func (x *CreateTaskOpts) GetReadableId() string {
	if x != nil {
		return x.ReadableId
	}
	return ""
}

func (x *CreateTaskOpts) GetAction() string {
	if x != nil {
		return x.Action
	}
	return ""
}

func (x *CreateTaskOpts) GetTimeout() string {
	if x != nil {
		return x.Timeout
	}
	return ""
}

func (x *CreateTaskOpts) GetInputs() string {
	if x != nil {
		return x.Inputs
	}
	return ""
}

func (x *CreateTaskOpts) GetParents() []string {
	if x != nil {
		return x.Parents
	}
	return nil
}

func (x *CreateTaskOpts) GetRetries() int32 {
	if x != nil {
		return x.Retries
	}
	return 0
}

func (x *CreateTaskOpts) GetRateLimits() []*CreateTaskRateLimit {
	if x != nil {
		return x.RateLimits
	}
	return nil
}

func (x *CreateTaskOpts) GetWorkerLabels() map[string]*DesiredWorkerLabels {
	if x != nil {
		return x.WorkerLabels
	}
	return nil
}

func (x *CreateTaskOpts) GetBackoffFactor() float32 {
	if x != nil && x.BackoffFactor != nil {
		return *x.BackoffFactor
	}
	return 0
}

func (x *CreateTaskOpts) GetBackoffMaxSeconds() int32 {
	if x != nil && x.BackoffMaxSeconds != nil {
		return *x.BackoffMaxSeconds
	}
	return 0
}

func (x *CreateTaskOpts) GetConcurrency() []*Concurrency {
	if x != nil {
		return x.Concurrency
	}
	return nil
}

func (x *CreateTaskOpts) GetConditions() *TaskConditions {
	if x != nil {
		return x.Conditions
	}
	return nil
}

func (x *CreateTaskOpts) GetScheduleTimeout() string {
	if x != nil && x.ScheduleTimeout != nil {
		return *x.ScheduleTimeout
	}
	return ""
}

func (x *CreateTaskOpts) GetIsDurable() bool {
	if x != nil {
		return x.IsDurable
	}
	return false
}

func (x *CreateTaskOpts) GetSlotRequests() map[string]int32 {
	if x != nil {
		return x.SlotRequests
	}
	return nil
}

type CreateTaskRateLimit struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key             string             `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`                                                        // (required) the key for the rate limit
	Units           *int32             `protobuf:"varint,2,opt,name=units,proto3,oneof" json:"units,omitempty"`                                             // (optional) the number of units this task consumes
	KeyExpr         *string            `protobuf:"bytes,3,opt,name=key_expr,json=keyExpr,proto3,oneof" json:"key_expr,omitempty"`                           // (optional) a CEL expression for determining the rate limit key
	UnitsExpr       *string            `protobuf:"bytes,4,opt,name=units_expr,json=unitsExpr,proto3,oneof" json:"units_expr,omitempty"`                     // (optional) a CEL expression for determining the number of units consumed
	LimitValuesExpr *string            `protobuf:"bytes,5,opt,name=limit_values_expr,json=limitValuesExpr,proto3,oneof" json:"limit_values_expr,omitempty"` // (optional) a CEL expression for determining the total amount of rate limit units
	Duration        *RateLimitDuration `protobuf:"varint,6,opt,name=duration,proto3,enum=v1.RateLimitDuration,oneof" json:"duration,omitempty"`             // (optional) the default rate limit window to use for dynamic rate limits
}

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

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

func (*CreateTaskRateLimit) ProtoMessage() {}

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

func (x *CreateTaskRateLimit) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *CreateTaskRateLimit) GetUnits() int32 {
	if x != nil && x.Units != nil {
		return *x.Units
	}
	return 0
}

func (x *CreateTaskRateLimit) GetKeyExpr() string {
	if x != nil && x.KeyExpr != nil {
		return *x.KeyExpr
	}
	return ""
}

func (x *CreateTaskRateLimit) GetUnitsExpr() string {
	if x != nil && x.UnitsExpr != nil {
		return *x.UnitsExpr
	}
	return ""
}

func (x *CreateTaskRateLimit) GetLimitValuesExpr() string {
	if x != nil && x.LimitValuesExpr != nil {
		return *x.LimitValuesExpr
	}
	return ""
}

func (x *CreateTaskRateLimit) GetDuration() RateLimitDuration {
	if x != nil && x.Duration != nil {
		return *x.Duration
	}
	return RateLimitDuration_SECOND
}

// CreateWorkflowVersionResponse represents the response after creating a workflow version.
type CreateWorkflowVersionResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id         string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"`
}

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

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

func (*CreateWorkflowVersionResponse) ProtoMessage() {}

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

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

func (x *CreateWorkflowVersionResponse) GetWorkflowId() string {
	if x != nil {
		return x.WorkflowId
	}
	return ""
}

type GetRunDetailsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ExternalId string `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` // (required) the external id (uuid) of the workflow run
}

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

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

func (*GetRunDetailsRequest) ProtoMessage() {}

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

func (x *GetRunDetailsRequest) GetExternalId() string {
	if x != nil {
		return x.ExternalId
	}
	return ""
}

type TaskRunDetail struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ExternalId string    `protobuf:"bytes,1,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` // the external id (uuid) of the task run
	Status     RunStatus `protobuf:"varint,2,opt,name=status,proto3,enum=v1.RunStatus" json:"status,omitempty"`        // the status of the task run
	Error      *string   `protobuf:"bytes,3,opt,name=error,proto3,oneof" json:"error,omitempty"`                       // (optional) error message from the task run, if any
	Output     []byte    `protobuf:"bytes,4,opt,name=output,proto3,oneof" json:"output,omitempty"`                     // (optional) the output payload for the task run
	ReadableId string    `protobuf:"bytes,5,opt,name=readable_id,json=readableId,proto3" json:"readable_id,omitempty"` // the readable id of the task
	IsEvicted  bool      `protobuf:"varint,6,opt,name=is_evicted,json=isEvicted,proto3" json:"is_evicted,omitempty"`   // whether the task has been evicted from a worker (status will be RUNNING)
}

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

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

func (*TaskRunDetail) ProtoMessage() {}

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

func (x *TaskRunDetail) GetExternalId() string {
	if x != nil {
		return x.ExternalId
	}
	return ""
}

func (x *TaskRunDetail) GetStatus() RunStatus {
	if x != nil {
		return x.Status
	}
	return RunStatus_QUEUED
}

func (x *TaskRunDetail) GetError() string {
	if x != nil && x.Error != nil {
		return *x.Error
	}
	return ""
}

func (x *TaskRunDetail) GetOutput() []byte {
	if x != nil {
		return x.Output
	}
	return nil
}

func (x *TaskRunDetail) GetReadableId() string {
	if x != nil {
		return x.ReadableId
	}
	return ""
}

func (x *TaskRunDetail) GetIsEvicted() bool {
	if x != nil {
		return x.IsEvicted
	}
	return false
}

type GetRunDetailsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Input              []byte                    `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`                                                                                                               // the input payload for the workflow run
	Status             RunStatus                 `protobuf:"varint,2,opt,name=status,proto3,enum=v1.RunStatus" json:"status,omitempty"`                                                                                          // the status of the workflow run
	TaskRuns           map[string]*TaskRunDetail `protobuf:"bytes,3,rep,name=task_runs,json=taskRuns,proto3" json:"task_runs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // map of task run external ids to their details
	Done               bool                      `protobuf:"varint,4,opt,name=done,proto3" json:"done,omitempty"`                                                                                                                // indicates if the workflow run is done
	AdditionalMetadata []byte                    `protobuf:"bytes,5,opt,name=additional_metadata,json=additionalMetadata,proto3" json:"additional_metadata,omitempty"`                                                           // (optional) additional metadata for the workflow run
	IsEvicted          bool                      `protobuf:"varint,6,opt,name=is_evicted,json=isEvicted,proto3" json:"is_evicted,omitempty"`                                                                                     // whether any task in this run has been evicted
}

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

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

func (*GetRunDetailsResponse) ProtoMessage() {}

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

func (x *GetRunDetailsResponse) GetInput() []byte {
	if x != nil {
		return x.Input
	}
	return nil
}

func (x *GetRunDetailsResponse) GetStatus() RunStatus {
	if x != nil {
		return x.Status
	}
	return RunStatus_QUEUED
}

func (x *GetRunDetailsResponse) GetTaskRuns() map[string]*TaskRunDetail {
	if x != nil {
		return x.TaskRuns
	}
	return nil
}

func (x *GetRunDetailsResponse) GetDone() bool {
	if x != nil {
		return x.Done
	}
	return false
}

func (x *GetRunDetailsResponse) GetAdditionalMetadata() []byte {
	if x != nil {
		return x.AdditionalMetadata
	}
	return nil
}

func (x *GetRunDetailsResponse) GetIsEvicted() bool {
	if x != nil {
		return x.IsEvicted
	}
	return false
}

var File_v1_workflows_proto protoreflect.FileDescriptor

var file_v1_workflows_proto_rawDesc = []byte{
	0x0a, 0x12, 0x76, 0x31, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x76, 0x31, 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, 0x1a, 0x19, 0x76, 0x31, 0x2f, 0x73, 0x68,
	0x61, 0x72, 0x65, 0x64, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x31, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2f,
	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a,
	0x12, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f,
	0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x49, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b,
	0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22,
	0x70, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x74,
	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61,
	0x73, 0x6b, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x22, 0xf0, 0x01, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x30, 0x0a,
	0x05, 0x73, 0x69, 0x6e, 0x63, 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, 0x05, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x12,
	0x35, 0x0a, 0x05, 0x75, 0x6e, 0x74, 0x69, 0x6c, 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, 0x48, 0x00, 0x52, 0x05, 0x75, 0x6e,
	0x74, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
	0x6f, 0x77, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f,
	0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x64, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75,
	0x6e, 0x74, 0x69, 0x6c, 0x22, 0x3e, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61,
	0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63,
	0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x54,
	0x61, 0x73, 0x6b, 0x73, 0x22, 0x3c, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x61,
	0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72,
	0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x54, 0x61, 0x73,
	0x6b, 0x73, 0x22, 0x82, 0x03, 0x0a, 0x19, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x6f,
	0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
	0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x61,
	0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x08,
	0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00,
	0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a,
	0x15, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f,
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x76,
	0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f,
	0x77, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x69,
	0x72, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x5f, 0x0a, 0x18, 0x44, 0x65, 0x73,
	0x69, 0x72, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x69,
	0x72, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70,
	0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x3d, 0x0a, 0x1a, 0x54, 0x72, 0x69, 0x67, 0x67,
	0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x22, 0x7a, 0x0a, 0x18, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68,
	0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61,
	0x73, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
	0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e,
	0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f,
	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68,
	0x49, 0x64, 0x22, 0x7b, 0x0a, 0x19, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61,
	0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x28, 0x0a, 0x10, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x73, 0x6b, 0x45,
	0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64,
	0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65,
	0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x49, 0x64, 0x22,
	0xdd, 0x05, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c,
	0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x25, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54,
	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x6f, 0x6e, 0x5f,
	0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
	0x63, 0x72, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x05,
	0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31,
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x74, 0x73, 0x52,
	0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31,
	0x2e, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0b, 0x63, 0x6f,
	0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x6f,
	0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
	0x09, 0x63, 0x72, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a,
	0x0f, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x74, 0x73, 0x48, 0x01, 0x52, 0x0d, 0x6f, 0x6e,
	0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2f,
	0x0a, 0x06, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12,
	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65,
	0x67, 0x79, 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x88, 0x01, 0x01, 0x12,
	0x2e, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72,
	0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x0f, 0x64, 0x65, 0x66,
	0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12,
	0x38, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x61,
	0x72, 0x72, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
	0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x63, 0x75,
	0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x41, 0x72, 0x72, 0x12, 0x3a, 0x0a, 0x0f, 0x64, 0x65, 0x66,
	0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46,
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69,
	0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6a,
	0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c,
	0x48, 0x04, 0x52, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x68,
	0x65, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x6f, 0x6e, 0x5f,
	0x69, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69,
	0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74,
	0x69, 0x63, 0x6b, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
	0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e,
	0x70, 0x75, 0x74, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22,
	0x70, 0x0a, 0x0d, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x22, 0xb7, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63,
	0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x73, 0x88, 0x01,
	0x01, 0x12, 0x48, 0x0a, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74,
	0x65, 0x67, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x76, 0x31, 0x2e, 0x43,
	0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53,
	0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x48, 0x01, 0x52, 0x0d, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
	0x6d, 0x61, 0x78, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x69, 0x6d,
	0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x85, 0x07, 0x0a, 0x0e,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x1f,
	0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12,
	0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f,
	0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x72, 0x65,
	0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x38, 0x0a,
	0x0b, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61,
	0x73, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0a, 0x72, 0x61, 0x74,
	0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70,
	0x74, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65,
	0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x5f, 0x66, 0x61,
	0x63, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x61,
	0x63, 0x6b, 0x6f, 0x66, 0x66, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x33,
	0x0a, 0x13, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65,
	0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x11, 0x62,
	0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
	0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
	0x63, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
	0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x63, 0x75,
	0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x76, 0x31, 0x2e,
	0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x02,
	0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12,
	0x2e, 0x0a, 0x10, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x6f, 0x75, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12,
	0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0e, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x49,
	0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18,
	0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x6c, 0x6f,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, 0x58, 0x0a, 0x11, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
	0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x17, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b,
	0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
	0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 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, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66,
	0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x61, 0x63, 0x6b,
	0x6f, 0x66, 0x66, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42,
	0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x13,
	0x0a, 0x11, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x6f, 0x75, 0x74, 0x22, 0xb8, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61,
	0x73, 0x6b, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b,
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x19, 0x0a,
	0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x05,
	0x75, 0x6e, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f,
	0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6b, 0x65,
	0x79, 0x45, 0x78, 0x70, 0x72, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x6e, 0x69, 0x74,
	0x73, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09,
	0x75, 0x6e, 0x69, 0x74, 0x73, 0x45, 0x78, 0x70, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11,
	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x65, 0x78, 0x70,
	0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x78, 0x70, 0x72, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a,
	0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x15, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x04, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x42,
	0x0b, 0x0a, 0x09, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x42, 0x0d, 0x0a, 0x0b,
	0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x42, 0x14, 0x0a, 0x12, 0x5f,
	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x65, 0x78, 0x70,
	0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50,
	0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
	0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64,
	0x22, 0x37, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65,
	0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x22, 0xe4, 0x01, 0x0a, 0x0d, 0x54, 0x61,
	0x73, 0x6b, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x65,
	0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x76,
	0x31, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1b,
	0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01,
	0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0b, 0x72,
	0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
	0x69, 0x73, 0x5f, 0x65, 0x76, 0x69, 0x63, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x09, 0x69, 0x73, 0x45, 0x76, 0x69, 0x63, 0x74, 0x65, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
	0x22, 0xce, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
	0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74,
	0x12, 0x25, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x0d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x44, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f,
	0x72, 0x75, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x76, 0x31, 0x2e,
	0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6e, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x12, 0x0a,
	0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e,
	0x65, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12,
	0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x76, 0x69, 0x63, 0x74, 0x65, 0x64,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x76, 0x69, 0x63, 0x74, 0x65,
	0x64, 0x1a, 0x4e, 0x0a, 0x0d, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 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, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6e,
	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
	0x01, 0x2a, 0x24, 0x0a, 0x0e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x53, 0x74, 0x72, 0x61, 0x74,
	0x65, 0x67, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4f, 0x46, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a,
	0x04, 0x48, 0x41, 0x52, 0x44, 0x10, 0x01, 0x2a, 0x5d, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c,
	0x69, 0x6d, 0x69, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06,
	0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x55,
	0x54, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52, 0x10, 0x02, 0x12, 0x07,
	0x0a, 0x03, 0x44, 0x41, 0x59, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x57, 0x45, 0x45, 0x4b, 0x10,
	0x04, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04,
	0x59, 0x45, 0x41, 0x52, 0x10, 0x06, 0x2a, 0x5b, 0x0a, 0x09, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x00, 0x12,
	0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09,
	0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46,
	0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45,
	0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x56, 0x49, 0x43, 0x54, 0x45,
	0x44, 0x10, 0x05, 0x2a, 0x7f, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
	0x63, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12,
	0x16, 0x0a, 0x12, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f,
	0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x52, 0x4f, 0x50, 0x5f,
	0x4e, 0x45, 0x57, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x51, 0x55, 0x45, 0x55,
	0x45, 0x5f, 0x4e, 0x45, 0x57, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x52,
	0x4f, 0x55, 0x50, 0x5f, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10,
	0x03, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x5f, 0x4e, 0x45, 0x57, 0x45,
	0x53, 0x54, 0x10, 0x04, 0x32, 0xcf, 0x03, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x57, 0x6f, 0x72, 0x6b,
	0x66, 0x6c, 0x6f, 0x77, 0x12, 0x20, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x43, 0x61, 0x6e,
	0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x16, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61,
	0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x17, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x52, 0x65, 0x70,
	0x6c, 0x61, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x16, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
	0x70, 0x6c, 0x61, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x17, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x61, 0x73, 0x6b,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x54, 0x72, 0x69,
	0x67, 0x67, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x12,
	0x1d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b,
	0x66, 0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6b, 0x66,
	0x6c, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44,
	0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12,
	0x18, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x76, 0x31, 0x2e, 0x47,
	0x65, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x44, 0x75,
	0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1c, 0x2e, 0x76, 0x31, 0x2e, 0x42,
	0x72, 0x61, 0x6e, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, 0x61,
	0x6e, 0x63, 0x68, 0x44, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x42, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x74, 0x63, 0x68, 0x65, 0x74, 0x2d, 0x64, 0x65, 0x76,
	0x2f, 0x68, 0x61, 0x74, 0x63, 0x68, 0x65, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x68, 0x61, 0x72, 0x65,
	0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x33,
}

var (
	file_v1_workflows_proto_rawDescOnce sync.Once
	file_v1_workflows_proto_rawDescData = file_v1_workflows_proto_rawDesc
)

func file_v1_workflows_proto_rawDescGZIP() []byte {
	file_v1_workflows_proto_rawDescOnce.Do(func() {
		file_v1_workflows_proto_rawDescData = protoimpl.X.CompressGZIP(file_v1_workflows_proto_rawDescData)
	})
	return file_v1_workflows_proto_rawDescData
}

var file_v1_workflows_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_v1_workflows_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_v1_workflows_proto_goTypes = []interface{}{
	(StickyStrategy)(0),                   // 0: v1.StickyStrategy
	(RateLimitDuration)(0),                // 1: v1.RateLimitDuration
	(RunStatus)(0),                        // 2: v1.RunStatus
	(ConcurrencyLimitStrategy)(0),         // 3: v1.ConcurrencyLimitStrategy
	(*CancelTasksRequest)(nil),            // 4: v1.CancelTasksRequest
	(*ReplayTasksRequest)(nil),            // 5: v1.ReplayTasksRequest
	(*TasksFilter)(nil),                   // 6: v1.TasksFilter
	(*CancelTasksResponse)(nil),           // 7: v1.CancelTasksResponse
	(*ReplayTasksResponse)(nil),           // 8: v1.ReplayTasksResponse
	(*TriggerWorkflowRunRequest)(nil),     // 9: v1.TriggerWorkflowRunRequest
	(*TriggerWorkflowRunResponse)(nil),    // 10: v1.TriggerWorkflowRunResponse
	(*BranchDurableTaskRequest)(nil),      // 11: v1.BranchDurableTaskRequest
	(*BranchDurableTaskResponse)(nil),     // 12: v1.BranchDurableTaskResponse
	(*CreateWorkflowVersionRequest)(nil),  // 13: v1.CreateWorkflowVersionRequest
	(*DefaultFilter)(nil),                 // 14: v1.DefaultFilter
	(*Concurrency)(nil),                   // 15: v1.Concurrency
	(*CreateTaskOpts)(nil),                // 16: v1.CreateTaskOpts
	(*CreateTaskRateLimit)(nil),           // 17: v1.CreateTaskRateLimit
	(*CreateWorkflowVersionResponse)(nil), // 18: v1.CreateWorkflowVersionResponse
	(*GetRunDetailsRequest)(nil),          // 19: v1.GetRunDetailsRequest
	(*TaskRunDetail)(nil),                 // 20: v1.TaskRunDetail
	(*GetRunDetailsResponse)(nil),         // 21: v1.GetRunDetailsResponse
	nil,                                   // 22: v1.TriggerWorkflowRunRequest.DesiredWorkerLabelsEntry
	nil,                                   // 23: v1.CreateTaskOpts.WorkerLabelsEntry
	nil,                                   // 24: v1.CreateTaskOpts.SlotRequestsEntry
	nil,                                   // 25: v1.GetRunDetailsResponse.TaskRunsEntry
	(*timestamppb.Timestamp)(nil),         // 26: google.protobuf.Timestamp
	(*TaskConditions)(nil),                // 27: v1.TaskConditions
	(*DesiredWorkerLabels)(nil),           // 28: v1.DesiredWorkerLabels
}
var file_v1_workflows_proto_depIdxs = []int32{
	6,  // 0: v1.CancelTasksRequest.filter:type_name -> v1.TasksFilter
	6,  // 1: v1.ReplayTasksRequest.filter:type_name -> v1.TasksFilter
	26, // 2: v1.TasksFilter.since:type_name -> google.protobuf.Timestamp
	26, // 3: v1.TasksFilter.until:type_name -> google.protobuf.Timestamp
	22, // 4: v1.TriggerWorkflowRunRequest.desired_worker_labels:type_name -> v1.TriggerWorkflowRunRequest.DesiredWorkerLabelsEntry
	16, // 5: v1.CreateWorkflowVersionRequest.tasks:type_name -> v1.CreateTaskOpts
	15, // 6: v1.CreateWorkflowVersionRequest.concurrency:type_name -> v1.Concurrency
	16, // 7: v1.CreateWorkflowVersionRequest.on_failure_task:type_name -> v1.CreateTaskOpts
	0,  // 8: v1.CreateWorkflowVersionRequest.sticky:type_name -> v1.StickyStrategy
	15, // 9: v1.CreateWorkflowVersionRequest.concurrency_arr:type_name -> v1.Concurrency
	14, // 10: v1.CreateWorkflowVersionRequest.default_filters:type_name -> v1.DefaultFilter
	3,  // 11: v1.Concurrency.limit_strategy:type_name -> v1.ConcurrencyLimitStrategy
	17, // 12: v1.CreateTaskOpts.rate_limits:type_name -> v1.CreateTaskRateLimit
	23, // 13: v1.CreateTaskOpts.worker_labels:type_name -> v1.CreateTaskOpts.WorkerLabelsEntry
	15, // 14: v1.CreateTaskOpts.concurrency:type_name -> v1.Concurrency
	27, // 15: v1.CreateTaskOpts.conditions:type_name -> v1.TaskConditions
	24, // 16: v1.CreateTaskOpts.slot_requests:type_name -> v1.CreateTaskOpts.SlotRequestsEntry
	1,  // 17: v1.CreateTaskRateLimit.duration:type_name -> v1.RateLimitDuration
	2,  // 18: v1.TaskRunDetail.status:type_name -> v1.RunStatus
	2,  // 19: v1.GetRunDetailsResponse.status:type_name -> v1.RunStatus
	25, // 20: v1.GetRunDetailsResponse.task_runs:type_name -> v1.GetRunDetailsResponse.TaskRunsEntry
	28, // 21: v1.TriggerWorkflowRunRequest.DesiredWorkerLabelsEntry.value:type_name -> v1.DesiredWorkerLabels
	28, // 22: v1.CreateTaskOpts.WorkerLabelsEntry.value:type_name -> v1.DesiredWorkerLabels
	20, // 23: v1.GetRunDetailsResponse.TaskRunsEntry.value:type_name -> v1.TaskRunDetail
	13, // 24: v1.AdminService.PutWorkflow:input_type -> v1.CreateWorkflowVersionRequest
	4,  // 25: v1.AdminService.CancelTasks:input_type -> v1.CancelTasksRequest
	5,  // 26: v1.AdminService.ReplayTasks:input_type -> v1.ReplayTasksRequest
	9,  // 27: v1.AdminService.TriggerWorkflowRun:input_type -> v1.TriggerWorkflowRunRequest
	19, // 28: v1.AdminService.GetRunDetails:input_type -> v1.GetRunDetailsRequest
	11, // 29: v1.AdminService.BranchDurableTask:input_type -> v1.BranchDurableTaskRequest
	18, // 30: v1.AdminService.PutWorkflow:output_type -> v1.CreateWorkflowVersionResponse
	7,  // 31: v1.AdminService.CancelTasks:output_type -> v1.CancelTasksResponse
	8,  // 32: v1.AdminService.ReplayTasks:output_type -> v1.ReplayTasksResponse
	10, // 33: v1.AdminService.TriggerWorkflowRun:output_type -> v1.TriggerWorkflowRunResponse
	21, // 34: v1.AdminService.GetRunDetails:output_type -> v1.GetRunDetailsResponse
	12, // 35: v1.AdminService.BranchDurableTask:output_type -> v1.BranchDurableTaskResponse
	30, // [30:36] is the sub-list for method output_type
	24, // [24:30] is the sub-list for method input_type
	24, // [24:24] is the sub-list for extension type_name
	24, // [24:24] is the sub-list for extension extendee
	0,  // [0:24] is the sub-list for field type_name
}

func init() { file_v1_workflows_proto_init() }
func file_v1_workflows_proto_init() {
	if File_v1_workflows_proto != nil {
		return
	}
	file_v1_shared_condition_proto_init()
	file_v1_shared_trigger_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_v1_workflows_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CancelTasksRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReplayTasksRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TasksFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CancelTasksResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReplayTasksResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TriggerWorkflowRunRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TriggerWorkflowRunResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BranchDurableTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BranchDurableTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateWorkflowVersionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DefaultFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Concurrency); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateTaskOpts); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateTaskRateLimit); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateWorkflowVersionResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRunDetailsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TaskRunDetail); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_workflows_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRunDetailsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_v1_workflows_proto_msgTypes[0].OneofWrappers = []interface{}{}
	file_v1_workflows_proto_msgTypes[1].OneofWrappers = []interface{}{}
	file_v1_workflows_proto_msgTypes[2].OneofWrappers = []interface{}{}
	file_v1_workflows_proto_msgTypes[5].OneofWrappers = []interface{}{}
	file_v1_workflows_proto_msgTypes[9].OneofWrappers = []interface{}{}
	file_v1_workflows_proto_msgTypes[10].OneofWrappers = []interface{}{}
	file_v1_workflows_proto_msgTypes[11].OneofWrappers = []interface{}{}
	file_v1_workflows_proto_msgTypes[12].OneofWrappers = []interface{}{}
	file_v1_workflows_proto_msgTypes[13].OneofWrappers = []interface{}{}
	file_v1_workflows_proto_msgTypes[16].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_v1_workflows_proto_rawDesc,
			NumEnums:      4,
			NumMessages:   22,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_v1_workflows_proto_goTypes,
		DependencyIndexes: file_v1_workflows_proto_depIdxs,
		EnumInfos:         file_v1_workflows_proto_enumTypes,
		MessageInfos:      file_v1_workflows_proto_msgTypes,
	}.Build()
	File_v1_workflows_proto = out.File
	file_v1_workflows_proto_rawDesc = nil
	file_v1_workflows_proto_goTypes = nil
	file_v1_workflows_proto_depIdxs = nil
}
