From 21619f7bf562917272334f1a3fb08a0fbed5caba Mon Sep 17 00:00:00 2001 From: tzwang Date: Sun, 21 May 2023 22:16:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=90=AF=E6=99=BA=E7=AB=A0?= =?UTF-8?q?=E9=B1=BC=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: 11decce9be08d88964e168bfb1a53ae99e0c25f1 --- .../rpc/internal/config/octopusConfig.go | 14 + .../rpc/internal/logic/createdatasetlogic.go | 43 +- .../internal/logic/createmyalgorithmlogic.go | 47 + .../rpc/internal/logic/deletedatasetlogic.go | 47 + .../internal/logic/deletemyalgorithmlogic.go | 47 + .../internal/logic/downloadalgorithmlogic.go | 48 + .../logic/getalgorithmapplylistlogic.go | 50 + .../logic/getalgorithmframeworklistlogic.go | 50 + .../internal/logic/getalgorithmlistlogic.go | 50 + .../rpc/internal/logic/getalgorithmlogic.go | 48 + .../logic/uploadalgorithmconfirmlogic.go | 49 + .../internal/logic/uploadalgorithmlogic.go | 49 + .../internal/logic/uploadimageconfirmlogic.go | 47 + .../rpc/internal/logic/uploadimagelogic.go | 48 + .../rpc/internal/server/octopusserver.go | 62 +- .../PCM-OCTOPUS/rpc/octopus/octopus.pb.go | 4811 +++++++++++++++-- .../rpc/octopus/octopus_grpc.pb.go | 524 +- .../PCM-OCTOPUS/rpc/octopusclient/octopus.go | 185 +- .../PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto | 298 +- 19 files changed, 5860 insertions(+), 657 deletions(-) create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createmyalgorithmlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletedatasetlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletemyalgorithmlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/downloadalgorithmlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmapplylistlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmframeworklistlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmlistlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadalgorithmconfirmlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadalgorithmlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadimageconfirmlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadimagelogic.go diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go index a480e87d..30833e06 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go @@ -20,4 +20,18 @@ type OctopusApi struct { GetMydatasetList string CreateImage string DeleteImage string + + CreateDataSet string + DeleteDataSet string + GetAlgorithmApplyList string + GetAlgorithmFrameworkList string + DeleteMyAlgorithm string + CreateMyAlgorithm string + GetAlgorithmList string + GetAlgorithm string + DownloadAlgorithm string + UploadAlgorithm string + UploadAlgorithmConfirm string + UploadImage string + UploadImageConfirm string } diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createdatasetlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createdatasetlogic.go index 9a47ef34..4c0b0ebf 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createdatasetlogic.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createdatasetlogic.go @@ -1,8 +1,10 @@ package logic import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + "PCM/common/tool" "context" "github.com/zeromicro/go-zero/core/logx" ) @@ -21,28 +23,23 @@ func NewCreateDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Cre } } -func (l *CreateDataSetLogic) CreateDataSet(in *octopus.CreateDataSetReq) (*octopus.CreateDataSetResq, error) { - // todo: add your logic here and delete this line - /* { - // todo: add your logic here and delete this line - var resp octopus.CreateDataSetResq - url := "http://192.168.242.41:8001/openaiserver/v1/datasetmanage/dataset" - reqByte, err := json.Marshal(in) - if err != nil { - return nil, err - } - payload := strings.NewReader(string(reqByte)) - token := common.GetToken() - statusCode, body, err := tool.HttpClientWithBodyAndCode(tool.POST, url, payload, token) - if err != nil { - return nil, err - } - if statusCode == 200 { - json.Unmarshal(body, &resp) - } else if statusCode == 400 { - json.Unmarshal(body, &resp) - } +func (l *CreateDataSetLogic) CreateDataSet(in *octopus.CreateDataSetReq) (*octopus.CreateDataSetResp, error) { + resp := &octopus.CreateDataSetResp{} - }*/ - return &octopus.CreateDataSetResq{}, nil + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateDataSet + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetBody(in.CreateDataSet). + SetResult(resp). + Post(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil } diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createmyalgorithmlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createmyalgorithmlogic.go new file mode 100644 index 00000000..3afb5863 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createmyalgorithmlogic.go @@ -0,0 +1,47 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateMyAlgorithmLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateMyAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateMyAlgorithmLogic { + return &CreateMyAlgorithmLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *CreateMyAlgorithmLogic) CreateMyAlgorithm(in *octopus.CreateMyAlgorithmReq) (*octopus.CreateMyAlgorithmResp, error) { + resp := &octopus.CreateMyAlgorithmResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateMyAlgorithm + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetBody(in.CreateMyAlgorithm). + SetResult(resp). + Post(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletedatasetlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletedatasetlogic.go new file mode 100644 index 00000000..c8d135cb --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletedatasetlogic.go @@ -0,0 +1,47 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteDataSetLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteDataSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteDataSetLogic { + return &DeleteDataSetLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteDataSetLogic) DeleteDataSet(in *octopus.DeleteDataSetReq) (*octopus.DeleteDataSetResp, error) { + resp := &octopus.DeleteDataSetResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteDataSet + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("id", in.Id). + SetResult(resp). + Delete(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletemyalgorithmlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletemyalgorithmlogic.go new file mode 100644 index 00000000..5b528960 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletemyalgorithmlogic.go @@ -0,0 +1,47 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteMyAlgorithmLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteMyAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteMyAlgorithmLogic { + return &DeleteMyAlgorithmLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteMyAlgorithmLogic) DeleteMyAlgorithm(in *octopus.DeleteMyAlgorithmReq) (*octopus.DeleteMyAlgorithmResp, error) { + resp := &octopus.DeleteMyAlgorithmResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteMyAlgorithm + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("algorithmId", in.AlgorithmId). + SetResult(resp). + Delete(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/downloadalgorithmlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/downloadalgorithmlogic.go new file mode 100644 index 00000000..183d3aea --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/downloadalgorithmlogic.go @@ -0,0 +1,48 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DownloadAlgorithmLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDownloadAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DownloadAlgorithmLogic { + return &DownloadAlgorithmLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DownloadAlgorithmLogic) DownloadAlgorithm(in *octopus.DownloadAlgorithmReq) (*octopus.DownloadAlgorithmResp, error) { + resp := &octopus.DownloadAlgorithmResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DownloadAlgorithm + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("algorithmId", in.AlgorithmId). + SetPathParam("version", in.Version). + SetResult(resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmapplylistlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmapplylistlogic.go new file mode 100644 index 00000000..14e99329 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmapplylistlogic.go @@ -0,0 +1,50 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + "strconv" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type GetAlgorithmApplyListLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewGetAlgorithmApplyListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmApplyListLogic { + return &GetAlgorithmApplyListLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *GetAlgorithmApplyListLogic) GetAlgorithmApplyList(in *octopus.GetAlgorithmApplyListReq) (*octopus.GetAlgorithmApplyListResp, error) { + resp := &octopus.GetAlgorithmApplyListResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithmApplyList + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))). + SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))). + SetResult(resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmframeworklistlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmframeworklistlogic.go new file mode 100644 index 00000000..0b661edb --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmframeworklistlogic.go @@ -0,0 +1,50 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + "strconv" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type GetAlgorithmFrameworkListLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewGetAlgorithmFrameworkListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmFrameworkListLogic { + return &GetAlgorithmFrameworkListLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *GetAlgorithmFrameworkListLogic) GetAlgorithmFrameworkList(in *octopus.GetAlgorithmFrameworkListReq) (*octopus.GetAlgorithmFrameworkListResp, error) { + resp := &octopus.GetAlgorithmFrameworkListResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithmFrameworkList + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))). + SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))). + SetResult(resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmlistlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmlistlogic.go new file mode 100644 index 00000000..c79b1c4e --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmlistlogic.go @@ -0,0 +1,50 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + "strconv" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type GetAlgorithmListLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewGetAlgorithmListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmListLogic { + return &GetAlgorithmListLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *GetAlgorithmListLogic) GetAlgorithmList(in *octopus.GetAlgorithmListReq) (*octopus.GetAlgorithmListResp, error) { + resp := &octopus.GetAlgorithmListResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithmList + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))). + SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))). + SetResult(resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmlogic.go new file mode 100644 index 00000000..3da691fe --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getalgorithmlogic.go @@ -0,0 +1,48 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type GetAlgorithmLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewGetAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetAlgorithmLogic { + return &GetAlgorithmLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *GetAlgorithmLogic) GetAlgorithm(in *octopus.GetAlgorithmReq) (*octopus.GetAlgorithmResp, error) { + resp := &octopus.GetAlgorithmResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetAlgorithm + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("algorithmId", in.AlgorithmId). + SetPathParam("version", in.Version). + SetResult(resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadalgorithmconfirmlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadalgorithmconfirmlogic.go new file mode 100644 index 00000000..1d72f656 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadalgorithmconfirmlogic.go @@ -0,0 +1,49 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UploadAlgorithmConfirmLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUploadAlgorithmConfirmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UploadAlgorithmConfirmLogic { + return &UploadAlgorithmConfirmLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UploadAlgorithmConfirmLogic) UploadAlgorithmConfirm(in *octopus.UploadAlgorithmConfirmReq) (*octopus.UploadAlgorithmConfirmResp, error) { + resp := &octopus.UploadAlgorithmConfirmResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.UploadAlgorithmConfirm + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("algorithmId", in.AlgorithmId). + SetPathParam("version", in.Version). + SetBody(in.FileName). + SetResult(resp). + Put(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadalgorithmlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadalgorithmlogic.go new file mode 100644 index 00000000..d05266d2 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadalgorithmlogic.go @@ -0,0 +1,49 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UploadAlgorithmLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUploadAlgorithmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UploadAlgorithmLogic { + return &UploadAlgorithmLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UploadAlgorithmLogic) UploadAlgorithm(in *octopus.UploadAlgorithmReq) (*octopus.UploadAlgorithmResp, error) { + resp := &octopus.UploadAlgorithmResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.UploadAlgorithm + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("algorithmId", in.AlgorithmId). + SetPathParam("version", in.Version). + SetBody(in.UploadAlgorithmParam). + SetResult(resp). + Post(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadimageconfirmlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadimageconfirmlogic.go new file mode 100644 index 00000000..18cd099f --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadimageconfirmlogic.go @@ -0,0 +1,47 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UploadImageConfirmLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUploadImageConfirmLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UploadImageConfirmLogic { + return &UploadImageConfirmLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UploadImageConfirmLogic) UploadImageConfirm(in *octopus.UploadImageConfirmReq) (*octopus.UploadImageConfirmResp, error) { + resp := &octopus.UploadImageConfirmResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.UploadImageConfirm + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("imageId", in.ImageId). + SetResult(resp). + Put(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadimagelogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadimagelogic.go new file mode 100644 index 00000000..691df369 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/uploadimagelogic.go @@ -0,0 +1,48 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type UploadImageLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewUploadImageLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UploadImageLogic { + return &UploadImageLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *UploadImageLogic) UploadImage(in *octopus.UploadImageReq) (*octopus.UploadImageResp, error) { + resp := &octopus.UploadImageResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.UploadImage + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("imageId", in.ImageId). + SetBody(in.UploadImageParam). + SetResult(resp). + Post(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go index e7a0d809..e234a361 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go @@ -38,17 +38,67 @@ func (s *OctopusServer) GetMyAlgorithmList(ctx context.Context, in *octopus.GetM return l.GetMyAlgorithmList(in) } +func (s *OctopusServer) GetAlgorithmList(ctx context.Context, in *octopus.GetAlgorithmListReq) (*octopus.GetAlgorithmListResp, error) { + l := logic.NewGetAlgorithmListLogic(ctx, s.svcCtx) + return l.GetAlgorithmList(in) +} + +func (s *OctopusServer) GetAlgorithm(ctx context.Context, in *octopus.GetAlgorithmReq) (*octopus.GetAlgorithmResp, error) { + l := logic.NewGetAlgorithmLogic(ctx, s.svcCtx) + return l.GetAlgorithm(in) +} + +func (s *OctopusServer) GetAlgorithmApplyList(ctx context.Context, in *octopus.GetAlgorithmApplyListReq) (*octopus.GetAlgorithmApplyListResp, error) { + l := logic.NewGetAlgorithmApplyListLogic(ctx, s.svcCtx) + return l.GetAlgorithmApplyList(in) +} + +func (s *OctopusServer) GetAlgorithmFrameworkList(ctx context.Context, in *octopus.GetAlgorithmFrameworkListReq) (*octopus.GetAlgorithmFrameworkListResp, error) { + l := logic.NewGetAlgorithmFrameworkListLogic(ctx, s.svcCtx) + return l.GetAlgorithmFrameworkList(in) +} + +func (s *OctopusServer) DeleteMyAlgorithm(ctx context.Context, in *octopus.DeleteMyAlgorithmReq) (*octopus.DeleteMyAlgorithmResp, error) { + l := logic.NewDeleteMyAlgorithmLogic(ctx, s.svcCtx) + return l.DeleteMyAlgorithm(in) +} + +func (s *OctopusServer) CreateMyAlgorithm(ctx context.Context, in *octopus.CreateMyAlgorithmReq) (*octopus.CreateMyAlgorithmResp, error) { + l := logic.NewCreateMyAlgorithmLogic(ctx, s.svcCtx) + return l.CreateMyAlgorithm(in) +} + +func (s *OctopusServer) DownloadAlgorithm(ctx context.Context, in *octopus.DownloadAlgorithmReq) (*octopus.DownloadAlgorithmResp, error) { + l := logic.NewDownloadAlgorithmLogic(ctx, s.svcCtx) + return l.DownloadAlgorithm(in) +} + +func (s *OctopusServer) UploadAlgorithm(ctx context.Context, in *octopus.UploadAlgorithmReq) (*octopus.UploadAlgorithmResp, error) { + l := logic.NewUploadAlgorithmLogic(ctx, s.svcCtx) + return l.UploadAlgorithm(in) +} + +func (s *OctopusServer) UploadAlgorithmConfirm(ctx context.Context, in *octopus.UploadAlgorithmConfirmReq) (*octopus.UploadAlgorithmConfirmResp, error) { + l := logic.NewUploadAlgorithmConfirmLogic(ctx, s.svcCtx) + return l.UploadAlgorithmConfirm(in) +} + // DatasetService func (s *OctopusServer) GetMyDatasetList(ctx context.Context, in *octopus.GetMyDatasetListReq) (*octopus.GetMyDatasetListResp, error) { l := logic.NewGetMyDatasetListLogic(ctx, s.svcCtx) return l.GetMyDatasetList(in) } -func (s *OctopusServer) CreateDataSet(ctx context.Context, in *octopus.CreateDataSetReq) (*octopus.CreateDataSetResq, error) { +func (s *OctopusServer) CreateDataSet(ctx context.Context, in *octopus.CreateDataSetReq) (*octopus.CreateDataSetResp, error) { l := logic.NewCreateDataSetLogic(ctx, s.svcCtx) return l.CreateDataSet(in) } +func (s *OctopusServer) DeleteDataSet(ctx context.Context, in *octopus.DeleteDataSetReq) (*octopus.DeleteDataSetResp, error) { + l := logic.NewDeleteDataSetLogic(ctx, s.svcCtx) + return l.DeleteDataSet(in) +} + // ModelDeployService func (s *OctopusServer) GetNotebookList(ctx context.Context, in *octopus.GetNotebookListReq) (*octopus.GetNotebookListResp, error) { l := logic.NewGetNotebookListLogic(ctx, s.svcCtx) @@ -70,3 +120,13 @@ func (s *OctopusServer) DeleteImage(ctx context.Context, in *octopus.DeleteImage l := logic.NewDeleteImageLogic(ctx, s.svcCtx) return l.DeleteImage(in) } + +func (s *OctopusServer) UploadImage(ctx context.Context, in *octopus.UploadImageReq) (*octopus.UploadImageResp, error) { + l := logic.NewUploadImageLogic(ctx, s.svcCtx) + return l.UploadImage(in) +} + +func (s *OctopusServer) UploadImageConfirm(ctx context.Context, in *octopus.UploadImageConfirmReq) (*octopus.UploadImageConfirmResp, error) { + l := logic.NewUploadImageConfirmLogic(ctx, s.svcCtx) + return l.UploadImageConfirm(in) +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go index 9e28d6ca..e5769c97 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.30.0 // protoc v3.19.4 // source: octopus.proto @@ -160,19 +160,19 @@ func (x *GiResp) GetMemoryInGib() int32 { return 0 } -type CreateDataSetReq struct { +//*****************Algorithm Start************************ +type GetAlgorithmReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ApplyIds []string `protobuf:"bytes,1,rep,name=applyIds,proto3" json:"applyIds,omitempty"` // @gotags: copier:"ApplyIds" - Desc string `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"` // @gotags: copier:"Desc" - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" - TypeId string `protobuf:"bytes,4,opt,name=typeId,proto3" json:"typeId,omitempty"` // @gotags: copier:"TypeId" + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` } -func (x *CreateDataSetReq) Reset() { - *x = CreateDataSetReq{} +func (x *GetAlgorithmReq) Reset() { + *x = GetAlgorithmReq{} if protoimpl.UnsafeEnabled { mi := &file_octopus_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -180,13 +180,13 @@ func (x *CreateDataSetReq) Reset() { } } -func (x *CreateDataSetReq) String() string { +func (x *GetAlgorithmReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateDataSetReq) ProtoMessage() {} +func (*GetAlgorithmReq) ProtoMessage() {} -func (x *CreateDataSetReq) ProtoReflect() protoreflect.Message { +func (x *GetAlgorithmReq) ProtoReflect() protoreflect.Message { mi := &file_octopus_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -198,50 +198,44 @@ func (x *CreateDataSetReq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateDataSetReq.ProtoReflect.Descriptor instead. -func (*CreateDataSetReq) Descriptor() ([]byte, []int) { +// Deprecated: Use GetAlgorithmReq.ProtoReflect.Descriptor instead. +func (*GetAlgorithmReq) Descriptor() ([]byte, []int) { return file_octopus_proto_rawDescGZIP(), []int{3} } -func (x *CreateDataSetReq) GetApplyIds() []string { +func (x *GetAlgorithmReq) GetPlatform() string { if x != nil { - return x.ApplyIds - } - return nil -} - -func (x *CreateDataSetReq) GetDesc() string { - if x != nil { - return x.Desc + return x.Platform } return "" } -func (x *CreateDataSetReq) GetName() string { +func (x *GetAlgorithmReq) GetAlgorithmId() string { if x != nil { - return x.Name + return x.AlgorithmId } return "" } -func (x *CreateDataSetReq) GetTypeId() string { +func (x *GetAlgorithmReq) GetVersion() string { if x != nil { - return x.TypeId + return x.Version } return "" } -type CreateDataSetResq struct { +type GetAlgorithmResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" - Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // @gotags: copier:"Version" + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadGetAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` } -func (x *CreateDataSetResq) Reset() { - *x = CreateDataSetResq{} +func (x *GetAlgorithmResp) Reset() { + *x = GetAlgorithmResp{} if protoimpl.UnsafeEnabled { mi := &file_octopus_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -249,13 +243,13 @@ func (x *CreateDataSetResq) Reset() { } } -func (x *CreateDataSetResq) String() string { +func (x *GetAlgorithmResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateDataSetResq) ProtoMessage() {} +func (*GetAlgorithmResp) ProtoMessage() {} -func (x *CreateDataSetResq) ProtoReflect() protoreflect.Message { +func (x *GetAlgorithmResp) ProtoReflect() protoreflect.Message { mi := &file_octopus_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -267,26 +261,976 @@ func (x *CreateDataSetResq) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateDataSetResq.ProtoReflect.Descriptor instead. -func (*CreateDataSetResq) Descriptor() ([]byte, []int) { +// Deprecated: Use GetAlgorithmResp.ProtoReflect.Descriptor instead. +func (*GetAlgorithmResp) Descriptor() ([]byte, []int) { return file_octopus_proto_rawDescGZIP(), []int{4} } -func (x *CreateDataSetResq) GetId() string { +func (x *GetAlgorithmResp) GetSuccess() bool { if x != nil { - return x.Id + return x.Success + } + return false +} + +func (x *GetAlgorithmResp) GetPayload() *PayloadGetAlgorithm { + if x != nil { + return x.Payload + } + return nil +} + +func (x *GetAlgorithmResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadGetAlgorithm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Algorithm *Algorithms `protobuf:"bytes,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"` + VersionAccesses []*VersionAccesses `protobuf:"bytes,2,rep,name=versionAccesses,proto3" json:"versionAccesses,omitempty"` +} + +func (x *PayloadGetAlgorithm) Reset() { + *x = PayloadGetAlgorithm{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadGetAlgorithm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadGetAlgorithm) ProtoMessage() {} + +func (x *PayloadGetAlgorithm) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadGetAlgorithm.ProtoReflect.Descriptor instead. +func (*PayloadGetAlgorithm) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{5} +} + +func (x *PayloadGetAlgorithm) GetAlgorithm() *Algorithms { + if x != nil { + return x.Algorithm + } + return nil +} + +func (x *PayloadGetAlgorithm) GetVersionAccesses() []*VersionAccesses { + if x != nil { + return x.VersionAccesses + } + return nil +} + +type VersionAccesses struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AlgorithmId string `protobuf:"bytes,1,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"` + SpaceId string `protobuf:"bytes,2,opt,name=spaceId,proto3" json:"spaceId,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *VersionAccesses) Reset() { + *x = VersionAccesses{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VersionAccesses) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionAccesses) ProtoMessage() {} + +func (x *VersionAccesses) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 VersionAccesses.ProtoReflect.Descriptor instead. +func (*VersionAccesses) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{6} +} + +func (x *VersionAccesses) GetAlgorithmId() string { + if x != nil { + return x.AlgorithmId } return "" } -func (x *CreateDataSetResq) GetVersion() string { +func (x *VersionAccesses) GetSpaceId() string { + if x != nil { + return x.SpaceId + } + return "" +} + +func (x *VersionAccesses) GetVersion() string { if x != nil { return x.Version } return "" } -// *****************Algorithm Start************************ +type DownloadAlgorithmReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *DownloadAlgorithmReq) Reset() { + *x = DownloadAlgorithmReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DownloadAlgorithmReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DownloadAlgorithmReq) ProtoMessage() {} + +func (x *DownloadAlgorithmReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 DownloadAlgorithmReq.ProtoReflect.Descriptor instead. +func (*DownloadAlgorithmReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{7} +} + +func (x *DownloadAlgorithmReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *DownloadAlgorithmReq) GetAlgorithmId() string { + if x != nil { + return x.AlgorithmId + } + return "" +} + +func (x *DownloadAlgorithmReq) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type DownloadAlgorithmResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadDownloadAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *DownloadAlgorithmResp) Reset() { + *x = DownloadAlgorithmResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DownloadAlgorithmResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DownloadAlgorithmResp) ProtoMessage() {} + +func (x *DownloadAlgorithmResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 DownloadAlgorithmResp.ProtoReflect.Descriptor instead. +func (*DownloadAlgorithmResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{8} +} + +func (x *DownloadAlgorithmResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *DownloadAlgorithmResp) GetPayload() *PayloadDownloadAlgorithm { + if x != nil { + return x.Payload + } + return nil +} + +func (x *DownloadAlgorithmResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadDownloadAlgorithm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DownloadUrl string `protobuf:"bytes,1,opt,name=downloadUrl,proto3" json:"downloadUrl,omitempty"` +} + +func (x *PayloadDownloadAlgorithm) Reset() { + *x = PayloadDownloadAlgorithm{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadDownloadAlgorithm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadDownloadAlgorithm) ProtoMessage() {} + +func (x *PayloadDownloadAlgorithm) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadDownloadAlgorithm.ProtoReflect.Descriptor instead. +func (*PayloadDownloadAlgorithm) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{9} +} + +func (x *PayloadDownloadAlgorithm) GetDownloadUrl() string { + if x != nil { + return x.DownloadUrl + } + return "" +} + +type UploadAlgorithmReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + UploadAlgorithmParam *UploadAlgorithmParam `protobuf:"bytes,4,opt,name=uploadAlgorithmParam,proto3" json:"uploadAlgorithmParam,omitempty"` +} + +func (x *UploadAlgorithmReq) Reset() { + *x = UploadAlgorithmReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadAlgorithmReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadAlgorithmReq) ProtoMessage() {} + +func (x *UploadAlgorithmReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 UploadAlgorithmReq.ProtoReflect.Descriptor instead. +func (*UploadAlgorithmReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{10} +} + +func (x *UploadAlgorithmReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *UploadAlgorithmReq) GetAlgorithmId() string { + if x != nil { + return x.AlgorithmId + } + return "" +} + +func (x *UploadAlgorithmReq) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *UploadAlgorithmReq) GetUploadAlgorithmParam() *UploadAlgorithmParam { + if x != nil { + return x.UploadAlgorithmParam + } + return nil +} + +type UploadAlgorithmParam struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName,omitempty"` +} + +func (x *UploadAlgorithmParam) Reset() { + *x = UploadAlgorithmParam{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadAlgorithmParam) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadAlgorithmParam) ProtoMessage() {} + +func (x *UploadAlgorithmParam) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 UploadAlgorithmParam.ProtoReflect.Descriptor instead. +func (*UploadAlgorithmParam) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{11} +} + +func (x *UploadAlgorithmParam) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UploadAlgorithmParam) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +type UploadAlgorithmResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadUploadAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *UploadAlgorithmResp) Reset() { + *x = UploadAlgorithmResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadAlgorithmResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadAlgorithmResp) ProtoMessage() {} + +func (x *UploadAlgorithmResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 UploadAlgorithmResp.ProtoReflect.Descriptor instead. +func (*UploadAlgorithmResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{12} +} + +func (x *UploadAlgorithmResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *UploadAlgorithmResp) GetPayload() *PayloadUploadAlgorithm { + if x != nil { + return x.Payload + } + return nil +} + +func (x *UploadAlgorithmResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadUploadAlgorithm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UploadUrl string `protobuf:"bytes,1,opt,name=uploadUrl,proto3" json:"uploadUrl,omitempty"` +} + +func (x *PayloadUploadAlgorithm) Reset() { + *x = PayloadUploadAlgorithm{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadUploadAlgorithm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadUploadAlgorithm) ProtoMessage() {} + +func (x *PayloadUploadAlgorithm) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadUploadAlgorithm.ProtoReflect.Descriptor instead. +func (*PayloadUploadAlgorithm) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{13} +} + +func (x *PayloadUploadAlgorithm) GetUploadUrl() string { + if x != nil { + return x.UploadUrl + } + return "" +} + +type UploadAlgorithmConfirmReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + FileName string `protobuf:"bytes,4,opt,name=fileName,proto3" json:"fileName,omitempty"` +} + +func (x *UploadAlgorithmConfirmReq) Reset() { + *x = UploadAlgorithmConfirmReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadAlgorithmConfirmReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadAlgorithmConfirmReq) ProtoMessage() {} + +func (x *UploadAlgorithmConfirmReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 UploadAlgorithmConfirmReq.ProtoReflect.Descriptor instead. +func (*UploadAlgorithmConfirmReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{14} +} + +func (x *UploadAlgorithmConfirmReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *UploadAlgorithmConfirmReq) GetAlgorithmId() string { + if x != nil { + return x.AlgorithmId + } + return "" +} + +func (x *UploadAlgorithmConfirmReq) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *UploadAlgorithmConfirmReq) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +type UploadAlgorithmConfirmResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadUploadAlgorithmConfirm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *UploadAlgorithmConfirmResp) Reset() { + *x = UploadAlgorithmConfirmResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadAlgorithmConfirmResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadAlgorithmConfirmResp) ProtoMessage() {} + +func (x *UploadAlgorithmConfirmResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 UploadAlgorithmConfirmResp.ProtoReflect.Descriptor instead. +func (*UploadAlgorithmConfirmResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{15} +} + +func (x *UploadAlgorithmConfirmResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *UploadAlgorithmConfirmResp) GetPayload() *PayloadUploadAlgorithmConfirm { + if x != nil { + return x.Payload + } + return nil +} + +func (x *UploadAlgorithmConfirmResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadUploadAlgorithmConfirm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UpdatedAt int64 `protobuf:"varint,1,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` +} + +func (x *PayloadUploadAlgorithmConfirm) Reset() { + *x = PayloadUploadAlgorithmConfirm{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadUploadAlgorithmConfirm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadUploadAlgorithmConfirm) ProtoMessage() {} + +func (x *PayloadUploadAlgorithmConfirm) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadUploadAlgorithmConfirm.ProtoReflect.Descriptor instead. +func (*PayloadUploadAlgorithmConfirm) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{16} +} + +func (x *PayloadUploadAlgorithmConfirm) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +type GetAlgorithmListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + PageIndex int32 `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *GetAlgorithmListReq) Reset() { + *x = GetAlgorithmListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAlgorithmListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAlgorithmListReq) ProtoMessage() {} + +func (x *GetAlgorithmListReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetAlgorithmListReq.ProtoReflect.Descriptor instead. +func (*GetAlgorithmListReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{17} +} + +func (x *GetAlgorithmListReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetAlgorithmListReq) GetPageIndex() int32 { + if x != nil { + return x.PageIndex + } + return 0 +} + +func (x *GetAlgorithmListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type GetAlgorithmListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadAlgorithmList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *GetAlgorithmListResp) Reset() { + *x = GetAlgorithmListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAlgorithmListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAlgorithmListResp) ProtoMessage() {} + +func (x *GetAlgorithmListResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetAlgorithmListResp.ProtoReflect.Descriptor instead. +func (*GetAlgorithmListResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{18} +} + +func (x *GetAlgorithmListResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetAlgorithmListResp) GetPayload() *PayloadAlgorithmList { + if x != nil { + return x.Payload + } + return nil +} + +func (x *GetAlgorithmListResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadAlgorithmList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalSize int32 `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"` + Algorithms []*AlgorithmDetail `protobuf:"bytes,2,rep,name=algorithms,proto3" json:"algorithms,omitempty"` +} + +func (x *PayloadAlgorithmList) Reset() { + *x = PayloadAlgorithmList{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadAlgorithmList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadAlgorithmList) ProtoMessage() {} + +func (x *PayloadAlgorithmList) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadAlgorithmList.ProtoReflect.Descriptor instead. +func (*PayloadAlgorithmList) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{19} +} + +func (x *PayloadAlgorithmList) GetTotalSize() int32 { + if x != nil { + return x.TotalSize + } + return 0 +} + +func (x *PayloadAlgorithmList) GetAlgorithms() []*AlgorithmDetail { + if x != nil { + return x.Algorithms + } + return nil +} + +type AlgorithmDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AlgorithmDetail *Algorithms `protobuf:"bytes,1,opt,name=algorithmDetail,proto3" json:"algorithmDetail,omitempty"` + IsShared bool `protobuf:"varint,2,opt,name=isShared,proto3" json:"isShared,omitempty"` +} + +func (x *AlgorithmDetail) Reset() { + *x = AlgorithmDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlgorithmDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlgorithmDetail) ProtoMessage() {} + +func (x *AlgorithmDetail) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 AlgorithmDetail.ProtoReflect.Descriptor instead. +func (*AlgorithmDetail) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{20} +} + +func (x *AlgorithmDetail) GetAlgorithmDetail() *Algorithms { + if x != nil { + return x.AlgorithmDetail + } + return nil +} + +func (x *AlgorithmDetail) GetIsShared() bool { + if x != nil { + return x.IsShared + } + return false +} + type GetMyAlgorithmListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -300,7 +1244,7 @@ type GetMyAlgorithmListReq struct { func (x *GetMyAlgorithmListReq) Reset() { *x = GetMyAlgorithmListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[5] + mi := &file_octopus_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -313,7 +1257,7 @@ func (x *GetMyAlgorithmListReq) String() string { func (*GetMyAlgorithmListReq) ProtoMessage() {} func (x *GetMyAlgorithmListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[5] + mi := &file_octopus_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -326,7 +1270,7 @@ func (x *GetMyAlgorithmListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyAlgorithmListReq.ProtoReflect.Descriptor instead. func (*GetMyAlgorithmListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{5} + return file_octopus_proto_rawDescGZIP(), []int{21} } func (x *GetMyAlgorithmListReq) GetPlatform() string { @@ -363,7 +1307,7 @@ type GetMyAlgorithmListResp struct { func (x *GetMyAlgorithmListResp) Reset() { *x = GetMyAlgorithmListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[6] + mi := &file_octopus_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -376,7 +1320,7 @@ func (x *GetMyAlgorithmListResp) String() string { func (*GetMyAlgorithmListResp) ProtoMessage() {} func (x *GetMyAlgorithmListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[6] + mi := &file_octopus_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -389,7 +1333,7 @@ func (x *GetMyAlgorithmListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyAlgorithmListResp.ProtoReflect.Descriptor instead. func (*GetMyAlgorithmListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{6} + return file_octopus_proto_rawDescGZIP(), []int{22} } func (x *GetMyAlgorithmListResp) GetSuccess() bool { @@ -425,7 +1369,7 @@ type PayloadMyAlgorithmList struct { func (x *PayloadMyAlgorithmList) Reset() { *x = PayloadMyAlgorithmList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[7] + mi := &file_octopus_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -438,7 +1382,7 @@ func (x *PayloadMyAlgorithmList) String() string { func (*PayloadMyAlgorithmList) ProtoMessage() {} func (x *PayloadMyAlgorithmList) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[7] + mi := &file_octopus_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -451,7 +1395,7 @@ func (x *PayloadMyAlgorithmList) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadMyAlgorithmList.ProtoReflect.Descriptor instead. func (*PayloadMyAlgorithmList) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{7} + return file_octopus_proto_rawDescGZIP(), []int{23} } func (x *PayloadMyAlgorithmList) GetTotalSize() int32 { @@ -496,7 +1440,7 @@ type Algorithms struct { func (x *Algorithms) Reset() { *x = Algorithms{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[8] + mi := &file_octopus_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -509,7 +1453,7 @@ func (x *Algorithms) String() string { func (*Algorithms) ProtoMessage() {} func (x *Algorithms) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[8] + mi := &file_octopus_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -522,7 +1466,7 @@ func (x *Algorithms) ProtoReflect() protoreflect.Message { // Deprecated: Use Algorithms.ProtoReflect.Descriptor instead. func (*Algorithms) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{8} + return file_octopus_proto_rawDescGZIP(), []int{24} } func (x *Algorithms) GetAlgorithmId() string { @@ -651,7 +1595,1109 @@ func (x *Algorithms) GetFrameworkName() string { return "" } -// *****************DatasetService Start************************ +type GetAlgorithmApplyListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + PageIndex int32 `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *GetAlgorithmApplyListReq) Reset() { + *x = GetAlgorithmApplyListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAlgorithmApplyListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAlgorithmApplyListReq) ProtoMessage() {} + +func (x *GetAlgorithmApplyListReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetAlgorithmApplyListReq.ProtoReflect.Descriptor instead. +func (*GetAlgorithmApplyListReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{25} +} + +func (x *GetAlgorithmApplyListReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetAlgorithmApplyListReq) GetPageIndex() int32 { + if x != nil { + return x.PageIndex + } + return 0 +} + +func (x *GetAlgorithmApplyListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type GetAlgorithmApplyListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadGetAlgorithmApplyList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *GetAlgorithmApplyListResp) Reset() { + *x = GetAlgorithmApplyListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAlgorithmApplyListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAlgorithmApplyListResp) ProtoMessage() {} + +func (x *GetAlgorithmApplyListResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetAlgorithmApplyListResp.ProtoReflect.Descriptor instead. +func (*GetAlgorithmApplyListResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{26} +} + +func (x *GetAlgorithmApplyListResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetAlgorithmApplyListResp) GetPayload() *PayloadGetAlgorithmApplyList { + if x != nil { + return x.Payload + } + return nil +} + +func (x *GetAlgorithmApplyListResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadGetAlgorithmApplyList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalSize int32 `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"` + Lables []*Lables `protobuf:"bytes,2,rep,name=lables,proto3" json:"lables,omitempty"` +} + +func (x *PayloadGetAlgorithmApplyList) Reset() { + *x = PayloadGetAlgorithmApplyList{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadGetAlgorithmApplyList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadGetAlgorithmApplyList) ProtoMessage() {} + +func (x *PayloadGetAlgorithmApplyList) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadGetAlgorithmApplyList.ProtoReflect.Descriptor instead. +func (*PayloadGetAlgorithmApplyList) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{27} +} + +func (x *PayloadGetAlgorithmApplyList) GetTotalSize() int32 { + if x != nil { + return x.TotalSize + } + return 0 +} + +func (x *PayloadGetAlgorithmApplyList) GetLables() []*Lables { + if x != nil { + return x.Lables + } + return nil +} + +type GetAlgorithmFrameworkListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + PageIndex int32 `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *GetAlgorithmFrameworkListReq) Reset() { + *x = GetAlgorithmFrameworkListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAlgorithmFrameworkListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAlgorithmFrameworkListReq) ProtoMessage() {} + +func (x *GetAlgorithmFrameworkListReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetAlgorithmFrameworkListReq.ProtoReflect.Descriptor instead. +func (*GetAlgorithmFrameworkListReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{28} +} + +func (x *GetAlgorithmFrameworkListReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetAlgorithmFrameworkListReq) GetPageIndex() int32 { + if x != nil { + return x.PageIndex + } + return 0 +} + +func (x *GetAlgorithmFrameworkListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type GetAlgorithmFrameworkListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadAlgorithmFrameworkList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *GetAlgorithmFrameworkListResp) Reset() { + *x = GetAlgorithmFrameworkListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAlgorithmFrameworkListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAlgorithmFrameworkListResp) ProtoMessage() {} + +func (x *GetAlgorithmFrameworkListResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 GetAlgorithmFrameworkListResp.ProtoReflect.Descriptor instead. +func (*GetAlgorithmFrameworkListResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{29} +} + +func (x *GetAlgorithmFrameworkListResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetAlgorithmFrameworkListResp) GetPayload() *PayloadAlgorithmFrameworkList { + if x != nil { + return x.Payload + } + return nil +} + +func (x *GetAlgorithmFrameworkListResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadAlgorithmFrameworkList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalSize int32 `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"` + Lables []*Lables `protobuf:"bytes,2,rep,name=lables,proto3" json:"lables,omitempty"` +} + +func (x *PayloadAlgorithmFrameworkList) Reset() { + *x = PayloadAlgorithmFrameworkList{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadAlgorithmFrameworkList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadAlgorithmFrameworkList) ProtoMessage() {} + +func (x *PayloadAlgorithmFrameworkList) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadAlgorithmFrameworkList.ProtoReflect.Descriptor instead. +func (*PayloadAlgorithmFrameworkList) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{30} +} + +func (x *PayloadAlgorithmFrameworkList) GetTotalSize() int32 { + if x != nil { + return x.TotalSize + } + return 0 +} + +func (x *PayloadAlgorithmFrameworkList) GetLables() []*Lables { + if x != nil { + return x.Lables + } + return nil +} + +type Lables struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + LableDesc string `protobuf:"bytes,2,opt,name=lableDesc,proto3" json:"lableDesc,omitempty"` + SourceType int32 `protobuf:"varint,3,opt,name=sourceType,proto3" json:"sourceType,omitempty"` +} + +func (x *Lables) Reset() { + *x = Lables{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Lables) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Lables) ProtoMessage() {} + +func (x *Lables) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 Lables.ProtoReflect.Descriptor instead. +func (*Lables) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{31} +} + +func (x *Lables) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Lables) GetLableDesc() string { + if x != nil { + return x.LableDesc + } + return "" +} + +func (x *Lables) GetSourceType() int32 { + if x != nil { + return x.SourceType + } + return 0 +} + +type DeleteMyAlgorithmReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"` +} + +func (x *DeleteMyAlgorithmReq) Reset() { + *x = DeleteMyAlgorithmReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMyAlgorithmReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMyAlgorithmReq) ProtoMessage() {} + +func (x *DeleteMyAlgorithmReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 DeleteMyAlgorithmReq.ProtoReflect.Descriptor instead. +func (*DeleteMyAlgorithmReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{32} +} + +func (x *DeleteMyAlgorithmReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *DeleteMyAlgorithmReq) GetAlgorithmId() string { + if x != nil { + return x.AlgorithmId + } + return "" +} + +type DeleteMyAlgorithmResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadDeleteMyAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *DeleteMyAlgorithmResp) Reset() { + *x = DeleteMyAlgorithmResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMyAlgorithmResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMyAlgorithmResp) ProtoMessage() {} + +func (x *DeleteMyAlgorithmResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 DeleteMyAlgorithmResp.ProtoReflect.Descriptor instead. +func (*DeleteMyAlgorithmResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{33} +} + +func (x *DeleteMyAlgorithmResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *DeleteMyAlgorithmResp) GetPayload() *PayloadDeleteMyAlgorithm { + if x != nil { + return x.Payload + } + return nil +} + +func (x *DeleteMyAlgorithmResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadDeleteMyAlgorithm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` +} + +func (x *PayloadDeleteMyAlgorithm) Reset() { + *x = PayloadDeleteMyAlgorithm{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadDeleteMyAlgorithm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadDeleteMyAlgorithm) ProtoMessage() {} + +func (x *PayloadDeleteMyAlgorithm) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadDeleteMyAlgorithm.ProtoReflect.Descriptor instead. +func (*PayloadDeleteMyAlgorithm) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{34} +} + +func (x *PayloadDeleteMyAlgorithm) GetDeletedAt() int64 { + if x != nil { + return x.DeletedAt + } + return 0 +} + +type CreateMyAlgorithmReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + CreateMyAlgorithm *CreateMyAlgorithm `protobuf:"bytes,2,opt,name=createMyAlgorithm,proto3" json:"createMyAlgorithm,omitempty"` +} + +func (x *CreateMyAlgorithmReq) Reset() { + *x = CreateMyAlgorithmReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMyAlgorithmReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMyAlgorithmReq) ProtoMessage() {} + +func (x *CreateMyAlgorithmReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 CreateMyAlgorithmReq.ProtoReflect.Descriptor instead. +func (*CreateMyAlgorithmReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{35} +} + +func (x *CreateMyAlgorithmReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *CreateMyAlgorithmReq) GetCreateMyAlgorithm() *CreateMyAlgorithm { + if x != nil { + return x.CreateMyAlgorithm + } + return nil +} + +type CreateMyAlgorithmResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadCreateMyAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *CreateMyAlgorithmResp) Reset() { + *x = CreateMyAlgorithmResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMyAlgorithmResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMyAlgorithmResp) ProtoMessage() {} + +func (x *CreateMyAlgorithmResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 CreateMyAlgorithmResp.ProtoReflect.Descriptor instead. +func (*CreateMyAlgorithmResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{36} +} + +func (x *CreateMyAlgorithmResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *CreateMyAlgorithmResp) GetPayload() *PayloadCreateMyAlgorithm { + if x != nil { + return x.Payload + } + return nil +} + +func (x *CreateMyAlgorithmResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type CreateMyAlgorithm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AlgorithmDescript string `protobuf:"bytes,1,opt,name=algorithmDescript,proto3" json:"algorithmDescript,omitempty"` + AlgorithmName string `protobuf:"bytes,2,opt,name=algorithmName,proto3" json:"algorithmName,omitempty"` + ApplyId string `protobuf:"bytes,3,opt,name=applyId,proto3" json:"applyId,omitempty"` + FrameworkId string `protobuf:"bytes,4,opt,name=frameworkId,proto3" json:"frameworkId,omitempty"` + IsEmpty string `protobuf:"bytes,5,opt,name=isEmpty,proto3" json:"isEmpty,omitempty"` + ModelName string `protobuf:"bytes,6,opt,name=modelName,proto3" json:"modelName,omitempty"` +} + +func (x *CreateMyAlgorithm) Reset() { + *x = CreateMyAlgorithm{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMyAlgorithm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMyAlgorithm) ProtoMessage() {} + +func (x *CreateMyAlgorithm) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 CreateMyAlgorithm.ProtoReflect.Descriptor instead. +func (*CreateMyAlgorithm) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{37} +} + +func (x *CreateMyAlgorithm) GetAlgorithmDescript() string { + if x != nil { + return x.AlgorithmDescript + } + return "" +} + +func (x *CreateMyAlgorithm) GetAlgorithmName() string { + if x != nil { + return x.AlgorithmName + } + return "" +} + +func (x *CreateMyAlgorithm) GetApplyId() string { + if x != nil { + return x.ApplyId + } + return "" +} + +func (x *CreateMyAlgorithm) GetFrameworkId() string { + if x != nil { + return x.FrameworkId + } + return "" +} + +func (x *CreateMyAlgorithm) GetIsEmpty() string { + if x != nil { + return x.IsEmpty + } + return "" +} + +func (x *CreateMyAlgorithm) GetModelName() string { + if x != nil { + return x.ModelName + } + return "" +} + +type PayloadCreateMyAlgorithm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AlgorithmId string `protobuf:"bytes,1,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"` + CreatedAt int64 `protobuf:"varint,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *PayloadCreateMyAlgorithm) Reset() { + *x = PayloadCreateMyAlgorithm{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadCreateMyAlgorithm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadCreateMyAlgorithm) ProtoMessage() {} + +func (x *PayloadCreateMyAlgorithm) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadCreateMyAlgorithm.ProtoReflect.Descriptor instead. +func (*PayloadCreateMyAlgorithm) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{38} +} + +func (x *PayloadCreateMyAlgorithm) GetAlgorithmId() string { + if x != nil { + return x.AlgorithmId + } + return "" +} + +func (x *PayloadCreateMyAlgorithm) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *PayloadCreateMyAlgorithm) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +//*****************DatasetService Start************************ +type CreateDataSetReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + CreateDataSet *CreateDataSet `protobuf:"bytes,2,opt,name=createDataSet,proto3" json:"createDataSet,omitempty"` +} + +func (x *CreateDataSetReq) Reset() { + *x = CreateDataSetReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDataSetReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDataSetReq) ProtoMessage() {} + +func (x *CreateDataSetReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 CreateDataSetReq.ProtoReflect.Descriptor instead. +func (*CreateDataSetReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{39} +} + +func (x *CreateDataSetReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *CreateDataSetReq) GetCreateDataSet() *CreateDataSet { + if x != nil { + return x.CreateDataSet + } + return nil +} + +type CreateDataSetResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadCreateDataSet `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *CreateDataSetResp) Reset() { + *x = CreateDataSetResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDataSetResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDataSetResp) ProtoMessage() {} + +func (x *CreateDataSetResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 CreateDataSetResp.ProtoReflect.Descriptor instead. +func (*CreateDataSetResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{40} +} + +func (x *CreateDataSetResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *CreateDataSetResp) GetPayload() *PayloadCreateDataSet { + if x != nil { + return x.Payload + } + return nil +} + +func (x *CreateDataSetResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type CreateDataSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApplyIds []string `protobuf:"bytes,1,rep,name=applyIds,proto3" json:"applyIds,omitempty"` + Desc string `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + TypeId string `protobuf:"bytes,4,opt,name=typeId,proto3" json:"typeId,omitempty"` +} + +func (x *CreateDataSet) Reset() { + *x = CreateDataSet{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDataSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDataSet) ProtoMessage() {} + +func (x *CreateDataSet) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 CreateDataSet.ProtoReflect.Descriptor instead. +func (*CreateDataSet) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{41} +} + +func (x *CreateDataSet) GetApplyIds() []string { + if x != nil { + return x.ApplyIds + } + return nil +} + +func (x *CreateDataSet) GetDesc() string { + if x != nil { + return x.Desc + } + return "" +} + +func (x *CreateDataSet) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateDataSet) GetTypeId() string { + if x != nil { + return x.TypeId + } + return "" +} + +type PayloadCreateDataSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *PayloadCreateDataSet) Reset() { + *x = PayloadCreateDataSet{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadCreateDataSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadCreateDataSet) ProtoMessage() {} + +func (x *PayloadCreateDataSet) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadCreateDataSet.ProtoReflect.Descriptor instead. +func (*PayloadCreateDataSet) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{42} +} + +func (x *PayloadCreateDataSet) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PayloadCreateDataSet) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + type GetMyDatasetListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -665,7 +2711,7 @@ type GetMyDatasetListReq struct { func (x *GetMyDatasetListReq) Reset() { *x = GetMyDatasetListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[9] + mi := &file_octopus_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -678,7 +2724,7 @@ func (x *GetMyDatasetListReq) String() string { func (*GetMyDatasetListReq) ProtoMessage() {} func (x *GetMyDatasetListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[9] + mi := &file_octopus_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -691,7 +2737,7 @@ func (x *GetMyDatasetListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyDatasetListReq.ProtoReflect.Descriptor instead. func (*GetMyDatasetListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{9} + return file_octopus_proto_rawDescGZIP(), []int{43} } func (x *GetMyDatasetListReq) GetPlatform() string { @@ -728,7 +2774,7 @@ type GetMyDatasetListResp struct { func (x *GetMyDatasetListResp) Reset() { *x = GetMyDatasetListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[10] + mi := &file_octopus_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -741,7 +2787,7 @@ func (x *GetMyDatasetListResp) String() string { func (*GetMyDatasetListResp) ProtoMessage() {} func (x *GetMyDatasetListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[10] + mi := &file_octopus_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -754,7 +2800,7 @@ func (x *GetMyDatasetListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyDatasetListResp.ProtoReflect.Descriptor instead. func (*GetMyDatasetListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{10} + return file_octopus_proto_rawDescGZIP(), []int{44} } func (x *GetMyDatasetListResp) GetSuccess() bool { @@ -790,7 +2836,7 @@ type PayloadMyDatasetList struct { func (x *PayloadMyDatasetList) Reset() { *x = PayloadMyDatasetList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[11] + mi := &file_octopus_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -803,7 +2849,7 @@ func (x *PayloadMyDatasetList) String() string { func (*PayloadMyDatasetList) ProtoMessage() {} func (x *PayloadMyDatasetList) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[11] + mi := &file_octopus_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -816,7 +2862,7 @@ func (x *PayloadMyDatasetList) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadMyDatasetList.ProtoReflect.Descriptor instead. func (*PayloadMyDatasetList) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{11} + return file_octopus_proto_rawDescGZIP(), []int{45} } func (x *PayloadMyDatasetList) GetTotalSize() int32 { @@ -854,7 +2900,7 @@ type Datasets struct { func (x *Datasets) Reset() { *x = Datasets{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[12] + mi := &file_octopus_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -867,7 +2913,7 @@ func (x *Datasets) String() string { func (*Datasets) ProtoMessage() {} func (x *Datasets) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[12] + mi := &file_octopus_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -880,7 +2926,7 @@ func (x *Datasets) ProtoReflect() protoreflect.Message { // Deprecated: Use Datasets.ProtoReflect.Descriptor instead. func (*Datasets) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{12} + return file_octopus_proto_rawDescGZIP(), []int{46} } func (x *Datasets) GetCreatedAt() int64 { @@ -972,7 +3018,7 @@ type Applies struct { func (x *Applies) Reset() { *x = Applies{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[13] + mi := &file_octopus_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -985,7 +3031,7 @@ func (x *Applies) String() string { func (*Applies) ProtoMessage() {} func (x *Applies) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[13] + mi := &file_octopus_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -998,7 +3044,7 @@ func (x *Applies) ProtoReflect() protoreflect.Message { // Deprecated: Use Applies.ProtoReflect.Descriptor instead. func (*Applies) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{13} + return file_octopus_proto_rawDescGZIP(), []int{47} } func (x *Applies) GetId() string { @@ -1015,7 +3061,172 @@ func (x *Applies) GetDesc() string { return "" } -// *****************Develop Start************************ +type DeleteDataSetReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *DeleteDataSetReq) Reset() { + *x = DeleteDataSetReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteDataSetReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDataSetReq) ProtoMessage() {} + +func (x *DeleteDataSetReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 DeleteDataSetReq.ProtoReflect.Descriptor instead. +func (*DeleteDataSetReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{48} +} + +func (x *DeleteDataSetReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *DeleteDataSetReq) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteDataSetResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadDeleteDataSet `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *DeleteDataSetResp) Reset() { + *x = DeleteDataSetResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteDataSetResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDataSetResp) ProtoMessage() {} + +func (x *DeleteDataSetResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 DeleteDataSetResp.ProtoReflect.Descriptor instead. +func (*DeleteDataSetResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{49} +} + +func (x *DeleteDataSetResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *DeleteDataSetResp) GetPayload() *PayloadDeleteDataSet { + if x != nil { + return x.Payload + } + return nil +} + +func (x *DeleteDataSetResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadDeleteDataSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` +} + +func (x *PayloadDeleteDataSet) Reset() { + *x = PayloadDeleteDataSet{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadDeleteDataSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadDeleteDataSet) ProtoMessage() {} + +func (x *PayloadDeleteDataSet) ProtoReflect() protoreflect.Message { + mi := &file_octopus_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 PayloadDeleteDataSet.ProtoReflect.Descriptor instead. +func (*PayloadDeleteDataSet) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{50} +} + +func (x *PayloadDeleteDataSet) GetDeletedAt() int64 { + if x != nil { + return x.DeletedAt + } + return 0 +} + +//*****************Develop Start************************ type GetNotebookListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1029,7 +3240,7 @@ type GetNotebookListReq struct { func (x *GetNotebookListReq) Reset() { *x = GetNotebookListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[14] + mi := &file_octopus_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1042,7 +3253,7 @@ func (x *GetNotebookListReq) String() string { func (*GetNotebookListReq) ProtoMessage() {} func (x *GetNotebookListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[14] + mi := &file_octopus_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1055,7 +3266,7 @@ func (x *GetNotebookListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotebookListReq.ProtoReflect.Descriptor instead. func (*GetNotebookListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{14} + return file_octopus_proto_rawDescGZIP(), []int{51} } func (x *GetNotebookListReq) GetPlatform() string { @@ -1092,7 +3303,7 @@ type GetNotebookListResp struct { func (x *GetNotebookListResp) Reset() { *x = GetNotebookListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[15] + mi := &file_octopus_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1105,7 +3316,7 @@ func (x *GetNotebookListResp) String() string { func (*GetNotebookListResp) ProtoMessage() {} func (x *GetNotebookListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[15] + mi := &file_octopus_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1118,7 +3329,7 @@ func (x *GetNotebookListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotebookListResp.ProtoReflect.Descriptor instead. func (*GetNotebookListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{15} + return file_octopus_proto_rawDescGZIP(), []int{52} } func (x *GetNotebookListResp) GetSuccess() bool { @@ -1154,7 +3365,7 @@ type PayloadNotebookList struct { func (x *PayloadNotebookList) Reset() { *x = PayloadNotebookList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[16] + mi := &file_octopus_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1167,7 +3378,7 @@ func (x *PayloadNotebookList) String() string { func (*PayloadNotebookList) ProtoMessage() {} func (x *PayloadNotebookList) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[16] + mi := &file_octopus_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1180,7 +3391,7 @@ func (x *PayloadNotebookList) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadNotebookList.ProtoReflect.Descriptor instead. func (*PayloadNotebookList) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{16} + return file_octopus_proto_rawDescGZIP(), []int{53} } func (x *PayloadNotebookList) GetTotalSize() int32 { @@ -1230,7 +3441,7 @@ type Notebooks struct { func (x *Notebooks) Reset() { *x = Notebooks{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[17] + mi := &file_octopus_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1243,7 +3454,7 @@ func (x *Notebooks) String() string { func (*Notebooks) ProtoMessage() {} func (x *Notebooks) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[17] + mi := &file_octopus_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1256,7 +3467,7 @@ func (x *Notebooks) ProtoReflect() protoreflect.Message { // Deprecated: Use Notebooks.ProtoReflect.Descriptor instead. func (*Notebooks) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{17} + return file_octopus_proto_rawDescGZIP(), []int{54} } func (x *Notebooks) GetCreatedAt() int64 { @@ -1432,7 +3643,7 @@ type Tasks struct { func (x *Tasks) Reset() { *x = Tasks{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[18] + mi := &file_octopus_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1445,7 +3656,7 @@ func (x *Tasks) String() string { func (*Tasks) ProtoMessage() {} func (x *Tasks) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[18] + mi := &file_octopus_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1458,7 +3669,7 @@ func (x *Tasks) ProtoReflect() protoreflect.Message { // Deprecated: Use Tasks.ProtoReflect.Descriptor instead. func (*Tasks) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{18} + return file_octopus_proto_rawDescGZIP(), []int{55} } func (x *Tasks) GetUrl() string { @@ -1475,7 +3686,7 @@ func (x *Tasks) GetName() string { return "" } -// *****************ImageService Start************************ +//*****************ImageService Start************************ type GetUserImageListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1489,7 +3700,7 @@ type GetUserImageListReq struct { func (x *GetUserImageListReq) Reset() { *x = GetUserImageListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[19] + mi := &file_octopus_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1502,7 +3713,7 @@ func (x *GetUserImageListReq) String() string { func (*GetUserImageListReq) ProtoMessage() {} func (x *GetUserImageListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[19] + mi := &file_octopus_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1515,7 +3726,7 @@ func (x *GetUserImageListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserImageListReq.ProtoReflect.Descriptor instead. func (*GetUserImageListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{19} + return file_octopus_proto_rawDescGZIP(), []int{56} } func (x *GetUserImageListReq) GetPlatform() string { @@ -1552,7 +3763,7 @@ type GetUserImageListResp struct { func (x *GetUserImageListResp) Reset() { *x = GetUserImageListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[20] + mi := &file_octopus_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1565,7 +3776,7 @@ func (x *GetUserImageListResp) String() string { func (*GetUserImageListResp) ProtoMessage() {} func (x *GetUserImageListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[20] + mi := &file_octopus_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1578,7 +3789,7 @@ func (x *GetUserImageListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserImageListResp.ProtoReflect.Descriptor instead. func (*GetUserImageListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{20} + return file_octopus_proto_rawDescGZIP(), []int{57} } func (x *GetUserImageListResp) GetSuccess() bool { @@ -1614,7 +3825,7 @@ type PayloadUserImageList struct { func (x *PayloadUserImageList) Reset() { *x = PayloadUserImageList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[21] + mi := &file_octopus_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1627,7 +3838,7 @@ func (x *PayloadUserImageList) String() string { func (*PayloadUserImageList) ProtoMessage() {} func (x *PayloadUserImageList) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[21] + mi := &file_octopus_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1640,7 +3851,7 @@ func (x *PayloadUserImageList) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadUserImageList.ProtoReflect.Descriptor instead. func (*PayloadUserImageList) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{21} + return file_octopus_proto_rawDescGZIP(), []int{58} } func (x *PayloadUserImageList) GetTotalSize() int32 { @@ -1669,7 +3880,7 @@ type Images struct { func (x *Images) Reset() { *x = Images{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[22] + mi := &file_octopus_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1682,7 +3893,7 @@ func (x *Images) String() string { func (*Images) ProtoMessage() {} func (x *Images) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[22] + mi := &file_octopus_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1695,7 +3906,7 @@ func (x *Images) ProtoReflect() protoreflect.Message { // Deprecated: Use Images.ProtoReflect.Descriptor instead. func (*Images) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{22} + return file_octopus_proto_rawDescGZIP(), []int{59} } func (x *Images) GetIsShared() bool { @@ -1735,7 +3946,7 @@ type Image struct { func (x *Image) Reset() { *x = Image{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[23] + mi := &file_octopus_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1748,7 +3959,7 @@ func (x *Image) String() string { func (*Image) ProtoMessage() {} func (x *Image) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[23] + mi := &file_octopus_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1761,7 +3972,7 @@ func (x *Image) ProtoReflect() protoreflect.Message { // Deprecated: Use Image.ProtoReflect.Descriptor instead. func (*Image) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{23} + return file_octopus_proto_rawDescGZIP(), []int{60} } func (x *Image) GetId() string { @@ -1867,7 +4078,7 @@ type DeleteImageReq struct { func (x *DeleteImageReq) Reset() { *x = DeleteImageReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[24] + mi := &file_octopus_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1880,7 +4091,7 @@ func (x *DeleteImageReq) String() string { func (*DeleteImageReq) ProtoMessage() {} func (x *DeleteImageReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[24] + mi := &file_octopus_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1893,7 +4104,7 @@ func (x *DeleteImageReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteImageReq.ProtoReflect.Descriptor instead. func (*DeleteImageReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{24} + return file_octopus_proto_rawDescGZIP(), []int{61} } func (x *DeleteImageReq) GetPlatform() string { @@ -1923,7 +4134,7 @@ type DeleteImageResp struct { func (x *DeleteImageResp) Reset() { *x = DeleteImageResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[25] + mi := &file_octopus_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1936,7 +4147,7 @@ func (x *DeleteImageResp) String() string { func (*DeleteImageResp) ProtoMessage() {} func (x *DeleteImageResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[25] + mi := &file_octopus_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1949,7 +4160,7 @@ func (x *DeleteImageResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteImageResp.ProtoReflect.Descriptor instead. func (*DeleteImageResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{25} + return file_octopus_proto_rawDescGZIP(), []int{62} } func (x *DeleteImageResp) GetSuccess() bool { @@ -1984,7 +4195,7 @@ type PayloadDeleteImage struct { func (x *PayloadDeleteImage) Reset() { *x = PayloadDeleteImage{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[26] + mi := &file_octopus_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1997,7 +4208,7 @@ func (x *PayloadDeleteImage) String() string { func (*PayloadDeleteImage) ProtoMessage() {} func (x *PayloadDeleteImage) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[26] + mi := &file_octopus_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2010,7 +4221,7 @@ func (x *PayloadDeleteImage) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadDeleteImage.ProtoReflect.Descriptor instead. func (*PayloadDeleteImage) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{26} + return file_octopus_proto_rawDescGZIP(), []int{63} } func (x *PayloadDeleteImage) GetDeletedAt() int64 { @@ -2032,7 +4243,7 @@ type CreateImageReq struct { func (x *CreateImageReq) Reset() { *x = CreateImageReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[27] + mi := &file_octopus_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2045,7 +4256,7 @@ func (x *CreateImageReq) String() string { func (*CreateImageReq) ProtoMessage() {} func (x *CreateImageReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[27] + mi := &file_octopus_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2058,7 +4269,7 @@ func (x *CreateImageReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImageReq.ProtoReflect.Descriptor instead. func (*CreateImageReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{27} + return file_octopus_proto_rawDescGZIP(), []int{64} } func (x *CreateImageReq) GetPlatform() string { @@ -2090,7 +4301,7 @@ type CreateImage struct { func (x *CreateImage) Reset() { *x = CreateImage{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[28] + mi := &file_octopus_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2103,7 +4314,7 @@ func (x *CreateImage) String() string { func (*CreateImage) ProtoMessage() {} func (x *CreateImage) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[28] + mi := &file_octopus_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2116,7 +4327,7 @@ func (x *CreateImage) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImage.ProtoReflect.Descriptor instead. func (*CreateImage) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{28} + return file_octopus_proto_rawDescGZIP(), []int{65} } func (x *CreateImage) GetImageAddr() string { @@ -2167,7 +4378,7 @@ type CreateImageResp struct { func (x *CreateImageResp) Reset() { *x = CreateImageResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[29] + mi := &file_octopus_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2180,7 +4391,7 @@ func (x *CreateImageResp) String() string { func (*CreateImageResp) ProtoMessage() {} func (x *CreateImageResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[29] + mi := &file_octopus_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2193,7 +4404,7 @@ func (x *CreateImageResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImageResp.ProtoReflect.Descriptor instead. func (*CreateImageResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{29} + return file_octopus_proto_rawDescGZIP(), []int{66} } func (x *CreateImageResp) GetSuccess() bool { @@ -2229,7 +4440,7 @@ type PayloadCreateImage struct { func (x *PayloadCreateImage) Reset() { *x = PayloadCreateImage{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[30] + mi := &file_octopus_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2242,7 +4453,7 @@ func (x *PayloadCreateImage) String() string { func (*PayloadCreateImage) ProtoMessage() {} func (x *PayloadCreateImage) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[30] + mi := &file_octopus_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2255,7 +4466,7 @@ func (x *PayloadCreateImage) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadCreateImage.ProtoReflect.Descriptor instead. func (*PayloadCreateImage) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{30} + return file_octopus_proto_rawDescGZIP(), []int{67} } func (x *PayloadCreateImage) GetImageId() string { @@ -2272,6 +4483,470 @@ func (x *PayloadCreateImage) GetCreatedAt() int64 { return 0 } +type UploadImageReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + ImageId string `protobuf:"bytes,2,opt,name=imageId,proto3" json:"imageId,omitempty"` + UploadImageParam *UploadImageParam `protobuf:"bytes,3,opt,name=uploadImageParam,proto3" json:"uploadImageParam,omitempty"` +} + +func (x *UploadImageReq) Reset() { + *x = UploadImageReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadImageReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadImageReq) ProtoMessage() {} + +func (x *UploadImageReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[68] + 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 UploadImageReq.ProtoReflect.Descriptor instead. +func (*UploadImageReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{68} +} + +func (x *UploadImageReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *UploadImageReq) GetImageId() string { + if x != nil { + return x.ImageId + } + return "" +} + +func (x *UploadImageReq) GetUploadImageParam() *UploadImageParam { + if x != nil { + return x.UploadImageParam + } + return nil +} + +type UploadImageParam struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + FileName string `protobuf:"bytes,2,opt,name=fileName,proto3" json:"fileName,omitempty"` +} + +func (x *UploadImageParam) Reset() { + *x = UploadImageParam{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadImageParam) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadImageParam) ProtoMessage() {} + +func (x *UploadImageParam) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[69] + 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 UploadImageParam.ProtoReflect.Descriptor instead. +func (*UploadImageParam) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{69} +} + +func (x *UploadImageParam) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UploadImageParam) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +type UploadImageResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadUploadImage `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *UploadImageResp) Reset() { + *x = UploadImageResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadImageResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadImageResp) ProtoMessage() {} + +func (x *UploadImageResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[70] + 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 UploadImageResp.ProtoReflect.Descriptor instead. +func (*UploadImageResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{70} +} + +func (x *UploadImageResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *UploadImageResp) GetPayload() *PayloadUploadImage { + if x != nil { + return x.Payload + } + return nil +} + +func (x *UploadImageResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadUploadImage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UploadUrl string `protobuf:"bytes,1,opt,name=uploadUrl,proto3" json:"uploadUrl,omitempty"` + Headers *Headers `protobuf:"bytes,2,opt,name=headers,proto3" json:"headers,omitempty"` +} + +func (x *PayloadUploadImage) Reset() { + *x = PayloadUploadImage{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadUploadImage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadUploadImage) ProtoMessage() {} + +func (x *PayloadUploadImage) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[71] + 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 PayloadUploadImage.ProtoReflect.Descriptor instead. +func (*PayloadUploadImage) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{71} +} + +func (x *PayloadUploadImage) GetUploadUrl() string { + if x != nil { + return x.UploadUrl + } + return "" +} + +func (x *PayloadUploadImage) GetHeaders() *Headers { + if x != nil { + return x.Headers + } + return nil +} + +type Headers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdditionalProp1 string `protobuf:"bytes,1,opt,name=additionalProp1,proto3" json:"additionalProp1,omitempty"` + AdditionalProp2 string `protobuf:"bytes,2,opt,name=additionalProp2,proto3" json:"additionalProp2,omitempty"` + AdditionalProp3 string `protobuf:"bytes,3,opt,name=additionalProp3,proto3" json:"additionalProp3,omitempty"` +} + +func (x *Headers) Reset() { + *x = Headers{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Headers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Headers) ProtoMessage() {} + +func (x *Headers) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[72] + 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 Headers.ProtoReflect.Descriptor instead. +func (*Headers) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{72} +} + +func (x *Headers) GetAdditionalProp1() string { + if x != nil { + return x.AdditionalProp1 + } + return "" +} + +func (x *Headers) GetAdditionalProp2() string { + if x != nil { + return x.AdditionalProp2 + } + return "" +} + +func (x *Headers) GetAdditionalProp3() string { + if x != nil { + return x.AdditionalProp3 + } + return "" +} + +type UploadImageConfirmReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + ImageId string `protobuf:"bytes,2,opt,name=imageId,proto3" json:"imageId,omitempty"` +} + +func (x *UploadImageConfirmReq) Reset() { + *x = UploadImageConfirmReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadImageConfirmReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadImageConfirmReq) ProtoMessage() {} + +func (x *UploadImageConfirmReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[73] + 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 UploadImageConfirmReq.ProtoReflect.Descriptor instead. +func (*UploadImageConfirmReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{73} +} + +func (x *UploadImageConfirmReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *UploadImageConfirmReq) GetImageId() string { + if x != nil { + return x.ImageId + } + return "" +} + +type UploadImageConfirmResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadUploadImageConfirm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *UploadImageConfirmResp) Reset() { + *x = UploadImageConfirmResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadImageConfirmResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadImageConfirmResp) ProtoMessage() {} + +func (x *UploadImageConfirmResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[74] + 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 UploadImageConfirmResp.ProtoReflect.Descriptor instead. +func (*UploadImageConfirmResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{74} +} + +func (x *UploadImageConfirmResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *UploadImageConfirmResp) GetPayload() *PayloadUploadImageConfirm { + if x != nil { + return x.Payload + } + return nil +} + +func (x *UploadImageConfirmResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadUploadImageConfirm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UpdatedAt int64 `protobuf:"varint,1,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` +} + +func (x *PayloadUploadImageConfirm) Reset() { + *x = PayloadUploadImageConfirm{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadUploadImageConfirm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadUploadImageConfirm) ProtoMessage() {} + +func (x *PayloadUploadImageConfirm) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[75] + 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 PayloadUploadImageConfirm.ProtoReflect.Descriptor instead. +func (*PayloadUploadImageConfirm) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{75} +} + +func (x *PayloadUploadImageConfirm) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + type Error struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2286,7 +4961,7 @@ type Error struct { func (x *Error) Reset() { *x = Error{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[31] + mi := &file_octopus_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2299,7 +4974,7 @@ func (x *Error) String() string { func (*Error) ProtoMessage() {} func (x *Error) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[31] + mi := &file_octopus_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2312,7 +4987,7 @@ func (x *Error) ProtoReflect() protoreflect.Message { // Deprecated: Use Error.ProtoReflect.Descriptor instead. func (*Error) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{31} + return file_octopus_proto_rawDescGZIP(), []int{76} } func (x *Error) GetCode() int32 { @@ -2355,315 +5030,695 @@ var file_octopus_proto_rawDesc = []byte{ 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x47, 0x69, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x47, 0x69, 0x62, 0x22, 0x6e, 0x0a, - 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x47, 0x69, 0x62, 0x22, 0x69, 0x0a, + 0x0f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, + 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x31, 0x0a, + 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x12, 0x42, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0x0a, + 0x14, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, + 0x0a, 0x15, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3c, 0x0a, 0x18, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x72, 0x6c, 0x22, 0xbf, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x51, 0x0a, 0x14, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x14, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x22, 0x4a, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x22, 0x90, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x22, 0x36, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1c, 0x0a, + 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0x8f, 0x01, 0x0a, 0x19, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, + 0x0a, 0x1a, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3d, + 0x0a, 0x1d, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, + 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x6b, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6e, 0x0a, 0x14, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x52, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x22, 0x6c, 0x0a, 0x0f, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, + 0x3d, 0x0a, 0x0f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x0f, 0x61, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x22, 0x6d, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, + 0x6b, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, + 0x52, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x22, 0xd2, 0x04, 0x0a, + 0x0a, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, + 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, + 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x72, 0x65, + 0x66, 0x61, 0x62, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x72, 0x65, + 0x66, 0x61, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x66, + 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x70, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0x65, 0x0a, 0x1c, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x27, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x1c, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, + 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, + 0xa1, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x22, 0x66, 0x0a, 0x1d, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4c, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x06, 0x4c, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, + 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, + 0x65, 0x73, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x22, 0x54, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x38, 0x0a, 0x18, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, + 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x48, + 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, + 0xdb, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, + 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, + 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x74, 0x0a, + 0x18, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x6b, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x3d, 0x0a, - 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x40, 0x0a, + 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8f, 0x01, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x63, + 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, + 0x44, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, + 0x44, 0x65, 0x73, 0x63, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x64, 0x65, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0x3e, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x6a, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x65, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x6e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x73, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0xf3, 0x05, + 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x2a, 0x0a, + 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, + 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, + 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, + 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x72, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x72, 0x6c, 0x22, 0x2d, 0x0a, 0x05, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, + 0x8f, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0x6b, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x41, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x61, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, - 0x6d, 0x73, 0x52, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x22, 0xd2, - 0x04, 0x0a, 0x0a, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x12, 0x20, 0x0a, - 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, - 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, - 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, - 0x72, 0x65, 0x66, 0x61, 0x62, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, - 0x72, 0x65, 0x66, 0x61, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, - 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, - 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x22, 0x63, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, - 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, 0x08, 0x64, - 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x72, 0x22, 0x5d, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, + 0x22, 0x4a, 0x0a, 0x06, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x87, 0x03, 0x0a, + 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, + 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x74, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x74, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x07, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x07, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0x6a, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x65, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x6e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, - 0x73, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0xf3, 0x05, 0x0a, - 0x09, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, - 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, - 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x24, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, - 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, - 0x72, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, - 0x72, 0x6c, 0x22, 0x2d, 0x0a, 0x05, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, + 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, + 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x22, 0x46, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8f, - 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x22, 0x5d, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x22, - 0x4a, 0x0a, 0x06, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x87, 0x03, 0x0a, 0x05, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, - 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x24, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, 0x6c, - 0x6c, 0x41, 0x64, 0x64, 0x72, 0x22, 0x46, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x88, 0x01, - 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x88, + 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x12, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x64, 0x0a, + 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x36, 0x0a, 0x0b, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, + 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4c, 0x0a, 0x12, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0e, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x10, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x10, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x46, 0x0a, 0x10, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x5e, 0x0a, + 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, + 0x6c, 0x12, 0x2a, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x87, 0x01, + 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, + 0x6f, 0x70, 0x31, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x32, 0x12, 0x28, 0x0a, + 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x33, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x33, 0x22, 0x4d, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, - 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x64, 0x0a, 0x0e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1c, - 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4c, 0x0a, 0x12, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x6f, 0x0a, 0x05, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, - 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x91, 0x05, 0x0a, 0x07, 0x4f, - 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x63, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, - 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x67, 0x69, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, - 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, - 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, + 0x39, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x6f, 0x0a, 0x05, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, + 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x81, 0x0d, 0x0a, 0x07, + 0x4f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x63, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x67, 0x69, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x12, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x19, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, + 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, + 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, + 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, + 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, + 0x11, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, + 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, + 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x61, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, @@ -2673,27 +5728,41 @@ var file_octopus_proto_rawDesc = []byte{ 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x71, 0x12, 0x4c, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, - 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, - 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x17, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0a, - 0x5a, 0x08, 0x2f, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x1e, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1f, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x42, + 0x0a, 0x5a, 0x08, 0x2f, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -2708,85 +5777,191 @@ func file_octopus_proto_rawDescGZIP() []byte { return file_octopus_proto_rawDescData } -var file_octopus_proto_msgTypes = make([]protoimpl.MessageInfo, 32) +var file_octopus_proto_msgTypes = make([]protoimpl.MessageInfo, 77) var file_octopus_proto_goTypes = []interface{}{ - (*ResourceReq)(nil), // 0: octopus.resourceReq - (*CpResp)(nil), // 1: octopus.cpResp - (*GiResp)(nil), // 2: octopus.giResp - (*CreateDataSetReq)(nil), // 3: octopus.CreateDataSetReq - (*CreateDataSetResq)(nil), // 4: octopus.CreateDataSetResq - (*GetMyAlgorithmListReq)(nil), // 5: octopus.GetMyAlgorithmListReq - (*GetMyAlgorithmListResp)(nil), // 6: octopus.GetMyAlgorithmListResp - (*PayloadMyAlgorithmList)(nil), // 7: octopus.PayloadMyAlgorithmList - (*Algorithms)(nil), // 8: octopus.Algorithms - (*GetMyDatasetListReq)(nil), // 9: octopus.GetMyDatasetListReq - (*GetMyDatasetListResp)(nil), // 10: octopus.GetMyDatasetListResp - (*PayloadMyDatasetList)(nil), // 11: octopus.PayloadMyDatasetList - (*Datasets)(nil), // 12: octopus.Datasets - (*Applies)(nil), // 13: octopus.Applies - (*GetNotebookListReq)(nil), // 14: octopus.GetNotebookListReq - (*GetNotebookListResp)(nil), // 15: octopus.GetNotebookListResp - (*PayloadNotebookList)(nil), // 16: octopus.PayloadNotebookList - (*Notebooks)(nil), // 17: octopus.Notebooks - (*Tasks)(nil), // 18: octopus.Tasks - (*GetUserImageListReq)(nil), // 19: octopus.GetUserImageListReq - (*GetUserImageListResp)(nil), // 20: octopus.GetUserImageListResp - (*PayloadUserImageList)(nil), // 21: octopus.PayloadUserImageList - (*Images)(nil), // 22: octopus.Images - (*Image)(nil), // 23: octopus.Image - (*DeleteImageReq)(nil), // 24: octopus.DeleteImageReq - (*DeleteImageResp)(nil), // 25: octopus.DeleteImageResp - (*PayloadDeleteImage)(nil), // 26: octopus.PayloadDeleteImage - (*CreateImageReq)(nil), // 27: octopus.CreateImageReq - (*CreateImage)(nil), // 28: octopus.CreateImage - (*CreateImageResp)(nil), // 29: octopus.CreateImageResp - (*PayloadCreateImage)(nil), // 30: octopus.PayloadCreateImage - (*Error)(nil), // 31: octopus.Error + (*ResourceReq)(nil), // 0: octopus.resourceReq + (*CpResp)(nil), // 1: octopus.cpResp + (*GiResp)(nil), // 2: octopus.giResp + (*GetAlgorithmReq)(nil), // 3: octopus.GetAlgorithmReq + (*GetAlgorithmResp)(nil), // 4: octopus.GetAlgorithmResp + (*PayloadGetAlgorithm)(nil), // 5: octopus.PayloadGetAlgorithm + (*VersionAccesses)(nil), // 6: octopus.VersionAccesses + (*DownloadAlgorithmReq)(nil), // 7: octopus.DownloadAlgorithmReq + (*DownloadAlgorithmResp)(nil), // 8: octopus.DownloadAlgorithmResp + (*PayloadDownloadAlgorithm)(nil), // 9: octopus.PayloadDownloadAlgorithm + (*UploadAlgorithmReq)(nil), // 10: octopus.UploadAlgorithmReq + (*UploadAlgorithmParam)(nil), // 11: octopus.UploadAlgorithmParam + (*UploadAlgorithmResp)(nil), // 12: octopus.UploadAlgorithmResp + (*PayloadUploadAlgorithm)(nil), // 13: octopus.PayloadUploadAlgorithm + (*UploadAlgorithmConfirmReq)(nil), // 14: octopus.UploadAlgorithmConfirmReq + (*UploadAlgorithmConfirmResp)(nil), // 15: octopus.UploadAlgorithmConfirmResp + (*PayloadUploadAlgorithmConfirm)(nil), // 16: octopus.PayloadUploadAlgorithmConfirm + (*GetAlgorithmListReq)(nil), // 17: octopus.GetAlgorithmListReq + (*GetAlgorithmListResp)(nil), // 18: octopus.GetAlgorithmListResp + (*PayloadAlgorithmList)(nil), // 19: octopus.PayloadAlgorithmList + (*AlgorithmDetail)(nil), // 20: octopus.AlgorithmDetail + (*GetMyAlgorithmListReq)(nil), // 21: octopus.GetMyAlgorithmListReq + (*GetMyAlgorithmListResp)(nil), // 22: octopus.GetMyAlgorithmListResp + (*PayloadMyAlgorithmList)(nil), // 23: octopus.PayloadMyAlgorithmList + (*Algorithms)(nil), // 24: octopus.Algorithms + (*GetAlgorithmApplyListReq)(nil), // 25: octopus.GetAlgorithmApplyListReq + (*GetAlgorithmApplyListResp)(nil), // 26: octopus.GetAlgorithmApplyListResp + (*PayloadGetAlgorithmApplyList)(nil), // 27: octopus.PayloadGetAlgorithmApplyList + (*GetAlgorithmFrameworkListReq)(nil), // 28: octopus.GetAlgorithmFrameworkListReq + (*GetAlgorithmFrameworkListResp)(nil), // 29: octopus.GetAlgorithmFrameworkListResp + (*PayloadAlgorithmFrameworkList)(nil), // 30: octopus.PayloadAlgorithmFrameworkList + (*Lables)(nil), // 31: octopus.Lables + (*DeleteMyAlgorithmReq)(nil), // 32: octopus.DeleteMyAlgorithmReq + (*DeleteMyAlgorithmResp)(nil), // 33: octopus.DeleteMyAlgorithmResp + (*PayloadDeleteMyAlgorithm)(nil), // 34: octopus.PayloadDeleteMyAlgorithm + (*CreateMyAlgorithmReq)(nil), // 35: octopus.CreateMyAlgorithmReq + (*CreateMyAlgorithmResp)(nil), // 36: octopus.CreateMyAlgorithmResp + (*CreateMyAlgorithm)(nil), // 37: octopus.CreateMyAlgorithm + (*PayloadCreateMyAlgorithm)(nil), // 38: octopus.PayloadCreateMyAlgorithm + (*CreateDataSetReq)(nil), // 39: octopus.CreateDataSetReq + (*CreateDataSetResp)(nil), // 40: octopus.CreateDataSetResp + (*CreateDataSet)(nil), // 41: octopus.CreateDataSet + (*PayloadCreateDataSet)(nil), // 42: octopus.PayloadCreateDataSet + (*GetMyDatasetListReq)(nil), // 43: octopus.GetMyDatasetListReq + (*GetMyDatasetListResp)(nil), // 44: octopus.GetMyDatasetListResp + (*PayloadMyDatasetList)(nil), // 45: octopus.PayloadMyDatasetList + (*Datasets)(nil), // 46: octopus.Datasets + (*Applies)(nil), // 47: octopus.Applies + (*DeleteDataSetReq)(nil), // 48: octopus.DeleteDataSetReq + (*DeleteDataSetResp)(nil), // 49: octopus.DeleteDataSetResp + (*PayloadDeleteDataSet)(nil), // 50: octopus.PayloadDeleteDataSet + (*GetNotebookListReq)(nil), // 51: octopus.GetNotebookListReq + (*GetNotebookListResp)(nil), // 52: octopus.GetNotebookListResp + (*PayloadNotebookList)(nil), // 53: octopus.PayloadNotebookList + (*Notebooks)(nil), // 54: octopus.Notebooks + (*Tasks)(nil), // 55: octopus.Tasks + (*GetUserImageListReq)(nil), // 56: octopus.GetUserImageListReq + (*GetUserImageListResp)(nil), // 57: octopus.GetUserImageListResp + (*PayloadUserImageList)(nil), // 58: octopus.PayloadUserImageList + (*Images)(nil), // 59: octopus.Images + (*Image)(nil), // 60: octopus.Image + (*DeleteImageReq)(nil), // 61: octopus.DeleteImageReq + (*DeleteImageResp)(nil), // 62: octopus.DeleteImageResp + (*PayloadDeleteImage)(nil), // 63: octopus.PayloadDeleteImage + (*CreateImageReq)(nil), // 64: octopus.CreateImageReq + (*CreateImage)(nil), // 65: octopus.CreateImage + (*CreateImageResp)(nil), // 66: octopus.CreateImageResp + (*PayloadCreateImage)(nil), // 67: octopus.PayloadCreateImage + (*UploadImageReq)(nil), // 68: octopus.UploadImageReq + (*UploadImageParam)(nil), // 69: octopus.UploadImageParam + (*UploadImageResp)(nil), // 70: octopus.UploadImageResp + (*PayloadUploadImage)(nil), // 71: octopus.PayloadUploadImage + (*Headers)(nil), // 72: octopus.Headers + (*UploadImageConfirmReq)(nil), // 73: octopus.UploadImageConfirmReq + (*UploadImageConfirmResp)(nil), // 74: octopus.UploadImageConfirmResp + (*PayloadUploadImageConfirm)(nil), // 75: octopus.PayloadUploadImageConfirm + (*Error)(nil), // 76: octopus.Error } var file_octopus_proto_depIdxs = []int32{ - 7, // 0: octopus.GetMyAlgorithmListResp.payload:type_name -> octopus.PayloadMyAlgorithmList - 31, // 1: octopus.GetMyAlgorithmListResp.error:type_name -> octopus.Error - 8, // 2: octopus.PayloadMyAlgorithmList.algorithms:type_name -> octopus.Algorithms - 11, // 3: octopus.GetMyDatasetListResp.payload:type_name -> octopus.PayloadMyDatasetList - 31, // 4: octopus.GetMyDatasetListResp.error:type_name -> octopus.Error - 12, // 5: octopus.PayloadMyDatasetList.datasets:type_name -> octopus.Datasets - 13, // 6: octopus.Datasets.applies:type_name -> octopus.Applies - 16, // 7: octopus.GetNotebookListResp.payload:type_name -> octopus.PayloadNotebookList - 31, // 8: octopus.GetNotebookListResp.error:type_name -> octopus.Error - 17, // 9: octopus.PayloadNotebookList.notebooks:type_name -> octopus.Notebooks - 18, // 10: octopus.Notebooks.tasks:type_name -> octopus.Tasks - 21, // 11: octopus.GetUserImageListResp.payload:type_name -> octopus.PayloadUserImageList - 31, // 12: octopus.GetUserImageListResp.error:type_name -> octopus.Error - 22, // 13: octopus.PayloadUserImageList.images:type_name -> octopus.Images - 23, // 14: octopus.Images.image:type_name -> octopus.Image - 26, // 15: octopus.DeleteImageResp.payload:type_name -> octopus.PayloadDeleteImage - 31, // 16: octopus.DeleteImageResp.error:type_name -> octopus.Error - 28, // 17: octopus.CreateImageReq.createImage:type_name -> octopus.CreateImage - 30, // 18: octopus.CreateImageResp.payload:type_name -> octopus.PayloadCreateImage - 31, // 19: octopus.CreateImageResp.error:type_name -> octopus.Error - 0, // 20: octopus.Octopus.GetComputingPower:input_type -> octopus.resourceReq - 0, // 21: octopus.Octopus.GetGeneralInfo:input_type -> octopus.resourceReq - 5, // 22: octopus.Octopus.GetMyAlgorithmList:input_type -> octopus.GetMyAlgorithmListReq - 9, // 23: octopus.Octopus.GetMyDatasetList:input_type -> octopus.GetMyDatasetListReq - 3, // 24: octopus.Octopus.CreateDataSet:input_type -> octopus.CreateDataSetReq - 14, // 25: octopus.Octopus.GetNotebookList:input_type -> octopus.GetNotebookListReq - 19, // 26: octopus.Octopus.GetUserImageList:input_type -> octopus.GetUserImageListReq - 27, // 27: octopus.Octopus.CreateImage:input_type -> octopus.CreateImageReq - 24, // 28: octopus.Octopus.DeleteImage:input_type -> octopus.DeleteImageReq - 1, // 29: octopus.Octopus.GetComputingPower:output_type -> octopus.cpResp - 2, // 30: octopus.Octopus.GetGeneralInfo:output_type -> octopus.giResp - 6, // 31: octopus.Octopus.GetMyAlgorithmList:output_type -> octopus.GetMyAlgorithmListResp - 10, // 32: octopus.Octopus.GetMyDatasetList:output_type -> octopus.GetMyDatasetListResp - 4, // 33: octopus.Octopus.CreateDataSet:output_type -> octopus.CreateDataSetResq - 15, // 34: octopus.Octopus.GetNotebookList:output_type -> octopus.GetNotebookListResp - 20, // 35: octopus.Octopus.GetUserImageList:output_type -> octopus.GetUserImageListResp - 29, // 36: octopus.Octopus.CreateImage:output_type -> octopus.CreateImageResp - 25, // 37: octopus.Octopus.DeleteImage:output_type -> octopus.DeleteImageResp - 29, // [29:38] is the sub-list for method output_type - 20, // [20:29] 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 + 5, // 0: octopus.GetAlgorithmResp.payload:type_name -> octopus.PayloadGetAlgorithm + 76, // 1: octopus.GetAlgorithmResp.error:type_name -> octopus.Error + 24, // 2: octopus.PayloadGetAlgorithm.algorithm:type_name -> octopus.Algorithms + 6, // 3: octopus.PayloadGetAlgorithm.versionAccesses:type_name -> octopus.VersionAccesses + 9, // 4: octopus.DownloadAlgorithmResp.payload:type_name -> octopus.PayloadDownloadAlgorithm + 76, // 5: octopus.DownloadAlgorithmResp.error:type_name -> octopus.Error + 11, // 6: octopus.UploadAlgorithmReq.uploadAlgorithmParam:type_name -> octopus.UploadAlgorithmParam + 13, // 7: octopus.UploadAlgorithmResp.payload:type_name -> octopus.PayloadUploadAlgorithm + 76, // 8: octopus.UploadAlgorithmResp.error:type_name -> octopus.Error + 16, // 9: octopus.UploadAlgorithmConfirmResp.payload:type_name -> octopus.PayloadUploadAlgorithmConfirm + 76, // 10: octopus.UploadAlgorithmConfirmResp.error:type_name -> octopus.Error + 19, // 11: octopus.GetAlgorithmListResp.payload:type_name -> octopus.PayloadAlgorithmList + 76, // 12: octopus.GetAlgorithmListResp.error:type_name -> octopus.Error + 20, // 13: octopus.PayloadAlgorithmList.algorithms:type_name -> octopus.AlgorithmDetail + 24, // 14: octopus.AlgorithmDetail.algorithmDetail:type_name -> octopus.Algorithms + 23, // 15: octopus.GetMyAlgorithmListResp.payload:type_name -> octopus.PayloadMyAlgorithmList + 76, // 16: octopus.GetMyAlgorithmListResp.error:type_name -> octopus.Error + 24, // 17: octopus.PayloadMyAlgorithmList.algorithms:type_name -> octopus.Algorithms + 27, // 18: octopus.GetAlgorithmApplyListResp.payload:type_name -> octopus.PayloadGetAlgorithmApplyList + 76, // 19: octopus.GetAlgorithmApplyListResp.error:type_name -> octopus.Error + 31, // 20: octopus.PayloadGetAlgorithmApplyList.lables:type_name -> octopus.Lables + 30, // 21: octopus.GetAlgorithmFrameworkListResp.payload:type_name -> octopus.PayloadAlgorithmFrameworkList + 76, // 22: octopus.GetAlgorithmFrameworkListResp.error:type_name -> octopus.Error + 31, // 23: octopus.PayloadAlgorithmFrameworkList.lables:type_name -> octopus.Lables + 34, // 24: octopus.DeleteMyAlgorithmResp.payload:type_name -> octopus.PayloadDeleteMyAlgorithm + 76, // 25: octopus.DeleteMyAlgorithmResp.error:type_name -> octopus.Error + 37, // 26: octopus.CreateMyAlgorithmReq.createMyAlgorithm:type_name -> octopus.CreateMyAlgorithm + 38, // 27: octopus.CreateMyAlgorithmResp.payload:type_name -> octopus.PayloadCreateMyAlgorithm + 76, // 28: octopus.CreateMyAlgorithmResp.error:type_name -> octopus.Error + 41, // 29: octopus.CreateDataSetReq.createDataSet:type_name -> octopus.CreateDataSet + 42, // 30: octopus.CreateDataSetResp.payload:type_name -> octopus.PayloadCreateDataSet + 76, // 31: octopus.CreateDataSetResp.error:type_name -> octopus.Error + 45, // 32: octopus.GetMyDatasetListResp.payload:type_name -> octopus.PayloadMyDatasetList + 76, // 33: octopus.GetMyDatasetListResp.error:type_name -> octopus.Error + 46, // 34: octopus.PayloadMyDatasetList.datasets:type_name -> octopus.Datasets + 47, // 35: octopus.Datasets.applies:type_name -> octopus.Applies + 50, // 36: octopus.DeleteDataSetResp.payload:type_name -> octopus.PayloadDeleteDataSet + 76, // 37: octopus.DeleteDataSetResp.error:type_name -> octopus.Error + 53, // 38: octopus.GetNotebookListResp.payload:type_name -> octopus.PayloadNotebookList + 76, // 39: octopus.GetNotebookListResp.error:type_name -> octopus.Error + 54, // 40: octopus.PayloadNotebookList.notebooks:type_name -> octopus.Notebooks + 55, // 41: octopus.Notebooks.tasks:type_name -> octopus.Tasks + 58, // 42: octopus.GetUserImageListResp.payload:type_name -> octopus.PayloadUserImageList + 76, // 43: octopus.GetUserImageListResp.error:type_name -> octopus.Error + 59, // 44: octopus.PayloadUserImageList.images:type_name -> octopus.Images + 60, // 45: octopus.Images.image:type_name -> octopus.Image + 63, // 46: octopus.DeleteImageResp.payload:type_name -> octopus.PayloadDeleteImage + 76, // 47: octopus.DeleteImageResp.error:type_name -> octopus.Error + 65, // 48: octopus.CreateImageReq.createImage:type_name -> octopus.CreateImage + 67, // 49: octopus.CreateImageResp.payload:type_name -> octopus.PayloadCreateImage + 76, // 50: octopus.CreateImageResp.error:type_name -> octopus.Error + 69, // 51: octopus.UploadImageReq.uploadImageParam:type_name -> octopus.UploadImageParam + 71, // 52: octopus.UploadImageResp.payload:type_name -> octopus.PayloadUploadImage + 76, // 53: octopus.UploadImageResp.error:type_name -> octopus.Error + 72, // 54: octopus.PayloadUploadImage.headers:type_name -> octopus.Headers + 75, // 55: octopus.UploadImageConfirmResp.payload:type_name -> octopus.PayloadUploadImageConfirm + 76, // 56: octopus.UploadImageConfirmResp.error:type_name -> octopus.Error + 0, // 57: octopus.Octopus.GetComputingPower:input_type -> octopus.resourceReq + 0, // 58: octopus.Octopus.GetGeneralInfo:input_type -> octopus.resourceReq + 21, // 59: octopus.Octopus.GetMyAlgorithmList:input_type -> octopus.GetMyAlgorithmListReq + 17, // 60: octopus.Octopus.GetAlgorithmList:input_type -> octopus.GetAlgorithmListReq + 3, // 61: octopus.Octopus.GetAlgorithm:input_type -> octopus.GetAlgorithmReq + 25, // 62: octopus.Octopus.GetAlgorithmApplyList:input_type -> octopus.GetAlgorithmApplyListReq + 28, // 63: octopus.Octopus.GetAlgorithmFrameworkList:input_type -> octopus.GetAlgorithmFrameworkListReq + 32, // 64: octopus.Octopus.DeleteMyAlgorithm:input_type -> octopus.DeleteMyAlgorithmReq + 35, // 65: octopus.Octopus.CreateMyAlgorithm:input_type -> octopus.CreateMyAlgorithmReq + 7, // 66: octopus.Octopus.DownloadAlgorithm:input_type -> octopus.DownloadAlgorithmReq + 10, // 67: octopus.Octopus.UploadAlgorithm:input_type -> octopus.UploadAlgorithmReq + 14, // 68: octopus.Octopus.UploadAlgorithmConfirm:input_type -> octopus.UploadAlgorithmConfirmReq + 43, // 69: octopus.Octopus.GetMyDatasetList:input_type -> octopus.GetMyDatasetListReq + 39, // 70: octopus.Octopus.CreateDataSet:input_type -> octopus.CreateDataSetReq + 48, // 71: octopus.Octopus.DeleteDataSet:input_type -> octopus.DeleteDataSetReq + 51, // 72: octopus.Octopus.GetNotebookList:input_type -> octopus.GetNotebookListReq + 56, // 73: octopus.Octopus.GetUserImageList:input_type -> octopus.GetUserImageListReq + 64, // 74: octopus.Octopus.CreateImage:input_type -> octopus.CreateImageReq + 61, // 75: octopus.Octopus.DeleteImage:input_type -> octopus.DeleteImageReq + 68, // 76: octopus.Octopus.UploadImage:input_type -> octopus.UploadImageReq + 73, // 77: octopus.Octopus.UploadImageConfirm:input_type -> octopus.UploadImageConfirmReq + 1, // 78: octopus.Octopus.GetComputingPower:output_type -> octopus.cpResp + 2, // 79: octopus.Octopus.GetGeneralInfo:output_type -> octopus.giResp + 22, // 80: octopus.Octopus.GetMyAlgorithmList:output_type -> octopus.GetMyAlgorithmListResp + 18, // 81: octopus.Octopus.GetAlgorithmList:output_type -> octopus.GetAlgorithmListResp + 4, // 82: octopus.Octopus.GetAlgorithm:output_type -> octopus.GetAlgorithmResp + 26, // 83: octopus.Octopus.GetAlgorithmApplyList:output_type -> octopus.GetAlgorithmApplyListResp + 29, // 84: octopus.Octopus.GetAlgorithmFrameworkList:output_type -> octopus.GetAlgorithmFrameworkListResp + 33, // 85: octopus.Octopus.DeleteMyAlgorithm:output_type -> octopus.DeleteMyAlgorithmResp + 36, // 86: octopus.Octopus.CreateMyAlgorithm:output_type -> octopus.CreateMyAlgorithmResp + 8, // 87: octopus.Octopus.DownloadAlgorithm:output_type -> octopus.DownloadAlgorithmResp + 12, // 88: octopus.Octopus.UploadAlgorithm:output_type -> octopus.UploadAlgorithmResp + 15, // 89: octopus.Octopus.UploadAlgorithmConfirm:output_type -> octopus.UploadAlgorithmConfirmResp + 44, // 90: octopus.Octopus.GetMyDatasetList:output_type -> octopus.GetMyDatasetListResp + 40, // 91: octopus.Octopus.CreateDataSet:output_type -> octopus.CreateDataSetResp + 49, // 92: octopus.Octopus.DeleteDataSet:output_type -> octopus.DeleteDataSetResp + 52, // 93: octopus.Octopus.GetNotebookList:output_type -> octopus.GetNotebookListResp + 57, // 94: octopus.Octopus.GetUserImageList:output_type -> octopus.GetUserImageListResp + 66, // 95: octopus.Octopus.CreateImage:output_type -> octopus.CreateImageResp + 62, // 96: octopus.Octopus.DeleteImage:output_type -> octopus.DeleteImageResp + 70, // 97: octopus.Octopus.UploadImage:output_type -> octopus.UploadImageResp + 74, // 98: octopus.Octopus.UploadImageConfirm:output_type -> octopus.UploadImageConfirmResp + 78, // [78:99] is the sub-list for method output_type + 57, // [57:78] is the sub-list for method input_type + 57, // [57:57] is the sub-list for extension type_name + 57, // [57:57] is the sub-list for extension extendee + 0, // [0:57] is the sub-list for field type_name } func init() { file_octopus_proto_init() } @@ -2832,7 +6007,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDataSetReq); i { + switch v := v.(*GetAlgorithmReq); i { case 0: return &v.state case 1: @@ -2844,7 +6019,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDataSetResq); i { + switch v := v.(*GetAlgorithmResp); i { case 0: return &v.state case 1: @@ -2856,7 +6031,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyAlgorithmListReq); i { + switch v := v.(*PayloadGetAlgorithm); i { case 0: return &v.state case 1: @@ -2868,7 +6043,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyAlgorithmListResp); i { + switch v := v.(*VersionAccesses); i { case 0: return &v.state case 1: @@ -2880,7 +6055,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadMyAlgorithmList); i { + switch v := v.(*DownloadAlgorithmReq); i { case 0: return &v.state case 1: @@ -2892,7 +6067,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Algorithms); i { + switch v := v.(*DownloadAlgorithmResp); i { case 0: return &v.state case 1: @@ -2904,7 +6079,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyDatasetListReq); i { + switch v := v.(*PayloadDownloadAlgorithm); i { case 0: return &v.state case 1: @@ -2916,7 +6091,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyDatasetListResp); i { + switch v := v.(*UploadAlgorithmReq); i { case 0: return &v.state case 1: @@ -2928,7 +6103,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadMyDatasetList); i { + switch v := v.(*UploadAlgorithmParam); i { case 0: return &v.state case 1: @@ -2940,7 +6115,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Datasets); i { + switch v := v.(*UploadAlgorithmResp); i { case 0: return &v.state case 1: @@ -2952,7 +6127,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Applies); i { + switch v := v.(*PayloadUploadAlgorithm); i { case 0: return &v.state case 1: @@ -2964,7 +6139,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNotebookListReq); i { + switch v := v.(*UploadAlgorithmConfirmReq); i { case 0: return &v.state case 1: @@ -2976,7 +6151,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNotebookListResp); i { + switch v := v.(*UploadAlgorithmConfirmResp); i { case 0: return &v.state case 1: @@ -2988,7 +6163,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadNotebookList); i { + switch v := v.(*PayloadUploadAlgorithmConfirm); i { case 0: return &v.state case 1: @@ -3000,7 +6175,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Notebooks); i { + switch v := v.(*GetAlgorithmListReq); i { case 0: return &v.state case 1: @@ -3012,7 +6187,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Tasks); i { + switch v := v.(*GetAlgorithmListResp); i { case 0: return &v.state case 1: @@ -3024,7 +6199,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserImageListReq); i { + switch v := v.(*PayloadAlgorithmList); i { case 0: return &v.state case 1: @@ -3036,7 +6211,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserImageListResp); i { + switch v := v.(*AlgorithmDetail); i { case 0: return &v.state case 1: @@ -3048,7 +6223,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadUserImageList); i { + switch v := v.(*GetMyAlgorithmListReq); i { case 0: return &v.state case 1: @@ -3060,7 +6235,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Images); i { + switch v := v.(*GetMyAlgorithmListResp); i { case 0: return &v.state case 1: @@ -3072,7 +6247,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Image); i { + switch v := v.(*PayloadMyAlgorithmList); i { case 0: return &v.state case 1: @@ -3084,7 +6259,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteImageReq); i { + switch v := v.(*Algorithms); i { case 0: return &v.state case 1: @@ -3096,7 +6271,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteImageResp); i { + switch v := v.(*GetAlgorithmApplyListReq); i { case 0: return &v.state case 1: @@ -3108,7 +6283,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadDeleteImage); i { + switch v := v.(*GetAlgorithmApplyListResp); i { case 0: return &v.state case 1: @@ -3120,7 +6295,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImageReq); i { + switch v := v.(*PayloadGetAlgorithmApplyList); i { case 0: return &v.state case 1: @@ -3132,7 +6307,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImage); i { + switch v := v.(*GetAlgorithmFrameworkListReq); i { case 0: return &v.state case 1: @@ -3144,7 +6319,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImageResp); i { + switch v := v.(*GetAlgorithmFrameworkListResp); i { case 0: return &v.state case 1: @@ -3156,7 +6331,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadCreateImage); i { + switch v := v.(*PayloadAlgorithmFrameworkList); i { case 0: return &v.state case 1: @@ -3168,6 +6343,546 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Lables); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMyAlgorithmReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMyAlgorithmResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadDeleteMyAlgorithm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMyAlgorithmReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMyAlgorithmResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMyAlgorithm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadCreateMyAlgorithm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDataSetReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDataSetResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDataSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadCreateDataSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMyDatasetListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMyDatasetListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadMyDatasetList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Datasets); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Applies); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDataSetReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteDataSetResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadDeleteDataSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotebookListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotebookListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadNotebookList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Notebooks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Tasks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserImageListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetUserImageListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadUserImageList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Images); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Image); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteImageReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteImageResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadDeleteImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateImageReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateImageResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadCreateImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadImageReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadImageParam); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadImageResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadUploadImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Headers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadImageConfirmReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UploadImageConfirmResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadUploadImageConfirm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Error); i { case 0: return &v.state @@ -3186,7 +6901,7 @@ func file_octopus_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_octopus_proto_rawDesc, NumEnums: 0, - NumMessages: 32, + NumMessages: 77, NumExtensions: 0, NumServices: 1, }, diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go index f03d017f..27d4a0b5 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc v3.19.4 // source: octopus.proto @@ -18,24 +18,60 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + Octopus_GetComputingPower_FullMethodName = "/octopus.Octopus/GetComputingPower" + Octopus_GetGeneralInfo_FullMethodName = "/octopus.Octopus/GetGeneralInfo" + Octopus_GetMyAlgorithmList_FullMethodName = "/octopus.Octopus/GetMyAlgorithmList" + Octopus_GetAlgorithmList_FullMethodName = "/octopus.Octopus/GetAlgorithmList" + Octopus_GetAlgorithm_FullMethodName = "/octopus.Octopus/GetAlgorithm" + Octopus_GetAlgorithmApplyList_FullMethodName = "/octopus.Octopus/GetAlgorithmApplyList" + Octopus_GetAlgorithmFrameworkList_FullMethodName = "/octopus.Octopus/GetAlgorithmFrameworkList" + Octopus_DeleteMyAlgorithm_FullMethodName = "/octopus.Octopus/DeleteMyAlgorithm" + Octopus_CreateMyAlgorithm_FullMethodName = "/octopus.Octopus/CreateMyAlgorithm" + Octopus_DownloadAlgorithm_FullMethodName = "/octopus.Octopus/DownloadAlgorithm" + Octopus_UploadAlgorithm_FullMethodName = "/octopus.Octopus/UploadAlgorithm" + Octopus_UploadAlgorithmConfirm_FullMethodName = "/octopus.Octopus/UploadAlgorithmConfirm" + Octopus_GetMyDatasetList_FullMethodName = "/octopus.Octopus/GetMyDatasetList" + Octopus_CreateDataSet_FullMethodName = "/octopus.Octopus/CreateDataSet" + Octopus_DeleteDataSet_FullMethodName = "/octopus.Octopus/DeleteDataSet" + Octopus_GetNotebookList_FullMethodName = "/octopus.Octopus/GetNotebookList" + Octopus_GetUserImageList_FullMethodName = "/octopus.Octopus/GetUserImageList" + Octopus_CreateImage_FullMethodName = "/octopus.Octopus/CreateImage" + Octopus_DeleteImage_FullMethodName = "/octopus.Octopus/DeleteImage" + Octopus_UploadImage_FullMethodName = "/octopus.Octopus/UploadImage" + Octopus_UploadImageConfirm_FullMethodName = "/octopus.Octopus/UploadImageConfirm" +) + // OctopusClient is the client API for Octopus service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type OctopusClient interface { GetComputingPower(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*CpResp, error) GetGeneralInfo(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*GiResp, error) - // Algorithm + //Algorithm GetMyAlgorithmList(ctx context.Context, in *GetMyAlgorithmListReq, opts ...grpc.CallOption) (*GetMyAlgorithmListResp, error) - // DatasetService + GetAlgorithmList(ctx context.Context, in *GetAlgorithmListReq, opts ...grpc.CallOption) (*GetAlgorithmListResp, error) + GetAlgorithm(ctx context.Context, in *GetAlgorithmReq, opts ...grpc.CallOption) (*GetAlgorithmResp, error) + GetAlgorithmApplyList(ctx context.Context, in *GetAlgorithmApplyListReq, opts ...grpc.CallOption) (*GetAlgorithmApplyListResp, error) + GetAlgorithmFrameworkList(ctx context.Context, in *GetAlgorithmFrameworkListReq, opts ...grpc.CallOption) (*GetAlgorithmFrameworkListResp, error) + DeleteMyAlgorithm(ctx context.Context, in *DeleteMyAlgorithmReq, opts ...grpc.CallOption) (*DeleteMyAlgorithmResp, error) + CreateMyAlgorithm(ctx context.Context, in *CreateMyAlgorithmReq, opts ...grpc.CallOption) (*CreateMyAlgorithmResp, error) + DownloadAlgorithm(ctx context.Context, in *DownloadAlgorithmReq, opts ...grpc.CallOption) (*DownloadAlgorithmResp, error) + UploadAlgorithm(ctx context.Context, in *UploadAlgorithmReq, opts ...grpc.CallOption) (*UploadAlgorithmResp, error) + UploadAlgorithmConfirm(ctx context.Context, in *UploadAlgorithmConfirmReq, opts ...grpc.CallOption) (*UploadAlgorithmConfirmResp, error) + //DatasetService GetMyDatasetList(ctx context.Context, in *GetMyDatasetListReq, opts ...grpc.CallOption) (*GetMyDatasetListResp, error) - CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResq, error) - // ModelDeployService - // Develop + CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResp, error) + DeleteDataSet(ctx context.Context, in *DeleteDataSetReq, opts ...grpc.CallOption) (*DeleteDataSetResp, error) + //ModelDeployService + //Develop GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) - // ImageService + //ImageService GetUserImageList(ctx context.Context, in *GetUserImageListReq, opts ...grpc.CallOption) (*GetUserImageListResp, error) CreateImage(ctx context.Context, in *CreateImageReq, opts ...grpc.CallOption) (*CreateImageResp, error) DeleteImage(ctx context.Context, in *DeleteImageReq, opts ...grpc.CallOption) (*DeleteImageResp, error) + UploadImage(ctx context.Context, in *UploadImageReq, opts ...grpc.CallOption) (*UploadImageResp, error) + UploadImageConfirm(ctx context.Context, in *UploadImageConfirmReq, opts ...grpc.CallOption) (*UploadImageConfirmResp, error) } type octopusClient struct { @@ -48,7 +84,7 @@ func NewOctopusClient(cc grpc.ClientConnInterface) OctopusClient { func (c *octopusClient) GetComputingPower(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*CpResp, error) { out := new(CpResp) - err := c.cc.Invoke(ctx, "/octopus.Octopus/GetComputingPower", in, out, opts...) + err := c.cc.Invoke(ctx, Octopus_GetComputingPower_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -57,7 +93,7 @@ func (c *octopusClient) GetComputingPower(ctx context.Context, in *ResourceReq, func (c *octopusClient) GetGeneralInfo(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*GiResp, error) { out := new(GiResp) - err := c.cc.Invoke(ctx, "/octopus.Octopus/GetGeneralInfo", in, out, opts...) + err := c.cc.Invoke(ctx, Octopus_GetGeneralInfo_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -66,7 +102,88 @@ func (c *octopusClient) GetGeneralInfo(ctx context.Context, in *ResourceReq, opt func (c *octopusClient) GetMyAlgorithmList(ctx context.Context, in *GetMyAlgorithmListReq, opts ...grpc.CallOption) (*GetMyAlgorithmListResp, error) { out := new(GetMyAlgorithmListResp) - err := c.cc.Invoke(ctx, "/octopus.Octopus/GetMyAlgorithmList", in, out, opts...) + err := c.cc.Invoke(ctx, Octopus_GetMyAlgorithmList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) GetAlgorithmList(ctx context.Context, in *GetAlgorithmListReq, opts ...grpc.CallOption) (*GetAlgorithmListResp, error) { + out := new(GetAlgorithmListResp) + err := c.cc.Invoke(ctx, Octopus_GetAlgorithmList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) GetAlgorithm(ctx context.Context, in *GetAlgorithmReq, opts ...grpc.CallOption) (*GetAlgorithmResp, error) { + out := new(GetAlgorithmResp) + err := c.cc.Invoke(ctx, Octopus_GetAlgorithm_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) GetAlgorithmApplyList(ctx context.Context, in *GetAlgorithmApplyListReq, opts ...grpc.CallOption) (*GetAlgorithmApplyListResp, error) { + out := new(GetAlgorithmApplyListResp) + err := c.cc.Invoke(ctx, Octopus_GetAlgorithmApplyList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) GetAlgorithmFrameworkList(ctx context.Context, in *GetAlgorithmFrameworkListReq, opts ...grpc.CallOption) (*GetAlgorithmFrameworkListResp, error) { + out := new(GetAlgorithmFrameworkListResp) + err := c.cc.Invoke(ctx, Octopus_GetAlgorithmFrameworkList_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) DeleteMyAlgorithm(ctx context.Context, in *DeleteMyAlgorithmReq, opts ...grpc.CallOption) (*DeleteMyAlgorithmResp, error) { + out := new(DeleteMyAlgorithmResp) + err := c.cc.Invoke(ctx, Octopus_DeleteMyAlgorithm_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) CreateMyAlgorithm(ctx context.Context, in *CreateMyAlgorithmReq, opts ...grpc.CallOption) (*CreateMyAlgorithmResp, error) { + out := new(CreateMyAlgorithmResp) + err := c.cc.Invoke(ctx, Octopus_CreateMyAlgorithm_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) DownloadAlgorithm(ctx context.Context, in *DownloadAlgorithmReq, opts ...grpc.CallOption) (*DownloadAlgorithmResp, error) { + out := new(DownloadAlgorithmResp) + err := c.cc.Invoke(ctx, Octopus_DownloadAlgorithm_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) UploadAlgorithm(ctx context.Context, in *UploadAlgorithmReq, opts ...grpc.CallOption) (*UploadAlgorithmResp, error) { + out := new(UploadAlgorithmResp) + err := c.cc.Invoke(ctx, Octopus_UploadAlgorithm_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) UploadAlgorithmConfirm(ctx context.Context, in *UploadAlgorithmConfirmReq, opts ...grpc.CallOption) (*UploadAlgorithmConfirmResp, error) { + out := new(UploadAlgorithmConfirmResp) + err := c.cc.Invoke(ctx, Octopus_UploadAlgorithmConfirm_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -75,16 +192,25 @@ func (c *octopusClient) GetMyAlgorithmList(ctx context.Context, in *GetMyAlgorit func (c *octopusClient) GetMyDatasetList(ctx context.Context, in *GetMyDatasetListReq, opts ...grpc.CallOption) (*GetMyDatasetListResp, error) { out := new(GetMyDatasetListResp) - err := c.cc.Invoke(ctx, "/octopus.Octopus/GetMyDatasetList", in, out, opts...) + err := c.cc.Invoke(ctx, Octopus_GetMyDatasetList_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *octopusClient) CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResq, error) { - out := new(CreateDataSetResq) - err := c.cc.Invoke(ctx, "/octopus.Octopus/CreateDataSet", in, out, opts...) +func (c *octopusClient) CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResp, error) { + out := new(CreateDataSetResp) + err := c.cc.Invoke(ctx, Octopus_CreateDataSet_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) DeleteDataSet(ctx context.Context, in *DeleteDataSetReq, opts ...grpc.CallOption) (*DeleteDataSetResp, error) { + out := new(DeleteDataSetResp) + err := c.cc.Invoke(ctx, Octopus_DeleteDataSet_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -93,7 +219,7 @@ func (c *octopusClient) CreateDataSet(ctx context.Context, in *CreateDataSetReq, func (c *octopusClient) GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) { out := new(GetNotebookListResp) - err := c.cc.Invoke(ctx, "/octopus.Octopus/GetNotebookList", in, out, opts...) + err := c.cc.Invoke(ctx, Octopus_GetNotebookList_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -102,7 +228,7 @@ func (c *octopusClient) GetNotebookList(ctx context.Context, in *GetNotebookList func (c *octopusClient) GetUserImageList(ctx context.Context, in *GetUserImageListReq, opts ...grpc.CallOption) (*GetUserImageListResp, error) { out := new(GetUserImageListResp) - err := c.cc.Invoke(ctx, "/octopus.Octopus/GetUserImageList", in, out, opts...) + err := c.cc.Invoke(ctx, Octopus_GetUserImageList_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -111,7 +237,7 @@ func (c *octopusClient) GetUserImageList(ctx context.Context, in *GetUserImageLi func (c *octopusClient) CreateImage(ctx context.Context, in *CreateImageReq, opts ...grpc.CallOption) (*CreateImageResp, error) { out := new(CreateImageResp) - err := c.cc.Invoke(ctx, "/octopus.Octopus/CreateImage", in, out, opts...) + err := c.cc.Invoke(ctx, Octopus_CreateImage_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -120,7 +246,25 @@ func (c *octopusClient) CreateImage(ctx context.Context, in *CreateImageReq, opt func (c *octopusClient) DeleteImage(ctx context.Context, in *DeleteImageReq, opts ...grpc.CallOption) (*DeleteImageResp, error) { out := new(DeleteImageResp) - err := c.cc.Invoke(ctx, "/octopus.Octopus/DeleteImage", in, out, opts...) + err := c.cc.Invoke(ctx, Octopus_DeleteImage_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) UploadImage(ctx context.Context, in *UploadImageReq, opts ...grpc.CallOption) (*UploadImageResp, error) { + out := new(UploadImageResp) + err := c.cc.Invoke(ctx, Octopus_UploadImage_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) UploadImageConfirm(ctx context.Context, in *UploadImageConfirmReq, opts ...grpc.CallOption) (*UploadImageConfirmResp, error) { + out := new(UploadImageConfirmResp) + err := c.cc.Invoke(ctx, Octopus_UploadImageConfirm_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -133,18 +277,30 @@ func (c *octopusClient) DeleteImage(ctx context.Context, in *DeleteImageReq, opt type OctopusServer interface { GetComputingPower(context.Context, *ResourceReq) (*CpResp, error) GetGeneralInfo(context.Context, *ResourceReq) (*GiResp, error) - // Algorithm + //Algorithm GetMyAlgorithmList(context.Context, *GetMyAlgorithmListReq) (*GetMyAlgorithmListResp, error) - // DatasetService + GetAlgorithmList(context.Context, *GetAlgorithmListReq) (*GetAlgorithmListResp, error) + GetAlgorithm(context.Context, *GetAlgorithmReq) (*GetAlgorithmResp, error) + GetAlgorithmApplyList(context.Context, *GetAlgorithmApplyListReq) (*GetAlgorithmApplyListResp, error) + GetAlgorithmFrameworkList(context.Context, *GetAlgorithmFrameworkListReq) (*GetAlgorithmFrameworkListResp, error) + DeleteMyAlgorithm(context.Context, *DeleteMyAlgorithmReq) (*DeleteMyAlgorithmResp, error) + CreateMyAlgorithm(context.Context, *CreateMyAlgorithmReq) (*CreateMyAlgorithmResp, error) + DownloadAlgorithm(context.Context, *DownloadAlgorithmReq) (*DownloadAlgorithmResp, error) + UploadAlgorithm(context.Context, *UploadAlgorithmReq) (*UploadAlgorithmResp, error) + UploadAlgorithmConfirm(context.Context, *UploadAlgorithmConfirmReq) (*UploadAlgorithmConfirmResp, error) + //DatasetService GetMyDatasetList(context.Context, *GetMyDatasetListReq) (*GetMyDatasetListResp, error) - CreateDataSet(context.Context, *CreateDataSetReq) (*CreateDataSetResq, error) - // ModelDeployService - // Develop + CreateDataSet(context.Context, *CreateDataSetReq) (*CreateDataSetResp, error) + DeleteDataSet(context.Context, *DeleteDataSetReq) (*DeleteDataSetResp, error) + //ModelDeployService + //Develop GetNotebookList(context.Context, *GetNotebookListReq) (*GetNotebookListResp, error) - // ImageService + //ImageService GetUserImageList(context.Context, *GetUserImageListReq) (*GetUserImageListResp, error) CreateImage(context.Context, *CreateImageReq) (*CreateImageResp, error) DeleteImage(context.Context, *DeleteImageReq) (*DeleteImageResp, error) + UploadImage(context.Context, *UploadImageReq) (*UploadImageResp, error) + UploadImageConfirm(context.Context, *UploadImageConfirmReq) (*UploadImageConfirmResp, error) mustEmbedUnimplementedOctopusServer() } @@ -161,12 +317,42 @@ func (UnimplementedOctopusServer) GetGeneralInfo(context.Context, *ResourceReq) func (UnimplementedOctopusServer) GetMyAlgorithmList(context.Context, *GetMyAlgorithmListReq) (*GetMyAlgorithmListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMyAlgorithmList not implemented") } +func (UnimplementedOctopusServer) GetAlgorithmList(context.Context, *GetAlgorithmListReq) (*GetAlgorithmListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAlgorithmList not implemented") +} +func (UnimplementedOctopusServer) GetAlgorithm(context.Context, *GetAlgorithmReq) (*GetAlgorithmResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAlgorithm not implemented") +} +func (UnimplementedOctopusServer) GetAlgorithmApplyList(context.Context, *GetAlgorithmApplyListReq) (*GetAlgorithmApplyListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAlgorithmApplyList not implemented") +} +func (UnimplementedOctopusServer) GetAlgorithmFrameworkList(context.Context, *GetAlgorithmFrameworkListReq) (*GetAlgorithmFrameworkListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAlgorithmFrameworkList not implemented") +} +func (UnimplementedOctopusServer) DeleteMyAlgorithm(context.Context, *DeleteMyAlgorithmReq) (*DeleteMyAlgorithmResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteMyAlgorithm not implemented") +} +func (UnimplementedOctopusServer) CreateMyAlgorithm(context.Context, *CreateMyAlgorithmReq) (*CreateMyAlgorithmResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateMyAlgorithm not implemented") +} +func (UnimplementedOctopusServer) DownloadAlgorithm(context.Context, *DownloadAlgorithmReq) (*DownloadAlgorithmResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DownloadAlgorithm not implemented") +} +func (UnimplementedOctopusServer) UploadAlgorithm(context.Context, *UploadAlgorithmReq) (*UploadAlgorithmResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadAlgorithm not implemented") +} +func (UnimplementedOctopusServer) UploadAlgorithmConfirm(context.Context, *UploadAlgorithmConfirmReq) (*UploadAlgorithmConfirmResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadAlgorithmConfirm not implemented") +} func (UnimplementedOctopusServer) GetMyDatasetList(context.Context, *GetMyDatasetListReq) (*GetMyDatasetListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMyDatasetList not implemented") } -func (UnimplementedOctopusServer) CreateDataSet(context.Context, *CreateDataSetReq) (*CreateDataSetResq, error) { +func (UnimplementedOctopusServer) CreateDataSet(context.Context, *CreateDataSetReq) (*CreateDataSetResp, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateDataSet not implemented") } +func (UnimplementedOctopusServer) DeleteDataSet(context.Context, *DeleteDataSetReq) (*DeleteDataSetResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDataSet not implemented") +} func (UnimplementedOctopusServer) GetNotebookList(context.Context, *GetNotebookListReq) (*GetNotebookListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetNotebookList not implemented") } @@ -179,6 +365,12 @@ func (UnimplementedOctopusServer) CreateImage(context.Context, *CreateImageReq) func (UnimplementedOctopusServer) DeleteImage(context.Context, *DeleteImageReq) (*DeleteImageResp, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteImage not implemented") } +func (UnimplementedOctopusServer) UploadImage(context.Context, *UploadImageReq) (*UploadImageResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadImage not implemented") +} +func (UnimplementedOctopusServer) UploadImageConfirm(context.Context, *UploadImageConfirmReq) (*UploadImageConfirmResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadImageConfirm not implemented") +} func (UnimplementedOctopusServer) mustEmbedUnimplementedOctopusServer() {} // UnsafeOctopusServer may be embedded to opt out of forward compatibility for this service. @@ -202,7 +394,7 @@ func _Octopus_GetComputingPower_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/octopus.Octopus/GetComputingPower", + FullMethod: Octopus_GetComputingPower_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OctopusServer).GetComputingPower(ctx, req.(*ResourceReq)) @@ -220,7 +412,7 @@ func _Octopus_GetGeneralInfo_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/octopus.Octopus/GetGeneralInfo", + FullMethod: Octopus_GetGeneralInfo_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OctopusServer).GetGeneralInfo(ctx, req.(*ResourceReq)) @@ -238,7 +430,7 @@ func _Octopus_GetMyAlgorithmList_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/octopus.Octopus/GetMyAlgorithmList", + FullMethod: Octopus_GetMyAlgorithmList_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OctopusServer).GetMyAlgorithmList(ctx, req.(*GetMyAlgorithmListReq)) @@ -246,6 +438,168 @@ func _Octopus_GetMyAlgorithmList_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _Octopus_GetAlgorithmList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAlgorithmListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).GetAlgorithmList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_GetAlgorithmList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).GetAlgorithmList(ctx, req.(*GetAlgorithmListReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_GetAlgorithm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAlgorithmReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).GetAlgorithm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_GetAlgorithm_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).GetAlgorithm(ctx, req.(*GetAlgorithmReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_GetAlgorithmApplyList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAlgorithmApplyListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).GetAlgorithmApplyList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_GetAlgorithmApplyList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).GetAlgorithmApplyList(ctx, req.(*GetAlgorithmApplyListReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_GetAlgorithmFrameworkList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAlgorithmFrameworkListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).GetAlgorithmFrameworkList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_GetAlgorithmFrameworkList_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).GetAlgorithmFrameworkList(ctx, req.(*GetAlgorithmFrameworkListReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_DeleteMyAlgorithm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteMyAlgorithmReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).DeleteMyAlgorithm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_DeleteMyAlgorithm_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).DeleteMyAlgorithm(ctx, req.(*DeleteMyAlgorithmReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_CreateMyAlgorithm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateMyAlgorithmReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).CreateMyAlgorithm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_CreateMyAlgorithm_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).CreateMyAlgorithm(ctx, req.(*CreateMyAlgorithmReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_DownloadAlgorithm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DownloadAlgorithmReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).DownloadAlgorithm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_DownloadAlgorithm_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).DownloadAlgorithm(ctx, req.(*DownloadAlgorithmReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_UploadAlgorithm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadAlgorithmReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).UploadAlgorithm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_UploadAlgorithm_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).UploadAlgorithm(ctx, req.(*UploadAlgorithmReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_UploadAlgorithmConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadAlgorithmConfirmReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).UploadAlgorithmConfirm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_UploadAlgorithmConfirm_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).UploadAlgorithmConfirm(ctx, req.(*UploadAlgorithmConfirmReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Octopus_GetMyDatasetList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetMyDatasetListReq) if err := dec(in); err != nil { @@ -256,7 +610,7 @@ func _Octopus_GetMyDatasetList_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/octopus.Octopus/GetMyDatasetList", + FullMethod: Octopus_GetMyDatasetList_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OctopusServer).GetMyDatasetList(ctx, req.(*GetMyDatasetListReq)) @@ -274,7 +628,7 @@ func _Octopus_CreateDataSet_Handler(srv interface{}, ctx context.Context, dec fu } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/octopus.Octopus/CreateDataSet", + FullMethod: Octopus_CreateDataSet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OctopusServer).CreateDataSet(ctx, req.(*CreateDataSetReq)) @@ -282,6 +636,24 @@ func _Octopus_CreateDataSet_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Octopus_DeleteDataSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDataSetReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).DeleteDataSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_DeleteDataSet_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).DeleteDataSet(ctx, req.(*DeleteDataSetReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Octopus_GetNotebookList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetNotebookListReq) if err := dec(in); err != nil { @@ -292,7 +664,7 @@ func _Octopus_GetNotebookList_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/octopus.Octopus/GetNotebookList", + FullMethod: Octopus_GetNotebookList_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OctopusServer).GetNotebookList(ctx, req.(*GetNotebookListReq)) @@ -310,7 +682,7 @@ func _Octopus_GetUserImageList_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/octopus.Octopus/GetUserImageList", + FullMethod: Octopus_GetUserImageList_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OctopusServer).GetUserImageList(ctx, req.(*GetUserImageListReq)) @@ -328,7 +700,7 @@ func _Octopus_CreateImage_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/octopus.Octopus/CreateImage", + FullMethod: Octopus_CreateImage_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OctopusServer).CreateImage(ctx, req.(*CreateImageReq)) @@ -346,7 +718,7 @@ func _Octopus_DeleteImage_Handler(srv interface{}, ctx context.Context, dec func } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/octopus.Octopus/DeleteImage", + FullMethod: Octopus_DeleteImage_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(OctopusServer).DeleteImage(ctx, req.(*DeleteImageReq)) @@ -354,6 +726,42 @@ func _Octopus_DeleteImage_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Octopus_UploadImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadImageReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).UploadImage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_UploadImage_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).UploadImage(ctx, req.(*UploadImageReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_UploadImageConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadImageConfirmReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).UploadImageConfirm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Octopus_UploadImageConfirm_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).UploadImageConfirm(ctx, req.(*UploadImageConfirmReq)) + } + return interceptor(ctx, in, info, handler) +} + // Octopus_ServiceDesc is the grpc.ServiceDesc for Octopus service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -373,6 +781,42 @@ var Octopus_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetMyAlgorithmList", Handler: _Octopus_GetMyAlgorithmList_Handler, }, + { + MethodName: "GetAlgorithmList", + Handler: _Octopus_GetAlgorithmList_Handler, + }, + { + MethodName: "GetAlgorithm", + Handler: _Octopus_GetAlgorithm_Handler, + }, + { + MethodName: "GetAlgorithmApplyList", + Handler: _Octopus_GetAlgorithmApplyList_Handler, + }, + { + MethodName: "GetAlgorithmFrameworkList", + Handler: _Octopus_GetAlgorithmFrameworkList_Handler, + }, + { + MethodName: "DeleteMyAlgorithm", + Handler: _Octopus_DeleteMyAlgorithm_Handler, + }, + { + MethodName: "CreateMyAlgorithm", + Handler: _Octopus_CreateMyAlgorithm_Handler, + }, + { + MethodName: "DownloadAlgorithm", + Handler: _Octopus_DownloadAlgorithm_Handler, + }, + { + MethodName: "UploadAlgorithm", + Handler: _Octopus_UploadAlgorithm_Handler, + }, + { + MethodName: "UploadAlgorithmConfirm", + Handler: _Octopus_UploadAlgorithmConfirm_Handler, + }, { MethodName: "GetMyDatasetList", Handler: _Octopus_GetMyDatasetList_Handler, @@ -381,6 +825,10 @@ var Octopus_ServiceDesc = grpc.ServiceDesc{ MethodName: "CreateDataSet", Handler: _Octopus_CreateDataSet_Handler, }, + { + MethodName: "DeleteDataSet", + Handler: _Octopus_DeleteDataSet_Handler, + }, { MethodName: "GetNotebookList", Handler: _Octopus_GetNotebookList_Handler, @@ -397,6 +845,14 @@ var Octopus_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteImage", Handler: _Octopus_DeleteImage_Handler, }, + { + MethodName: "UploadImage", + Handler: _Octopus_UploadImage_Handler, + }, + { + MethodName: "UploadImageConfirm", + Handler: _Octopus_UploadImageConfirm_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "octopus.proto", diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go index a8391842..62dead7c 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go @@ -13,53 +13,110 @@ import ( ) type ( - Algorithms = octopus.Algorithms - Applies = octopus.Applies - CpResp = octopus.CpResp - CreateDataSetReq = octopus.CreateDataSetReq - CreateDataSetResq = octopus.CreateDataSetResq - CreateImage = octopus.CreateImage - CreateImageReq = octopus.CreateImageReq - CreateImageResp = octopus.CreateImageResp - Datasets = octopus.Datasets - DeleteImageReq = octopus.DeleteImageReq - DeleteImageResp = octopus.DeleteImageResp - Error = octopus.Error - GetMyAlgorithmListReq = octopus.GetMyAlgorithmListReq - GetMyAlgorithmListResp = octopus.GetMyAlgorithmListResp - GetMyDatasetListReq = octopus.GetMyDatasetListReq - GetMyDatasetListResp = octopus.GetMyDatasetListResp - GetNotebookListReq = octopus.GetNotebookListReq - GetNotebookListResp = octopus.GetNotebookListResp - GetUserImageListReq = octopus.GetUserImageListReq - GetUserImageListResp = octopus.GetUserImageListResp - GiResp = octopus.GiResp - Image = octopus.Image - Images = octopus.Images - Notebooks = octopus.Notebooks - PayloadCreateImage = octopus.PayloadCreateImage - PayloadDeleteImage = octopus.PayloadDeleteImage - PayloadMyAlgorithmList = octopus.PayloadMyAlgorithmList - PayloadMyDatasetList = octopus.PayloadMyDatasetList - PayloadNotebookList = octopus.PayloadNotebookList - PayloadUserImageList = octopus.PayloadUserImageList - ResourceReq = octopus.ResourceReq - Tasks = octopus.Tasks + AlgorithmDetail = octopus.AlgorithmDetail + Algorithms = octopus.Algorithms + Applies = octopus.Applies + CpResp = octopus.CpResp + CreateDataSet = octopus.CreateDataSet + CreateDataSetReq = octopus.CreateDataSetReq + CreateDataSetResp = octopus.CreateDataSetResp + CreateImage = octopus.CreateImage + CreateImageReq = octopus.CreateImageReq + CreateImageResp = octopus.CreateImageResp + CreateMyAlgorithm = octopus.CreateMyAlgorithm + CreateMyAlgorithmReq = octopus.CreateMyAlgorithmReq + CreateMyAlgorithmResp = octopus.CreateMyAlgorithmResp + Datasets = octopus.Datasets + DeleteDataSetReq = octopus.DeleteDataSetReq + DeleteDataSetResp = octopus.DeleteDataSetResp + DeleteImageReq = octopus.DeleteImageReq + DeleteImageResp = octopus.DeleteImageResp + DeleteMyAlgorithmReq = octopus.DeleteMyAlgorithmReq + DeleteMyAlgorithmResp = octopus.DeleteMyAlgorithmResp + DownloadAlgorithmReq = octopus.DownloadAlgorithmReq + DownloadAlgorithmResp = octopus.DownloadAlgorithmResp + Error = octopus.Error + GetAlgorithmApplyListReq = octopus.GetAlgorithmApplyListReq + GetAlgorithmApplyListResp = octopus.GetAlgorithmApplyListResp + GetAlgorithmFrameworkListReq = octopus.GetAlgorithmFrameworkListReq + GetAlgorithmFrameworkListResp = octopus.GetAlgorithmFrameworkListResp + GetAlgorithmListReq = octopus.GetAlgorithmListReq + GetAlgorithmListResp = octopus.GetAlgorithmListResp + GetAlgorithmReq = octopus.GetAlgorithmReq + GetAlgorithmResp = octopus.GetAlgorithmResp + GetMyAlgorithmListReq = octopus.GetMyAlgorithmListReq + GetMyAlgorithmListResp = octopus.GetMyAlgorithmListResp + GetMyDatasetListReq = octopus.GetMyDatasetListReq + GetMyDatasetListResp = octopus.GetMyDatasetListResp + GetNotebookListReq = octopus.GetNotebookListReq + GetNotebookListResp = octopus.GetNotebookListResp + GetUserImageListReq = octopus.GetUserImageListReq + GetUserImageListResp = octopus.GetUserImageListResp + GiResp = octopus.GiResp + Headers = octopus.Headers + Image = octopus.Image + Images = octopus.Images + Lables = octopus.Lables + Notebooks = octopus.Notebooks + PayloadAlgorithmFrameworkList = octopus.PayloadAlgorithmFrameworkList + PayloadAlgorithmList = octopus.PayloadAlgorithmList + PayloadCreateDataSet = octopus.PayloadCreateDataSet + PayloadCreateImage = octopus.PayloadCreateImage + PayloadCreateMyAlgorithm = octopus.PayloadCreateMyAlgorithm + PayloadDeleteDataSet = octopus.PayloadDeleteDataSet + PayloadDeleteImage = octopus.PayloadDeleteImage + PayloadDeleteMyAlgorithm = octopus.PayloadDeleteMyAlgorithm + PayloadDownloadAlgorithm = octopus.PayloadDownloadAlgorithm + PayloadGetAlgorithm = octopus.PayloadGetAlgorithm + PayloadGetAlgorithmApplyList = octopus.PayloadGetAlgorithmApplyList + PayloadMyAlgorithmList = octopus.PayloadMyAlgorithmList + PayloadMyDatasetList = octopus.PayloadMyDatasetList + PayloadNotebookList = octopus.PayloadNotebookList + PayloadUploadAlgorithm = octopus.PayloadUploadAlgorithm + PayloadUploadAlgorithmConfirm = octopus.PayloadUploadAlgorithmConfirm + PayloadUploadImage = octopus.PayloadUploadImage + PayloadUploadImageConfirm = octopus.PayloadUploadImageConfirm + PayloadUserImageList = octopus.PayloadUserImageList + ResourceReq = octopus.ResourceReq + Tasks = octopus.Tasks + UploadAlgorithmConfirmReq = octopus.UploadAlgorithmConfirmReq + UploadAlgorithmConfirmResp = octopus.UploadAlgorithmConfirmResp + UploadAlgorithmParam = octopus.UploadAlgorithmParam + UploadAlgorithmReq = octopus.UploadAlgorithmReq + UploadAlgorithmResp = octopus.UploadAlgorithmResp + UploadImageConfirmReq = octopus.UploadImageConfirmReq + UploadImageConfirmResp = octopus.UploadImageConfirmResp + UploadImageParam = octopus.UploadImageParam + UploadImageReq = octopus.UploadImageReq + UploadImageResp = octopus.UploadImageResp + VersionAccesses = octopus.VersionAccesses Octopus interface { GetComputingPower(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*CpResp, error) GetGeneralInfo(ctx context.Context, in *ResourceReq, opts ...grpc.CallOption) (*GiResp, error) // Algorithm GetMyAlgorithmList(ctx context.Context, in *GetMyAlgorithmListReq, opts ...grpc.CallOption) (*GetMyAlgorithmListResp, error) + GetAlgorithmList(ctx context.Context, in *GetAlgorithmListReq, opts ...grpc.CallOption) (*GetAlgorithmListResp, error) + GetAlgorithm(ctx context.Context, in *GetAlgorithmReq, opts ...grpc.CallOption) (*GetAlgorithmResp, error) + GetAlgorithmApplyList(ctx context.Context, in *GetAlgorithmApplyListReq, opts ...grpc.CallOption) (*GetAlgorithmApplyListResp, error) + GetAlgorithmFrameworkList(ctx context.Context, in *GetAlgorithmFrameworkListReq, opts ...grpc.CallOption) (*GetAlgorithmFrameworkListResp, error) + DeleteMyAlgorithm(ctx context.Context, in *DeleteMyAlgorithmReq, opts ...grpc.CallOption) (*DeleteMyAlgorithmResp, error) + CreateMyAlgorithm(ctx context.Context, in *CreateMyAlgorithmReq, opts ...grpc.CallOption) (*CreateMyAlgorithmResp, error) + DownloadAlgorithm(ctx context.Context, in *DownloadAlgorithmReq, opts ...grpc.CallOption) (*DownloadAlgorithmResp, error) + UploadAlgorithm(ctx context.Context, in *UploadAlgorithmReq, opts ...grpc.CallOption) (*UploadAlgorithmResp, error) + UploadAlgorithmConfirm(ctx context.Context, in *UploadAlgorithmConfirmReq, opts ...grpc.CallOption) (*UploadAlgorithmConfirmResp, error) // DatasetService GetMyDatasetList(ctx context.Context, in *GetMyDatasetListReq, opts ...grpc.CallOption) (*GetMyDatasetListResp, error) - CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResq, error) + CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResp, error) + DeleteDataSet(ctx context.Context, in *DeleteDataSetReq, opts ...grpc.CallOption) (*DeleteDataSetResp, error) // ModelDeployService GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) // ImageService GetUserImageList(ctx context.Context, in *GetUserImageListReq, opts ...grpc.CallOption) (*GetUserImageListResp, error) CreateImage(ctx context.Context, in *CreateImageReq, opts ...grpc.CallOption) (*CreateImageResp, error) DeleteImage(ctx context.Context, in *DeleteImageReq, opts ...grpc.CallOption) (*DeleteImageResp, error) + UploadImage(ctx context.Context, in *UploadImageReq, opts ...grpc.CallOption) (*UploadImageResp, error) + UploadImageConfirm(ctx context.Context, in *UploadImageConfirmReq, opts ...grpc.CallOption) (*UploadImageConfirmResp, error) } defaultOctopus struct { @@ -89,17 +146,67 @@ func (m *defaultOctopus) GetMyAlgorithmList(ctx context.Context, in *GetMyAlgori return client.GetMyAlgorithmList(ctx, in, opts...) } +func (m *defaultOctopus) GetAlgorithmList(ctx context.Context, in *GetAlgorithmListReq, opts ...grpc.CallOption) (*GetAlgorithmListResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.GetAlgorithmList(ctx, in, opts...) +} + +func (m *defaultOctopus) GetAlgorithm(ctx context.Context, in *GetAlgorithmReq, opts ...grpc.CallOption) (*GetAlgorithmResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.GetAlgorithm(ctx, in, opts...) +} + +func (m *defaultOctopus) GetAlgorithmApplyList(ctx context.Context, in *GetAlgorithmApplyListReq, opts ...grpc.CallOption) (*GetAlgorithmApplyListResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.GetAlgorithmApplyList(ctx, in, opts...) +} + +func (m *defaultOctopus) GetAlgorithmFrameworkList(ctx context.Context, in *GetAlgorithmFrameworkListReq, opts ...grpc.CallOption) (*GetAlgorithmFrameworkListResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.GetAlgorithmFrameworkList(ctx, in, opts...) +} + +func (m *defaultOctopus) DeleteMyAlgorithm(ctx context.Context, in *DeleteMyAlgorithmReq, opts ...grpc.CallOption) (*DeleteMyAlgorithmResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.DeleteMyAlgorithm(ctx, in, opts...) +} + +func (m *defaultOctopus) CreateMyAlgorithm(ctx context.Context, in *CreateMyAlgorithmReq, opts ...grpc.CallOption) (*CreateMyAlgorithmResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.CreateMyAlgorithm(ctx, in, opts...) +} + +func (m *defaultOctopus) DownloadAlgorithm(ctx context.Context, in *DownloadAlgorithmReq, opts ...grpc.CallOption) (*DownloadAlgorithmResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.DownloadAlgorithm(ctx, in, opts...) +} + +func (m *defaultOctopus) UploadAlgorithm(ctx context.Context, in *UploadAlgorithmReq, opts ...grpc.CallOption) (*UploadAlgorithmResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.UploadAlgorithm(ctx, in, opts...) +} + +func (m *defaultOctopus) UploadAlgorithmConfirm(ctx context.Context, in *UploadAlgorithmConfirmReq, opts ...grpc.CallOption) (*UploadAlgorithmConfirmResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.UploadAlgorithmConfirm(ctx, in, opts...) +} + // DatasetService func (m *defaultOctopus) GetMyDatasetList(ctx context.Context, in *GetMyDatasetListReq, opts ...grpc.CallOption) (*GetMyDatasetListResp, error) { client := octopus.NewOctopusClient(m.cli.Conn()) return client.GetMyDatasetList(ctx, in, opts...) } -func (m *defaultOctopus) CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResq, error) { +func (m *defaultOctopus) CreateDataSet(ctx context.Context, in *CreateDataSetReq, opts ...grpc.CallOption) (*CreateDataSetResp, error) { client := octopus.NewOctopusClient(m.cli.Conn()) return client.CreateDataSet(ctx, in, opts...) } +func (m *defaultOctopus) DeleteDataSet(ctx context.Context, in *DeleteDataSetReq, opts ...grpc.CallOption) (*DeleteDataSetResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.DeleteDataSet(ctx, in, opts...) +} + // ModelDeployService func (m *defaultOctopus) GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) { client := octopus.NewOctopusClient(m.cli.Conn()) @@ -121,3 +228,13 @@ func (m *defaultOctopus) DeleteImage(ctx context.Context, in *DeleteImageReq, op client := octopus.NewOctopusClient(m.cli.Conn()) return client.DeleteImage(ctx, in, opts...) } + +func (m *defaultOctopus) UploadImage(ctx context.Context, in *UploadImageReq, opts ...grpc.CallOption) (*UploadImageResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.UploadImage(ctx, in, opts...) +} + +func (m *defaultOctopus) UploadImageConfirm(ctx context.Context, in *UploadImageConfirmReq, opts ...grpc.CallOption) (*UploadImageConfirmResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.UploadImageConfirm(ctx, in, opts...) +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto index 3751f044..980ee5fa 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto @@ -16,21 +16,107 @@ message giResp{ int32 memoryInGib = 2; } - -message CreateDataSetReq { - repeated string applyIds = 1; // @gotags: copier:"ApplyIds" - string desc = 2; // @gotags: copier:"Desc" - string name = 3; // @gotags: copier:"Name" - string typeId = 4; // @gotags: copier:"TypeId" - -} - -message CreateDataSetResq{ - string id =1; // @gotags: copier:"Id" - string version =2; // @gotags: copier:"Version" -} - /******************Algorithm Start*************************/ +message GetAlgorithmReq{ + string platform =1; + string algorithmId = 2; + string version = 3; +} + +message GetAlgorithmResp{ + bool success =1; + PayloadGetAlgorithm payload =2; + Error error = 3; +} + +message PayloadGetAlgorithm{ + Algorithms algorithm = 1; + repeated VersionAccesses versionAccesses = 2; +} + +message VersionAccesses{ + string algorithmId = 1; + string spaceId = 2; + string version = 3; +} + +message DownloadAlgorithmReq{ + string platform =1; + string algorithmId = 2; + string version = 3; +} + +message DownloadAlgorithmResp{ + bool success =1; + PayloadDownloadAlgorithm payload =2; + Error error = 3; +} + +message PayloadDownloadAlgorithm{ + string downloadUrl = 1; +} + +message UploadAlgorithmReq{ + string platform =1; + string algorithmId = 2; + string version = 3; + UploadAlgorithmParam uploadAlgorithmParam = 4; +} + +message UploadAlgorithmParam{ + string domain = 1; + string fileName = 2; +} + +message UploadAlgorithmResp{ + bool success =1; + PayloadUploadAlgorithm payload =2; + Error error = 3; +} + +message PayloadUploadAlgorithm{ + string uploadUrl = 1; +} + +message UploadAlgorithmConfirmReq{ + string platform =1; + string algorithmId = 2; + string version = 3; + string fileName = 4; +} + +message UploadAlgorithmConfirmResp{ + bool success =1; + PayloadUploadAlgorithmConfirm payload =2; + Error error = 3; +} + +message PayloadUploadAlgorithmConfirm{ + int64 updatedAt = 1; +} + +message GetAlgorithmListReq{ + string platform =1; + int32 pageIndex =2; + int32 pageSize =3; +} + +message GetAlgorithmListResp{ + bool success =1; + PayloadAlgorithmList payload =2; + Error error = 3; +} + +message PayloadAlgorithmList{ + int32 totalSize =1; + repeated AlgorithmDetail algorithms = 2; +} + +message AlgorithmDetail{ + Algorithms algorithmDetail = 1; + bool isShared =2; +} + message GetMyAlgorithmListReq{ string platform =1; int32 pageIndex =2; @@ -68,9 +154,114 @@ message Algorithms{ string frameworkId=17; string frameworkName=18; } + +message GetAlgorithmApplyListReq{ + string platform =1; + int32 pageIndex =2; + int32 pageSize =3; +} + +message GetAlgorithmApplyListResp{ + bool success =1; + PayloadGetAlgorithmApplyList payload =2; + Error error = 3; +} + +message PayloadGetAlgorithmApplyList{ + int32 totalSize = 1; + repeated Lables lables =2; +} + +message GetAlgorithmFrameworkListReq{ + string platform =1; + int32 pageIndex =2; + int32 pageSize =3; +} + +message GetAlgorithmFrameworkListResp{ + bool success =1; + PayloadAlgorithmFrameworkList payload =2; + Error error = 3; +} + +message PayloadAlgorithmFrameworkList{ + int32 totalSize = 1; + repeated Lables lables =2; +} + +message Lables{ + string id = 1; + string lableDesc = 2; + int32 sourceType = 3; +} + +message DeleteMyAlgorithmReq{ + string platform =1; + string algorithmId=2; +} + +message DeleteMyAlgorithmResp{ + bool success =1; + PayloadDeleteMyAlgorithm payload =2; + Error error = 3; +} + +message PayloadDeleteMyAlgorithm{ + int64 deletedAt=1; +} + +message CreateMyAlgorithmReq{ + string platform =1; + CreateMyAlgorithm createMyAlgorithm=2; +} + +message CreateMyAlgorithmResp{ + bool success =1; + PayloadCreateMyAlgorithm payload =2; + Error error = 3; +} + +message CreateMyAlgorithm{ + string algorithmDescript = 1; + string algorithmName =2; + string applyId =3; + string frameworkId =4; + string isEmpty =5; + string modelName=6; +} + +message PayloadCreateMyAlgorithm{ + string algorithmId =1; + int64 createdAt =2; + string version =3; +} + /******************Algorithm End*************************/ /******************DatasetService Start*************************/ +message CreateDataSetReq{ + string platform =1; + CreateDataSet createDataSet=2; +} + +message CreateDataSetResp{ + bool success =1; + PayloadCreateDataSet payload =2; + Error error = 3; +} + +message CreateDataSet{ + repeated string applyIds = 1; + string desc = 2; + string name = 3; + string typeId = 4; +} + +message PayloadCreateDataSet{ + string id = 1; + string version = 2; +} + message GetMyDatasetListReq{ string platform =1; int32 pageIndex =2; @@ -105,6 +296,21 @@ message Applies{ string id=1; string desc=2; } + +message DeleteDataSetReq{ + string platform =1; + string id=2; +} + +message DeleteDataSetResp{ + bool success =1; + PayloadDeleteDataSet payload =2; + Error error = 3; +} + +message PayloadDeleteDataSet{ + int64 deletedAt = 1; +} /******************DatasetService End*************************/ /******************ModelDeployService Start*************************/ @@ -238,6 +444,49 @@ message PayloadCreateImage{ int64 createdAt=2; } +message UploadImageReq{ + string platform =1; + string imageId=2; + UploadImageParam uploadImageParam = 3; +} + +message UploadImageParam{ + string domain = 1; + string fileName = 2; +} + +message UploadImageResp{ + bool success =1; + PayloadUploadImage payload =2; + Error error = 3; +} + +message PayloadUploadImage{ + string uploadUrl = 1; + Headers headers = 2; +} + +message Headers{ + string additionalProp1=1; + string additionalProp2=2; + string additionalProp3=3; +} + +message UploadImageConfirmReq{ + string platform =1; + string imageId=2; +} + +message UploadImageConfirmResp{ + bool success =1; + PayloadUploadImageConfirm payload =2; + Error error = 3; +} + +message PayloadUploadImageConfirm{ + int64 updatedAt = 1; +} + /******************ImageService End*************************/ /******************Model Start*************************/ @@ -262,11 +511,26 @@ service Octopus { //Algorithm rpc GetMyAlgorithmList(GetMyAlgorithmListReq) returns (GetMyAlgorithmListResp); + rpc GetAlgorithmList(GetAlgorithmListReq) returns (GetAlgorithmListResp); //查询算法版本列表 + rpc GetAlgorithm(GetAlgorithmReq) returns (GetAlgorithmResp); //查询算法版本详情 + rpc GetAlgorithmApplyList(GetAlgorithmApplyListReq) returns (GetAlgorithmApplyListResp); + rpc GetAlgorithmFrameworkList(GetAlgorithmFrameworkListReq) returns (GetAlgorithmFrameworkListResp); + rpc DeleteMyAlgorithm(DeleteMyAlgorithmReq) returns (DeleteMyAlgorithmResp); + rpc CreateMyAlgorithm(CreateMyAlgorithmReq) returns (CreateMyAlgorithmResp); + rpc DownloadAlgorithm(DownloadAlgorithmReq) returns (DownloadAlgorithmResp); //下载算法版本 + rpc UploadAlgorithm(UploadAlgorithmReq) returns (UploadAlgorithmResp); + rpc UploadAlgorithmConfirm(UploadAlgorithmConfirmReq) returns (UploadAlgorithmConfirmResp); + + + + + //DatasetService rpc GetMyDatasetList(GetMyDatasetListReq) returns (GetMyDatasetListResp); + rpc CreateDataSet(CreateDataSetReq) returns (CreateDataSetResp); + rpc DeleteDataSet(DeleteDataSetReq) returns (DeleteDataSetResp); - rpc CreateDataSet(CreateDataSetReq) returns (CreateDataSetResq); //ModelDeployService @@ -275,10 +539,10 @@ service Octopus { //ImageService rpc GetUserImageList(GetUserImageListReq) returns (GetUserImageListResp); - rpc CreateImage(CreateImageReq) returns (CreateImageResp); - rpc DeleteImage(DeleteImageReq) returns (DeleteImageResp); + rpc UploadImage(UploadImageReq) returns (UploadImageResp); + rpc UploadImageConfirm(UploadImageConfirmReq) returns (UploadImageConfirmResp);