//
//     Copyright 2022 The Dragonfly 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.28.1
// 	protoc        v3.21.6
// source: pkg/apis/scheduler/v2/scheduler.proto

package scheduler

import (
	v2 "d7y.io/api/v2/pkg/apis/common/v2"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
)

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

// RegisterPeerRequest represents peer registered request of AnnouncePeerRequest.
type RegisterPeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Download information.
	Download *v2.Download `protobuf:"bytes,1,opt,name=download,proto3" json:"download,omitempty"`
}

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

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

func (*RegisterPeerRequest) ProtoMessage() {}

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

func (x *RegisterPeerRequest) GetDownload() *v2.Download {
	if x != nil {
		return x.Download
	}
	return nil
}

// RegisterSeedPeerRequest represents seed peer registered request of AnnouncePeerRequest.
type RegisterSeedPeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Download information.
	Download *v2.Download `protobuf:"bytes,1,opt,name=download,proto3" json:"download,omitempty"`
}

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

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

func (*RegisterSeedPeerRequest) ProtoMessage() {}

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

func (x *RegisterSeedPeerRequest) GetDownload() *v2.Download {
	if x != nil {
		return x.Download
	}
	return nil
}

// DownloadPeerStartedRequest represents peer download started request of AnnouncePeerRequest.
type DownloadPeerStartedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*DownloadPeerStartedRequest) ProtoMessage() {}

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

// DownloadPeerBackToSourceStartedRequest represents peer download back-to-source started request of AnnouncePeerRequest.
type DownloadPeerBackToSourceStartedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The description of the back-to-source reason.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
}

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

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

func (*DownloadPeerBackToSourceStartedRequest) ProtoMessage() {}

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

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

// DownloadPeerFinishedRequest represents peer download finished request of AnnouncePeerRequest.
type DownloadPeerFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Total content length.
	ContentLength int64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
	// Total piece count.
	PieceCount int32 `protobuf:"varint,2,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}

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

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

func (*DownloadPeerFinishedRequest) ProtoMessage() {}

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

func (x *DownloadPeerFinishedRequest) GetContentLength() int64 {
	if x != nil {
		return x.ContentLength
	}
	return 0
}

func (x *DownloadPeerFinishedRequest) GetPieceCount() int32 {
	if x != nil {
		return x.PieceCount
	}
	return 0
}

// DownloadPeerBackToSourceFinishedRequest represents peer download back-to-source finished request of AnnouncePeerRequest.
type DownloadPeerBackToSourceFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Total content length.
	ContentLength int64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
	// Total piece count.
	PieceCount int32 `protobuf:"varint,2,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}

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

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

func (*DownloadPeerBackToSourceFinishedRequest) ProtoMessage() {}

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

func (x *DownloadPeerBackToSourceFinishedRequest) GetContentLength() int64 {
	if x != nil {
		return x.ContentLength
	}
	return 0
}

func (x *DownloadPeerBackToSourceFinishedRequest) GetPieceCount() int32 {
	if x != nil {
		return x.PieceCount
	}
	return 0
}

// DownloadPeerFailedRequest represents peer download failed request of AnnouncePeerRequest.
type DownloadPeerFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The description of the download failed.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
}

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

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

func (*DownloadPeerFailedRequest) ProtoMessage() {}

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

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

// DownloadPeerBackToSourceFailedRequest represents peer download back-to-source failed request of AnnouncePeerRequest.
type DownloadPeerBackToSourceFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The description of the download back-to-source failed.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
}

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

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

func (*DownloadPeerBackToSourceFailedRequest) ProtoMessage() {}

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

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

// DownloadPieceFinishedRequest represents piece download finished request of AnnouncePeerRequest.
type DownloadPieceFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Piece info.
	Piece *v2.Piece `protobuf:"bytes,1,opt,name=piece,proto3" json:"piece,omitempty"`
}

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

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

func (*DownloadPieceFinishedRequest) ProtoMessage() {}

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

func (x *DownloadPieceFinishedRequest) GetPiece() *v2.Piece {
	if x != nil {
		return x.Piece
	}
	return nil
}

// DownloadPieceBackToSourceFinishedRequest represents piece download back-to-source finished request of AnnouncePeerRequest.
type DownloadPieceBackToSourceFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Piece info.
	Piece *v2.Piece `protobuf:"bytes,1,opt,name=piece,proto3" json:"piece,omitempty"`
}

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

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

func (*DownloadPieceBackToSourceFinishedRequest) ProtoMessage() {}

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

func (x *DownloadPieceBackToSourceFinishedRequest) GetPiece() *v2.Piece {
	if x != nil {
		return x.Piece
	}
	return nil
}

// DownloadPieceFailedRequest downloads piece failed request of AnnouncePeerRequest.
type DownloadPieceFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Piece info.
	Piece *v2.Piece `protobuf:"bytes,1,opt,name=piece,proto3" json:"piece,omitempty"`
	// Temporary indicates whether the error is temporary.
	Temporary bool `protobuf:"varint,2,opt,name=temporary,proto3" json:"temporary,omitempty"`
}

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

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

func (*DownloadPieceFailedRequest) ProtoMessage() {}

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

func (x *DownloadPieceFailedRequest) GetPiece() *v2.Piece {
	if x != nil {
		return x.Piece
	}
	return nil
}

func (x *DownloadPieceFailedRequest) GetTemporary() bool {
	if x != nil {
		return x.Temporary
	}
	return false
}

// HTTPResponse represents http protocol response of DownloadPieceBackToSourceFailedRequest.
type HTTPResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// HTTP Response Header.
	Header map[string]string `protobuf:"bytes,1,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// HTTP Status Code.
	StatusCode int32 `protobuf:"varint,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
	// HTTP Status.
	Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
}

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

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

func (*HTTPResponse) ProtoMessage() {}

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

func (x *HTTPResponse) GetHeader() map[string]string {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *HTTPResponse) GetStatusCode() int32 {
	if x != nil {
		return x.StatusCode
	}
	return 0
}

func (x *HTTPResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

// HDFSResponse represents hdfs protocol response of DownloadPieceBackToSourceFailedRequest.
type HDFSResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*HDFSResponse) ProtoMessage() {}

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

// S3Response represents s3 protocol response of DownloadPieceBackToSourceFailedRequest.
type S3Response struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*S3Response) ProtoMessage() {}

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

// OSSResponse represents oss protocol response of DownloadPieceBackToSourceFailedRequest.
type OSSResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*OSSResponse) ProtoMessage() {}

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

// DownloadPieceBackToSourceFailedRequest downloads piece back-to-source failed request of AnnouncePeerRequest.
type DownloadPieceBackToSourceFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Piece info.
	Piece *v2.Piece `protobuf:"bytes,1,opt,name=piece,proto3" json:"piece,omitempty"`
	// Types that are assignable to Response:
	//
	//	*DownloadPieceBackToSourceFailedRequest_HttpResponse
	//	*DownloadPieceBackToSourceFailedRequest_HdfsResponse
	//	*DownloadPieceBackToSourceFailedRequest_S3Response
	//	*DownloadPieceBackToSourceFailedRequest_OssResponse
	Response isDownloadPieceBackToSourceFailedRequest_Response `protobuf_oneof:"response"`
}

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

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

func (*DownloadPieceBackToSourceFailedRequest) ProtoMessage() {}

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

func (x *DownloadPieceBackToSourceFailedRequest) GetPiece() *v2.Piece {
	if x != nil {
		return x.Piece
	}
	return nil
}

func (m *DownloadPieceBackToSourceFailedRequest) GetResponse() isDownloadPieceBackToSourceFailedRequest_Response {
	if m != nil {
		return m.Response
	}
	return nil
}

func (x *DownloadPieceBackToSourceFailedRequest) GetHttpResponse() *HTTPResponse {
	if x, ok := x.GetResponse().(*DownloadPieceBackToSourceFailedRequest_HttpResponse); ok {
		return x.HttpResponse
	}
	return nil
}

func (x *DownloadPieceBackToSourceFailedRequest) GetHdfsResponse() *HDFSResponse {
	if x, ok := x.GetResponse().(*DownloadPieceBackToSourceFailedRequest_HdfsResponse); ok {
		return x.HdfsResponse
	}
	return nil
}

func (x *DownloadPieceBackToSourceFailedRequest) GetS3Response() *S3Response {
	if x, ok := x.GetResponse().(*DownloadPieceBackToSourceFailedRequest_S3Response); ok {
		return x.S3Response
	}
	return nil
}

func (x *DownloadPieceBackToSourceFailedRequest) GetOssResponse() *OSSResponse {
	if x, ok := x.GetResponse().(*DownloadPieceBackToSourceFailedRequest_OssResponse); ok {
		return x.OssResponse
	}
	return nil
}

type isDownloadPieceBackToSourceFailedRequest_Response interface {
	isDownloadPieceBackToSourceFailedRequest_Response()
}

type DownloadPieceBackToSourceFailedRequest_HttpResponse struct {
	HttpResponse *HTTPResponse `protobuf:"bytes,2,opt,name=http_response,json=httpResponse,proto3,oneof"`
}

type DownloadPieceBackToSourceFailedRequest_HdfsResponse struct {
	HdfsResponse *HDFSResponse `protobuf:"bytes,3,opt,name=hdfs_response,json=hdfsResponse,proto3,oneof"`
}

type DownloadPieceBackToSourceFailedRequest_S3Response struct {
	S3Response *S3Response `protobuf:"bytes,4,opt,name=s3_response,json=s3Response,proto3,oneof"`
}

type DownloadPieceBackToSourceFailedRequest_OssResponse struct {
	OssResponse *OSSResponse `protobuf:"bytes,5,opt,name=oss_response,json=ossResponse,proto3,oneof"`
}

func (*DownloadPieceBackToSourceFailedRequest_HttpResponse) isDownloadPieceBackToSourceFailedRequest_Response() {
}

func (*DownloadPieceBackToSourceFailedRequest_HdfsResponse) isDownloadPieceBackToSourceFailedRequest_Response() {
}

func (*DownloadPieceBackToSourceFailedRequest_S3Response) isDownloadPieceBackToSourceFailedRequest_Response() {
}

func (*DownloadPieceBackToSourceFailedRequest_OssResponse) isDownloadPieceBackToSourceFailedRequest_Response() {
}

// SyncPiecesFailedRequest syncs pieces failed request of AnnouncePeerRequest.
type SyncPiecesFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Parent peer id.
	ParentId string `protobuf:"bytes,1,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
	// The description of the error.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}

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

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

func (*SyncPiecesFailedRequest) ProtoMessage() {}

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

func (x *SyncPiecesFailedRequest) GetParentId() string {
	if x != nil {
		return x.ParentId
	}
	return ""
}

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

// AnnouncePeerRequest represents request of AnnouncePeer.
type AnnouncePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	// Types that are assignable to Request:
	//
	//	*AnnouncePeerRequest_RegisterPeerRequest
	//	*AnnouncePeerRequest_RegisterSeedPeerRequest
	//	*AnnouncePeerRequest_DownloadPeerStartedRequest
	//	*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest
	//	*AnnouncePeerRequest_DownloadPeerFinishedRequest
	//	*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest
	//	*AnnouncePeerRequest_DownloadPeerFailedRequest
	//	*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest
	//	*AnnouncePeerRequest_DownloadPieceFinishedRequest
	//	*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest
	//	*AnnouncePeerRequest_DownloadPieceFailedRequest
	//	*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest
	//	*AnnouncePeerRequest_SyncPiecesFailedRequest
	Request isAnnouncePeerRequest_Request `protobuf_oneof:"request"`
}

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

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

func (*AnnouncePeerRequest) ProtoMessage() {}

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

func (x *AnnouncePeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *AnnouncePeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *AnnouncePeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

func (m *AnnouncePeerRequest) GetRequest() isAnnouncePeerRequest_Request {
	if m != nil {
		return m.Request
	}
	return nil
}

func (x *AnnouncePeerRequest) GetRegisterPeerRequest() *RegisterPeerRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_RegisterPeerRequest); ok {
		return x.RegisterPeerRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetRegisterSeedPeerRequest() *RegisterSeedPeerRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_RegisterSeedPeerRequest); ok {
		return x.RegisterSeedPeerRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerStartedRequest() *DownloadPeerStartedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerStartedRequest); ok {
		return x.DownloadPeerStartedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceStartedRequest() *DownloadPeerBackToSourceStartedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest); ok {
		return x.DownloadPeerBackToSourceStartedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerFinishedRequest() *DownloadPeerFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerFinishedRequest); ok {
		return x.DownloadPeerFinishedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceFinishedRequest() *DownloadPeerBackToSourceFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest); ok {
		return x.DownloadPeerBackToSourceFinishedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerFailedRequest() *DownloadPeerFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerFailedRequest); ok {
		return x.DownloadPeerFailedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceFailedRequest() *DownloadPeerBackToSourceFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest); ok {
		return x.DownloadPeerBackToSourceFailedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPieceFinishedRequest() *DownloadPieceFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceFinishedRequest); ok {
		return x.DownloadPieceFinishedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPieceBackToSourceFinishedRequest() *DownloadPieceBackToSourceFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest); ok {
		return x.DownloadPieceBackToSourceFinishedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPieceFailedRequest() *DownloadPieceFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceFailedRequest); ok {
		return x.DownloadPieceFailedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPieceBackToSourceFailedRequest() *DownloadPieceBackToSourceFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest); ok {
		return x.DownloadPieceBackToSourceFailedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetSyncPiecesFailedRequest() *SyncPiecesFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_SyncPiecesFailedRequest); ok {
		return x.SyncPiecesFailedRequest
	}
	return nil
}

type isAnnouncePeerRequest_Request interface {
	isAnnouncePeerRequest_Request()
}

type AnnouncePeerRequest_RegisterPeerRequest struct {
	RegisterPeerRequest *RegisterPeerRequest `protobuf:"bytes,4,opt,name=register_peer_request,json=registerPeerRequest,proto3,oneof"`
}

type AnnouncePeerRequest_RegisterSeedPeerRequest struct {
	RegisterSeedPeerRequest *RegisterSeedPeerRequest `protobuf:"bytes,5,opt,name=register_seed_peer_request,json=registerSeedPeerRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerStartedRequest struct {
	DownloadPeerStartedRequest *DownloadPeerStartedRequest `protobuf:"bytes,6,opt,name=download_peer_started_request,json=downloadPeerStartedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest struct {
	DownloadPeerBackToSourceStartedRequest *DownloadPeerBackToSourceStartedRequest `protobuf:"bytes,7,opt,name=download_peer_back_to_source_started_request,json=downloadPeerBackToSourceStartedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerFinishedRequest struct {
	DownloadPeerFinishedRequest *DownloadPeerFinishedRequest `protobuf:"bytes,8,opt,name=download_peer_finished_request,json=downloadPeerFinishedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest struct {
	DownloadPeerBackToSourceFinishedRequest *DownloadPeerBackToSourceFinishedRequest `protobuf:"bytes,9,opt,name=download_peer_back_to_source_finished_request,json=downloadPeerBackToSourceFinishedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerFailedRequest struct {
	DownloadPeerFailedRequest *DownloadPeerFailedRequest `protobuf:"bytes,10,opt,name=download_peer_failed_request,json=downloadPeerFailedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest struct {
	DownloadPeerBackToSourceFailedRequest *DownloadPeerBackToSourceFailedRequest `protobuf:"bytes,11,opt,name=download_peer_back_to_source_failed_request,json=downloadPeerBackToSourceFailedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPieceFinishedRequest struct {
	DownloadPieceFinishedRequest *DownloadPieceFinishedRequest `protobuf:"bytes,12,opt,name=download_piece_finished_request,json=downloadPieceFinishedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest struct {
	DownloadPieceBackToSourceFinishedRequest *DownloadPieceBackToSourceFinishedRequest `protobuf:"bytes,13,opt,name=download_piece_back_to_source_finished_request,json=downloadPieceBackToSourceFinishedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPieceFailedRequest struct {
	DownloadPieceFailedRequest *DownloadPieceFailedRequest `protobuf:"bytes,14,opt,name=download_piece_failed_request,json=downloadPieceFailedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest struct {
	DownloadPieceBackToSourceFailedRequest *DownloadPieceBackToSourceFailedRequest `protobuf:"bytes,15,opt,name=download_piece_back_to_source_failed_request,json=downloadPieceBackToSourceFailedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_SyncPiecesFailedRequest struct {
	SyncPiecesFailedRequest *SyncPiecesFailedRequest `protobuf:"bytes,16,opt,name=sync_pieces_failed_request,json=syncPiecesFailedRequest,proto3,oneof"`
}

func (*AnnouncePeerRequest_RegisterPeerRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_RegisterSeedPeerRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerStartedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerFinishedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerFailedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPieceFinishedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest) isAnnouncePeerRequest_Request() {
}

func (*AnnouncePeerRequest_DownloadPieceFailedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_SyncPiecesFailedRequest) isAnnouncePeerRequest_Request() {}

// EmptyTaskResponse represents empty task response of AnnouncePeerResponse.
type EmptyTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*EmptyTaskResponse) ProtoMessage() {}

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

// TinyTaskResponse represents tiny task response of AnnouncePeerResponse.
type TinyTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Tiny task content.
	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
}

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

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

func (*TinyTaskResponse) ProtoMessage() {}

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

func (x *TinyTaskResponse) GetContent() []byte {
	if x != nil {
		return x.Content
	}
	return nil
}

// SmallTaskResponse represents small task response of AnnouncePeerResponse.
type SmallTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Candidate parent.
	CandidateParent *v2.Peer `protobuf:"bytes,1,opt,name=candidate_parent,json=candidateParent,proto3" json:"candidate_parent,omitempty"`
}

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

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

func (*SmallTaskResponse) ProtoMessage() {}

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

func (x *SmallTaskResponse) GetCandidateParent() *v2.Peer {
	if x != nil {
		return x.CandidateParent
	}
	return nil
}

// NormalTaskResponse represents normal task response of AnnouncePeerResponse.
type NormalTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Candidate parents.
	CandidateParents []*v2.Peer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
	// Concurrent downloading piece count from the peers.
	ConcurrentPieceCount int32 `protobuf:"varint,2,opt,name=concurrent_piece_count,json=concurrentPieceCount,proto3" json:"concurrent_piece_count,omitempty"`
}

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

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

func (*NormalTaskResponse) ProtoMessage() {}

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

func (x *NormalTaskResponse) GetCandidateParents() []*v2.Peer {
	if x != nil {
		return x.CandidateParents
	}
	return nil
}

func (x *NormalTaskResponse) GetConcurrentPieceCount() int32 {
	if x != nil {
		return x.ConcurrentPieceCount
	}
	return 0
}

// NeedBackToSourceResponse represents need back-to-source response of AnnouncePeerResponse.
type NeedBackToSourceResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The description of the back-to-source reason.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
}

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

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

func (*NeedBackToSourceResponse) ProtoMessage() {}

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

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

// AnnouncePeerResponse represents response of AnnouncePeer.
type AnnouncePeerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Response:
	//
	//	*AnnouncePeerResponse_EmptyTaskResponse
	//	*AnnouncePeerResponse_TinyTaskResponse
	//	*AnnouncePeerResponse_SmallTaskResponse
	//	*AnnouncePeerResponse_NormalTaskResponse
	//	*AnnouncePeerResponse_NeedBackToSourceResponse
	Response isAnnouncePeerResponse_Response `protobuf_oneof:"response"`
}

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

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

func (*AnnouncePeerResponse) ProtoMessage() {}

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

func (m *AnnouncePeerResponse) GetResponse() isAnnouncePeerResponse_Response {
	if m != nil {
		return m.Response
	}
	return nil
}

func (x *AnnouncePeerResponse) GetEmptyTaskResponse() *EmptyTaskResponse {
	if x, ok := x.GetResponse().(*AnnouncePeerResponse_EmptyTaskResponse); ok {
		return x.EmptyTaskResponse
	}
	return nil
}

func (x *AnnouncePeerResponse) GetTinyTaskResponse() *TinyTaskResponse {
	if x, ok := x.GetResponse().(*AnnouncePeerResponse_TinyTaskResponse); ok {
		return x.TinyTaskResponse
	}
	return nil
}

func (x *AnnouncePeerResponse) GetSmallTaskResponse() *SmallTaskResponse {
	if x, ok := x.GetResponse().(*AnnouncePeerResponse_SmallTaskResponse); ok {
		return x.SmallTaskResponse
	}
	return nil
}

func (x *AnnouncePeerResponse) GetNormalTaskResponse() *NormalTaskResponse {
	if x, ok := x.GetResponse().(*AnnouncePeerResponse_NormalTaskResponse); ok {
		return x.NormalTaskResponse
	}
	return nil
}

func (x *AnnouncePeerResponse) GetNeedBackToSourceResponse() *NeedBackToSourceResponse {
	if x, ok := x.GetResponse().(*AnnouncePeerResponse_NeedBackToSourceResponse); ok {
		return x.NeedBackToSourceResponse
	}
	return nil
}

type isAnnouncePeerResponse_Response interface {
	isAnnouncePeerResponse_Response()
}

type AnnouncePeerResponse_EmptyTaskResponse struct {
	EmptyTaskResponse *EmptyTaskResponse `protobuf:"bytes,1,opt,name=empty_task_response,json=emptyTaskResponse,proto3,oneof"`
}

type AnnouncePeerResponse_TinyTaskResponse struct {
	TinyTaskResponse *TinyTaskResponse `protobuf:"bytes,2,opt,name=tiny_task_response,json=tinyTaskResponse,proto3,oneof"`
}

type AnnouncePeerResponse_SmallTaskResponse struct {
	SmallTaskResponse *SmallTaskResponse `protobuf:"bytes,3,opt,name=small_task_response,json=smallTaskResponse,proto3,oneof"`
}

type AnnouncePeerResponse_NormalTaskResponse struct {
	NormalTaskResponse *NormalTaskResponse `protobuf:"bytes,4,opt,name=normal_task_response,json=normalTaskResponse,proto3,oneof"`
}

type AnnouncePeerResponse_NeedBackToSourceResponse struct {
	NeedBackToSourceResponse *NeedBackToSourceResponse `protobuf:"bytes,5,opt,name=need_back_to_source_response,json=needBackToSourceResponse,proto3,oneof"`
}

func (*AnnouncePeerResponse_EmptyTaskResponse) isAnnouncePeerResponse_Response() {}

func (*AnnouncePeerResponse_TinyTaskResponse) isAnnouncePeerResponse_Response() {}

func (*AnnouncePeerResponse_SmallTaskResponse) isAnnouncePeerResponse_Response() {}

func (*AnnouncePeerResponse_NormalTaskResponse) isAnnouncePeerResponse_Response() {}

func (*AnnouncePeerResponse_NeedBackToSourceResponse) isAnnouncePeerResponse_Response() {}

// StatPeerRequest represents request of StatPeer.
type StatPeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}

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

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

func (*StatPeerRequest) ProtoMessage() {}

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

func (x *StatPeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *StatPeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *StatPeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

// TODO exchange peer request definition.
// ExchangePeerRequest represents request of ExchangePeer.
type ExchangePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}

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

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

func (*ExchangePeerRequest) ProtoMessage() {}

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

func (x *ExchangePeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *ExchangePeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *ExchangePeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

// TODO exchange peer response definition.
// ExchangePeerResponse represents response of ExchangePeer.
type ExchangePeerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ExchangePeerResponse) ProtoMessage() {}

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

// LeavePeerRequest represents request of LeavePeer.
type LeavePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}

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

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

func (*LeavePeerRequest) ProtoMessage() {}

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

func (x *LeavePeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *LeavePeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *LeavePeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

// StatTaskRequest represents request of StatTask.
type StatTaskRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Task id.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*StatTaskRequest) ProtoMessage() {}

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

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

// AnnounceHostRequest represents request of AnnounceHost.
type AnnounceHostRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host info.
	Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
}

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

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

func (*AnnounceHostRequest) ProtoMessage() {}

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

func (x *AnnounceHostRequest) GetHost() *v2.Host {
	if x != nil {
		return x.Host
	}
	return nil
}

// LeaveHostRequest represents request of LeaveHost.
type LeaveHostRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*LeaveHostRequest) ProtoMessage() {}

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

// Deprecated: Use LeaveHostRequest.ProtoReflect.Descriptor instead.
func (*LeaveHostRequest) Descriptor() ([]byte, []int) {
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{30}
}

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

// ProbeStartedRequest represents started request of SyncProbesRequest.
type ProbeStartedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ProbeStartedRequest) ProtoMessage() {}

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

// Deprecated: Use ProbeStartedRequest.ProtoReflect.Descriptor instead.
func (*ProbeStartedRequest) Descriptor() ([]byte, []int) {
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{31}
}

// Probe information.
type Probe struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Destination host metadata.
	Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// RTT is the round-trip time sent via this pinger.
	Rtt *durationpb.Duration `protobuf:"bytes,2,opt,name=rtt,proto3" json:"rtt,omitempty"`
	// Probe create time.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
}

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

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

func (*Probe) ProtoMessage() {}

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

// Deprecated: Use Probe.ProtoReflect.Descriptor instead.
func (*Probe) Descriptor() ([]byte, []int) {
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{32}
}

func (x *Probe) GetHost() *v2.Host {
	if x != nil {
		return x.Host
	}
	return nil
}

func (x *Probe) GetRtt() *durationpb.Duration {
	if x != nil {
		return x.Rtt
	}
	return nil
}

func (x *Probe) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

// ProbeFinishedRequest represents finished request of SyncProbesRequest.
type ProbeFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Probes information.
	Probes []*Probe `protobuf:"bytes,1,rep,name=probes,proto3" json:"probes,omitempty"`
}

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

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

func (*ProbeFinishedRequest) ProtoMessage() {}

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

// Deprecated: Use ProbeFinishedRequest.ProtoReflect.Descriptor instead.
func (*ProbeFinishedRequest) Descriptor() ([]byte, []int) {
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{33}
}

func (x *ProbeFinishedRequest) GetProbes() []*Probe {
	if x != nil {
		return x.Probes
	}
	return nil
}

// FailedProbe information.
type FailedProbe struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Destination host metadata.
	Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// The description of probing failed.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}

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

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

func (*FailedProbe) ProtoMessage() {}

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

// Deprecated: Use FailedProbe.ProtoReflect.Descriptor instead.
func (*FailedProbe) Descriptor() ([]byte, []int) {
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{34}
}

func (x *FailedProbe) GetHost() *v2.Host {
	if x != nil {
		return x.Host
	}
	return nil
}

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

// ProbeFailedRequest represents failed request of SyncProbesRequest.
type ProbeFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Failed probes information.
	Probes []*FailedProbe `protobuf:"bytes,1,rep,name=probes,proto3" json:"probes,omitempty"`
}

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

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

func (*ProbeFailedRequest) ProtoMessage() {}

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

// Deprecated: Use ProbeFailedRequest.ProtoReflect.Descriptor instead.
func (*ProbeFailedRequest) Descriptor() ([]byte, []int) {
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{35}
}

func (x *ProbeFailedRequest) GetProbes() []*FailedProbe {
	if x != nil {
		return x.Probes
	}
	return nil
}

// SyncProbesRequest represents request of SyncProbes.
type SyncProbesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Source host metadata.
	Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// Types that are assignable to Request:
	//
	//	*SyncProbesRequest_ProbeStartedRequest
	//	*SyncProbesRequest_ProbeFinishedRequest
	//	*SyncProbesRequest_ProbeFailedRequest
	Request isSyncProbesRequest_Request `protobuf_oneof:"request"`
}

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

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

func (*SyncProbesRequest) ProtoMessage() {}

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

// Deprecated: Use SyncProbesRequest.ProtoReflect.Descriptor instead.
func (*SyncProbesRequest) Descriptor() ([]byte, []int) {
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{36}
}

func (x *SyncProbesRequest) GetHost() *v2.Host {
	if x != nil {
		return x.Host
	}
	return nil
}

func (m *SyncProbesRequest) GetRequest() isSyncProbesRequest_Request {
	if m != nil {
		return m.Request
	}
	return nil
}

func (x *SyncProbesRequest) GetProbeStartedRequest() *ProbeStartedRequest {
	if x, ok := x.GetRequest().(*SyncProbesRequest_ProbeStartedRequest); ok {
		return x.ProbeStartedRequest
	}
	return nil
}

func (x *SyncProbesRequest) GetProbeFinishedRequest() *ProbeFinishedRequest {
	if x, ok := x.GetRequest().(*SyncProbesRequest_ProbeFinishedRequest); ok {
		return x.ProbeFinishedRequest
	}
	return nil
}

func (x *SyncProbesRequest) GetProbeFailedRequest() *ProbeFailedRequest {
	if x, ok := x.GetRequest().(*SyncProbesRequest_ProbeFailedRequest); ok {
		return x.ProbeFailedRequest
	}
	return nil
}

type isSyncProbesRequest_Request interface {
	isSyncProbesRequest_Request()
}

type SyncProbesRequest_ProbeStartedRequest struct {
	ProbeStartedRequest *ProbeStartedRequest `protobuf:"bytes,2,opt,name=probe_started_request,json=probeStartedRequest,proto3,oneof"`
}

type SyncProbesRequest_ProbeFinishedRequest struct {
	ProbeFinishedRequest *ProbeFinishedRequest `protobuf:"bytes,3,opt,name=probe_finished_request,json=probeFinishedRequest,proto3,oneof"`
}

type SyncProbesRequest_ProbeFailedRequest struct {
	ProbeFailedRequest *ProbeFailedRequest `protobuf:"bytes,4,opt,name=probe_failed_request,json=probeFailedRequest,proto3,oneof"`
}

func (*SyncProbesRequest_ProbeStartedRequest) isSyncProbesRequest_Request() {}

func (*SyncProbesRequest_ProbeFinishedRequest) isSyncProbesRequest_Request() {}

func (*SyncProbesRequest_ProbeFailedRequest) isSyncProbesRequest_Request() {}

// SyncProbesResponse represents response of SyncProbes.
type SyncProbesResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Hosts needs to be probed.
	Hosts []*v2.Host `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"`
}

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

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

func (*SyncProbesResponse) ProtoMessage() {}

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

// Deprecated: Use SyncProbesResponse.ProtoReflect.Descriptor instead.
func (*SyncProbesResponse) Descriptor() ([]byte, []int) {
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{37}
}

func (x *SyncProbesResponse) GetHosts() []*v2.Host {
	if x != nil {
		return x.Hosts
	}
	return nil
}

var File_pkg_apis_scheduler_v2_scheduler_proto protoreflect.FileDescriptor

var file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = []byte{
	0x0a, 0x25, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
	0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f,
	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
	0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a,
	0x13, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
	0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05,
	0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x22,
	0x54, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x65, 0x64, 0x50,
	0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63,
	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x22, 0x53, 0x0a, 0x26, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
	0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53,
	0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a,
	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0x0a, 0x1b, 0x44, 0x6f, 0x77, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65,
	0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42,
	0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x28, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
	0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65,
	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xfa, 0x42,
	0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x22, 0x83, 0x01, 0x0a, 0x27, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65,
	0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69,
	0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a,
	0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x28, 0x00, 0x52, 0x0d,
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, 0x0a,
	0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x05, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x52, 0x0a, 0x70, 0x69, 0x65,
	0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x19, 0x44, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
	0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
	0x52, 0x0a, 0x25, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42,
	0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
	0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x1c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
	0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50,
	0x69, 0x65, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05,
	0x70, 0x69, 0x65, 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x28, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x30, 0x0a, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x69, 0x65,
	0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x70, 0x69,
	0x65, 0x63, 0x65, 0x22, 0x6c, 0x0a, 0x1a, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
	0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x30, 0x0a, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x69, 0x65,
	0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x70, 0x69,
	0x65, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72,
	0x79, 0x22, 0xd7, 0x01, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
	0x32, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x2b, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x1a, 0x05, 0x10, 0xd7,
	0x04, 0x28, 0x64, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12,
	0x1f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x1a, 0x39, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x0e, 0x0a, 0x0c, 0x48,
	0x44, 0x46, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x53,
	0x33, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x4f, 0x53, 0x53,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xee, 0x02, 0x0a, 0x26, 0x44, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50,
	0x69, 0x65, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05,
	0x70, 0x69, 0x65, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x54, 0x54, 0x50,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x74, 0x74, 0x70,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x68, 0x64, 0x66, 0x73,
	0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x48,
	0x44, 0x46, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x68,
	0x64, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73,
	0x33, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x18, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x53, 0x33, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x33,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x6f, 0x73, 0x73, 0x5f,
	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x53,
	0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x73, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x61, 0x0a, 0x17, 0x53, 0x79, 0x6e,
	0x63, 0x50, 0x69, 0x65, 0x63, 0x65, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01,
	0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x0d, 0x0a,
	0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06,
	0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01,
	0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
	0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x15, 0x72, 0x65,
	0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
	0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13,
	0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x64, 0x0a, 0x1a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f,
	0x73, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53,
	0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
	0x52, 0x17, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65,
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72,
	0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x64, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x2c, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f,
	0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65,
	0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54,
	0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x26, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x70, 0x0a, 0x1e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72,
	0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
	0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x00, 0x52, 0x1b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65,
	0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x97, 0x01, 0x0a, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70,
	0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x48, 0x00, 0x52, 0x27, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72,
	0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69,
	0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x1c, 0x64,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x69,
	0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x27, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
	0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69,
	0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x19, 0x64, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x2b, 0x64, 0x6f, 0x77, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74,
	0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e,
	0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x00, 0x52, 0x25, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65,
	0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61,
	0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1f, 0x64,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x69,
	0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
	0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63,
	0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x48, 0x00, 0x52, 0x1c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63,
	0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x9a, 0x01, 0x0a, 0x2e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69,
	0x65, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x48, 0x00, 0x52, 0x28, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65,
	0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69,
	0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a,
	0x1d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f,
	0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0e,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
	0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63,
	0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
	0x52, 0x1a, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46,
	0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x94, 0x01, 0x0a,
	0x2c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f,
	0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66,
	0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
	0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65,
	0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c,
	0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x26, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x64, 0x0a, 0x1a, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x69, 0x65, 0x63,
	0x65, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x65, 0x63, 0x65,
	0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
	0x52, 0x17, 0x73, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x65, 0x63, 0x65, 0x73, 0x46, 0x61, 0x69, 0x6c,
	0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x13, 0x0a, 0x11, 0x45, 0x6d, 0x70,
	0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35,
	0x0a, 0x10, 0x54, 0x69, 0x6e, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x7a, 0x02, 0x10, 0x01, 0x52, 0x07, 0x63, 0x6f,
	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x59, 0x0a, 0x11, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x54, 0x61,
	0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x61,
	0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32,
	0x2e, 0x50, 0x65, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
	0x0f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
	0x22, 0x9b, 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69,
	0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50,
	0x65, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x10, 0x63,
	0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x12,
	0x3d, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x69,
	0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42,
	0x07, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x01, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x74, 0x50, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x45,
	0x0a, 0x18, 0x4e, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdd, 0x03, 0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e,
	0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51,
	0x0a, 0x13, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
	0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11,
	0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x4e, 0x0a, 0x12, 0x74, 0x69, 0x6e, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
	0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6e,
	0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
	0x10, 0x74, 0x69, 0x6e, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x51, 0x0a, 0x13, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f,
	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
	0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6d,
	0x61, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x11, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x14, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74,
	0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
	0x32, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x61,
	0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x1c, 0x6e, 0x65,
	0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x26, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x4e, 0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x18, 0x6e, 0x65, 0x65, 0x64,
	0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x77, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65,
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
	0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61,
	0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
	0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07,
	0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
	0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x7b,
	0x0a, 0x13, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52,
	0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10,
	0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65,
	0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
	0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x45,
	0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x10, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10,
	0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73,
	0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
	0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70,
	0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
	0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a,
	0x0f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
	0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x6e, 0x6e,
	0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42,
	0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22,
	0x2b, 0x0a, 0x10, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13,
	0x50, 0x72, 0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x2d, 0x0a,
	0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f,
	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42,
	0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x03,
	0x72, 0x74, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x03,
	0x72, 0x74, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xb2, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x4d, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x62,
	0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x35, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x13, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x50, 0x72, 0x6f, 0x62, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52,
	0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x65,
	0x64, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32,
	0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52,
	0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
	0x02, 0x10, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x22, 0x51, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x62,
	0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x70, 0x72, 0x6f,
	0x62, 0x65, 0x73, 0x22, 0xdd, 0x02, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62,
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
	0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x62,
	0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72,
	0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x70, 0x72,
	0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x5a, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73,
	0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
	0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69,
	0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a,
	0x14, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65,
	0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x12, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03,
	0xf8, 0x42, 0x01, 0x22, 0x47, 0x0a, 0x12, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x73,
	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
	0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01,
	0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x32, 0xdf, 0x04, 0x0a,
	0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0c, 0x41, 0x6e,
	0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e,
	0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
	0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e,
	0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65,
	0x72, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65,
	0x72, 0x12, 0x43, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1e,
	0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65,
	0x61, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x55, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e,
	0x67, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65,
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
	0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a,
	0x08, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73,
	0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
	0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x0c, 0x41, 0x6e, 0x6e,
	0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63,
	0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
	0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73,
	0x74, 0x12, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
	0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x53, 0x0a, 0x0a, 0x53, 0x79, 0x6e,
	0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62,
	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x42, 0x2f,
	0x5a, 0x2d, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f,
	0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x62,
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_pkg_apis_scheduler_v2_scheduler_proto_rawDescOnce sync.Once
	file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData = file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc
)

func file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP() []byte {
	file_pkg_apis_scheduler_v2_scheduler_proto_rawDescOnce.Do(func() {
		file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData)
	})
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData
}

var file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
var file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = []interface{}{
	(*RegisterPeerRequest)(nil),                      // 0: scheduler.v2.RegisterPeerRequest
	(*RegisterSeedPeerRequest)(nil),                  // 1: scheduler.v2.RegisterSeedPeerRequest
	(*DownloadPeerStartedRequest)(nil),               // 2: scheduler.v2.DownloadPeerStartedRequest
	(*DownloadPeerBackToSourceStartedRequest)(nil),   // 3: scheduler.v2.DownloadPeerBackToSourceStartedRequest
	(*DownloadPeerFinishedRequest)(nil),              // 4: scheduler.v2.DownloadPeerFinishedRequest
	(*DownloadPeerBackToSourceFinishedRequest)(nil),  // 5: scheduler.v2.DownloadPeerBackToSourceFinishedRequest
	(*DownloadPeerFailedRequest)(nil),                // 6: scheduler.v2.DownloadPeerFailedRequest
	(*DownloadPeerBackToSourceFailedRequest)(nil),    // 7: scheduler.v2.DownloadPeerBackToSourceFailedRequest
	(*DownloadPieceFinishedRequest)(nil),             // 8: scheduler.v2.DownloadPieceFinishedRequest
	(*DownloadPieceBackToSourceFinishedRequest)(nil), // 9: scheduler.v2.DownloadPieceBackToSourceFinishedRequest
	(*DownloadPieceFailedRequest)(nil),               // 10: scheduler.v2.DownloadPieceFailedRequest
	(*HTTPResponse)(nil),                             // 11: scheduler.v2.HTTPResponse
	(*HDFSResponse)(nil),                             // 12: scheduler.v2.HDFSResponse
	(*S3Response)(nil),                               // 13: scheduler.v2.S3Response
	(*OSSResponse)(nil),                              // 14: scheduler.v2.OSSResponse
	(*DownloadPieceBackToSourceFailedRequest)(nil),   // 15: scheduler.v2.DownloadPieceBackToSourceFailedRequest
	(*SyncPiecesFailedRequest)(nil),                  // 16: scheduler.v2.SyncPiecesFailedRequest
	(*AnnouncePeerRequest)(nil),                      // 17: scheduler.v2.AnnouncePeerRequest
	(*EmptyTaskResponse)(nil),                        // 18: scheduler.v2.EmptyTaskResponse
	(*TinyTaskResponse)(nil),                         // 19: scheduler.v2.TinyTaskResponse
	(*SmallTaskResponse)(nil),                        // 20: scheduler.v2.SmallTaskResponse
	(*NormalTaskResponse)(nil),                       // 21: scheduler.v2.NormalTaskResponse
	(*NeedBackToSourceResponse)(nil),                 // 22: scheduler.v2.NeedBackToSourceResponse
	(*AnnouncePeerResponse)(nil),                     // 23: scheduler.v2.AnnouncePeerResponse
	(*StatPeerRequest)(nil),                          // 24: scheduler.v2.StatPeerRequest
	(*ExchangePeerRequest)(nil),                      // 25: scheduler.v2.ExchangePeerRequest
	(*ExchangePeerResponse)(nil),                     // 26: scheduler.v2.ExchangePeerResponse
	(*LeavePeerRequest)(nil),                         // 27: scheduler.v2.LeavePeerRequest
	(*StatTaskRequest)(nil),                          // 28: scheduler.v2.StatTaskRequest
	(*AnnounceHostRequest)(nil),                      // 29: scheduler.v2.AnnounceHostRequest
	(*LeaveHostRequest)(nil),                         // 30: scheduler.v2.LeaveHostRequest
	(*ProbeStartedRequest)(nil),                      // 31: scheduler.v2.ProbeStartedRequest
	(*Probe)(nil),                                    // 32: scheduler.v2.Probe
	(*ProbeFinishedRequest)(nil),                     // 33: scheduler.v2.ProbeFinishedRequest
	(*FailedProbe)(nil),                              // 34: scheduler.v2.FailedProbe
	(*ProbeFailedRequest)(nil),                       // 35: scheduler.v2.ProbeFailedRequest
	(*SyncProbesRequest)(nil),                        // 36: scheduler.v2.SyncProbesRequest
	(*SyncProbesResponse)(nil),                       // 37: scheduler.v2.SyncProbesResponse
	nil,                                              // 38: scheduler.v2.HTTPResponse.HeaderEntry
	(*v2.Download)(nil),                              // 39: common.v2.Download
	(*v2.Piece)(nil),                                 // 40: common.v2.Piece
	(*v2.Peer)(nil),                                  // 41: common.v2.Peer
	(*v2.Host)(nil),                                  // 42: common.v2.Host
	(*durationpb.Duration)(nil),                      // 43: google.protobuf.Duration
	(*timestamppb.Timestamp)(nil),                    // 44: google.protobuf.Timestamp
	(*emptypb.Empty)(nil),                            // 45: google.protobuf.Empty
	(*v2.Task)(nil),                                  // 46: common.v2.Task
}
var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{
	39, // 0: scheduler.v2.RegisterPeerRequest.download:type_name -> common.v2.Download
	39, // 1: scheduler.v2.RegisterSeedPeerRequest.download:type_name -> common.v2.Download
	40, // 2: scheduler.v2.DownloadPieceFinishedRequest.piece:type_name -> common.v2.Piece
	40, // 3: scheduler.v2.DownloadPieceBackToSourceFinishedRequest.piece:type_name -> common.v2.Piece
	40, // 4: scheduler.v2.DownloadPieceFailedRequest.piece:type_name -> common.v2.Piece
	38, // 5: scheduler.v2.HTTPResponse.header:type_name -> scheduler.v2.HTTPResponse.HeaderEntry
	40, // 6: scheduler.v2.DownloadPieceBackToSourceFailedRequest.piece:type_name -> common.v2.Piece
	11, // 7: scheduler.v2.DownloadPieceBackToSourceFailedRequest.http_response:type_name -> scheduler.v2.HTTPResponse
	12, // 8: scheduler.v2.DownloadPieceBackToSourceFailedRequest.hdfs_response:type_name -> scheduler.v2.HDFSResponse
	13, // 9: scheduler.v2.DownloadPieceBackToSourceFailedRequest.s3_response:type_name -> scheduler.v2.S3Response
	14, // 10: scheduler.v2.DownloadPieceBackToSourceFailedRequest.oss_response:type_name -> scheduler.v2.OSSResponse
	0,  // 11: scheduler.v2.AnnouncePeerRequest.register_peer_request:type_name -> scheduler.v2.RegisterPeerRequest
	1,  // 12: scheduler.v2.AnnouncePeerRequest.register_seed_peer_request:type_name -> scheduler.v2.RegisterSeedPeerRequest
	2,  // 13: scheduler.v2.AnnouncePeerRequest.download_peer_started_request:type_name -> scheduler.v2.DownloadPeerStartedRequest
	3,  // 14: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_started_request:type_name -> scheduler.v2.DownloadPeerBackToSourceStartedRequest
	4,  // 15: scheduler.v2.AnnouncePeerRequest.download_peer_finished_request:type_name -> scheduler.v2.DownloadPeerFinishedRequest
	5,  // 16: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPeerBackToSourceFinishedRequest
	6,  // 17: scheduler.v2.AnnouncePeerRequest.download_peer_failed_request:type_name -> scheduler.v2.DownloadPeerFailedRequest
	7,  // 18: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_failed_request:type_name -> scheduler.v2.DownloadPeerBackToSourceFailedRequest
	8,  // 19: scheduler.v2.AnnouncePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest
	9,  // 20: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFinishedRequest
	10, // 21: scheduler.v2.AnnouncePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest
	15, // 22: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_failed_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFailedRequest
	16, // 23: scheduler.v2.AnnouncePeerRequest.sync_pieces_failed_request:type_name -> scheduler.v2.SyncPiecesFailedRequest
	41, // 24: scheduler.v2.SmallTaskResponse.candidate_parent:type_name -> common.v2.Peer
	41, // 25: scheduler.v2.NormalTaskResponse.candidate_parents:type_name -> common.v2.Peer
	18, // 26: scheduler.v2.AnnouncePeerResponse.empty_task_response:type_name -> scheduler.v2.EmptyTaskResponse
	19, // 27: scheduler.v2.AnnouncePeerResponse.tiny_task_response:type_name -> scheduler.v2.TinyTaskResponse
	20, // 28: scheduler.v2.AnnouncePeerResponse.small_task_response:type_name -> scheduler.v2.SmallTaskResponse
	21, // 29: scheduler.v2.AnnouncePeerResponse.normal_task_response:type_name -> scheduler.v2.NormalTaskResponse
	22, // 30: scheduler.v2.AnnouncePeerResponse.need_back_to_source_response:type_name -> scheduler.v2.NeedBackToSourceResponse
	42, // 31: scheduler.v2.AnnounceHostRequest.host:type_name -> common.v2.Host
	42, // 32: scheduler.v2.Probe.host:type_name -> common.v2.Host
	43, // 33: scheduler.v2.Probe.rtt:type_name -> google.protobuf.Duration
	44, // 34: scheduler.v2.Probe.created_at:type_name -> google.protobuf.Timestamp
	32, // 35: scheduler.v2.ProbeFinishedRequest.probes:type_name -> scheduler.v2.Probe
	42, // 36: scheduler.v2.FailedProbe.host:type_name -> common.v2.Host
	34, // 37: scheduler.v2.ProbeFailedRequest.probes:type_name -> scheduler.v2.FailedProbe
	42, // 38: scheduler.v2.SyncProbesRequest.host:type_name -> common.v2.Host
	31, // 39: scheduler.v2.SyncProbesRequest.probe_started_request:type_name -> scheduler.v2.ProbeStartedRequest
	33, // 40: scheduler.v2.SyncProbesRequest.probe_finished_request:type_name -> scheduler.v2.ProbeFinishedRequest
	35, // 41: scheduler.v2.SyncProbesRequest.probe_failed_request:type_name -> scheduler.v2.ProbeFailedRequest
	42, // 42: scheduler.v2.SyncProbesResponse.hosts:type_name -> common.v2.Host
	17, // 43: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest
	24, // 44: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest
	27, // 45: scheduler.v2.Scheduler.LeavePeer:input_type -> scheduler.v2.LeavePeerRequest
	25, // 46: scheduler.v2.Scheduler.ExchangePeer:input_type -> scheduler.v2.ExchangePeerRequest
	28, // 47: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest
	29, // 48: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest
	30, // 49: scheduler.v2.Scheduler.LeaveHost:input_type -> scheduler.v2.LeaveHostRequest
	36, // 50: scheduler.v2.Scheduler.SyncProbes:input_type -> scheduler.v2.SyncProbesRequest
	23, // 51: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse
	41, // 52: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer
	45, // 53: scheduler.v2.Scheduler.LeavePeer:output_type -> google.protobuf.Empty
	26, // 54: scheduler.v2.Scheduler.ExchangePeer:output_type -> scheduler.v2.ExchangePeerResponse
	46, // 55: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task
	45, // 56: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty
	45, // 57: scheduler.v2.Scheduler.LeaveHost:output_type -> google.protobuf.Empty
	37, // 58: scheduler.v2.Scheduler.SyncProbes:output_type -> scheduler.v2.SyncProbesResponse
	51, // [51:59] is the sub-list for method output_type
	43, // [43:51] is the sub-list for method input_type
	43, // [43:43] is the sub-list for extension type_name
	43, // [43:43] is the sub-list for extension extendee
	0,  // [0:43] is the sub-list for field type_name
}

func init() { file_pkg_apis_scheduler_v2_scheduler_proto_init() }
func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
	if File_pkg_apis_scheduler_v2_scheduler_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegisterPeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegisterSeedPeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerStartedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerBackToSourceStartedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerBackToSourceFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerBackToSourceFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPieceFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPieceBackToSourceFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPieceFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HTTPResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HDFSResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*S3Response); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OSSResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPieceBackToSourceFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SyncPiecesFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AnnouncePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EmptyTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TinyTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SmallTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NormalTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NeedBackToSourceResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AnnouncePeerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatPeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExchangePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExchangePeerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LeavePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AnnounceHostRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LeaveHostRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProbeStartedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Probe); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProbeFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FailedProbe); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProbeFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SyncProbesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SyncProbesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[15].OneofWrappers = []interface{}{
		(*DownloadPieceBackToSourceFailedRequest_HttpResponse)(nil),
		(*DownloadPieceBackToSourceFailedRequest_HdfsResponse)(nil),
		(*DownloadPieceBackToSourceFailedRequest_S3Response)(nil),
		(*DownloadPieceBackToSourceFailedRequest_OssResponse)(nil),
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[17].OneofWrappers = []interface{}{
		(*AnnouncePeerRequest_RegisterPeerRequest)(nil),
		(*AnnouncePeerRequest_RegisterSeedPeerRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerStartedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerFinishedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerFailedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPieceFinishedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPieceFailedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest)(nil),
		(*AnnouncePeerRequest_SyncPiecesFailedRequest)(nil),
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23].OneofWrappers = []interface{}{
		(*AnnouncePeerResponse_EmptyTaskResponse)(nil),
		(*AnnouncePeerResponse_TinyTaskResponse)(nil),
		(*AnnouncePeerResponse_SmallTaskResponse)(nil),
		(*AnnouncePeerResponse_NormalTaskResponse)(nil),
		(*AnnouncePeerResponse_NeedBackToSourceResponse)(nil),
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36].OneofWrappers = []interface{}{
		(*SyncProbesRequest_ProbeStartedRequest)(nil),
		(*SyncProbesRequest_ProbeFinishedRequest)(nil),
		(*SyncProbesRequest_ProbeFailedRequest)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   39,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_pkg_apis_scheduler_v2_scheduler_proto_goTypes,
		DependencyIndexes: file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs,
		MessageInfos:      file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes,
	}.Build()
	File_pkg_apis_scheduler_v2_scheduler_proto = out.File
	file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = nil
	file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = nil
	file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = nil
}
