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

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        v4.23.4
// source: proto/autoops/service.proto

package autoops

import (
	context "context"
	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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 ChangeType int32

const (
	ChangeType_UNSPECIFIED ChangeType = 0
	ChangeType_CREATE      ChangeType = 1
	ChangeType_UPDATE      ChangeType = 2
	ChangeType_DELETE      ChangeType = 3
)

// Enum value maps for ChangeType.
var (
	ChangeType_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "CREATE",
		2: "UPDATE",
		3: "DELETE",
	}
	ChangeType_value = map[string]int32{
		"UNSPECIFIED": 0,
		"CREATE":      1,
		"UPDATE":      2,
		"DELETE":      3,
	}
)

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

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

func (ChangeType) Descriptor() protoreflect.EnumDescriptor {
	return file_proto_autoops_service_proto_enumTypes[0].Descriptor()
}

func (ChangeType) Type() protoreflect.EnumType {
	return &file_proto_autoops_service_proto_enumTypes[0]
}

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

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

type ListProgressiveRolloutsRequest_OrderBy int32

const (
	ListProgressiveRolloutsRequest_DEFAULT    ListProgressiveRolloutsRequest_OrderBy = 0
	ListProgressiveRolloutsRequest_CREATED_AT ListProgressiveRolloutsRequest_OrderBy = 1
	ListProgressiveRolloutsRequest_UPDATED_AT ListProgressiveRolloutsRequest_OrderBy = 2
)

// Enum value maps for ListProgressiveRolloutsRequest_OrderBy.
var (
	ListProgressiveRolloutsRequest_OrderBy_name = map[int32]string{
		0: "DEFAULT",
		1: "CREATED_AT",
		2: "UPDATED_AT",
	}
	ListProgressiveRolloutsRequest_OrderBy_value = map[string]int32{
		"DEFAULT":    0,
		"CREATED_AT": 1,
		"UPDATED_AT": 2,
	}
)

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

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

func (ListProgressiveRolloutsRequest_OrderBy) Descriptor() protoreflect.EnumDescriptor {
	return file_proto_autoops_service_proto_enumTypes[1].Descriptor()
}

func (ListProgressiveRolloutsRequest_OrderBy) Type() protoreflect.EnumType {
	return &file_proto_autoops_service_proto_enumTypes[1]
}

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

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

type ListProgressiveRolloutsRequest_OrderDirection int32

const (
	ListProgressiveRolloutsRequest_ASC  ListProgressiveRolloutsRequest_OrderDirection = 0
	ListProgressiveRolloutsRequest_DESC ListProgressiveRolloutsRequest_OrderDirection = 1
)

// Enum value maps for ListProgressiveRolloutsRequest_OrderDirection.
var (
	ListProgressiveRolloutsRequest_OrderDirection_name = map[int32]string{
		0: "ASC",
		1: "DESC",
	}
	ListProgressiveRolloutsRequest_OrderDirection_value = map[string]int32{
		"ASC":  0,
		"DESC": 1,
	}
)

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

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

func (ListProgressiveRolloutsRequest_OrderDirection) Descriptor() protoreflect.EnumDescriptor {
	return file_proto_autoops_service_proto_enumTypes[2].Descriptor()
}

func (ListProgressiveRolloutsRequest_OrderDirection) Type() protoreflect.EnumType {
	return &file_proto_autoops_service_proto_enumTypes[2]
}

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

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

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

	Id            string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	EnvironmentId string `protobuf:"bytes,3,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
}

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

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

func (*GetAutoOpsRuleRequest) ProtoMessage() {}

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

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

func (x *GetAutoOpsRuleRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

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

	AutoOpsRule *AutoOpsRule `protobuf:"bytes,1,opt,name=auto_ops_rule,json=autoOpsRule,proto3" json:"auto_ops_rule"`
}

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

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

func (*GetAutoOpsRuleResponse) ProtoMessage() {}

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

func (x *GetAutoOpsRuleResponse) GetAutoOpsRule() *AutoOpsRule {
	if x != nil {
		return x.AutoOpsRule
	}
	return nil
}

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

	// Deprecated: Do not use.
	Command             *CreateAutoOpsRuleCommand `protobuf:"bytes,2,opt,name=command,proto3" json:"command"`
	EnvironmentId       string                    `protobuf:"bytes,3,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
	FeatureId           string                    `protobuf:"bytes,4,opt,name=feature_id,json=featureId,proto3" json:"feature_id"`
	OpsType             OpsType                   `protobuf:"varint,5,opt,name=ops_type,json=opsType,proto3,enum=bucketeer.autoops.OpsType" json:"ops_type"`
	OpsEventRateClauses []*OpsEventRateClause     `protobuf:"bytes,6,rep,name=ops_event_rate_clauses,json=opsEventRateClauses,proto3" json:"ops_event_rate_clauses"`
	DatetimeClauses     []*DatetimeClause         `protobuf:"bytes,7,rep,name=datetime_clauses,json=datetimeClauses,proto3" json:"datetime_clauses"`
}

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

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

func (*CreateAutoOpsRuleRequest) ProtoMessage() {}

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

// Deprecated: Do not use.
func (x *CreateAutoOpsRuleRequest) GetCommand() *CreateAutoOpsRuleCommand {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *CreateAutoOpsRuleRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

func (x *CreateAutoOpsRuleRequest) GetFeatureId() string {
	if x != nil {
		return x.FeatureId
	}
	return ""
}

func (x *CreateAutoOpsRuleRequest) GetOpsType() OpsType {
	if x != nil {
		return x.OpsType
	}
	return OpsType_TYPE_UNKNOWN
}

func (x *CreateAutoOpsRuleRequest) GetOpsEventRateClauses() []*OpsEventRateClause {
	if x != nil {
		return x.OpsEventRateClauses
	}
	return nil
}

func (x *CreateAutoOpsRuleRequest) GetDatetimeClauses() []*DatetimeClause {
	if x != nil {
		return x.DatetimeClauses
	}
	return nil
}

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

	AutoOpsRule *AutoOpsRule `protobuf:"bytes,1,opt,name=auto_ops_rule,json=autoOpsRule,proto3" json:"auto_ops_rule"`
}

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

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

func (*CreateAutoOpsRuleResponse) ProtoMessage() {}

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

func (x *CreateAutoOpsRuleResponse) GetAutoOpsRule() *AutoOpsRule {
	if x != nil {
		return x.AutoOpsRule
	}
	return nil
}

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

	PageSize      int64    `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size"`
	Cursor        string   `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor"`
	FeatureIds    []string `protobuf:"bytes,4,rep,name=feature_ids,json=featureIds,proto3" json:"feature_ids"`
	EnvironmentId string   `protobuf:"bytes,5,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
}

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

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

func (*ListAutoOpsRulesRequest) ProtoMessage() {}

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

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

func (x *ListAutoOpsRulesRequest) GetCursor() string {
	if x != nil {
		return x.Cursor
	}
	return ""
}

func (x *ListAutoOpsRulesRequest) GetFeatureIds() []string {
	if x != nil {
		return x.FeatureIds
	}
	return nil
}

func (x *ListAutoOpsRulesRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

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

	AutoOpsRules []*AutoOpsRule `protobuf:"bytes,1,rep,name=auto_ops_rules,json=autoOpsRules,proto3" json:"auto_ops_rules"`
	Cursor       string         `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor"`
}

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

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

func (*ListAutoOpsRulesResponse) ProtoMessage() {}

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

func (x *ListAutoOpsRulesResponse) GetAutoOpsRules() []*AutoOpsRule {
	if x != nil {
		return x.AutoOpsRules
	}
	return nil
}

func (x *ListAutoOpsRulesResponse) GetCursor() string {
	if x != nil {
		return x.Cursor
	}
	return ""
}

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

	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	// Deprecated: Do not use.
	Command       *StopAutoOpsRuleCommand `protobuf:"bytes,3,opt,name=command,proto3" json:"command"`
	EnvironmentId string                  `protobuf:"bytes,4,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
}

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

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

func (*StopAutoOpsRuleRequest) ProtoMessage() {}

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

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

// Deprecated: Do not use.
func (x *StopAutoOpsRuleRequest) GetCommand() *StopAutoOpsRuleCommand {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *StopAutoOpsRuleRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

type StopAutoOpsRuleResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*StopAutoOpsRuleResponse) ProtoMessage() {}

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

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

	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	// Deprecated: Do not use.
	Command       *DeleteAutoOpsRuleCommand `protobuf:"bytes,3,opt,name=command,proto3" json:"command"`
	EnvironmentId string                    `protobuf:"bytes,4,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
}

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

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

func (*DeleteAutoOpsRuleRequest) ProtoMessage() {}

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

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

// Deprecated: Do not use.
func (x *DeleteAutoOpsRuleRequest) GetCommand() *DeleteAutoOpsRuleCommand {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *DeleteAutoOpsRuleRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

type DeleteAutoOpsRuleResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*DeleteAutoOpsRuleResponse) ProtoMessage() {}

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

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

	Id         string              `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Clause     *OpsEventRateClause `protobuf:"bytes,2,opt,name=clause,proto3" json:"clause"`
	ChangeType ChangeType          `protobuf:"varint,3,opt,name=change_type,json=changeType,proto3,enum=bucketeer.autoops.ChangeType" json:"change_type"`
}

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

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

func (*OpsEventRateClauseChange) ProtoMessage() {}

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

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

func (x *OpsEventRateClauseChange) GetClause() *OpsEventRateClause {
	if x != nil {
		return x.Clause
	}
	return nil
}

func (x *OpsEventRateClauseChange) GetChangeType() ChangeType {
	if x != nil {
		return x.ChangeType
	}
	return ChangeType_UNSPECIFIED
}

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

	Id         string          `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	Clause     *DatetimeClause `protobuf:"bytes,2,opt,name=clause,proto3" json:"clause"`
	ChangeType ChangeType      `protobuf:"varint,3,opt,name=change_type,json=changeType,proto3,enum=bucketeer.autoops.ChangeType" json:"change_type"`
}

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

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

func (*DatetimeClauseChange) ProtoMessage() {}

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

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

func (x *DatetimeClauseChange) GetClause() *DatetimeClause {
	if x != nil {
		return x.Clause
	}
	return nil
}

func (x *DatetimeClauseChange) GetChangeType() ChangeType {
	if x != nil {
		return x.ChangeType
	}
	return ChangeType_UNSPECIFIED
}

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

	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	// Deprecated: Do not use.
	AddOpsEventRateClauseCommands []*AddOpsEventRateClauseCommand `protobuf:"bytes,4,rep,name=add_ops_event_rate_clause_commands,json=addOpsEventRateClauseCommands,proto3" json:"add_ops_event_rate_clause_commands"`
	// Deprecated: Do not use.
	ChangeOpsEventRateClauseCommands []*ChangeOpsEventRateClauseCommand `protobuf:"bytes,5,rep,name=change_ops_event_rate_clause_commands,json=changeOpsEventRateClauseCommands,proto3" json:"change_ops_event_rate_clause_commands"`
	// Deprecated: Do not use.
	DeleteClauseCommands []*DeleteClauseCommand `protobuf:"bytes,6,rep,name=delete_clause_commands,json=deleteClauseCommands,proto3" json:"delete_clause_commands"`
	// Deprecated: Do not use.
	AddDatetimeClauseCommands []*AddDatetimeClauseCommand `protobuf:"bytes,7,rep,name=add_datetime_clause_commands,json=addDatetimeClauseCommands,proto3" json:"add_datetime_clause_commands"`
	// Deprecated: Do not use.
	ChangeDatetimeClauseCommands []*ChangeDatetimeClauseCommand `protobuf:"bytes,8,rep,name=change_datetime_clause_commands,json=changeDatetimeClauseCommands,proto3" json:"change_datetime_clause_commands"`
	EnvironmentId                string                         `protobuf:"bytes,9,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
	OpsEventRateClauseChanges    []*OpsEventRateClauseChange    `protobuf:"bytes,10,rep,name=ops_event_rate_clause_changes,json=opsEventRateClauseChanges,proto3" json:"ops_event_rate_clause_changes"`
	DatetimeClauseChanges        []*DatetimeClauseChange        `protobuf:"bytes,11,rep,name=datetime_clause_changes,json=datetimeClauseChanges,proto3" json:"datetime_clause_changes"`
}

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

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

func (*UpdateAutoOpsRuleRequest) ProtoMessage() {}

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

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

// Deprecated: Do not use.
func (x *UpdateAutoOpsRuleRequest) GetAddOpsEventRateClauseCommands() []*AddOpsEventRateClauseCommand {
	if x != nil {
		return x.AddOpsEventRateClauseCommands
	}
	return nil
}

// Deprecated: Do not use.
func (x *UpdateAutoOpsRuleRequest) GetChangeOpsEventRateClauseCommands() []*ChangeOpsEventRateClauseCommand {
	if x != nil {
		return x.ChangeOpsEventRateClauseCommands
	}
	return nil
}

// Deprecated: Do not use.
func (x *UpdateAutoOpsRuleRequest) GetDeleteClauseCommands() []*DeleteClauseCommand {
	if x != nil {
		return x.DeleteClauseCommands
	}
	return nil
}

// Deprecated: Do not use.
func (x *UpdateAutoOpsRuleRequest) GetAddDatetimeClauseCommands() []*AddDatetimeClauseCommand {
	if x != nil {
		return x.AddDatetimeClauseCommands
	}
	return nil
}

// Deprecated: Do not use.
func (x *UpdateAutoOpsRuleRequest) GetChangeDatetimeClauseCommands() []*ChangeDatetimeClauseCommand {
	if x != nil {
		return x.ChangeDatetimeClauseCommands
	}
	return nil
}

func (x *UpdateAutoOpsRuleRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

func (x *UpdateAutoOpsRuleRequest) GetOpsEventRateClauseChanges() []*OpsEventRateClauseChange {
	if x != nil {
		return x.OpsEventRateClauseChanges
	}
	return nil
}

func (x *UpdateAutoOpsRuleRequest) GetDatetimeClauseChanges() []*DatetimeClauseChange {
	if x != nil {
		return x.DatetimeClauseChanges
	}
	return nil
}

type UpdateAutoOpsRuleResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*UpdateAutoOpsRuleResponse) ProtoMessage() {}

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

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

	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	// Deprecated: Do not use.
	ExecuteAutoOpsRuleCommand *ExecuteAutoOpsRuleCommand `protobuf:"bytes,4,opt,name=execute_auto_ops_rule_command,json=executeAutoOpsRuleCommand,proto3" json:"execute_auto_ops_rule_command"`
	EnvironmentId             string                     `protobuf:"bytes,5,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
	ClauseId                  string                     `protobuf:"bytes,6,opt,name=clause_id,json=clauseId,proto3" json:"clause_id"`
}

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

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

func (*ExecuteAutoOpsRequest) ProtoMessage() {}

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

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

// Deprecated: Do not use.
func (x *ExecuteAutoOpsRequest) GetExecuteAutoOpsRuleCommand() *ExecuteAutoOpsRuleCommand {
	if x != nil {
		return x.ExecuteAutoOpsRuleCommand
	}
	return nil
}

func (x *ExecuteAutoOpsRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

func (x *ExecuteAutoOpsRequest) GetClauseId() string {
	if x != nil {
		return x.ClauseId
	}
	return ""
}

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

	AlreadyTriggered bool `protobuf:"varint,1,opt,name=already_triggered,json=alreadyTriggered,proto3" json:"already_triggered"`
}

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

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

func (*ExecuteAutoOpsResponse) ProtoMessage() {}

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

func (x *ExecuteAutoOpsResponse) GetAlreadyTriggered() bool {
	if x != nil {
		return x.AlreadyTriggered
	}
	return false
}

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

	PageSize       int64    `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size"`
	Cursor         string   `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor"`
	AutoOpsRuleIds []string `protobuf:"bytes,4,rep,name=auto_ops_rule_ids,json=autoOpsRuleIds,proto3" json:"auto_ops_rule_ids"`
	FeatureIds     []string `protobuf:"bytes,5,rep,name=feature_ids,json=featureIds,proto3" json:"feature_ids"`
	EnvironmentId  string   `protobuf:"bytes,6,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
}

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

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

func (*ListOpsCountsRequest) ProtoMessage() {}

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

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

func (x *ListOpsCountsRequest) GetCursor() string {
	if x != nil {
		return x.Cursor
	}
	return ""
}

func (x *ListOpsCountsRequest) GetAutoOpsRuleIds() []string {
	if x != nil {
		return x.AutoOpsRuleIds
	}
	return nil
}

func (x *ListOpsCountsRequest) GetFeatureIds() []string {
	if x != nil {
		return x.FeatureIds
	}
	return nil
}

func (x *ListOpsCountsRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

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

	Cursor    string      `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor"`
	OpsCounts []*OpsCount `protobuf:"bytes,2,rep,name=ops_counts,json=opsCounts,proto3" json:"ops_counts"`
}

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

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

func (*ListOpsCountsResponse) ProtoMessage() {}

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

func (x *ListOpsCountsResponse) GetCursor() string {
	if x != nil {
		return x.Cursor
	}
	return ""
}

func (x *ListOpsCountsResponse) GetOpsCounts() []*OpsCount {
	if x != nil {
		return x.OpsCounts
	}
	return nil
}

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

	// Deprecated: Do not use.
	Command                                  *CreateProgressiveRolloutCommand          `protobuf:"bytes,2,opt,name=command,proto3" json:"command"`
	EnvironmentId                            string                                    `protobuf:"bytes,3,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
	FeatureId                                string                                    `protobuf:"bytes,4,opt,name=feature_id,json=featureId,proto3" json:"feature_id"`
	ProgressiveRolloutManualScheduleClause   *ProgressiveRolloutManualScheduleClause   `protobuf:"bytes,5,opt,name=progressive_rollout_manual_schedule_clause,json=progressiveRolloutManualScheduleClause,proto3,oneof" json:"progressive_rollout_manual_schedule_clause"`
	ProgressiveRolloutTemplateScheduleClause *ProgressiveRolloutTemplateScheduleClause `protobuf:"bytes,6,opt,name=progressive_rollout_template_schedule_clause,json=progressiveRolloutTemplateScheduleClause,proto3,oneof" json:"progressive_rollout_template_schedule_clause"`
}

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

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

func (*CreateProgressiveRolloutRequest) ProtoMessage() {}

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

// Deprecated: Use CreateProgressiveRolloutRequest.ProtoReflect.Descriptor instead.
func (*CreateProgressiveRolloutRequest) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{18}
}

// Deprecated: Do not use.
func (x *CreateProgressiveRolloutRequest) GetCommand() *CreateProgressiveRolloutCommand {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *CreateProgressiveRolloutRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

func (x *CreateProgressiveRolloutRequest) GetFeatureId() string {
	if x != nil {
		return x.FeatureId
	}
	return ""
}

func (x *CreateProgressiveRolloutRequest) GetProgressiveRolloutManualScheduleClause() *ProgressiveRolloutManualScheduleClause {
	if x != nil {
		return x.ProgressiveRolloutManualScheduleClause
	}
	return nil
}

func (x *CreateProgressiveRolloutRequest) GetProgressiveRolloutTemplateScheduleClause() *ProgressiveRolloutTemplateScheduleClause {
	if x != nil {
		return x.ProgressiveRolloutTemplateScheduleClause
	}
	return nil
}

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

	ProgressiveRollout *ProgressiveRollout `protobuf:"bytes,1,opt,name=progressive_rollout,json=progressiveRollout,proto3" json:"progressive_rollout"`
}

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

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

func (*CreateProgressiveRolloutResponse) ProtoMessage() {}

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

// Deprecated: Use CreateProgressiveRolloutResponse.ProtoReflect.Descriptor instead.
func (*CreateProgressiveRolloutResponse) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{19}
}

func (x *CreateProgressiveRolloutResponse) GetProgressiveRollout() *ProgressiveRollout {
	if x != nil {
		return x.ProgressiveRollout
	}
	return nil
}

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

	Id            string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	EnvironmentId string `protobuf:"bytes,3,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
}

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

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

func (*GetProgressiveRolloutRequest) ProtoMessage() {}

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

// Deprecated: Use GetProgressiveRolloutRequest.ProtoReflect.Descriptor instead.
func (*GetProgressiveRolloutRequest) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{20}
}

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

func (x *GetProgressiveRolloutRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

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

	ProgressiveRollout *ProgressiveRollout `protobuf:"bytes,1,opt,name=progressive_rollout,json=progressiveRollout,proto3" json:"progressive_rollout"`
}

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

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

func (*GetProgressiveRolloutResponse) ProtoMessage() {}

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

// Deprecated: Use GetProgressiveRolloutResponse.ProtoReflect.Descriptor instead.
func (*GetProgressiveRolloutResponse) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{21}
}

func (x *GetProgressiveRolloutResponse) GetProgressiveRollout() *ProgressiveRollout {
	if x != nil {
		return x.ProgressiveRollout
	}
	return nil
}

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

	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	// Deprecated: Do not use.
	Command       *StopProgressiveRolloutCommand `protobuf:"bytes,3,opt,name=command,proto3" json:"command"`
	EnvironmentId string                         `protobuf:"bytes,4,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
	StoppedBy     ProgressiveRollout_StoppedBy   `protobuf:"varint,5,opt,name=stopped_by,json=stoppedBy,proto3,enum=bucketeer.autoops.ProgressiveRollout_StoppedBy" json:"stopped_by"`
}

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

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

func (*StopProgressiveRolloutRequest) ProtoMessage() {}

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

// Deprecated: Use StopProgressiveRolloutRequest.ProtoReflect.Descriptor instead.
func (*StopProgressiveRolloutRequest) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{22}
}

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

// Deprecated: Do not use.
func (x *StopProgressiveRolloutRequest) GetCommand() *StopProgressiveRolloutCommand {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *StopProgressiveRolloutRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

func (x *StopProgressiveRolloutRequest) GetStoppedBy() ProgressiveRollout_StoppedBy {
	if x != nil {
		return x.StoppedBy
	}
	return ProgressiveRollout_UNKNOWN
}

type StopProgressiveRolloutResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*StopProgressiveRolloutResponse) ProtoMessage() {}

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

// Deprecated: Use StopProgressiveRolloutResponse.ProtoReflect.Descriptor instead.
func (*StopProgressiveRolloutResponse) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{23}
}

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

	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	// Deprecated: Do not use.
	Command       *DeleteProgressiveRolloutCommand `protobuf:"bytes,3,opt,name=command,proto3" json:"command"`
	EnvironmentId string                           `protobuf:"bytes,4,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
}

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

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

func (*DeleteProgressiveRolloutRequest) ProtoMessage() {}

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

// Deprecated: Use DeleteProgressiveRolloutRequest.ProtoReflect.Descriptor instead.
func (*DeleteProgressiveRolloutRequest) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{24}
}

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

// Deprecated: Do not use.
func (x *DeleteProgressiveRolloutRequest) GetCommand() *DeleteProgressiveRolloutCommand {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *DeleteProgressiveRolloutRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

type DeleteProgressiveRolloutResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*DeleteProgressiveRolloutResponse) ProtoMessage() {}

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

// Deprecated: Use DeleteProgressiveRolloutResponse.ProtoReflect.Descriptor instead.
func (*DeleteProgressiveRolloutResponse) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{25}
}

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

	PageSize       int64                                         `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size"`
	Cursor         string                                        `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor"`
	FeatureIds     []string                                      `protobuf:"bytes,4,rep,name=feature_ids,json=featureIds,proto3" json:"feature_ids"`
	OrderBy        ListProgressiveRolloutsRequest_OrderBy        `protobuf:"varint,5,opt,name=order_by,json=orderBy,proto3,enum=bucketeer.autoops.ListProgressiveRolloutsRequest_OrderBy" json:"order_by"`
	OrderDirection ListProgressiveRolloutsRequest_OrderDirection `protobuf:"varint,6,opt,name=order_direction,json=orderDirection,proto3,enum=bucketeer.autoops.ListProgressiveRolloutsRequest_OrderDirection" json:"order_direction"`
	Status         *ProgressiveRollout_Status                    `protobuf:"varint,7,opt,name=status,proto3,enum=bucketeer.autoops.ProgressiveRollout_Status,oneof" json:"status"`
	Type           *ProgressiveRollout_Type                      `protobuf:"varint,8,opt,name=type,proto3,enum=bucketeer.autoops.ProgressiveRollout_Type,oneof" json:"type"`
	EnvironmentId  string                                        `protobuf:"bytes,9,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
}

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

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

func (*ListProgressiveRolloutsRequest) ProtoMessage() {}

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

// Deprecated: Use ListProgressiveRolloutsRequest.ProtoReflect.Descriptor instead.
func (*ListProgressiveRolloutsRequest) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{26}
}

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

func (x *ListProgressiveRolloutsRequest) GetCursor() string {
	if x != nil {
		return x.Cursor
	}
	return ""
}

func (x *ListProgressiveRolloutsRequest) GetFeatureIds() []string {
	if x != nil {
		return x.FeatureIds
	}
	return nil
}

func (x *ListProgressiveRolloutsRequest) GetOrderBy() ListProgressiveRolloutsRequest_OrderBy {
	if x != nil {
		return x.OrderBy
	}
	return ListProgressiveRolloutsRequest_DEFAULT
}

func (x *ListProgressiveRolloutsRequest) GetOrderDirection() ListProgressiveRolloutsRequest_OrderDirection {
	if x != nil {
		return x.OrderDirection
	}
	return ListProgressiveRolloutsRequest_ASC
}

func (x *ListProgressiveRolloutsRequest) GetStatus() ProgressiveRollout_Status {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ProgressiveRollout_WAITING
}

func (x *ListProgressiveRolloutsRequest) GetType() ProgressiveRollout_Type {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return ProgressiveRollout_MANUAL_SCHEDULE
}

func (x *ListProgressiveRolloutsRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

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

	ProgressiveRollouts []*ProgressiveRollout `protobuf:"bytes,1,rep,name=progressive_rollouts,json=progressiveRollouts,proto3" json:"progressive_rollouts"`
	Cursor              string                `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor"`
	TotalCount          int64                 `protobuf:"varint,3,opt,name=total_count,json=totalCount,proto3" json:"total_count"`
}

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

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

func (*ListProgressiveRolloutsResponse) ProtoMessage() {}

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

// Deprecated: Use ListProgressiveRolloutsResponse.ProtoReflect.Descriptor instead.
func (*ListProgressiveRolloutsResponse) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{27}
}

func (x *ListProgressiveRolloutsResponse) GetProgressiveRollouts() []*ProgressiveRollout {
	if x != nil {
		return x.ProgressiveRollouts
	}
	return nil
}

func (x *ListProgressiveRolloutsResponse) GetCursor() string {
	if x != nil {
		return x.Cursor
	}
	return ""
}

func (x *ListProgressiveRolloutsResponse) GetTotalCount() int64 {
	if x != nil {
		return x.TotalCount
	}
	return 0
}

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

	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id"`
	// Deprecated: Do not use.
	ChangeProgressiveRolloutTriggeredAtCommand *ChangeProgressiveRolloutScheduleTriggeredAtCommand `protobuf:"bytes,3,opt,name=change_progressive_rollout_triggered_at_command,json=changeProgressiveRolloutTriggeredAtCommand,proto3" json:"change_progressive_rollout_triggered_at_command"`
	EnvironmentId                              string                                              `protobuf:"bytes,4,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"`
	ScheduleId                                 string                                              `protobuf:"bytes,5,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id"`
}

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

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

func (*ExecuteProgressiveRolloutRequest) ProtoMessage() {}

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

// Deprecated: Use ExecuteProgressiveRolloutRequest.ProtoReflect.Descriptor instead.
func (*ExecuteProgressiveRolloutRequest) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{28}
}

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

// Deprecated: Do not use.
func (x *ExecuteProgressiveRolloutRequest) GetChangeProgressiveRolloutTriggeredAtCommand() *ChangeProgressiveRolloutScheduleTriggeredAtCommand {
	if x != nil {
		return x.ChangeProgressiveRolloutTriggeredAtCommand
	}
	return nil
}

func (x *ExecuteProgressiveRolloutRequest) GetEnvironmentId() string {
	if x != nil {
		return x.EnvironmentId
	}
	return ""
}

func (x *ExecuteProgressiveRolloutRequest) GetScheduleId() string {
	if x != nil {
		return x.ScheduleId
	}
	return ""
}

type ExecuteProgressiveRolloutResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ExecuteProgressiveRolloutResponse) ProtoMessage() {}

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

// Deprecated: Use ExecuteProgressiveRolloutResponse.ProtoReflect.Descriptor instead.
func (*ExecuteProgressiveRolloutResponse) Descriptor() ([]byte, []int) {
	return file_proto_autoops_service_proto_rawDescGZIP(), []int{29}
}

var File_proto_autoops_service_proto protoreflect.FileDescriptor

var file_proto_autoops_service_proto_rawDesc = []byte{
	0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2f,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73,
	0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,
	0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e,
	0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e,
	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x21, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2f, 0x61,
	0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x1a, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70,
	0x73, 0x2f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2f, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2f, 0x6f, 0x70, 0x73, 0x5f, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,
	0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70,
	0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d,
	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08,
	0x01, 0x10, 0x02, 0x22, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70,
	0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a,
	0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72,
	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73,
	0x52, 0x75, 0x6c, 0x65, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c,
	0x65, 0x22, 0xb0, 0x03, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f,
	0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58,
	0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6f, 0x70, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70,
	0x73, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x11, 0x18, 0x01,
	0x92, 0x41, 0x0c, 0x32, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52,
	0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69,
	0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
	0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f,
	0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x66,
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x08, 0x6f, 0x70, 0x73, 0x5f,
	0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x62, 0x75, 0x63,
	0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x4f,
	0x70, 0x73, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6f, 0x70, 0x73,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x5a, 0x0a, 0x16, 0x6f, 0x70, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e,
	0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, 0x06,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72,
	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x4f, 0x70, 0x73, 0x45, 0x76, 0x65, 0x6e,
	0x74, 0x52, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x13, 0x6f, 0x70, 0x73,
	0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73,
	0x12, 0x4c, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6c, 0x61,
	0x75, 0x73, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x75, 0x63,
	0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x44,
	0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0f, 0x64,
	0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x4a, 0x04,
	0x08, 0x01, 0x10, 0x02, 0x22, 0x5f, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75,
	0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x42, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75,
	0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65,
	0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x41, 0x75, 0x74,
	0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x4f, 0x70,
	0x73, 0x52, 0x75, 0x6c, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75,
	0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16,
	0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x65, 0x61,
	0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72,
	0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
	0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x78, 0x0a, 0x18, 0x4c, 0x69, 0x73,
	0x74, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70,
	0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70,
	0x73, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0c, 0x61,
	0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63,
	0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72,
	0x73, 0x6f, 0x72, 0x22, 0xb7, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x75, 0x74, 0x6f,
	0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x56, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72,
	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x75, 0x74,
	0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42,
	0x11, 0x18, 0x01, 0x92, 0x41, 0x0c, 0x32, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74,
	0x65, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x65,
	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x19, 0x0a,
	0x17, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x58, 0x0a, 0x07, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x75,
	0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c,
	0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x11, 0x18, 0x01, 0x92, 0x41, 0x0c, 0x32,
	0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
	0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64,
	0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x8f, 0x02, 0x0a, 0x18, 0x4f, 0x70, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x52, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x9d, 0x01, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x25, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75,
	0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x4f, 0x70, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61,
	0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x42, 0x5e, 0x92, 0x41, 0x5b, 0x32, 0x59, 0x54,
	0x68, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20,
	0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x66, 0x69,
	0x6c, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61,
	0x75, 0x73, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2e, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65,
	0x12, 0x43, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65,
	0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x87, 0x02, 0x0a, 0x14, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69,
	0x6d, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x99,
	0x01, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x21, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6f, 0x70, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x75,
	0x73, 0x65, 0x42, 0x5e, 0x92, 0x41, 0x5b, 0x32, 0x59, 0x54, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x61,
	0x75, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62,
	0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x69,
	0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x72, 0x20,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x20, 0x61, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x2e, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x63, 0x68,
	0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x1d, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6f, 0x70, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22,
	0xd8, 0x07, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70,
	0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x8d, 0x01, 0x0a,
	0x22, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72,
	0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x62, 0x75, 0x63, 0x6b,
	0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x41, 0x64,
	0x64, 0x4f, 0x70, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61,
	0x75, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x11, 0x18, 0x01, 0x92, 0x41,
	0x0c, 0x32, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x1d, 0x61,
	0x64, 0x64, 0x4f, 0x70, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x43, 0x6c,
	0x61, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x96, 0x01, 0x0a,
	0x25, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e,
	0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73,
	0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52,
	0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
	0x42, 0x11, 0x18, 0x01, 0x92, 0x41, 0x0c, 0x32, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
	0x74, 0x65, 0x64, 0x52, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x73, 0x45, 0x76,
	0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x6f, 0x0a, 0x16, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f,
	0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18,
	0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65,
	0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x11, 0x18,
	0x01, 0x92, 0x41, 0x0c, 0x32, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64,
	0x52, 0x14, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x7f, 0x0a, 0x1c, 0x61, 0x64, 0x64, 0x5f, 0x64, 0x61,
	0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73,
	0x2e, 0x41, 0x64, 0x64, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x75,
	0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x11, 0x18, 0x01, 0x92, 0x41, 0x0c,
	0x32, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x19, 0x61, 0x64,
	0x64, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x88, 0x01, 0x0a, 0x1f, 0x63, 0x68, 0x61, 0x6e,
	0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75,
	0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x2e, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75,
	0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65,
	0x74, 0x69, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x42, 0x11, 0x18, 0x01, 0x92, 0x41, 0x0c, 0x32, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x52, 0x1c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65,
	0x74, 0x69, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x6d,
	0x0a, 0x1d, 0x6f, 0x70, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65,
	0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18,
	0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65,
	0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x4f, 0x70, 0x73, 0x45, 0x76, 0x65,
	0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e,
	0x67, 0x65, 0x52, 0x19, 0x6f, 0x70, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65,
	0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x5f, 0x0a,
	0x17, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65,
	0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27,
	0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f,
	0x70, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73,
	0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x15, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d,
	0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x4a, 0x04,
	0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63,
	0x75, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x72, 0x0a, 0x1d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74,
	0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f,
	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70,
	0x73, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73,
	0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x19, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52,
	0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x65, 0x6e,
	0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
	0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65,
	0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08,
	0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04,
	0x08, 0x03, 0x10, 0x04, 0x22, 0x45, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41,
	0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b,
	0x0a, 0x11, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
	0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x72, 0x65, 0x61,
	0x64, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x14,
	0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x75, 0x74,
	0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c,
	0x65, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f,
	0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
	0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65,
	0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01,
	0x10, 0x02, 0x22, 0x6b, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x73, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63,
	0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72,
	0x73, 0x6f, 0x72, 0x12, 0x3a, 0x0a, 0x0a, 0x6f, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
	0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x4f, 0x70, 0x73, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x09, 0x6f, 0x70, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22,
	0xf8, 0x04, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
	0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72,
	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50,
	0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75,
	0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x11, 0x18, 0x01, 0x92, 0x41, 0x0c, 0x32,
	0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
	0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x02, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64,
	0x12, 0x22, 0x0a, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x66, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x49, 0x64, 0x12, 0x9a, 0x01, 0x0a, 0x2a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x6e,
	0x75, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61,
	0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x62, 0x75, 0x63, 0x6b,
	0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x50, 0x72,
	0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74,
	0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6c,
	0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x26, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c,
	0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x88, 0x01,
	0x01, 0x12, 0xa0, 0x01, 0x0a, 0x2c, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76,
	0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
	0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75,
	0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65,
	0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x50, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x54,
	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43,
	0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x01, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c,
	0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73,
	0x65, 0x88, 0x01, 0x01, 0x42, 0x2d, 0x0a, 0x2b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x6e,
	0x75, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61,
	0x75, 0x73, 0x65, 0x42, 0x2f, 0x0a, 0x2d, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70,
	0x6c, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6c,
	0x61, 0x75, 0x73, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x7a, 0x0a, 0x20, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52,
	0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56,
	0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f,
	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62, 0x75,
	0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e,
	0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f,
	0x75, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52,
	0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x22, 0x5b, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08,
	0x01, 0x10, 0x02, 0x22, 0x77, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
	0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x25, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75,
	0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76,
	0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,
	0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x22, 0x8b, 0x02, 0x0a,
	0x1d, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65,
	0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x5d,
	0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x30, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6f, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x42, 0x11, 0x18, 0x01, 0x92, 0x41, 0x0c, 0x32, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x25, 0x0a,
	0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
	0x6e, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f,
	0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65,
	0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x50, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e,
	0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x42, 0x79, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70,
	0x65, 0x64, 0x42, 0x79, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x74,
	0x6f, 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c,
	0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x01, 0x0a,
	0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69,
	0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x5f, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x32, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75,
	0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67,
	0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x43, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x11, 0x18, 0x01, 0x92, 0x41, 0x0c, 0x32, 0x0a, 0x64, 0x65,
	0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72,
	0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x22,
	0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0xe5, 0x04, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72,
	0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
	0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
	0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x12, 0x54, 0x0a, 0x08, 0x6f,
	0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e,
	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70,
	0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76,
	0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42,
	0x79, 0x12, 0x69, 0x0a, 0x0f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x62, 0x75, 0x63,
	0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x4c,
	0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f,
	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6f, 0x72,
	0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x06,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73,
	0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c,
	0x6f, 0x75, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65,
	0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
	0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x54, 0x79, 0x70,
	0x65, 0x48, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e,
	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
	0x74, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x0b,
	0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43,
	0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x55,
	0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x02, 0x22, 0x23, 0x0a, 0x0e, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a,
	0x03, 0x41, 0x53, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x01,
	0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f,
	0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xb4, 0x01, 0x0a, 0x1f, 0x4c,
	0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f,
	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58,
	0x0a, 0x14, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f,
	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73,
	0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c,
	0x6f, 0x75, 0x74, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65,
	0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73,
	0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
	0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x22, 0xc0, 0x02, 0x0a, 0x20, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0xbd, 0x01, 0x0a, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67,
	0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f,
	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x5f,
	0x61, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x45, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74,
	0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72,
	0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x53, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x41, 0x74,
	0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x11, 0x18, 0x01, 0x92, 0x41, 0x0c, 0x32, 0x0a,
	0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x2a, 0x63, 0x68, 0x61, 0x6e,
	0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c,
	0x6c, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x41, 0x74, 0x43,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f,
	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
	0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a,
	0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x4a, 0x04,
	0x08, 0x01, 0x10, 0x02, 0x22, 0x23, 0x0a, 0x21, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50,
	0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x41, 0x0a, 0x0a, 0x43, 0x68, 0x61,
	0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45,
	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41,
	0x54, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02,
	0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x32, 0xf1, 0x4b, 0x0a,
	0x0e, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
	0xcd, 0x05, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75,
	0x6c, 0x65, 0x12, 0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70,
	0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73,
	0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe5, 0x04, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13,
	0x12, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72,
	0x75, 0x6c, 0x65, 0x92, 0x41, 0xc8, 0x04, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70,
	0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0x47, 0x65, 0x74, 0x1a, 0x15, 0x47, 0x65, 0x74,
	0x20, 0x61, 0x6e, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x70, 0x73, 0x20, 0x72, 0x75, 0x6c,
	0x65, 0x2e, 0x2a, 0x18, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x5f,
	0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x67, 0x65, 0x74, 0x4a, 0xb4, 0x01, 0x0a,
	0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65,
	0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65,
	0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61,
	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12,
	0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69,
	0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b,
	0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f,
	0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
	0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a,
	0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f,
	0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
	0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0x94, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x34,
	0x12, 0x8c, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68,
	0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20,
	0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x12, 0x16, 0x0a,
	0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x34, 0x7b, 0x20, 0x22, 0x63, 0x6f,
	0x64, 0x65, 0x22, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x2c, 0x20,
	0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12,
	0xbe, 0x04, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52,
	0x75, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72,
	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74,
	0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74,
	0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73,
	0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd0, 0x03,
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f,
	0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x92, 0x41, 0xb2, 0x03, 0x0a, 0x0d,
	0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x04, 0x4c,
	0x69, 0x73, 0x74, 0x1a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f,
	0x70, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x2a, 0x19, 0x77, 0x65, 0x62, 0x2e, 0x76,
	0x31, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e,
	0x6c, 0x69, 0x73, 0x74, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a,
	0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61,
	0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20,
	0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a,
	0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65,
	0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a,
	0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74,
	0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03,
	0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20,
	0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74,
	0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68,
	0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69,
	0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a,
	0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f,
	0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c,
	0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74,
	0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c,
	0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d,
	0x12, 0xcb, 0x04, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f,
	0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65,
	0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e,
	0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75,
	0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0xda, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22, 0x11, 0x2f, 0x76, 0x31, 0x2f,
	0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x3a, 0x01, 0x2a,
	0x92, 0x41, 0xba, 0x03, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72,
	0x75, 0x6c, 0x65, 0x12, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x18, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x70, 0x73, 0x20,
	0x72, 0x75, 0x6c, 0x65, 0x2e, 0x2a, 0x1b, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x61, 0x75,
	0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52,
	0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61,
	0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a,
	0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22,
	0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30,
	0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f,
	0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
	0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
	0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61,
	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12,
	0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61,
	0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22,
	0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xdb,
	0x05, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75,
	0x6c, 0x65, 0x12, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x4f,
	0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e,
	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70,
	0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf0, 0x04, 0x82, 0xd3, 0xe4, 0x93,
	0x02, 0x1b, 0x22, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73,
	0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xcb,
	0x04, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65,
	0x12, 0x04, 0x53, 0x74, 0x6f, 0x70, 0x1a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x20, 0x61, 0x6e, 0x20,
	0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x70, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x2a, 0x19,
	0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f,
	0x72, 0x75, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30,
	0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66,
	0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20,
	0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61,
	0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
	0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
	0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20,
	0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61,
	0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c,
	0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d,
	0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62,
	0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20,
	0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22,
	0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a,
	0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a,
	0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0x94, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x8c, 0x01,
	0x0a, 0x28, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20,
	0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20,
	0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x22, 0x48, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x34, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22,
	0x3a, 0x20, 0x35, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20,
	0x22, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65,
	0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xc8, 0x04, 0x0a,
	0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75,
	0x6c, 0x65, 0x12, 0x2b, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74,
	0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x2c, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6f, 0x70, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70,
	0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd7, 0x03,
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f,
	0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x92, 0x41, 0xba, 0x03, 0x0a, 0x0d, 0x61,
	0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x06, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x1a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20,
	0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x70, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x2a, 0x1b,
	0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f,
	0x72, 0x75, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0xb4, 0x01, 0x0a, 0x03,
	0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64,
	0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20,
	0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70,
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42,
	0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d,
	0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74,
	0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
	0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14,
	0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64,
	0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
	0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
	0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xe2, 0x05, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2b, 0x2e,
	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70,
	0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52,
	0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x62, 0x75, 0x63,
	0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x75, 0x6c, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf1, 0x04, 0x82, 0xd3, 0xe4, 0x93, 0x02,
	0x16, 0x32, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f,
	0x72, 0x75, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xd1, 0x04, 0x0a, 0x0d, 0x61, 0x75, 0x74,
	0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x06, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x1a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x75,
	0x74, 0x6f, 0x20, 0x6f, 0x70, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x2a, 0x1b, 0x77, 0x65,
	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75,
	0x6c, 0x65, 0x2e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30,
	0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66,
	0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20,
	0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61,
	0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
	0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
	0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20,
	0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61,
	0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c,
	0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d,
	0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62,
	0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20,
	0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
	0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22,
	0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a,
	0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a,
	0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0x94, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x8c, 0x01,
	0x0a, 0x28, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20,
	0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20,
	0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x22, 0x48, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x34, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22,
	0x3a, 0x20, 0x35, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20,
	0x22, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65,
	0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xf2, 0x05, 0x0a,
	0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x12,
	0x28, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f,
	0x6f, 0x70, 0x73, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f,
	0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x62, 0x75, 0x63, 0x6b,
	0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x45, 0x78,
	0x65, 0x63, 0x75, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4f, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x05, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f,
	0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65,
	0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xe2, 0x04, 0x0a,
	0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x15,
	0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x20, 0x4f, 0x70, 0x73,
	0x20, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x20, 0x61,
	0x6e, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x6f, 0x70, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e,
	0x2a, 0x1c, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70,
	0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4a, 0xb4,
	0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72,
	0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61,
	0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a,
	0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f,
	0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20,
	0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a,
	0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01,
	0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20,
	0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12,
	0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22,
	0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61,
	0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0x94, 0x01, 0x0a, 0x03, 0x34,
	0x30, 0x34, 0x12, 0x8c, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20,
	0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x12,
	0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x34, 0x7b, 0x20, 0x22,
	0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22,
	0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20,
	0x7d, 0x12, 0xcd, 0x04, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x73, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e,
	0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x73, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73,
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe8, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12,
	0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x75,
	0x6c, 0x65, 0x2f, 0x6f, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x92, 0x41, 0xc0,
	0x03, 0x0a, 0x09, 0x6f, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0f, 0x4c, 0x69,
	0x73, 0x74, 0x20, 0x4f, 0x70, 0x73, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0x10, 0x4c,
	0x69, 0x73, 0x74, 0x20, 0x6f, 0x70, 0x73, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x2a,
	0x24, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x70, 0x73,
	0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01,
	0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62,
	0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74,
	0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
	0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14,
	0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64,
	0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
	0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65,
	0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a,
	0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75,
	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74,
	0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75,
	0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51,
	0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73,
	0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36,
	0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f,
	0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22,
	0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20,
	0x7d, 0x12, 0xf7, 0x04, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67,
	0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x32,
	0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f,
	0x70, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x33, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf1, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c,
	0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76,
	0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x3a, 0x01, 0x2a, 0x92, 0x41, 0xcb, 0x03,
	0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f,
	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x1d, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x69, 0x76, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x2a, 0x21, 0x77, 0x65,
	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65,
	0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a,
	0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75,
	0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68,
	0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56,
	0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73,
	0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c,
	0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22,
	0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa,
	0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64,
	0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
	0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e,
	0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
	0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20,
	0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68,
	0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74,
	0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xf9, 0x05, 0x0a, 0x15,
	0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f,
	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x2f, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65,
	0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65,
	0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72,
	0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x04, 0x82, 0xd3, 0xe4, 0x93, 0x02,
	0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69,
	0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x92, 0x41, 0xd9, 0x04, 0x0a, 0x13,
	0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c,
	0x6f, 0x75, 0x74, 0x12, 0x03, 0x47, 0x65, 0x74, 0x1a, 0x1a, 0x47, 0x65, 0x74, 0x20, 0x61, 0x20,
	0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x6c,
	0x6f, 0x75, 0x74, 0x2e, 0x2a, 0x1e, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74,
	0x2e, 0x67, 0x65, 0x74, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a,
	0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61,
	0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20,
	0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a,
	0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65,
	0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a,
	0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74,
	0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03,
	0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20,
	0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74,
	0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68,
	0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69,
	0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a,
	0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f,
	0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c,
	0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74,
	0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c,
	0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d,
	0x4a, 0x94, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x8c, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x74,
	0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66,
	0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a,
	0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f,
	0x6e, 0x12, 0x34, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x35, 0x2c, 0x20,
	0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20,
	0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
	0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0x87, 0x06, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70,
	0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f,
	0x75, 0x74, 0x12, 0x30, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72,
	0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72,
	0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x87, 0x05, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21,
	0x32, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76,
	0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x3a, 0x01,
	0x2a, 0x92, 0x41, 0xdc, 0x04, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69,
	0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x04, 0x53, 0x74, 0x6f, 0x70,
	0x1a, 0x1b, 0x53, 0x74, 0x6f, 0x70, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x76, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x2a, 0x1f, 0x77,
	0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76,
	0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x73, 0x74, 0x6f, 0x70, 0x4a, 0xb4,
	0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72,
	0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61,
	0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a,
	0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f,
	0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20,
	0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a,
	0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01,
	0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20,
	0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12,
	0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22,
	0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61,
	0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0x94, 0x01, 0x0a, 0x03, 0x34,
	0x30, 0x34, 0x12, 0x8c, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20,
	0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x12,
	0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x34, 0x7b, 0x20, 0x22,
	0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22,
	0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20,
	0x7d, 0x12, 0x8b, 0x06, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67,
	0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x32,
	0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f,
	0x70, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x33, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61,
	0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f,
	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x05, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19,
	0x2a, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76,
	0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x92, 0x41, 0xe2, 0x04, 0x0a, 0x13, 0x70,
	0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f,
	0x75, 0x74, 0x12, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x1d, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65,
	0x20, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x2a, 0x21, 0x77, 0x65, 0x62, 0x2e, 0x76,
	0x31, 0x2e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f,
	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0xb4, 0x01, 0x0a,
	0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65,
	0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65,
	0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10, 0x61,
	0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12,
	0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69,
	0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b,
	0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a, 0x3d,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f,
	0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
	0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16, 0x0a,
	0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63, 0x6f,
	0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
	0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0x94, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x34,
	0x12, 0x8c, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68,
	0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20,
	0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x12, 0x16, 0x0a,
	0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x34, 0x7b, 0x20, 0x22, 0x63, 0x6f,
	0x64, 0x65, 0x22, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x2c, 0x20,
	0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12,
	0xeb, 0x04, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x62, 0x75,
	0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e,
	0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52,
	0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32,
	0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f,
	0x70, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69,
	0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0xe8, 0x03, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31,
	0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c,
	0x6c, 0x6f, 0x75, 0x74, 0x73, 0x92, 0x41, 0xc4, 0x03, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72,
	0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x04,
	0x4c, 0x69, 0x73, 0x74, 0x1a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72,
	0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x73, 0x2e,
	0x2a, 0x1f, 0x77, 0x65, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x6c, 0x69, 0x73,
	0x74, 0x4a, 0xb4, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65,
	0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79,
	0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c,
	0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x22, 0x56, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f,
	0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20,
	0x33, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69,
	0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31,
	0x12, 0xaa, 0x01, 0x0a, 0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75,
	0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
	0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
	0x29, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70,
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d,
	0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75,
	0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64,
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x12, 0xb0, 0x06,
	0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x33, 0x2e, 0x62, 0x75,
	0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x2e,
	0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69,
	0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x34, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2e, 0x61, 0x75, 0x74,
	0x6f, 0x6f, 0x70, 0x73, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x67,
	0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa7, 0x05, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x22,
	0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65,
	0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
	0x3a, 0x01, 0x2a, 0x92, 0x41, 0xf9, 0x04, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
	0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x12, 0x1b, 0x45, 0x78,
	0x65, 0x63, 0x75, 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76,
	0x65, 0x20, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x1a, 0x1e, 0x45, 0x78, 0x65, 0x63, 0x75,
	0x74, 0x65, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65,
	0x20, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x2a, 0x22, 0x77, 0x65, 0x62, 0x2e, 0x76,
	0x31, 0x2e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f,
	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x2e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x4a, 0xb4, 0x01,
	0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0xac, 0x01, 0x0a, 0x3a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e,
	0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x61, 0x64, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76,
	0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x10,
	0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e,
	0x12, 0x42, 0x7b, 0x20, 0x22, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x33, 0x2c, 0x20, 0x22,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x76, 0x61, 0x6c,
	0x69, 0x64, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20,
	0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0xb2, 0x01, 0x0a, 0x03, 0x34, 0x30, 0x31, 0x12, 0xaa, 0x01, 0x0a,
	0x3d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e,
	0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61,
	0x74, 0x65, 0x64, 0x20, 0x28, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x12, 0x16,
	0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x7b, 0x20, 0x22, 0x63,
	0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x36, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e,
	0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d, 0x4a, 0x94, 0x01, 0x0a, 0x03, 0x34, 0x30,
	0x34, 0x12, 0x8c, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77,
	0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x12, 0x16,
	0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x48, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x34, 0x7b, 0x20, 0x22, 0x63,
	0x6f, 0x64, 0x65, 0x22, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x22, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x2c,
	0x20, 0x22, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x5d, 0x20, 0x7d,
	0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62,
	0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2d, 0x69, 0x6f, 0x2f, 0x62, 0x75, 0x63, 0x6b,
	0x65, 0x74, 0x65, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61,
	0x75, 0x74, 0x6f, 0x6f, 0x70, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_proto_autoops_service_proto_rawDescOnce sync.Once
	file_proto_autoops_service_proto_rawDescData = file_proto_autoops_service_proto_rawDesc
)

func file_proto_autoops_service_proto_rawDescGZIP() []byte {
	file_proto_autoops_service_proto_rawDescOnce.Do(func() {
		file_proto_autoops_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_autoops_service_proto_rawDescData)
	})
	return file_proto_autoops_service_proto_rawDescData
}

var file_proto_autoops_service_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_proto_autoops_service_proto_msgTypes = make([]protoimpl.MessageInfo, 30)
var file_proto_autoops_service_proto_goTypes = []interface{}{
	(ChangeType)(0), // 0: bucketeer.autoops.ChangeType
	(ListProgressiveRolloutsRequest_OrderBy)(0),                // 1: bucketeer.autoops.ListProgressiveRolloutsRequest.OrderBy
	(ListProgressiveRolloutsRequest_OrderDirection)(0),         // 2: bucketeer.autoops.ListProgressiveRolloutsRequest.OrderDirection
	(*GetAutoOpsRuleRequest)(nil),                              // 3: bucketeer.autoops.GetAutoOpsRuleRequest
	(*GetAutoOpsRuleResponse)(nil),                             // 4: bucketeer.autoops.GetAutoOpsRuleResponse
	(*CreateAutoOpsRuleRequest)(nil),                           // 5: bucketeer.autoops.CreateAutoOpsRuleRequest
	(*CreateAutoOpsRuleResponse)(nil),                          // 6: bucketeer.autoops.CreateAutoOpsRuleResponse
	(*ListAutoOpsRulesRequest)(nil),                            // 7: bucketeer.autoops.ListAutoOpsRulesRequest
	(*ListAutoOpsRulesResponse)(nil),                           // 8: bucketeer.autoops.ListAutoOpsRulesResponse
	(*StopAutoOpsRuleRequest)(nil),                             // 9: bucketeer.autoops.StopAutoOpsRuleRequest
	(*StopAutoOpsRuleResponse)(nil),                            // 10: bucketeer.autoops.StopAutoOpsRuleResponse
	(*DeleteAutoOpsRuleRequest)(nil),                           // 11: bucketeer.autoops.DeleteAutoOpsRuleRequest
	(*DeleteAutoOpsRuleResponse)(nil),                          // 12: bucketeer.autoops.DeleteAutoOpsRuleResponse
	(*OpsEventRateClauseChange)(nil),                           // 13: bucketeer.autoops.OpsEventRateClauseChange
	(*DatetimeClauseChange)(nil),                               // 14: bucketeer.autoops.DatetimeClauseChange
	(*UpdateAutoOpsRuleRequest)(nil),                           // 15: bucketeer.autoops.UpdateAutoOpsRuleRequest
	(*UpdateAutoOpsRuleResponse)(nil),                          // 16: bucketeer.autoops.UpdateAutoOpsRuleResponse
	(*ExecuteAutoOpsRequest)(nil),                              // 17: bucketeer.autoops.ExecuteAutoOpsRequest
	(*ExecuteAutoOpsResponse)(nil),                             // 18: bucketeer.autoops.ExecuteAutoOpsResponse
	(*ListOpsCountsRequest)(nil),                               // 19: bucketeer.autoops.ListOpsCountsRequest
	(*ListOpsCountsResponse)(nil),                              // 20: bucketeer.autoops.ListOpsCountsResponse
	(*CreateProgressiveRolloutRequest)(nil),                    // 21: bucketeer.autoops.CreateProgressiveRolloutRequest
	(*CreateProgressiveRolloutResponse)(nil),                   // 22: bucketeer.autoops.CreateProgressiveRolloutResponse
	(*GetProgressiveRolloutRequest)(nil),                       // 23: bucketeer.autoops.GetProgressiveRolloutRequest
	(*GetProgressiveRolloutResponse)(nil),                      // 24: bucketeer.autoops.GetProgressiveRolloutResponse
	(*StopProgressiveRolloutRequest)(nil),                      // 25: bucketeer.autoops.StopProgressiveRolloutRequest
	(*StopProgressiveRolloutResponse)(nil),                     // 26: bucketeer.autoops.StopProgressiveRolloutResponse
	(*DeleteProgressiveRolloutRequest)(nil),                    // 27: bucketeer.autoops.DeleteProgressiveRolloutRequest
	(*DeleteProgressiveRolloutResponse)(nil),                   // 28: bucketeer.autoops.DeleteProgressiveRolloutResponse
	(*ListProgressiveRolloutsRequest)(nil),                     // 29: bucketeer.autoops.ListProgressiveRolloutsRequest
	(*ListProgressiveRolloutsResponse)(nil),                    // 30: bucketeer.autoops.ListProgressiveRolloutsResponse
	(*ExecuteProgressiveRolloutRequest)(nil),                   // 31: bucketeer.autoops.ExecuteProgressiveRolloutRequest
	(*ExecuteProgressiveRolloutResponse)(nil),                  // 32: bucketeer.autoops.ExecuteProgressiveRolloutResponse
	(*AutoOpsRule)(nil),                                        // 33: bucketeer.autoops.AutoOpsRule
	(*CreateAutoOpsRuleCommand)(nil),                           // 34: bucketeer.autoops.CreateAutoOpsRuleCommand
	(OpsType)(0),                                               // 35: bucketeer.autoops.OpsType
	(*OpsEventRateClause)(nil),                                 // 36: bucketeer.autoops.OpsEventRateClause
	(*DatetimeClause)(nil),                                     // 37: bucketeer.autoops.DatetimeClause
	(*StopAutoOpsRuleCommand)(nil),                             // 38: bucketeer.autoops.StopAutoOpsRuleCommand
	(*DeleteAutoOpsRuleCommand)(nil),                           // 39: bucketeer.autoops.DeleteAutoOpsRuleCommand
	(*AddOpsEventRateClauseCommand)(nil),                       // 40: bucketeer.autoops.AddOpsEventRateClauseCommand
	(*ChangeOpsEventRateClauseCommand)(nil),                    // 41: bucketeer.autoops.ChangeOpsEventRateClauseCommand
	(*DeleteClauseCommand)(nil),                                // 42: bucketeer.autoops.DeleteClauseCommand
	(*AddDatetimeClauseCommand)(nil),                           // 43: bucketeer.autoops.AddDatetimeClauseCommand
	(*ChangeDatetimeClauseCommand)(nil),                        // 44: bucketeer.autoops.ChangeDatetimeClauseCommand
	(*ExecuteAutoOpsRuleCommand)(nil),                          // 45: bucketeer.autoops.ExecuteAutoOpsRuleCommand
	(*OpsCount)(nil),                                           // 46: bucketeer.autoops.OpsCount
	(*CreateProgressiveRolloutCommand)(nil),                    // 47: bucketeer.autoops.CreateProgressiveRolloutCommand
	(*ProgressiveRolloutManualScheduleClause)(nil),             // 48: bucketeer.autoops.ProgressiveRolloutManualScheduleClause
	(*ProgressiveRolloutTemplateScheduleClause)(nil),           // 49: bucketeer.autoops.ProgressiveRolloutTemplateScheduleClause
	(*ProgressiveRollout)(nil),                                 // 50: bucketeer.autoops.ProgressiveRollout
	(*StopProgressiveRolloutCommand)(nil),                      // 51: bucketeer.autoops.StopProgressiveRolloutCommand
	(ProgressiveRollout_StoppedBy)(0),                          // 52: bucketeer.autoops.ProgressiveRollout.StoppedBy
	(*DeleteProgressiveRolloutCommand)(nil),                    // 53: bucketeer.autoops.DeleteProgressiveRolloutCommand
	(ProgressiveRollout_Status)(0),                             // 54: bucketeer.autoops.ProgressiveRollout.Status
	(ProgressiveRollout_Type)(0),                               // 55: bucketeer.autoops.ProgressiveRollout.Type
	(*ChangeProgressiveRolloutScheduleTriggeredAtCommand)(nil), // 56: bucketeer.autoops.ChangeProgressiveRolloutScheduleTriggeredAtCommand
}
var file_proto_autoops_service_proto_depIdxs = []int32{
	33, // 0: bucketeer.autoops.GetAutoOpsRuleResponse.auto_ops_rule:type_name -> bucketeer.autoops.AutoOpsRule
	34, // 1: bucketeer.autoops.CreateAutoOpsRuleRequest.command:type_name -> bucketeer.autoops.CreateAutoOpsRuleCommand
	35, // 2: bucketeer.autoops.CreateAutoOpsRuleRequest.ops_type:type_name -> bucketeer.autoops.OpsType
	36, // 3: bucketeer.autoops.CreateAutoOpsRuleRequest.ops_event_rate_clauses:type_name -> bucketeer.autoops.OpsEventRateClause
	37, // 4: bucketeer.autoops.CreateAutoOpsRuleRequest.datetime_clauses:type_name -> bucketeer.autoops.DatetimeClause
	33, // 5: bucketeer.autoops.CreateAutoOpsRuleResponse.auto_ops_rule:type_name -> bucketeer.autoops.AutoOpsRule
	33, // 6: bucketeer.autoops.ListAutoOpsRulesResponse.auto_ops_rules:type_name -> bucketeer.autoops.AutoOpsRule
	38, // 7: bucketeer.autoops.StopAutoOpsRuleRequest.command:type_name -> bucketeer.autoops.StopAutoOpsRuleCommand
	39, // 8: bucketeer.autoops.DeleteAutoOpsRuleRequest.command:type_name -> bucketeer.autoops.DeleteAutoOpsRuleCommand
	36, // 9: bucketeer.autoops.OpsEventRateClauseChange.clause:type_name -> bucketeer.autoops.OpsEventRateClause
	0,  // 10: bucketeer.autoops.OpsEventRateClauseChange.change_type:type_name -> bucketeer.autoops.ChangeType
	37, // 11: bucketeer.autoops.DatetimeClauseChange.clause:type_name -> bucketeer.autoops.DatetimeClause
	0,  // 12: bucketeer.autoops.DatetimeClauseChange.change_type:type_name -> bucketeer.autoops.ChangeType
	40, // 13: bucketeer.autoops.UpdateAutoOpsRuleRequest.add_ops_event_rate_clause_commands:type_name -> bucketeer.autoops.AddOpsEventRateClauseCommand
	41, // 14: bucketeer.autoops.UpdateAutoOpsRuleRequest.change_ops_event_rate_clause_commands:type_name -> bucketeer.autoops.ChangeOpsEventRateClauseCommand
	42, // 15: bucketeer.autoops.UpdateAutoOpsRuleRequest.delete_clause_commands:type_name -> bucketeer.autoops.DeleteClauseCommand
	43, // 16: bucketeer.autoops.UpdateAutoOpsRuleRequest.add_datetime_clause_commands:type_name -> bucketeer.autoops.AddDatetimeClauseCommand
	44, // 17: bucketeer.autoops.UpdateAutoOpsRuleRequest.change_datetime_clause_commands:type_name -> bucketeer.autoops.ChangeDatetimeClauseCommand
	13, // 18: bucketeer.autoops.UpdateAutoOpsRuleRequest.ops_event_rate_clause_changes:type_name -> bucketeer.autoops.OpsEventRateClauseChange
	14, // 19: bucketeer.autoops.UpdateAutoOpsRuleRequest.datetime_clause_changes:type_name -> bucketeer.autoops.DatetimeClauseChange
	45, // 20: bucketeer.autoops.ExecuteAutoOpsRequest.execute_auto_ops_rule_command:type_name -> bucketeer.autoops.ExecuteAutoOpsRuleCommand
	46, // 21: bucketeer.autoops.ListOpsCountsResponse.ops_counts:type_name -> bucketeer.autoops.OpsCount
	47, // 22: bucketeer.autoops.CreateProgressiveRolloutRequest.command:type_name -> bucketeer.autoops.CreateProgressiveRolloutCommand
	48, // 23: bucketeer.autoops.CreateProgressiveRolloutRequest.progressive_rollout_manual_schedule_clause:type_name -> bucketeer.autoops.ProgressiveRolloutManualScheduleClause
	49, // 24: bucketeer.autoops.CreateProgressiveRolloutRequest.progressive_rollout_template_schedule_clause:type_name -> bucketeer.autoops.ProgressiveRolloutTemplateScheduleClause
	50, // 25: bucketeer.autoops.CreateProgressiveRolloutResponse.progressive_rollout:type_name -> bucketeer.autoops.ProgressiveRollout
	50, // 26: bucketeer.autoops.GetProgressiveRolloutResponse.progressive_rollout:type_name -> bucketeer.autoops.ProgressiveRollout
	51, // 27: bucketeer.autoops.StopProgressiveRolloutRequest.command:type_name -> bucketeer.autoops.StopProgressiveRolloutCommand
	52, // 28: bucketeer.autoops.StopProgressiveRolloutRequest.stopped_by:type_name -> bucketeer.autoops.ProgressiveRollout.StoppedBy
	53, // 29: bucketeer.autoops.DeleteProgressiveRolloutRequest.command:type_name -> bucketeer.autoops.DeleteProgressiveRolloutCommand
	1,  // 30: bucketeer.autoops.ListProgressiveRolloutsRequest.order_by:type_name -> bucketeer.autoops.ListProgressiveRolloutsRequest.OrderBy
	2,  // 31: bucketeer.autoops.ListProgressiveRolloutsRequest.order_direction:type_name -> bucketeer.autoops.ListProgressiveRolloutsRequest.OrderDirection
	54, // 32: bucketeer.autoops.ListProgressiveRolloutsRequest.status:type_name -> bucketeer.autoops.ProgressiveRollout.Status
	55, // 33: bucketeer.autoops.ListProgressiveRolloutsRequest.type:type_name -> bucketeer.autoops.ProgressiveRollout.Type
	50, // 34: bucketeer.autoops.ListProgressiveRolloutsResponse.progressive_rollouts:type_name -> bucketeer.autoops.ProgressiveRollout
	56, // 35: bucketeer.autoops.ExecuteProgressiveRolloutRequest.change_progressive_rollout_triggered_at_command:type_name -> bucketeer.autoops.ChangeProgressiveRolloutScheduleTriggeredAtCommand
	3,  // 36: bucketeer.autoops.AutoOpsService.GetAutoOpsRule:input_type -> bucketeer.autoops.GetAutoOpsRuleRequest
	7,  // 37: bucketeer.autoops.AutoOpsService.ListAutoOpsRules:input_type -> bucketeer.autoops.ListAutoOpsRulesRequest
	5,  // 38: bucketeer.autoops.AutoOpsService.CreateAutoOpsRule:input_type -> bucketeer.autoops.CreateAutoOpsRuleRequest
	9,  // 39: bucketeer.autoops.AutoOpsService.StopAutoOpsRule:input_type -> bucketeer.autoops.StopAutoOpsRuleRequest
	11, // 40: bucketeer.autoops.AutoOpsService.DeleteAutoOpsRule:input_type -> bucketeer.autoops.DeleteAutoOpsRuleRequest
	15, // 41: bucketeer.autoops.AutoOpsService.UpdateAutoOpsRule:input_type -> bucketeer.autoops.UpdateAutoOpsRuleRequest
	17, // 42: bucketeer.autoops.AutoOpsService.ExecuteAutoOps:input_type -> bucketeer.autoops.ExecuteAutoOpsRequest
	19, // 43: bucketeer.autoops.AutoOpsService.ListOpsCounts:input_type -> bucketeer.autoops.ListOpsCountsRequest
	21, // 44: bucketeer.autoops.AutoOpsService.CreateProgressiveRollout:input_type -> bucketeer.autoops.CreateProgressiveRolloutRequest
	23, // 45: bucketeer.autoops.AutoOpsService.GetProgressiveRollout:input_type -> bucketeer.autoops.GetProgressiveRolloutRequest
	25, // 46: bucketeer.autoops.AutoOpsService.StopProgressiveRollout:input_type -> bucketeer.autoops.StopProgressiveRolloutRequest
	27, // 47: bucketeer.autoops.AutoOpsService.DeleteProgressiveRollout:input_type -> bucketeer.autoops.DeleteProgressiveRolloutRequest
	29, // 48: bucketeer.autoops.AutoOpsService.ListProgressiveRollouts:input_type -> bucketeer.autoops.ListProgressiveRolloutsRequest
	31, // 49: bucketeer.autoops.AutoOpsService.ExecuteProgressiveRollout:input_type -> bucketeer.autoops.ExecuteProgressiveRolloutRequest
	4,  // 50: bucketeer.autoops.AutoOpsService.GetAutoOpsRule:output_type -> bucketeer.autoops.GetAutoOpsRuleResponse
	8,  // 51: bucketeer.autoops.AutoOpsService.ListAutoOpsRules:output_type -> bucketeer.autoops.ListAutoOpsRulesResponse
	6,  // 52: bucketeer.autoops.AutoOpsService.CreateAutoOpsRule:output_type -> bucketeer.autoops.CreateAutoOpsRuleResponse
	10, // 53: bucketeer.autoops.AutoOpsService.StopAutoOpsRule:output_type -> bucketeer.autoops.StopAutoOpsRuleResponse
	12, // 54: bucketeer.autoops.AutoOpsService.DeleteAutoOpsRule:output_type -> bucketeer.autoops.DeleteAutoOpsRuleResponse
	16, // 55: bucketeer.autoops.AutoOpsService.UpdateAutoOpsRule:output_type -> bucketeer.autoops.UpdateAutoOpsRuleResponse
	18, // 56: bucketeer.autoops.AutoOpsService.ExecuteAutoOps:output_type -> bucketeer.autoops.ExecuteAutoOpsResponse
	20, // 57: bucketeer.autoops.AutoOpsService.ListOpsCounts:output_type -> bucketeer.autoops.ListOpsCountsResponse
	22, // 58: bucketeer.autoops.AutoOpsService.CreateProgressiveRollout:output_type -> bucketeer.autoops.CreateProgressiveRolloutResponse
	24, // 59: bucketeer.autoops.AutoOpsService.GetProgressiveRollout:output_type -> bucketeer.autoops.GetProgressiveRolloutResponse
	26, // 60: bucketeer.autoops.AutoOpsService.StopProgressiveRollout:output_type -> bucketeer.autoops.StopProgressiveRolloutResponse
	28, // 61: bucketeer.autoops.AutoOpsService.DeleteProgressiveRollout:output_type -> bucketeer.autoops.DeleteProgressiveRolloutResponse
	30, // 62: bucketeer.autoops.AutoOpsService.ListProgressiveRollouts:output_type -> bucketeer.autoops.ListProgressiveRolloutsResponse
	32, // 63: bucketeer.autoops.AutoOpsService.ExecuteProgressiveRollout:output_type -> bucketeer.autoops.ExecuteProgressiveRolloutResponse
	50, // [50:64] is the sub-list for method output_type
	36, // [36:50] is the sub-list for method input_type
	36, // [36:36] is the sub-list for extension type_name
	36, // [36:36] is the sub-list for extension extendee
	0,  // [0:36] is the sub-list for field type_name
}

func init() { file_proto_autoops_service_proto_init() }
func file_proto_autoops_service_proto_init() {
	if File_proto_autoops_service_proto != nil {
		return
	}
	file_proto_autoops_auto_ops_rule_proto_init()
	file_proto_autoops_clause_proto_init()
	file_proto_autoops_command_proto_init()
	file_proto_autoops_ops_count_proto_init()
	file_proto_autoops_progressive_rollout_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_proto_autoops_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAutoOpsRuleRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAutoOpsRuleResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateAutoOpsRuleRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateAutoOpsRuleResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAutoOpsRulesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAutoOpsRulesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopAutoOpsRuleRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopAutoOpsRuleResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteAutoOpsRuleRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteAutoOpsRuleResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OpsEventRateClauseChange); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DatetimeClauseChange); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAutoOpsRuleRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAutoOpsRuleResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecuteAutoOpsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecuteAutoOpsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListOpsCountsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListOpsCountsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateProgressiveRolloutRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateProgressiveRolloutResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetProgressiveRolloutRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetProgressiveRolloutResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopProgressiveRolloutRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopProgressiveRolloutResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteProgressiveRolloutRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteProgressiveRolloutResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListProgressiveRolloutsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListProgressiveRolloutsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecuteProgressiveRolloutRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_proto_autoops_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecuteProgressiveRolloutResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_proto_autoops_service_proto_msgTypes[18].OneofWrappers = []interface{}{}
	file_proto_autoops_service_proto_msgTypes[26].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_proto_autoops_service_proto_rawDesc,
			NumEnums:      3,
			NumMessages:   30,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_proto_autoops_service_proto_goTypes,
		DependencyIndexes: file_proto_autoops_service_proto_depIdxs,
		EnumInfos:         file_proto_autoops_service_proto_enumTypes,
		MessageInfos:      file_proto_autoops_service_proto_msgTypes,
	}.Build()
	File_proto_autoops_service_proto = out.File
	file_proto_autoops_service_proto_rawDesc = nil
	file_proto_autoops_service_proto_goTypes = nil
	file_proto_autoops_service_proto_depIdxs = nil
}

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

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

// AutoOpsServiceClient is the client API for AutoOpsService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type AutoOpsServiceClient interface {
	GetAutoOpsRule(ctx context.Context, in *GetAutoOpsRuleRequest, opts ...grpc.CallOption) (*GetAutoOpsRuleResponse, error)
	ListAutoOpsRules(ctx context.Context, in *ListAutoOpsRulesRequest, opts ...grpc.CallOption) (*ListAutoOpsRulesResponse, error)
	CreateAutoOpsRule(ctx context.Context, in *CreateAutoOpsRuleRequest, opts ...grpc.CallOption) (*CreateAutoOpsRuleResponse, error)
	StopAutoOpsRule(ctx context.Context, in *StopAutoOpsRuleRequest, opts ...grpc.CallOption) (*StopAutoOpsRuleResponse, error)
	DeleteAutoOpsRule(ctx context.Context, in *DeleteAutoOpsRuleRequest, opts ...grpc.CallOption) (*DeleteAutoOpsRuleResponse, error)
	UpdateAutoOpsRule(ctx context.Context, in *UpdateAutoOpsRuleRequest, opts ...grpc.CallOption) (*UpdateAutoOpsRuleResponse, error)
	ExecuteAutoOps(ctx context.Context, in *ExecuteAutoOpsRequest, opts ...grpc.CallOption) (*ExecuteAutoOpsResponse, error)
	ListOpsCounts(ctx context.Context, in *ListOpsCountsRequest, opts ...grpc.CallOption) (*ListOpsCountsResponse, error)
	CreateProgressiveRollout(ctx context.Context, in *CreateProgressiveRolloutRequest, opts ...grpc.CallOption) (*CreateProgressiveRolloutResponse, error)
	GetProgressiveRollout(ctx context.Context, in *GetProgressiveRolloutRequest, opts ...grpc.CallOption) (*GetProgressiveRolloutResponse, error)
	StopProgressiveRollout(ctx context.Context, in *StopProgressiveRolloutRequest, opts ...grpc.CallOption) (*StopProgressiveRolloutResponse, error)
	DeleteProgressiveRollout(ctx context.Context, in *DeleteProgressiveRolloutRequest, opts ...grpc.CallOption) (*DeleteProgressiveRolloutResponse, error)
	ListProgressiveRollouts(ctx context.Context, in *ListProgressiveRolloutsRequest, opts ...grpc.CallOption) (*ListProgressiveRolloutsResponse, error)
	ExecuteProgressiveRollout(ctx context.Context, in *ExecuteProgressiveRolloutRequest, opts ...grpc.CallOption) (*ExecuteProgressiveRolloutResponse, error)
}

type autoOpsServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewAutoOpsServiceClient(cc grpc.ClientConnInterface) AutoOpsServiceClient {
	return &autoOpsServiceClient{cc}
}

func (c *autoOpsServiceClient) GetAutoOpsRule(ctx context.Context, in *GetAutoOpsRuleRequest, opts ...grpc.CallOption) (*GetAutoOpsRuleResponse, error) {
	out := new(GetAutoOpsRuleResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/GetAutoOpsRule", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) ListAutoOpsRules(ctx context.Context, in *ListAutoOpsRulesRequest, opts ...grpc.CallOption) (*ListAutoOpsRulesResponse, error) {
	out := new(ListAutoOpsRulesResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/ListAutoOpsRules", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) CreateAutoOpsRule(ctx context.Context, in *CreateAutoOpsRuleRequest, opts ...grpc.CallOption) (*CreateAutoOpsRuleResponse, error) {
	out := new(CreateAutoOpsRuleResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/CreateAutoOpsRule", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) StopAutoOpsRule(ctx context.Context, in *StopAutoOpsRuleRequest, opts ...grpc.CallOption) (*StopAutoOpsRuleResponse, error) {
	out := new(StopAutoOpsRuleResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/StopAutoOpsRule", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) DeleteAutoOpsRule(ctx context.Context, in *DeleteAutoOpsRuleRequest, opts ...grpc.CallOption) (*DeleteAutoOpsRuleResponse, error) {
	out := new(DeleteAutoOpsRuleResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/DeleteAutoOpsRule", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) UpdateAutoOpsRule(ctx context.Context, in *UpdateAutoOpsRuleRequest, opts ...grpc.CallOption) (*UpdateAutoOpsRuleResponse, error) {
	out := new(UpdateAutoOpsRuleResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/UpdateAutoOpsRule", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) ExecuteAutoOps(ctx context.Context, in *ExecuteAutoOpsRequest, opts ...grpc.CallOption) (*ExecuteAutoOpsResponse, error) {
	out := new(ExecuteAutoOpsResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/ExecuteAutoOps", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) ListOpsCounts(ctx context.Context, in *ListOpsCountsRequest, opts ...grpc.CallOption) (*ListOpsCountsResponse, error) {
	out := new(ListOpsCountsResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/ListOpsCounts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) CreateProgressiveRollout(ctx context.Context, in *CreateProgressiveRolloutRequest, opts ...grpc.CallOption) (*CreateProgressiveRolloutResponse, error) {
	out := new(CreateProgressiveRolloutResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/CreateProgressiveRollout", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) GetProgressiveRollout(ctx context.Context, in *GetProgressiveRolloutRequest, opts ...grpc.CallOption) (*GetProgressiveRolloutResponse, error) {
	out := new(GetProgressiveRolloutResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/GetProgressiveRollout", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) StopProgressiveRollout(ctx context.Context, in *StopProgressiveRolloutRequest, opts ...grpc.CallOption) (*StopProgressiveRolloutResponse, error) {
	out := new(StopProgressiveRolloutResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/StopProgressiveRollout", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) DeleteProgressiveRollout(ctx context.Context, in *DeleteProgressiveRolloutRequest, opts ...grpc.CallOption) (*DeleteProgressiveRolloutResponse, error) {
	out := new(DeleteProgressiveRolloutResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/DeleteProgressiveRollout", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) ListProgressiveRollouts(ctx context.Context, in *ListProgressiveRolloutsRequest, opts ...grpc.CallOption) (*ListProgressiveRolloutsResponse, error) {
	out := new(ListProgressiveRolloutsResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/ListProgressiveRollouts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *autoOpsServiceClient) ExecuteProgressiveRollout(ctx context.Context, in *ExecuteProgressiveRolloutRequest, opts ...grpc.CallOption) (*ExecuteProgressiveRolloutResponse, error) {
	out := new(ExecuteProgressiveRolloutResponse)
	err := c.cc.Invoke(ctx, "/bucketeer.autoops.AutoOpsService/ExecuteProgressiveRollout", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// AutoOpsServiceServer is the server API for AutoOpsService service.
type AutoOpsServiceServer interface {
	GetAutoOpsRule(context.Context, *GetAutoOpsRuleRequest) (*GetAutoOpsRuleResponse, error)
	ListAutoOpsRules(context.Context, *ListAutoOpsRulesRequest) (*ListAutoOpsRulesResponse, error)
	CreateAutoOpsRule(context.Context, *CreateAutoOpsRuleRequest) (*CreateAutoOpsRuleResponse, error)
	StopAutoOpsRule(context.Context, *StopAutoOpsRuleRequest) (*StopAutoOpsRuleResponse, error)
	DeleteAutoOpsRule(context.Context, *DeleteAutoOpsRuleRequest) (*DeleteAutoOpsRuleResponse, error)
	UpdateAutoOpsRule(context.Context, *UpdateAutoOpsRuleRequest) (*UpdateAutoOpsRuleResponse, error)
	ExecuteAutoOps(context.Context, *ExecuteAutoOpsRequest) (*ExecuteAutoOpsResponse, error)
	ListOpsCounts(context.Context, *ListOpsCountsRequest) (*ListOpsCountsResponse, error)
	CreateProgressiveRollout(context.Context, *CreateProgressiveRolloutRequest) (*CreateProgressiveRolloutResponse, error)
	GetProgressiveRollout(context.Context, *GetProgressiveRolloutRequest) (*GetProgressiveRolloutResponse, error)
	StopProgressiveRollout(context.Context, *StopProgressiveRolloutRequest) (*StopProgressiveRolloutResponse, error)
	DeleteProgressiveRollout(context.Context, *DeleteProgressiveRolloutRequest) (*DeleteProgressiveRolloutResponse, error)
	ListProgressiveRollouts(context.Context, *ListProgressiveRolloutsRequest) (*ListProgressiveRolloutsResponse, error)
	ExecuteProgressiveRollout(context.Context, *ExecuteProgressiveRolloutRequest) (*ExecuteProgressiveRolloutResponse, error)
}

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

func (*UnimplementedAutoOpsServiceServer) GetAutoOpsRule(context.Context, *GetAutoOpsRuleRequest) (*GetAutoOpsRuleResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAutoOpsRule not implemented")
}
func (*UnimplementedAutoOpsServiceServer) ListAutoOpsRules(context.Context, *ListAutoOpsRulesRequest) (*ListAutoOpsRulesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAutoOpsRules not implemented")
}
func (*UnimplementedAutoOpsServiceServer) CreateAutoOpsRule(context.Context, *CreateAutoOpsRuleRequest) (*CreateAutoOpsRuleResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateAutoOpsRule not implemented")
}
func (*UnimplementedAutoOpsServiceServer) StopAutoOpsRule(context.Context, *StopAutoOpsRuleRequest) (*StopAutoOpsRuleResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StopAutoOpsRule not implemented")
}
func (*UnimplementedAutoOpsServiceServer) DeleteAutoOpsRule(context.Context, *DeleteAutoOpsRuleRequest) (*DeleteAutoOpsRuleResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteAutoOpsRule not implemented")
}
func (*UnimplementedAutoOpsServiceServer) UpdateAutoOpsRule(context.Context, *UpdateAutoOpsRuleRequest) (*UpdateAutoOpsRuleResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateAutoOpsRule not implemented")
}
func (*UnimplementedAutoOpsServiceServer) ExecuteAutoOps(context.Context, *ExecuteAutoOpsRequest) (*ExecuteAutoOpsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExecuteAutoOps not implemented")
}
func (*UnimplementedAutoOpsServiceServer) ListOpsCounts(context.Context, *ListOpsCountsRequest) (*ListOpsCountsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListOpsCounts not implemented")
}
func (*UnimplementedAutoOpsServiceServer) CreateProgressiveRollout(context.Context, *CreateProgressiveRolloutRequest) (*CreateProgressiveRolloutResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateProgressiveRollout not implemented")
}
func (*UnimplementedAutoOpsServiceServer) GetProgressiveRollout(context.Context, *GetProgressiveRolloutRequest) (*GetProgressiveRolloutResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetProgressiveRollout not implemented")
}
func (*UnimplementedAutoOpsServiceServer) StopProgressiveRollout(context.Context, *StopProgressiveRolloutRequest) (*StopProgressiveRolloutResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method StopProgressiveRollout not implemented")
}
func (*UnimplementedAutoOpsServiceServer) DeleteProgressiveRollout(context.Context, *DeleteProgressiveRolloutRequest) (*DeleteProgressiveRolloutResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteProgressiveRollout not implemented")
}
func (*UnimplementedAutoOpsServiceServer) ListProgressiveRollouts(context.Context, *ListProgressiveRolloutsRequest) (*ListProgressiveRolloutsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListProgressiveRollouts not implemented")
}
func (*UnimplementedAutoOpsServiceServer) ExecuteProgressiveRollout(context.Context, *ExecuteProgressiveRolloutRequest) (*ExecuteProgressiveRolloutResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExecuteProgressiveRollout not implemented")
}

func RegisterAutoOpsServiceServer(s *grpc.Server, srv AutoOpsServiceServer) {
	s.RegisterService(&_AutoOpsService_serviceDesc, srv)
}

func _AutoOpsService_GetAutoOpsRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetAutoOpsRuleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).GetAutoOpsRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/GetAutoOpsRule",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).GetAutoOpsRule(ctx, req.(*GetAutoOpsRuleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_ListAutoOpsRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListAutoOpsRulesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).ListAutoOpsRules(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/ListAutoOpsRules",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).ListAutoOpsRules(ctx, req.(*ListAutoOpsRulesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_CreateAutoOpsRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateAutoOpsRuleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).CreateAutoOpsRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/CreateAutoOpsRule",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).CreateAutoOpsRule(ctx, req.(*CreateAutoOpsRuleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_StopAutoOpsRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopAutoOpsRuleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).StopAutoOpsRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/StopAutoOpsRule",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).StopAutoOpsRule(ctx, req.(*StopAutoOpsRuleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_DeleteAutoOpsRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteAutoOpsRuleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).DeleteAutoOpsRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/DeleteAutoOpsRule",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).DeleteAutoOpsRule(ctx, req.(*DeleteAutoOpsRuleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_UpdateAutoOpsRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateAutoOpsRuleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).UpdateAutoOpsRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/UpdateAutoOpsRule",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).UpdateAutoOpsRule(ctx, req.(*UpdateAutoOpsRuleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_ExecuteAutoOps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ExecuteAutoOpsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).ExecuteAutoOps(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/ExecuteAutoOps",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).ExecuteAutoOps(ctx, req.(*ExecuteAutoOpsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_ListOpsCounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListOpsCountsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).ListOpsCounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/ListOpsCounts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).ListOpsCounts(ctx, req.(*ListOpsCountsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_CreateProgressiveRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateProgressiveRolloutRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).CreateProgressiveRollout(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/CreateProgressiveRollout",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).CreateProgressiveRollout(ctx, req.(*CreateProgressiveRolloutRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_GetProgressiveRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetProgressiveRolloutRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).GetProgressiveRollout(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/GetProgressiveRollout",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).GetProgressiveRollout(ctx, req.(*GetProgressiveRolloutRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_StopProgressiveRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopProgressiveRolloutRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).StopProgressiveRollout(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/StopProgressiveRollout",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).StopProgressiveRollout(ctx, req.(*StopProgressiveRolloutRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_DeleteProgressiveRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteProgressiveRolloutRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).DeleteProgressiveRollout(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/DeleteProgressiveRollout",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).DeleteProgressiveRollout(ctx, req.(*DeleteProgressiveRolloutRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_ListProgressiveRollouts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListProgressiveRolloutsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).ListProgressiveRollouts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/ListProgressiveRollouts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).ListProgressiveRollouts(ctx, req.(*ListProgressiveRolloutsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _AutoOpsService_ExecuteProgressiveRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ExecuteProgressiveRolloutRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(AutoOpsServiceServer).ExecuteProgressiveRollout(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/bucketeer.autoops.AutoOpsService/ExecuteProgressiveRollout",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(AutoOpsServiceServer).ExecuteProgressiveRollout(ctx, req.(*ExecuteProgressiveRolloutRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _AutoOpsService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "bucketeer.autoops.AutoOpsService",
	HandlerType: (*AutoOpsServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetAutoOpsRule",
			Handler:    _AutoOpsService_GetAutoOpsRule_Handler,
		},
		{
			MethodName: "ListAutoOpsRules",
			Handler:    _AutoOpsService_ListAutoOpsRules_Handler,
		},
		{
			MethodName: "CreateAutoOpsRule",
			Handler:    _AutoOpsService_CreateAutoOpsRule_Handler,
		},
		{
			MethodName: "StopAutoOpsRule",
			Handler:    _AutoOpsService_StopAutoOpsRule_Handler,
		},
		{
			MethodName: "DeleteAutoOpsRule",
			Handler:    _AutoOpsService_DeleteAutoOpsRule_Handler,
		},
		{
			MethodName: "UpdateAutoOpsRule",
			Handler:    _AutoOpsService_UpdateAutoOpsRule_Handler,
		},
		{
			MethodName: "ExecuteAutoOps",
			Handler:    _AutoOpsService_ExecuteAutoOps_Handler,
		},
		{
			MethodName: "ListOpsCounts",
			Handler:    _AutoOpsService_ListOpsCounts_Handler,
		},
		{
			MethodName: "CreateProgressiveRollout",
			Handler:    _AutoOpsService_CreateProgressiveRollout_Handler,
		},
		{
			MethodName: "GetProgressiveRollout",
			Handler:    _AutoOpsService_GetProgressiveRollout_Handler,
		},
		{
			MethodName: "StopProgressiveRollout",
			Handler:    _AutoOpsService_StopProgressiveRollout_Handler,
		},
		{
			MethodName: "DeleteProgressiveRollout",
			Handler:    _AutoOpsService_DeleteProgressiveRollout_Handler,
		},
		{
			MethodName: "ListProgressiveRollouts",
			Handler:    _AutoOpsService_ListProgressiveRollouts_Handler,
		},
		{
			MethodName: "ExecuteProgressiveRollout",
			Handler:    _AutoOpsService_ExecuteProgressiveRollout_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "proto/autoops/service.proto",
}
