// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.0-devel
// 	protoc        v3.19.4
// source: live/request/request_live.proto

package request

import (
	reflect "reflect"
	sync "sync"

	business "github.com/volcengine/volc-sdk-golang/service/live/models/business"
	_ "github.com/volcengine/volc-sdk-golang/service/live/models/validators"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

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

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

	// 域名。一次只能提交一个域名。域名请在工信部完成备案。
	Domain string `protobuf:"bytes,1,opt,name=Domain,proto3" json:"Domain,omitempty"`
	// 域名类型，包含两种类型。<li>push：推流域名；<li>pull-flv：拉流域名，包含RTMP、FLV、HLS格式。
	Type string `protobuf:"bytes,2,opt,name=Type,proto3" json:"Type,omitempty"`
	// 区域，包含两种类型。<li>cn：中国大陆；<li>oversea：海外。
	Region string `protobuf:"bytes,3,opt,name=Region,proto3" json:"Region,omitempty"`
}

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

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

func (*CreateDomainRequest) ProtoMessage() {}

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

func (x *CreateDomainRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *CreateDomainRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *CreateDomainRequest) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

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

	// 当前页码，取值范围为 [1,1000]。
	PageNum int64 `protobuf:"varint,1,opt,name=PageNum,proto3" json:"PageNum,omitempty"`
	// 分页大小，取值范围为 [1,1000]。
	PageSize int64 `protobuf:"varint,2,opt,name=PageSize,proto3" json:"PageSize,omitempty"`
	// 配置空间列表，缺省情况下表示过滤全部。
	VhostList []string `protobuf:"bytes,3,rep,name=VhostList,proto3" json:"VhostList,omitempty"`
	// 域名状态列表。缺省情况下表示过滤全部。状态说明如下所示。
	// <li>0：正常；
	// <li>1：审核中；
	// <li>2：禁用，禁止使用，此时domain不生效；
	// <li>3：删除；
	// <li>4：审核被驳回。审核不通过，需要重新创建并审核；
	// <li>5：欠费关停。
	DomainStatusList []string `protobuf:"bytes,4,rep,name=DomainStatusList,proto3" json:"DomainStatusList,omitempty"`
	// 域名类型列表。缺省情况下表示过滤全部。域名类型包括：
	// <li>push：推流域名；
	// <li>pull-flv：拉流域名。
	DomainTypeList []string `protobuf:"bytes,5,rep,name=DomainTypeList,proto3" json:"DomainTypeList,omitempty"`
	// 域名区域列表。缺省情况下表示过滤全部，区域包括：
	// <li>cn：中国大陆；
	// <li>oversea：海外。
	DomainRegionList []string `protobuf:"bytes,6,rep,name=DomainRegionList,proto3" json:"DomainRegionList,omitempty"`
	// 域名名称列表，缺省情况下表示过滤全部。
	DomainNameList []string `protobuf:"bytes,7,rep,name=DomainNameList,proto3" json:"DomainNameList,omitempty"`
}

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

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

func (*ListDomainDetailRequest) ProtoMessage() {}

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

func (x *ListDomainDetailRequest) GetPageNum() int64 {
	if x != nil {
		return x.PageNum
	}
	return 0
}

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

func (x *ListDomainDetailRequest) GetVhostList() []string {
	if x != nil {
		return x.VhostList
	}
	return nil
}

func (x *ListDomainDetailRequest) GetDomainStatusList() []string {
	if x != nil {
		return x.DomainStatusList
	}
	return nil
}

func (x *ListDomainDetailRequest) GetDomainTypeList() []string {
	if x != nil {
		return x.DomainTypeList
	}
	return nil
}

func (x *ListDomainDetailRequest) GetDomainRegionList() []string {
	if x != nil {
		return x.DomainRegionList
	}
	return nil
}

func (x *ListDomainDetailRequest) GetDomainNameList() []string {
	if x != nil {
		return x.DomainNameList
	}
	return nil
}

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

	// 待禁用域名。
	Domain string `protobuf:"bytes,1,opt,name=Domain,proto3" json:"Domain,omitempty"`
}

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

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

func (*DisableDomainRequest) ProtoMessage() {}

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

func (x *DisableDomainRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

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

	// 待启用域名。
	Domain string `protobuf:"bytes,1,opt,name=Domain,proto3" json:"Domain,omitempty"`
}

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

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

func (*EnableDomainRequest) ProtoMessage() {}

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

func (x *EnableDomainRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

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

	// 待删除域名。
	Domain string `protobuf:"bytes,1,opt,name=Domain,proto3" json:"Domain,omitempty"`
}

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

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

func (*DeleteDomainRequest) ProtoMessage() {}

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

func (x *DeleteDomainRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

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

	// 域名列表。
	DomainList []string `protobuf:"bytes,1,rep,name=DomainList,proto3" json:"DomainList,omitempty"`
}

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

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

func (*DescribeDomainRequest) ProtoMessage() {}

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

func (x *DescribeDomainRequest) GetDomainList() []string {
	if x != nil {
		return x.DomainList
	}
	return nil
}

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

	// 需要绑定/解绑的拉流域名。
	PullDomain string `protobuf:"bytes,1,opt,name=PullDomain,proto3" json:"PullDomain,omitempty"`
	// 需要绑定的推流域名，在绑定推拉流域名的场景下，该参数为必填项。缺省情况下表示解绑。
	PushDomain string `protobuf:"bytes,2,opt,name=PushDomain,proto3" json:"PushDomain,omitempty"`
}

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

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

func (*ManagerPullPushDomainBindRequest) ProtoMessage() {}

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

func (x *ManagerPullPushDomainBindRequest) GetPullDomain() string {
	if x != nil {
		return x.PullDomain
	}
	return ""
}

func (x *ManagerPullPushDomainBindRequest) GetPushDomain() string {
	if x != nil {
		return x.PushDomain
	}
	return ""
}

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

	// 域名空间名称。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 应用名称，默认查询所有应用名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。
	App string `protobuf:"bytes,2,opt,name=App,proto3" json:"App,omitempty"`
	// 流名称，缺省情况下，查询所有流名称，由 1 到 100
	// 位数字、字母、下划线及"-"和"."组成，如果指定 Stream，必须同时指定 App 的值
	Stream string `protobuf:"bytes,3,opt,name=Stream,proto3" json:"Stream,omitempty"`
	// 查询时间范围的开始时间
	DateFrom string `protobuf:"bytes,4,opt,name=DateFrom,proto3" json:"DateFrom,omitempty"`
	// 查询时间范围的结束时间
	DateTo string `protobuf:"bytes,5,opt,name=DateTo,proto3" json:"DateTo,omitempty"`
	// 当前页码，取值范围为 [1,1000]。
	PageNum int64 `protobuf:"varint,6,opt,name=PageNum,proto3" json:"PageNum,omitempty"`
	// 分页大小，取值范围为 [1,1000]。
	PageSize int64 `protobuf:"varint,7,opt,name=PageSize,proto3" json:"PageSize,omitempty"`
	// 录制文件保存位置。默认取值为 ToS。
	// <li>ToS
	// <li>ImageX
	Type string `protobuf:"bytes,8,opt,name=Type,proto3" json:"Type,omitempty"`
}

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

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

func (*DescribeRecordTaskFileHistoryRequest) ProtoMessage() {}

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

func (x *DescribeRecordTaskFileHistoryRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DescribeRecordTaskFileHistoryRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *DescribeRecordTaskFileHistoryRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

func (x *DescribeRecordTaskFileHistoryRequest) GetDateFrom() string {
	if x != nil {
		return x.DateFrom
	}
	return ""
}

func (x *DescribeRecordTaskFileHistoryRequest) GetDateTo() string {
	if x != nil {
		return x.DateTo
	}
	return ""
}

func (x *DescribeRecordTaskFileHistoryRequest) GetPageNum() int64 {
	if x != nil {
		return x.PageNum
	}
	return 0
}

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

func (x *DescribeRecordTaskFileHistoryRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

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

	// 域名空间名称。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 应用名称，默认查询所有应用名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。
	App string `protobuf:"bytes,2,opt,name=App,proto3" json:"App,omitempty"`
	// 流名称，缺省情况下，查询所有流名称，由 1 到 100
	// 位数字、字母、下划线及"-"和"."组成，如果指定 Stream，必须同时指定 App 的值
	Stream string `protobuf:"bytes,3,opt,name=Stream,proto3" json:"Stream,omitempty"`
	// 查询时间范围的开始时间
	DateFrom string `protobuf:"bytes,4,opt,name=DateFrom,proto3" json:"DateFrom,omitempty"`
	// 查询时间范围的结束时间
	DateTo string `protobuf:"bytes,5,opt,name=DateTo,proto3" json:"DateTo,omitempty"`
	// 当前页码，取值范围为 [1,1000]。
	PageNum int64 `protobuf:"varint,6,opt,name=PageNum,proto3" json:"PageNum,omitempty"`
	// 分页大小，取值范围为 [1,1000]。
	PageSize int64 `protobuf:"varint,7,opt,name=PageSize,proto3" json:"PageSize,omitempty"`
	// 截图文件保存位置。默认取值为 ToS。
	// <li>ToS
	// <li>ImageX
	Type string `protobuf:"bytes,8,opt,name=Type,proto3" json:"Type,omitempty"`
}

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

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

func (*DescribeCDNSnapshotHistoryRequest) ProtoMessage() {}

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

func (x *DescribeCDNSnapshotHistoryRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DescribeCDNSnapshotHistoryRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *DescribeCDNSnapshotHistoryRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

func (x *DescribeCDNSnapshotHistoryRequest) GetDateFrom() string {
	if x != nil {
		return x.DateFrom
	}
	return ""
}

func (x *DescribeCDNSnapshotHistoryRequest) GetDateTo() string {
	if x != nil {
		return x.DateTo
	}
	return ""
}

func (x *DescribeCDNSnapshotHistoryRequest) GetPageNum() int64 {
	if x != nil {
		return x.PageNum
	}
	return 0
}

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

func (x *DescribeCDNSnapshotHistoryRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

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

	// 当前页码，取值范围为 [1,1000]。
	PageNum int64 `protobuf:"varint,1,opt,name=PageNum,proto3" json:"PageNum,omitempty"`
	// 分页大小，取值范围为 [1,1000]。
	PageSize int64 `protobuf:"varint,2,opt,name=PageSize,proto3" json:"PageSize,omitempty"`
	// 域名空间名称。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Vhost string `protobuf:"bytes,3,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 推流域名。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Domain string `protobuf:"bytes,4,opt,name=Domain,proto3" json:"Domain,omitempty"`
	// 应用名称，默认查询所有应用名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。
	App string `protobuf:"bytes,5,opt,name=App,proto3" json:"App,omitempty"`
	// 流名称，缺省情况下，查询所有流名称，由 1 到 100
	// 位数字、字母、下划线及"-"和"."组成，如果指定 Stream，必须同时指定 App 的值
	Stream string `protobuf:"bytes,6,opt,name=Stream,proto3" json:"Stream,omitempty"`
	// 流类型，缺省情况下表示全选。支持如下取值。
	// <li>Origin：原始流；
	// <li>trans：转码流。
	StreamType string `protobuf:"bytes,7,opt,name=StreamType,proto3" json:"StreamType,omitempty"`
	// 想要查询的目标信息，使用英文逗号作为分隔符“,”，例如，bitrate,framerate。缺省情况下表示
	// bitrate,framerate。支持如下取值。 <li>all：所有信息；
	// <li>onlineuser：在线人数；
	// <li>bandwidth：带宽信息;
	// <li>bitrate：码率信息；
	// <li>framerate：帧率信息；
	InfoType string `protobuf:"bytes,8,opt,name=InfoType,proto3" json:"InfoType,omitempty"`
}

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

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

func (*DescribeLiveStreamInfoByPageRequest) ProtoMessage() {}

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

func (x *DescribeLiveStreamInfoByPageRequest) GetPageNum() int64 {
	if x != nil {
		return x.PageNum
	}
	return 0
}

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

func (x *DescribeLiveStreamInfoByPageRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DescribeLiveStreamInfoByPageRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *DescribeLiveStreamInfoByPageRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *DescribeLiveStreamInfoByPageRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

func (x *DescribeLiveStreamInfoByPageRequest) GetStreamType() string {
	if x != nil {
		return x.StreamType
	}
	return ""
}

func (x *DescribeLiveStreamInfoByPageRequest) GetInfoType() string {
	if x != nil {
		return x.InfoType
	}
	return ""
}

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

	// 当前页码，取值范围 ≥1。
	PageNum int64 `protobuf:"varint,1,opt,name=PageNum,proto3" json:"PageNum,omitempty"`
	// 分页大小，取值范围为 [1,1000]。
	PageSize int64 `protobuf:"varint,2,opt,name=PageSize,proto3" json:"PageSize,omitempty"`
	// 域名空间名称。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Vhost string `protobuf:"bytes,3,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 推流域名。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Domain string `protobuf:"bytes,4,opt,name=Domain,proto3" json:"Domain,omitempty"`
	// 应用名称，默认查询所有应用名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。
	App string `protobuf:"bytes,5,opt,name=App,proto3" json:"App,omitempty"`
	// 流名称，缺省情况下，查询所有流名称，由 1 到 100
	// 位数字、字母、下划线及"-"和"."组成，如果指定 Stream，必须同时指定 App 的值
	Stream string `protobuf:"bytes,6,opt,name=Stream,proto3" json:"Stream,omitempty"`
	// 排列方式，根据结束时间排序。支持两种形式。缺省情况下为 desc。
	// <li>asc：按从小到大升序排列；
	// <li>desc：按从大到小降序排列。
	Sort string `protobuf:"bytes,7,opt,name=Sort,proto3" json:"Sort,omitempty"`
	// 查询的起始时间，以 RFC3339 格式表示的 UTC
	// 时间戳，例如，2021-10-02T19:39:26Z。筛选结束推流时间符合查询条件的历史流
	EndTimeFrom string `protobuf:"bytes,8,opt,name=EndTimeFrom,proto3" json:"EndTimeFrom,omitempty"`
	// 查询的结束时间，以 RFC3339 格式表示的 UTC
	// 时间戳，例如，2021-10-02T19:39:26Z。筛选结束推流时间符合查询条件的历史流
	EndTimeTo string `protobuf:"bytes,9,opt,name=EndTimeTo,proto3" json:"EndTimeTo,omitempty"`
	// 表示推流方式，缺省情况查询全部推流方式。支持如下取值。
	// <li>push:直推流；
	// <li>relay:回源流。
	SourceType string `protobuf:"bytes,10,opt,name=SourceType,proto3" json:"SourceType,omitempty"`
}

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

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

func (*DescribeClosedStreamInfoByPageRequest) ProtoMessage() {}

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

func (x *DescribeClosedStreamInfoByPageRequest) GetPageNum() int64 {
	if x != nil {
		return x.PageNum
	}
	return 0
}

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

func (x *DescribeClosedStreamInfoByPageRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DescribeClosedStreamInfoByPageRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *DescribeClosedStreamInfoByPageRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *DescribeClosedStreamInfoByPageRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

func (x *DescribeClosedStreamInfoByPageRequest) GetSort() string {
	if x != nil {
		return x.Sort
	}
	return ""
}

func (x *DescribeClosedStreamInfoByPageRequest) GetEndTimeFrom() string {
	if x != nil {
		return x.EndTimeFrom
	}
	return ""
}

func (x *DescribeClosedStreamInfoByPageRequest) GetEndTimeTo() string {
	if x != nil {
		return x.EndTimeTo
	}
	return ""
}

func (x *DescribeClosedStreamInfoByPageRequest) GetSourceType() string {
	if x != nil {
		return x.SourceType
	}
	return ""
}

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

	// 当前页码，取值范围 ≥1。
	PageNum int64 `protobuf:"varint,1,opt,name=PageNum,proto3" json:"PageNum,omitempty"`
	// 分页大小，取值范围为 [1,1000]。
	PageSize int64 `protobuf:"varint,2,opt,name=PageSize,proto3" json:"PageSize,omitempty"`
	// 域名空间名称。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Vhost string `protobuf:"bytes,3,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 应用名称，默认查询所有应用名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。
	App string `protobuf:"bytes,4,opt,name=App,proto3" json:"App,omitempty"`
	// 流名称，缺省情况下，查询所有流名称，由 1 到 100
	// 位数字、字母、下划线及"-"和"."组成，如果指定 Stream，必须同时指定 App 的值
	Stream string `protobuf:"bytes,5,opt,name=Stream,proto3" json:"Stream,omitempty"`
	// 排列方式，根据结束时间排序。支持两种形式。缺省情况下为 desc。
	// <li>asc：按从小到大升序排列；
	// <li>desc：按从大到小降序排列。
	Sort string `protobuf:"bytes,6,opt,name=Sort,proto3" json:"Sort,omitempty"`
}

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

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

func (*DescribeForbiddenStreamInfoByPageRequest) ProtoMessage() {}

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

func (x *DescribeForbiddenStreamInfoByPageRequest) GetPageNum() int64 {
	if x != nil {
		return x.PageNum
	}
	return 0
}

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

func (x *DescribeForbiddenStreamInfoByPageRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DescribeForbiddenStreamInfoByPageRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *DescribeForbiddenStreamInfoByPageRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

func (x *DescribeForbiddenStreamInfoByPageRequest) GetSort() string {
	if x != nil {
		return x.Sort
	}
	return ""
}

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

	// 域名空间名称
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 推流域名。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"`
	// 应用名称，由 1 到 30 位数字、字母、下划线及"-"和"."组成
	App string `protobuf:"bytes,3,opt,name=App,proto3" json:"App,omitempty"`
	// 流名称。由 1 到 100 位数字、字母、下划线及"-"和"."组成，如果指定
	// Stream，必须同时指定 App 的值
	Stream string `protobuf:"bytes,4,opt,name=Stream,proto3" json:"Stream,omitempty"`
}

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

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

func (*DescribeLiveStreamStateRequest) ProtoMessage() {}

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

func (x *DescribeLiveStreamStateRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DescribeLiveStreamStateRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *DescribeLiveStreamStateRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *DescribeLiveStreamStateRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

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

	// Vhost 的名称。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 推流域名。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"`
	// 应用名称，由 1 到 30 位数字、字母、下划线及"-"和"."组成
	App string `protobuf:"bytes,3,opt,name=App,proto3" json:"App,omitempty"`
	// 流名称。由 1 到 100 位数字、字母、下划线及"-"和"."组成，如果指定
	// Stream，必须同时指定 App 的值
	Stream string `protobuf:"bytes,4,opt,name=Stream,proto3" json:"Stream,omitempty"`
}

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

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

func (*ResumeStreamRequest) ProtoMessage() {}

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

func (x *ResumeStreamRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *ResumeStreamRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *ResumeStreamRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *ResumeStreamRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

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

	// 域名空间名称
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 应用名称，默认查询所有应用名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。
	App string `protobuf:"bytes,2,opt,name=App,proto3" json:"App,omitempty"`
	// 流名称，缺省情况下，查询所有流名称，由 1 到
	// 100位数字、字母、下划线及"-"和"."组成，如果指定 Stream，必须同时指定 App
	// 的值
	Stream string `protobuf:"bytes,3,opt,name=Stream,proto3" json:"Stream,omitempty"`
}

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

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

func (*KillStreamRequest) ProtoMessage() {}

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

func (x *KillStreamRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *KillStreamRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *KillStreamRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

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

	// 域名空间名称
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 推流域名。
	// 参数 `Domain` 和 `Vhost`传且仅传一个。
	Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"`
	// 应用名称，默认查询所有应用名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。
	App string `protobuf:"bytes,3,opt,name=App,proto3" json:"App,omitempty"`
	// 流名称，缺省情况下，查询所有流名称，由 1 到
	// 100位数字、字母、下划线及"-"和"."组成，如果指定 Stream，必须同时指定
	// App的值
	Stream string `protobuf:"bytes,4,opt,name=Stream,proto3" json:"Stream,omitempty"`
	// 禁推的结束时间，禁推有效期最长为 90 天，默认为当前时间加 90 天
	EndTime string `protobuf:"bytes,5,opt,name=EndTime,proto3" json:"EndTime,omitempty"`
}

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

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

func (*ForbidStreamRequest) ProtoMessage() {}

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

func (x *ForbidStreamRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *ForbidStreamRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *ForbidStreamRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *ForbidStreamRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

func (x *ForbidStreamRequest) GetEndTime() string {
	if x != nil {
		return x.EndTime
	}
	return ""
}

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

	// 域名空间名称。
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 应用名称，由 1 到 30 位数字、字母、下划线及"-"和"."组成。
	App string `protobuf:"bytes,2,opt,name=App,proto3" json:"App,omitempty"`
	// 回源地址数组。
	RelaySourceDomainList []string `protobuf:"bytes,3,rep,name=RelaySourceDomainList,proto3" json:"RelaySourceDomainList,omitempty"`
	// 回源参数。
	RelaySourceParams map[string]string `protobuf:"bytes,4,rep,name=RelaySourceParams,proto3" json:"RelaySourceParams,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// 回源协议，目前只支持以下两种：<li>rmtp <li>flv。
	RelaySourceProtocol string `protobuf:"bytes,5,opt,name=RelaySourceProtocol,proto3" json:"RelaySourceProtocol,omitempty"`
}

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

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

func (*UpdateRelaySourceRequest) ProtoMessage() {}

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

func (x *UpdateRelaySourceRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *UpdateRelaySourceRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *UpdateRelaySourceRequest) GetRelaySourceDomainList() []string {
	if x != nil {
		return x.RelaySourceDomainList
	}
	return nil
}

func (x *UpdateRelaySourceRequest) GetRelaySourceParams() map[string]string {
	if x != nil {
		return x.RelaySourceParams
	}
	return nil
}

func (x *UpdateRelaySourceRequest) GetRelaySourceProtocol() string {
	if x != nil {
		return x.RelaySourceProtocol
	}
	return ""
}

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

	// 域名空间名称。
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 应用名称，由 1 到 30 位数字、字母、下划线及"-"和"."组成。
	App string `protobuf:"bytes,2,opt,name=App,proto3" json:"App,omitempty"`
}

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

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

func (*DeleteRelaySourceRequest) ProtoMessage() {}

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

func (x *DeleteRelaySourceRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DeleteRelaySourceRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

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

	// 域名空间名称。
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
}

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

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

func (*DescribeRelaySourceRequest) ProtoMessage() {}

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

func (x *DescribeRelaySourceRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

type CreateVQScoreTaskRequest struct {

	// 主拉流地址。 支持输入FCDN拉流地址和第三方CDN拉流地址。
	MainAddr string `json:"MainAddr"`
	// 对比拉流地址。
	ContrastAddr string `json:"ContrastAddr"`
	// 抽帧间隔，目前只能密集抽帧模板控制，以模板为主。
	FrameInterval int64 `json:"FrameInterval"`
	// 测评运行时间
	// - 支持输入s整数
	// - 最大支持7*24小时的测评任务
	// - 最小支持1min的测评任务
	Duration int64 `json:"Duration"`
	// 测评算法，支持vqscore分数计算
	Algorithm string `json:"Algorithm"`
}

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

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

func (*CreateVQScoreTaskRequest) ProtoMessage() {}

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

func (x *CreateVQScoreTaskRequest) GetMainAddr() string {
	if x != nil {
		return x.MainAddr
	}
	return ""
}

func (x *CreateVQScoreTaskRequest) GetContrastAddr() string {
	if x != nil {
		return x.ContrastAddr
	}
	return ""
}

func (x *CreateVQScoreTaskRequest) GetFrameInterval() int64 {
	if x != nil {
		return x.FrameInterval
	}
	return 0
}

func (x *CreateVQScoreTaskRequest) GetDuration() int64 {
	if x != nil {
		return x.Duration
	}
	return 0
}

func (x *CreateVQScoreTaskRequest) GetAlgorithm() string {
	if x != nil {
		return x.Algorithm
	}
	return ""
}

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

	// 测评任务ID
	ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
}

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

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

func (*DescribeVQScoreTaskRequest) ProtoMessage() {}

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

func (x *DescribeVQScoreTaskRequest) GetID() string {
	if x != nil {
		return x.ID
	}
	return ""
}

type ListVQScoreTaskRequest struct {
	// 查询开始时间，UTC时间格式，支持查询最近30天内的数据
	StartTime string `json:"StartTime"`
	// 查询结束时间，UTC时间格式，支持查询最近30天内的数据
	EndTime string `json:"EndTime"`
	// 当前页码，取值范围为 [1,1000]。
	PageNum int64 `json:"PageNum,omitempty"`
	// 分页大小，取值范围为 [1,1000]。
	PageSize int64 `json:"PageSize,omitempty""`
	// 测评状态，0：全部，1：测试中，2：成功，3：失败
	Status *int64 `json:"Status"`
}

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

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

func (*ListVQScoreTaskRequest) ProtoMessage() {}

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

func (x *ListVQScoreTaskRequest) GetStartTime() string {
	if x != nil {
		return x.StartTime
	}
	return ""
}

func (x *ListVQScoreTaskRequest) GetEndTime() string {
	if x != nil {
		return x.EndTime
	}
	return ""
}

func (x *ListVQScoreTaskRequest) GetPageNum() int64 {
	if x != nil {
		return x.PageNum
	}
	return 0
}

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

func (x *ListVQScoreTaskRequest) GetStatus() int64 {
	if x != nil {
		return *x.Status
	}
	return 0
}

type GeneratePlayURLRequest struct {
	// 域名空间名称
	Vhost string `json:"Vhost"`
	// 拉流域名名称，需要生成拉流地址的域名
	Domain string `json:"Domain"`
	// App名称
	App string `json:"App"`
	// Stream名称
	Stream string `json:"Stream"`
	// 转码流后缀，不填源流
	Suffix string `json:"Suffix"`
	// cdn类型，fcdn/3rd（第二方cdn）二选一填，不填默认fcdn
	Type string `json:"Type"`
	// 生成的地址鉴权的有效时间，单位s，不填默认使用鉴权配置的过期时间，没有鉴权时间则默认7天过期
	ValidDuration *int64 `json:"ValidDuration"`
	// 绝对有效时间，UTC格式，优先级比ValidDuration低
	ExpiredTime string `json:"ExpiredTime"`
}

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

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

func (*GeneratePlayURLRequest) ProtoMessage() {}

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

func (x *GeneratePlayURLRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *GeneratePlayURLRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *GeneratePlayURLRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *GeneratePlayURLRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

func (x *GeneratePlayURLRequest) GetSuffix() string {
	if x != nil {
		return x.Suffix
	}
	return ""
}

func (x *GeneratePlayURLRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *GeneratePlayURLRequest) GetValidDuration() int64 {
	if x != nil {
		return *x.ValidDuration
	}
	return 0
}

func (x *GeneratePlayURLRequest) GetExpiredTime() string {
	if x != nil {
		return x.ExpiredTime
	}
	return ""
}

type GeneratePushURLRequest struct {
	// 域名空间名称
	Vhost string `json:"Vhost"`
	// 推流域名名称，需要推流地址的域名，不填返回Vhost下所有推流域名生成的地址
	Domain string `json:"Domain"`
	// App名称
	App string `json:"App"`
	// App名称
	Stream string `json:"Stream"`
	// 生成的地址鉴权的有效时间，单位s，不填默认使用鉴权配置的过期时间，没有鉴权时间则默认7天过期
	ValidDuration *int64 `json:"ValidDuration"`
	// 绝对有效时间，UTC格式，优先级比ValidDuration低
	ExpiredTime string `json:"ExpiredTime"`
}

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

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

func (*GeneratePushURLRequest) ProtoMessage() {}

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

func (x *GeneratePushURLRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *GeneratePushURLRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *GeneratePushURLRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *GeneratePushURLRequest) GetStream() string {
	if x != nil {
		return x.Stream
	}
	return ""
}

func (x *GeneratePushURLRequest) GetValidDuration() int64 {
	if x != nil {
		return *x.ValidDuration
	}
	return 0
}

func (x *GeneratePushURLRequest) GetExpiredTime() string {
	if x != nil {
		return x.ExpiredTime
	}
	return ""
}

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

	// 标题
	Title string `json:"Title"`
	// 开始时间，unix时间戳，单位s
	StartTime int64 `json:"StartTime"`
	// 结束时间，unix时间戳，单位s，和开始时间的跨度最大7天
	EndTime int64 `json:"EndTime"`
	// 回调地址，小于2000字符
	CallbackURL string `json:"CallbackURL"`
	// 拉流转推地址类型，0：直播，1：点播
	Type int32 `json:"Type"`
	// 点播时，拉流地址的循环模式，Type=1时必选，-1：顺序循环
	CycleMode int32 `json:"CycleMode"`
	// 推流目标地址
	DstAddr string `json:"DstAddr"`
	// 直播拉流地址,Type=0时必填
	SrcAddr string `json:"SrcAddr"`
	// 点播拉流地址，Type=1时必填
	SrcAddrS []string `json:"SrcAddrS"`
}

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

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

func (*CreatePullToPushTaskRequest) ProtoMessage() {}

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

func (x *CreatePullToPushTaskRequest) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *CreatePullToPushTaskRequest) GetStartTime() int64 {
	if x != nil {
		return x.StartTime
	}
	return 0
}

func (x *CreatePullToPushTaskRequest) GetEndTime() int64 {
	if x != nil {
		return x.EndTime
	}
	return 0
}

func (x *CreatePullToPushTaskRequest) GetCallbackURL() string {
	if x != nil {
		return x.CallbackURL
	}
	return ""
}

func (x *CreatePullToPushTaskRequest) GetType() int32 {
	if x != nil {
		return x.Type
	}
	return 0
}

func (x *CreatePullToPushTaskRequest) GetCycleMode() int32 {
	if x != nil {
		return x.CycleMode
	}
	return 0
}

func (x *CreatePullToPushTaskRequest) GetDstAddr() string {
	if x != nil {
		return x.DstAddr
	}
	return ""
}

func (x *CreatePullToPushTaskRequest) GetSrcAddr() string {
	if x != nil {
		return x.SrcAddr
	}
	return ""
}

func (x *CreatePullToPushTaskRequest) GetSrcAddrS() []string {
	if x != nil {
		return x.SrcAddrS
	}
	return nil
}

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

	// 页码，不填默认1
	Page int32 `protobuf:"varint,1,opt,name=Page,proto3" json:"Page,omitempty"`
	// 每页数量，不填默认20
	Size int32 `protobuf:"varint,2,opt,name=Size,proto3" json:"Size,omitempty"`
	// 任务标题
	Title string `protobuf:"bytes,3,opt,name=Title,proto3" json:"Title,omitempty"`
}

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

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

func (*ListPullToPushTaskRequest) ProtoMessage() {}

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

func (x *ListPullToPushTaskRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListPullToPushTaskRequest) GetSize() int32 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *ListPullToPushTaskRequest) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

type UpdatePullToPushTaskRequest struct {
	// 任务标题
	Title string `json:"Title"`
	// 任务ID
	TaskId string `json:"TaskId"`
	// 开始时间，unix时间戳，单位s
	StartTime int64 `json:"StartTime"`
	// 结束时间，unix时间戳，单位s，与开始时间跨度不超过7天
	EndTime int64 `json:"EndTime"`
	// 回调地址，长度小于2000
	CallbackURL string `json:"CallbackURL"`
	// 拉流转推地址类型，0：直播，1：点播
	Type int32 `json:"Type"`
	// 点播时，拉流地址的循环模式，Type=1时必选，-1：顺序循环
	CycleMode int32 `json:"CycleMode"`
	// 推流目标地址
	DstAddr string `json:"DstAddr"`
	// 直播拉流地址,Type=0时必填
	SrcAddr string `json:"SrcAddr"`
	// 点播拉流地址，Type=1时必填
	SrcAddrS []string `json:"SrcAddrS"`
}

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

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

func (*UpdatePullToPushTaskRequest) ProtoMessage() {}

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

func (x *UpdatePullToPushTaskRequest) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

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

func (x *UpdatePullToPushTaskRequest) GetStartTime() int64 {
	if x != nil {
		return x.StartTime
	}
	return 0
}

func (x *UpdatePullToPushTaskRequest) GetEndTime() int64 {
	if x != nil {
		return x.EndTime
	}
	return 0
}

func (x *UpdatePullToPushTaskRequest) GetCallbackURL() string {
	if x != nil {
		return x.CallbackURL
	}
	return ""
}

func (x *UpdatePullToPushTaskRequest) GetType() int32 {
	if x != nil {
		return x.Type
	}
	return 0
}

func (x *UpdatePullToPushTaskRequest) GetCycleMode() int32 {
	if x != nil {
		return x.CycleMode
	}
	return 0
}

func (x *UpdatePullToPushTaskRequest) GetDstAddr() string {
	if x != nil {
		return x.DstAddr
	}
	return ""
}

func (x *UpdatePullToPushTaskRequest) GetSrcAddr() string {
	if x != nil {
		return x.SrcAddr
	}
	return ""
}

func (x *UpdatePullToPushTaskRequest) GetSrcAddrS() []string {
	if x != nil {
		return x.SrcAddrS
	}
	return nil
}

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

	// 任务ID
	TaskId string `protobuf:"bytes,1,opt,name=TaskId,proto3" json:"TaskId,omitempty"`
}

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

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

func (*RestartPullToPushTaskRequest) ProtoMessage() {}

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

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

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

	// 任务ID
	TaskId string `protobuf:"bytes,1,opt,name=TaskId,proto3" json:"TaskId,omitempty"`
}

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

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

func (*StopPullToPushTaskRequest) ProtoMessage() {}

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

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

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

	// 任务ID
	TaskId string `protobuf:"bytes,1,opt,name=TaskId,proto3" json:"TaskId,omitempty"`
}

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

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

func (*DeletePullToPushTaskRequest) ProtoMessage() {}

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

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

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

	// 域名空间名称
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 推拉流域名，domain和app二选一填
	Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"`
	// App的名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。domain和app二选一填。
	App string `protobuf:"bytes,3,opt,name=App,proto3" json:"App,omitempty"`
	// 黑白名称配置列表
	DenyConfigList []*business.DenyConfigDetail `protobuf:"bytes,4,rep,name=DenyConfigList,proto3" json:"DenyConfigList,omitempty"`
}

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

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

func (*UpdateDenyConfigRequest) ProtoMessage() {}

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

func (x *UpdateDenyConfigRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *UpdateDenyConfigRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *UpdateDenyConfigRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *UpdateDenyConfigRequest) GetDenyConfigList() []*business.DenyConfigDetail {
	if x != nil {
		return x.DenyConfigList
	}
	return nil
}

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

	// 域名空间名称
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 推拉流域名，domain和app二选一填
	Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"`
	// App的名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。domain和app二选一填。
	App string `protobuf:"bytes,3,opt,name=App,proto3" json:"App,omitempty"`
}

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

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

func (*DescribeDenyConfigRequest) ProtoMessage() {}

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

func (x *DescribeDenyConfigRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DescribeDenyConfigRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *DescribeDenyConfigRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

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

	// 域名空间名称
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// 推拉流域名，domain和app二选一填
	Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"`
	// App的名称，由 1 到 30
	// 位数字、字母、下划线及"-"和"."组成。domain和app二选一填。
	App string `protobuf:"bytes,3,opt,name=App,proto3" json:"App,omitempty"`
}

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

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

func (*DeleteDenyConfigRequest) ProtoMessage() {}

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

func (x *DeleteDenyConfigRequest) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DeleteDenyConfigRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *DeleteDenyConfigRequest) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

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

	//域名空间名称
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// App名称，app和domain二选一填
	App string `protobuf:"bytes,2,opt,name=App,proto3" json:"App,omitempty"`
	//域名名称，app和domain二先一填
	Domain string `protobuf:"bytes,3,opt,name=Domain,proto3" json:"Domain,omitempty"`
	//服务类型, pull: 拉流，push：推流
	ServiceType string `protobuf:"bytes,4,opt,name=ServiceType,proto3" json:"ServiceType,omitempty"`
	//配置详情列表
	DenyConfigList []*business.DenyConfigDetailV2 `protobuf:"bytes,5,rep,name=DenyConfigList,proto3" json:"DenyConfigList,omitempty"`
}

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

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

func (*UpdateDenyConfigV2Request) ProtoMessage() {}

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

func (x *UpdateDenyConfigV2Request) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *UpdateDenyConfigV2Request) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *UpdateDenyConfigV2Request) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *UpdateDenyConfigV2Request) GetServiceType() string {
	if x != nil {
		return x.ServiceType
	}
	return ""
}

func (x *UpdateDenyConfigV2Request) GetDenyConfigList() []*business.DenyConfigDetailV2 {
	if x != nil {
		return x.DenyConfigList
	}
	return nil
}

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

	//域名空间名称
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// App名称，app和domain二选一填
	App string `protobuf:"bytes,2,opt,name=App,proto3" json:"App,omitempty"`
	//域名名称，app和domain二选一填
	Domain string `protobuf:"bytes,3,opt,name=Domain,proto3" json:"Domain,omitempty"`
	//服务类型，pull：拉流，push：推流
	ServiceType string `protobuf:"bytes,4,opt,name=ServiceType,proto3" json:"ServiceType,omitempty"`
}

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

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

func (*DescribeDenyConfigV2Request) ProtoMessage() {}

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

func (x *DescribeDenyConfigV2Request) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DescribeDenyConfigV2Request) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *DescribeDenyConfigV2Request) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *DescribeDenyConfigV2Request) GetServiceType() string {
	if x != nil {
		return x.ServiceType
	}
	return ""
}

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

	//域名空间名称
	Vhost string `protobuf:"bytes,1,opt,name=Vhost,proto3" json:"Vhost,omitempty"`
	// App名称
	App string `protobuf:"bytes,2,opt,name=App,proto3" json:"App,omitempty"`
	//域名名称
	Domain string `protobuf:"bytes,3,opt,name=Domain,proto3" json:"Domain,omitempty"`
	//服务类型，pull：拉流，push：推流
	ServiceType string `protobuf:"bytes,4,opt,name=ServiceType,proto3" json:"ServiceType,omitempty"`
}

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

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

func (*DeleteDenyConfigV2Request) ProtoMessage() {}

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

func (x *DeleteDenyConfigV2Request) GetVhost() string {
	if x != nil {
		return x.Vhost
	}
	return ""
}

func (x *DeleteDenyConfigV2Request) GetApp() string {
	if x != nil {
		return x.App
	}
	return ""
}

func (x *DeleteDenyConfigV2Request) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *DeleteDenyConfigV2Request) GetServiceType() string {
	if x != nil {
		return x.ServiceType
	}
	return ""
}

var File_live_request_request_live_proto protoreflect.FileDescriptor

var file_live_request_request_live_proto_rawDesc = []byte{
	0x0a, 0x1f, 0x6c, 0x69, 0x76, 0x65, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2f, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x12, 0x1e, 0x56, 0x6f, 0x6c, 0x63, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69,
	0x76, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x6f, 0x70, 0x65,
	0x6e, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6c, 0x69, 0x76, 0x65, 0x2f, 0x62, 0x75, 0x73, 0x69,
	0x6e, 0x65, 0x73, 0x73, 0x2f, 0x64, 0x65, 0x6e, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30,
	0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18,
	0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x44, 0x6f, 0x6d,
	0x61, 0x69, 0x6e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x12, 0x30, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c,
	0x82, 0xb5, 0x18, 0x18, 0xaa, 0x06, 0x15, 0x08, 0x01, 0x12, 0x11, 0x12, 0x0f, 0x44, 0x6f, 0x6d,
	0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x04, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x03, 0x0a, 0x17, 0x4c,
	0x69, 0x73, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75,
	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x33, 0x82, 0xb5, 0x18, 0x2f, 0xca, 0x0c, 0x14,
	0x08, 0x00, 0x12, 0x10, 0x12, 0x0e, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x15, 0x08, 0xe8, 0x07, 0x12, 0x10, 0x12, 0x0e, 0x50, 0x61,
	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x07, 0x50, 0x61,
	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x51, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x35, 0x82, 0xb5, 0x18, 0x31, 0xca, 0x0c, 0x15,
	0x08, 0x00, 0x12, 0x11, 0x12, 0x0f, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x49, 0x6e,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x16, 0x08, 0xe8, 0x07, 0x12, 0x11, 0x12, 0x0f, 0x50,
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x08,
	0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x56, 0x68, 0x6f, 0x73,
	0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x56, 0x68, 0x6f,
	0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x10, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69,
	0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65,
	0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x44, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e,
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48,
	0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08,
	0x01, 0x12, 0x0d, 0x12, 0x0b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6d, 0x70, 0x74, 0x79,
	0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x47, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x30, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x44, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x22, 0x47, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06,
	0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6d, 0x70,
	0x74, 0x79, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x51, 0x0a, 0x15, 0x44, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4c, 0x69, 0x73,
	0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11,
	0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6d, 0x70, 0x74,
	0x79, 0x52, 0x0a, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x7c, 0x0a,
	0x20, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x75, 0x6c, 0x6c, 0x50, 0x75, 0x73, 0x68,
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x38, 0x0a, 0x0a, 0x50, 0x75, 0x6c, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01,
	0x12, 0x0d, 0x12, 0x0b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52,
	0x0a, 0x50, 0x75, 0x6c, 0x6c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x50,
	0x75, 0x73, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x50, 0x75, 0x73, 0x68, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x9f, 0x03, 0x0a, 0x24,
	0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x61,
	0x73, 0x6b, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x17, 0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08, 0x01, 0x12, 0x0c,
	0x12, 0x0a, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68,
	0x6f, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x41, 0x70, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x36, 0x0a,
	0x08, 0x44, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x1a, 0x82, 0xb5, 0x18, 0x16, 0xaa, 0x06, 0x13, 0x08, 0x01, 0x12, 0x0f, 0x12, 0x0d, 0x44, 0x61,
	0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x44, 0x61, 0x74,
	0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x30, 0x0a, 0x06, 0x44, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01,
	0x12, 0x0d, 0x12, 0x0b, 0x44, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52,
	0x06, 0x44, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x12, 0x4d, 0x0a, 0x07, 0x50, 0x61, 0x67, 0x65, 0x4e,
	0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x33, 0x82, 0xb5, 0x18, 0x2f, 0xca, 0x0c,
	0x14, 0x08, 0x00, 0x12, 0x10, 0x12, 0x0e, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x15, 0x08, 0xe8, 0x07, 0x12, 0x10, 0x12, 0x0e, 0x50,
	0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x07, 0x50,
	0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x51, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69,
	0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x35, 0x82, 0xb5, 0x18, 0x31, 0xca, 0x0c,
	0x15, 0x08, 0x00, 0x12, 0x11, 0x12, 0x0f, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x49,
	0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x16, 0x08, 0xe8, 0x07, 0x12, 0x11, 0x12, 0x0f,
	0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52,
	0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x97, 0x03,
	0x0a, 0x21, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x44, 0x4e, 0x53, 0x6e, 0x61,
	0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x17, 0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08, 0x01, 0x12, 0x0c, 0x12,
	0x0a, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f,
	0x73, 0x74, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x15, 0x82, 0xb5, 0x18, 0x11, 0xaa, 0x06, 0x0e, 0x08, 0x01, 0x12, 0x0a, 0x12, 0x08, 0x41, 0x70,
	0x70, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x03, 0x41, 0x70, 0x70, 0x12, 0x30, 0x0a, 0x06, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18,
	0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
	0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1a, 0x0a,
	0x08, 0x44, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x44, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x61, 0x74,
	0x65, 0x54, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x61, 0x74, 0x65, 0x54,
	0x6f, 0x12, 0x4d, 0x0a, 0x07, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x03, 0x42, 0x33, 0x82, 0xb5, 0x18, 0x2f, 0xca, 0x0c, 0x14, 0x08, 0x00, 0x12, 0x10, 0x12,
	0x0e, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2,
	0x0c, 0x15, 0x08, 0xe8, 0x07, 0x12, 0x10, 0x12, 0x0e, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d,
	0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x07, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d,
	0x12, 0x51, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x03, 0x42, 0x35, 0x82, 0xb5, 0x18, 0x31, 0xca, 0x0c, 0x15, 0x08, 0x00, 0x12, 0x11, 0x12,
	0x0f, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0xd2, 0x0c, 0x16, 0x08, 0xe8, 0x07, 0x12, 0x11, 0x12, 0x0f, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69,
	0x7a, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53,
	0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0xdb, 0x02, 0x0a, 0x23, 0x44, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x62, 0x65, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e,
	0x66, 0x6f, 0x42, 0x79, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x4d, 0x0a, 0x07, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x42, 0x33, 0x82, 0xb5, 0x18, 0x2f, 0xca, 0x0c, 0x14, 0x08, 0x00, 0x12, 0x10, 0x12, 0x0e, 0x50,
	0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x15,
	0x08, 0xe8, 0x07, 0x12, 0x10, 0x12, 0x0e, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x07, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x51,
	0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
	0x42, 0x35, 0x82, 0xb5, 0x18, 0x31, 0xca, 0x0c, 0x15, 0x08, 0x00, 0x12, 0x11, 0x12, 0x0f, 0x50,
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c,
	0x16, 0x08, 0xe8, 0x07, 0x12, 0x11, 0x12, 0x0f, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
	0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12,
	0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x70,
	0x70, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6e, 0x66,
	0x6f, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6e, 0x66,
	0x6f, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd1, 0x03, 0x0a, 0x25, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
	0x62, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e,
	0x66, 0x6f, 0x42, 0x79, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x4d, 0x0a, 0x07, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x42, 0x33, 0x82, 0xb5, 0x18, 0x2f, 0xca, 0x0c, 0x14, 0x08, 0x00, 0x12, 0x10, 0x12, 0x0e, 0x50,
	0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x15,
	0x08, 0xe8, 0x07, 0x12, 0x10, 0x12, 0x0e, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x07, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x51,
	0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
	0x42, 0x35, 0x82, 0xb5, 0x18, 0x31, 0xca, 0x0c, 0x15, 0x08, 0x00, 0x12, 0x11, 0x12, 0x0f, 0x50,
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c,
	0x16, 0x08, 0xe8, 0x07, 0x12, 0x11, 0x12, 0x0f, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
	0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12,
	0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x70,
	0x70, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6f, 0x72,
	0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x3f, 0x0a,
	0x0b, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x1d, 0x82, 0xb5, 0x18, 0x19, 0xaa, 0x06, 0x16, 0x08, 0x01, 0x12, 0x12, 0x12,
	0x10, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x6d, 0x70, 0x74,
	0x79, 0x52, 0x0b, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x39,
	0x0a, 0x09, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x1b, 0x82, 0xb5, 0x18, 0x17, 0xaa, 0x06, 0x14, 0x08, 0x01, 0x12, 0x10, 0x12, 0x0e,
	0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x09,
	0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x28, 0x44, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x61, 0x67, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75,
	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x33, 0x82, 0xb5, 0x18, 0x2f, 0xca, 0x0c, 0x14,
	0x08, 0x00, 0x12, 0x10, 0x12, 0x0e, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x15, 0x08, 0xe8, 0x07, 0x12, 0x10, 0x12, 0x0e, 0x50, 0x61,
	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x07, 0x50, 0x61,
	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x51, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x35, 0x82, 0xb5, 0x18, 0x31, 0xca, 0x0c, 0x15,
	0x08, 0x00, 0x12, 0x11, 0x12, 0x0f, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x49, 0x6e,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x16, 0x08, 0xe8, 0x07, 0x12, 0x11, 0x12, 0x0f, 0x50,
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x08,
	0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x10,
	0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x70, 0x70,
	0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x22, 0xdc, 0x01, 0x0a,
	0x1e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17,
	0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f,
	0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x30,
	0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18,
	0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x44, 0x6f, 0x6d,
	0x61, 0x69, 0x6e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x12, 0x27, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0x82,
	0xb5, 0x18, 0x11, 0xaa, 0x06, 0x0e, 0x08, 0x01, 0x12, 0x0a, 0x12, 0x08, 0x41, 0x70, 0x70, 0x45,
	0x6d, 0x70, 0x74, 0x79, 0x52, 0x03, 0x41, 0x70, 0x70, 0x12, 0x30, 0x0a, 0x06, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa,
	0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6d,
	0x70, 0x74, 0x79, 0x52, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x6d, 0x0a, 0x13, 0x52,
	0x65, 0x73, 0x75, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x12, 0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41,
	0x70, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x6c, 0x0a, 0x11, 0x4b, 0x69,
	0x6c, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17,
	0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f,
	0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x10,
	0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x70, 0x70,
	0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0xa0, 0x01, 0x0a, 0x13, 0x46, 0x6f, 0x72,
	0x62, 0x69, 0x64, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x17, 0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68,
	0x6f, 0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12,
	0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x70, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61,
	0x6d, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xef, 0x03, 0x0a, 0x18,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10,
	0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79,
	0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0x82, 0xb5, 0x18, 0x11, 0xaa, 0x06, 0x0e, 0x08, 0x01, 0x12,
	0x0a, 0x12, 0x08, 0x41, 0x70, 0x70, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x03, 0x41, 0x70, 0x70,
	0x12, 0x5d, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44,
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42,
	0x27, 0x82, 0xb5, 0x18, 0x23, 0xaa, 0x06, 0x20, 0x08, 0x01, 0x12, 0x1c, 0x12, 0x1a, 0x52, 0x65,
	0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4c,
	0x69, 0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12,
	0x7d, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61,
	0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x56, 0x6f, 0x6c,
	0x63, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x2e, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x52, 0x65, 0x6c,
	0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x57,
	0x0a, 0x13, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0x82, 0xb5, 0x18,
	0x21, 0xaa, 0x06, 0x1e, 0x08, 0x01, 0x12, 0x1a, 0x12, 0x18, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x45, 0x6d, 0x70,
	0x74, 0x79, 0x52, 0x13, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x1a, 0x44, 0x0a, 0x16, 0x52, 0x65, 0x6c, 0x61, 0x79,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x72, 0x0a,
	0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f,
	0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06,
	0x10, 0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x45, 0x6d, 0x70, 0x74,
	0x79, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0x82, 0xb5, 0x18, 0x11, 0xaa, 0x06, 0x0e, 0x08, 0x01,
	0x12, 0x0a, 0x12, 0x08, 0x41, 0x70, 0x70, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x03, 0x41, 0x70,
	0x70, 0x22, 0x4b, 0x0a, 0x1a, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x6c,
	0x61, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17,
	0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f,
	0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x22, 0xab,
	0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x51, 0x53, 0x63, 0x6f, 0x72, 0x65,
	0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x4d,
	0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0x82,
	0xb5, 0x18, 0x16, 0xaa, 0x06, 0x13, 0x08, 0x01, 0x12, 0x0f, 0x12, 0x0d, 0x4d, 0x61, 0x69, 0x6e,
	0x41, 0x64, 0x64, 0x72, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6e, 0x41,
	0x64, 0x64, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x73, 0x74, 0x41,
	0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72,
	0x61, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x46, 0x72, 0x61, 0x6d, 0x65,
	0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
	0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x52, 0x0a,
	0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42,
	0x36, 0x82, 0xb5, 0x18, 0x32, 0xca, 0x0c, 0x15, 0x08, 0x3c, 0x12, 0x11, 0x12, 0x0f, 0x44, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x17,
	0x08, 0x80, 0xf5, 0x24, 0x12, 0x11, 0x12, 0x0f, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x39, 0x0a, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0x82, 0xb5, 0x18, 0x17, 0xaa, 0x06, 0x14, 0x08, 0x01, 0x12,
	0x10, 0x12, 0x0e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x45, 0x6d, 0x70, 0x74,
	0x79, 0x52, 0x09, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x22, 0x42, 0x0a, 0x1a,
	0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x56, 0x51, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x54,
	0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x02, 0x49, 0x44,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0x82, 0xb5, 0x18, 0x10, 0xaa, 0x06, 0x0d, 0x08,
	0x01, 0x12, 0x09, 0x12, 0x07, 0x49, 0x44, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x02, 0x49, 0x44,
	0x22, 0xf2, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x51, 0x53, 0x63, 0x6f, 0x72, 0x65,
	0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x53,
	0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b,
	0x82, 0xb5, 0x18, 0x17, 0xaa, 0x06, 0x14, 0x08, 0x01, 0x12, 0x10, 0x12, 0x0e, 0x53, 0x74, 0x61,
	0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x09, 0x53, 0x74, 0x61,
	0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0x82, 0xb5, 0x18, 0x15, 0xaa, 0x06, 0x12,
	0x08, 0x01, 0x12, 0x0e, 0x12, 0x0c, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6d, 0x70,
	0x74, 0x79, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x50,
	0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x50, 0x61,
	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x12, 0x32, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x03, 0x42, 0x1a, 0x82, 0xb5, 0x18, 0x16, 0xca, 0x0c, 0x13, 0x08, 0x00, 0x12, 0x0f, 0x12, 0x0d,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x06, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xaf, 0x02, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x14, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08,
	0x01, 0x12, 0x0d, 0x12, 0x0b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6d, 0x70, 0x74, 0x79,
	0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0x82, 0xb5, 0x18, 0x11, 0xaa, 0x06, 0x0e, 0x08, 0x01,
	0x12, 0x0a, 0x12, 0x08, 0x41, 0x70, 0x70, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x03, 0x41, 0x70,
	0x70, 0x12, 0x30, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b,
	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x53, 0x74, 0x72,
	0x65, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x24, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x44, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64,
	0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x45, 0x78, 0x70, 0x69,
	0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65,
	0x72, 0x61, 0x74, 0x65, 0x50, 0x75, 0x73, 0x68, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b,
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f,
	0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x70,
	0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0x82, 0xb5, 0x18, 0x11, 0xaa, 0x06, 0x0e,
	0x08, 0x01, 0x12, 0x0a, 0x12, 0x08, 0x41, 0x70, 0x70, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x03,
	0x41, 0x70, 0x70, 0x12, 0x30, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d,
	0x12, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x44, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x56, 0x61,
	0x6c, 0x69, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x45,
	0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xbf, 0x03,
	0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x6f, 0x50, 0x75,
	0x73, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a,
	0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69,
	0x74, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x1d, 0x82, 0xb5, 0x18, 0x19, 0xca, 0x0c, 0x16, 0x08,
	0x00, 0x12, 0x12, 0x12, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
	0x12, 0x35, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x03, 0x42, 0x1b, 0x82, 0xb5, 0x18, 0x17, 0xca, 0x0c, 0x14, 0x08, 0x00, 0x12, 0x10, 0x12, 0x0e,
	0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x07,
	0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x62,
	0x61, 0x63, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0x82, 0xb5,
	0x18, 0x1c, 0xba, 0x06, 0x19, 0x08, 0xd0, 0x0f, 0x12, 0x14, 0x12, 0x12, 0x49, 0x6e, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x52, 0x4c, 0x52, 0x0b,
	0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x52, 0x4c, 0x12, 0x49, 0x0a, 0x04, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x35, 0x82, 0xb5, 0x18, 0x31, 0xca,
	0x0c, 0x1a, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0d, 0x12,
	0x0b, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x11, 0x08,
	0x02, 0x12, 0x0d, 0x12, 0x0b, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4d,
	0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x43, 0x79, 0x63, 0x6c, 0x65,
	0x4d, 0x6f, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0x82, 0xb5, 0x18, 0x15, 0xaa, 0x06, 0x12, 0x08, 0x01,
	0x12, 0x0e, 0x12, 0x0c, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x45, 0x6d, 0x70, 0x74, 0x79,
	0x52, 0x07, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x63,
	0x41, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x72, 0x63, 0x41,
	0x64, 0x64, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x53, 0x18,
	0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x53, 0x22,
	0x59, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x6f, 0x50, 0x75, 0x73,
	0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04,
	0x50, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
	0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x22, 0xcf, 0x03, 0x0a, 0x1b, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x6f, 0x50, 0x75, 0x73, 0x68, 0x54,
	0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69,
	0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65,
	0x12, 0x30, 0x0a, 0x06, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x18, 0x82, 0xb5, 0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x54,
	0x61, 0x73, 0x6b, 0x49, 0x44, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x54, 0x61, 0x73, 0x6b,
	0x49, 0x64, 0x12, 0x3b, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x1d, 0x82, 0xb5, 0x18, 0x19, 0xca, 0x0c, 0x16, 0x08, 0x00,
	0x12, 0x12, 0x12, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
	0x35, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
	0x42, 0x1b, 0x82, 0xb5, 0x18, 0x17, 0xca, 0x0c, 0x14, 0x08, 0x00, 0x12, 0x10, 0x12, 0x0e, 0x45,
	0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x07, 0x45,
	0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61,
	0x63, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x43, 0x61, 0x6c,
	0x6c, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x52, 0x4c, 0x12, 0x49, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x35, 0x82, 0xb5, 0x18, 0x31, 0xca, 0x0c, 0x1a, 0x08,
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x54, 0x79,
	0x70, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0xd2, 0x0c, 0x11, 0x08, 0x02, 0x12, 0x0d,
	0x12, 0x0b, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x04, 0x54,
	0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4d, 0x6f, 0x64,
	0x65, 0x12, 0x33, 0x0a, 0x07, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x19, 0x82, 0xb5, 0x18, 0x15, 0xaa, 0x06, 0x12, 0x08, 0x01, 0x12, 0x0e, 0x12,
	0x0c, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x07, 0x44,
	0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64,
	0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72,
	0x12, 0x1a, 0x0a, 0x08, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x53, 0x18, 0x0a, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x08, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x53, 0x22, 0x50, 0x0a, 0x1c,
	0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x6f, 0x50, 0x75, 0x73,
	0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06,
	0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5,
	0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x49,
	0x44, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x4d,
	0x0a, 0x19, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x6f, 0x50, 0x75, 0x73, 0x68,
	0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x54,
	0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5, 0x18,
	0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x44,
	0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x4f, 0x0a,
	0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x54, 0x6f, 0x50, 0x75, 0x73,
	0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06,
	0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x82, 0xb5,
	0x18, 0x14, 0xaa, 0x06, 0x11, 0x08, 0x01, 0x12, 0x0d, 0x12, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x49,
	0x44, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0xcd,
	0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x56, 0x68,
	0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0x82, 0xb5, 0x18, 0x13, 0xaa,
	0x06, 0x10, 0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x45, 0x6d, 0x70,
	0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d,
	0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x41, 0x70, 0x70, 0x12, 0x59, 0x0a, 0x0e, 0x44, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x56, 0x6f,
	0x6c, 0x63, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x2e, 0x4d, 0x6f,
	0x64, 0x65, 0x6c, 0x73, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x2e, 0x44, 0x65,
	0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0e,
	0x44, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x74,
	0x0a, 0x19, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x56,
	0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0x82, 0xb5, 0x18, 0x13,
	0xaa, 0x06, 0x10, 0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x45, 0x6d,
	0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x41, 0x70, 0x70, 0x22, 0x72, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65,
	0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17,
	0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f,
	0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x70, 0x70, 0x22, 0xf3, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x32, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08, 0x01,
	0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05,
	0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x41, 0x70, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12,
	0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x44, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c,
	0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x56, 0x6f, 0x6c, 0x63,
	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
	0x6c, 0x73, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x2e, 0x44, 0x65, 0x6e, 0x79,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x56, 0x32, 0x52, 0x0e,
	0x44, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x98,
	0x01, 0x0a, 0x1b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d,
	0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0x82,
	0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08, 0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f, 0x73,
	0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x10, 0x0a,
	0x03, 0x41, 0x70, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x70, 0x70, 0x12,
	0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x19, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x32,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x56, 0x68, 0x6f, 0x73, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0x82, 0xb5, 0x18, 0x13, 0xaa, 0x06, 0x10, 0x08,
	0x01, 0x12, 0x0c, 0x12, 0x0a, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52,
	0x05, 0x56, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x41, 0x70, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x42, 0xcd, 0x01, 0x0a, 0x29, 0x63, 0x6f, 0x6d, 0x2e, 0x76, 0x6f, 0x6c, 0x63, 0x65,
	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6c, 0x69,
	0x76, 0x65, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x42, 0x0b, 0x4c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x01, 0x5a,
	0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x6f, 0x6c, 0x63,
	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x6f, 0x6c, 0x63, 0x2d, 0x73, 0x64, 0x6b, 0x2d,
	0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x6c,
	0x69, 0x76, 0x65, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0xa0, 0x01, 0x01, 0xd8, 0x01, 0x01, 0xca, 0x02, 0x20, 0x56, 0x6f, 0x6c, 0x63, 0x5c,
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5c, 0x4c, 0x69, 0x76, 0x65, 0x5c, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x73, 0x5c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0xe2, 0x02, 0x24, 0x56, 0x6f,
	0x6c, 0x63, 0x5c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5c, 0x4c, 0x69, 0x76, 0x65, 0x5c,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_live_request_request_live_proto_rawDescOnce sync.Once
	file_live_request_request_live_proto_rawDescData = file_live_request_request_live_proto_rawDesc
)

func file_live_request_request_live_proto_rawDescGZIP() []byte {
	file_live_request_request_live_proto_rawDescOnce.Do(func() {
		file_live_request_request_live_proto_rawDescData = protoimpl.X.CompressGZIP(file_live_request_request_live_proto_rawDescData)
	})
	return file_live_request_request_live_proto_rawDescData
}

var file_live_request_request_live_proto_msgTypes = make([]protoimpl.MessageInfo, 37)
var file_live_request_request_live_proto_goTypes = []interface{}{
	(*CreateDomainRequest)(nil),                      // 0: Volcengine.Live.Models.Request.CreateDomainRequest
	(*ListDomainDetailRequest)(nil),                  // 1: Volcengine.Live.Models.Request.ListDomainDetailRequest
	(*DisableDomainRequest)(nil),                     // 2: Volcengine.Live.Models.Request.DisableDomainRequest
	(*EnableDomainRequest)(nil),                      // 3: Volcengine.Live.Models.Request.EnableDomainRequest
	(*DeleteDomainRequest)(nil),                      // 4: Volcengine.Live.Models.Request.DeleteDomainRequest
	(*DescribeDomainRequest)(nil),                    // 5: Volcengine.Live.Models.Request.DescribeDomainRequest
	(*ManagerPullPushDomainBindRequest)(nil),         // 6: Volcengine.Live.Models.Request.ManagerPullPushDomainBindRequest
	(*DescribeRecordTaskFileHistoryRequest)(nil),     // 7: Volcengine.Live.Models.Request.DescribeRecordTaskFileHistoryRequest
	(*DescribeCDNSnapshotHistoryRequest)(nil),        // 8: Volcengine.Live.Models.Request.DescribeCDNSnapshotHistoryRequest
	(*DescribeLiveStreamInfoByPageRequest)(nil),      // 9: Volcengine.Live.Models.Request.DescribeLiveStreamInfoByPageRequest
	(*DescribeClosedStreamInfoByPageRequest)(nil),    // 10: Volcengine.Live.Models.Request.DescribeClosedStreamInfoByPageRequest
	(*DescribeForbiddenStreamInfoByPageRequest)(nil), // 11: Volcengine.Live.Models.Request.DescribeForbiddenStreamInfoByPageRequest
	(*DescribeLiveStreamStateRequest)(nil),           // 12: Volcengine.Live.Models.Request.DescribeLiveStreamStateRequest
	(*ResumeStreamRequest)(nil),                      // 13: Volcengine.Live.Models.Request.ResumeStreamRequest
	(*KillStreamRequest)(nil),                        // 14: Volcengine.Live.Models.Request.KillStreamRequest
	(*ForbidStreamRequest)(nil),                      // 15: Volcengine.Live.Models.Request.ForbidStreamRequest
	(*UpdateRelaySourceRequest)(nil),                 // 16: Volcengine.Live.Models.Request.UpdateRelaySourceRequest
	(*DeleteRelaySourceRequest)(nil),                 // 17: Volcengine.Live.Models.Request.DeleteRelaySourceRequest
	(*DescribeRelaySourceRequest)(nil),               // 18: Volcengine.Live.Models.Request.DescribeRelaySourceRequest
	(*CreateVQScoreTaskRequest)(nil),                 // 19: Volcengine.Live.Models.Request.CreateVQScoreTaskRequest
	(*DescribeVQScoreTaskRequest)(nil),               // 20: Volcengine.Live.Models.Request.DescribeVQScoreTaskRequest
	(*ListVQScoreTaskRequest)(nil),                   // 21: Volcengine.Live.Models.Request.ListVQScoreTaskRequest
	(*GeneratePlayURLRequest)(nil),                   // 22: Volcengine.Live.Models.Request.GeneratePlayURLRequest
	(*GeneratePushURLRequest)(nil),                   // 23: Volcengine.Live.Models.Request.GeneratePushURLRequest
	(*CreatePullToPushTaskRequest)(nil),              // 24: Volcengine.Live.Models.Request.CreatePullToPushTaskRequest
	(*ListPullToPushTaskRequest)(nil),                // 25: Volcengine.Live.Models.Request.ListPullToPushTaskRequest
	(*UpdatePullToPushTaskRequest)(nil),              // 26: Volcengine.Live.Models.Request.UpdatePullToPushTaskRequest
	(*RestartPullToPushTaskRequest)(nil),             // 27: Volcengine.Live.Models.Request.RestartPullToPushTaskRequest
	(*StopPullToPushTaskRequest)(nil),                // 28: Volcengine.Live.Models.Request.StopPullToPushTaskRequest
	(*DeletePullToPushTaskRequest)(nil),              // 29: Volcengine.Live.Models.Request.DeletePullToPushTaskRequest
	(*UpdateDenyConfigRequest)(nil),                  // 30: Volcengine.Live.Models.Request.UpdateDenyConfigRequest
	(*DescribeDenyConfigRequest)(nil),                // 31: Volcengine.Live.Models.Request.DescribeDenyConfigRequest
	(*DeleteDenyConfigRequest)(nil),                  // 32: Volcengine.Live.Models.Request.DeleteDenyConfigRequest
	(*UpdateDenyConfigV2Request)(nil),                // 33: Volcengine.Live.Models.Request.UpdateDenyConfigV2Request
	(*DescribeDenyConfigV2Request)(nil),              // 34: Volcengine.Live.Models.Request.DescribeDenyConfigV2Request
	(*DeleteDenyConfigV2Request)(nil),                // 35: Volcengine.Live.Models.Request.DeleteDenyConfigV2Request
	nil,                                              // 36: Volcengine.Live.Models.Request.UpdateRelaySourceRequest.RelaySourceParamsEntry
	(*business.DenyConfigDetail)(nil),                // 37: Volcengine.Live.Models.Business.DenyConfigDetail
	(*business.DenyConfigDetailV2)(nil),              // 38: Volcengine.Live.Models.Business.DenyConfigDetailV2
}
var file_live_request_request_live_proto_depIdxs = []int32{
	36, // 0: Volcengine.Live.Models.Request.UpdateRelaySourceRequest.RelaySourceParams:type_name -> Volcengine.Live.Models.Request.UpdateRelaySourceRequest.RelaySourceParamsEntry
	37, // 1: Volcengine.Live.Models.Request.UpdateDenyConfigRequest.DenyConfigList:type_name -> Volcengine.Live.Models.Business.DenyConfigDetail
	38, // 2: Volcengine.Live.Models.Request.UpdateDenyConfigV2Request.DenyConfigList:type_name -> Volcengine.Live.Models.Business.DenyConfigDetailV2
	3,  // [3:3] is the sub-list for method output_type
	3,  // [3:3] is the sub-list for method input_type
	3,  // [3:3] is the sub-list for extension type_name
	3,  // [3:3] is the sub-list for extension extendee
	0,  // [0:3] is the sub-list for field type_name
}

func init() { file_live_request_request_live_proto_init() }
func file_live_request_request_live_proto_init() {
	if File_live_request_request_live_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_live_request_request_live_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDomainRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListDomainDetailRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DisableDomainRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EnableDomainRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDomainRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeDomainRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ManagerPullPushDomainBindRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeRecordTaskFileHistoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeCDNSnapshotHistoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeLiveStreamInfoByPageRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeClosedStreamInfoByPageRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeForbiddenStreamInfoByPageRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeLiveStreamStateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResumeStreamRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*KillStreamRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ForbidStreamRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateRelaySourceRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRelaySourceRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeRelaySourceRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeVQScoreTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListPullToPushTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RestartPullToPushTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopPullToPushTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletePullToPushTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateDenyConfigRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeDenyConfigRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDenyConfigRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateDenyConfigV2Request); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DescribeDenyConfigV2Request); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_live_request_request_live_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDenyConfigV2Request); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_live_request_request_live_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   37,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_live_request_request_live_proto_goTypes,
		DependencyIndexes: file_live_request_request_live_proto_depIdxs,
		MessageInfos:      file_live_request_request_live_proto_msgTypes,
	}.Build()
	File_live_request_request_live_proto = out.File
	file_live_request_request_live_proto_rawDesc = nil
	file_live_request_request_live_proto_goTypes = nil
	file_live_request_request_live_proto_depIdxs = nil
}
