From df7f8ab42f77896f8fc17beef9f2e62519843560 Mon Sep 17 00:00:00 2001 From: adi6859 Date: Tue, 21 Feb 2023 20:44:04 +0530 Subject: [PATCH 01/11] created getNotes method --- api/helm-app/HelmAppService.go | 30 +++++++++++++++++++ .../deployment/service/InstalledAppService.go | 28 +++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/api/helm-app/HelmAppService.go b/api/helm-app/HelmAppService.go index 0131f93014..e361bd85ca 100644 --- a/api/helm-app/HelmAppService.go +++ b/api/helm-app/HelmAppService.go @@ -60,6 +60,7 @@ type HelmAppService interface { GetDevtronHelmAppIdentifier() *AppIdentifier UpdateApplicationWithChartInfoWithExtraValues(ctx context.Context, appIdentifier *AppIdentifier, chartRepository *ChartRepository, extraValues map[string]interface{}, extraValuesYamlUrl string, useLatestChartVersion bool) (*openapi.UpdateReleaseResponse, error) TemplateChart(ctx context.Context, templateChartRequest *openapi2.TemplateChartRequest) (*openapi2.TemplateChartResponse, error) + GetNotes(request *InstallReleaseRequest) (string, error) } type HelmAppServiceImpl struct { @@ -727,6 +728,35 @@ func (impl *HelmAppServiceImpl) TemplateChart(ctx context.Context, templateChart return response, nil } +func (impl *HelmAppServiceImpl) GetNotes(request *InstallReleaseRequest) (string, error) { + //if err != nil { + // impl.logger.Errorw("Error in fetching app-store application version", "appStoreApplicationVersionId", appStoreApplicationVersionId, "err", err) + // return "", err + //} + //installedAppVerison, err := impl.installedAppRepository.GetInstalledAppVersionByInstalledAppIdAndEnvId(installedAppId, envId) + //if err != nil { + // impl.logger.Error(err) + // return bean2.AppDetailContainer{}, err + //} + installReleaseRequest := &InstallReleaseRequest{ + ChartName: request.ChartName, + ChartVersion: request.ChartVersion, + ValuesYaml: request.ValuesYaml, + ChartRepository: &ChartRepository{ + Name: request.ChartRepository.Name, + Url: request.ChartRepository.Url, + Username: request.ChartRepository.Username, + Password: request.ChartRepository.Password, + }, + ReleaseIdentifier: &ReleaseIdentifier{ + ReleaseNamespace: request.ReleaseIdentifier.ReleaseNamespace, + ReleaseName: request.ReleaseIdentifier.ReleaseName, + }, + } + notes, err := impl.helmAppClient.InstallRelease(installReleaseRequest) + //TODO handle thiws error + return notes, err +} type AppIdentifier struct { ClusterId int `json:"clusterId"` diff --git a/pkg/appStore/deployment/service/InstalledAppService.go b/pkg/appStore/deployment/service/InstalledAppService.go index 09535be222..431fba5b01 100644 --- a/pkg/appStore/deployment/service/InstalledAppService.go +++ b/pkg/appStore/deployment/service/InstalledAppService.go @@ -775,6 +775,34 @@ func (impl *InstalledAppServiceImpl) FindAppDetailsForAppstoreApplication(instal appDetail := bean2.AppDetailContainer{ DeploymentDetailContainer: deploymentContainer, } + if util.IsAcdApp(installedAppVerison.InstalledApp.DeploymentAppType) { + appStoreAppVersion, err := impl.appStoreApplicationVersionRepository.FindById(installedAppVerison.AppStoreApplicationVersion.Id) + if err != nil { + impl.logger.Errorw("error fetching app store app version in installed app service", "err", err) + return appDetail, err + } + installReleaseRequest := &client.InstallReleaseRequest{ + ChartName: appStoreAppVersion.Name, + ChartVersion: appStoreAppVersion.Version, + ValuesYaml: installedAppVerison.ValuesYaml, + ChartRepository: &client.ChartRepository{ + Name: appStoreAppVersion.AppStore.ChartRepo.Name, + Url: appStoreAppVersion.AppStore.ChartRepo.Url, + Username: appStoreAppVersion.AppStore.ChartRepo.UserName, + Password: appStoreAppVersion.AppStore.ChartRepo.Password, + }, + ReleaseIdentifier: &client.ReleaseIdentifier{ + ReleaseNamespace: installedAppVerison.InstalledApp.Environment.Namespace, + ReleaseName: installedAppVerison.InstalledApp.App.AppName, + }, + } + + notes, err := impl.helmAppService.GetNotes(installReleaseRequest) + appDetail = bean2.AppDetailContainer{ + Notes: notes, + } + + } return appDetail, nil } From 05c18b7ec66405b3eabb1dec926f7c2ef1023724 Mon Sep 17 00:00:00 2001 From: adi6859 Date: Thu, 23 Feb 2023 10:34:02 +0530 Subject: [PATCH 02/11] created getNotes method and call from grpc --- api/bean/AppView.go | 1 + api/helm-app/HelmAppService.go | 24 +- api/helm-app/applicationClient.go | 15 + api/helm-app/applist.pb.go | 1447 +++++++++-------- api/helm-app/applist.proto | 4 + api/helm-app/applist_grpc.pb.go | 42 +- .../deployment/service/InstalledAppService.go | 2 +- 7 files changed, 826 insertions(+), 709 deletions(-) diff --git a/api/bean/AppView.go b/api/bean/AppView.go index 681ac4f5d9..4b5c8bde9d 100644 --- a/api/bean/AppView.go +++ b/api/bean/AppView.go @@ -121,6 +121,7 @@ type AppDetailContainer struct { Environments []Environment `json:"otherEnvironment,omitempty"` LinkOuts []LinkOuts `json:"linkOuts,omitempty"` ResourceTree map[string]interface{} `json:"resourceTree,omitempty"` + Notes string `json:"Notes,omitempty"` } type Environment struct { diff --git a/api/helm-app/HelmAppService.go b/api/helm-app/HelmAppService.go index e361bd85ca..c5ee4adb3a 100644 --- a/api/helm-app/HelmAppService.go +++ b/api/helm-app/HelmAppService.go @@ -60,7 +60,7 @@ type HelmAppService interface { GetDevtronHelmAppIdentifier() *AppIdentifier UpdateApplicationWithChartInfoWithExtraValues(ctx context.Context, appIdentifier *AppIdentifier, chartRepository *ChartRepository, extraValues map[string]interface{}, extraValuesYamlUrl string, useLatestChartVersion bool) (*openapi.UpdateReleaseResponse, error) TemplateChart(ctx context.Context, templateChartRequest *openapi2.TemplateChartRequest) (*openapi2.TemplateChartResponse, error) - GetNotes(request *InstallReleaseRequest) (string, error) + GetNotes(ctx context.Context, request *InstallReleaseRequest) (string, error) } type HelmAppServiceImpl struct { @@ -728,16 +728,7 @@ func (impl *HelmAppServiceImpl) TemplateChart(ctx context.Context, templateChart return response, nil } -func (impl *HelmAppServiceImpl) GetNotes(request *InstallReleaseRequest) (string, error) { - //if err != nil { - // impl.logger.Errorw("Error in fetching app-store application version", "appStoreApplicationVersionId", appStoreApplicationVersionId, "err", err) - // return "", err - //} - //installedAppVerison, err := impl.installedAppRepository.GetInstalledAppVersionByInstalledAppIdAndEnvId(installedAppId, envId) - //if err != nil { - // impl.logger.Error(err) - // return bean2.AppDetailContainer{}, err - //} +func (impl *HelmAppServiceImpl) GetNotes(ctx context.Context, request *InstallReleaseRequest) (string, error) { installReleaseRequest := &InstallReleaseRequest{ ChartName: request.ChartName, ChartVersion: request.ChartVersion, @@ -753,9 +744,14 @@ func (impl *HelmAppServiceImpl) GetNotes(request *InstallReleaseRequest) (string ReleaseName: request.ReleaseIdentifier.ReleaseName, }, } - notes, err := impl.helmAppClient.InstallRelease(installReleaseRequest) - //TODO handle thiws error - return notes, err + var notesTxt string + response, err := impl.helmAppClient.GetNotes(ctx, installReleaseRequest) + if err != nil { + impl.logger.Errorw("error in fetching chart", "err", err) + return notesTxt, err + } + notesTxt = response.Notes + return notesTxt, err } type AppIdentifier struct { diff --git a/api/helm-app/applicationClient.go b/api/helm-app/applicationClient.go index 146b16ce63..421d2e0d72 100644 --- a/api/helm-app/applicationClient.go +++ b/api/helm-app/applicationClient.go @@ -28,6 +28,7 @@ type HelmAppClient interface { RollbackRelease(ctx context.Context, in *RollbackReleaseRequest) (*BooleanResponse, error) TemplateChart(ctx context.Context, in *InstallReleaseRequest) (*TemplateChartResponse, error) InstallReleaseWithCustomChart(ctx context.Context, in *HelmInstallCustomRequest) (*HelmInstallCustomResponse, error) + GetNotes(ctx context.Context, request *InstallReleaseRequest) (*ChartNotesResponse, error) } type HelmAppClientImpl struct { @@ -290,3 +291,17 @@ func (impl *HelmAppClientImpl) InstallReleaseWithCustomChart(ctx context.Context } return response, nil } + +func (impl *HelmAppClientImpl) GetNotes(ctx context.Context, in *InstallReleaseRequest) (*ChartNotesResponse, error) { + applicationClient, err := impl.getApplicationClient() + if err != nil { + return nil, err + } + response, err := applicationClient.GetNotes(ctx, in) + + if err != nil { + return nil, err + } + return response, nil + +} diff --git a/api/helm-app/applist.pb.go b/api/helm-app/applist.pb.go index 64d5fe0236..b7bc9562cc 100644 --- a/api/helm-app/applist.pb.go +++ b/api/helm-app/applist.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.27.1 // protoc v3.9.1 -// source: grpc/applist.proto +// source: api/helm-app/applist.proto package client @@ -35,7 +35,7 @@ type ClusterConfig struct { func (x *ClusterConfig) Reset() { *x = ClusterConfig{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[0] + mi := &file_api_helm_app_applist_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48,7 +48,7 @@ func (x *ClusterConfig) String() string { func (*ClusterConfig) ProtoMessage() {} func (x *ClusterConfig) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[0] + mi := &file_api_helm_app_applist_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61,7 +61,7 @@ func (x *ClusterConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ClusterConfig.ProtoReflect.Descriptor instead. func (*ClusterConfig) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{0} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{0} } func (x *ClusterConfig) GetApiServerUrl() string { @@ -103,7 +103,7 @@ type AppListRequest struct { func (x *AppListRequest) Reset() { *x = AppListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[1] + mi := &file_api_helm_app_applist_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116,7 +116,7 @@ func (x *AppListRequest) String() string { func (*AppListRequest) ProtoMessage() {} func (x *AppListRequest) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[1] + mi := &file_api_helm_app_applist_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -129,7 +129,7 @@ func (x *AppListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AppListRequest.ProtoReflect.Descriptor instead. func (*AppListRequest) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{1} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{1} } func (x *AppListRequest) GetClusters() []*ClusterConfig { @@ -153,7 +153,7 @@ type DeployedAppList struct { func (x *DeployedAppList) Reset() { *x = DeployedAppList{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[2] + mi := &file_api_helm_app_applist_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -166,7 +166,7 @@ func (x *DeployedAppList) String() string { func (*DeployedAppList) ProtoMessage() {} func (x *DeployedAppList) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[2] + mi := &file_api_helm_app_applist_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -179,7 +179,7 @@ func (x *DeployedAppList) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployedAppList.ProtoReflect.Descriptor instead. func (*DeployedAppList) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{2} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{2} } func (x *DeployedAppList) GetDeployedAppDetail() []*DeployedAppDetail { @@ -227,7 +227,7 @@ type DeployedAppDetail struct { func (x *DeployedAppDetail) Reset() { *x = DeployedAppDetail{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[3] + mi := &file_api_helm_app_applist_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -240,7 +240,7 @@ func (x *DeployedAppDetail) String() string { func (*DeployedAppDetail) ProtoMessage() {} func (x *DeployedAppDetail) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[3] + mi := &file_api_helm_app_applist_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -253,7 +253,7 @@ func (x *DeployedAppDetail) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployedAppDetail.ProtoReflect.Descriptor instead. func (*DeployedAppDetail) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{3} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{3} } func (x *DeployedAppDetail) GetAppId() string { @@ -318,7 +318,7 @@ type EnvironmentDetails struct { func (x *EnvironmentDetails) Reset() { *x = EnvironmentDetails{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[4] + mi := &file_api_helm_app_applist_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -331,7 +331,7 @@ func (x *EnvironmentDetails) String() string { func (*EnvironmentDetails) ProtoMessage() {} func (x *EnvironmentDetails) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[4] + mi := &file_api_helm_app_applist_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -344,7 +344,7 @@ func (x *EnvironmentDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use EnvironmentDetails.ProtoReflect.Descriptor instead. func (*EnvironmentDetails) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{4} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{4} } func (x *EnvironmentDetails) GetClusterName() string { @@ -383,7 +383,7 @@ type AppDetailRequest struct { func (x *AppDetailRequest) Reset() { *x = AppDetailRequest{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[5] + mi := &file_api_helm_app_applist_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -396,7 +396,7 @@ func (x *AppDetailRequest) String() string { func (*AppDetailRequest) ProtoMessage() {} func (x *AppDetailRequest) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[5] + mi := &file_api_helm_app_applist_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -409,7 +409,7 @@ func (x *AppDetailRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AppDetailRequest.ProtoReflect.Descriptor instead. func (*AppDetailRequest) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{5} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{5} } func (x *AppDetailRequest) GetClusterConfig() *ClusterConfig { @@ -456,7 +456,7 @@ type AppDetail struct { func (x *AppDetail) Reset() { *x = AppDetail{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[6] + mi := &file_api_helm_app_applist_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -469,7 +469,7 @@ func (x *AppDetail) String() string { func (*AppDetail) ProtoMessage() {} func (x *AppDetail) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[6] + mi := &file_api_helm_app_applist_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -482,7 +482,7 @@ func (x *AppDetail) ProtoReflect() protoreflect.Message { // Deprecated: Use AppDetail.ProtoReflect.Descriptor instead. func (*AppDetail) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{6} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{6} } func (x *AppDetail) GetApplicationStatus() string { @@ -538,7 +538,7 @@ type AppStatus struct { func (x *AppStatus) Reset() { *x = AppStatus{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[7] + mi := &file_api_helm_app_applist_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -551,7 +551,7 @@ func (x *AppStatus) String() string { func (*AppStatus) ProtoMessage() {} func (x *AppStatus) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[7] + mi := &file_api_helm_app_applist_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -564,7 +564,7 @@ func (x *AppStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use AppStatus.ProtoReflect.Descriptor instead. func (*AppStatus) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{7} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{7} } func (x *AppStatus) GetApplicationStatus() string { @@ -587,7 +587,7 @@ type ReleaseStatus struct { func (x *ReleaseStatus) Reset() { *x = ReleaseStatus{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[8] + mi := &file_api_helm_app_applist_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -600,7 +600,7 @@ func (x *ReleaseStatus) String() string { func (*ReleaseStatus) ProtoMessage() {} func (x *ReleaseStatus) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[8] + mi := &file_api_helm_app_applist_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -613,7 +613,7 @@ func (x *ReleaseStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ReleaseStatus.ProtoReflect.Descriptor instead. func (*ReleaseStatus) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{8} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{8} } func (x *ReleaseStatus) GetStatus() string { @@ -654,7 +654,7 @@ type ChartMetadata struct { func (x *ChartMetadata) Reset() { *x = ChartMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[9] + mi := &file_api_helm_app_applist_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -667,7 +667,7 @@ func (x *ChartMetadata) String() string { func (*ChartMetadata) ProtoMessage() {} func (x *ChartMetadata) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[9] + mi := &file_api_helm_app_applist_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -680,7 +680,7 @@ func (x *ChartMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use ChartMetadata.ProtoReflect.Descriptor instead. func (*ChartMetadata) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{9} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{9} } func (x *ChartMetadata) GetChartName() string { @@ -737,7 +737,7 @@ type ResourceTreeResponse struct { func (x *ResourceTreeResponse) Reset() { *x = ResourceTreeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[10] + mi := &file_api_helm_app_applist_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -750,7 +750,7 @@ func (x *ResourceTreeResponse) String() string { func (*ResourceTreeResponse) ProtoMessage() {} func (x *ResourceTreeResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[10] + mi := &file_api_helm_app_applist_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -763,7 +763,7 @@ func (x *ResourceTreeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceTreeResponse.ProtoReflect.Descriptor instead. func (*ResourceTreeResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{10} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{10} } func (x *ResourceTreeResponse) GetNodes() []*ResourceNode { @@ -804,7 +804,7 @@ type ResourceNode struct { func (x *ResourceNode) Reset() { *x = ResourceNode{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[11] + mi := &file_api_helm_app_applist_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -817,7 +817,7 @@ func (x *ResourceNode) String() string { func (*ResourceNode) ProtoMessage() {} func (x *ResourceNode) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[11] + mi := &file_api_helm_app_applist_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -830,7 +830,7 @@ func (x *ResourceNode) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceNode.ProtoReflect.Descriptor instead. func (*ResourceNode) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{11} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{11} } func (x *ResourceNode) GetGroup() string { @@ -943,7 +943,7 @@ type InfoItem struct { func (x *InfoItem) Reset() { *x = InfoItem{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[12] + mi := &file_api_helm_app_applist_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -956,7 +956,7 @@ func (x *InfoItem) String() string { func (*InfoItem) ProtoMessage() {} func (x *InfoItem) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[12] + mi := &file_api_helm_app_applist_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -969,7 +969,7 @@ func (x *InfoItem) ProtoReflect() protoreflect.Message { // Deprecated: Use InfoItem.ProtoReflect.Descriptor instead. func (*InfoItem) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{12} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{12} } func (x *InfoItem) GetName() string { @@ -998,7 +998,7 @@ type HealthStatus struct { func (x *HealthStatus) Reset() { *x = HealthStatus{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[13] + mi := &file_api_helm_app_applist_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1011,7 +1011,7 @@ func (x *HealthStatus) String() string { func (*HealthStatus) ProtoMessage() {} func (x *HealthStatus) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[13] + mi := &file_api_helm_app_applist_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1024,7 +1024,7 @@ func (x *HealthStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthStatus.ProtoReflect.Descriptor instead. func (*HealthStatus) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{13} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{13} } func (x *HealthStatus) GetStatus() string { @@ -1052,7 +1052,7 @@ type ResourceNetworkingInfo struct { func (x *ResourceNetworkingInfo) Reset() { *x = ResourceNetworkingInfo{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[14] + mi := &file_api_helm_app_applist_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1065,7 +1065,7 @@ func (x *ResourceNetworkingInfo) String() string { func (*ResourceNetworkingInfo) ProtoMessage() {} func (x *ResourceNetworkingInfo) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[14] + mi := &file_api_helm_app_applist_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1078,7 +1078,7 @@ func (x *ResourceNetworkingInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceNetworkingInfo.ProtoReflect.Descriptor instead. func (*ResourceNetworkingInfo) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{14} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{14} } func (x *ResourceNetworkingInfo) GetLabels() map[string]string { @@ -1104,7 +1104,7 @@ type ResourceRef struct { func (x *ResourceRef) Reset() { *x = ResourceRef{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[15] + mi := &file_api_helm_app_applist_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1117,7 +1117,7 @@ func (x *ResourceRef) String() string { func (*ResourceRef) ProtoMessage() {} func (x *ResourceRef) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[15] + mi := &file_api_helm_app_applist_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1130,7 +1130,7 @@ func (x *ResourceRef) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceRef.ProtoReflect.Descriptor instead. func (*ResourceRef) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{15} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{15} } func (x *ResourceRef) GetGroup() string { @@ -1190,7 +1190,7 @@ type PodMetadata struct { func (x *PodMetadata) Reset() { *x = PodMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[16] + mi := &file_api_helm_app_applist_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1203,7 +1203,7 @@ func (x *PodMetadata) String() string { func (*PodMetadata) ProtoMessage() {} func (x *PodMetadata) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[16] + mi := &file_api_helm_app_applist_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1216,7 +1216,7 @@ func (x *PodMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use PodMetadata.ProtoReflect.Descriptor instead. func (*PodMetadata) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{16} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{16} } func (x *PodMetadata) GetName() string { @@ -1266,7 +1266,7 @@ type HibernateRequest struct { func (x *HibernateRequest) Reset() { *x = HibernateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[17] + mi := &file_api_helm_app_applist_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1279,7 +1279,7 @@ func (x *HibernateRequest) String() string { func (*HibernateRequest) ProtoMessage() {} func (x *HibernateRequest) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[17] + mi := &file_api_helm_app_applist_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1292,7 +1292,7 @@ func (x *HibernateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use HibernateRequest.ProtoReflect.Descriptor instead. func (*HibernateRequest) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{17} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{17} } func (x *HibernateRequest) GetClusterConfig() *ClusterConfig { @@ -1324,7 +1324,7 @@ type ObjectIdentifier struct { func (x *ObjectIdentifier) Reset() { *x = ObjectIdentifier{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[18] + mi := &file_api_helm_app_applist_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1337,7 +1337,7 @@ func (x *ObjectIdentifier) String() string { func (*ObjectIdentifier) ProtoMessage() {} func (x *ObjectIdentifier) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[18] + mi := &file_api_helm_app_applist_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1350,7 +1350,7 @@ func (x *ObjectIdentifier) ProtoReflect() protoreflect.Message { // Deprecated: Use ObjectIdentifier.ProtoReflect.Descriptor instead. func (*ObjectIdentifier) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{18} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{18} } func (x *ObjectIdentifier) GetGroup() string { @@ -1401,7 +1401,7 @@ type HibernateStatus struct { func (x *HibernateStatus) Reset() { *x = HibernateStatus{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[19] + mi := &file_api_helm_app_applist_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1414,7 +1414,7 @@ func (x *HibernateStatus) String() string { func (*HibernateStatus) ProtoMessage() {} func (x *HibernateStatus) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[19] + mi := &file_api_helm_app_applist_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1427,7 +1427,7 @@ func (x *HibernateStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use HibernateStatus.ProtoReflect.Descriptor instead. func (*HibernateStatus) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{19} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{19} } func (x *HibernateStatus) GetTargetObject() *ObjectIdentifier { @@ -1462,7 +1462,7 @@ type HibernateResponse struct { func (x *HibernateResponse) Reset() { *x = HibernateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[20] + mi := &file_api_helm_app_applist_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1475,7 +1475,7 @@ func (x *HibernateResponse) String() string { func (*HibernateResponse) ProtoMessage() {} func (x *HibernateResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[20] + mi := &file_api_helm_app_applist_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1488,7 +1488,7 @@ func (x *HibernateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use HibernateResponse.ProtoReflect.Descriptor instead. func (*HibernateResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{20} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{20} } func (x *HibernateResponse) GetStatus() []*HibernateStatus { @@ -1512,7 +1512,7 @@ type HelmAppDeploymentDetail struct { func (x *HelmAppDeploymentDetail) Reset() { *x = HelmAppDeploymentDetail{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[21] + mi := &file_api_helm_app_applist_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1525,7 +1525,7 @@ func (x *HelmAppDeploymentDetail) String() string { func (*HelmAppDeploymentDetail) ProtoMessage() {} func (x *HelmAppDeploymentDetail) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[21] + mi := &file_api_helm_app_applist_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1538,7 +1538,7 @@ func (x *HelmAppDeploymentDetail) ProtoReflect() protoreflect.Message { // Deprecated: Use HelmAppDeploymentDetail.ProtoReflect.Descriptor instead. func (*HelmAppDeploymentDetail) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{21} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{21} } func (x *HelmAppDeploymentDetail) GetChartMetadata() *ChartMetadata { @@ -1580,7 +1580,7 @@ type HelmAppDeploymentHistory struct { func (x *HelmAppDeploymentHistory) Reset() { *x = HelmAppDeploymentHistory{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[22] + mi := &file_api_helm_app_applist_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1593,7 +1593,7 @@ func (x *HelmAppDeploymentHistory) String() string { func (*HelmAppDeploymentHistory) ProtoMessage() {} func (x *HelmAppDeploymentHistory) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[22] + mi := &file_api_helm_app_applist_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1606,7 +1606,7 @@ func (x *HelmAppDeploymentHistory) ProtoReflect() protoreflect.Message { // Deprecated: Use HelmAppDeploymentHistory.ProtoReflect.Descriptor instead. func (*HelmAppDeploymentHistory) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{22} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{22} } func (x *HelmAppDeploymentHistory) GetDeploymentHistory() []*HelmAppDeploymentDetail { @@ -1632,7 +1632,7 @@ type ReleaseInfo struct { func (x *ReleaseInfo) Reset() { *x = ReleaseInfo{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[23] + mi := &file_api_helm_app_applist_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1645,7 +1645,7 @@ func (x *ReleaseInfo) String() string { func (*ReleaseInfo) ProtoMessage() {} func (x *ReleaseInfo) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[23] + mi := &file_api_helm_app_applist_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1658,7 +1658,7 @@ func (x *ReleaseInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReleaseInfo.ProtoReflect.Descriptor instead. func (*ReleaseInfo) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{23} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{23} } func (x *ReleaseInfo) GetDeployedAppDetail() *DeployedAppDetail { @@ -1717,7 +1717,7 @@ type ObjectRequest struct { func (x *ObjectRequest) Reset() { *x = ObjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[24] + mi := &file_api_helm_app_applist_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1730,7 +1730,7 @@ func (x *ObjectRequest) String() string { func (*ObjectRequest) ProtoMessage() {} func (x *ObjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[24] + mi := &file_api_helm_app_applist_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1743,7 +1743,7 @@ func (x *ObjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ObjectRequest.ProtoReflect.Descriptor instead. func (*ObjectRequest) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{24} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{24} } func (x *ObjectRequest) GetClusterConfig() *ClusterConfig { @@ -1785,7 +1785,7 @@ type DesiredManifestResponse struct { func (x *DesiredManifestResponse) Reset() { *x = DesiredManifestResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[25] + mi := &file_api_helm_app_applist_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1798,7 +1798,7 @@ func (x *DesiredManifestResponse) String() string { func (*DesiredManifestResponse) ProtoMessage() {} func (x *DesiredManifestResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[25] + mi := &file_api_helm_app_applist_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1811,7 +1811,7 @@ func (x *DesiredManifestResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DesiredManifestResponse.ProtoReflect.Descriptor instead. func (*DesiredManifestResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{25} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{25} } func (x *DesiredManifestResponse) GetManifest() string { @@ -1832,7 +1832,7 @@ type UninstallReleaseResponse struct { func (x *UninstallReleaseResponse) Reset() { *x = UninstallReleaseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[26] + mi := &file_api_helm_app_applist_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1845,7 +1845,7 @@ func (x *UninstallReleaseResponse) String() string { func (*UninstallReleaseResponse) ProtoMessage() {} func (x *UninstallReleaseResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[26] + mi := &file_api_helm_app_applist_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1858,7 +1858,7 @@ func (x *UninstallReleaseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UninstallReleaseResponse.ProtoReflect.Descriptor instead. func (*UninstallReleaseResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{26} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{26} } func (x *UninstallReleaseResponse) GetSuccess() bool { @@ -1881,7 +1881,7 @@ type ReleaseIdentifier struct { func (x *ReleaseIdentifier) Reset() { *x = ReleaseIdentifier{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[27] + mi := &file_api_helm_app_applist_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1894,7 +1894,7 @@ func (x *ReleaseIdentifier) String() string { func (*ReleaseIdentifier) ProtoMessage() {} func (x *ReleaseIdentifier) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[27] + mi := &file_api_helm_app_applist_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1907,7 +1907,7 @@ func (x *ReleaseIdentifier) ProtoReflect() protoreflect.Message { // Deprecated: Use ReleaseIdentifier.ProtoReflect.Descriptor instead. func (*ReleaseIdentifier) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{27} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{27} } func (x *ReleaseIdentifier) GetClusterConfig() *ClusterConfig { @@ -1943,7 +1943,7 @@ type UpgradeReleaseRequest struct { func (x *UpgradeReleaseRequest) Reset() { *x = UpgradeReleaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[28] + mi := &file_api_helm_app_applist_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1956,7 +1956,7 @@ func (x *UpgradeReleaseRequest) String() string { func (*UpgradeReleaseRequest) ProtoMessage() {} func (x *UpgradeReleaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[28] + mi := &file_api_helm_app_applist_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1969,7 +1969,7 @@ func (x *UpgradeReleaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpgradeReleaseRequest.ProtoReflect.Descriptor instead. func (*UpgradeReleaseRequest) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{28} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{28} } func (x *UpgradeReleaseRequest) GetReleaseIdentifier() *ReleaseIdentifier { @@ -1997,7 +1997,7 @@ type UpgradeReleaseResponse struct { func (x *UpgradeReleaseResponse) Reset() { *x = UpgradeReleaseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[29] + mi := &file_api_helm_app_applist_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2010,7 +2010,7 @@ func (x *UpgradeReleaseResponse) String() string { func (*UpgradeReleaseResponse) ProtoMessage() {} func (x *UpgradeReleaseResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[29] + mi := &file_api_helm_app_applist_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2023,7 +2023,7 @@ func (x *UpgradeReleaseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpgradeReleaseResponse.ProtoReflect.Descriptor instead. func (*UpgradeReleaseResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{29} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{29} } func (x *UpgradeReleaseResponse) GetSuccess() bool { @@ -2045,7 +2045,7 @@ type DeploymentDetailRequest struct { func (x *DeploymentDetailRequest) Reset() { *x = DeploymentDetailRequest{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[30] + mi := &file_api_helm_app_applist_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2058,7 +2058,7 @@ func (x *DeploymentDetailRequest) String() string { func (*DeploymentDetailRequest) ProtoMessage() {} func (x *DeploymentDetailRequest) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[30] + mi := &file_api_helm_app_applist_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2071,7 +2071,7 @@ func (x *DeploymentDetailRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeploymentDetailRequest.ProtoReflect.Descriptor instead. func (*DeploymentDetailRequest) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{30} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{30} } func (x *DeploymentDetailRequest) GetReleaseIdentifier() *ReleaseIdentifier { @@ -2100,7 +2100,7 @@ type DeploymentDetailResponse struct { func (x *DeploymentDetailResponse) Reset() { *x = DeploymentDetailResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[31] + mi := &file_api_helm_app_applist_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2113,7 +2113,7 @@ func (x *DeploymentDetailResponse) String() string { func (*DeploymentDetailResponse) ProtoMessage() {} func (x *DeploymentDetailResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[31] + mi := &file_api_helm_app_applist_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2126,7 +2126,7 @@ func (x *DeploymentDetailResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeploymentDetailResponse.ProtoReflect.Descriptor instead. func (*DeploymentDetailResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{31} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{31} } func (x *DeploymentDetailResponse) GetManifest() string { @@ -2157,7 +2157,7 @@ type ChartRepository struct { func (x *ChartRepository) Reset() { *x = ChartRepository{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[32] + mi := &file_api_helm_app_applist_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2170,7 +2170,7 @@ func (x *ChartRepository) String() string { func (*ChartRepository) ProtoMessage() {} func (x *ChartRepository) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[32] + mi := &file_api_helm_app_applist_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2183,7 +2183,7 @@ func (x *ChartRepository) ProtoReflect() protoreflect.Message { // Deprecated: Use ChartRepository.ProtoReflect.Descriptor instead. func (*ChartRepository) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{32} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{32} } func (x *ChartRepository) GetName() string { @@ -2229,7 +2229,7 @@ type InstallReleaseRequest struct { func (x *InstallReleaseRequest) Reset() { *x = InstallReleaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[33] + mi := &file_api_helm_app_applist_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2242,7 +2242,7 @@ func (x *InstallReleaseRequest) String() string { func (*InstallReleaseRequest) ProtoMessage() {} func (x *InstallReleaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[33] + mi := &file_api_helm_app_applist_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2255,7 +2255,7 @@ func (x *InstallReleaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InstallReleaseRequest.ProtoReflect.Descriptor instead. func (*InstallReleaseRequest) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{33} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{33} } func (x *InstallReleaseRequest) GetReleaseIdentifier() *ReleaseIdentifier { @@ -2304,7 +2304,7 @@ type InstallReleaseResponse struct { func (x *InstallReleaseResponse) Reset() { *x = InstallReleaseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[34] + mi := &file_api_helm_app_applist_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2317,7 +2317,7 @@ func (x *InstallReleaseResponse) String() string { func (*InstallReleaseResponse) ProtoMessage() {} func (x *InstallReleaseResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[34] + mi := &file_api_helm_app_applist_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2330,7 +2330,7 @@ func (x *InstallReleaseResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InstallReleaseResponse.ProtoReflect.Descriptor instead. func (*InstallReleaseResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{34} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{34} } func (x *InstallReleaseResponse) GetSuccess() bool { @@ -2351,7 +2351,7 @@ type BooleanResponse struct { func (x *BooleanResponse) Reset() { *x = BooleanResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[35] + mi := &file_api_helm_app_applist_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2364,7 +2364,7 @@ func (x *BooleanResponse) String() string { func (*BooleanResponse) ProtoMessage() {} func (x *BooleanResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[35] + mi := &file_api_helm_app_applist_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2377,7 +2377,7 @@ func (x *BooleanResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BooleanResponse.ProtoReflect.Descriptor instead. func (*BooleanResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{35} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{35} } func (x *BooleanResponse) GetResult() bool { @@ -2399,7 +2399,7 @@ type RollbackReleaseRequest struct { func (x *RollbackReleaseRequest) Reset() { *x = RollbackReleaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[36] + mi := &file_api_helm_app_applist_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2412,7 +2412,7 @@ func (x *RollbackReleaseRequest) String() string { func (*RollbackReleaseRequest) ProtoMessage() {} func (x *RollbackReleaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[36] + mi := &file_api_helm_app_applist_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2425,7 +2425,7 @@ func (x *RollbackReleaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RollbackReleaseRequest.ProtoReflect.Descriptor instead. func (*RollbackReleaseRequest) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{36} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{36} } func (x *RollbackReleaseRequest) GetReleaseIdentifier() *ReleaseIdentifier { @@ -2453,7 +2453,7 @@ type TemplateChartResponse struct { func (x *TemplateChartResponse) Reset() { *x = TemplateChartResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[37] + mi := &file_api_helm_app_applist_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2466,7 +2466,7 @@ func (x *TemplateChartResponse) String() string { func (*TemplateChartResponse) ProtoMessage() {} func (x *TemplateChartResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[37] + mi := &file_api_helm_app_applist_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2479,7 +2479,7 @@ func (x *TemplateChartResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TemplateChartResponse.ProtoReflect.Descriptor instead. func (*TemplateChartResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{37} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{37} } func (x *TemplateChartResponse) GetGeneratedManifest() string { @@ -2502,7 +2502,7 @@ type HelmInstallCustomRequest struct { func (x *HelmInstallCustomRequest) Reset() { *x = HelmInstallCustomRequest{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[38] + mi := &file_api_helm_app_applist_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2515,7 +2515,7 @@ func (x *HelmInstallCustomRequest) String() string { func (*HelmInstallCustomRequest) ProtoMessage() {} func (x *HelmInstallCustomRequest) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[38] + mi := &file_api_helm_app_applist_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2528,7 +2528,7 @@ func (x *HelmInstallCustomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use HelmInstallCustomRequest.ProtoReflect.Descriptor instead. func (*HelmInstallCustomRequest) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{38} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{38} } func (x *HelmInstallCustomRequest) GetValuesYaml() string { @@ -2563,7 +2563,7 @@ type HelmInstallCustomResponse struct { func (x *HelmInstallCustomResponse) Reset() { *x = HelmInstallCustomResponse{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[39] + mi := &file_api_helm_app_applist_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2576,7 +2576,7 @@ func (x *HelmInstallCustomResponse) String() string { func (*HelmInstallCustomResponse) ProtoMessage() {} func (x *HelmInstallCustomResponse) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[39] + mi := &file_api_helm_app_applist_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2589,7 +2589,7 @@ func (x *HelmInstallCustomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use HelmInstallCustomResponse.ProtoReflect.Descriptor instead. func (*HelmInstallCustomResponse) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{39} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{39} } func (x *HelmInstallCustomResponse) GetSuccess() bool { @@ -2610,7 +2610,7 @@ type ChartContent struct { func (x *ChartContent) Reset() { *x = ChartContent{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[40] + mi := &file_api_helm_app_applist_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2623,7 +2623,7 @@ func (x *ChartContent) String() string { func (*ChartContent) ProtoMessage() {} func (x *ChartContent) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[40] + mi := &file_api_helm_app_applist_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2636,7 +2636,7 @@ func (x *ChartContent) ProtoReflect() protoreflect.Message { // Deprecated: Use ChartContent.ProtoReflect.Descriptor instead. func (*ChartContent) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{40} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{40} } func (x *ChartContent) GetContent() []byte { @@ -2659,7 +2659,7 @@ type Gvk struct { func (x *Gvk) Reset() { *x = Gvk{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[41] + mi := &file_api_helm_app_applist_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2672,7 +2672,7 @@ func (x *Gvk) String() string { func (*Gvk) ProtoMessage() {} func (x *Gvk) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[41] + mi := &file_api_helm_app_applist_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2685,7 +2685,7 @@ func (x *Gvk) ProtoReflect() protoreflect.Message { // Deprecated: Use Gvk.ProtoReflect.Descriptor instead. func (*Gvk) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{41} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{41} } func (x *Gvk) GetGroup() string { @@ -2721,7 +2721,7 @@ type ResourceFilter struct { func (x *ResourceFilter) Reset() { *x = ResourceFilter{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[42] + mi := &file_api_helm_app_applist_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2734,7 +2734,7 @@ func (x *ResourceFilter) String() string { func (*ResourceFilter) ProtoMessage() {} func (x *ResourceFilter) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[42] + mi := &file_api_helm_app_applist_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2747,7 +2747,7 @@ func (x *ResourceFilter) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceFilter.ProtoReflect.Descriptor instead. func (*ResourceFilter) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{42} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{42} } func (x *ResourceFilter) GetGvk() *Gvk { @@ -2775,7 +2775,7 @@ type ResourceIdentifier struct { func (x *ResourceIdentifier) Reset() { *x = ResourceIdentifier{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[43] + mi := &file_api_helm_app_applist_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2788,7 +2788,7 @@ func (x *ResourceIdentifier) String() string { func (*ResourceIdentifier) ProtoMessage() {} func (x *ResourceIdentifier) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[43] + mi := &file_api_helm_app_applist_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2801,7 +2801,7 @@ func (x *ResourceIdentifier) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceIdentifier.ProtoReflect.Descriptor instead. func (*ResourceIdentifier) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{43} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{43} } func (x *ResourceIdentifier) GetLabels() map[string]string { @@ -2823,7 +2823,7 @@ type ResourceTreeFilter struct { func (x *ResourceTreeFilter) Reset() { *x = ResourceTreeFilter{} if protoimpl.UnsafeEnabled { - mi := &file_grpc_applist_proto_msgTypes[44] + mi := &file_api_helm_app_applist_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2836,7 +2836,7 @@ func (x *ResourceTreeFilter) String() string { func (*ResourceTreeFilter) ProtoMessage() {} func (x *ResourceTreeFilter) ProtoReflect() protoreflect.Message { - mi := &file_grpc_applist_proto_msgTypes[44] + mi := &file_api_helm_app_applist_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2849,7 +2849,7 @@ func (x *ResourceTreeFilter) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceTreeFilter.ProtoReflect.Descriptor instead. func (*ResourceTreeFilter) Descriptor() ([]byte, []int) { - return file_grpc_applist_proto_rawDescGZIP(), []int{44} + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{44} } func (x *ResourceTreeFilter) GetGlobalFilter() *ResourceIdentifier { @@ -2866,489 +2866,543 @@ func (x *ResourceTreeFilter) GetResourceFilters() []*ResourceFilter { return nil } -var File_grpc_applist_proto protoreflect.FileDescriptor - -var file_grpc_applist_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, - 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x22, 0x3c, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, - 0xa7, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x11, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, - 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x52, 0x11, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x22, 0xaa, 0x02, 0x0a, 0x11, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, - 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x63, 0x68, 0x61, 0x72, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x72, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, - 0x41, 0x0a, 0x11, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x45, 0x6e, 0x76, - 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x11, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x12, 0x3e, 0x0a, 0x0c, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x72, 0x0a, 0x12, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x0b, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x10, 0x41, - 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x34, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x54, 0x72, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x54, 0x72, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x41, - 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x72, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x0c, - 0x6c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, - 0x6c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x0d, - 0x63, 0x68, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, +type ChartNotesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Notes string `protobuf:"bytes,1,opt,name=notes,proto3" json:"notes,omitempty"` +} + +func (x *ChartNotesResponse) Reset() { + *x = ChartNotesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_helm_app_applist_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChartNotesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChartNotesResponse) ProtoMessage() {} + +func (x *ChartNotesResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_helm_app_applist_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChartNotesResponse.ProtoReflect.Descriptor instead. +func (*ChartNotesResponse) Descriptor() ([]byte, []int) { + return file_api_helm_app_applist_proto_rawDescGZIP(), []int{45} +} + +func (x *ChartNotesResponse) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +var File_api_helm_app_applist_proto protoreflect.FileDescriptor + +var file_api_helm_app_applist_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x65, 0x6c, 0x6d, 0x2d, 0x61, 0x70, 0x70, 0x2f, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, + 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x22, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x0e, 0x41, 0x70, 0x70, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x11, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, + 0x64, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x11, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x65, + 0x64, 0x22, 0xaa, 0x02, 0x0a, 0x11, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, + 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x72, 0x74, 0x41, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x72, + 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x41, 0x0a, 0x11, 0x65, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x11, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x3e, 0x0a, 0x0c, 0x4c, 0x61, + 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x4c, 0x61, + 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x68, + 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x72, + 0x0a, 0x12, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, + 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x12, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, + 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x68, + 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x63, 0x68, 0x61, + 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x14, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x12, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x39, 0x0a, 0x09, 0x41, 0x70, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x63, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb7, 0x01, 0x0a, 0x0d, 0x43, + 0x68, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x68, + 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, + 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, + 0x6f, 0x74, 0x65, 0x73, 0x22, 0x6b, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x05, + 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, + 0x73, 0x12, 0x2e, 0x0a, 0x0b, 0x70, 0x6f, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x50, 0x6f, 0x64, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x6f, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0xe1, 0x03, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 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, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x52, 0x0a, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x73, 0x12, 0x3f, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, + 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x69, 0x73, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x12, 0x28, + 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x42, 0x65, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x42, 0x65, 0x48, 0x69, + 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x34, 0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x40, 0x0a, 0x0c, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x90, 0x01, + 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, + 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x95, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, + 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 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, + 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x50, 0x6f, 0x64, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x26, + 0x0a, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x22, 0x87, 0x01, 0x0a, + 0x10, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x88, 0x01, 0x0a, 0x10, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 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, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0x7e, 0x0a, 0x0f, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, + 0x67, 0x22, 0x3d, 0x0a, 0x11, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x22, 0xc9, 0x01, 0x0a, 0x17, 0x48, 0x65, 0x6c, 0x6d, 0x41, 0x70, 0x70, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x34, 0x0a, 0x0d, + 0x63, 0x68, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x49, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, - 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, - 0x12, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x45, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x12, - 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x22, 0x39, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x2c, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x63, 0x0a, - 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xb7, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x6b, 0x0a, 0x14, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0b, 0x70, 0x6f, 0x64, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x50, 0x6f, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x70, 0x6f, - 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe1, 0x03, 0x0a, 0x0c, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, - 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, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x65, 0x66, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x73, - 0x12, 0x3f, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x06, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x48, 0x69, 0x62, 0x65, - 0x72, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x42, 0x65, 0x48, - 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x63, 0x61, 0x6e, 0x42, 0x65, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x1d, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, - 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x34, 0x0a, - 0x08, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x40, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, - 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 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, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x50, 0x6f, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, - 0x69, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, - 0x73, 0x4e, 0x65, 0x77, 0x22, 0x87, 0x01, 0x0a, 0x10, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x3d, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x10, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x88, - 0x01, 0x0a, 0x10, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 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, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x7e, 0x0a, 0x0f, 0x48, 0x69, 0x62, - 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x0c, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x3d, 0x0a, 0x11, 0x48, 0x69, 0x62, - 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x17, 0x48, 0x65, 0x6c, - 0x6d, 0x41, 0x70, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x68, - 0x61, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x63, 0x68, 0x61, - 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, - 0x63, 0x6b, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x64, 0x41, 0x74, 0x22, 0x62, 0x0a, 0x18, 0x48, 0x65, 0x6c, 0x6d, 0x41, 0x70, 0x70, 0x44, + 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x3a, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x74, 0x22, 0x62, 0x0a, 0x18, + 0x48, 0x65, 0x6c, 0x6d, 0x41, 0x70, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x48, 0x65, 0x6c, 0x6d, 0x41, 0x70, 0x70, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x46, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x48, 0x65, - 0x6c, 0x6d, 0x41, 0x70, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x85, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, - 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x64, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x72, 0x67, - 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, - 0x61, 0x64, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x4a, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x22, 0x85, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x40, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x64, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4a, 0x73, 0x6f, 0x6e, - 0x22, 0xd2, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x35, 0x0a, 0x17, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, - 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x22, 0x34, 0x0a, 0x18, - 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0x97, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, - 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x79, 0x0a, 0x15, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x22, 0x32, 0x0a, 0x16, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 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, 0x22, 0x89, 0x01, 0x0a, 0x17, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x56, 0x0a, 0x18, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x3d, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x10, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, + 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x35, 0x0a, + 0x17, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, + 0x66, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, + 0x66, 0x65, 0x73, 0x74, 0x22, 0x34, 0x0a, 0x18, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 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, 0x22, 0x97, 0x01, 0x0a, 0x11, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x22, 0x79, 0x0a, 0x15, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x22, - 0x6f, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x11, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x68, - 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x3a, - 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x74, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x32, 0x0a, 0x16, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0x29, - 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x74, 0x0a, 0x16, 0x52, 0x6f, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x45, 0x0a, 0x15, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x61, - 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x22, 0xaf, 0x01, 0x0a, 0x18, 0x48, 0x65, 0x6c, 0x6d, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x59, - 0x61, 0x6d, 0x6c, 0x12, 0x31, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x68, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x35, 0x0a, 0x19, 0x48, 0x65, 0x6c, 0x6d, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, - 0x28, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x49, 0x0a, 0x03, 0x47, 0x76, 0x6b, - 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x6d, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x03, 0x67, 0x76, 0x6b, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x04, 0x2e, 0x47, 0x76, 0x6b, 0x52, 0x03, 0x67, 0x76, 0x6b, 0x12, 0x43, - 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, - 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, - 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x52, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x39, - 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x32, 0xe7, 0x08, 0x0a, 0x12, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x39, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0f, 0x2e, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, - 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, 0x2f, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x11, 0x2e, 0x41, 0x70, - 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0a, - 0x2e, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x00, 0x12, 0x2f, 0x0a, 0x0c, - 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x11, 0x2e, 0x41, - 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x0a, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x34, 0x0a, - 0x09, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x11, 0x2e, 0x48, 0x69, 0x62, - 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, - 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x0b, 0x55, 0x6e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, - 0x74, 0x65, 0x12, 0x11, 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x48, 0x65, 0x6c, 0x6d, 0x41, 0x70, 0x70, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x22, 0x00, 0x12, 0x32, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x73, 0x69, 0x72, 0x65, 0x64, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, - 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x10, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x2e, + 0x32, 0x0a, 0x16, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x40, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x56, 0x0a, 0x18, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, + 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x22, 0x6f, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x72, 0x74, + 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x40, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x1a, 0x19, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, - 0x0a, 0x0e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x12, 0x16, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x1b, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x57, 0x69, 0x74, 0x68, 0x43, 0x68, 0x61, 0x72, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x12, 0x49, 0x73, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x12, - 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x1a, 0x10, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x17, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, - 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0d, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x16, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x72, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x59, 0x61, 0x6d, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x3a, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x22, 0x32, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0x29, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x22, 0x74, 0x0a, 0x16, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x11, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x15, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x61, 0x6e, + 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x22, 0xaf, + 0x01, 0x0a, 0x18, 0x48, 0x65, 0x6c, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x31, 0x0a, 0x0c, 0x63, + 0x68, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x40, + 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x22, 0x35, 0x0a, 0x19, 0x48, 0x65, 0x6c, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x22, 0x28, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x72, 0x74, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x22, 0x49, 0x0a, 0x03, 0x47, 0x76, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x6d, 0x0a, 0x0e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x16, + 0x0a, 0x03, 0x67, 0x76, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x04, 0x2e, 0x47, 0x76, + 0x6b, 0x52, 0x03, 0x67, 0x76, 0x6b, 0x12, 0x43, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x88, 0x01, 0x0a, 0x12, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, + 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x73, 0x22, 0x2a, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x32, 0xa2, 0x09, + 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0f, 0x2e, 0x41, 0x70, 0x70, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x65, 0x64, 0x41, 0x70, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x2f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, + 0x11, 0x2e, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x00, + 0x12, 0x2f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0a, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x00, 0x12, 0x34, 0x0a, 0x09, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x11, + 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x12, 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x0b, 0x55, 0x6e, 0x48, 0x69, 0x62, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x11, 0x2e, 0x48, 0x69, 0x62, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x48, 0x69, 0x62, 0x65, + 0x72, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x46, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x48, 0x65, 0x6c, + 0x6d, 0x41, 0x70, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x00, 0x12, 0x32, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x11, 0x2e, 0x41, 0x70, 0x70, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x18, 0x2e, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x4d, 0x61, 0x6e, 0x69, 0x66, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, + 0x10, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x12, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x19, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, + 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x1d, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x57, 0x69, 0x74, 0x68, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x19, 0x2e, 0x48, 0x65, 0x6c, - 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x48, 0x65, 0x6c, 0x6d, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x72, 0x6f, 0x6e, 0x2d, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6b, - 0x75, 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x62, 0x65, 0x61, 0x6e, 0x2f, 0x67, 0x72, 0x70, - 0x63, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x17, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x1b, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x57, 0x69, 0x74, 0x68, + 0x43, 0x68, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x17, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x12, + 0x49, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x65, 0x64, 0x12, 0x12, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x10, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x0f, 0x52, 0x6f, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x17, 0x2e, + 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0d, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x16, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, + 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, + 0x1d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x57, + 0x69, 0x74, 0x68, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x19, + 0x2e, 0x48, 0x65, 0x6c, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x48, 0x65, 0x6c, 0x6d, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x43, 0x68, + 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x64, 0x65, 0x76, 0x74, 0x72, 0x6f, 0x6e, 0x2d, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6b, 0x75, + 0x62, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x2f, 0x62, 0x65, 0x61, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, + 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_grpc_applist_proto_rawDescOnce sync.Once - file_grpc_applist_proto_rawDescData = file_grpc_applist_proto_rawDesc + file_api_helm_app_applist_proto_rawDescOnce sync.Once + file_api_helm_app_applist_proto_rawDescData = file_api_helm_app_applist_proto_rawDesc ) -func file_grpc_applist_proto_rawDescGZIP() []byte { - file_grpc_applist_proto_rawDescOnce.Do(func() { - file_grpc_applist_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_applist_proto_rawDescData) +func file_api_helm_app_applist_proto_rawDescGZIP() []byte { + file_api_helm_app_applist_proto_rawDescOnce.Do(func() { + file_api_helm_app_applist_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_helm_app_applist_proto_rawDescData) }) - return file_grpc_applist_proto_rawDescData + return file_api_helm_app_applist_proto_rawDescData } -var file_grpc_applist_proto_msgTypes = make([]protoimpl.MessageInfo, 47) -var file_grpc_applist_proto_goTypes = []interface{}{ +var file_api_helm_app_applist_proto_msgTypes = make([]protoimpl.MessageInfo, 48) +var file_api_helm_app_applist_proto_goTypes = []interface{}{ (*ClusterConfig)(nil), // 0: ClusterConfig (*AppListRequest)(nil), // 1: AppListRequest (*DeployedAppList)(nil), // 2: DeployedAppList @@ -3394,19 +3448,20 @@ var file_grpc_applist_proto_goTypes = []interface{}{ (*ResourceFilter)(nil), // 42: ResourceFilter (*ResourceIdentifier)(nil), // 43: ResourceIdentifier (*ResourceTreeFilter)(nil), // 44: ResourceTreeFilter - nil, // 45: ResourceNetworkingInfo.LabelsEntry - nil, // 46: ResourceIdentifier.LabelsEntry - (*timestamp.Timestamp)(nil), // 47: google.protobuf.Timestamp + (*ChartNotesResponse)(nil), // 45: ChartNotesResponse + nil, // 46: ResourceNetworkingInfo.LabelsEntry + nil, // 47: ResourceIdentifier.LabelsEntry + (*timestamp.Timestamp)(nil), // 48: google.protobuf.Timestamp } -var file_grpc_applist_proto_depIdxs = []int32{ +var file_api_helm_app_applist_proto_depIdxs = []int32{ 0, // 0: AppListRequest.clusters:type_name -> ClusterConfig 3, // 1: DeployedAppList.DeployedAppDetail:type_name -> DeployedAppDetail 4, // 2: DeployedAppDetail.environmentDetail:type_name -> EnvironmentDetails - 47, // 3: DeployedAppDetail.LastDeployed:type_name -> google.protobuf.Timestamp + 48, // 3: DeployedAppDetail.LastDeployed:type_name -> google.protobuf.Timestamp 0, // 4: AppDetailRequest.clusterConfig:type_name -> ClusterConfig 44, // 5: AppDetailRequest.resourceTreeFilter:type_name -> ResourceTreeFilter 8, // 6: AppDetail.releaseStatus:type_name -> ReleaseStatus - 47, // 7: AppDetail.lastDeployed:type_name -> google.protobuf.Timestamp + 48, // 7: AppDetail.lastDeployed:type_name -> google.protobuf.Timestamp 9, // 8: AppDetail.chartMetadata:type_name -> ChartMetadata 10, // 9: AppDetail.resourceTreeResponse:type_name -> ResourceTreeResponse 4, // 10: AppDetail.environmentDetails:type_name -> EnvironmentDetails @@ -3416,13 +3471,13 @@ var file_grpc_applist_proto_depIdxs = []int32{ 14, // 14: ResourceNode.networkingInfo:type_name -> ResourceNetworkingInfo 13, // 15: ResourceNode.health:type_name -> HealthStatus 12, // 16: ResourceNode.info:type_name -> InfoItem - 45, // 17: ResourceNetworkingInfo.labels:type_name -> ResourceNetworkingInfo.LabelsEntry + 46, // 17: ResourceNetworkingInfo.labels:type_name -> ResourceNetworkingInfo.LabelsEntry 0, // 18: HibernateRequest.clusterConfig:type_name -> ClusterConfig 18, // 19: HibernateRequest.objectIdentifier:type_name -> ObjectIdentifier 18, // 20: HibernateStatus.targetObject:type_name -> ObjectIdentifier 19, // 21: HibernateResponse.status:type_name -> HibernateStatus 9, // 22: HelmAppDeploymentDetail.chartMetadata:type_name -> ChartMetadata - 47, // 23: HelmAppDeploymentDetail.deployedAt:type_name -> google.protobuf.Timestamp + 48, // 23: HelmAppDeploymentDetail.deployedAt:type_name -> google.protobuf.Timestamp 21, // 24: HelmAppDeploymentHistory.deploymentHistory:type_name -> HelmAppDeploymentDetail 3, // 25: ReleaseInfo.deployedAppDetail:type_name -> DeployedAppDetail 0, // 26: ObjectRequest.clusterConfig:type_name -> ClusterConfig @@ -3437,7 +3492,7 @@ var file_grpc_applist_proto_depIdxs = []int32{ 27, // 35: HelmInstallCustomRequest.releaseIdentifier:type_name -> ReleaseIdentifier 41, // 36: ResourceFilter.gvk:type_name -> Gvk 43, // 37: ResourceFilter.resourceIdentifier:type_name -> ResourceIdentifier - 46, // 38: ResourceIdentifier.labels:type_name -> ResourceIdentifier.LabelsEntry + 47, // 38: ResourceIdentifier.labels:type_name -> ResourceIdentifier.LabelsEntry 43, // 39: ResourceTreeFilter.globalFilter:type_name -> ResourceIdentifier 42, // 40: ResourceTreeFilter.resourceFilters:type_name -> ResourceFilter 1, // 41: ApplicationService.ListApplications:input_type -> AppListRequest @@ -3457,37 +3512,39 @@ var file_grpc_applist_proto_depIdxs = []int32{ 36, // 55: ApplicationService.RollbackRelease:input_type -> RollbackReleaseRequest 33, // 56: ApplicationService.TemplateChart:input_type -> InstallReleaseRequest 38, // 57: ApplicationService.InstallReleaseWithCustomChart:input_type -> HelmInstallCustomRequest - 2, // 58: ApplicationService.ListApplications:output_type -> DeployedAppList - 6, // 59: ApplicationService.GetAppDetail:output_type -> AppDetail - 7, // 60: ApplicationService.GetAppStatus:output_type -> AppStatus - 20, // 61: ApplicationService.Hibernate:output_type -> HibernateResponse - 20, // 62: ApplicationService.UnHibernate:output_type -> HibernateResponse - 22, // 63: ApplicationService.GetDeploymentHistory:output_type -> HelmAppDeploymentHistory - 23, // 64: ApplicationService.GetValuesYaml:output_type -> ReleaseInfo - 25, // 65: ApplicationService.GetDesiredManifest:output_type -> DesiredManifestResponse - 26, // 66: ApplicationService.UninstallRelease:output_type -> UninstallReleaseResponse - 29, // 67: ApplicationService.UpgradeRelease:output_type -> UpgradeReleaseResponse - 31, // 68: ApplicationService.GetDeploymentDetail:output_type -> DeploymentDetailResponse - 34, // 69: ApplicationService.InstallRelease:output_type -> InstallReleaseResponse - 29, // 70: ApplicationService.UpgradeReleaseWithChartInfo:output_type -> UpgradeReleaseResponse - 35, // 71: ApplicationService.IsReleaseInstalled:output_type -> BooleanResponse - 35, // 72: ApplicationService.RollbackRelease:output_type -> BooleanResponse - 37, // 73: ApplicationService.TemplateChart:output_type -> TemplateChartResponse - 39, // 74: ApplicationService.InstallReleaseWithCustomChart:output_type -> HelmInstallCustomResponse - 58, // [58:75] is the sub-list for method output_type - 41, // [41:58] is the sub-list for method input_type + 33, // 58: ApplicationService.GetNotes:input_type -> InstallReleaseRequest + 2, // 59: ApplicationService.ListApplications:output_type -> DeployedAppList + 6, // 60: ApplicationService.GetAppDetail:output_type -> AppDetail + 7, // 61: ApplicationService.GetAppStatus:output_type -> AppStatus + 20, // 62: ApplicationService.Hibernate:output_type -> HibernateResponse + 20, // 63: ApplicationService.UnHibernate:output_type -> HibernateResponse + 22, // 64: ApplicationService.GetDeploymentHistory:output_type -> HelmAppDeploymentHistory + 23, // 65: ApplicationService.GetValuesYaml:output_type -> ReleaseInfo + 25, // 66: ApplicationService.GetDesiredManifest:output_type -> DesiredManifestResponse + 26, // 67: ApplicationService.UninstallRelease:output_type -> UninstallReleaseResponse + 29, // 68: ApplicationService.UpgradeRelease:output_type -> UpgradeReleaseResponse + 31, // 69: ApplicationService.GetDeploymentDetail:output_type -> DeploymentDetailResponse + 34, // 70: ApplicationService.InstallRelease:output_type -> InstallReleaseResponse + 29, // 71: ApplicationService.UpgradeReleaseWithChartInfo:output_type -> UpgradeReleaseResponse + 35, // 72: ApplicationService.IsReleaseInstalled:output_type -> BooleanResponse + 35, // 73: ApplicationService.RollbackRelease:output_type -> BooleanResponse + 37, // 74: ApplicationService.TemplateChart:output_type -> TemplateChartResponse + 39, // 75: ApplicationService.InstallReleaseWithCustomChart:output_type -> HelmInstallCustomResponse + 45, // 76: ApplicationService.GetNotes:output_type -> ChartNotesResponse + 59, // [59:77] is the sub-list for method output_type + 41, // [41:59] is the sub-list for method input_type 41, // [41:41] is the sub-list for extension type_name 41, // [41:41] is the sub-list for extension extendee 0, // [0:41] is the sub-list for field type_name } -func init() { file_grpc_applist_proto_init() } -func file_grpc_applist_proto_init() { - if File_grpc_applist_proto != nil { +func init() { file_api_helm_app_applist_proto_init() } +func file_api_helm_app_applist_proto_init() { + if File_api_helm_app_applist_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_grpc_applist_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterConfig); i { case 0: return &v.state @@ -3499,7 +3556,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AppListRequest); i { case 0: return &v.state @@ -3511,7 +3568,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeployedAppList); i { case 0: return &v.state @@ -3523,7 +3580,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeployedAppDetail); i { case 0: return &v.state @@ -3535,7 +3592,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnvironmentDetails); i { case 0: return &v.state @@ -3547,7 +3604,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AppDetailRequest); i { case 0: return &v.state @@ -3559,7 +3616,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AppDetail); i { case 0: return &v.state @@ -3571,7 +3628,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AppStatus); i { case 0: return &v.state @@ -3583,7 +3640,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReleaseStatus); i { case 0: return &v.state @@ -3595,7 +3652,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChartMetadata); i { case 0: return &v.state @@ -3607,7 +3664,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceTreeResponse); i { case 0: return &v.state @@ -3619,7 +3676,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceNode); i { case 0: return &v.state @@ -3631,7 +3688,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoItem); i { case 0: return &v.state @@ -3643,7 +3700,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthStatus); i { case 0: return &v.state @@ -3655,7 +3712,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceNetworkingInfo); i { case 0: return &v.state @@ -3667,7 +3724,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceRef); i { case 0: return &v.state @@ -3679,7 +3736,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PodMetadata); i { case 0: return &v.state @@ -3691,7 +3748,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HibernateRequest); i { case 0: return &v.state @@ -3703,7 +3760,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectIdentifier); i { case 0: return &v.state @@ -3715,7 +3772,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HibernateStatus); i { case 0: return &v.state @@ -3727,7 +3784,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HibernateResponse); i { case 0: return &v.state @@ -3739,7 +3796,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HelmAppDeploymentDetail); i { case 0: return &v.state @@ -3751,7 +3808,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HelmAppDeploymentHistory); i { case 0: return &v.state @@ -3763,7 +3820,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReleaseInfo); i { case 0: return &v.state @@ -3775,7 +3832,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectRequest); i { case 0: return &v.state @@ -3787,7 +3844,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DesiredManifestResponse); i { case 0: return &v.state @@ -3799,7 +3856,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UninstallReleaseResponse); i { case 0: return &v.state @@ -3811,7 +3868,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReleaseIdentifier); i { case 0: return &v.state @@ -3823,7 +3880,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpgradeReleaseRequest); i { case 0: return &v.state @@ -3835,7 +3892,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpgradeReleaseResponse); i { case 0: return &v.state @@ -3847,7 +3904,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeploymentDetailRequest); i { case 0: return &v.state @@ -3859,7 +3916,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeploymentDetailResponse); i { case 0: return &v.state @@ -3871,7 +3928,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChartRepository); i { case 0: return &v.state @@ -3883,7 +3940,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstallReleaseRequest); i { case 0: return &v.state @@ -3895,7 +3952,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstallReleaseResponse); i { case 0: return &v.state @@ -3907,7 +3964,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BooleanResponse); i { case 0: return &v.state @@ -3919,7 +3976,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RollbackReleaseRequest); i { case 0: return &v.state @@ -3931,7 +3988,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TemplateChartResponse); i { case 0: return &v.state @@ -3943,7 +4000,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HelmInstallCustomRequest); i { case 0: return &v.state @@ -3955,7 +4012,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HelmInstallCustomResponse); i { case 0: return &v.state @@ -3967,7 +4024,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChartContent); i { case 0: return &v.state @@ -3979,7 +4036,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Gvk); i { case 0: return &v.state @@ -3991,7 +4048,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceFilter); i { case 0: return &v.state @@ -4003,7 +4060,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceIdentifier); i { case 0: return &v.state @@ -4015,7 +4072,7 @@ func file_grpc_applist_proto_init() { return nil } } - file_grpc_applist_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_api_helm_app_applist_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceTreeFilter); i { case 0: return &v.state @@ -4027,23 +4084,35 @@ func file_grpc_applist_proto_init() { return nil } } + file_api_helm_app_applist_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChartNotesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_grpc_applist_proto_rawDesc, + RawDescriptor: file_api_helm_app_applist_proto_rawDesc, NumEnums: 0, - NumMessages: 47, + NumMessages: 48, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_grpc_applist_proto_goTypes, - DependencyIndexes: file_grpc_applist_proto_depIdxs, - MessageInfos: file_grpc_applist_proto_msgTypes, + GoTypes: file_api_helm_app_applist_proto_goTypes, + DependencyIndexes: file_api_helm_app_applist_proto_depIdxs, + MessageInfos: file_api_helm_app_applist_proto_msgTypes, }.Build() - File_grpc_applist_proto = out.File - file_grpc_applist_proto_rawDesc = nil - file_grpc_applist_proto_goTypes = nil - file_grpc_applist_proto_depIdxs = nil + File_api_helm_app_applist_proto = out.File + file_api_helm_app_applist_proto_rawDesc = nil + file_api_helm_app_applist_proto_goTypes = nil + file_api_helm_app_applist_proto_depIdxs = nil } diff --git a/api/helm-app/applist.proto b/api/helm-app/applist.proto index afc82042b6..01698e4748 100644 --- a/api/helm-app/applist.proto +++ b/api/helm-app/applist.proto @@ -33,6 +33,7 @@ service ApplicationService { rpc RollbackRelease(RollbackReleaseRequest) returns (BooleanResponse){} rpc TemplateChart(InstallReleaseRequest) returns (TemplateChartResponse){} rpc InstallReleaseWithCustomChart(HelmInstallCustomRequest) returns (HelmInstallCustomResponse) {} + rpc GetNotes(InstallReleaseRequest) returns (ChartNotesResponse) {} } message DeployedAppList { @@ -298,4 +299,7 @@ message ResourceIdentifier { message ResourceTreeFilter { ResourceIdentifier globalFilter = 1; repeated ResourceFilter resourceFilters = 2; +} +message ChartNotesResponse{ + string notes = 1; } \ No newline at end of file diff --git a/api/helm-app/applist_grpc.pb.go b/api/helm-app/applist_grpc.pb.go index d6bcdf08d2..acb1a4532d 100644 --- a/api/helm-app/applist_grpc.pb.go +++ b/api/helm-app/applist_grpc.pb.go @@ -1,8 +1,4 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.9.1 -// source: grpc/applist.proto package client @@ -39,6 +35,7 @@ type ApplicationServiceClient interface { RollbackRelease(ctx context.Context, in *RollbackReleaseRequest, opts ...grpc.CallOption) (*BooleanResponse, error) TemplateChart(ctx context.Context, in *InstallReleaseRequest, opts ...grpc.CallOption) (*TemplateChartResponse, error) InstallReleaseWithCustomChart(ctx context.Context, in *HelmInstallCustomRequest, opts ...grpc.CallOption) (*HelmInstallCustomResponse, error) + GetNotes(ctx context.Context, in *InstallReleaseRequest, opts ...grpc.CallOption) (*ChartNotesResponse, error) } type applicationServiceClient struct { @@ -225,6 +222,15 @@ func (c *applicationServiceClient) InstallReleaseWithCustomChart(ctx context.Con return out, nil } +func (c *applicationServiceClient) GetNotes(ctx context.Context, in *InstallReleaseRequest, opts ...grpc.CallOption) (*ChartNotesResponse, error) { + out := new(ChartNotesResponse) + err := c.cc.Invoke(ctx, "/ApplicationService/GetNotes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ApplicationServiceServer is the server API for ApplicationService service. // All implementations must embed UnimplementedApplicationServiceServer // for forward compatibility @@ -246,6 +252,7 @@ type ApplicationServiceServer interface { RollbackRelease(context.Context, *RollbackReleaseRequest) (*BooleanResponse, error) TemplateChart(context.Context, *InstallReleaseRequest) (*TemplateChartResponse, error) InstallReleaseWithCustomChart(context.Context, *HelmInstallCustomRequest) (*HelmInstallCustomResponse, error) + GetNotes(context.Context, *InstallReleaseRequest) (*ChartNotesResponse, error) mustEmbedUnimplementedApplicationServiceServer() } @@ -304,6 +311,9 @@ func (UnimplementedApplicationServiceServer) TemplateChart(context.Context, *Ins func (UnimplementedApplicationServiceServer) InstallReleaseWithCustomChart(context.Context, *HelmInstallCustomRequest) (*HelmInstallCustomResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method InstallReleaseWithCustomChart not implemented") } +func (UnimplementedApplicationServiceServer) GetNotes(context.Context, *InstallReleaseRequest) (*ChartNotesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotes not implemented") +} func (UnimplementedApplicationServiceServer) mustEmbedUnimplementedApplicationServiceServer() {} // UnsafeApplicationServiceServer may be embedded to opt out of forward compatibility for this service. @@ -626,6 +636,24 @@ func _ApplicationService_InstallReleaseWithCustomChart_Handler(srv interface{}, return interceptor(ctx, in, info, handler) } +func _ApplicationService_GetNotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InstallReleaseRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ApplicationServiceServer).GetNotes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ApplicationService/GetNotes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ApplicationServiceServer).GetNotes(ctx, req.(*InstallReleaseRequest)) + } + return interceptor(ctx, in, info, handler) +} + // ApplicationService_ServiceDesc is the grpc.ServiceDesc for ApplicationService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -697,6 +725,10 @@ var ApplicationService_ServiceDesc = grpc.ServiceDesc{ MethodName: "InstallReleaseWithCustomChart", Handler: _ApplicationService_InstallReleaseWithCustomChart_Handler, }, + { + MethodName: "GetNotes", + Handler: _ApplicationService_GetNotes_Handler, + }, }, Streams: []grpc.StreamDesc{ { @@ -705,5 +737,5 @@ var ApplicationService_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, }, - Metadata: "grpc/applist.proto", + Metadata: "api/helm-app/applist.proto", } diff --git a/pkg/appStore/deployment/service/InstalledAppService.go b/pkg/appStore/deployment/service/InstalledAppService.go index 431fba5b01..6933d52ec8 100644 --- a/pkg/appStore/deployment/service/InstalledAppService.go +++ b/pkg/appStore/deployment/service/InstalledAppService.go @@ -797,7 +797,7 @@ func (impl *InstalledAppServiceImpl) FindAppDetailsForAppstoreApplication(instal }, } - notes, err := impl.helmAppService.GetNotes(installReleaseRequest) + notes, err := impl.helmAppService.GetNotes(context.Background(), installReleaseRequest) appDetail = bean2.AppDetailContainer{ Notes: notes, } From 2d34cb1316ca56f0cb51dd0bb525d34bef63e531 Mon Sep 17 00:00:00 2001 From: adi6859 Date: Thu, 23 Feb 2023 16:04:05 +0530 Subject: [PATCH 03/11] change for rishabh --- api/router/pubsub/CiEventHandler.go | 2 ++ pkg/pipeline/WebhookService.go | 1 + 2 files changed, 3 insertions(+) diff --git a/api/router/pubsub/CiEventHandler.go b/api/router/pubsub/CiEventHandler.go index 3fd2f0db83..c032e9f85e 100644 --- a/api/router/pubsub/CiEventHandler.go +++ b/api/router/pubsub/CiEventHandler.go @@ -25,6 +25,7 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/pkg/pipeline" "go.uber.org/zap" + "log" ) type CiEventHandler interface { @@ -80,6 +81,7 @@ func (impl *CiEventHandlerImpl) Subscribe() error { if err != nil { return } + log.Printf("rishab-debugger inside orchestrator cieventhandler:", ciCompleteEvent.DockerImage) resp, err := impl.webhookService.HandleCiSuccessEvent(ciCompleteEvent.PipelineId, req) if err != nil { impl.logger.Error(err) diff --git a/pkg/pipeline/WebhookService.go b/pkg/pipeline/WebhookService.go index db2b81611e..6f2180e1a6 100644 --- a/pkg/pipeline/WebhookService.go +++ b/pkg/pipeline/WebhookService.go @@ -167,6 +167,7 @@ func (impl WebhookServiceImpl) HandleCiSuccessEvent(ciPipelineId int, request *C if pipeline.ScanEnabled { artifact.Scanned = true } + impl.logger.Errorw("rishab-debugger inside orchestrator WebHookService.go:", request.Image) if err = impl.ciArtifactRepository.Save(artifact); err != nil { impl.logger.Errorw("error in saving material", "err", err) return 0, err From f6ea5d04024ca1517e8c7e88fec97a790caf2ae7 Mon Sep 17 00:00:00 2001 From: adi6859 Date: Thu, 23 Feb 2023 19:23:42 +0530 Subject: [PATCH 04/11] change for rishabh reverted --- api/router/pubsub/CiEventHandler.go | 2 -- pkg/pipeline/WebhookService.go | 1 - 2 files changed, 3 deletions(-) diff --git a/api/router/pubsub/CiEventHandler.go b/api/router/pubsub/CiEventHandler.go index c032e9f85e..3fd2f0db83 100644 --- a/api/router/pubsub/CiEventHandler.go +++ b/api/router/pubsub/CiEventHandler.go @@ -25,7 +25,6 @@ import ( "github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig" "github.com/devtron-labs/devtron/pkg/pipeline" "go.uber.org/zap" - "log" ) type CiEventHandler interface { @@ -81,7 +80,6 @@ func (impl *CiEventHandlerImpl) Subscribe() error { if err != nil { return } - log.Printf("rishab-debugger inside orchestrator cieventhandler:", ciCompleteEvent.DockerImage) resp, err := impl.webhookService.HandleCiSuccessEvent(ciCompleteEvent.PipelineId, req) if err != nil { impl.logger.Error(err) diff --git a/pkg/pipeline/WebhookService.go b/pkg/pipeline/WebhookService.go index 6f2180e1a6..db2b81611e 100644 --- a/pkg/pipeline/WebhookService.go +++ b/pkg/pipeline/WebhookService.go @@ -167,7 +167,6 @@ func (impl WebhookServiceImpl) HandleCiSuccessEvent(ciPipelineId int, request *C if pipeline.ScanEnabled { artifact.Scanned = true } - impl.logger.Errorw("rishab-debugger inside orchestrator WebHookService.go:", request.Image) if err = impl.ciArtifactRepository.Save(artifact); err != nil { impl.logger.Errorw("error in saving material", "err", err) return 0, err From e6b237fcf248331d07f617c43ca3b8efa059b7cf Mon Sep 17 00:00:00 2001 From: adi6859 Date: Fri, 24 Feb 2023 12:42:05 +0530 Subject: [PATCH 05/11] try to fix cluster config issue --- api/helm-app/HelmAppService.go | 42 ++++++++++++------- .../deployment/service/InstalledAppService.go | 4 +- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/api/helm-app/HelmAppService.go b/api/helm-app/HelmAppService.go index c5ee4adb3a..8a23bf463c 100644 --- a/api/helm-app/HelmAppService.go +++ b/api/helm-app/HelmAppService.go @@ -729,23 +729,33 @@ func (impl *HelmAppServiceImpl) TemplateChart(ctx context.Context, templateChart return response, nil } func (impl *HelmAppServiceImpl) GetNotes(ctx context.Context, request *InstallReleaseRequest) (string, error) { - installReleaseRequest := &InstallReleaseRequest{ - ChartName: request.ChartName, - ChartVersion: request.ChartVersion, - ValuesYaml: request.ValuesYaml, - ChartRepository: &ChartRepository{ - Name: request.ChartRepository.Name, - Url: request.ChartRepository.Url, - Username: request.ChartRepository.Username, - Password: request.ChartRepository.Password, - }, - ReleaseIdentifier: &ReleaseIdentifier{ - ReleaseNamespace: request.ReleaseIdentifier.ReleaseNamespace, - ReleaseName: request.ReleaseIdentifier.ReleaseName, - }, - } + // + //installReleaseRequest := &InstallReleaseRequest{ + // ChartName: request.ChartName, + // ChartVersion: request.ChartVersion, + // ValuesYaml: request.ValuesYaml, + // ChartRepository: &ChartRepository{ + // Name: request.ChartRepository.Name, + // Url: request.ChartRepository.Url, + // Username: request.ChartRepository.Username, + // Password: request.ChartRepository.Password, + // }, + // ReleaseIdentifier: &ReleaseIdentifier{ + // ReleaseNamespace: request.ReleaseIdentifier.ReleaseNamespace, + // ReleaseName: request.ReleaseIdentifier.ReleaseName, + // }, + //} + clusterId := int(request.ReleaseIdentifier.ClusterConfig.ClusterId) + config, err := impl.GetClusterConf(clusterId) var notesTxt string - response, err := impl.helmAppClient.GetNotes(ctx, installReleaseRequest) + if err != nil { + impl.logger.Errorw("error in fetching cluster detail", "clusterId", clusterId, "err", err) + return notesTxt, err + } + + request.ReleaseIdentifier.ClusterConfig = config + + response, err := impl.helmAppClient.GetNotes(ctx, request) if err != nil { impl.logger.Errorw("error in fetching chart", "err", err) return notesTxt, err diff --git a/pkg/appStore/deployment/service/InstalledAppService.go b/pkg/appStore/deployment/service/InstalledAppService.go index 6933d52ec8..313b9183c0 100644 --- a/pkg/appStore/deployment/service/InstalledAppService.go +++ b/pkg/appStore/deployment/service/InstalledAppService.go @@ -794,9 +794,11 @@ func (impl *InstalledAppServiceImpl) FindAppDetailsForAppstoreApplication(instal ReleaseIdentifier: &client.ReleaseIdentifier{ ReleaseNamespace: installedAppVerison.InstalledApp.Environment.Namespace, ReleaseName: installedAppVerison.InstalledApp.App.AppName, + ClusterConfig: &client.ClusterConfig{ + ClusterId: int32(installedAppVerison.InstalledApp.Environment.ClusterId), + }, }, } - notes, err := impl.helmAppService.GetNotes(context.Background(), installReleaseRequest) appDetail = bean2.AppDetailContainer{ Notes: notes, From b79991a6cdeb0350958d9f89144329dd97e8d85d Mon Sep 17 00:00:00 2001 From: adi6859 Date: Fri, 24 Feb 2023 13:33:13 +0530 Subject: [PATCH 06/11] front-end not loading issue fixed --- pkg/appStore/deployment/service/InstalledAppService.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pkg/appStore/deployment/service/InstalledAppService.go b/pkg/appStore/deployment/service/InstalledAppService.go index 313b9183c0..c57e798a1c 100644 --- a/pkg/appStore/deployment/service/InstalledAppService.go +++ b/pkg/appStore/deployment/service/InstalledAppService.go @@ -800,10 +800,7 @@ func (impl *InstalledAppServiceImpl) FindAppDetailsForAppstoreApplication(instal }, } notes, err := impl.helmAppService.GetNotes(context.Background(), installReleaseRequest) - appDetail = bean2.AppDetailContainer{ - Notes: notes, - } - + appDetail.Notes = notes } return appDetail, nil } From 29f01f62a32560e71cd5974be6d01903ff9451ce Mon Sep 17 00:00:00 2001 From: adi6859 Date: Mon, 27 Feb 2023 20:00:12 +0530 Subject: [PATCH 07/11] helm service updated --- api/helm-app/HelmAppService.go | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/api/helm-app/HelmAppService.go b/api/helm-app/HelmAppService.go index 8a23bf463c..bd0c66ec12 100644 --- a/api/helm-app/HelmAppService.go +++ b/api/helm-app/HelmAppService.go @@ -729,22 +729,6 @@ func (impl *HelmAppServiceImpl) TemplateChart(ctx context.Context, templateChart return response, nil } func (impl *HelmAppServiceImpl) GetNotes(ctx context.Context, request *InstallReleaseRequest) (string, error) { - // - //installReleaseRequest := &InstallReleaseRequest{ - // ChartName: request.ChartName, - // ChartVersion: request.ChartVersion, - // ValuesYaml: request.ValuesYaml, - // ChartRepository: &ChartRepository{ - // Name: request.ChartRepository.Name, - // Url: request.ChartRepository.Url, - // Username: request.ChartRepository.Username, - // Password: request.ChartRepository.Password, - // }, - // ReleaseIdentifier: &ReleaseIdentifier{ - // ReleaseNamespace: request.ReleaseIdentifier.ReleaseNamespace, - // ReleaseName: request.ReleaseIdentifier.ReleaseName, - // }, - //} clusterId := int(request.ReleaseIdentifier.ClusterConfig.ClusterId) config, err := impl.GetClusterConf(clusterId) var notesTxt string From a0c11d61ba9f6eec5e38ec79cd719f95ce126902 Mon Sep 17 00:00:00 2001 From: adi6859 Date: Tue, 28 Feb 2023 13:53:57 +0530 Subject: [PATCH 08/11] name convention changed --- api/bean/AppView.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/bean/AppView.go b/api/bean/AppView.go index 4b5c8bde9d..7efcf85003 100644 --- a/api/bean/AppView.go +++ b/api/bean/AppView.go @@ -121,7 +121,7 @@ type AppDetailContainer struct { Environments []Environment `json:"otherEnvironment,omitempty"` LinkOuts []LinkOuts `json:"linkOuts,omitempty"` ResourceTree map[string]interface{} `json:"resourceTree,omitempty"` - Notes string `json:"Notes,omitempty"` + Notes string `json:"gitOpsNotes,omitempty"` } type Environment struct { From ab6b696a017300ab73de4fca9207adb9f4c1ceed Mon Sep 17 00:00:00 2001 From: adi6859 Date: Wed, 1 Mar 2023 10:43:33 +0530 Subject: [PATCH 09/11] added error message --- pkg/appStore/deployment/service/InstalledAppService.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/appStore/deployment/service/InstalledAppService.go b/pkg/appStore/deployment/service/InstalledAppService.go index c57e798a1c..d631e0f2e3 100644 --- a/pkg/appStore/deployment/service/InstalledAppService.go +++ b/pkg/appStore/deployment/service/InstalledAppService.go @@ -799,7 +799,12 @@ func (impl *InstalledAppServiceImpl) FindAppDetailsForAppstoreApplication(instal }, }, } + notes, err := impl.helmAppService.GetNotes(context.Background(), installReleaseRequest) + if err != nil { + impl.logger.Errorw("error in fetching notes", "err", err) + return appDetail, err + } appDetail.Notes = notes } return appDetail, nil From e12ebcf63413b00860c62c8877926344dd682179 Mon Sep 17 00:00:00 2001 From: adi6859 Date: Thu, 2 Mar 2023 20:37:40 +0530 Subject: [PATCH 10/11] new api routes opened --- api/appStore/AppStoreRouter.go | 3 ++ api/appStore/InstalledAppRestHandler.go | 48 +++++++++++++++++++ api/bean/AppView.go | 4 +- .../deployment/service/InstalledAppService.go | 23 +++++++-- 4 files changed, 72 insertions(+), 6 deletions(-) diff --git a/api/appStore/AppStoreRouter.go b/api/appStore/AppStoreRouter.go index a3aa657a8d..6b521ff778 100644 --- a/api/appStore/AppStoreRouter.go +++ b/api/appStore/AppStoreRouter.go @@ -69,6 +69,9 @@ func (router AppStoreRouterImpl) Init(configRouter *mux.Router) { configRouter.Path("/installed-app/detail").Queries("installed-app-id", "{installed-app-id}").Queries("env-id", "{env-id}"). HandlerFunc(router.deployRestHandler.FetchAppDetailsForInstalledApp). Methods("GET") + configRouter.Path("/installed-app/notes").Queries("installed-app-id", "{installed-app-id}").Queries("env-id", "{env-id}"). + HandlerFunc(router.deployRestHandler.FetchNotesForArgoInstalledApp). + Methods("GET") configRouter.Path("/installed-app"). HandlerFunc(router.deployRestHandler.GetAllInstalledApp).Methods("GET") configRouter.Path("/cluster-component/install/{clusterId}"). diff --git a/api/appStore/InstalledAppRestHandler.go b/api/appStore/InstalledAppRestHandler.go index fa5d519c8a..87db95ca36 100644 --- a/api/appStore/InstalledAppRestHandler.go +++ b/api/appStore/InstalledAppRestHandler.go @@ -48,6 +48,7 @@ type InstalledAppRestHandler interface { CheckAppExists(w http.ResponseWriter, r *http.Request) DefaultComponentInstallation(w http.ResponseWriter, r *http.Request) FetchAppDetailsForInstalledApp(w http.ResponseWriter, r *http.Request) + FetchNotesForArgoInstalledApp(w http.ResponseWriter, r *http.Request) } type InstalledAppRestHandlerImpl struct { @@ -386,6 +387,53 @@ func (impl *InstalledAppRestHandlerImpl) DefaultComponentInstallation(w http.Res } common.WriteJsonResp(w, err, isTriggered, http.StatusOK) } +func (handler *InstalledAppRestHandlerImpl) FetchNotesForArgoInstalledApp(w http.ResponseWriter, r *http.Request) { + userId, err := handler.userAuthService.GetLoggedInUser(r) + if userId == 0 || err != nil { + common.WriteJsonResp(w, err, nil, http.StatusUnauthorized) + return + } + vars := mux.Vars(r) + installedAppId, err := strconv.Atoi(vars["installed-app-id"]) + if err != nil { + handler.Logger.Errorw("request err, FetchNotesForArgoInstalledApp", "err", err, "installedAppId", installedAppId) + common.WriteJsonResp(w, err, nil, http.StatusBadRequest) + return + } + token := r.Header.Get("token") + envId, err := strconv.Atoi(vars["env-id"]) + if err != nil { + handler.Logger.Errorw("request err, FetchNotesForArgoInstalledApp", "err", err, "installedAppId", installedAppId, "envId", envId) + common.WriteJsonResp(w, err, nil, http.StatusBadRequest) + return + } + handler.Logger.Infow("request payload, FetchNotesForArgoInstalledApp, app store", "installedAppId", installedAppId, "envId", envId) + + notes, appName, err := handler.installedAppService.FindNotesForArgoApplication(installedAppId, envId) + if err != nil { + handler.Logger.Errorw("service err, FetchNotesForArgoInstalledApp, app store", "err", err, "installedAppId", installedAppId, "envId", envId) + common.WriteJsonResp(w, err, nil, http.StatusInternalServerError) + return + } + + //rbac block starts from here + object, object2 := handler.enforcerUtil.GetHelmObjectByAppNameAndEnvId(appName, envId) + + var ok bool + + if object2 == "" { + ok = handler.enforcer.Enforce(token, casbin.ResourceHelmApp, casbin.ActionGet, object) + } else { + ok = handler.enforcer.Enforce(token, casbin.ResourceHelmApp, casbin.ActionGet, object) || handler.enforcer.Enforce(token, casbin.ResourceHelmApp, casbin.ActionGet, object2) + } + + if !ok { + common.WriteJsonResp(w, fmt.Errorf("unauthorized user"), nil, http.StatusForbidden) + return + } + common.WriteJsonResp(w, err, &bean2.Notes{Notes: notes}, http.StatusOK) + +} func (handler *InstalledAppRestHandlerImpl) FetchAppDetailsForInstalledApp(w http.ResponseWriter, r *http.Request) { userId, err := handler.userAuthService.GetLoggedInUser(r) diff --git a/api/bean/AppView.go b/api/bean/AppView.go index 7efcf85003..816cf7e54b 100644 --- a/api/bean/AppView.go +++ b/api/bean/AppView.go @@ -121,7 +121,9 @@ type AppDetailContainer struct { Environments []Environment `json:"otherEnvironment,omitempty"` LinkOuts []LinkOuts `json:"linkOuts,omitempty"` ResourceTree map[string]interface{} `json:"resourceTree,omitempty"` - Notes string `json:"gitOpsNotes,omitempty"` +} +type Notes struct { + Notes string `json:"gitOpsNotes,omitempty"` } type Environment struct { diff --git a/pkg/appStore/deployment/service/InstalledAppService.go b/pkg/appStore/deployment/service/InstalledAppService.go index d631e0f2e3..c8f687d680 100644 --- a/pkg/appStore/deployment/service/InstalledAppService.go +++ b/pkg/appStore/deployment/service/InstalledAppService.go @@ -79,6 +79,7 @@ type InstalledAppService interface { FindAppDetailsForAppstoreApplication(installedAppId, envId int) (bean2.AppDetailContainer, error) UpdateInstalledAppVersionStatus(application *v1alpha1.Application) (bool, error) FetchResourceTree(rctx context.Context, cn http.CloseNotifier, appDetail *bean2.AppDetailContainer) bean2.AppDetailContainer + FindNotesForArgoApplication(installedAppId, envId int) (string, string, error) } type InstalledAppServiceImpl struct { @@ -775,12 +776,25 @@ func (impl *InstalledAppServiceImpl) FindAppDetailsForAppstoreApplication(instal appDetail := bean2.AppDetailContainer{ DeploymentDetailContainer: deploymentContainer, } + return appDetail, nil +} +func (impl *InstalledAppServiceImpl) FindNotesForArgoApplication(installedAppId, envId int) (string, string, error) { + installedAppVerison, err := impl.installedAppRepository.GetInstalledAppVersionByInstalledAppIdAndEnvId(installedAppId, envId) + var notes string + appName := installedAppVerison.InstalledApp.App.AppName + if err != nil { + //do better logging + impl.logger.Error(err) + return notes, appName, err + } + if util.IsAcdApp(installedAppVerison.InstalledApp.DeploymentAppType) { appStoreAppVersion, err := impl.appStoreApplicationVersionRepository.FindById(installedAppVerison.AppStoreApplicationVersion.Id) if err != nil { impl.logger.Errorw("error fetching app store app version in installed app service", "err", err) - return appDetail, err + return notes, appName, err } + installReleaseRequest := &client.InstallReleaseRequest{ ChartName: appStoreAppVersion.Name, ChartVersion: appStoreAppVersion.Version, @@ -800,14 +814,13 @@ func (impl *InstalledAppServiceImpl) FindAppDetailsForAppstoreApplication(instal }, } - notes, err := impl.helmAppService.GetNotes(context.Background(), installReleaseRequest) + notes, err = impl.helmAppService.GetNotes(context.Background(), installReleaseRequest) if err != nil { impl.logger.Errorw("error in fetching notes", "err", err) - return appDetail, err + return notes, appName, err } - appDetail.Notes = notes } - return appDetail, nil + return notes, appName, nil } func (impl InstalledAppServiceImpl) GetInstalledAppVersionHistory(installedAppId int) (*appStoreBean.InstallAppVersionHistoryDto, error) { From 0f671f3ab294311a9666f2f20815176f9254462f Mon Sep 17 00:00:00 2001 From: adi6859 Date: Mon, 6 Mar 2023 15:03:23 +0530 Subject: [PATCH 11/11] FindNotesForArgoApplication changed --- pkg/appStore/deployment/service/InstalledAppService.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/appStore/deployment/service/InstalledAppService.go b/pkg/appStore/deployment/service/InstalledAppService.go index b3fb4f749e..80da900438 100644 --- a/pkg/appStore/deployment/service/InstalledAppService.go +++ b/pkg/appStore/deployment/service/InstalledAppService.go @@ -785,7 +785,6 @@ func (impl *InstalledAppServiceImpl) FindNotesForArgoApplication(installedAppId, var notes string appName := installedAppVerison.InstalledApp.App.AppName if err != nil { - //do better logging impl.logger.Error(err) return notes, appName, err }