// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v4.22.0--rc2
// source: pb/artwork.proto

package artwork

import (
	_ "github.com/mwitkow/go-proto-validators"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	_ "google.golang.org/protobuf/types/descriptorpb"
	reflect "reflect"
	sync "sync"
)

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

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

	K1 string `protobuf:"bytes,1,opt,name=k1,proto3" json:"k1,omitempty"`
}

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

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

func (*TestReq) ProtoMessage() {}

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

func (x *TestReq) GetK1() string {
	if x != nil {
		return x.K1
	}
	return ""
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*TestResp) ProtoMessage() {}

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

func (x *TestResp) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	ArtworkName    string   `protobuf:"bytes,1,opt,name=ArtworkName,json=artwork_name,proto3" json:"ArtworkName,omitempty"`
	ArtistName     string   `protobuf:"bytes,2,opt,name=ArtistName,json=artist_name,proto3" json:"ArtistName,omitempty"`
	ArtCondition   int32    `protobuf:"varint,3,opt,name=ArtCondition,json=art_condition,proto3" json:"ArtCondition,omitempty"`
	Mountmode      int32    `protobuf:"varint,4,opt,name=Mountmode,json=mountmode,proto3" json:"Mountmode,omitempty"`
	ArtHorizontal  int32    `protobuf:"varint,5,opt,name=ArtHorizontal,json=art_horizontal,proto3" json:"ArtHorizontal,omitempty"`
	Size           int32    `protobuf:"varint,6,opt,name=Size,json=size,proto3" json:"Size,omitempty"`
	Length         int32    `protobuf:"varint,7,opt,name=Length,json=length,proto3" json:"Length,omitempty"`
	Width          int32    `protobuf:"varint,8,opt,name=Width,json=width,proto3" json:"Width,omitempty"`
	Ruler          int32    `protobuf:"varint,9,opt,name=Ruler,json=ruler,proto3" json:"Ruler,omitempty"`
	InscribeDate   string   `protobuf:"bytes,10,opt,name=InscribeDate,json=inscribe_date,proto3" json:"InscribeDate,omitempty"`
	CreatedDate    string   `protobuf:"bytes,11,opt,name=CreatedDate,json=created_date,proto3" json:"CreatedDate,omitempty"`
	CreatedAddress string   `protobuf:"bytes,12,opt,name=CreatedAddress,json=created_address,proto3" json:"CreatedAddress,omitempty"`
	Abstract       string   `protobuf:"bytes,13,opt,name=Abstract,json=abstract,proto3" json:"Abstract,omitempty"`
	PriceRuler     float32  `protobuf:"fixed32,14,opt,name=PriceRuler,json=price_ruler,proto3" json:"PriceRuler,omitempty"`
	PriceCopyright float32  `protobuf:"fixed32,15,opt,name=PriceCopyright,json=price_copyright,proto3" json:"PriceCopyright,omitempty"`
	PriceArtwork   float32  `protobuf:"fixed32,16,opt,name=PriceArtwork,json=price_artwork,proto3" json:"PriceArtwork,omitempty"`
	PriceMarket    float32  `protobuf:"fixed32,17,opt,name=PriceMarket,json=price_market,proto3" json:"PriceMarket,omitempty"`
	Belong         int32    `protobuf:"varint,18,opt,name=Belong,json=belong,proto3" json:"Belong,omitempty"`
	FlowState      int32    `protobuf:"varint,19,opt,name=FlowState,json=flow_state,proto3" json:"FlowState,omitempty"`
	ArtQuality     int32    `protobuf:"varint,20,opt,name=ArtQuality,json=art_quality,proto3" json:"ArtQuality,omitempty"`
	IncompletePic  []string `protobuf:"bytes,21,rep,name=IncompletePic,json=incomplete_pic,proto3" json:"IncompletePic,omitempty"`
	Signpic        string   `protobuf:"bytes,22,opt,name=Signpic,json=signpic,proto3" json:"Signpic,omitempty"`
	Sealpic        string   `protobuf:"bytes,23,opt,name=Sealpic,json=sealpic,proto3" json:"Sealpic,omitempty"`
	ArtistPhoto    string   `protobuf:"bytes,24,opt,name=ArtistPhoto,json=artist_photo,proto3" json:"ArtistPhoto,omitempty"`
	PhotoPic       string   `protobuf:"bytes,25,opt,name=PhotoPic,json=photo_pic,proto3" json:"PhotoPic,omitempty"`
	HdPic          string   `protobuf:"bytes,26,opt,name=HdPic,json=hd_pic,proto3" json:"HdPic,omitempty"`
	Material       int32    `protobuf:"varint,27,opt,name=Material,json=material,proto3" json:"Material,omitempty"`
	ArtworkUuid    string   `protobuf:"bytes,28,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	ArtistUuid     string   `protobuf:"bytes,29,opt,name=ArtistUuid,json=artist_uuid,proto3" json:"ArtistUuid,omitempty"`
	ArtworkType    int32    `protobuf:"varint,30,opt,name=ArtworkType,json=artwork_type,proto3" json:"ArtworkType,omitempty"`
	CreateSource   int32    `protobuf:"varint,31,opt,name=CreateSource,json=create_source,proto3" json:"CreateSource,omitempty"`    // 1 后台 2 画家宝
	TreasureName   string   `protobuf:"bytes,32,opt,name=TreasureName,json=treasure_name,proto3" json:"TreasureName,omitempty"`     // 画家宝画作名字
	FilterState    int32    `protobuf:"varint,33,opt,name=FilterState,json=filter_state,proto3" json:"FilterState,omitempty"`       // 筛选状态1 通过 2 不通过
	PriceRun       float32  `protobuf:"fixed32,34,opt,name=PriceRun,json=price_run,proto3" json:"PriceRun,omitempty"`               //润格
	StorageStatus  int32    `protobuf:"varint,35,opt,name=StorageStatus,json=storage_status,proto3" json:"StorageStatus,omitempty"` //库存状态
	SaleStatus     int32    `protobuf:"varint,36,opt,name=SaleStatus,json=sale_status,proto3" json:"SaleStatus,omitempty"`          //销售状态
	Signdate       string   `protobuf:"bytes,37,opt,name=Signdate,json=sign_date,proto3" json:"Signdate,omitempty"`                 //签约时间
}

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

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

func (*CreArtProRequest) ProtoMessage() {}

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

func (x *CreArtProRequest) GetArtworkName() string {
	if x != nil {
		return x.ArtworkName
	}
	return ""
}

func (x *CreArtProRequest) GetArtistName() string {
	if x != nil {
		return x.ArtistName
	}
	return ""
}

func (x *CreArtProRequest) GetArtCondition() int32 {
	if x != nil {
		return x.ArtCondition
	}
	return 0
}

func (x *CreArtProRequest) GetMountmode() int32 {
	if x != nil {
		return x.Mountmode
	}
	return 0
}

func (x *CreArtProRequest) GetArtHorizontal() int32 {
	if x != nil {
		return x.ArtHorizontal
	}
	return 0
}

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

func (x *CreArtProRequest) GetLength() int32 {
	if x != nil {
		return x.Length
	}
	return 0
}

func (x *CreArtProRequest) GetWidth() int32 {
	if x != nil {
		return x.Width
	}
	return 0
}

func (x *CreArtProRequest) GetRuler() int32 {
	if x != nil {
		return x.Ruler
	}
	return 0
}

func (x *CreArtProRequest) GetInscribeDate() string {
	if x != nil {
		return x.InscribeDate
	}
	return ""
}

func (x *CreArtProRequest) GetCreatedDate() string {
	if x != nil {
		return x.CreatedDate
	}
	return ""
}

func (x *CreArtProRequest) GetCreatedAddress() string {
	if x != nil {
		return x.CreatedAddress
	}
	return ""
}

func (x *CreArtProRequest) GetAbstract() string {
	if x != nil {
		return x.Abstract
	}
	return ""
}

func (x *CreArtProRequest) GetPriceRuler() float32 {
	if x != nil {
		return x.PriceRuler
	}
	return 0
}

func (x *CreArtProRequest) GetPriceCopyright() float32 {
	if x != nil {
		return x.PriceCopyright
	}
	return 0
}

func (x *CreArtProRequest) GetPriceArtwork() float32 {
	if x != nil {
		return x.PriceArtwork
	}
	return 0
}

func (x *CreArtProRequest) GetPriceMarket() float32 {
	if x != nil {
		return x.PriceMarket
	}
	return 0
}

func (x *CreArtProRequest) GetBelong() int32 {
	if x != nil {
		return x.Belong
	}
	return 0
}

func (x *CreArtProRequest) GetFlowState() int32 {
	if x != nil {
		return x.FlowState
	}
	return 0
}

func (x *CreArtProRequest) GetArtQuality() int32 {
	if x != nil {
		return x.ArtQuality
	}
	return 0
}

func (x *CreArtProRequest) GetIncompletePic() []string {
	if x != nil {
		return x.IncompletePic
	}
	return nil
}

func (x *CreArtProRequest) GetSignpic() string {
	if x != nil {
		return x.Signpic
	}
	return ""
}

func (x *CreArtProRequest) GetSealpic() string {
	if x != nil {
		return x.Sealpic
	}
	return ""
}

func (x *CreArtProRequest) GetArtistPhoto() string {
	if x != nil {
		return x.ArtistPhoto
	}
	return ""
}

func (x *CreArtProRequest) GetPhotoPic() string {
	if x != nil {
		return x.PhotoPic
	}
	return ""
}

func (x *CreArtProRequest) GetHdPic() string {
	if x != nil {
		return x.HdPic
	}
	return ""
}

func (x *CreArtProRequest) GetMaterial() int32 {
	if x != nil {
		return x.Material
	}
	return 0
}

func (x *CreArtProRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *CreArtProRequest) GetArtistUuid() string {
	if x != nil {
		return x.ArtistUuid
	}
	return ""
}

func (x *CreArtProRequest) GetArtworkType() int32 {
	if x != nil {
		return x.ArtworkType
	}
	return 0
}

func (x *CreArtProRequest) GetCreateSource() int32 {
	if x != nil {
		return x.CreateSource
	}
	return 0
}

func (x *CreArtProRequest) GetTreasureName() string {
	if x != nil {
		return x.TreasureName
	}
	return ""
}

func (x *CreArtProRequest) GetFilterState() int32 {
	if x != nil {
		return x.FilterState
	}
	return 0
}

func (x *CreArtProRequest) GetPriceRun() float32 {
	if x != nil {
		return x.PriceRun
	}
	return 0
}

func (x *CreArtProRequest) GetStorageStatus() int32 {
	if x != nil {
		return x.StorageStatus
	}
	return 0
}

func (x *CreArtProRequest) GetSaleStatus() int32 {
	if x != nil {
		return x.SaleStatus
	}
	return 0
}

func (x *CreArtProRequest) GetSigndate() string {
	if x != nil {
		return x.Signdate
	}
	return ""
}

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

	ArtworkUuid       string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	DigiCopyrightPath string `protobuf:"bytes,2,opt,name=DigiCopyrightPath,json=digi_copyright_path,proto3" json:"DigiCopyrightPath,omitempty"`
}

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

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

func (*ArtworkAddRes) ProtoMessage() {}

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

func (x *ArtworkAddRes) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *ArtworkAddRes) GetDigiCopyrightPath() string {
	if x != nil {
		return x.DigiCopyrightPath
	}
	return ""
}

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

	Msg  string         `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
	Data *ArtworkAddRes `protobuf:"bytes,2,opt,name=Data,json=data,proto3" json:"Data,omitempty"`
}

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

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

func (*CreArtProResponse) ProtoMessage() {}

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

func (x *CreArtProResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

func (x *CreArtProResponse) GetData() *ArtworkAddRes {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	ArtworkUuid string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	Type        int32  `protobuf:"varint,2,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
	Detail      string `protobuf:"bytes,3,opt,name=Detail,json=detail,proto3" json:"Detail,omitempty"`
	MarketId    int32  `protobuf:"varint,4,opt,name=MarketId,json=market_id,proto3" json:"MarketId,omitempty"`
}

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

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

func (*UpdateMInfoRequest) ProtoMessage() {}

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

func (x *UpdateMInfoRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

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

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

func (x *UpdateMInfoRequest) GetMarketId() int32 {
	if x != nil {
		return x.MarketId
	}
	return 0
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateMInfoResponse) ProtoMessage() {}

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

func (x *UpdateMInfoResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	ArtType         int32  `protobuf:"varint,1,opt,name=ArtType,json=art_type,proto3" json:"ArtType,omitempty"`
	ArtTitle        int32  `protobuf:"varint,2,opt,name=ArtTitle,json=art_title,proto3" json:"ArtTitle,omitempty"`
	ArtStyle        int32  `protobuf:"varint,3,opt,name=ArtStyle,json=art_style,proto3" json:"ArtStyle,omitempty"`
	Color           int32  `protobuf:"varint,4,opt,name=Color,json=color,proto3" json:"Color,omitempty"`
	PenTechniques   string `protobuf:"bytes,5,opt,name=PenTechniques,json=pen_techniques,proto3" json:"PenTechniques,omitempty"`
	ArtIdea         string `protobuf:"bytes,6,opt,name=ArtIdea,json=art_idea,proto3" json:"ArtIdea,omitempty"`
	ExpressIdea     string `protobuf:"bytes,7,opt,name=ExpressIdea,json=express_idea,proto3" json:"ExpressIdea,omitempty"`
	ArtStory        string `protobuf:"bytes,8,opt,name=ArtStory,json=art_story,proto3" json:"ArtStory,omitempty"`
	FirstPublish    string `protobuf:"bytes,9,opt,name=FirstPublish,json=first_publish,proto3" json:"FirstPublish,omitempty"`
	FirstPublishImg string `protobuf:"bytes,10,opt,name=FirstPublish_img,json=first_publish_img,proto3" json:"FirstPublish_img,omitempty"`
	FirstName       string `protobuf:"bytes,11,opt,name=FirstName,json=first_name,proto3" json:"FirstName,omitempty"`
	FirstNameImg    string `protobuf:"bytes,12,opt,name=FirstName_img,json=first_name_img,proto3" json:"FirstName_img,omitempty"`
	ThirdComment    string `protobuf:"bytes,13,opt,name=ThirdComment,json=third_comment,proto3" json:"ThirdComment,omitempty"`
	Id              int32  `protobuf:"varint,14,opt,name=Id,json=id,proto3" json:"Id,omitempty"`
	ArtworkUuid     string `protobuf:"bytes,15,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
}

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

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

func (*UpdateExtDataRequest) ProtoMessage() {}

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

func (x *UpdateExtDataRequest) GetArtType() int32 {
	if x != nil {
		return x.ArtType
	}
	return 0
}

func (x *UpdateExtDataRequest) GetArtTitle() int32 {
	if x != nil {
		return x.ArtTitle
	}
	return 0
}

func (x *UpdateExtDataRequest) GetArtStyle() int32 {
	if x != nil {
		return x.ArtStyle
	}
	return 0
}

func (x *UpdateExtDataRequest) GetColor() int32 {
	if x != nil {
		return x.Color
	}
	return 0
}

func (x *UpdateExtDataRequest) GetPenTechniques() string {
	if x != nil {
		return x.PenTechniques
	}
	return ""
}

func (x *UpdateExtDataRequest) GetArtIdea() string {
	if x != nil {
		return x.ArtIdea
	}
	return ""
}

func (x *UpdateExtDataRequest) GetExpressIdea() string {
	if x != nil {
		return x.ExpressIdea
	}
	return ""
}

func (x *UpdateExtDataRequest) GetArtStory() string {
	if x != nil {
		return x.ArtStory
	}
	return ""
}

func (x *UpdateExtDataRequest) GetFirstPublish() string {
	if x != nil {
		return x.FirstPublish
	}
	return ""
}

func (x *UpdateExtDataRequest) GetFirstPublishImg() string {
	if x != nil {
		return x.FirstPublishImg
	}
	return ""
}

func (x *UpdateExtDataRequest) GetFirstName() string {
	if x != nil {
		return x.FirstName
	}
	return ""
}

func (x *UpdateExtDataRequest) GetFirstNameImg() string {
	if x != nil {
		return x.FirstNameImg
	}
	return ""
}

func (x *UpdateExtDataRequest) GetThirdComment() string {
	if x != nil {
		return x.ThirdComment
	}
	return ""
}

func (x *UpdateExtDataRequest) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *UpdateExtDataRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateExtDataResponse) ProtoMessage() {}

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

func (x *UpdateExtDataResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Id                  int32  `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"`
	ArtworkUuid         string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	SprayPosition       string `protobuf:"bytes,3,opt,name=SprayPosition,json=spray_position,proto3" json:"SprayPosition,omitempty"`
	SprayRemark         string `protobuf:"bytes,4,opt,name=SprayRemark,json=spray_remark,proto3" json:"SprayRemark,omitempty"`
	DigiShootDate       string `protobuf:"bytes,5,opt,name=DigiShootDate,json=digi_shoot_date,proto3" json:"DigiShootDate,omitempty"`
	DigiMakeDate        string `protobuf:"bytes,6,opt,name=DigiMakeDate,json=digi_make_date,proto3" json:"DigiMakeDate,omitempty"`
	DigiArtImg          string `protobuf:"bytes,7,opt,name=DigiArtImg,json=digi_art_img,proto3" json:"DigiArtImg,omitempty"`
	DigiArtCopyrightImg string `protobuf:"bytes,8,opt,name=DigiArtCopyrightImg,json=digi_art_copyright_img,proto3" json:"DigiArtCopyrightImg,omitempty"`
	CopyrightHash       string `protobuf:"bytes,9,opt,name=CopyrightHash,json=copyright_hash,proto3" json:"CopyrightHash,omitempty"`
	RealrightHash       string `protobuf:"bytes,10,opt,name=RealrightHash,json=realright_hash,proto3" json:"RealrightHash,omitempty"`
	AuthDataHash        string `protobuf:"bytes,11,opt,name=AuthDataHash,json=auth_data_hash,proto3" json:"AuthDataHash,omitempty"`
	WtRealHash          string `protobuf:"bytes,12,opt,name=WtRealHash,json=wt_real_hash,proto3" json:"WtRealHash,omitempty"`
	CxRealHash          string `protobuf:"bytes,13,opt,name=CxRealHash,json=cx_real_hash,proto3" json:"CxRealHash,omitempty"`
	BaiduRealHash       string `protobuf:"bytes,14,opt,name=BaiduRealHash,json=baidu_real_hash,proto3" json:"BaiduRealHash,omitempty"`
	DigiCopyrightInfo   string `protobuf:"bytes,15,opt,name=DigiCopyrightInfo,json=digi_copyright_info,proto3" json:"DigiCopyrightInfo,omitempty"`
	DigiCopyrightFile   string `protobuf:"bytes,16,opt,name=DigiCopyrightFile,json=digi_copyright_file,proto3" json:"DigiCopyrightFile,omitempty"`
}

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

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

func (*UpdateDigiInfoRequest) ProtoMessage() {}

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

func (x *UpdateDigiInfoRequest) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *UpdateDigiInfoRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetSprayPosition() string {
	if x != nil {
		return x.SprayPosition
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetSprayRemark() string {
	if x != nil {
		return x.SprayRemark
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetDigiShootDate() string {
	if x != nil {
		return x.DigiShootDate
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetDigiMakeDate() string {
	if x != nil {
		return x.DigiMakeDate
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetDigiArtImg() string {
	if x != nil {
		return x.DigiArtImg
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetDigiArtCopyrightImg() string {
	if x != nil {
		return x.DigiArtCopyrightImg
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetCopyrightHash() string {
	if x != nil {
		return x.CopyrightHash
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetRealrightHash() string {
	if x != nil {
		return x.RealrightHash
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetAuthDataHash() string {
	if x != nil {
		return x.AuthDataHash
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetWtRealHash() string {
	if x != nil {
		return x.WtRealHash
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetCxRealHash() string {
	if x != nil {
		return x.CxRealHash
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetBaiduRealHash() string {
	if x != nil {
		return x.BaiduRealHash
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetDigiCopyrightInfo() string {
	if x != nil {
		return x.DigiCopyrightInfo
	}
	return ""
}

func (x *UpdateDigiInfoRequest) GetDigiCopyrightFile() string {
	if x != nil {
		return x.DigiCopyrightFile
	}
	return ""
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateDigiInfoResponse) ProtoMessage() {}

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

func (x *UpdateDigiInfoResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	ArtworkUuid string  `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	Tags        []int32 `protobuf:"varint,2,rep,packed,name=Tags,json=tags,proto3" json:"Tags,omitempty"`
}

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

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

func (*UpdateTagsRequest) ProtoMessage() {}

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

func (x *UpdateTagsRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

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

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateTagsResponse) ProtoMessage() {}

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

func (x *UpdateTagsResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	ArtworkUuid string                          `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	AuthImg     string                          `protobuf:"bytes,3,opt,name=AuthImg,json=auth_img,proto3" json:"AuthImg,omitempty"`
	DigiArtImg  string                          `protobuf:"bytes,4,opt,name=DigiArtImg,json=digi_art_img,proto3" json:"DigiArtImg,omitempty"`
	Data        []*UpdateAuthDataRequest_BitMap `protobuf:"bytes,5,rep,name=Data,json=data,proto3" json:"Data,omitempty"`
	AuthTime    string                          `protobuf:"bytes,6,opt,name=AuthTime,json=auth_time,proto3" json:"AuthTime,omitempty"`
}

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

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

func (*UpdateAuthDataRequest) ProtoMessage() {}

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

func (x *UpdateAuthDataRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *UpdateAuthDataRequest) GetAuthImg() string {
	if x != nil {
		return x.AuthImg
	}
	return ""
}

func (x *UpdateAuthDataRequest) GetDigiArtImg() string {
	if x != nil {
		return x.DigiArtImg
	}
	return ""
}

func (x *UpdateAuthDataRequest) GetData() []*UpdateAuthDataRequest_BitMap {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *UpdateAuthDataRequest) GetAuthTime() string {
	if x != nil {
		return x.AuthTime
	}
	return ""
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateAuthDataResponse) ProtoMessage() {}

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

func (x *UpdateAuthDataResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	ArtworkUuid string `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	AuthImg     string `protobuf:"bytes,2,opt,name=AuthImg,json=auth_img,proto3" json:"AuthImg,omitempty"`
}

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

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

func (*UpdateAuthImgRequest) ProtoMessage() {}

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

func (x *UpdateAuthImgRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *UpdateAuthImgRequest) GetAuthImg() string {
	if x != nil {
		return x.AuthImg
	}
	return ""
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateAuthImgResponse) ProtoMessage() {}

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

func (x *UpdateAuthImgResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Id          int32                            `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"`
	ArtworkUuid string                           `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	Type        int32                            `protobuf:"varint,3,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
	Detail      string                           `protobuf:"bytes,4,opt,name=Detail,json=detail,proto3" json:"Detail,omitempty"`
	ArtistData  *UpdateStorageRequest_ArtistInfo `protobuf:"bytes,5,opt,name=ArtistData,json=artist_data,proto3" json:"ArtistData,omitempty"`
}

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

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

func (*UpdateStorageRequest) ProtoMessage() {}

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

func (x *UpdateStorageRequest) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *UpdateStorageRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

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

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

func (x *UpdateStorageRequest) GetArtistData() *UpdateStorageRequest_ArtistInfo {
	if x != nil {
		return x.ArtistData
	}
	return nil
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateStorageResponse) ProtoMessage() {}

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

func (x *UpdateStorageResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Data []*UploadBatchImgRequest_ImgInfo `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"`
}

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

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

func (*UploadBatchImgRequest) ProtoMessage() {}

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

func (x *UploadBatchImgRequest) GetData() []*UploadBatchImgRequest_ImgInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UploadBatchImgResponse) ProtoMessage() {}

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

func (x *UploadBatchImgResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Type        string `protobuf:"bytes,1,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
	ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
}

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

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

func (*ArtworkDetailRequest) ProtoMessage() {}

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

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

func (x *ArtworkDetailRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

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

	ArtworkUuid   string                            `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	ProfileInfo   *CreArtProRequest                 `protobuf:"bytes,2,opt,name=ProfileInfo,json=profile_info,proto3" json:"ProfileInfo,omitempty"`
	MarketInfo    []*UpdateMInfoRequest             `protobuf:"bytes,3,rep,name=MarketInfo,json=market_info,proto3" json:"MarketInfo,omitempty"`
	ExtDataInfo   *UpdateExtDataRequest             `protobuf:"bytes,4,opt,name=ExtDataInfo,json=ext_data,proto3" json:"ExtDataInfo,omitempty"`
	DigiInfo      *UpdateDigiInfoRequest            `protobuf:"bytes,5,opt,name=DigiInfo,json=digi_info,proto3" json:"DigiInfo,omitempty"`
	AuthData      *UpdateAuthDataRequest            `protobuf:"bytes,6,opt,name=AuthData,json=auth_data,proto3" json:"AuthData,omitempty"`
	TagsData      []*ArtworkDetailResponse_TagsInfo `protobuf:"bytes,7,rep,name=TagsData,json=tags_data,proto3" json:"TagsData,omitempty"`
	CopyRightInfo *UpdateCopyrightInfoRequest       `protobuf:"bytes,8,opt,name=CopyRightInfo,json=copy_right_info,proto3" json:"CopyRightInfo,omitempty"`
	VerifyData    []*BitMap                         `protobuf:"bytes,9,rep,name=VerifyData,json=verify_data,proto3" json:"VerifyData,omitempty"`
	Msg           string                            `protobuf:"bytes,10,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*ArtworkDetailResponse) ProtoMessage() {}

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

func (x *ArtworkDetailResponse) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *ArtworkDetailResponse) GetProfileInfo() *CreArtProRequest {
	if x != nil {
		return x.ProfileInfo
	}
	return nil
}

func (x *ArtworkDetailResponse) GetMarketInfo() []*UpdateMInfoRequest {
	if x != nil {
		return x.MarketInfo
	}
	return nil
}

func (x *ArtworkDetailResponse) GetExtDataInfo() *UpdateExtDataRequest {
	if x != nil {
		return x.ExtDataInfo
	}
	return nil
}

func (x *ArtworkDetailResponse) GetDigiInfo() *UpdateDigiInfoRequest {
	if x != nil {
		return x.DigiInfo
	}
	return nil
}

func (x *ArtworkDetailResponse) GetAuthData() *UpdateAuthDataRequest {
	if x != nil {
		return x.AuthData
	}
	return nil
}

func (x *ArtworkDetailResponse) GetTagsData() []*ArtworkDetailResponse_TagsInfo {
	if x != nil {
		return x.TagsData
	}
	return nil
}

func (x *ArtworkDetailResponse) GetCopyRightInfo() *UpdateCopyrightInfoRequest {
	if x != nil {
		return x.CopyRightInfo
	}
	return nil
}

func (x *ArtworkDetailResponse) GetVerifyData() []*BitMap {
	if x != nil {
		return x.VerifyData
	}
	return nil
}

func (x *ArtworkDetailResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Data []*ArtworkDetailResponse `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*ArtworkProfileListResponse) ProtoMessage() {}

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

func (x *ArtworkProfileListResponse) GetData() []*ArtworkDetailResponse {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	Type        int32  `protobuf:"varint,1,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
	ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
}

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

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

func (*StorageInfoRequest) ProtoMessage() {}

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

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

func (x *StorageInfoRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

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

	StorageData []*UpdateStorageRequest `protobuf:"bytes,1,rep,name=StorageData,json=storage_info,proto3" json:"StorageData,omitempty"`
	Msg         string                  `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*StorageInfoResponse) ProtoMessage() {}

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

func (x *StorageInfoResponse) GetStorageData() []*UpdateStorageRequest {
	if x != nil {
		return x.StorageData
	}
	return nil
}

func (x *StorageInfoResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Type        int32  `protobuf:"varint,1,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
	ArtworkUuid string `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
}

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

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

func (*MarketInfoRequest) ProtoMessage() {}

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

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

func (x *MarketInfoRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

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

	MarketInfo []*UpdateMInfoRequest `protobuf:"bytes,1,rep,name=MarketInfo,json=market_info,proto3" json:"MarketInfo,omitempty"`
	Msg        string                `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*MarketInfoResponse) ProtoMessage() {}

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

func (x *MarketInfoResponse) GetMarketInfo() []*UpdateMInfoRequest {
	if x != nil {
		return x.MarketInfo
	}
	return nil
}

func (x *MarketInfoResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Data []*UpArtistInfoRequest_ArtistInfo `protobuf:"bytes,2,rep,name=Data,json=data,proto3" json:"Data,omitempty"`
}

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

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

func (*UpArtistInfoRequest) ProtoMessage() {}

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

func (x *UpArtistInfoRequest) GetData() []*UpArtistInfoRequest_ArtistInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpArtistInfoResponse) ProtoMessage() {}

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

func (x *UpArtistInfoResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

// RandomHash
type RandomHashRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*RandomHashRequest) ProtoMessage() {}

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

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

	Hash string `protobuf:"bytes,1,opt,name=Hash,json=hash,proto3" json:"Hash,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*RandomHashResponse) ProtoMessage() {}

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

func (x *RandomHashResponse) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

func (x *RandomHashResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Id                    int32  `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"`
	Number                string `protobuf:"bytes,2,opt,name=Number,json=number,proto3" json:"Number,omitempty"`
	SerialNumber          string `protobuf:"bytes,3,opt,name=SerialNumber,json=serial_number,proto3" json:"SerialNumber,omitempty"`
	ApplyTime             string `protobuf:"bytes,4,opt,name=ApplyTime,json=apply_time,proto3" json:"ApplyTime,omitempty"`
	RegisterNumber        string `protobuf:"bytes,5,opt,name=RegisterNumber,json=register_number,proto3" json:"RegisterNumber,omitempty"`
	CertDigi              string `protobuf:"bytes,6,opt,name=CertDigi,json=cert_digi,proto3" json:"CertDigi,omitempty"`
	CertRegisterTime      string `protobuf:"bytes,7,opt,name=CertRegisterTime,json=cert_register_time,proto3" json:"CertRegisterTime,omitempty"`
	AgentRegisterContract string `protobuf:"bytes,8,opt,name=AgentRegisterContract,json=agent_register_contract,proto3" json:"AgentRegisterContract,omitempty"`
	ArtworkUuid           string `protobuf:"bytes,9,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	PromiseLetterUrl      string `protobuf:"bytes,10,opt,name=PromiseLetterUrl,json=promise_letter_url,proto3" json:"PromiseLetterUrl,omitempty"`
	EntrustLetterUrl      string `protobuf:"bytes,11,opt,name=EntrustLetterUrl,json=entrust_letter_url,proto3" json:"EntrustLetterUrl,omitempty"`
}

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

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

func (*UpdateCopyrightInfoRequest) ProtoMessage() {}

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

func (x *UpdateCopyrightInfoRequest) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *UpdateCopyrightInfoRequest) GetNumber() string {
	if x != nil {
		return x.Number
	}
	return ""
}

func (x *UpdateCopyrightInfoRequest) GetSerialNumber() string {
	if x != nil {
		return x.SerialNumber
	}
	return ""
}

func (x *UpdateCopyrightInfoRequest) GetApplyTime() string {
	if x != nil {
		return x.ApplyTime
	}
	return ""
}

func (x *UpdateCopyrightInfoRequest) GetRegisterNumber() string {
	if x != nil {
		return x.RegisterNumber
	}
	return ""
}

func (x *UpdateCopyrightInfoRequest) GetCertDigi() string {
	if x != nil {
		return x.CertDigi
	}
	return ""
}

func (x *UpdateCopyrightInfoRequest) GetCertRegisterTime() string {
	if x != nil {
		return x.CertRegisterTime
	}
	return ""
}

func (x *UpdateCopyrightInfoRequest) GetAgentRegisterContract() string {
	if x != nil {
		return x.AgentRegisterContract
	}
	return ""
}

func (x *UpdateCopyrightInfoRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *UpdateCopyrightInfoRequest) GetPromiseLetterUrl() string {
	if x != nil {
		return x.PromiseLetterUrl
	}
	return ""
}

func (x *UpdateCopyrightInfoRequest) GetEntrustLetterUrl() string {
	if x != nil {
		return x.EntrustLetterUrl
	}
	return ""
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateCopyrightInfoResponse) ProtoMessage() {}

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

func (x *UpdateCopyrightInfoResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Id                    int32    `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"`
	ArtworkUuid           string   `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	SerialNumber          string   `protobuf:"bytes,3,opt,name=SerialNumber,json=serial_number,proto3" json:"SerialNumber,omitempty"`
	AgentRegisterContract []string `protobuf:"bytes,4,rep,name=AgentRegisterContract,json=agent_register_contract,proto3" json:"AgentRegisterContract,omitempty"`
	ApplyTime             string   `protobuf:"bytes,5,opt,name=ApplyTime,json=apply_time,proto3" json:"ApplyTime,omitempty"`
	RegisterNumber        string   `protobuf:"bytes,6,opt,name=RegisterNumber,json=register_number,proto3" json:"RegisterNumber,omitempty"`
	CertDigi              string   `protobuf:"bytes,7,opt,name=CertDigi,json=cert_digi,proto3" json:"CertDigi,omitempty"`
	CertRegisterTime      string   `protobuf:"bytes,8,opt,name=CertRegisterTime,json=cert_register_time,proto3" json:"CertRegisterTime,omitempty"`
	TransTime             string   `protobuf:"bytes,9,opt,name=TransTime,json=trans_time,proto3" json:"TransTime,omitempty"`
	InternalSerialNumber  string   `protobuf:"bytes,10,opt,name=InternalSerialNumber,json=internal_serial_number,proto3" json:"InternalSerialNumber,omitempty"`
	TransferCardFace      string   `protobuf:"bytes,11,opt,name=TransferCardFace,json=transfer_card_face,proto3" json:"TransferCardFace,omitempty"`
	TransferCardNational  string   `protobuf:"bytes,12,opt,name=TransferCardNational,json=transfer_card_national,proto3" json:"TransferCardNational,omitempty"`
	PromiseLetterUrl      string   `protobuf:"bytes,13,opt,name=PromiseLetterUrl,json=promise_letter_url,proto3" json:"PromiseLetterUrl,omitempty"`
	EntrustLetterUrl      string   `protobuf:"bytes,14,opt,name=EntrustLetterUrl,json=entrust_letter_url,proto3" json:"EntrustLetterUrl,omitempty"`
}

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

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

func (*UpdateTransferInfoRequest) ProtoMessage() {}

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

func (x *UpdateTransferInfoRequest) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *UpdateTransferInfoRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetSerialNumber() string {
	if x != nil {
		return x.SerialNumber
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetAgentRegisterContract() []string {
	if x != nil {
		return x.AgentRegisterContract
	}
	return nil
}

func (x *UpdateTransferInfoRequest) GetApplyTime() string {
	if x != nil {
		return x.ApplyTime
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetRegisterNumber() string {
	if x != nil {
		return x.RegisterNumber
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetCertDigi() string {
	if x != nil {
		return x.CertDigi
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetCertRegisterTime() string {
	if x != nil {
		return x.CertRegisterTime
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetTransTime() string {
	if x != nil {
		return x.TransTime
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetInternalSerialNumber() string {
	if x != nil {
		return x.InternalSerialNumber
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetTransferCardFace() string {
	if x != nil {
		return x.TransferCardFace
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetTransferCardNational() string {
	if x != nil {
		return x.TransferCardNational
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetPromiseLetterUrl() string {
	if x != nil {
		return x.PromiseLetterUrl
	}
	return ""
}

func (x *UpdateTransferInfoRequest) GetEntrustLetterUrl() string {
	if x != nil {
		return x.EntrustLetterUrl
	}
	return ""
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateTransferInfoResponse) ProtoMessage() {}

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

func (x *UpdateTransferInfoResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	// string Keyword                = 1 [json_name = "keyword"];
	Page        int32  `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"`
	PageSize    int32  `protobuf:"varint,3,opt,name=PageSize,json=page_size,proto3" json:"PageSize,omitempty"`
	ArtworkUuid string `protobuf:"bytes,4,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
}

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

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

func (*TransferInfoListRequest) ProtoMessage() {}

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

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

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

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

func (x *TransferInfoListRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

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

	Data  []*UpdateTransferInfoRequest `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"`
	Count int32                        `protobuf:"varint,2,opt,name=Count,json=count,proto3" json:"Count,omitempty"`
	Msg   string                       `protobuf:"bytes,3,opt,name=Msg,json=message,proto3" json:"Msg,omitempty"`
}

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

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

func (*TransferInfoListResponse) ProtoMessage() {}

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

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

func (x *TransferInfoListResponse) GetData() []*UpdateTransferInfoRequest {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *TransferInfoListResponse) GetCount() int32 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *TransferInfoListResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	ArtworkUuid    string  `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	Price          float32 `protobuf:"fixed32,2,opt,name=Price,json=price,proto3" json:"Price,omitempty"`
	RulerPrice     float32 `protobuf:"fixed32,3,opt,name=RulerPrice,json=ruler_price,proto3" json:"RulerPrice,omitempty"`
	ArtworkPrice   float32 `protobuf:"fixed32,4,opt,name=ArtworkPrice,json=artwork_price,proto3" json:"ArtworkPrice,omitempty"`
	CopyrightPrice float32 `protobuf:"fixed32,5,opt,name=CopyrightPrice,json=copyright_price,proto3" json:"CopyrightPrice,omitempty"`
}

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

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

func (*UpdateRulerInfoRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateRulerInfoRequest.ProtoReflect.Descriptor instead.
func (*UpdateRulerInfoRequest) Descriptor() ([]byte, []int) {
	return file_pb_artwork_proto_rawDescGZIP(), []int{38}
}

func (x *UpdateRulerInfoRequest) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *UpdateRulerInfoRequest) GetPrice() float32 {
	if x != nil {
		return x.Price
	}
	return 0
}

func (x *UpdateRulerInfoRequest) GetRulerPrice() float32 {
	if x != nil {
		return x.RulerPrice
	}
	return 0
}

func (x *UpdateRulerInfoRequest) GetArtworkPrice() float32 {
	if x != nil {
		return x.ArtworkPrice
	}
	return 0
}

func (x *UpdateRulerInfoRequest) GetCopyrightPrice() float32 {
	if x != nil {
		return x.CopyrightPrice
	}
	return 0
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=message,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateRulerInfoResponse) ProtoMessage() {}

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

// Deprecated: Use UpdateRulerInfoResponse.ProtoReflect.Descriptor instead.
func (*UpdateRulerInfoResponse) Descriptor() ([]byte, []int) {
	return file_pb_artwork_proto_rawDescGZIP(), []int{39}
}

func (x *UpdateRulerInfoResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Data []*UpdateAwPriceRunRequest_Info `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"`
}

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

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

func (*UpdateAwPriceRunRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateAwPriceRunRequest.ProtoReflect.Descriptor instead.
func (*UpdateAwPriceRunRequest) Descriptor() ([]byte, []int) {
	return file_pb_artwork_proto_rawDescGZIP(), []int{40}
}

func (x *UpdateAwPriceRunRequest) GetData() []*UpdateAwPriceRunRequest_Info {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=message,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateAwPriceRunResponse) ProtoMessage() {}

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

// Deprecated: Use UpdateAwPriceRunResponse.ProtoReflect.Descriptor instead.
func (*UpdateAwPriceRunResponse) Descriptor() ([]byte, []int) {
	return file_pb_artwork_proto_rawDescGZIP(), []int{41}
}

func (x *UpdateAwPriceRunResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Data []*UpdateCrHashByTfnumRequest_Info `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"`
}

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

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

func (*UpdateCrHashByTfnumRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateCrHashByTfnumRequest.ProtoReflect.Descriptor instead.
func (*UpdateCrHashByTfnumRequest) Descriptor() ([]byte, []int) {
	return file_pb_artwork_proto_rawDescGZIP(), []int{42}
}

func (x *UpdateCrHashByTfnumRequest) GetData() []*UpdateCrHashByTfnumRequest_Info {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=message,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateCrHashByTfnumResponse) ProtoMessage() {}

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

// Deprecated: Use UpdateCrHashByTfnumResponse.ProtoReflect.Descriptor instead.
func (*UpdateCrHashByTfnumResponse) Descriptor() ([]byte, []int) {
	return file_pb_artwork_proto_rawDescGZIP(), []int{43}
}

func (x *UpdateCrHashByTfnumResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	BitmapIndex            int32  `protobuf:"varint,1,opt,name=BitmapIndex,json=bitmap_index,proto3" json:"BitmapIndex,omitempty"`
	VerifyBitmapImg        string `protobuf:"bytes,2,opt,name=VerifyBitmapImg,json=verify_bitmap_img,proto3" json:"VerifyBitmapImg,omitempty"`
	VerifyBmSixtyImg       string `protobuf:"bytes,3,opt,name=VerifyBmSixtyImg,json=verify_bm_sixty_img,proto3" json:"VerifyBmSixtyImg,omitempty"`
	VerifyBmTwohundredImg  string `protobuf:"bytes,4,opt,name=VerifyBmTwohundredImg,json=verify_bm_twohundred_img,proto3" json:"VerifyBmTwohundredImg,omitempty"`
	VerifyBmSixhundredImg  string `protobuf:"bytes,5,opt,name=VerifyBmSixhundredImg,json=verify_bm_sixhundred_img,proto3" json:"VerifyBmSixhundredImg,omitempty"`
	VerifyBmTwothousandImg string `protobuf:"bytes,6,opt,name=VerifyBmTwothousandImg,json=verify_bm_twothousand_img,proto3" json:"VerifyBmTwothousandImg,omitempty"`
	BitmapImg              string `protobuf:"bytes,7,opt,name=BitmapImg,json=bitmap_img,proto3" json:"BitmapImg,omitempty"`
	BmSixtyImg             string `protobuf:"bytes,8,opt,name=BmSixtyImg,json=bm_sixty_img,proto3" json:"BmSixtyImg,omitempty"`
	BmTwohundredImg        string `protobuf:"bytes,9,opt,name=BmTwohundredImg,json=bm_twohundred_img,proto3" json:"BmTwohundredImg,omitempty"`
	BmSixhundredImg        string `protobuf:"bytes,10,opt,name=BmSixhundredImg,json=bm_sixhundred_img,proto3" json:"BmSixhundredImg,omitempty"`
	BmTwothousandImg       string `protobuf:"bytes,11,opt,name=BmTwothousandImg,json=bm_twothousand_img,proto3" json:"BmTwothousandImg,omitempty"`
	Id                     int32  `protobuf:"varint,12,opt,name=Id,json=id,proto3" json:"Id,omitempty"`
}

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

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

func (*BitMap) ProtoMessage() {}

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

// Deprecated: Use BitMap.ProtoReflect.Descriptor instead.
func (*BitMap) Descriptor() ([]byte, []int) {
	return file_pb_artwork_proto_rawDescGZIP(), []int{44}
}

func (x *BitMap) GetBitmapIndex() int32 {
	if x != nil {
		return x.BitmapIndex
	}
	return 0
}

func (x *BitMap) GetVerifyBitmapImg() string {
	if x != nil {
		return x.VerifyBitmapImg
	}
	return ""
}

func (x *BitMap) GetVerifyBmSixtyImg() string {
	if x != nil {
		return x.VerifyBmSixtyImg
	}
	return ""
}

func (x *BitMap) GetVerifyBmTwohundredImg() string {
	if x != nil {
		return x.VerifyBmTwohundredImg
	}
	return ""
}

func (x *BitMap) GetVerifyBmSixhundredImg() string {
	if x != nil {
		return x.VerifyBmSixhundredImg
	}
	return ""
}

func (x *BitMap) GetVerifyBmTwothousandImg() string {
	if x != nil {
		return x.VerifyBmTwothousandImg
	}
	return ""
}

func (x *BitMap) GetBitmapImg() string {
	if x != nil {
		return x.BitmapImg
	}
	return ""
}

func (x *BitMap) GetBmSixtyImg() string {
	if x != nil {
		return x.BmSixtyImg
	}
	return ""
}

func (x *BitMap) GetBmTwohundredImg() string {
	if x != nil {
		return x.BmTwohundredImg
	}
	return ""
}

func (x *BitMap) GetBmSixhundredImg() string {
	if x != nil {
		return x.BmSixhundredImg
	}
	return ""
}

func (x *BitMap) GetBmTwothousandImg() string {
	if x != nil {
		return x.BmTwothousandImg
	}
	return ""
}

func (x *BitMap) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	Data        []*BitMap `protobuf:"bytes,1,rep,name=Data,json=verify_data,proto3" json:"Data,omitempty"`
	ArtworkUuid string    `protobuf:"bytes,2,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
}

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

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

func (*UpdateVerifyDataReq) ProtoMessage() {}

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

// Deprecated: Use UpdateVerifyDataReq.ProtoReflect.Descriptor instead.
func (*UpdateVerifyDataReq) Descriptor() ([]byte, []int) {
	return file_pb_artwork_proto_rawDescGZIP(), []int{45}
}

func (x *UpdateVerifyDataReq) GetData() []*BitMap {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *UpdateVerifyDataReq) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

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

	Msg string `protobuf:"bytes,1,opt,name=Msg,json=msg,proto3" json:"Msg,omitempty"`
}

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

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

func (*UpdateVerifyDataResp) ProtoMessage() {}

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

// Deprecated: Use UpdateVerifyDataResp.ProtoReflect.Descriptor instead.
func (*UpdateVerifyDataResp) Descriptor() ([]byte, []int) {
	return file_pb_artwork_proto_rawDescGZIP(), []int{46}
}

func (x *UpdateVerifyDataResp) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	BitmapIndex      int32  `protobuf:"varint,1,opt,name=BitmapIndex,json=bitmap_index,proto3" json:"BitmapIndex,omitempty"`
	BitmapImg        string `protobuf:"bytes,2,opt,name=BitmapImg,json=bitmap_img,proto3" json:"BitmapImg,omitempty"`
	BmSixtyImg       string `protobuf:"bytes,3,opt,name=BmSixtyImg,json=bm_sixty_img,proto3" json:"BmSixtyImg,omitempty"`
	BmTwohundredImg  string `protobuf:"bytes,4,opt,name=BmTwohundredImg,json=bm_twohundred_img,proto3" json:"BmTwohundredImg,omitempty"`
	BmSixhundredImg  string `protobuf:"bytes,5,opt,name=BmSixhundredImg,json=bm_sixhundred_img,proto3" json:"BmSixhundredImg,omitempty"`
	BmTwothousandImg string `protobuf:"bytes,6,opt,name=BmTwothousandImg,json=bm_twothousand_img,proto3" json:"BmTwothousandImg,omitempty"`
	Id               int32  `protobuf:"varint,7,opt,name=Id,json=id,proto3" json:"Id,omitempty"`
}

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

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

func (*UpdateAuthDataRequest_BitMap) ProtoMessage() {}

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

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

func (x *UpdateAuthDataRequest_BitMap) GetBitmapIndex() int32 {
	if x != nil {
		return x.BitmapIndex
	}
	return 0
}

func (x *UpdateAuthDataRequest_BitMap) GetBitmapImg() string {
	if x != nil {
		return x.BitmapImg
	}
	return ""
}

func (x *UpdateAuthDataRequest_BitMap) GetBmSixtyImg() string {
	if x != nil {
		return x.BmSixtyImg
	}
	return ""
}

func (x *UpdateAuthDataRequest_BitMap) GetBmTwohundredImg() string {
	if x != nil {
		return x.BmTwohundredImg
	}
	return ""
}

func (x *UpdateAuthDataRequest_BitMap) GetBmSixhundredImg() string {
	if x != nil {
		return x.BmSixhundredImg
	}
	return ""
}

func (x *UpdateAuthDataRequest_BitMap) GetBmTwothousandImg() string {
	if x != nil {
		return x.BmTwothousandImg
	}
	return ""
}

func (x *UpdateAuthDataRequest_BitMap) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

	ArtistUuid string `protobuf:"bytes,1,opt,name=ArtistUuid,json=artist_uuid,proto3" json:"ArtistUuid,omitempty"`
	ArtistId   int32  `protobuf:"varint,2,opt,name=ArtistId,json=artist_id,proto3" json:"ArtistId,omitempty"`
	ArtistName string `protobuf:"bytes,3,opt,name=ArtistName,json=artist_name,proto3" json:"ArtistName,omitempty"`
	Seqnum     int32  `protobuf:"varint,4,opt,name=Seqnum,json=seqnum,proto3" json:"Seqnum,omitempty"`
	Tnum       string `protobuf:"bytes,5,opt,name=Tnum,json=tnum,proto3" json:"Tnum,omitempty"`
	Num        int32  `protobuf:"varint,6,opt,name=Num,json=num,proto3" json:"Num,omitempty"`
}

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

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

func (*UpdateStorageRequest_ArtistInfo) ProtoMessage() {}

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

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

func (x *UpdateStorageRequest_ArtistInfo) GetArtistUuid() string {
	if x != nil {
		return x.ArtistUuid
	}
	return ""
}

func (x *UpdateStorageRequest_ArtistInfo) GetArtistId() int32 {
	if x != nil {
		return x.ArtistId
	}
	return 0
}

func (x *UpdateStorageRequest_ArtistInfo) GetArtistName() string {
	if x != nil {
		return x.ArtistName
	}
	return ""
}

func (x *UpdateStorageRequest_ArtistInfo) GetSeqnum() int32 {
	if x != nil {
		return x.Seqnum
	}
	return 0
}

func (x *UpdateStorageRequest_ArtistInfo) GetTnum() string {
	if x != nil {
		return x.Tnum
	}
	return ""
}

func (x *UpdateStorageRequest_ArtistInfo) GetNum() int32 {
	if x != nil {
		return x.Num
	}
	return 0
}

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

	FileName string `protobuf:"bytes,1,opt,name=FileName,json=file_name,proto3" json:"FileName,omitempty"`
	ImgUrl   string `protobuf:"bytes,2,opt,name=ImgUrl,json=img_url,proto3" json:"ImgUrl,omitempty"`
}

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

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

func (*UploadBatchImgRequest_ImgInfo) ProtoMessage() {}

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

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

func (x *UploadBatchImgRequest_ImgInfo) GetFileName() string {
	if x != nil {
		return x.FileName
	}
	return ""
}

func (x *UploadBatchImgRequest_ImgInfo) GetImgUrl() string {
	if x != nil {
		return x.ImgUrl
	}
	return ""
}

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

	Id      int32  `protobuf:"varint,1,opt,name=Id,json=id,proto3" json:"Id,omitempty"`
	CatName string `protobuf:"bytes,2,opt,name=CatName,json=cat_name,proto3" json:"CatName,omitempty"`
}

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

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

func (*ArtworkDetailResponse_TagsInfo) ProtoMessage() {}

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

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

func (x *ArtworkDetailResponse_TagsInfo) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ArtworkDetailResponse_TagsInfo) GetCatName() string {
	if x != nil {
		return x.CatName
	}
	return ""
}

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

	ArtistUuid string `protobuf:"bytes,1,opt,name=ArtistUuid,json=artist_uuid,proto3" json:"ArtistUuid,omitempty"`
	ArtistName string `protobuf:"bytes,2,opt,name=ArtistName,proto3" json:"ArtistName,omitempty"`
}

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

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

func (*UpArtistInfoRequest_ArtistInfo) ProtoMessage() {}

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

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

func (x *UpArtistInfoRequest_ArtistInfo) GetArtistUuid() string {
	if x != nil {
		return x.ArtistUuid
	}
	return ""
}

func (x *UpArtistInfoRequest_ArtistInfo) GetArtistName() string {
	if x != nil {
		return x.ArtistName
	}
	return ""
}

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

	ArtworkUuid string  `protobuf:"bytes,1,opt,name=ArtworkUuid,json=artwork_uuid,proto3" json:"ArtworkUuid,omitempty"`
	PriceRun    float32 `protobuf:"fixed32,2,opt,name=PriceRun,json=price_run,proto3" json:"PriceRun,omitempty"`
}

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

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

func (*UpdateAwPriceRunRequest_Info) ProtoMessage() {}

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

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

func (x *UpdateAwPriceRunRequest_Info) GetArtworkUuid() string {
	if x != nil {
		return x.ArtworkUuid
	}
	return ""
}

func (x *UpdateAwPriceRunRequest_Info) GetPriceRun() float32 {
	if x != nil {
		return x.PriceRun
	}
	return 0
}

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

	Tfnum         string `protobuf:"bytes,1,opt,name=Tfnum,json=tfnum,proto3" json:"Tfnum,omitempty"`
	CopyrightHash string `protobuf:"bytes,2,opt,name=CopyrightHash,json=copyright_hash,proto3" json:"CopyrightHash,omitempty"`
}

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

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

func (*UpdateCrHashByTfnumRequest_Info) ProtoMessage() {}

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

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

func (x *UpdateCrHashByTfnumRequest_Info) GetTfnum() string {
	if x != nil {
		return x.Tfnum
	}
	return ""
}

func (x *UpdateCrHashByTfnumRequest_Info) GetCopyrightHash() string {
	if x != nil {
		return x.CopyrightHash
	}
	return ""
}

var File_pb_artwork_proto protoreflect.FileDescriptor

var file_pb_artwork_proto_rawDesc = []byte{
	0x0a, 0x10, 0x70, 0x62, 0x2f, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x12, 0x07, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x1a, 0x20, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x70,
	0x62, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x22, 0x19, 0x0a, 0x07, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02,
	0x6b, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6b, 0x31, 0x22, 0x1c, 0x0a, 0x08,
	0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xce, 0x0a, 0x0a, 0x10, 0x43,
	0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x43, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe7, 0x94, 0xbb, 0xe4,
	0xbd, 0x9c, 0xe5, 0x90, 0x8d, 0xe5, 0xad, 0x97, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8,
	0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61,
	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18,
	0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0xe5, 0x90, 0x8d, 0xe5, 0xad, 0x97, 0xe4, 0xb8, 0x8d, 0xe8,
	0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69,
	0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x43, 0x6f,
	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x61,
	0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09,
	0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x41, 0x72,
	0x74, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0e, 0x61, 0x72, 0x74, 0x5f, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61,
	0x6c, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x14, 0x0a,
	0x05, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69,
	0x64, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0c, 0x49, 0x6e, 0x73,
	0x63, 0x72, 0x69, 0x62, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0d, 0x69, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x12, 0x21,
	0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74,
	0x65, 0x12, 0x27, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x62,
	0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x62,
	0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52,
	0x75, 0x6c, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x63,
	0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0e, 0x50, 0x72, 0x69, 0x63, 0x65,
	0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52,
	0x0f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74,
	0x12, 0x23, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x72,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x0b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x61,
	0x72, 0x6b, 0x65, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x63,
	0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, 0x6c, 0x6f,
	0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67,
	0x12, 0x1d, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x14, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79,
	0x12, 0x25, 0x0a, 0x0d, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69,
	0x63, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c,
	0x65, 0x74, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x70,
	0x69, 0x63, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x70, 0x69,
	0x63, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x65, 0x61, 0x6c, 0x70, 0x69, 0x63, 0x18, 0x17, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x61, 0x6c, 0x70, 0x69, 0x63, 0x12, 0x21, 0x0a, 0x0b, 0x41,
	0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1b,
	0x0a, 0x08, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x69, 0x63, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x70, 0x69, 0x63, 0x12, 0x15, 0x0a, 0x05, 0x48,
	0x64, 0x50, 0x69, 0x63, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x64, 0x5f, 0x70,
	0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x1b,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x21,
	0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x1c, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69,
	0x64, 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18,
	0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7,
	0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x58, 0x01, 0x52, 0x0b,
	0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x41,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05,
	0x42, 0x1d, 0xe2, 0xdf, 0x1f, 0x19, 0x10, 0x00, 0x2a, 0x15, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89,
	0xe6, 0x8b, 0xa9, 0xe5, 0x88, 0x9b, 0xe4, 0xbd, 0x9c, 0xe7, 0xb1, 0xbb, 0xe5, 0x9e, 0x8b, 0x52,
	0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a,
	0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x1f, 0x20,
	0x01, 0x28, 0x05, 0x42, 0x1d, 0xe2, 0xdf, 0x1f, 0x19, 0x10, 0x00, 0x2a, 0x15, 0xe5, 0x88, 0x9b,
	0xe5, 0xbb, 0xba, 0xe6, 0x9d, 0xa5, 0xe6, 0xba, 0x90, 0xe4, 0xb8, 0x8d, 0xe5, 0x90, 0x88, 0xe6,
	0xb3, 0x95, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x12, 0x23, 0x0a, 0x0c, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72,
	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x72, 0x69,
	0x63, 0x65, 0x52, 0x75, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x72, 0x69,
	0x63, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x12, 0x25, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
	0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73,
	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a,
	0x0a, 0x53, 0x61, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0b, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b,
	0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x62, 0x0a, 0x0d, 0x41,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0b,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12,
	0x2e, 0x0a, 0x11, 0x44, 0x69, 0x67, 0x69, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74,
	0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x69, 0x67, 0x69,
	0x5f, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22,
	0x51, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b,
	0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x72, 0x6b,
	0x65, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03,
	0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf3,
	0x03, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x41, 0x72, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12,
	0x1b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x09, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05,
	0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c,
	0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0d, 0x50, 0x65, 0x6e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x71,
	0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x65, 0x6e, 0x5f, 0x74,
	0x65, 0x63, 0x68, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x07, 0x41, 0x72, 0x74,
	0x49, 0x64, 0x65, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x74, 0x5f,
	0x69, 0x64, 0x65, 0x61, 0x12, 0x21, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x49,
	0x64, 0x65, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x72, 0x65,
	0x73, 0x73, 0x5f, 0x69, 0x64, 0x65, 0x61, 0x12, 0x1b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x53, 0x74,
	0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x5f, 0x73,
	0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x75, 0x62,
	0x6c, 0x69, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x73,
	0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x2b, 0x0a, 0x10, 0x46, 0x69, 0x72,
	0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x6d, 0x67, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69,
	0x73, 0x68, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x1d, 0x0a, 0x09, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61,
	0x6d, 0x65, 0x5f, 0x69, 0x6d, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69,
	0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x23, 0x0a, 0x0c,
	0x54, 0x68, 0x69, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
	0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64,
	0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f,
	0x75, 0x75, 0x69, 0x64, 0x22, 0x29, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78,
	0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a,
	0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22,
	0xf9, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0d,
	0x53, 0x70, 0x72, 0x61, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x70, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x53, 0x70, 0x72, 0x61, 0x79, 0x52, 0x65, 0x6d, 0x61,
	0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x70, 0x72, 0x61, 0x79, 0x5f,
	0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x26, 0x0a, 0x0d, 0x44, 0x69, 0x67, 0x69, 0x53, 0x68,
	0x6f, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64,
	0x69, 0x67, 0x69, 0x5f, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x12, 0x24,
	0x0a, 0x0c, 0x44, 0x69, 0x67, 0x69, 0x4d, 0x61, 0x6b, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f,
	0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x44, 0x69, 0x67, 0x69, 0x41, 0x72, 0x74, 0x49,
	0x6d, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x61,
	0x72, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x33, 0x0a, 0x13, 0x44, 0x69, 0x67, 0x69, 0x41, 0x72,
	0x74, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x16, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f,
	0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x25, 0x0a, 0x0d, 0x43,
	0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x68, 0x61,
	0x73, 0x68, 0x12, 0x25, 0x0a, 0x0d, 0x52, 0x65, 0x61, 0x6c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48,
	0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x72,
	0x69, 0x67, 0x68, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0c, 0x41, 0x75, 0x74,
	0x68, 0x44, 0x61, 0x74, 0x61, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12,
	0x20, 0x0a, 0x0a, 0x57, 0x74, 0x52, 0x65, 0x61, 0x6c, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x68, 0x61, 0x73,
	0x68, 0x12, 0x20, 0x0a, 0x0a, 0x43, 0x78, 0x52, 0x65, 0x61, 0x6c, 0x48, 0x61, 0x73, 0x68, 0x18,
	0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x78, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x68,
	0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0d, 0x42, 0x61, 0x69, 0x64, 0x75, 0x52, 0x65, 0x61, 0x6c,
	0x48, 0x61, 0x73, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x61, 0x69, 0x64,
	0x75, 0x5f, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x11, 0x44,
	0x69, 0x67, 0x69, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f,
	0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x63, 0x6f, 0x70,
	0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x11, 0x44,
	0x69, 0x67, 0x69, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x46, 0x69, 0x6c, 0x65,
	0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x63, 0x6f, 0x70,
	0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2a, 0x0a, 0x16, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x4a, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12,
	0x12, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x74,
	0x61, 0x67, 0x73, 0x22, 0x26, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xd4, 0x03, 0x0a, 0x15,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x41, 0x75, 0x74, 0x68,
	0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f,
	0x69, 0x6d, 0x67, 0x12, 0x20, 0x0a, 0x0a, 0x44, 0x69, 0x67, 0x69, 0x41, 0x72, 0x74, 0x49, 0x6d,
	0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x61, 0x72,
	0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x39, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x2e, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x12, 0x1b, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x82, 0x02,
	0x0a, 0x06, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x21, 0x0a, 0x0b, 0x42, 0x69, 0x74, 0x6d,
	0x61, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62,
	0x69, 0x74, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x09, 0x42,
	0x69, 0x74, 0x6d, 0x61, 0x70, 0x49, 0x6d, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x62, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x20, 0x0a, 0x0a, 0x42, 0x6d,
	0x53, 0x69, 0x78, 0x74, 0x79, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2a, 0x0a, 0x0f,
	0x42, 0x6d, 0x54, 0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x6d, 0x5f, 0x74, 0x77, 0x6f, 0x68, 0x75, 0x6e,
	0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2a, 0x0a, 0x0f, 0x42, 0x6d, 0x53, 0x69,
	0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x11, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64,
	0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2c, 0x0a, 0x10, 0x42, 0x6d, 0x54, 0x77, 0x6f, 0x74, 0x68, 0x6f,
	0x75, 0x73, 0x61, 0x6e, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12,
	0x62, 0x6d, 0x5f, 0x74, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x5f, 0x69,
	0x6d, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
	0x69, 0x64, 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68,
	0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03,
	0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x54,
	0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x41, 0x75, 0x74,
	0x68, 0x49, 0x6d, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68,
	0x5f, 0x69, 0x6d, 0x67, 0x22, 0x29, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75,
	0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a,
	0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22,
	0xbf, 0x03, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2,
	0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x44, 0xe4, 0xb8, 0x8d,
	0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x04, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x10, 0x00, 0x2a,
	0x0f, 0xe7, 0xb1, 0xbb, 0xe5, 0x9e, 0x8b, 0xe4, 0xb8, 0x8d, 0xe5, 0x90, 0x88, 0xe6, 0xb3, 0x95,
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0xe8, 0xaf,
	0xa6, 0xe6, 0x83, 0x85, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba,
	0x58, 0x01, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x49, 0x0a, 0x0a, 0x41, 0x72,
	0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
	0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72,
	0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
	0x5f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xa9, 0x01, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
	0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f,
	0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x54,
	0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6e, 0x75, 0x6d, 0x12,
	0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75,
	0x6d, 0x22, 0x29, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61,
	0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73,
	0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x94, 0x01, 0x0a,
	0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x67, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55,
	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x1a, 0x3f, 0x0a, 0x07, 0x49, 0x6d, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a,
	0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x49, 0x6d,
	0x67, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x67, 0x5f,
	0x75, 0x72, 0x6c, 0x22, 0x2a, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74,
	0x63, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a,
	0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22,
	0x6b, 0x0a, 0x14, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x41,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0x49, 0x44,
	0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0c,
	0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0xfc, 0x04, 0x0a,
	0x15, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x50, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50,
	0x72, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0a, 0x4d, 0x61, 0x72, 0x6b, 0x65,
	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x41, 0x72,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x49, 0x6e, 0x66,
	0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74,
	0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61,
	0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x44, 0x61,
	0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x65, 0x78, 0x74, 0x5f, 0x64,
	0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x09, 0x64, 0x69, 0x67, 0x69, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
	0x12, 0x3b, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a,
	0x08, 0x54, 0x61, 0x67, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x27, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
	0x54, 0x61, 0x67, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x64,
	0x61, 0x74, 0x61, 0x12, 0x4b, 0x0a, 0x0d, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x69, 0x67, 0x68, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72,
	0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52,
	0x0f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
	0x12, 0x30, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42,
	0x69, 0x74, 0x4d, 0x61, 0x70, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x61,
	0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x6d, 0x73, 0x67, 0x1a, 0x35, 0x0a, 0x08, 0x54, 0x61, 0x67, 0x73, 0x49, 0x6e, 0x66, 0x6f,
	0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x19, 0x0a, 0x07, 0x43, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x1a, 0x41,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4b, 0x0a,
	0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x69, 0x0a, 0x13, 0x53, 0x74,
	0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x40, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69,
	0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x4a, 0x0a, 0x11, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21,
	0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69,
	0x64, 0x22, 0x64, 0x0a, 0x12, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x4d, 0x61, 0x72, 0x6b, 0x65,
	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x41, 0x72,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x49, 0x6e, 0x66,
	0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74,
	0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x41, 0x72,
	0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x3b, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69,
	0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4d, 0x0a, 0x0a,
	0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72,
	0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x41,
	0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x28, 0x0a, 0x14, 0x55,
	0x70, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x48,
	0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3a, 0x0a, 0x12, 0x52, 0x61,
	0x6e, 0x64, 0x6f, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x48, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x68, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xcc, 0x03, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x23, 0x0a,
	0x0c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x12, 0x1d, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x69, 0x6d,
	0x65, 0x12, 0x27, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x08, 0x43, 0x65,
	0x72, 0x74, 0x44, 0x69, 0x67, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x65,
	0x72, 0x74, 0x5f, 0x64, 0x69, 0x67, 0x69, 0x12, 0x2c, 0x0a, 0x10, 0x43, 0x65, 0x72, 0x74, 0x52,
	0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x15, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65,
	0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x3a, 0x0a,
	0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89,
	0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x10, 0x50, 0x72, 0x6f,
	0x6d, 0x69, 0x73, 0x65, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x74,
	0x74, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x72, 0x75,
	0x73, 0x74, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x12, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65,
	0x72, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
	0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xec, 0x04, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55,
	0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a,
	0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c,
	0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64,
	0x12, 0x23, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x15, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65,
	0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x0a,
	0x09, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0e,
	0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x08, 0x43, 0x65, 0x72, 0x74, 0x44, 0x69, 0x67,
	0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69,
	0x67, 0x69, 0x12, 0x2c, 0x0a, 0x10, 0x43, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
	0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65,
	0x72, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x12, 0x1d, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12,
	0x34, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
	0x72, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66,
	0x61, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43,
	0x61, 0x72, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64,
	0x5f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x10, 0x50, 0x72, 0x6f,
	0x6d, 0x69, 0x73, 0x65, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0d, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x74,
	0x74, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x72, 0x75,
	0x73, 0x74, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x12, 0x65, 0x6e, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65,
	0x72, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x2e, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
	0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
	0x7a, 0x65, 0x12, 0x3a, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69,
	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8,
	0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0x58, 0x01,
	0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x7e,
	0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x44, 0x61,
	0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
	0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xc0,
	0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05,
	0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69,
	0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72,
	0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72,
	0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x43, 0x6f, 0x70, 0x79,
	0x72, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02,
	0x52, 0x0f, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x63,
	0x65, 0x22, 0x2f, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72,
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x03,
	0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50,
	0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39,
	0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x41,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50,
	0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x46, 0x0a, 0x04, 0x49, 0x6e, 0x66,
	0x6f, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f,
	0x75, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x75,
	0x6e, 0x22, 0x30, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50, 0x72, 0x69,
	0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a,
	0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72,
	0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x28, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x43, 0x72, 0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x1a, 0x43, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x66, 0x6e, 0x75,
	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x66, 0x6e, 0x75, 0x6d, 0x12, 0x25,
	0x0a, 0x0d, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74,
	0x5f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x33, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
	0x72, 0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8a, 0x04, 0x0a, 0x06, 0x42,
	0x69, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x21, 0x0a, 0x0b, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x49,
	0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x69, 0x74, 0x6d,
	0x61, 0x70, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x69,
	0x66, 0x79, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x49, 0x6d, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x69, 0x74, 0x6d, 0x61, 0x70,
	0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2d, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6d,
	0x53, 0x69, 0x78, 0x74, 0x79, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13,
	0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x74, 0x79, 0x5f,
	0x69, 0x6d, 0x67, 0x12, 0x37, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6d, 0x54,
	0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x18, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x6d, 0x5f, 0x74, 0x77,
	0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x37, 0x0a, 0x15,
	0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6d, 0x53, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72,
	0x65, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x76, 0x65, 0x72,
	0x69, 0x66, 0x79, 0x5f, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65,
	0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x39, 0x0a, 0x16, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42,
	0x6d, 0x54, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x49, 0x6d, 0x67, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x6d,
	0x5f, 0x74, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x6d, 0x67,
	0x12, 0x1d, 0x0a, 0x09, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x49, 0x6d, 0x67, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6d, 0x67, 0x12,
	0x20, 0x0a, 0x0a, 0x42, 0x6d, 0x53, 0x69, 0x78, 0x74, 0x79, 0x49, 0x6d, 0x67, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x74, 0x79, 0x5f, 0x69, 0x6d,
	0x67, 0x12, 0x2a, 0x0a, 0x0f, 0x42, 0x6d, 0x54, 0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65,
	0x64, 0x49, 0x6d, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x6d, 0x5f, 0x74,
	0x77, 0x6f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2a, 0x0a,
	0x0f, 0x42, 0x6d, 0x53, 0x69, 0x78, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x67,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x6d, 0x5f, 0x73, 0x69, 0x78, 0x68, 0x75,
	0x6e, 0x64, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2c, 0x0a, 0x10, 0x42, 0x6d, 0x54,
	0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x49, 0x6d, 0x67, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x6d, 0x5f, 0x74, 0x77, 0x6f, 0x74, 0x68, 0x6f, 0x75, 0x73,
	0x61, 0x6e, 0x64, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7d, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x2a,
	0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x41,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x70, 0x52, 0x0b, 0x76,
	0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0b, 0x41, 0x72,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9,
	0xe7, 0x94, 0xbb, 0xe4, 0xbd, 0x9c, 0x58, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x28, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10,
	0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67,
	0x32, 0xf6, 0x0e, 0x0a, 0x07, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2d, 0x0a, 0x04,
	0x54, 0x65, 0x73, 0x74, 0x12, 0x10, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x54,
	0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x14, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x66,
	0x69, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x72,
	0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
	0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74, 0x50,
	0x72, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x14,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43,
	0x72, 0x65, 0x41, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x43, 0x72, 0x65, 0x41, 0x72, 0x74,
	0x50, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a,
	0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66,
	0x6f, 0x12, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c,
	0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50,
	0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12,
	0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
	0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45,
	0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x53, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x44, 0x69, 0x67, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
	0x61, 0x67, 0x73, 0x12, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53,
	0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61,
	0x12, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x41, 0x75, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74,
	0x68, 0x49, 0x6d, 0x67, 0x12, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x67, 0x12, 0x1e, 0x2e, 0x41, 0x72, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49,
	0x6d, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x41, 0x72, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49,
	0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x2e,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44,
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x41,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65,
	0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a,
	0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x2e,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x4d, 0x61,
	0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x4d,
	0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74,
	0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x2e, 0x55, 0x70, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e,
	0x55, 0x70, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
	0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x52,
	0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1b, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f,
	0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x62, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67,
	0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x41, 0x72,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x70, 0x79,
	0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61,
	0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x2e, 0x41, 0x72, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72,
	0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
	0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x66,
	0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x56, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x41, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x20, 0x2e, 0x41, 0x72,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77, 0x50, 0x72,
	0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x77,
	0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x48, 0x61,
	0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x2e, 0x41, 0x72, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x48, 0x61, 0x73, 0x68,
	0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
	0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43,
	0x72, 0x48, 0x61, 0x73, 0x68, 0x42, 0x79, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x2e, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66,
	0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44,
	0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x61,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x3b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x06,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_pb_artwork_proto_rawDescOnce sync.Once
	file_pb_artwork_proto_rawDescData = file_pb_artwork_proto_rawDesc
)

func file_pb_artwork_proto_rawDescGZIP() []byte {
	file_pb_artwork_proto_rawDescOnce.Do(func() {
		file_pb_artwork_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_artwork_proto_rawDescData)
	})
	return file_pb_artwork_proto_rawDescData
}

var file_pb_artwork_proto_msgTypes = make([]protoimpl.MessageInfo, 54)
var file_pb_artwork_proto_goTypes = []interface{}{
	(*TestReq)(nil),                         // 0: Artwork.TestReq
	(*TestResp)(nil),                        // 1: Artwork.TestResp
	(*CreArtProRequest)(nil),                // 2: Artwork.CreArtProRequest
	(*ArtworkAddRes)(nil),                   // 3: Artwork.ArtworkAddRes
	(*CreArtProResponse)(nil),               // 4: Artwork.CreArtProResponse
	(*UpdateMInfoRequest)(nil),              // 5: Artwork.UpdateMInfoRequest
	(*UpdateMInfoResponse)(nil),             // 6: Artwork.UpdateMInfoResponse
	(*UpdateExtDataRequest)(nil),            // 7: Artwork.UpdateExtDataRequest
	(*UpdateExtDataResponse)(nil),           // 8: Artwork.UpdateExtDataResponse
	(*UpdateDigiInfoRequest)(nil),           // 9: Artwork.UpdateDigiInfoRequest
	(*UpdateDigiInfoResponse)(nil),          // 10: Artwork.UpdateDigiInfoResponse
	(*UpdateTagsRequest)(nil),               // 11: Artwork.UpdateTagsRequest
	(*UpdateTagsResponse)(nil),              // 12: Artwork.UpdateTagsResponse
	(*UpdateAuthDataRequest)(nil),           // 13: Artwork.UpdateAuthDataRequest
	(*UpdateAuthDataResponse)(nil),          // 14: Artwork.UpdateAuthDataResponse
	(*UpdateAuthImgRequest)(nil),            // 15: Artwork.UpdateAuthImgRequest
	(*UpdateAuthImgResponse)(nil),           // 16: Artwork.UpdateAuthImgResponse
	(*UpdateStorageRequest)(nil),            // 17: Artwork.UpdateStorageRequest
	(*UpdateStorageResponse)(nil),           // 18: Artwork.UpdateStorageResponse
	(*UploadBatchImgRequest)(nil),           // 19: Artwork.UploadBatchImgRequest
	(*UploadBatchImgResponse)(nil),          // 20: Artwork.UploadBatchImgResponse
	(*ArtworkDetailRequest)(nil),            // 21: Artwork.ArtworkDetailRequest
	(*ArtworkDetailResponse)(nil),           // 22: Artwork.ArtworkDetailResponse
	(*ArtworkProfileListResponse)(nil),      // 23: Artwork.ArtworkProfileListResponse
	(*StorageInfoRequest)(nil),              // 24: Artwork.StorageInfoRequest
	(*StorageInfoResponse)(nil),             // 25: Artwork.StorageInfoResponse
	(*MarketInfoRequest)(nil),               // 26: Artwork.MarketInfoRequest
	(*MarketInfoResponse)(nil),              // 27: Artwork.MarketInfoResponse
	(*UpArtistInfoRequest)(nil),             // 28: Artwork.UpArtistInfoRequest
	(*UpArtistInfoResponse)(nil),            // 29: Artwork.UpArtistInfoResponse
	(*RandomHashRequest)(nil),               // 30: Artwork.RandomHashRequest
	(*RandomHashResponse)(nil),              // 31: Artwork.RandomHashResponse
	(*UpdateCopyrightInfoRequest)(nil),      // 32: Artwork.UpdateCopyrightInfoRequest
	(*UpdateCopyrightInfoResponse)(nil),     // 33: Artwork.UpdateCopyrightInfoResponse
	(*UpdateTransferInfoRequest)(nil),       // 34: Artwork.UpdateTransferInfoRequest
	(*UpdateTransferInfoResponse)(nil),      // 35: Artwork.UpdateTransferInfoResponse
	(*TransferInfoListRequest)(nil),         // 36: Artwork.TransferInfoListRequest
	(*TransferInfoListResponse)(nil),        // 37: Artwork.TransferInfoListResponse
	(*UpdateRulerInfoRequest)(nil),          // 38: Artwork.UpdateRulerInfoRequest
	(*UpdateRulerInfoResponse)(nil),         // 39: Artwork.UpdateRulerInfoResponse
	(*UpdateAwPriceRunRequest)(nil),         // 40: Artwork.UpdateAwPriceRunRequest
	(*UpdateAwPriceRunResponse)(nil),        // 41: Artwork.UpdateAwPriceRunResponse
	(*UpdateCrHashByTfnumRequest)(nil),      // 42: Artwork.UpdateCrHashByTfnumRequest
	(*UpdateCrHashByTfnumResponse)(nil),     // 43: Artwork.UpdateCrHashByTfnumResponse
	(*BitMap)(nil),                          // 44: Artwork.BitMap
	(*UpdateVerifyDataReq)(nil),             // 45: Artwork.UpdateVerifyDataReq
	(*UpdateVerifyDataResp)(nil),            // 46: Artwork.UpdateVerifyDataResp
	(*UpdateAuthDataRequest_BitMap)(nil),    // 47: Artwork.UpdateAuthDataRequest.BitMap
	(*UpdateStorageRequest_ArtistInfo)(nil), // 48: Artwork.UpdateStorageRequest.ArtistInfo
	(*UploadBatchImgRequest_ImgInfo)(nil),   // 49: Artwork.UploadBatchImgRequest.ImgInfo
	(*ArtworkDetailResponse_TagsInfo)(nil),  // 50: Artwork.ArtworkDetailResponse.TagsInfo
	(*UpArtistInfoRequest_ArtistInfo)(nil),  // 51: Artwork.UpArtistInfoRequest.ArtistInfo
	(*UpdateAwPriceRunRequest_Info)(nil),    // 52: Artwork.UpdateAwPriceRunRequest.Info
	(*UpdateCrHashByTfnumRequest_Info)(nil), // 53: Artwork.UpdateCrHashByTfnumRequest.Info
}
var file_pb_artwork_proto_depIdxs = []int32{
	3,  // 0: Artwork.CreArtProResponse.Data:type_name -> Artwork.ArtworkAddRes
	47, // 1: Artwork.UpdateAuthDataRequest.Data:type_name -> Artwork.UpdateAuthDataRequest.BitMap
	48, // 2: Artwork.UpdateStorageRequest.ArtistData:type_name -> Artwork.UpdateStorageRequest.ArtistInfo
	49, // 3: Artwork.UploadBatchImgRequest.Data:type_name -> Artwork.UploadBatchImgRequest.ImgInfo
	2,  // 4: Artwork.ArtworkDetailResponse.ProfileInfo:type_name -> Artwork.CreArtProRequest
	5,  // 5: Artwork.ArtworkDetailResponse.MarketInfo:type_name -> Artwork.UpdateMInfoRequest
	7,  // 6: Artwork.ArtworkDetailResponse.ExtDataInfo:type_name -> Artwork.UpdateExtDataRequest
	9,  // 7: Artwork.ArtworkDetailResponse.DigiInfo:type_name -> Artwork.UpdateDigiInfoRequest
	13, // 8: Artwork.ArtworkDetailResponse.AuthData:type_name -> Artwork.UpdateAuthDataRequest
	50, // 9: Artwork.ArtworkDetailResponse.TagsData:type_name -> Artwork.ArtworkDetailResponse.TagsInfo
	32, // 10: Artwork.ArtworkDetailResponse.CopyRightInfo:type_name -> Artwork.UpdateCopyrightInfoRequest
	44, // 11: Artwork.ArtworkDetailResponse.VerifyData:type_name -> Artwork.BitMap
	22, // 12: Artwork.ArtworkProfileListResponse.data:type_name -> Artwork.ArtworkDetailResponse
	17, // 13: Artwork.StorageInfoResponse.StorageData:type_name -> Artwork.UpdateStorageRequest
	5,  // 14: Artwork.MarketInfoResponse.MarketInfo:type_name -> Artwork.UpdateMInfoRequest
	51, // 15: Artwork.UpArtistInfoRequest.Data:type_name -> Artwork.UpArtistInfoRequest.ArtistInfo
	34, // 16: Artwork.TransferInfoListResponse.Data:type_name -> Artwork.UpdateTransferInfoRequest
	52, // 17: Artwork.UpdateAwPriceRunRequest.Data:type_name -> Artwork.UpdateAwPriceRunRequest.Info
	53, // 18: Artwork.UpdateCrHashByTfnumRequest.Data:type_name -> Artwork.UpdateCrHashByTfnumRequest.Info
	44, // 19: Artwork.UpdateVerifyDataReq.Data:type_name -> Artwork.BitMap
	0,  // 20: Artwork.Artwork.Test:input_type -> Artwork.TestReq
	2,  // 21: Artwork.Artwork.CreateArtworkProfile:input_type -> Artwork.CreArtProRequest
	2,  // 22: Artwork.Artwork.UpdateArtworkProfile:input_type -> Artwork.CreArtProRequest
	5,  // 23: Artwork.Artwork.UpdateMarketInfo:input_type -> Artwork.UpdateMInfoRequest
	7,  // 24: Artwork.Artwork.UpdateExtData:input_type -> Artwork.UpdateExtDataRequest
	9,  // 25: Artwork.Artwork.UpdateDigiInfo:input_type -> Artwork.UpdateDigiInfoRequest
	11, // 26: Artwork.Artwork.UpdateTags:input_type -> Artwork.UpdateTagsRequest
	13, // 27: Artwork.Artwork.UpdateAuthData:input_type -> Artwork.UpdateAuthDataRequest
	15, // 28: Artwork.Artwork.UpdateAuthImg:input_type -> Artwork.UpdateAuthImgRequest
	17, // 29: Artwork.Artwork.UpdateStorage:input_type -> Artwork.UpdateStorageRequest
	19, // 30: Artwork.Artwork.UploadBatchImg:input_type -> Artwork.UploadBatchImgRequest
	21, // 31: Artwork.Artwork.ArtworkDetail:input_type -> Artwork.ArtworkDetailRequest
	24, // 32: Artwork.Artwork.StorageInfo:input_type -> Artwork.StorageInfoRequest
	26, // 33: Artwork.Artwork.MarketInfo:input_type -> Artwork.MarketInfoRequest
	28, // 34: Artwork.Artwork.UpdateArtistInfo:input_type -> Artwork.UpArtistInfoRequest
	30, // 35: Artwork.Artwork.RandomHash:input_type -> Artwork.RandomHashRequest
	32, // 36: Artwork.Artwork.UpdateCopyrightInfo:input_type -> Artwork.UpdateCopyrightInfoRequest
	34, // 37: Artwork.Artwork.UpdateTransferInfo:input_type -> Artwork.UpdateTransferInfoRequest
	36, // 38: Artwork.Artwork.TransferInfoList:input_type -> Artwork.TransferInfoListRequest
	38, // 39: Artwork.Artwork.UpdateRulerInfo:input_type -> Artwork.UpdateRulerInfoRequest
	40, // 40: Artwork.Artwork.UpdateAwPriceRun:input_type -> Artwork.UpdateAwPriceRunRequest
	42, // 41: Artwork.Artwork.UpdateCrHashByTfnum:input_type -> Artwork.UpdateCrHashByTfnumRequest
	45, // 42: Artwork.Artwork.UpdateVerifyData:input_type -> Artwork.UpdateVerifyDataReq
	1,  // 43: Artwork.Artwork.Test:output_type -> Artwork.TestResp
	4,  // 44: Artwork.Artwork.CreateArtworkProfile:output_type -> Artwork.CreArtProResponse
	4,  // 45: Artwork.Artwork.UpdateArtworkProfile:output_type -> Artwork.CreArtProResponse
	6,  // 46: Artwork.Artwork.UpdateMarketInfo:output_type -> Artwork.UpdateMInfoResponse
	8,  // 47: Artwork.Artwork.UpdateExtData:output_type -> Artwork.UpdateExtDataResponse
	10, // 48: Artwork.Artwork.UpdateDigiInfo:output_type -> Artwork.UpdateDigiInfoResponse
	12, // 49: Artwork.Artwork.UpdateTags:output_type -> Artwork.UpdateTagsResponse
	14, // 50: Artwork.Artwork.UpdateAuthData:output_type -> Artwork.UpdateAuthDataResponse
	16, // 51: Artwork.Artwork.UpdateAuthImg:output_type -> Artwork.UpdateAuthImgResponse
	18, // 52: Artwork.Artwork.UpdateStorage:output_type -> Artwork.UpdateStorageResponse
	20, // 53: Artwork.Artwork.UploadBatchImg:output_type -> Artwork.UploadBatchImgResponse
	22, // 54: Artwork.Artwork.ArtworkDetail:output_type -> Artwork.ArtworkDetailResponse
	25, // 55: Artwork.Artwork.StorageInfo:output_type -> Artwork.StorageInfoResponse
	27, // 56: Artwork.Artwork.MarketInfo:output_type -> Artwork.MarketInfoResponse
	29, // 57: Artwork.Artwork.UpdateArtistInfo:output_type -> Artwork.UpArtistInfoResponse
	31, // 58: Artwork.Artwork.RandomHash:output_type -> Artwork.RandomHashResponse
	33, // 59: Artwork.Artwork.UpdateCopyrightInfo:output_type -> Artwork.UpdateCopyrightInfoResponse
	35, // 60: Artwork.Artwork.UpdateTransferInfo:output_type -> Artwork.UpdateTransferInfoResponse
	37, // 61: Artwork.Artwork.TransferInfoList:output_type -> Artwork.TransferInfoListResponse
	39, // 62: Artwork.Artwork.UpdateRulerInfo:output_type -> Artwork.UpdateRulerInfoResponse
	41, // 63: Artwork.Artwork.UpdateAwPriceRun:output_type -> Artwork.UpdateAwPriceRunResponse
	43, // 64: Artwork.Artwork.UpdateCrHashByTfnum:output_type -> Artwork.UpdateCrHashByTfnumResponse
	46, // 65: Artwork.Artwork.UpdateVerifyData:output_type -> Artwork.UpdateVerifyDataResp
	43, // [43:66] is the sub-list for method output_type
	20, // [20:43] is the sub-list for method input_type
	20, // [20:20] is the sub-list for extension type_name
	20, // [20:20] is the sub-list for extension extendee
	0,  // [0:20] is the sub-list for field type_name
}

func init() { file_pb_artwork_proto_init() }
func file_pb_artwork_proto_init() {
	if File_pb_artwork_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_pb_artwork_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TestReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TestResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreArtProRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ArtworkAddRes); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreArtProResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateMInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateMInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateExtDataRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateExtDataResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateDigiInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateDigiInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateTagsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateTagsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAuthDataRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAuthDataResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAuthImgRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAuthImgResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateStorageRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateStorageResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadBatchImgRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadBatchImgResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ArtworkDetailRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ArtworkDetailResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ArtworkProfileListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StorageInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StorageInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MarketInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MarketInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpArtistInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpArtistInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RandomHashRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RandomHashResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateCopyrightInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateCopyrightInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateTransferInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateTransferInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TransferInfoListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TransferInfoListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateRulerInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateRulerInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAwPriceRunRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAwPriceRunResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateCrHashByTfnumRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateCrHashByTfnumResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BitMap); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateVerifyDataReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateVerifyDataResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAuthDataRequest_BitMap); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateStorageRequest_ArtistInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadBatchImgRequest_ImgInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ArtworkDetailResponse_TagsInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpArtistInfoRequest_ArtistInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateAwPriceRunRequest_Info); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pb_artwork_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateCrHashByTfnumRequest_Info); 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_pb_artwork_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   54,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_pb_artwork_proto_goTypes,
		DependencyIndexes: file_pb_artwork_proto_depIdxs,
		MessageInfos:      file_pb_artwork_proto_msgTypes,
	}.Build()
	File_pb_artwork_proto = out.File
	file_pb_artwork_proto_rawDesc = nil
	file_pb_artwork_proto_goTypes = nil
	file_pb_artwork_proto_depIdxs = nil
}
