diff --git a/pkg/app/server/grpcapi/web_api.go b/pkg/app/server/grpcapi/web_api.go index 22483dd00e..ec65252891 100644 --- a/pkg/app/server/grpcapi/web_api.go +++ b/pkg/app/server/grpcapi/web_api.go @@ -22,6 +22,7 @@ import ( "strings" "time" + "github.com/google/go-github/v29/github" "github.com/google/uuid" "go.uber.org/zap" "google.golang.org/grpc" @@ -116,6 +117,7 @@ type WebAPI struct { insightStore insightstore.Store unregisteredAppStore unregisteredappstore.Store encrypter encrypter + githubCli *github.Client appProjectCache cache.Cache deploymentProjectCache cache.Cache @@ -158,6 +160,7 @@ func NewWebAPI( unregisteredAppStore: uas, projectsInConfig: projs, encrypter: encrypter, + githubCli: github.NewClient(nil), appProjectCache: memorycache.NewTTLCache(ctx, 24*time.Hour, 3*time.Hour), deploymentProjectCache: memorycache.NewTTLCache(ctx, 24*time.Hour, 3*time.Hour), pipedProjectCache: memorycache.NewTTLCache(ctx, 24*time.Hour, 3*time.Hour), @@ -1743,3 +1746,33 @@ func (a *WebAPI) ListEvents(ctx context.Context, req *webservice.ListEventsReque Cursor: cursor, }, nil } + +func (a *WebAPI) ListReleasedVersions(ctx context.Context, req *webservice.ListReleasedVersionsRequest) (*webservice.ListReleasedVersionsResponse, error) { + _, err := rpcauth.ExtractClaims(ctx) + if err != nil { + a.logger.Error("failed to authenticate the current user", zap.Error(err)) + return nil, err + } + + releases, _, err := a.githubCli.Repositories.ListReleases(ctx, "pipe-cd", "pipecd", nil) + if err != nil { + return nil, status.Error(codes.Internal, "Failed to list released versions") + } + + if len(releases) == 0 { + return &webservice.ListReleasedVersionsResponse{}, nil + } + + versions := make([]string, 0, len(releases)) + for _, release := range releases { + // Ignore pre-release tagged or draft release. + if *release.Prerelease || *release.Draft { + continue + } + versions = append(versions, *release.TagName) + } + + return &webservice.ListReleasedVersionsResponse{ + Versions: versions, + }, nil +} diff --git a/pkg/app/server/service/webservice/service.pb.auth.go b/pkg/app/server/service/webservice/service.pb.auth.go index 46c5364ac5..29b7fa76d8 100644 --- a/pkg/app/server/service/webservice/service.pb.auth.go +++ b/pkg/app/server/service/webservice/service.pb.auth.go @@ -100,6 +100,8 @@ func (a *authorizer) Authorize(method string, r model.Role) bool { return isAdmin(r) || isEditor(r) || isViewer(r) case "/grpc.service.webservice.WebService/GetPiped": return isAdmin(r) || isEditor(r) || isViewer(r) + case "/grpc.service.webservice.WebService/ListReleasedVersions": + return isAdmin(r) || isEditor(r) || isViewer(r) case "/grpc.service.webservice.WebService/ListApplications": return isAdmin(r) || isEditor(r) || isViewer(r) case "/grpc.service.webservice.WebService/GetApplication": diff --git a/pkg/app/server/service/webservice/service.pb.go b/pkg/app/server/service/webservice/service.pb.go index 7d1c9556fc..780e7b43e3 100644 --- a/pkg/app/server/service/webservice/service.pb.go +++ b/pkg/app/server/service/webservice/service.pb.go @@ -982,6 +982,91 @@ func (x *RestartPipedResponse) GetCommandId() string { return "" } +type ListReleasedVersionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListReleasedVersionsRequest) Reset() { + *x = ListReleasedVersionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListReleasedVersionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListReleasedVersionsRequest) ProtoMessage() {} + +func (x *ListReleasedVersionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListReleasedVersionsRequest.ProtoReflect.Descriptor instead. +func (*ListReleasedVersionsRequest) Descriptor() ([]byte, []int) { + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{20} +} + +type ListReleasedVersionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Versions []string `protobuf:"bytes,1,rep,name=versions,proto3" json:"versions,omitempty"` +} + +func (x *ListReleasedVersionsResponse) Reset() { + *x = ListReleasedVersionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListReleasedVersionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListReleasedVersionsResponse) ProtoMessage() {} + +func (x *ListReleasedVersionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListReleasedVersionsResponse.ProtoReflect.Descriptor instead. +func (*ListReleasedVersionsResponse) Descriptor() ([]byte, []int) { + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{21} +} + +func (x *ListReleasedVersionsResponse) GetVersions() []string { + if x != nil { + return x.Versions + } + return nil +} + type AddApplicationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -999,7 +1084,7 @@ type AddApplicationRequest struct { func (x *AddApplicationRequest) Reset() { *x = AddApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[20] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1012,7 +1097,7 @@ func (x *AddApplicationRequest) String() string { func (*AddApplicationRequest) ProtoMessage() {} func (x *AddApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[20] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1025,7 +1110,7 @@ func (x *AddApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApplicationRequest.ProtoReflect.Descriptor instead. func (*AddApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{20} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{22} } func (x *AddApplicationRequest) GetName() string { @@ -1088,7 +1173,7 @@ type AddApplicationResponse struct { func (x *AddApplicationResponse) Reset() { *x = AddApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[21] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1101,7 +1186,7 @@ func (x *AddApplicationResponse) String() string { func (*AddApplicationResponse) ProtoMessage() {} func (x *AddApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[21] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1114,7 +1199,7 @@ func (x *AddApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApplicationResponse.ProtoReflect.Descriptor instead. func (*AddApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{21} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{23} } func (x *AddApplicationResponse) GetApplicationId() string { @@ -1140,7 +1225,7 @@ type UpdateApplicationRequest struct { func (x *UpdateApplicationRequest) Reset() { *x = UpdateApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[22] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1153,7 +1238,7 @@ func (x *UpdateApplicationRequest) String() string { func (*UpdateApplicationRequest) ProtoMessage() {} func (x *UpdateApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[22] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1166,7 +1251,7 @@ func (x *UpdateApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateApplicationRequest.ProtoReflect.Descriptor instead. func (*UpdateApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{22} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{24} } func (x *UpdateApplicationRequest) GetApplicationId() string { @@ -1220,7 +1305,7 @@ type UpdateApplicationResponse struct { func (x *UpdateApplicationResponse) Reset() { *x = UpdateApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[23] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1233,7 +1318,7 @@ func (x *UpdateApplicationResponse) String() string { func (*UpdateApplicationResponse) ProtoMessage() {} func (x *UpdateApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[23] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1246,7 +1331,7 @@ func (x *UpdateApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateApplicationResponse.ProtoReflect.Descriptor instead. func (*UpdateApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{23} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{25} } type EnableApplicationRequest struct { @@ -1260,7 +1345,7 @@ type EnableApplicationRequest struct { func (x *EnableApplicationRequest) Reset() { *x = EnableApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[24] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1273,7 +1358,7 @@ func (x *EnableApplicationRequest) String() string { func (*EnableApplicationRequest) ProtoMessage() {} func (x *EnableApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[24] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1286,7 +1371,7 @@ func (x *EnableApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableApplicationRequest.ProtoReflect.Descriptor instead. func (*EnableApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{24} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{26} } func (x *EnableApplicationRequest) GetApplicationId() string { @@ -1305,7 +1390,7 @@ type EnableApplicationResponse struct { func (x *EnableApplicationResponse) Reset() { *x = EnableApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[25] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1318,7 +1403,7 @@ func (x *EnableApplicationResponse) String() string { func (*EnableApplicationResponse) ProtoMessage() {} func (x *EnableApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[25] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1331,7 +1416,7 @@ func (x *EnableApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableApplicationResponse.ProtoReflect.Descriptor instead. func (*EnableApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{25} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{27} } type DisableApplicationRequest struct { @@ -1345,7 +1430,7 @@ type DisableApplicationRequest struct { func (x *DisableApplicationRequest) Reset() { *x = DisableApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[26] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1358,7 +1443,7 @@ func (x *DisableApplicationRequest) String() string { func (*DisableApplicationRequest) ProtoMessage() {} func (x *DisableApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[26] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1371,7 +1456,7 @@ func (x *DisableApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableApplicationRequest.ProtoReflect.Descriptor instead. func (*DisableApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{26} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{28} } func (x *DisableApplicationRequest) GetApplicationId() string { @@ -1390,7 +1475,7 @@ type DisableApplicationResponse struct { func (x *DisableApplicationResponse) Reset() { *x = DisableApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[27] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1403,7 +1488,7 @@ func (x *DisableApplicationResponse) String() string { func (*DisableApplicationResponse) ProtoMessage() {} func (x *DisableApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[27] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1416,7 +1501,7 @@ func (x *DisableApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableApplicationResponse.ProtoReflect.Descriptor instead. func (*DisableApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{27} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{29} } type DeleteApplicationRequest struct { @@ -1430,7 +1515,7 @@ type DeleteApplicationRequest struct { func (x *DeleteApplicationRequest) Reset() { *x = DeleteApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[28] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1443,7 +1528,7 @@ func (x *DeleteApplicationRequest) String() string { func (*DeleteApplicationRequest) ProtoMessage() {} func (x *DeleteApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[28] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1456,7 +1541,7 @@ func (x *DeleteApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteApplicationRequest.ProtoReflect.Descriptor instead. func (*DeleteApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{28} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{30} } func (x *DeleteApplicationRequest) GetApplicationId() string { @@ -1475,7 +1560,7 @@ type DeleteApplicationResponse struct { func (x *DeleteApplicationResponse) Reset() { *x = DeleteApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[29] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1488,7 +1573,7 @@ func (x *DeleteApplicationResponse) String() string { func (*DeleteApplicationResponse) ProtoMessage() {} func (x *DeleteApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[29] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1501,7 +1586,7 @@ func (x *DeleteApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteApplicationResponse.ProtoReflect.Descriptor instead. func (*DeleteApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{29} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{31} } type ListApplicationsRequest struct { @@ -1515,7 +1600,7 @@ type ListApplicationsRequest struct { func (x *ListApplicationsRequest) Reset() { *x = ListApplicationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[30] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1528,7 +1613,7 @@ func (x *ListApplicationsRequest) String() string { func (*ListApplicationsRequest) ProtoMessage() {} func (x *ListApplicationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[30] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1541,7 +1626,7 @@ func (x *ListApplicationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApplicationsRequest.ProtoReflect.Descriptor instead. func (*ListApplicationsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{30} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{32} } func (x *ListApplicationsRequest) GetOptions() *ListApplicationsRequest_Options { @@ -1562,7 +1647,7 @@ type ListApplicationsResponse struct { func (x *ListApplicationsResponse) Reset() { *x = ListApplicationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[31] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1575,7 +1660,7 @@ func (x *ListApplicationsResponse) String() string { func (*ListApplicationsResponse) ProtoMessage() {} func (x *ListApplicationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[31] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1588,7 +1673,7 @@ func (x *ListApplicationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApplicationsResponse.ProtoReflect.Descriptor instead. func (*ListApplicationsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{31} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{33} } func (x *ListApplicationsResponse) GetApplications() []*model.Application { @@ -1610,7 +1695,7 @@ type SyncApplicationRequest struct { func (x *SyncApplicationRequest) Reset() { *x = SyncApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[32] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1623,7 +1708,7 @@ func (x *SyncApplicationRequest) String() string { func (*SyncApplicationRequest) ProtoMessage() {} func (x *SyncApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[32] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1636,7 +1721,7 @@ func (x *SyncApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncApplicationRequest.ProtoReflect.Descriptor instead. func (*SyncApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{32} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{34} } func (x *SyncApplicationRequest) GetApplicationId() string { @@ -1664,7 +1749,7 @@ type SyncApplicationResponse struct { func (x *SyncApplicationResponse) Reset() { *x = SyncApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[33] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1677,7 +1762,7 @@ func (x *SyncApplicationResponse) String() string { func (*SyncApplicationResponse) ProtoMessage() {} func (x *SyncApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[33] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1690,7 +1775,7 @@ func (x *SyncApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncApplicationResponse.ProtoReflect.Descriptor instead. func (*SyncApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{33} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{35} } func (x *SyncApplicationResponse) GetCommandId() string { @@ -1711,7 +1796,7 @@ type GetApplicationRequest struct { func (x *GetApplicationRequest) Reset() { *x = GetApplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[34] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1724,7 +1809,7 @@ func (x *GetApplicationRequest) String() string { func (*GetApplicationRequest) ProtoMessage() {} func (x *GetApplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[34] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1737,7 +1822,7 @@ func (x *GetApplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetApplicationRequest.ProtoReflect.Descriptor instead. func (*GetApplicationRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{34} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{36} } func (x *GetApplicationRequest) GetApplicationId() string { @@ -1758,7 +1843,7 @@ type GetApplicationResponse struct { func (x *GetApplicationResponse) Reset() { *x = GetApplicationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[35] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1771,7 +1856,7 @@ func (x *GetApplicationResponse) String() string { func (*GetApplicationResponse) ProtoMessage() {} func (x *GetApplicationResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[35] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1784,7 +1869,7 @@ func (x *GetApplicationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetApplicationResponse.ProtoReflect.Descriptor instead. func (*GetApplicationResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{35} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{37} } func (x *GetApplicationResponse) GetApplication() *model.Application { @@ -1808,7 +1893,7 @@ type GenerateApplicationSealedSecretRequest struct { func (x *GenerateApplicationSealedSecretRequest) Reset() { *x = GenerateApplicationSealedSecretRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[36] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1821,7 +1906,7 @@ func (x *GenerateApplicationSealedSecretRequest) String() string { func (*GenerateApplicationSealedSecretRequest) ProtoMessage() {} func (x *GenerateApplicationSealedSecretRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[36] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1834,7 +1919,7 @@ func (x *GenerateApplicationSealedSecretRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use GenerateApplicationSealedSecretRequest.ProtoReflect.Descriptor instead. func (*GenerateApplicationSealedSecretRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{36} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{38} } func (x *GenerateApplicationSealedSecretRequest) GetPipedId() string { @@ -1869,7 +1954,7 @@ type GenerateApplicationSealedSecretResponse struct { func (x *GenerateApplicationSealedSecretResponse) Reset() { *x = GenerateApplicationSealedSecretResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[37] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1882,7 +1967,7 @@ func (x *GenerateApplicationSealedSecretResponse) String() string { func (*GenerateApplicationSealedSecretResponse) ProtoMessage() {} func (x *GenerateApplicationSealedSecretResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[37] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1895,7 +1980,7 @@ func (x *GenerateApplicationSealedSecretResponse) ProtoReflect() protoreflect.Me // Deprecated: Use GenerateApplicationSealedSecretResponse.ProtoReflect.Descriptor instead. func (*GenerateApplicationSealedSecretResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{37} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{39} } func (x *GenerateApplicationSealedSecretResponse) GetData() string { @@ -1914,7 +1999,7 @@ type ListUnregisteredApplicationsRequest struct { func (x *ListUnregisteredApplicationsRequest) Reset() { *x = ListUnregisteredApplicationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[38] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1927,7 +2012,7 @@ func (x *ListUnregisteredApplicationsRequest) String() string { func (*ListUnregisteredApplicationsRequest) ProtoMessage() {} func (x *ListUnregisteredApplicationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[38] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1940,7 +2025,7 @@ func (x *ListUnregisteredApplicationsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use ListUnregisteredApplicationsRequest.ProtoReflect.Descriptor instead. func (*ListUnregisteredApplicationsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{38} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{40} } type ListUnregisteredApplicationsResponse struct { @@ -1954,7 +2039,7 @@ type ListUnregisteredApplicationsResponse struct { func (x *ListUnregisteredApplicationsResponse) Reset() { *x = ListUnregisteredApplicationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[39] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1967,7 +2052,7 @@ func (x *ListUnregisteredApplicationsResponse) String() string { func (*ListUnregisteredApplicationsResponse) ProtoMessage() {} func (x *ListUnregisteredApplicationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[39] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1980,7 +2065,7 @@ func (x *ListUnregisteredApplicationsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use ListUnregisteredApplicationsResponse.ProtoReflect.Descriptor instead. func (*ListUnregisteredApplicationsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{39} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{41} } func (x *ListUnregisteredApplicationsResponse) GetApplications() []*model.ApplicationInfo { @@ -2006,7 +2091,7 @@ type ListDeploymentsRequest struct { func (x *ListDeploymentsRequest) Reset() { *x = ListDeploymentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[40] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2019,7 +2104,7 @@ func (x *ListDeploymentsRequest) String() string { func (*ListDeploymentsRequest) ProtoMessage() {} func (x *ListDeploymentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[40] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2032,7 +2117,7 @@ func (x *ListDeploymentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentsRequest.ProtoReflect.Descriptor instead. func (*ListDeploymentsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{40} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{42} } func (x *ListDeploymentsRequest) GetOptions() *ListDeploymentsRequest_Options { @@ -2075,7 +2160,7 @@ type ListDeploymentsResponse struct { func (x *ListDeploymentsResponse) Reset() { *x = ListDeploymentsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[41] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2088,7 +2173,7 @@ func (x *ListDeploymentsResponse) String() string { func (*ListDeploymentsResponse) ProtoMessage() {} func (x *ListDeploymentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[41] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2101,7 +2186,7 @@ func (x *ListDeploymentsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentsResponse.ProtoReflect.Descriptor instead. func (*ListDeploymentsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{41} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{43} } func (x *ListDeploymentsResponse) GetDeployments() []*model.Deployment { @@ -2129,7 +2214,7 @@ type GetDeploymentRequest struct { func (x *GetDeploymentRequest) Reset() { *x = GetDeploymentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[42] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2142,7 +2227,7 @@ func (x *GetDeploymentRequest) String() string { func (*GetDeploymentRequest) ProtoMessage() {} func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[42] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2155,7 +2240,7 @@ func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentRequest.ProtoReflect.Descriptor instead. func (*GetDeploymentRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{42} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{44} } func (x *GetDeploymentRequest) GetDeploymentId() string { @@ -2176,7 +2261,7 @@ type GetDeploymentResponse struct { func (x *GetDeploymentResponse) Reset() { *x = GetDeploymentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[43] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2189,7 +2274,7 @@ func (x *GetDeploymentResponse) String() string { func (*GetDeploymentResponse) ProtoMessage() {} func (x *GetDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[43] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2202,7 +2287,7 @@ func (x *GetDeploymentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentResponse.ProtoReflect.Descriptor instead. func (*GetDeploymentResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{43} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{45} } func (x *GetDeploymentResponse) GetDeployment() *model.Deployment { @@ -2226,7 +2311,7 @@ type GetStageLogRequest struct { func (x *GetStageLogRequest) Reset() { *x = GetStageLogRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[44] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2239,7 +2324,7 @@ func (x *GetStageLogRequest) String() string { func (*GetStageLogRequest) ProtoMessage() {} func (x *GetStageLogRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[44] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2252,7 +2337,7 @@ func (x *GetStageLogRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStageLogRequest.ProtoReflect.Descriptor instead. func (*GetStageLogRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{44} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{46} } func (x *GetStageLogRequest) GetDeploymentId() string { @@ -2295,7 +2380,7 @@ type GetStageLogResponse struct { func (x *GetStageLogResponse) Reset() { *x = GetStageLogResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[45] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2308,7 +2393,7 @@ func (x *GetStageLogResponse) String() string { func (*GetStageLogResponse) ProtoMessage() {} func (x *GetStageLogResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[45] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2321,7 +2406,7 @@ func (x *GetStageLogResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStageLogResponse.ProtoReflect.Descriptor instead. func (*GetStageLogResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{45} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{47} } func (x *GetStageLogResponse) GetBlocks() []*model.LogBlock { @@ -2351,7 +2436,7 @@ type CancelDeploymentRequest struct { func (x *CancelDeploymentRequest) Reset() { *x = CancelDeploymentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[46] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2364,7 +2449,7 @@ func (x *CancelDeploymentRequest) String() string { func (*CancelDeploymentRequest) ProtoMessage() {} func (x *CancelDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[46] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2377,7 +2462,7 @@ func (x *CancelDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelDeploymentRequest.ProtoReflect.Descriptor instead. func (*CancelDeploymentRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{46} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{48} } func (x *CancelDeploymentRequest) GetDeploymentId() string { @@ -2412,7 +2497,7 @@ type CancelDeploymentResponse struct { func (x *CancelDeploymentResponse) Reset() { *x = CancelDeploymentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[47] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2425,7 +2510,7 @@ func (x *CancelDeploymentResponse) String() string { func (*CancelDeploymentResponse) ProtoMessage() {} func (x *CancelDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[47] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2438,7 +2523,7 @@ func (x *CancelDeploymentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelDeploymentResponse.ProtoReflect.Descriptor instead. func (*CancelDeploymentResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{47} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{49} } func (x *CancelDeploymentResponse) GetCommandId() string { @@ -2460,7 +2545,7 @@ type SkipStageRequest struct { func (x *SkipStageRequest) Reset() { *x = SkipStageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[48] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2473,7 +2558,7 @@ func (x *SkipStageRequest) String() string { func (*SkipStageRequest) ProtoMessage() {} func (x *SkipStageRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[48] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2486,7 +2571,7 @@ func (x *SkipStageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SkipStageRequest.ProtoReflect.Descriptor instead. func (*SkipStageRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{48} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{50} } func (x *SkipStageRequest) GetDeploymentId() string { @@ -2514,7 +2599,7 @@ type SkipStageResponse struct { func (x *SkipStageResponse) Reset() { *x = SkipStageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[49] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2527,7 +2612,7 @@ func (x *SkipStageResponse) String() string { func (*SkipStageResponse) ProtoMessage() {} func (x *SkipStageResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[49] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2540,7 +2625,7 @@ func (x *SkipStageResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SkipStageResponse.ProtoReflect.Descriptor instead. func (*SkipStageResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{49} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{51} } func (x *SkipStageResponse) GetCommandId() string { @@ -2562,7 +2647,7 @@ type ApproveStageRequest struct { func (x *ApproveStageRequest) Reset() { *x = ApproveStageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[50] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2575,7 +2660,7 @@ func (x *ApproveStageRequest) String() string { func (*ApproveStageRequest) ProtoMessage() {} func (x *ApproveStageRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[50] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2588,7 +2673,7 @@ func (x *ApproveStageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveStageRequest.ProtoReflect.Descriptor instead. func (*ApproveStageRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{50} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{52} } func (x *ApproveStageRequest) GetDeploymentId() string { @@ -2616,7 +2701,7 @@ type ApproveStageResponse struct { func (x *ApproveStageResponse) Reset() { *x = ApproveStageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[51] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2629,7 +2714,7 @@ func (x *ApproveStageResponse) String() string { func (*ApproveStageResponse) ProtoMessage() {} func (x *ApproveStageResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[51] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2642,7 +2727,7 @@ func (x *ApproveStageResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveStageResponse.ProtoReflect.Descriptor instead. func (*ApproveStageResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{51} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{53} } func (x *ApproveStageResponse) GetCommandId() string { @@ -2663,7 +2748,7 @@ type GetApplicationLiveStateRequest struct { func (x *GetApplicationLiveStateRequest) Reset() { *x = GetApplicationLiveStateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[52] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2676,7 +2761,7 @@ func (x *GetApplicationLiveStateRequest) String() string { func (*GetApplicationLiveStateRequest) ProtoMessage() {} func (x *GetApplicationLiveStateRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[52] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2689,7 +2774,7 @@ func (x *GetApplicationLiveStateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetApplicationLiveStateRequest.ProtoReflect.Descriptor instead. func (*GetApplicationLiveStateRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{52} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{54} } func (x *GetApplicationLiveStateRequest) GetApplicationId() string { @@ -2710,7 +2795,7 @@ type GetApplicationLiveStateResponse struct { func (x *GetApplicationLiveStateResponse) Reset() { *x = GetApplicationLiveStateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[53] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2723,7 +2808,7 @@ func (x *GetApplicationLiveStateResponse) String() string { func (*GetApplicationLiveStateResponse) ProtoMessage() {} func (x *GetApplicationLiveStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[53] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2736,7 +2821,7 @@ func (x *GetApplicationLiveStateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetApplicationLiveStateResponse.ProtoReflect.Descriptor instead. func (*GetApplicationLiveStateResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{53} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{55} } func (x *GetApplicationLiveStateResponse) GetSnapshot() *model.ApplicationLiveStateSnapshot { @@ -2755,7 +2840,7 @@ type GetProjectRequest struct { func (x *GetProjectRequest) Reset() { *x = GetProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[54] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2768,7 +2853,7 @@ func (x *GetProjectRequest) String() string { func (*GetProjectRequest) ProtoMessage() {} func (x *GetProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[54] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2781,7 +2866,7 @@ func (x *GetProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProjectRequest.ProtoReflect.Descriptor instead. func (*GetProjectRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{54} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{56} } type GetProjectResponse struct { @@ -2795,7 +2880,7 @@ type GetProjectResponse struct { func (x *GetProjectResponse) Reset() { *x = GetProjectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[55] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2808,7 +2893,7 @@ func (x *GetProjectResponse) String() string { func (*GetProjectResponse) ProtoMessage() {} func (x *GetProjectResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[55] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2821,7 +2906,7 @@ func (x *GetProjectResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProjectResponse.ProtoReflect.Descriptor instead. func (*GetProjectResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{55} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{57} } func (x *GetProjectResponse) GetProject() *model.Project { @@ -2843,7 +2928,7 @@ type UpdateProjectStaticAdminRequest struct { func (x *UpdateProjectStaticAdminRequest) Reset() { *x = UpdateProjectStaticAdminRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[56] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2856,7 +2941,7 @@ func (x *UpdateProjectStaticAdminRequest) String() string { func (*UpdateProjectStaticAdminRequest) ProtoMessage() {} func (x *UpdateProjectStaticAdminRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[56] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2869,7 +2954,7 @@ func (x *UpdateProjectStaticAdminRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectStaticAdminRequest.ProtoReflect.Descriptor instead. func (*UpdateProjectStaticAdminRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{56} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{58} } func (x *UpdateProjectStaticAdminRequest) GetUsername() string { @@ -2895,7 +2980,7 @@ type UpdateProjectStaticAdminResponse struct { func (x *UpdateProjectStaticAdminResponse) Reset() { *x = UpdateProjectStaticAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[57] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2908,7 +2993,7 @@ func (x *UpdateProjectStaticAdminResponse) String() string { func (*UpdateProjectStaticAdminResponse) ProtoMessage() {} func (x *UpdateProjectStaticAdminResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[57] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2921,7 +3006,7 @@ func (x *UpdateProjectStaticAdminResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectStaticAdminResponse.ProtoReflect.Descriptor instead. func (*UpdateProjectStaticAdminResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{57} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{59} } type UpdateProjectSSOConfigRequest struct { @@ -2935,7 +3020,7 @@ type UpdateProjectSSOConfigRequest struct { func (x *UpdateProjectSSOConfigRequest) Reset() { *x = UpdateProjectSSOConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[58] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2948,7 +3033,7 @@ func (x *UpdateProjectSSOConfigRequest) String() string { func (*UpdateProjectSSOConfigRequest) ProtoMessage() {} func (x *UpdateProjectSSOConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[58] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2961,7 +3046,7 @@ func (x *UpdateProjectSSOConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectSSOConfigRequest.ProtoReflect.Descriptor instead. func (*UpdateProjectSSOConfigRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{58} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{60} } func (x *UpdateProjectSSOConfigRequest) GetSso() *model.ProjectSSOConfig { @@ -2980,7 +3065,7 @@ type UpdateProjectSSOConfigResponse struct { func (x *UpdateProjectSSOConfigResponse) Reset() { *x = UpdateProjectSSOConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[59] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2993,7 +3078,7 @@ func (x *UpdateProjectSSOConfigResponse) String() string { func (*UpdateProjectSSOConfigResponse) ProtoMessage() {} func (x *UpdateProjectSSOConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[59] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3006,7 +3091,7 @@ func (x *UpdateProjectSSOConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectSSOConfigResponse.ProtoReflect.Descriptor instead. func (*UpdateProjectSSOConfigResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{59} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{61} } type UpdateProjectRBACConfigRequest struct { @@ -3020,7 +3105,7 @@ type UpdateProjectRBACConfigRequest struct { func (x *UpdateProjectRBACConfigRequest) Reset() { *x = UpdateProjectRBACConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[60] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3033,7 +3118,7 @@ func (x *UpdateProjectRBACConfigRequest) String() string { func (*UpdateProjectRBACConfigRequest) ProtoMessage() {} func (x *UpdateProjectRBACConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[60] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3046,7 +3131,7 @@ func (x *UpdateProjectRBACConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectRBACConfigRequest.ProtoReflect.Descriptor instead. func (*UpdateProjectRBACConfigRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{60} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{62} } func (x *UpdateProjectRBACConfigRequest) GetRbac() *model.ProjectRBACConfig { @@ -3065,7 +3150,7 @@ type UpdateProjectRBACConfigResponse struct { func (x *UpdateProjectRBACConfigResponse) Reset() { *x = UpdateProjectRBACConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[61] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3078,7 +3163,7 @@ func (x *UpdateProjectRBACConfigResponse) String() string { func (*UpdateProjectRBACConfigResponse) ProtoMessage() {} func (x *UpdateProjectRBACConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[61] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3091,7 +3176,7 @@ func (x *UpdateProjectRBACConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectRBACConfigResponse.ProtoReflect.Descriptor instead. func (*UpdateProjectRBACConfigResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{61} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{63} } type EnableStaticAdminRequest struct { @@ -3103,7 +3188,7 @@ type EnableStaticAdminRequest struct { func (x *EnableStaticAdminRequest) Reset() { *x = EnableStaticAdminRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[62] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3116,7 +3201,7 @@ func (x *EnableStaticAdminRequest) String() string { func (*EnableStaticAdminRequest) ProtoMessage() {} func (x *EnableStaticAdminRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[62] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3129,7 +3214,7 @@ func (x *EnableStaticAdminRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableStaticAdminRequest.ProtoReflect.Descriptor instead. func (*EnableStaticAdminRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{62} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{64} } type EnableStaticAdminResponse struct { @@ -3141,7 +3226,7 @@ type EnableStaticAdminResponse struct { func (x *EnableStaticAdminResponse) Reset() { *x = EnableStaticAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[63] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3154,7 +3239,7 @@ func (x *EnableStaticAdminResponse) String() string { func (*EnableStaticAdminResponse) ProtoMessage() {} func (x *EnableStaticAdminResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[63] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3167,7 +3252,7 @@ func (x *EnableStaticAdminResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableStaticAdminResponse.ProtoReflect.Descriptor instead. func (*EnableStaticAdminResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{63} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{65} } type DisableStaticAdminRequest struct { @@ -3179,7 +3264,7 @@ type DisableStaticAdminRequest struct { func (x *DisableStaticAdminRequest) Reset() { *x = DisableStaticAdminRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[64] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3192,7 +3277,7 @@ func (x *DisableStaticAdminRequest) String() string { func (*DisableStaticAdminRequest) ProtoMessage() {} func (x *DisableStaticAdminRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[64] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3205,7 +3290,7 @@ func (x *DisableStaticAdminRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableStaticAdminRequest.ProtoReflect.Descriptor instead. func (*DisableStaticAdminRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{64} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{66} } type DisableStaticAdminResponse struct { @@ -3217,7 +3302,7 @@ type DisableStaticAdminResponse struct { func (x *DisableStaticAdminResponse) Reset() { *x = DisableStaticAdminResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[65] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3230,7 +3315,7 @@ func (x *DisableStaticAdminResponse) String() string { func (*DisableStaticAdminResponse) ProtoMessage() {} func (x *DisableStaticAdminResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[65] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3243,7 +3328,7 @@ func (x *DisableStaticAdminResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableStaticAdminResponse.ProtoReflect.Descriptor instead. func (*DisableStaticAdminResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{65} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{67} } type GetMeRequest struct { @@ -3255,7 +3340,7 @@ type GetMeRequest struct { func (x *GetMeRequest) Reset() { *x = GetMeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[66] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3268,7 +3353,7 @@ func (x *GetMeRequest) String() string { func (*GetMeRequest) ProtoMessage() {} func (x *GetMeRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[66] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3281,7 +3366,7 @@ func (x *GetMeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMeRequest.ProtoReflect.Descriptor instead. func (*GetMeRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{66} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{68} } type GetMeResponse struct { @@ -3298,7 +3383,7 @@ type GetMeResponse struct { func (x *GetMeResponse) Reset() { *x = GetMeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[67] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3311,7 +3396,7 @@ func (x *GetMeResponse) String() string { func (*GetMeResponse) ProtoMessage() {} func (x *GetMeResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[67] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3324,7 +3409,7 @@ func (x *GetMeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMeResponse.ProtoReflect.Descriptor instead. func (*GetMeResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{67} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{69} } func (x *GetMeResponse) GetSubject() string { @@ -3364,7 +3449,7 @@ type ListProjectRBACRolesRequest struct { func (x *ListProjectRBACRolesRequest) Reset() { *x = ListProjectRBACRolesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[68] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3377,7 +3462,7 @@ func (x *ListProjectRBACRolesRequest) String() string { func (*ListProjectRBACRolesRequest) ProtoMessage() {} func (x *ListProjectRBACRolesRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[68] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3390,7 +3475,7 @@ func (x *ListProjectRBACRolesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectRBACRolesRequest.ProtoReflect.Descriptor instead. func (*ListProjectRBACRolesRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{68} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{70} } type ListProjectRBACRolesResponse struct { @@ -3404,7 +3489,7 @@ type ListProjectRBACRolesResponse struct { func (x *ListProjectRBACRolesResponse) Reset() { *x = ListProjectRBACRolesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[69] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3417,7 +3502,7 @@ func (x *ListProjectRBACRolesResponse) String() string { func (*ListProjectRBACRolesResponse) ProtoMessage() {} func (x *ListProjectRBACRolesResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[69] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3430,7 +3515,7 @@ func (x *ListProjectRBACRolesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectRBACRolesResponse.ProtoReflect.Descriptor instead. func (*ListProjectRBACRolesResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{69} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{71} } func (x *ListProjectRBACRolesResponse) GetRbacRoles() []*model.ProjectRBACRole { @@ -3452,7 +3537,7 @@ type AddProjectRBACRoleRequest struct { func (x *AddProjectRBACRoleRequest) Reset() { *x = AddProjectRBACRoleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[70] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3465,7 +3550,7 @@ func (x *AddProjectRBACRoleRequest) String() string { func (*AddProjectRBACRoleRequest) ProtoMessage() {} func (x *AddProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[70] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3478,7 +3563,7 @@ func (x *AddProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectRBACRoleRequest.ProtoReflect.Descriptor instead. func (*AddProjectRBACRoleRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{70} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{72} } func (x *AddProjectRBACRoleRequest) GetName() string { @@ -3504,7 +3589,7 @@ type AddProjectRBACRoleResponse struct { func (x *AddProjectRBACRoleResponse) Reset() { *x = AddProjectRBACRoleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[71] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3517,7 +3602,7 @@ func (x *AddProjectRBACRoleResponse) String() string { func (*AddProjectRBACRoleResponse) ProtoMessage() {} func (x *AddProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[71] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3530,7 +3615,7 @@ func (x *AddProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectRBACRoleResponse.ProtoReflect.Descriptor instead. func (*AddProjectRBACRoleResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{71} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{73} } type UpdateProjectRBACRoleRequest struct { @@ -3545,7 +3630,7 @@ type UpdateProjectRBACRoleRequest struct { func (x *UpdateProjectRBACRoleRequest) Reset() { *x = UpdateProjectRBACRoleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[72] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3558,7 +3643,7 @@ func (x *UpdateProjectRBACRoleRequest) String() string { func (*UpdateProjectRBACRoleRequest) ProtoMessage() {} func (x *UpdateProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[72] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3571,7 +3656,7 @@ func (x *UpdateProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectRBACRoleRequest.ProtoReflect.Descriptor instead. func (*UpdateProjectRBACRoleRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{72} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{74} } func (x *UpdateProjectRBACRoleRequest) GetName() string { @@ -3597,7 +3682,7 @@ type UpdateProjectRBACRoleResponse struct { func (x *UpdateProjectRBACRoleResponse) Reset() { *x = UpdateProjectRBACRoleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[73] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3610,7 +3695,7 @@ func (x *UpdateProjectRBACRoleResponse) String() string { func (*UpdateProjectRBACRoleResponse) ProtoMessage() {} func (x *UpdateProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[73] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3623,7 +3708,7 @@ func (x *UpdateProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProjectRBACRoleResponse.ProtoReflect.Descriptor instead. func (*UpdateProjectRBACRoleResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{73} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{75} } type DeleteProjectRBACRoleRequest struct { @@ -3637,7 +3722,7 @@ type DeleteProjectRBACRoleRequest struct { func (x *DeleteProjectRBACRoleRequest) Reset() { *x = DeleteProjectRBACRoleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[74] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3650,7 +3735,7 @@ func (x *DeleteProjectRBACRoleRequest) String() string { func (*DeleteProjectRBACRoleRequest) ProtoMessage() {} func (x *DeleteProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[74] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3663,7 +3748,7 @@ func (x *DeleteProjectRBACRoleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProjectRBACRoleRequest.ProtoReflect.Descriptor instead. func (*DeleteProjectRBACRoleRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{74} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{76} } func (x *DeleteProjectRBACRoleRequest) GetName() string { @@ -3682,7 +3767,7 @@ type DeleteProjectRBACRoleResponse struct { func (x *DeleteProjectRBACRoleResponse) Reset() { *x = DeleteProjectRBACRoleResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[75] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3695,7 +3780,7 @@ func (x *DeleteProjectRBACRoleResponse) String() string { func (*DeleteProjectRBACRoleResponse) ProtoMessage() {} func (x *DeleteProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[75] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3708,7 +3793,7 @@ func (x *DeleteProjectRBACRoleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProjectRBACRoleResponse.ProtoReflect.Descriptor instead. func (*DeleteProjectRBACRoleResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{75} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{77} } type ListProjectUserGroupsRequest struct { @@ -3720,7 +3805,7 @@ type ListProjectUserGroupsRequest struct { func (x *ListProjectUserGroupsRequest) Reset() { *x = ListProjectUserGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[76] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3733,7 +3818,7 @@ func (x *ListProjectUserGroupsRequest) String() string { func (*ListProjectUserGroupsRequest) ProtoMessage() {} func (x *ListProjectUserGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[76] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3746,7 +3831,7 @@ func (x *ListProjectUserGroupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectUserGroupsRequest.ProtoReflect.Descriptor instead. func (*ListProjectUserGroupsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{76} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{78} } type ListProjectUserGroupsResponses struct { @@ -3760,7 +3845,7 @@ type ListProjectUserGroupsResponses struct { func (x *ListProjectUserGroupsResponses) Reset() { *x = ListProjectUserGroupsResponses{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[77] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3773,7 +3858,7 @@ func (x *ListProjectUserGroupsResponses) String() string { func (*ListProjectUserGroupsResponses) ProtoMessage() {} func (x *ListProjectUserGroupsResponses) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[77] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3786,7 +3871,7 @@ func (x *ListProjectUserGroupsResponses) ProtoReflect() protoreflect.Message { // Deprecated: Use ListProjectUserGroupsResponses.ProtoReflect.Descriptor instead. func (*ListProjectUserGroupsResponses) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{77} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{79} } func (x *ListProjectUserGroupsResponses) GetUserGroups() []*model.ProjectUserGroup { @@ -3808,7 +3893,7 @@ type AddProjectUserGroupRequest struct { func (x *AddProjectUserGroupRequest) Reset() { *x = AddProjectUserGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[78] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3821,7 +3906,7 @@ func (x *AddProjectUserGroupRequest) String() string { func (*AddProjectUserGroupRequest) ProtoMessage() {} func (x *AddProjectUserGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[78] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3834,7 +3919,7 @@ func (x *AddProjectUserGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectUserGroupRequest.ProtoReflect.Descriptor instead. func (*AddProjectUserGroupRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{78} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{80} } func (x *AddProjectUserGroupRequest) GetSsoGroup() string { @@ -3860,7 +3945,7 @@ type AddProjectUserGroupResponse struct { func (x *AddProjectUserGroupResponse) Reset() { *x = AddProjectUserGroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[79] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3873,7 +3958,7 @@ func (x *AddProjectUserGroupResponse) String() string { func (*AddProjectUserGroupResponse) ProtoMessage() {} func (x *AddProjectUserGroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[79] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3886,7 +3971,7 @@ func (x *AddProjectUserGroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddProjectUserGroupResponse.ProtoReflect.Descriptor instead. func (*AddProjectUserGroupResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{79} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{81} } type DeleteProjectUserGroupRequest struct { @@ -3900,7 +3985,7 @@ type DeleteProjectUserGroupRequest struct { func (x *DeleteProjectUserGroupRequest) Reset() { *x = DeleteProjectUserGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[80] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3913,7 +3998,7 @@ func (x *DeleteProjectUserGroupRequest) String() string { func (*DeleteProjectUserGroupRequest) ProtoMessage() {} func (x *DeleteProjectUserGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[80] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3926,7 +4011,7 @@ func (x *DeleteProjectUserGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProjectUserGroupRequest.ProtoReflect.Descriptor instead. func (*DeleteProjectUserGroupRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{80} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{82} } func (x *DeleteProjectUserGroupRequest) GetSsoGroup() string { @@ -3945,7 +4030,7 @@ type DeleteProjectUserGroupResponse struct { func (x *DeleteProjectUserGroupResponse) Reset() { *x = DeleteProjectUserGroupResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[81] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3958,7 +4043,7 @@ func (x *DeleteProjectUserGroupResponse) String() string { func (*DeleteProjectUserGroupResponse) ProtoMessage() {} func (x *DeleteProjectUserGroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[81] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3971,7 +4056,7 @@ func (x *DeleteProjectUserGroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProjectUserGroupResponse.ProtoReflect.Descriptor instead. func (*DeleteProjectUserGroupResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{81} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{83} } type GetCommandRequest struct { @@ -3985,7 +4070,7 @@ type GetCommandRequest struct { func (x *GetCommandRequest) Reset() { *x = GetCommandRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[82] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3998,7 +4083,7 @@ func (x *GetCommandRequest) String() string { func (*GetCommandRequest) ProtoMessage() {} func (x *GetCommandRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[82] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4011,7 +4096,7 @@ func (x *GetCommandRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCommandRequest.ProtoReflect.Descriptor instead. func (*GetCommandRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{82} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{84} } func (x *GetCommandRequest) GetCommandId() string { @@ -4032,7 +4117,7 @@ type GetCommandResponse struct { func (x *GetCommandResponse) Reset() { *x = GetCommandResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[83] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4045,7 +4130,7 @@ func (x *GetCommandResponse) String() string { func (*GetCommandResponse) ProtoMessage() {} func (x *GetCommandResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[83] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4058,7 +4143,7 @@ func (x *GetCommandResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCommandResponse.ProtoReflect.Descriptor instead. func (*GetCommandResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{83} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{85} } func (x *GetCommandResponse) GetCommand() *model.Command { @@ -4080,7 +4165,7 @@ type GenerateAPIKeyRequest struct { func (x *GenerateAPIKeyRequest) Reset() { *x = GenerateAPIKeyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[84] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4093,7 +4178,7 @@ func (x *GenerateAPIKeyRequest) String() string { func (*GenerateAPIKeyRequest) ProtoMessage() {} func (x *GenerateAPIKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[84] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4106,7 +4191,7 @@ func (x *GenerateAPIKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateAPIKeyRequest.ProtoReflect.Descriptor instead. func (*GenerateAPIKeyRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{84} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{86} } func (x *GenerateAPIKeyRequest) GetName() string { @@ -4134,7 +4219,7 @@ type GenerateAPIKeyResponse struct { func (x *GenerateAPIKeyResponse) Reset() { *x = GenerateAPIKeyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[85] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4147,7 +4232,7 @@ func (x *GenerateAPIKeyResponse) String() string { func (*GenerateAPIKeyResponse) ProtoMessage() {} func (x *GenerateAPIKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[85] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4160,7 +4245,7 @@ func (x *GenerateAPIKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateAPIKeyResponse.ProtoReflect.Descriptor instead. func (*GenerateAPIKeyResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{85} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{87} } func (x *GenerateAPIKeyResponse) GetKey() string { @@ -4181,7 +4266,7 @@ type DisableAPIKeyRequest struct { func (x *DisableAPIKeyRequest) Reset() { *x = DisableAPIKeyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[86] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4194,7 +4279,7 @@ func (x *DisableAPIKeyRequest) String() string { func (*DisableAPIKeyRequest) ProtoMessage() {} func (x *DisableAPIKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[86] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4207,7 +4292,7 @@ func (x *DisableAPIKeyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableAPIKeyRequest.ProtoReflect.Descriptor instead. func (*DisableAPIKeyRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{86} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{88} } func (x *DisableAPIKeyRequest) GetId() string { @@ -4226,7 +4311,7 @@ type DisableAPIKeyResponse struct { func (x *DisableAPIKeyResponse) Reset() { *x = DisableAPIKeyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[87] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4239,7 +4324,7 @@ func (x *DisableAPIKeyResponse) String() string { func (*DisableAPIKeyResponse) ProtoMessage() {} func (x *DisableAPIKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[87] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4252,7 +4337,7 @@ func (x *DisableAPIKeyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableAPIKeyResponse.ProtoReflect.Descriptor instead. func (*DisableAPIKeyResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{87} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{89} } type ListAPIKeysRequest struct { @@ -4266,7 +4351,7 @@ type ListAPIKeysRequest struct { func (x *ListAPIKeysRequest) Reset() { *x = ListAPIKeysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[88] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4279,7 +4364,7 @@ func (x *ListAPIKeysRequest) String() string { func (*ListAPIKeysRequest) ProtoMessage() {} func (x *ListAPIKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[88] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4292,7 +4377,7 @@ func (x *ListAPIKeysRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAPIKeysRequest.ProtoReflect.Descriptor instead. func (*ListAPIKeysRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{88} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{90} } func (x *ListAPIKeysRequest) GetOptions() *ListAPIKeysRequest_Options { @@ -4313,7 +4398,7 @@ type ListAPIKeysResponse struct { func (x *ListAPIKeysResponse) Reset() { *x = ListAPIKeysResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[89] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4326,7 +4411,7 @@ func (x *ListAPIKeysResponse) String() string { func (*ListAPIKeysResponse) ProtoMessage() {} func (x *ListAPIKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[89] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4339,7 +4424,7 @@ func (x *ListAPIKeysResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAPIKeysResponse.ProtoReflect.Descriptor instead. func (*ListAPIKeysResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{89} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{91} } func (x *ListAPIKeysResponse) GetKeys() []*model.APIKey { @@ -4365,7 +4450,7 @@ type GetInsightDataRequest struct { func (x *GetInsightDataRequest) Reset() { *x = GetInsightDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[90] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4378,7 +4463,7 @@ func (x *GetInsightDataRequest) String() string { func (*GetInsightDataRequest) ProtoMessage() {} func (x *GetInsightDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[90] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4391,7 +4476,7 @@ func (x *GetInsightDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInsightDataRequest.ProtoReflect.Descriptor instead. func (*GetInsightDataRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{90} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{92} } func (x *GetInsightDataRequest) GetMetricsKind() model.InsightMetricsKind { @@ -4443,7 +4528,7 @@ type GetInsightDataResponse struct { func (x *GetInsightDataResponse) Reset() { *x = GetInsightDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[91] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4456,7 +4541,7 @@ func (x *GetInsightDataResponse) String() string { func (*GetInsightDataResponse) ProtoMessage() {} func (x *GetInsightDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[91] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4469,7 +4554,7 @@ func (x *GetInsightDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInsightDataResponse.ProtoReflect.Descriptor instead. func (*GetInsightDataResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{91} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{93} } func (x *GetInsightDataResponse) GetUpdatedAt() int64 { @@ -4509,7 +4594,7 @@ type GetInsightApplicationCountRequest struct { func (x *GetInsightApplicationCountRequest) Reset() { *x = GetInsightApplicationCountRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[92] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4522,7 +4607,7 @@ func (x *GetInsightApplicationCountRequest) String() string { func (*GetInsightApplicationCountRequest) ProtoMessage() {} func (x *GetInsightApplicationCountRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[92] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4535,7 +4620,7 @@ func (x *GetInsightApplicationCountRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetInsightApplicationCountRequest.ProtoReflect.Descriptor instead. func (*GetInsightApplicationCountRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{92} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{94} } type GetInsightApplicationCountResponse struct { @@ -4550,7 +4635,7 @@ type GetInsightApplicationCountResponse struct { func (x *GetInsightApplicationCountResponse) Reset() { *x = GetInsightApplicationCountResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[93] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4563,7 +4648,7 @@ func (x *GetInsightApplicationCountResponse) String() string { func (*GetInsightApplicationCountResponse) ProtoMessage() {} func (x *GetInsightApplicationCountResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[93] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4576,7 +4661,7 @@ func (x *GetInsightApplicationCountResponse) ProtoReflect() protoreflect.Message // Deprecated: Use GetInsightApplicationCountResponse.ProtoReflect.Descriptor instead. func (*GetInsightApplicationCountResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{93} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{95} } func (x *GetInsightApplicationCountResponse) GetUpdatedAt() int64 { @@ -4609,7 +4694,7 @@ type ListDeploymentChainsRequest struct { func (x *ListDeploymentChainsRequest) Reset() { *x = ListDeploymentChainsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[94] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4622,7 +4707,7 @@ func (x *ListDeploymentChainsRequest) String() string { func (*ListDeploymentChainsRequest) ProtoMessage() {} func (x *ListDeploymentChainsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[94] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4635,7 +4720,7 @@ func (x *ListDeploymentChainsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentChainsRequest.ProtoReflect.Descriptor instead. func (*ListDeploymentChainsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{94} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{96} } func (x *ListDeploymentChainsRequest) GetOptions() *ListDeploymentChainsRequest_Options { @@ -4678,7 +4763,7 @@ type ListDeploymentChainsResponse struct { func (x *ListDeploymentChainsResponse) Reset() { *x = ListDeploymentChainsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[95] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4691,7 +4776,7 @@ func (x *ListDeploymentChainsResponse) String() string { func (*ListDeploymentChainsResponse) ProtoMessage() {} func (x *ListDeploymentChainsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[95] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4704,7 +4789,7 @@ func (x *ListDeploymentChainsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentChainsResponse.ProtoReflect.Descriptor instead. func (*ListDeploymentChainsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{95} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{97} } func (x *ListDeploymentChainsResponse) GetDeploymentChains() []*model.DeploymentChain { @@ -4732,7 +4817,7 @@ type GetDeploymentChainRequest struct { func (x *GetDeploymentChainRequest) Reset() { *x = GetDeploymentChainRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[96] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4745,7 +4830,7 @@ func (x *GetDeploymentChainRequest) String() string { func (*GetDeploymentChainRequest) ProtoMessage() {} func (x *GetDeploymentChainRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[96] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4758,7 +4843,7 @@ func (x *GetDeploymentChainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentChainRequest.ProtoReflect.Descriptor instead. func (*GetDeploymentChainRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{96} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{98} } func (x *GetDeploymentChainRequest) GetDeploymentChainId() string { @@ -4779,7 +4864,7 @@ type GetDeploymentChainResponse struct { func (x *GetDeploymentChainResponse) Reset() { *x = GetDeploymentChainResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[97] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4792,7 +4877,7 @@ func (x *GetDeploymentChainResponse) String() string { func (*GetDeploymentChainResponse) ProtoMessage() {} func (x *GetDeploymentChainResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[97] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4805,7 +4890,7 @@ func (x *GetDeploymentChainResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentChainResponse.ProtoReflect.Descriptor instead. func (*GetDeploymentChainResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{97} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{99} } func (x *GetDeploymentChainResponse) GetDeploymentChain() *model.DeploymentChain { @@ -4831,7 +4916,7 @@ type ListEventsRequest struct { func (x *ListEventsRequest) Reset() { *x = ListEventsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[98] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4844,7 +4929,7 @@ func (x *ListEventsRequest) String() string { func (*ListEventsRequest) ProtoMessage() {} func (x *ListEventsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[98] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4857,7 +4942,7 @@ func (x *ListEventsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEventsRequest.ProtoReflect.Descriptor instead. func (*ListEventsRequest) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{98} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{100} } func (x *ListEventsRequest) GetOptions() *ListEventsRequest_Options { @@ -4900,7 +4985,7 @@ type ListEventsResponse struct { func (x *ListEventsResponse) Reset() { *x = ListEventsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[99] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4913,7 +4998,7 @@ func (x *ListEventsResponse) String() string { func (*ListEventsResponse) ProtoMessage() {} func (x *ListEventsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[99] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4926,7 +5011,7 @@ func (x *ListEventsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEventsResponse.ProtoReflect.Descriptor instead. func (*ListEventsResponse) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{99} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{101} } func (x *ListEventsResponse) GetEvents() []*model.Event { @@ -4954,7 +5039,7 @@ type ListPipedsRequest_Options struct { func (x *ListPipedsRequest_Options) Reset() { *x = ListPipedsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[100] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4967,7 +5052,7 @@ func (x *ListPipedsRequest_Options) String() string { func (*ListPipedsRequest_Options) ProtoMessage() {} func (x *ListPipedsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[100] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5005,7 +5090,7 @@ type ListApplicationsRequest_Options struct { func (x *ListApplicationsRequest_Options) Reset() { *x = ListApplicationsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[102] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5018,7 +5103,7 @@ func (x *ListApplicationsRequest_Options) String() string { func (*ListApplicationsRequest_Options) ProtoMessage() {} func (x *ListApplicationsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[102] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5031,7 +5116,7 @@ func (x *ListApplicationsRequest_Options) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApplicationsRequest_Options.ProtoReflect.Descriptor instead. func (*ListApplicationsRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{30, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{32, 0} } func (x *ListApplicationsRequest_Options) GetEnabled() *wrapperspb.BoolValue { @@ -5084,7 +5169,7 @@ type ListDeploymentsRequest_Options struct { func (x *ListDeploymentsRequest_Options) Reset() { *x = ListDeploymentsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[104] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5097,7 +5182,7 @@ func (x *ListDeploymentsRequest_Options) String() string { func (*ListDeploymentsRequest_Options) ProtoMessage() {} func (x *ListDeploymentsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[104] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5110,7 +5195,7 @@ func (x *ListDeploymentsRequest_Options) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDeploymentsRequest_Options.ProtoReflect.Descriptor instead. func (*ListDeploymentsRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{40, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{42, 0} } func (x *ListDeploymentsRequest_Options) GetStatuses() []model.DeploymentStatus { @@ -5159,7 +5244,7 @@ type ListAPIKeysRequest_Options struct { func (x *ListAPIKeysRequest_Options) Reset() { *x = ListAPIKeysRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[106] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5172,7 +5257,7 @@ func (x *ListAPIKeysRequest_Options) String() string { func (*ListAPIKeysRequest_Options) ProtoMessage() {} func (x *ListAPIKeysRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[106] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5185,7 +5270,7 @@ func (x *ListAPIKeysRequest_Options) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAPIKeysRequest_Options.ProtoReflect.Descriptor instead. func (*ListAPIKeysRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{88, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{90, 0} } func (x *ListAPIKeysRequest_Options) GetEnabled() *wrapperspb.BoolValue { @@ -5204,7 +5289,7 @@ type ListDeploymentChainsRequest_Options struct { func (x *ListDeploymentChainsRequest_Options) Reset() { *x = ListDeploymentChainsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[107] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5217,7 +5302,7 @@ func (x *ListDeploymentChainsRequest_Options) String() string { func (*ListDeploymentChainsRequest_Options) ProtoMessage() {} func (x *ListDeploymentChainsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[107] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5230,7 +5315,7 @@ func (x *ListDeploymentChainsRequest_Options) ProtoReflect() protoreflect.Messag // Deprecated: Use ListDeploymentChainsRequest_Options.ProtoReflect.Descriptor instead. func (*ListDeploymentChainsRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{94, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{96, 0} } type ListEventsRequest_Options struct { @@ -5246,7 +5331,7 @@ type ListEventsRequest_Options struct { func (x *ListEventsRequest_Options) Reset() { *x = ListEventsRequest_Options{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[108] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5259,7 +5344,7 @@ func (x *ListEventsRequest_Options) String() string { func (*ListEventsRequest_Options) ProtoMessage() {} func (x *ListEventsRequest_Options) ProtoReflect() protoreflect.Message { - mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[108] + mi := &file_pkg_app_server_service_webservice_service_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5272,7 +5357,7 @@ func (x *ListEventsRequest_Options) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEventsRequest_Options.ProtoReflect.Descriptor instead. func (*ListEventsRequest_Options) Descriptor() ([]byte, []int) { - return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{98, 0} + return file_pkg_app_server_service_webservice_service_proto_rawDescGZIP(), []int{100, 0} } func (x *ListEventsRequest_Options) GetName() string { @@ -5408,922 +5493,937 @@ var file_pkg_app_server_service_webservice_service_proto_rawDesc = []byte{ 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0xb5, 0x03, - 0x0a, 0x15, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, + 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x1d, 0x0a, + 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3a, 0x0a, 0x1c, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb5, 0x03, 0x0a, 0x15, 0x41, 0x64, 0x64, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, + 0x64, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x08, 0x67, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x69, 0x74, 0x50, 0x61, 0x74, 0x68, + 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x67, 0x69, 0x74, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, + 0x02, 0x10, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, + 0x22, 0x48, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xa0, 0x02, 0x0a, 0x18, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x08, 0x67, 0x69, 0x74, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x69, - 0x74, 0x50, 0x61, 0x74, 0x68, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, - 0x07, 0x67, 0x69, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x52, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x27, + 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x1b, 0x0a, + 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x0a, 0x18, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 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, 0x4a, - 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x48, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, - 0xa0, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, + 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd3, 0x03, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xe3, 0x02, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x05, 0x6b, 0x69, 0x6e, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, + 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1c, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x73, 0x79, + 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5c, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x52, 0x0a, + 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0c, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, - 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x34, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x69, 0x6e, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, - 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x03, - 0x10, 0x04, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x4a, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, - 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0d, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x79, 0x6e, 0x63, + 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x38, 0x0a, 0x17, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, + 0x22, 0x47, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, - 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd3, 0x03, 0x0a, - 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xe3, 0x02, 0x0a, - 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2c, - 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x0d, - 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x4a, 0x04, 0x08, 0x04, - 0x10, 0x05, 0x22, 0x52, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, - 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x53, 0x79, 0x6e, 0x63, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x38, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0c, 0x73, - 0x79, 0x6e, 0x63, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x38, 0x0a, 0x17, 0x53, - 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, - 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0x0a, 0x26, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, - 0x01, 0x0a, 0x26, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x69, 0x70, - 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x61, - 0x73, 0x65, 0x36, 0x34, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x45, 0x6e, 0x63, 0x6f, 0x64, - 0x69, 0x6e, 0x67, 0x22, 0x46, 0x0a, 0x27, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x25, 0x0a, 0x23, 0x4c, - 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x62, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb0, 0x04, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x51, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, 0xde, 0x02, 0x0a, 0x07, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x6b, 0x69, 0x6e, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, - 0x52, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, - 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 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, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x66, 0x0a, 0x17, 0x4c, 0x69, 0x73, - 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, - 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, - 0x72, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x07, 0x70, 0x69, 0x70, 0x65, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x5f, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x62, 0x61, 0x73, 0x65, 0x36, 0x34, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x46, + 0x0a, 0x27, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x25, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x62, 0x0a, + 0x24, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0xb0, 0x04, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, + 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x1a, 0xde, 0x02, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x33, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x6b, 0x69, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x05, 0x6b, 0x69, 0x6e, + 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x4a, 0x04, + 0x08, 0x04, 0x10, 0x05, 0x22, 0x66, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x33, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x44, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xae, + 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, + 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, + 0x5c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4c, + 0x6f, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, + 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x9a, 0x01, + 0x0a, 0x17, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x31, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, - 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, - 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0x5c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, - 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x2e, 0x4c, 0x6f, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x17, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, - 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, - 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x5f, - 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x22, - 0x39, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x10, 0x53, 0x6b, - 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, - 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, - 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, - 0x22, 0x32, 0x0a, 0x11, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x49, 0x64, 0x22, 0x67, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, - 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, - 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x35, 0x0a, - 0x14, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, - 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x3e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0x6b, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x22, 0x0a, 0x20, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x54, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x33, 0x0a, 0x03, 0x73, 0x73, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, - 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, - 0x01, 0x52, 0x03, 0x73, 0x73, 0x6f, 0x22, 0x20, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x62, - 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x62, - 0x61, 0x63, 0x22, 0x21, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, - 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa3, 0x01, 0x0a, 0x0d, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, - 0x72, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, - 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, - 0x6c, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x22, - 0x1d, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, - 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, - 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, - 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, - 0x0a, 0x0a, 0x72, 0x62, 0x61, 0x63, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x62, 0x61, 0x63, - 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x3e, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x42, 0x41, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, - 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, - 0x1c, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, - 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x0a, - 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x2a, + 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x4e, 0x6f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x39, 0x0a, 0x18, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x10, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x32, 0x0a, 0x11, 0x53, + 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, + 0x67, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, + 0x50, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, + 0x10, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x22, 0x62, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x28, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x6b, 0x0a, 0x1f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x1d, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, + 0x73, 0x73, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x73, 0x73, + 0x6f, 0x22, 0x20, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x62, 0x61, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, + 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x62, 0x61, 0x63, 0x22, 0x21, 0x0a, + 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, + 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x1a, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1b, 0x0a, 0x19, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0xa3, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3a, + 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x52, 0x6f, 0x6c, + 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x0b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x1c, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x62, 0x61, + 0x63, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, + 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x09, 0x72, 0x62, 0x61, 0x63, 0x52, 0x6f, 0x6c, 0x65, 0x73, + 0x22, 0x78, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, - 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, - 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x1c, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, - 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, + 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x64, + 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5a, 0x0a, 0x1e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x73, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x08, 0x73, 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x73, 0x6f, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x08, 0x73, 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x20, 0x0a, 0x1e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x66, 0x0a, 0x15, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x30, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x2e, 0x52, - 0x6f, 0x6c, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x22, 0x2a, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, - 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, - 0x2f, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, - 0x22, 0x17, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x12, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x4d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, - 0x3f, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, - 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x22, 0x38, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x50, - 0x49, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, - 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0a, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, 0x52, - 0x07, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x2c, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x53, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, - 0x06, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x06, 0x6d, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x22, 0x23, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x7b, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, - 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, - 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, - 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, - 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, - 0x09, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7b, 0x0a, 0x1c, 0x4c, 0x69, - 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x10, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x13, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x5f, 0x0a, - 0x1a, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0f, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xa8, - 0x03, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, 0xe0, 0x01, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x52, 0x0a, 0x12, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x24, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x32, 0xd8, 0x32, - 0x0a, 0x0a, 0x57, 0x65, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0d, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2d, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, - 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, - 0x1c, 0x02, 0x10, 0x02, 0x12, 0x70, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, - 0x70, 0x65, 0x64, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x7f, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x5a, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x22, 0x5f, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x73, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, 0x73, 0x6f, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, + 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x45, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x73, 0x6f, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x73, + 0x73, 0x6f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, + 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x66, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x08, + 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x2a, + 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x2f, 0x0a, 0x14, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, + 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, - 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4f, 0x6c, 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x32, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, - 0x6c, 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4f, 0x6c, 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, + 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3f, 0x0a, 0x07, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x13, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, + 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, + 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x46, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, 0x6e, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x4b, 0x69, 0x6e, 0x64, + 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x22, 0x02, 0x20, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, + 0x22, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x20, 0x00, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x54, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2c, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x6d, 0x61, 0x74, 0x72, + 0x69, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x2e, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x52, 0x06, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, 0x23, 0x0a, 0x21, + 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x7b, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x49, + 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xe4, + 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, + 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x1a, 0x09, 0x0a, 0x07, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7b, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, + 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x37, 0x0a, 0x13, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xa8, 0x03, 0x0a, 0x11, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4c, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, + 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x10, 0x70, 0x61, 0x67, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x1a, 0xe0, 0x01, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, + 0x73, 0x12, 0x56, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x52, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x32, 0xe6, 0x33, 0x0a, 0x0a, 0x57, 0x65, 0x62, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, 0x70, 0x65, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, - 0x70, 0x0a, 0x0b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2b, + 0x70, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, - 0x02, 0x12, 0x73, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, - 0x64, 0x12, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, - 0x70, 0x65, 0x64, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x69, 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, - 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x67, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, - 0x64, 0x12, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, - 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x72, + 0x02, 0x12, 0x7f, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, + 0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, + 0x10, 0x02, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6c, 0x64, + 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6c, 0x64, 0x50, 0x69, 0x70, + 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x6c, + 0x64, 0x50, 0x69, 0x70, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x70, 0x0a, 0x0b, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x73, 0x0a, 0x0c, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2c, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, + 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x69, 0x70, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, + 0x02, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, 0x12, + 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, + 0x70, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x9a, - 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, - 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, + 0x12, 0x67, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x9a, 0x01, 0x0a, 0x19, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, - 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x73, 0x0a, 0x0c, 0x52, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2c, 0x2e, 0x67, 0x72, + 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x64, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x73, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x12, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x8b, 0x01, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x79, 0x0a, 0x0e, 0x41, 0x64, 0x64, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x69, 0x70, - 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x50, 0x69, 0x70, 0x65, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, - 0x12, 0x79, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, + 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, - 0x12, 0x82, 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x85, + 0x01, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, - 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, + 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x70, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x7c, 0x0a, 0x0f, + 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x82, 0x01, - 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, - 0x10, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, - 0x02, 0x10, 0x00, 0x12, 0x7c, 0x0a, 0x0f, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, - 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0xac, 0x01, 0x0a, - 0x1f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x12, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0xa3, 0x01, 0x0a, 0x1c, - 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, + 0x1a, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x72, 0x70, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, + 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0xac, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, + 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, - 0x00, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, + 0x1c, 0x02, 0x10, 0x01, 0x12, 0xa3, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, - 0x76, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x70, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x7f, 0x0a, 0x10, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x6a, 0x0a, 0x09, 0x53, 0x6b, - 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6b, 0x69, - 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x73, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, + 0x12, 0x70, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x12, + 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x67, 0x65, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, + 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, + 0x10, 0x00, 0x12, 0x7f, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, 0x94, 0x01, 0x0a, 0x17, - 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, - 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, + 0x02, 0x10, 0x01, 0x12, 0x6a, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, + 0x12, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x53, + 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x01, 0x12, + 0x73, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, + 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x53, + 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, + 0x1c, 0x02, 0x10, 0x01, 0x12, 0x94, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, - 0x10, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, - 0x00, 0x12, 0x97, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x38, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x82, 0x01, 0x0a, 0x11, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, - 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x97, 0x01, 0x0a, 0x18, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x91, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x94, 0x01, 0x0a, - 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, - 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, - 0x02, 0x10, 0x02, 0x12, 0x5e, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x12, 0x25, 0x2e, 0x67, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, + 0x1c, 0x02, 0x10, 0x02, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, + 0x02, 0x12, 0x91, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, - 0x02, 0x10, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x53, 0x4f, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, + 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x94, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x5e, 0x0a, 0x05, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x12, 0x41, - 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, - 0x65, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x85, 0x01, 0x0a, + 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, + 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, - 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, - 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, + 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x12, + 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, - 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, - 0x65, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x88, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x42, 0x41, 0x43, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x35, 0x2e, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x89, 0x01, 0x0a, 0x15, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x00, 0x12, 0x82, - 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x72, + 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, + 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, + 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, + 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x36, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, - 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, + 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, - 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, - 0x65, 0x79, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x76, 0x0a, 0x0d, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, - 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x72, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x50, + 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, + 0x1c, 0x02, 0x10, 0x02, 0x12, 0x76, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, + 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x70, 0x0a, 0x0b, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x50, 0x49, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, - 0x02, 0x10, 0x02, 0x12, 0x70, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, - 0x79, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x79, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x9d, 0x01, 0x0a, 0x1a, 0x47, 0x65, + 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, - 0x49, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, - 0xed, 0x1c, 0x02, 0x10, 0x02, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, - 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, + 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x7f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, - 0x12, 0x9d, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, - 0x69, 0x67, 0x68, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x72, + 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, - 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, - 0x12, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, - 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x32, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x2d, 0x63, 0x64, 0x2f, 0x70, - 0x69, 0x70, 0x65, 0x63, 0x64, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x77, 0x65, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0x92, 0xed, 0x1c, 0x02, 0x10, + 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x70, 0x69, 0x70, 0x65, 0x2d, 0x63, 0x64, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x63, 0x64, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -6338,7 +6438,7 @@ func file_pkg_app_server_service_webservice_service_proto_rawDescGZIP() []byte { return file_pkg_app_server_service_webservice_service_proto_rawDescData } -var file_pkg_app_server_service_webservice_service_proto_msgTypes = make([]protoimpl.MessageInfo, 110) +var file_pkg_app_server_service_webservice_service_proto_msgTypes = make([]protoimpl.MessageInfo, 112) var file_pkg_app_server_service_webservice_service_proto_goTypes = []interface{}{ (*RegisterPipedRequest)(nil), // 0: grpc.service.webservice.RegisterPipedRequest (*RegisterPipedResponse)(nil), // 1: grpc.service.webservice.RegisterPipedResponse @@ -6360,178 +6460,180 @@ var file_pkg_app_server_service_webservice_service_proto_goTypes = []interface{} (*UpdatePipedDesiredVersionResponse)(nil), // 17: grpc.service.webservice.UpdatePipedDesiredVersionResponse (*RestartPipedRequest)(nil), // 18: grpc.service.webservice.RestartPipedRequest (*RestartPipedResponse)(nil), // 19: grpc.service.webservice.RestartPipedResponse - (*AddApplicationRequest)(nil), // 20: grpc.service.webservice.AddApplicationRequest - (*AddApplicationResponse)(nil), // 21: grpc.service.webservice.AddApplicationResponse - (*UpdateApplicationRequest)(nil), // 22: grpc.service.webservice.UpdateApplicationRequest - (*UpdateApplicationResponse)(nil), // 23: grpc.service.webservice.UpdateApplicationResponse - (*EnableApplicationRequest)(nil), // 24: grpc.service.webservice.EnableApplicationRequest - (*EnableApplicationResponse)(nil), // 25: grpc.service.webservice.EnableApplicationResponse - (*DisableApplicationRequest)(nil), // 26: grpc.service.webservice.DisableApplicationRequest - (*DisableApplicationResponse)(nil), // 27: grpc.service.webservice.DisableApplicationResponse - (*DeleteApplicationRequest)(nil), // 28: grpc.service.webservice.DeleteApplicationRequest - (*DeleteApplicationResponse)(nil), // 29: grpc.service.webservice.DeleteApplicationResponse - (*ListApplicationsRequest)(nil), // 30: grpc.service.webservice.ListApplicationsRequest - (*ListApplicationsResponse)(nil), // 31: grpc.service.webservice.ListApplicationsResponse - (*SyncApplicationRequest)(nil), // 32: grpc.service.webservice.SyncApplicationRequest - (*SyncApplicationResponse)(nil), // 33: grpc.service.webservice.SyncApplicationResponse - (*GetApplicationRequest)(nil), // 34: grpc.service.webservice.GetApplicationRequest - (*GetApplicationResponse)(nil), // 35: grpc.service.webservice.GetApplicationResponse - (*GenerateApplicationSealedSecretRequest)(nil), // 36: grpc.service.webservice.GenerateApplicationSealedSecretRequest - (*GenerateApplicationSealedSecretResponse)(nil), // 37: grpc.service.webservice.GenerateApplicationSealedSecretResponse - (*ListUnregisteredApplicationsRequest)(nil), // 38: grpc.service.webservice.ListUnregisteredApplicationsRequest - (*ListUnregisteredApplicationsResponse)(nil), // 39: grpc.service.webservice.ListUnregisteredApplicationsResponse - (*ListDeploymentsRequest)(nil), // 40: grpc.service.webservice.ListDeploymentsRequest - (*ListDeploymentsResponse)(nil), // 41: grpc.service.webservice.ListDeploymentsResponse - (*GetDeploymentRequest)(nil), // 42: grpc.service.webservice.GetDeploymentRequest - (*GetDeploymentResponse)(nil), // 43: grpc.service.webservice.GetDeploymentResponse - (*GetStageLogRequest)(nil), // 44: grpc.service.webservice.GetStageLogRequest - (*GetStageLogResponse)(nil), // 45: grpc.service.webservice.GetStageLogResponse - (*CancelDeploymentRequest)(nil), // 46: grpc.service.webservice.CancelDeploymentRequest - (*CancelDeploymentResponse)(nil), // 47: grpc.service.webservice.CancelDeploymentResponse - (*SkipStageRequest)(nil), // 48: grpc.service.webservice.SkipStageRequest - (*SkipStageResponse)(nil), // 49: grpc.service.webservice.SkipStageResponse - (*ApproveStageRequest)(nil), // 50: grpc.service.webservice.ApproveStageRequest - (*ApproveStageResponse)(nil), // 51: grpc.service.webservice.ApproveStageResponse - (*GetApplicationLiveStateRequest)(nil), // 52: grpc.service.webservice.GetApplicationLiveStateRequest - (*GetApplicationLiveStateResponse)(nil), // 53: grpc.service.webservice.GetApplicationLiveStateResponse - (*GetProjectRequest)(nil), // 54: grpc.service.webservice.GetProjectRequest - (*GetProjectResponse)(nil), // 55: grpc.service.webservice.GetProjectResponse - (*UpdateProjectStaticAdminRequest)(nil), // 56: grpc.service.webservice.UpdateProjectStaticAdminRequest - (*UpdateProjectStaticAdminResponse)(nil), // 57: grpc.service.webservice.UpdateProjectStaticAdminResponse - (*UpdateProjectSSOConfigRequest)(nil), // 58: grpc.service.webservice.UpdateProjectSSOConfigRequest - (*UpdateProjectSSOConfigResponse)(nil), // 59: grpc.service.webservice.UpdateProjectSSOConfigResponse - (*UpdateProjectRBACConfigRequest)(nil), // 60: grpc.service.webservice.UpdateProjectRBACConfigRequest - (*UpdateProjectRBACConfigResponse)(nil), // 61: grpc.service.webservice.UpdateProjectRBACConfigResponse - (*EnableStaticAdminRequest)(nil), // 62: grpc.service.webservice.EnableStaticAdminRequest - (*EnableStaticAdminResponse)(nil), // 63: grpc.service.webservice.EnableStaticAdminResponse - (*DisableStaticAdminRequest)(nil), // 64: grpc.service.webservice.DisableStaticAdminRequest - (*DisableStaticAdminResponse)(nil), // 65: grpc.service.webservice.DisableStaticAdminResponse - (*GetMeRequest)(nil), // 66: grpc.service.webservice.GetMeRequest - (*GetMeResponse)(nil), // 67: grpc.service.webservice.GetMeResponse - (*ListProjectRBACRolesRequest)(nil), // 68: grpc.service.webservice.ListProjectRBACRolesRequest - (*ListProjectRBACRolesResponse)(nil), // 69: grpc.service.webservice.ListProjectRBACRolesResponse - (*AddProjectRBACRoleRequest)(nil), // 70: grpc.service.webservice.AddProjectRBACRoleRequest - (*AddProjectRBACRoleResponse)(nil), // 71: grpc.service.webservice.AddProjectRBACRoleResponse - (*UpdateProjectRBACRoleRequest)(nil), // 72: grpc.service.webservice.UpdateProjectRBACRoleRequest - (*UpdateProjectRBACRoleResponse)(nil), // 73: grpc.service.webservice.UpdateProjectRBACRoleResponse - (*DeleteProjectRBACRoleRequest)(nil), // 74: grpc.service.webservice.DeleteProjectRBACRoleRequest - (*DeleteProjectRBACRoleResponse)(nil), // 75: grpc.service.webservice.DeleteProjectRBACRoleResponse - (*ListProjectUserGroupsRequest)(nil), // 76: grpc.service.webservice.ListProjectUserGroupsRequest - (*ListProjectUserGroupsResponses)(nil), // 77: grpc.service.webservice.ListProjectUserGroupsResponses - (*AddProjectUserGroupRequest)(nil), // 78: grpc.service.webservice.AddProjectUserGroupRequest - (*AddProjectUserGroupResponse)(nil), // 79: grpc.service.webservice.AddProjectUserGroupResponse - (*DeleteProjectUserGroupRequest)(nil), // 80: grpc.service.webservice.DeleteProjectUserGroupRequest - (*DeleteProjectUserGroupResponse)(nil), // 81: grpc.service.webservice.DeleteProjectUserGroupResponse - (*GetCommandRequest)(nil), // 82: grpc.service.webservice.GetCommandRequest - (*GetCommandResponse)(nil), // 83: grpc.service.webservice.GetCommandResponse - (*GenerateAPIKeyRequest)(nil), // 84: grpc.service.webservice.GenerateAPIKeyRequest - (*GenerateAPIKeyResponse)(nil), // 85: grpc.service.webservice.GenerateAPIKeyResponse - (*DisableAPIKeyRequest)(nil), // 86: grpc.service.webservice.DisableAPIKeyRequest - (*DisableAPIKeyResponse)(nil), // 87: grpc.service.webservice.DisableAPIKeyResponse - (*ListAPIKeysRequest)(nil), // 88: grpc.service.webservice.ListAPIKeysRequest - (*ListAPIKeysResponse)(nil), // 89: grpc.service.webservice.ListAPIKeysResponse - (*GetInsightDataRequest)(nil), // 90: grpc.service.webservice.GetInsightDataRequest - (*GetInsightDataResponse)(nil), // 91: grpc.service.webservice.GetInsightDataResponse - (*GetInsightApplicationCountRequest)(nil), // 92: grpc.service.webservice.GetInsightApplicationCountRequest - (*GetInsightApplicationCountResponse)(nil), // 93: grpc.service.webservice.GetInsightApplicationCountResponse - (*ListDeploymentChainsRequest)(nil), // 94: grpc.service.webservice.ListDeploymentChainsRequest - (*ListDeploymentChainsResponse)(nil), // 95: grpc.service.webservice.ListDeploymentChainsResponse - (*GetDeploymentChainRequest)(nil), // 96: grpc.service.webservice.GetDeploymentChainRequest - (*GetDeploymentChainResponse)(nil), // 97: grpc.service.webservice.GetDeploymentChainResponse - (*ListEventsRequest)(nil), // 98: grpc.service.webservice.ListEventsRequest - (*ListEventsResponse)(nil), // 99: grpc.service.webservice.ListEventsResponse - (*ListPipedsRequest_Options)(nil), // 100: grpc.service.webservice.ListPipedsRequest.Options - nil, // 101: grpc.service.webservice.AddApplicationRequest.LabelsEntry - (*ListApplicationsRequest_Options)(nil), // 102: grpc.service.webservice.ListApplicationsRequest.Options - nil, // 103: grpc.service.webservice.ListApplicationsRequest.Options.LabelsEntry - (*ListDeploymentsRequest_Options)(nil), // 104: grpc.service.webservice.ListDeploymentsRequest.Options - nil, // 105: grpc.service.webservice.ListDeploymentsRequest.Options.LabelsEntry - (*ListAPIKeysRequest_Options)(nil), // 106: grpc.service.webservice.ListAPIKeysRequest.Options - (*ListDeploymentChainsRequest_Options)(nil), // 107: grpc.service.webservice.ListDeploymentChainsRequest.Options - (*ListEventsRequest_Options)(nil), // 108: grpc.service.webservice.ListEventsRequest.Options - nil, // 109: grpc.service.webservice.ListEventsRequest.Options.LabelsEntry - (*model.Piped)(nil), // 110: model.Piped - (*model.ApplicationGitPath)(nil), // 111: model.ApplicationGitPath - (model.ApplicationKind)(0), // 112: model.ApplicationKind - (*model.Application)(nil), // 113: model.Application - (model.SyncStrategy)(0), // 114: model.SyncStrategy - (*model.ApplicationInfo)(nil), // 115: model.ApplicationInfo - (*model.Deployment)(nil), // 116: model.Deployment - (*model.LogBlock)(nil), // 117: model.LogBlock - (*model.ApplicationLiveStateSnapshot)(nil), // 118: model.ApplicationLiveStateSnapshot - (*model.Project)(nil), // 119: model.Project - (*model.ProjectSSOConfig)(nil), // 120: model.ProjectSSOConfig - (*model.ProjectRBACConfig)(nil), // 121: model.ProjectRBACConfig - (model.Role_ProjectRole)(0), // 122: model.Role.ProjectRole - (*model.ProjectRBACRole)(nil), // 123: model.ProjectRBACRole - (*model.ProjectRBACPolicy)(nil), // 124: model.ProjectRBACPolicy - (*model.ProjectUserGroup)(nil), // 125: model.ProjectUserGroup - (*model.Command)(nil), // 126: model.Command - (model.APIKey_Role)(0), // 127: model.APIKey.Role - (*model.APIKey)(nil), // 128: model.APIKey - (model.InsightMetricsKind)(0), // 129: model.InsightMetricsKind - (model.InsightResultType)(0), // 130: model.InsightResultType - (*model.InsightSample)(nil), // 131: model.InsightSample - (*model.InsightSampleStream)(nil), // 132: model.InsightSampleStream - (*model.InsightApplicationCount)(nil), // 133: model.InsightApplicationCount - (*model.DeploymentChain)(nil), // 134: model.DeploymentChain - (*model.Event)(nil), // 135: model.Event - (*wrapperspb.BoolValue)(nil), // 136: google.protobuf.BoolValue - (model.ApplicationSyncStatus)(0), // 137: model.ApplicationSyncStatus - (model.DeploymentStatus)(0), // 138: model.DeploymentStatus - (model.EventStatus)(0), // 139: model.EventStatus + (*ListReleasedVersionsRequest)(nil), // 20: grpc.service.webservice.ListReleasedVersionsRequest + (*ListReleasedVersionsResponse)(nil), // 21: grpc.service.webservice.ListReleasedVersionsResponse + (*AddApplicationRequest)(nil), // 22: grpc.service.webservice.AddApplicationRequest + (*AddApplicationResponse)(nil), // 23: grpc.service.webservice.AddApplicationResponse + (*UpdateApplicationRequest)(nil), // 24: grpc.service.webservice.UpdateApplicationRequest + (*UpdateApplicationResponse)(nil), // 25: grpc.service.webservice.UpdateApplicationResponse + (*EnableApplicationRequest)(nil), // 26: grpc.service.webservice.EnableApplicationRequest + (*EnableApplicationResponse)(nil), // 27: grpc.service.webservice.EnableApplicationResponse + (*DisableApplicationRequest)(nil), // 28: grpc.service.webservice.DisableApplicationRequest + (*DisableApplicationResponse)(nil), // 29: grpc.service.webservice.DisableApplicationResponse + (*DeleteApplicationRequest)(nil), // 30: grpc.service.webservice.DeleteApplicationRequest + (*DeleteApplicationResponse)(nil), // 31: grpc.service.webservice.DeleteApplicationResponse + (*ListApplicationsRequest)(nil), // 32: grpc.service.webservice.ListApplicationsRequest + (*ListApplicationsResponse)(nil), // 33: grpc.service.webservice.ListApplicationsResponse + (*SyncApplicationRequest)(nil), // 34: grpc.service.webservice.SyncApplicationRequest + (*SyncApplicationResponse)(nil), // 35: grpc.service.webservice.SyncApplicationResponse + (*GetApplicationRequest)(nil), // 36: grpc.service.webservice.GetApplicationRequest + (*GetApplicationResponse)(nil), // 37: grpc.service.webservice.GetApplicationResponse + (*GenerateApplicationSealedSecretRequest)(nil), // 38: grpc.service.webservice.GenerateApplicationSealedSecretRequest + (*GenerateApplicationSealedSecretResponse)(nil), // 39: grpc.service.webservice.GenerateApplicationSealedSecretResponse + (*ListUnregisteredApplicationsRequest)(nil), // 40: grpc.service.webservice.ListUnregisteredApplicationsRequest + (*ListUnregisteredApplicationsResponse)(nil), // 41: grpc.service.webservice.ListUnregisteredApplicationsResponse + (*ListDeploymentsRequest)(nil), // 42: grpc.service.webservice.ListDeploymentsRequest + (*ListDeploymentsResponse)(nil), // 43: grpc.service.webservice.ListDeploymentsResponse + (*GetDeploymentRequest)(nil), // 44: grpc.service.webservice.GetDeploymentRequest + (*GetDeploymentResponse)(nil), // 45: grpc.service.webservice.GetDeploymentResponse + (*GetStageLogRequest)(nil), // 46: grpc.service.webservice.GetStageLogRequest + (*GetStageLogResponse)(nil), // 47: grpc.service.webservice.GetStageLogResponse + (*CancelDeploymentRequest)(nil), // 48: grpc.service.webservice.CancelDeploymentRequest + (*CancelDeploymentResponse)(nil), // 49: grpc.service.webservice.CancelDeploymentResponse + (*SkipStageRequest)(nil), // 50: grpc.service.webservice.SkipStageRequest + (*SkipStageResponse)(nil), // 51: grpc.service.webservice.SkipStageResponse + (*ApproveStageRequest)(nil), // 52: grpc.service.webservice.ApproveStageRequest + (*ApproveStageResponse)(nil), // 53: grpc.service.webservice.ApproveStageResponse + (*GetApplicationLiveStateRequest)(nil), // 54: grpc.service.webservice.GetApplicationLiveStateRequest + (*GetApplicationLiveStateResponse)(nil), // 55: grpc.service.webservice.GetApplicationLiveStateResponse + (*GetProjectRequest)(nil), // 56: grpc.service.webservice.GetProjectRequest + (*GetProjectResponse)(nil), // 57: grpc.service.webservice.GetProjectResponse + (*UpdateProjectStaticAdminRequest)(nil), // 58: grpc.service.webservice.UpdateProjectStaticAdminRequest + (*UpdateProjectStaticAdminResponse)(nil), // 59: grpc.service.webservice.UpdateProjectStaticAdminResponse + (*UpdateProjectSSOConfigRequest)(nil), // 60: grpc.service.webservice.UpdateProjectSSOConfigRequest + (*UpdateProjectSSOConfigResponse)(nil), // 61: grpc.service.webservice.UpdateProjectSSOConfigResponse + (*UpdateProjectRBACConfigRequest)(nil), // 62: grpc.service.webservice.UpdateProjectRBACConfigRequest + (*UpdateProjectRBACConfigResponse)(nil), // 63: grpc.service.webservice.UpdateProjectRBACConfigResponse + (*EnableStaticAdminRequest)(nil), // 64: grpc.service.webservice.EnableStaticAdminRequest + (*EnableStaticAdminResponse)(nil), // 65: grpc.service.webservice.EnableStaticAdminResponse + (*DisableStaticAdminRequest)(nil), // 66: grpc.service.webservice.DisableStaticAdminRequest + (*DisableStaticAdminResponse)(nil), // 67: grpc.service.webservice.DisableStaticAdminResponse + (*GetMeRequest)(nil), // 68: grpc.service.webservice.GetMeRequest + (*GetMeResponse)(nil), // 69: grpc.service.webservice.GetMeResponse + (*ListProjectRBACRolesRequest)(nil), // 70: grpc.service.webservice.ListProjectRBACRolesRequest + (*ListProjectRBACRolesResponse)(nil), // 71: grpc.service.webservice.ListProjectRBACRolesResponse + (*AddProjectRBACRoleRequest)(nil), // 72: grpc.service.webservice.AddProjectRBACRoleRequest + (*AddProjectRBACRoleResponse)(nil), // 73: grpc.service.webservice.AddProjectRBACRoleResponse + (*UpdateProjectRBACRoleRequest)(nil), // 74: grpc.service.webservice.UpdateProjectRBACRoleRequest + (*UpdateProjectRBACRoleResponse)(nil), // 75: grpc.service.webservice.UpdateProjectRBACRoleResponse + (*DeleteProjectRBACRoleRequest)(nil), // 76: grpc.service.webservice.DeleteProjectRBACRoleRequest + (*DeleteProjectRBACRoleResponse)(nil), // 77: grpc.service.webservice.DeleteProjectRBACRoleResponse + (*ListProjectUserGroupsRequest)(nil), // 78: grpc.service.webservice.ListProjectUserGroupsRequest + (*ListProjectUserGroupsResponses)(nil), // 79: grpc.service.webservice.ListProjectUserGroupsResponses + (*AddProjectUserGroupRequest)(nil), // 80: grpc.service.webservice.AddProjectUserGroupRequest + (*AddProjectUserGroupResponse)(nil), // 81: grpc.service.webservice.AddProjectUserGroupResponse + (*DeleteProjectUserGroupRequest)(nil), // 82: grpc.service.webservice.DeleteProjectUserGroupRequest + (*DeleteProjectUserGroupResponse)(nil), // 83: grpc.service.webservice.DeleteProjectUserGroupResponse + (*GetCommandRequest)(nil), // 84: grpc.service.webservice.GetCommandRequest + (*GetCommandResponse)(nil), // 85: grpc.service.webservice.GetCommandResponse + (*GenerateAPIKeyRequest)(nil), // 86: grpc.service.webservice.GenerateAPIKeyRequest + (*GenerateAPIKeyResponse)(nil), // 87: grpc.service.webservice.GenerateAPIKeyResponse + (*DisableAPIKeyRequest)(nil), // 88: grpc.service.webservice.DisableAPIKeyRequest + (*DisableAPIKeyResponse)(nil), // 89: grpc.service.webservice.DisableAPIKeyResponse + (*ListAPIKeysRequest)(nil), // 90: grpc.service.webservice.ListAPIKeysRequest + (*ListAPIKeysResponse)(nil), // 91: grpc.service.webservice.ListAPIKeysResponse + (*GetInsightDataRequest)(nil), // 92: grpc.service.webservice.GetInsightDataRequest + (*GetInsightDataResponse)(nil), // 93: grpc.service.webservice.GetInsightDataResponse + (*GetInsightApplicationCountRequest)(nil), // 94: grpc.service.webservice.GetInsightApplicationCountRequest + (*GetInsightApplicationCountResponse)(nil), // 95: grpc.service.webservice.GetInsightApplicationCountResponse + (*ListDeploymentChainsRequest)(nil), // 96: grpc.service.webservice.ListDeploymentChainsRequest + (*ListDeploymentChainsResponse)(nil), // 97: grpc.service.webservice.ListDeploymentChainsResponse + (*GetDeploymentChainRequest)(nil), // 98: grpc.service.webservice.GetDeploymentChainRequest + (*GetDeploymentChainResponse)(nil), // 99: grpc.service.webservice.GetDeploymentChainResponse + (*ListEventsRequest)(nil), // 100: grpc.service.webservice.ListEventsRequest + (*ListEventsResponse)(nil), // 101: grpc.service.webservice.ListEventsResponse + (*ListPipedsRequest_Options)(nil), // 102: grpc.service.webservice.ListPipedsRequest.Options + nil, // 103: grpc.service.webservice.AddApplicationRequest.LabelsEntry + (*ListApplicationsRequest_Options)(nil), // 104: grpc.service.webservice.ListApplicationsRequest.Options + nil, // 105: grpc.service.webservice.ListApplicationsRequest.Options.LabelsEntry + (*ListDeploymentsRequest_Options)(nil), // 106: grpc.service.webservice.ListDeploymentsRequest.Options + nil, // 107: grpc.service.webservice.ListDeploymentsRequest.Options.LabelsEntry + (*ListAPIKeysRequest_Options)(nil), // 108: grpc.service.webservice.ListAPIKeysRequest.Options + (*ListDeploymentChainsRequest_Options)(nil), // 109: grpc.service.webservice.ListDeploymentChainsRequest.Options + (*ListEventsRequest_Options)(nil), // 110: grpc.service.webservice.ListEventsRequest.Options + nil, // 111: grpc.service.webservice.ListEventsRequest.Options.LabelsEntry + (*model.Piped)(nil), // 112: model.Piped + (*model.ApplicationGitPath)(nil), // 113: model.ApplicationGitPath + (model.ApplicationKind)(0), // 114: model.ApplicationKind + (*model.Application)(nil), // 115: model.Application + (model.SyncStrategy)(0), // 116: model.SyncStrategy + (*model.ApplicationInfo)(nil), // 117: model.ApplicationInfo + (*model.Deployment)(nil), // 118: model.Deployment + (*model.LogBlock)(nil), // 119: model.LogBlock + (*model.ApplicationLiveStateSnapshot)(nil), // 120: model.ApplicationLiveStateSnapshot + (*model.Project)(nil), // 121: model.Project + (*model.ProjectSSOConfig)(nil), // 122: model.ProjectSSOConfig + (*model.ProjectRBACConfig)(nil), // 123: model.ProjectRBACConfig + (model.Role_ProjectRole)(0), // 124: model.Role.ProjectRole + (*model.ProjectRBACRole)(nil), // 125: model.ProjectRBACRole + (*model.ProjectRBACPolicy)(nil), // 126: model.ProjectRBACPolicy + (*model.ProjectUserGroup)(nil), // 127: model.ProjectUserGroup + (*model.Command)(nil), // 128: model.Command + (model.APIKey_Role)(0), // 129: model.APIKey.Role + (*model.APIKey)(nil), // 130: model.APIKey + (model.InsightMetricsKind)(0), // 131: model.InsightMetricsKind + (model.InsightResultType)(0), // 132: model.InsightResultType + (*model.InsightSample)(nil), // 133: model.InsightSample + (*model.InsightSampleStream)(nil), // 134: model.InsightSampleStream + (*model.InsightApplicationCount)(nil), // 135: model.InsightApplicationCount + (*model.DeploymentChain)(nil), // 136: model.DeploymentChain + (*model.Event)(nil), // 137: model.Event + (*wrapperspb.BoolValue)(nil), // 138: google.protobuf.BoolValue + (model.ApplicationSyncStatus)(0), // 139: model.ApplicationSyncStatus + (model.DeploymentStatus)(0), // 140: model.DeploymentStatus + (model.EventStatus)(0), // 141: model.EventStatus } var file_pkg_app_server_service_webservice_service_proto_depIdxs = []int32{ - 100, // 0: grpc.service.webservice.ListPipedsRequest.options:type_name -> grpc.service.webservice.ListPipedsRequest.Options - 110, // 1: grpc.service.webservice.ListPipedsResponse.pipeds:type_name -> model.Piped - 110, // 2: grpc.service.webservice.GetPipedResponse.piped:type_name -> model.Piped - 111, // 3: grpc.service.webservice.AddApplicationRequest.git_path:type_name -> model.ApplicationGitPath - 112, // 4: grpc.service.webservice.AddApplicationRequest.kind:type_name -> model.ApplicationKind - 101, // 5: grpc.service.webservice.AddApplicationRequest.labels:type_name -> grpc.service.webservice.AddApplicationRequest.LabelsEntry - 112, // 6: grpc.service.webservice.UpdateApplicationRequest.kind:type_name -> model.ApplicationKind - 102, // 7: grpc.service.webservice.ListApplicationsRequest.options:type_name -> grpc.service.webservice.ListApplicationsRequest.Options - 113, // 8: grpc.service.webservice.ListApplicationsResponse.applications:type_name -> model.Application - 114, // 9: grpc.service.webservice.SyncApplicationRequest.sync_strategy:type_name -> model.SyncStrategy - 113, // 10: grpc.service.webservice.GetApplicationResponse.application:type_name -> model.Application - 115, // 11: grpc.service.webservice.ListUnregisteredApplicationsResponse.applications:type_name -> model.ApplicationInfo - 104, // 12: grpc.service.webservice.ListDeploymentsRequest.options:type_name -> grpc.service.webservice.ListDeploymentsRequest.Options - 116, // 13: grpc.service.webservice.ListDeploymentsResponse.deployments:type_name -> model.Deployment - 116, // 14: grpc.service.webservice.GetDeploymentResponse.deployment:type_name -> model.Deployment - 117, // 15: grpc.service.webservice.GetStageLogResponse.blocks:type_name -> model.LogBlock - 118, // 16: grpc.service.webservice.GetApplicationLiveStateResponse.snapshot:type_name -> model.ApplicationLiveStateSnapshot - 119, // 17: grpc.service.webservice.GetProjectResponse.project:type_name -> model.Project - 120, // 18: grpc.service.webservice.UpdateProjectSSOConfigRequest.sso:type_name -> model.ProjectSSOConfig - 121, // 19: grpc.service.webservice.UpdateProjectRBACConfigRequest.rbac:type_name -> model.ProjectRBACConfig - 122, // 20: grpc.service.webservice.GetMeResponse.project_role:type_name -> model.Role.ProjectRole - 123, // 21: grpc.service.webservice.ListProjectRBACRolesResponse.rbac_roles:type_name -> model.ProjectRBACRole - 124, // 22: grpc.service.webservice.AddProjectRBACRoleRequest.policies:type_name -> model.ProjectRBACPolicy - 124, // 23: grpc.service.webservice.UpdateProjectRBACRoleRequest.policies:type_name -> model.ProjectRBACPolicy - 125, // 24: grpc.service.webservice.ListProjectUserGroupsResponses.user_groups:type_name -> model.ProjectUserGroup - 126, // 25: grpc.service.webservice.GetCommandResponse.command:type_name -> model.Command - 127, // 26: grpc.service.webservice.GenerateAPIKeyRequest.role:type_name -> model.APIKey.Role - 106, // 27: grpc.service.webservice.ListAPIKeysRequest.options:type_name -> grpc.service.webservice.ListAPIKeysRequest.Options - 128, // 28: grpc.service.webservice.ListAPIKeysResponse.keys:type_name -> model.APIKey - 129, // 29: grpc.service.webservice.GetInsightDataRequest.metrics_kind:type_name -> model.InsightMetricsKind - 130, // 30: grpc.service.webservice.GetInsightDataResponse.type:type_name -> model.InsightResultType - 131, // 31: grpc.service.webservice.GetInsightDataResponse.vector:type_name -> model.InsightSample - 132, // 32: grpc.service.webservice.GetInsightDataResponse.matrix:type_name -> model.InsightSampleStream - 133, // 33: grpc.service.webservice.GetInsightApplicationCountResponse.counts:type_name -> model.InsightApplicationCount - 107, // 34: grpc.service.webservice.ListDeploymentChainsRequest.options:type_name -> grpc.service.webservice.ListDeploymentChainsRequest.Options - 134, // 35: grpc.service.webservice.ListDeploymentChainsResponse.deployment_chains:type_name -> model.DeploymentChain - 134, // 36: grpc.service.webservice.GetDeploymentChainResponse.deployment_chain:type_name -> model.DeploymentChain - 108, // 37: grpc.service.webservice.ListEventsRequest.options:type_name -> grpc.service.webservice.ListEventsRequest.Options - 135, // 38: grpc.service.webservice.ListEventsResponse.events:type_name -> model.Event - 136, // 39: grpc.service.webservice.ListPipedsRequest.Options.enabled:type_name -> google.protobuf.BoolValue - 136, // 40: grpc.service.webservice.ListApplicationsRequest.Options.enabled:type_name -> google.protobuf.BoolValue - 112, // 41: grpc.service.webservice.ListApplicationsRequest.Options.kinds:type_name -> model.ApplicationKind - 137, // 42: grpc.service.webservice.ListApplicationsRequest.Options.sync_statuses:type_name -> model.ApplicationSyncStatus - 103, // 43: grpc.service.webservice.ListApplicationsRequest.Options.labels:type_name -> grpc.service.webservice.ListApplicationsRequest.Options.LabelsEntry - 138, // 44: grpc.service.webservice.ListDeploymentsRequest.Options.statuses:type_name -> model.DeploymentStatus - 112, // 45: grpc.service.webservice.ListDeploymentsRequest.Options.kinds:type_name -> model.ApplicationKind - 105, // 46: grpc.service.webservice.ListDeploymentsRequest.Options.labels:type_name -> grpc.service.webservice.ListDeploymentsRequest.Options.LabelsEntry - 136, // 47: grpc.service.webservice.ListAPIKeysRequest.Options.enabled:type_name -> google.protobuf.BoolValue - 139, // 48: grpc.service.webservice.ListEventsRequest.Options.statuses:type_name -> model.EventStatus - 109, // 49: grpc.service.webservice.ListEventsRequest.Options.labels:type_name -> grpc.service.webservice.ListEventsRequest.Options.LabelsEntry + 102, // 0: grpc.service.webservice.ListPipedsRequest.options:type_name -> grpc.service.webservice.ListPipedsRequest.Options + 112, // 1: grpc.service.webservice.ListPipedsResponse.pipeds:type_name -> model.Piped + 112, // 2: grpc.service.webservice.GetPipedResponse.piped:type_name -> model.Piped + 113, // 3: grpc.service.webservice.AddApplicationRequest.git_path:type_name -> model.ApplicationGitPath + 114, // 4: grpc.service.webservice.AddApplicationRequest.kind:type_name -> model.ApplicationKind + 103, // 5: grpc.service.webservice.AddApplicationRequest.labels:type_name -> grpc.service.webservice.AddApplicationRequest.LabelsEntry + 114, // 6: grpc.service.webservice.UpdateApplicationRequest.kind:type_name -> model.ApplicationKind + 104, // 7: grpc.service.webservice.ListApplicationsRequest.options:type_name -> grpc.service.webservice.ListApplicationsRequest.Options + 115, // 8: grpc.service.webservice.ListApplicationsResponse.applications:type_name -> model.Application + 116, // 9: grpc.service.webservice.SyncApplicationRequest.sync_strategy:type_name -> model.SyncStrategy + 115, // 10: grpc.service.webservice.GetApplicationResponse.application:type_name -> model.Application + 117, // 11: grpc.service.webservice.ListUnregisteredApplicationsResponse.applications:type_name -> model.ApplicationInfo + 106, // 12: grpc.service.webservice.ListDeploymentsRequest.options:type_name -> grpc.service.webservice.ListDeploymentsRequest.Options + 118, // 13: grpc.service.webservice.ListDeploymentsResponse.deployments:type_name -> model.Deployment + 118, // 14: grpc.service.webservice.GetDeploymentResponse.deployment:type_name -> model.Deployment + 119, // 15: grpc.service.webservice.GetStageLogResponse.blocks:type_name -> model.LogBlock + 120, // 16: grpc.service.webservice.GetApplicationLiveStateResponse.snapshot:type_name -> model.ApplicationLiveStateSnapshot + 121, // 17: grpc.service.webservice.GetProjectResponse.project:type_name -> model.Project + 122, // 18: grpc.service.webservice.UpdateProjectSSOConfigRequest.sso:type_name -> model.ProjectSSOConfig + 123, // 19: grpc.service.webservice.UpdateProjectRBACConfigRequest.rbac:type_name -> model.ProjectRBACConfig + 124, // 20: grpc.service.webservice.GetMeResponse.project_role:type_name -> model.Role.ProjectRole + 125, // 21: grpc.service.webservice.ListProjectRBACRolesResponse.rbac_roles:type_name -> model.ProjectRBACRole + 126, // 22: grpc.service.webservice.AddProjectRBACRoleRequest.policies:type_name -> model.ProjectRBACPolicy + 126, // 23: grpc.service.webservice.UpdateProjectRBACRoleRequest.policies:type_name -> model.ProjectRBACPolicy + 127, // 24: grpc.service.webservice.ListProjectUserGroupsResponses.user_groups:type_name -> model.ProjectUserGroup + 128, // 25: grpc.service.webservice.GetCommandResponse.command:type_name -> model.Command + 129, // 26: grpc.service.webservice.GenerateAPIKeyRequest.role:type_name -> model.APIKey.Role + 108, // 27: grpc.service.webservice.ListAPIKeysRequest.options:type_name -> grpc.service.webservice.ListAPIKeysRequest.Options + 130, // 28: grpc.service.webservice.ListAPIKeysResponse.keys:type_name -> model.APIKey + 131, // 29: grpc.service.webservice.GetInsightDataRequest.metrics_kind:type_name -> model.InsightMetricsKind + 132, // 30: grpc.service.webservice.GetInsightDataResponse.type:type_name -> model.InsightResultType + 133, // 31: grpc.service.webservice.GetInsightDataResponse.vector:type_name -> model.InsightSample + 134, // 32: grpc.service.webservice.GetInsightDataResponse.matrix:type_name -> model.InsightSampleStream + 135, // 33: grpc.service.webservice.GetInsightApplicationCountResponse.counts:type_name -> model.InsightApplicationCount + 109, // 34: grpc.service.webservice.ListDeploymentChainsRequest.options:type_name -> grpc.service.webservice.ListDeploymentChainsRequest.Options + 136, // 35: grpc.service.webservice.ListDeploymentChainsResponse.deployment_chains:type_name -> model.DeploymentChain + 136, // 36: grpc.service.webservice.GetDeploymentChainResponse.deployment_chain:type_name -> model.DeploymentChain + 110, // 37: grpc.service.webservice.ListEventsRequest.options:type_name -> grpc.service.webservice.ListEventsRequest.Options + 137, // 38: grpc.service.webservice.ListEventsResponse.events:type_name -> model.Event + 138, // 39: grpc.service.webservice.ListPipedsRequest.Options.enabled:type_name -> google.protobuf.BoolValue + 138, // 40: grpc.service.webservice.ListApplicationsRequest.Options.enabled:type_name -> google.protobuf.BoolValue + 114, // 41: grpc.service.webservice.ListApplicationsRequest.Options.kinds:type_name -> model.ApplicationKind + 139, // 42: grpc.service.webservice.ListApplicationsRequest.Options.sync_statuses:type_name -> model.ApplicationSyncStatus + 105, // 43: grpc.service.webservice.ListApplicationsRequest.Options.labels:type_name -> grpc.service.webservice.ListApplicationsRequest.Options.LabelsEntry + 140, // 44: grpc.service.webservice.ListDeploymentsRequest.Options.statuses:type_name -> model.DeploymentStatus + 114, // 45: grpc.service.webservice.ListDeploymentsRequest.Options.kinds:type_name -> model.ApplicationKind + 107, // 46: grpc.service.webservice.ListDeploymentsRequest.Options.labels:type_name -> grpc.service.webservice.ListDeploymentsRequest.Options.LabelsEntry + 138, // 47: grpc.service.webservice.ListAPIKeysRequest.Options.enabled:type_name -> google.protobuf.BoolValue + 141, // 48: grpc.service.webservice.ListEventsRequest.Options.statuses:type_name -> model.EventStatus + 111, // 49: grpc.service.webservice.ListEventsRequest.Options.labels:type_name -> grpc.service.webservice.ListEventsRequest.Options.LabelsEntry 0, // 50: grpc.service.webservice.WebService.RegisterPiped:input_type -> grpc.service.webservice.RegisterPipedRequest 2, // 51: grpc.service.webservice.WebService.UpdatePiped:input_type -> grpc.service.webservice.UpdatePipedRequest 4, // 52: grpc.service.webservice.WebService.RecreatePipedKey:input_type -> grpc.service.webservice.RecreatePipedKeyRequest @@ -6542,98 +6644,100 @@ var file_pkg_app_server_service_webservice_service_proto_depIdxs = []int32{ 14, // 57: grpc.service.webservice.WebService.GetPiped:input_type -> grpc.service.webservice.GetPipedRequest 16, // 58: grpc.service.webservice.WebService.UpdatePipedDesiredVersion:input_type -> grpc.service.webservice.UpdatePipedDesiredVersionRequest 18, // 59: grpc.service.webservice.WebService.RestartPiped:input_type -> grpc.service.webservice.RestartPipedRequest - 20, // 60: grpc.service.webservice.WebService.AddApplication:input_type -> grpc.service.webservice.AddApplicationRequest - 22, // 61: grpc.service.webservice.WebService.UpdateApplication:input_type -> grpc.service.webservice.UpdateApplicationRequest - 24, // 62: grpc.service.webservice.WebService.EnableApplication:input_type -> grpc.service.webservice.EnableApplicationRequest - 26, // 63: grpc.service.webservice.WebService.DisableApplication:input_type -> grpc.service.webservice.DisableApplicationRequest - 28, // 64: grpc.service.webservice.WebService.DeleteApplication:input_type -> grpc.service.webservice.DeleteApplicationRequest - 30, // 65: grpc.service.webservice.WebService.ListApplications:input_type -> grpc.service.webservice.ListApplicationsRequest - 32, // 66: grpc.service.webservice.WebService.SyncApplication:input_type -> grpc.service.webservice.SyncApplicationRequest - 34, // 67: grpc.service.webservice.WebService.GetApplication:input_type -> grpc.service.webservice.GetApplicationRequest - 36, // 68: grpc.service.webservice.WebService.GenerateApplicationSealedSecret:input_type -> grpc.service.webservice.GenerateApplicationSealedSecretRequest - 38, // 69: grpc.service.webservice.WebService.ListUnregisteredApplications:input_type -> grpc.service.webservice.ListUnregisteredApplicationsRequest - 40, // 70: grpc.service.webservice.WebService.ListDeployments:input_type -> grpc.service.webservice.ListDeploymentsRequest - 42, // 71: grpc.service.webservice.WebService.GetDeployment:input_type -> grpc.service.webservice.GetDeploymentRequest - 44, // 72: grpc.service.webservice.WebService.GetStageLog:input_type -> grpc.service.webservice.GetStageLogRequest - 46, // 73: grpc.service.webservice.WebService.CancelDeployment:input_type -> grpc.service.webservice.CancelDeploymentRequest - 48, // 74: grpc.service.webservice.WebService.SkipStage:input_type -> grpc.service.webservice.SkipStageRequest - 50, // 75: grpc.service.webservice.WebService.ApproveStage:input_type -> grpc.service.webservice.ApproveStageRequest - 52, // 76: grpc.service.webservice.WebService.GetApplicationLiveState:input_type -> grpc.service.webservice.GetApplicationLiveStateRequest - 54, // 77: grpc.service.webservice.WebService.GetProject:input_type -> grpc.service.webservice.GetProjectRequest - 56, // 78: grpc.service.webservice.WebService.UpdateProjectStaticAdmin:input_type -> grpc.service.webservice.UpdateProjectStaticAdminRequest - 62, // 79: grpc.service.webservice.WebService.EnableStaticAdmin:input_type -> grpc.service.webservice.EnableStaticAdminRequest - 64, // 80: grpc.service.webservice.WebService.DisableStaticAdmin:input_type -> grpc.service.webservice.DisableStaticAdminRequest - 58, // 81: grpc.service.webservice.WebService.UpdateProjectSSOConfig:input_type -> grpc.service.webservice.UpdateProjectSSOConfigRequest - 60, // 82: grpc.service.webservice.WebService.UpdateProjectRBACConfig:input_type -> grpc.service.webservice.UpdateProjectRBACConfigRequest - 66, // 83: grpc.service.webservice.WebService.GetMe:input_type -> grpc.service.webservice.GetMeRequest - 68, // 84: grpc.service.webservice.WebService.ListProjectRBACRoles:input_type -> grpc.service.webservice.ListProjectRBACRolesRequest - 70, // 85: grpc.service.webservice.WebService.AddProjectRBACRole:input_type -> grpc.service.webservice.AddProjectRBACRoleRequest - 72, // 86: grpc.service.webservice.WebService.UpdateProjectRBACRole:input_type -> grpc.service.webservice.UpdateProjectRBACRoleRequest - 74, // 87: grpc.service.webservice.WebService.DeleteProjectRBACRole:input_type -> grpc.service.webservice.DeleteProjectRBACRoleRequest - 76, // 88: grpc.service.webservice.WebService.ListProjectUserGroups:input_type -> grpc.service.webservice.ListProjectUserGroupsRequest - 78, // 89: grpc.service.webservice.WebService.AddProjectUserGroup:input_type -> grpc.service.webservice.AddProjectUserGroupRequest - 80, // 90: grpc.service.webservice.WebService.DeleteProjectUserGroup:input_type -> grpc.service.webservice.DeleteProjectUserGroupRequest - 82, // 91: grpc.service.webservice.WebService.GetCommand:input_type -> grpc.service.webservice.GetCommandRequest - 84, // 92: grpc.service.webservice.WebService.GenerateAPIKey:input_type -> grpc.service.webservice.GenerateAPIKeyRequest - 86, // 93: grpc.service.webservice.WebService.DisableAPIKey:input_type -> grpc.service.webservice.DisableAPIKeyRequest - 88, // 94: grpc.service.webservice.WebService.ListAPIKeys:input_type -> grpc.service.webservice.ListAPIKeysRequest - 90, // 95: grpc.service.webservice.WebService.GetInsightData:input_type -> grpc.service.webservice.GetInsightDataRequest - 92, // 96: grpc.service.webservice.WebService.GetInsightApplicationCount:input_type -> grpc.service.webservice.GetInsightApplicationCountRequest - 94, // 97: grpc.service.webservice.WebService.ListDeploymentChains:input_type -> grpc.service.webservice.ListDeploymentChainsRequest - 96, // 98: grpc.service.webservice.WebService.GetDeploymentChain:input_type -> grpc.service.webservice.GetDeploymentChainRequest - 98, // 99: grpc.service.webservice.WebService.ListEvents:input_type -> grpc.service.webservice.ListEventsRequest - 1, // 100: grpc.service.webservice.WebService.RegisterPiped:output_type -> grpc.service.webservice.RegisterPipedResponse - 3, // 101: grpc.service.webservice.WebService.UpdatePiped:output_type -> grpc.service.webservice.UpdatePipedResponse - 5, // 102: grpc.service.webservice.WebService.RecreatePipedKey:output_type -> grpc.service.webservice.RecreatePipedKeyResponse - 7, // 103: grpc.service.webservice.WebService.DeleteOldPipedKeys:output_type -> grpc.service.webservice.DeleteOldPipedKeysResponse - 9, // 104: grpc.service.webservice.WebService.EnablePiped:output_type -> grpc.service.webservice.EnablePipedResponse - 11, // 105: grpc.service.webservice.WebService.DisablePiped:output_type -> grpc.service.webservice.DisablePipedResponse - 13, // 106: grpc.service.webservice.WebService.ListPipeds:output_type -> grpc.service.webservice.ListPipedsResponse - 15, // 107: grpc.service.webservice.WebService.GetPiped:output_type -> grpc.service.webservice.GetPipedResponse - 17, // 108: grpc.service.webservice.WebService.UpdatePipedDesiredVersion:output_type -> grpc.service.webservice.UpdatePipedDesiredVersionResponse - 19, // 109: grpc.service.webservice.WebService.RestartPiped:output_type -> grpc.service.webservice.RestartPipedResponse - 21, // 110: grpc.service.webservice.WebService.AddApplication:output_type -> grpc.service.webservice.AddApplicationResponse - 23, // 111: grpc.service.webservice.WebService.UpdateApplication:output_type -> grpc.service.webservice.UpdateApplicationResponse - 25, // 112: grpc.service.webservice.WebService.EnableApplication:output_type -> grpc.service.webservice.EnableApplicationResponse - 27, // 113: grpc.service.webservice.WebService.DisableApplication:output_type -> grpc.service.webservice.DisableApplicationResponse - 29, // 114: grpc.service.webservice.WebService.DeleteApplication:output_type -> grpc.service.webservice.DeleteApplicationResponse - 31, // 115: grpc.service.webservice.WebService.ListApplications:output_type -> grpc.service.webservice.ListApplicationsResponse - 33, // 116: grpc.service.webservice.WebService.SyncApplication:output_type -> grpc.service.webservice.SyncApplicationResponse - 35, // 117: grpc.service.webservice.WebService.GetApplication:output_type -> grpc.service.webservice.GetApplicationResponse - 37, // 118: grpc.service.webservice.WebService.GenerateApplicationSealedSecret:output_type -> grpc.service.webservice.GenerateApplicationSealedSecretResponse - 39, // 119: grpc.service.webservice.WebService.ListUnregisteredApplications:output_type -> grpc.service.webservice.ListUnregisteredApplicationsResponse - 41, // 120: grpc.service.webservice.WebService.ListDeployments:output_type -> grpc.service.webservice.ListDeploymentsResponse - 43, // 121: grpc.service.webservice.WebService.GetDeployment:output_type -> grpc.service.webservice.GetDeploymentResponse - 45, // 122: grpc.service.webservice.WebService.GetStageLog:output_type -> grpc.service.webservice.GetStageLogResponse - 47, // 123: grpc.service.webservice.WebService.CancelDeployment:output_type -> grpc.service.webservice.CancelDeploymentResponse - 49, // 124: grpc.service.webservice.WebService.SkipStage:output_type -> grpc.service.webservice.SkipStageResponse - 51, // 125: grpc.service.webservice.WebService.ApproveStage:output_type -> grpc.service.webservice.ApproveStageResponse - 53, // 126: grpc.service.webservice.WebService.GetApplicationLiveState:output_type -> grpc.service.webservice.GetApplicationLiveStateResponse - 55, // 127: grpc.service.webservice.WebService.GetProject:output_type -> grpc.service.webservice.GetProjectResponse - 57, // 128: grpc.service.webservice.WebService.UpdateProjectStaticAdmin:output_type -> grpc.service.webservice.UpdateProjectStaticAdminResponse - 63, // 129: grpc.service.webservice.WebService.EnableStaticAdmin:output_type -> grpc.service.webservice.EnableStaticAdminResponse - 65, // 130: grpc.service.webservice.WebService.DisableStaticAdmin:output_type -> grpc.service.webservice.DisableStaticAdminResponse - 59, // 131: grpc.service.webservice.WebService.UpdateProjectSSOConfig:output_type -> grpc.service.webservice.UpdateProjectSSOConfigResponse - 61, // 132: grpc.service.webservice.WebService.UpdateProjectRBACConfig:output_type -> grpc.service.webservice.UpdateProjectRBACConfigResponse - 67, // 133: grpc.service.webservice.WebService.GetMe:output_type -> grpc.service.webservice.GetMeResponse - 69, // 134: grpc.service.webservice.WebService.ListProjectRBACRoles:output_type -> grpc.service.webservice.ListProjectRBACRolesResponse - 71, // 135: grpc.service.webservice.WebService.AddProjectRBACRole:output_type -> grpc.service.webservice.AddProjectRBACRoleResponse - 73, // 136: grpc.service.webservice.WebService.UpdateProjectRBACRole:output_type -> grpc.service.webservice.UpdateProjectRBACRoleResponse - 75, // 137: grpc.service.webservice.WebService.DeleteProjectRBACRole:output_type -> grpc.service.webservice.DeleteProjectRBACRoleResponse - 77, // 138: grpc.service.webservice.WebService.ListProjectUserGroups:output_type -> grpc.service.webservice.ListProjectUserGroupsResponses - 79, // 139: grpc.service.webservice.WebService.AddProjectUserGroup:output_type -> grpc.service.webservice.AddProjectUserGroupResponse - 81, // 140: grpc.service.webservice.WebService.DeleteProjectUserGroup:output_type -> grpc.service.webservice.DeleteProjectUserGroupResponse - 83, // 141: grpc.service.webservice.WebService.GetCommand:output_type -> grpc.service.webservice.GetCommandResponse - 85, // 142: grpc.service.webservice.WebService.GenerateAPIKey:output_type -> grpc.service.webservice.GenerateAPIKeyResponse - 87, // 143: grpc.service.webservice.WebService.DisableAPIKey:output_type -> grpc.service.webservice.DisableAPIKeyResponse - 89, // 144: grpc.service.webservice.WebService.ListAPIKeys:output_type -> grpc.service.webservice.ListAPIKeysResponse - 91, // 145: grpc.service.webservice.WebService.GetInsightData:output_type -> grpc.service.webservice.GetInsightDataResponse - 93, // 146: grpc.service.webservice.WebService.GetInsightApplicationCount:output_type -> grpc.service.webservice.GetInsightApplicationCountResponse - 95, // 147: grpc.service.webservice.WebService.ListDeploymentChains:output_type -> grpc.service.webservice.ListDeploymentChainsResponse - 97, // 148: grpc.service.webservice.WebService.GetDeploymentChain:output_type -> grpc.service.webservice.GetDeploymentChainResponse - 99, // 149: grpc.service.webservice.WebService.ListEvents:output_type -> grpc.service.webservice.ListEventsResponse - 100, // [100:150] is the sub-list for method output_type - 50, // [50:100] is the sub-list for method input_type + 20, // 60: grpc.service.webservice.WebService.ListReleasedVersions:input_type -> grpc.service.webservice.ListReleasedVersionsRequest + 22, // 61: grpc.service.webservice.WebService.AddApplication:input_type -> grpc.service.webservice.AddApplicationRequest + 24, // 62: grpc.service.webservice.WebService.UpdateApplication:input_type -> grpc.service.webservice.UpdateApplicationRequest + 26, // 63: grpc.service.webservice.WebService.EnableApplication:input_type -> grpc.service.webservice.EnableApplicationRequest + 28, // 64: grpc.service.webservice.WebService.DisableApplication:input_type -> grpc.service.webservice.DisableApplicationRequest + 30, // 65: grpc.service.webservice.WebService.DeleteApplication:input_type -> grpc.service.webservice.DeleteApplicationRequest + 32, // 66: grpc.service.webservice.WebService.ListApplications:input_type -> grpc.service.webservice.ListApplicationsRequest + 34, // 67: grpc.service.webservice.WebService.SyncApplication:input_type -> grpc.service.webservice.SyncApplicationRequest + 36, // 68: grpc.service.webservice.WebService.GetApplication:input_type -> grpc.service.webservice.GetApplicationRequest + 38, // 69: grpc.service.webservice.WebService.GenerateApplicationSealedSecret:input_type -> grpc.service.webservice.GenerateApplicationSealedSecretRequest + 40, // 70: grpc.service.webservice.WebService.ListUnregisteredApplications:input_type -> grpc.service.webservice.ListUnregisteredApplicationsRequest + 42, // 71: grpc.service.webservice.WebService.ListDeployments:input_type -> grpc.service.webservice.ListDeploymentsRequest + 44, // 72: grpc.service.webservice.WebService.GetDeployment:input_type -> grpc.service.webservice.GetDeploymentRequest + 46, // 73: grpc.service.webservice.WebService.GetStageLog:input_type -> grpc.service.webservice.GetStageLogRequest + 48, // 74: grpc.service.webservice.WebService.CancelDeployment:input_type -> grpc.service.webservice.CancelDeploymentRequest + 50, // 75: grpc.service.webservice.WebService.SkipStage:input_type -> grpc.service.webservice.SkipStageRequest + 52, // 76: grpc.service.webservice.WebService.ApproveStage:input_type -> grpc.service.webservice.ApproveStageRequest + 54, // 77: grpc.service.webservice.WebService.GetApplicationLiveState:input_type -> grpc.service.webservice.GetApplicationLiveStateRequest + 56, // 78: grpc.service.webservice.WebService.GetProject:input_type -> grpc.service.webservice.GetProjectRequest + 58, // 79: grpc.service.webservice.WebService.UpdateProjectStaticAdmin:input_type -> grpc.service.webservice.UpdateProjectStaticAdminRequest + 64, // 80: grpc.service.webservice.WebService.EnableStaticAdmin:input_type -> grpc.service.webservice.EnableStaticAdminRequest + 66, // 81: grpc.service.webservice.WebService.DisableStaticAdmin:input_type -> grpc.service.webservice.DisableStaticAdminRequest + 60, // 82: grpc.service.webservice.WebService.UpdateProjectSSOConfig:input_type -> grpc.service.webservice.UpdateProjectSSOConfigRequest + 62, // 83: grpc.service.webservice.WebService.UpdateProjectRBACConfig:input_type -> grpc.service.webservice.UpdateProjectRBACConfigRequest + 68, // 84: grpc.service.webservice.WebService.GetMe:input_type -> grpc.service.webservice.GetMeRequest + 70, // 85: grpc.service.webservice.WebService.ListProjectRBACRoles:input_type -> grpc.service.webservice.ListProjectRBACRolesRequest + 72, // 86: grpc.service.webservice.WebService.AddProjectRBACRole:input_type -> grpc.service.webservice.AddProjectRBACRoleRequest + 74, // 87: grpc.service.webservice.WebService.UpdateProjectRBACRole:input_type -> grpc.service.webservice.UpdateProjectRBACRoleRequest + 76, // 88: grpc.service.webservice.WebService.DeleteProjectRBACRole:input_type -> grpc.service.webservice.DeleteProjectRBACRoleRequest + 78, // 89: grpc.service.webservice.WebService.ListProjectUserGroups:input_type -> grpc.service.webservice.ListProjectUserGroupsRequest + 80, // 90: grpc.service.webservice.WebService.AddProjectUserGroup:input_type -> grpc.service.webservice.AddProjectUserGroupRequest + 82, // 91: grpc.service.webservice.WebService.DeleteProjectUserGroup:input_type -> grpc.service.webservice.DeleteProjectUserGroupRequest + 84, // 92: grpc.service.webservice.WebService.GetCommand:input_type -> grpc.service.webservice.GetCommandRequest + 86, // 93: grpc.service.webservice.WebService.GenerateAPIKey:input_type -> grpc.service.webservice.GenerateAPIKeyRequest + 88, // 94: grpc.service.webservice.WebService.DisableAPIKey:input_type -> grpc.service.webservice.DisableAPIKeyRequest + 90, // 95: grpc.service.webservice.WebService.ListAPIKeys:input_type -> grpc.service.webservice.ListAPIKeysRequest + 92, // 96: grpc.service.webservice.WebService.GetInsightData:input_type -> grpc.service.webservice.GetInsightDataRequest + 94, // 97: grpc.service.webservice.WebService.GetInsightApplicationCount:input_type -> grpc.service.webservice.GetInsightApplicationCountRequest + 96, // 98: grpc.service.webservice.WebService.ListDeploymentChains:input_type -> grpc.service.webservice.ListDeploymentChainsRequest + 98, // 99: grpc.service.webservice.WebService.GetDeploymentChain:input_type -> grpc.service.webservice.GetDeploymentChainRequest + 100, // 100: grpc.service.webservice.WebService.ListEvents:input_type -> grpc.service.webservice.ListEventsRequest + 1, // 101: grpc.service.webservice.WebService.RegisterPiped:output_type -> grpc.service.webservice.RegisterPipedResponse + 3, // 102: grpc.service.webservice.WebService.UpdatePiped:output_type -> grpc.service.webservice.UpdatePipedResponse + 5, // 103: grpc.service.webservice.WebService.RecreatePipedKey:output_type -> grpc.service.webservice.RecreatePipedKeyResponse + 7, // 104: grpc.service.webservice.WebService.DeleteOldPipedKeys:output_type -> grpc.service.webservice.DeleteOldPipedKeysResponse + 9, // 105: grpc.service.webservice.WebService.EnablePiped:output_type -> grpc.service.webservice.EnablePipedResponse + 11, // 106: grpc.service.webservice.WebService.DisablePiped:output_type -> grpc.service.webservice.DisablePipedResponse + 13, // 107: grpc.service.webservice.WebService.ListPipeds:output_type -> grpc.service.webservice.ListPipedsResponse + 15, // 108: grpc.service.webservice.WebService.GetPiped:output_type -> grpc.service.webservice.GetPipedResponse + 17, // 109: grpc.service.webservice.WebService.UpdatePipedDesiredVersion:output_type -> grpc.service.webservice.UpdatePipedDesiredVersionResponse + 19, // 110: grpc.service.webservice.WebService.RestartPiped:output_type -> grpc.service.webservice.RestartPipedResponse + 21, // 111: grpc.service.webservice.WebService.ListReleasedVersions:output_type -> grpc.service.webservice.ListReleasedVersionsResponse + 23, // 112: grpc.service.webservice.WebService.AddApplication:output_type -> grpc.service.webservice.AddApplicationResponse + 25, // 113: grpc.service.webservice.WebService.UpdateApplication:output_type -> grpc.service.webservice.UpdateApplicationResponse + 27, // 114: grpc.service.webservice.WebService.EnableApplication:output_type -> grpc.service.webservice.EnableApplicationResponse + 29, // 115: grpc.service.webservice.WebService.DisableApplication:output_type -> grpc.service.webservice.DisableApplicationResponse + 31, // 116: grpc.service.webservice.WebService.DeleteApplication:output_type -> grpc.service.webservice.DeleteApplicationResponse + 33, // 117: grpc.service.webservice.WebService.ListApplications:output_type -> grpc.service.webservice.ListApplicationsResponse + 35, // 118: grpc.service.webservice.WebService.SyncApplication:output_type -> grpc.service.webservice.SyncApplicationResponse + 37, // 119: grpc.service.webservice.WebService.GetApplication:output_type -> grpc.service.webservice.GetApplicationResponse + 39, // 120: grpc.service.webservice.WebService.GenerateApplicationSealedSecret:output_type -> grpc.service.webservice.GenerateApplicationSealedSecretResponse + 41, // 121: grpc.service.webservice.WebService.ListUnregisteredApplications:output_type -> grpc.service.webservice.ListUnregisteredApplicationsResponse + 43, // 122: grpc.service.webservice.WebService.ListDeployments:output_type -> grpc.service.webservice.ListDeploymentsResponse + 45, // 123: grpc.service.webservice.WebService.GetDeployment:output_type -> grpc.service.webservice.GetDeploymentResponse + 47, // 124: grpc.service.webservice.WebService.GetStageLog:output_type -> grpc.service.webservice.GetStageLogResponse + 49, // 125: grpc.service.webservice.WebService.CancelDeployment:output_type -> grpc.service.webservice.CancelDeploymentResponse + 51, // 126: grpc.service.webservice.WebService.SkipStage:output_type -> grpc.service.webservice.SkipStageResponse + 53, // 127: grpc.service.webservice.WebService.ApproveStage:output_type -> grpc.service.webservice.ApproveStageResponse + 55, // 128: grpc.service.webservice.WebService.GetApplicationLiveState:output_type -> grpc.service.webservice.GetApplicationLiveStateResponse + 57, // 129: grpc.service.webservice.WebService.GetProject:output_type -> grpc.service.webservice.GetProjectResponse + 59, // 130: grpc.service.webservice.WebService.UpdateProjectStaticAdmin:output_type -> grpc.service.webservice.UpdateProjectStaticAdminResponse + 65, // 131: grpc.service.webservice.WebService.EnableStaticAdmin:output_type -> grpc.service.webservice.EnableStaticAdminResponse + 67, // 132: grpc.service.webservice.WebService.DisableStaticAdmin:output_type -> grpc.service.webservice.DisableStaticAdminResponse + 61, // 133: grpc.service.webservice.WebService.UpdateProjectSSOConfig:output_type -> grpc.service.webservice.UpdateProjectSSOConfigResponse + 63, // 134: grpc.service.webservice.WebService.UpdateProjectRBACConfig:output_type -> grpc.service.webservice.UpdateProjectRBACConfigResponse + 69, // 135: grpc.service.webservice.WebService.GetMe:output_type -> grpc.service.webservice.GetMeResponse + 71, // 136: grpc.service.webservice.WebService.ListProjectRBACRoles:output_type -> grpc.service.webservice.ListProjectRBACRolesResponse + 73, // 137: grpc.service.webservice.WebService.AddProjectRBACRole:output_type -> grpc.service.webservice.AddProjectRBACRoleResponse + 75, // 138: grpc.service.webservice.WebService.UpdateProjectRBACRole:output_type -> grpc.service.webservice.UpdateProjectRBACRoleResponse + 77, // 139: grpc.service.webservice.WebService.DeleteProjectRBACRole:output_type -> grpc.service.webservice.DeleteProjectRBACRoleResponse + 79, // 140: grpc.service.webservice.WebService.ListProjectUserGroups:output_type -> grpc.service.webservice.ListProjectUserGroupsResponses + 81, // 141: grpc.service.webservice.WebService.AddProjectUserGroup:output_type -> grpc.service.webservice.AddProjectUserGroupResponse + 83, // 142: grpc.service.webservice.WebService.DeleteProjectUserGroup:output_type -> grpc.service.webservice.DeleteProjectUserGroupResponse + 85, // 143: grpc.service.webservice.WebService.GetCommand:output_type -> grpc.service.webservice.GetCommandResponse + 87, // 144: grpc.service.webservice.WebService.GenerateAPIKey:output_type -> grpc.service.webservice.GenerateAPIKeyResponse + 89, // 145: grpc.service.webservice.WebService.DisableAPIKey:output_type -> grpc.service.webservice.DisableAPIKeyResponse + 91, // 146: grpc.service.webservice.WebService.ListAPIKeys:output_type -> grpc.service.webservice.ListAPIKeysResponse + 93, // 147: grpc.service.webservice.WebService.GetInsightData:output_type -> grpc.service.webservice.GetInsightDataResponse + 95, // 148: grpc.service.webservice.WebService.GetInsightApplicationCount:output_type -> grpc.service.webservice.GetInsightApplicationCountResponse + 97, // 149: grpc.service.webservice.WebService.ListDeploymentChains:output_type -> grpc.service.webservice.ListDeploymentChainsResponse + 99, // 150: grpc.service.webservice.WebService.GetDeploymentChain:output_type -> grpc.service.webservice.GetDeploymentChainResponse + 101, // 151: grpc.service.webservice.WebService.ListEvents:output_type -> grpc.service.webservice.ListEventsResponse + 101, // [101:152] is the sub-list for method output_type + 50, // [50:101] is the sub-list for method input_type 50, // [50:50] is the sub-list for extension type_name 50, // [50:50] is the sub-list for extension extendee 0, // [0:50] is the sub-list for field type_name @@ -6886,7 +6990,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddApplicationRequest); i { + switch v := v.(*ListReleasedVersionsRequest); i { case 0: return &v.state case 1: @@ -6898,7 +7002,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddApplicationResponse); i { + switch v := v.(*ListReleasedVersionsResponse); i { case 0: return &v.state case 1: @@ -6910,7 +7014,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateApplicationRequest); i { + switch v := v.(*AddApplicationRequest); i { case 0: return &v.state case 1: @@ -6922,7 +7026,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateApplicationResponse); i { + switch v := v.(*AddApplicationResponse); i { case 0: return &v.state case 1: @@ -6934,7 +7038,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableApplicationRequest); i { + switch v := v.(*UpdateApplicationRequest); i { case 0: return &v.state case 1: @@ -6946,7 +7050,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableApplicationResponse); i { + switch v := v.(*UpdateApplicationResponse); i { case 0: return &v.state case 1: @@ -6958,7 +7062,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableApplicationRequest); i { + switch v := v.(*EnableApplicationRequest); i { case 0: return &v.state case 1: @@ -6970,7 +7074,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableApplicationResponse); i { + switch v := v.(*EnableApplicationResponse); i { case 0: return &v.state case 1: @@ -6982,7 +7086,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteApplicationRequest); i { + switch v := v.(*DisableApplicationRequest); i { case 0: return &v.state case 1: @@ -6994,7 +7098,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteApplicationResponse); i { + switch v := v.(*DisableApplicationResponse); i { case 0: return &v.state case 1: @@ -7006,7 +7110,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApplicationsRequest); i { + switch v := v.(*DeleteApplicationRequest); i { case 0: return &v.state case 1: @@ -7018,7 +7122,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApplicationsResponse); i { + switch v := v.(*DeleteApplicationResponse); i { case 0: return &v.state case 1: @@ -7030,7 +7134,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncApplicationRequest); i { + switch v := v.(*ListApplicationsRequest); i { case 0: return &v.state case 1: @@ -7042,7 +7146,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncApplicationResponse); i { + switch v := v.(*ListApplicationsResponse); i { case 0: return &v.state case 1: @@ -7054,7 +7158,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationRequest); i { + switch v := v.(*SyncApplicationRequest); i { case 0: return &v.state case 1: @@ -7066,7 +7170,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationResponse); i { + switch v := v.(*SyncApplicationResponse); i { case 0: return &v.state case 1: @@ -7078,7 +7182,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateApplicationSealedSecretRequest); i { + switch v := v.(*GetApplicationRequest); i { case 0: return &v.state case 1: @@ -7090,7 +7194,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateApplicationSealedSecretResponse); i { + switch v := v.(*GetApplicationResponse); i { case 0: return &v.state case 1: @@ -7102,7 +7206,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUnregisteredApplicationsRequest); i { + switch v := v.(*GenerateApplicationSealedSecretRequest); i { case 0: return &v.state case 1: @@ -7114,7 +7218,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUnregisteredApplicationsResponse); i { + switch v := v.(*GenerateApplicationSealedSecretResponse); i { case 0: return &v.state case 1: @@ -7126,7 +7230,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentsRequest); i { + switch v := v.(*ListUnregisteredApplicationsRequest); i { case 0: return &v.state case 1: @@ -7138,7 +7242,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentsResponse); i { + switch v := v.(*ListUnregisteredApplicationsResponse); i { case 0: return &v.state case 1: @@ -7150,7 +7254,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentRequest); i { + switch v := v.(*ListDeploymentsRequest); i { case 0: return &v.state case 1: @@ -7162,7 +7266,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentResponse); i { + switch v := v.(*ListDeploymentsResponse); i { case 0: return &v.state case 1: @@ -7174,7 +7278,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStageLogRequest); i { + switch v := v.(*GetDeploymentRequest); i { case 0: return &v.state case 1: @@ -7186,7 +7290,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStageLogResponse); i { + switch v := v.(*GetDeploymentResponse); i { case 0: return &v.state case 1: @@ -7198,7 +7302,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelDeploymentRequest); i { + switch v := v.(*GetStageLogRequest); i { case 0: return &v.state case 1: @@ -7210,7 +7314,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelDeploymentResponse); i { + switch v := v.(*GetStageLogResponse); i { case 0: return &v.state case 1: @@ -7222,7 +7326,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkipStageRequest); i { + switch v := v.(*CancelDeploymentRequest); i { case 0: return &v.state case 1: @@ -7234,7 +7338,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SkipStageResponse); i { + switch v := v.(*CancelDeploymentResponse); i { case 0: return &v.state case 1: @@ -7246,7 +7350,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApproveStageRequest); i { + switch v := v.(*SkipStageRequest); i { case 0: return &v.state case 1: @@ -7258,7 +7362,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApproveStageResponse); i { + switch v := v.(*SkipStageResponse); i { case 0: return &v.state case 1: @@ -7270,7 +7374,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationLiveStateRequest); i { + switch v := v.(*ApproveStageRequest); i { case 0: return &v.state case 1: @@ -7282,7 +7386,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetApplicationLiveStateResponse); i { + switch v := v.(*ApproveStageResponse); i { case 0: return &v.state case 1: @@ -7294,7 +7398,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetProjectRequest); i { + switch v := v.(*GetApplicationLiveStateRequest); i { case 0: return &v.state case 1: @@ -7306,7 +7410,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetProjectResponse); i { + switch v := v.(*GetApplicationLiveStateResponse); i { case 0: return &v.state case 1: @@ -7318,7 +7422,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectStaticAdminRequest); i { + switch v := v.(*GetProjectRequest); i { case 0: return &v.state case 1: @@ -7330,7 +7434,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectStaticAdminResponse); i { + switch v := v.(*GetProjectResponse); i { case 0: return &v.state case 1: @@ -7342,7 +7446,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectSSOConfigRequest); i { + switch v := v.(*UpdateProjectStaticAdminRequest); i { case 0: return &v.state case 1: @@ -7354,7 +7458,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectSSOConfigResponse); i { + switch v := v.(*UpdateProjectStaticAdminResponse); i { case 0: return &v.state case 1: @@ -7366,7 +7470,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectRBACConfigRequest); i { + switch v := v.(*UpdateProjectSSOConfigRequest); i { case 0: return &v.state case 1: @@ -7378,7 +7482,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectRBACConfigResponse); i { + switch v := v.(*UpdateProjectSSOConfigResponse); i { case 0: return &v.state case 1: @@ -7390,7 +7494,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableStaticAdminRequest); i { + switch v := v.(*UpdateProjectRBACConfigRequest); i { case 0: return &v.state case 1: @@ -7402,7 +7506,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableStaticAdminResponse); i { + switch v := v.(*UpdateProjectRBACConfigResponse); i { case 0: return &v.state case 1: @@ -7414,7 +7518,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableStaticAdminRequest); i { + switch v := v.(*EnableStaticAdminRequest); i { case 0: return &v.state case 1: @@ -7426,7 +7530,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableStaticAdminResponse); i { + switch v := v.(*EnableStaticAdminResponse); i { case 0: return &v.state case 1: @@ -7438,7 +7542,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMeRequest); i { + switch v := v.(*DisableStaticAdminRequest); i { case 0: return &v.state case 1: @@ -7450,7 +7554,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMeResponse); i { + switch v := v.(*DisableStaticAdminResponse); i { case 0: return &v.state case 1: @@ -7462,7 +7566,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectRBACRolesRequest); i { + switch v := v.(*GetMeRequest); i { case 0: return &v.state case 1: @@ -7474,7 +7578,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectRBACRolesResponse); i { + switch v := v.(*GetMeResponse); i { case 0: return &v.state case 1: @@ -7486,7 +7590,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddProjectRBACRoleRequest); i { + switch v := v.(*ListProjectRBACRolesRequest); i { case 0: return &v.state case 1: @@ -7498,7 +7602,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddProjectRBACRoleResponse); i { + switch v := v.(*ListProjectRBACRolesResponse); i { case 0: return &v.state case 1: @@ -7510,7 +7614,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectRBACRoleRequest); i { + switch v := v.(*AddProjectRBACRoleRequest); i { case 0: return &v.state case 1: @@ -7522,7 +7626,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProjectRBACRoleResponse); i { + switch v := v.(*AddProjectRBACRoleResponse); i { case 0: return &v.state case 1: @@ -7534,7 +7638,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectRBACRoleRequest); i { + switch v := v.(*UpdateProjectRBACRoleRequest); i { case 0: return &v.state case 1: @@ -7546,7 +7650,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectRBACRoleResponse); i { + switch v := v.(*UpdateProjectRBACRoleResponse); i { case 0: return &v.state case 1: @@ -7558,7 +7662,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectUserGroupsRequest); i { + switch v := v.(*DeleteProjectRBACRoleRequest); i { case 0: return &v.state case 1: @@ -7570,7 +7674,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProjectUserGroupsResponses); i { + switch v := v.(*DeleteProjectRBACRoleResponse); i { case 0: return &v.state case 1: @@ -7582,7 +7686,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddProjectUserGroupRequest); i { + switch v := v.(*ListProjectUserGroupsRequest); i { case 0: return &v.state case 1: @@ -7594,7 +7698,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddProjectUserGroupResponse); i { + switch v := v.(*ListProjectUserGroupsResponses); i { case 0: return &v.state case 1: @@ -7606,7 +7710,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectUserGroupRequest); i { + switch v := v.(*AddProjectUserGroupRequest); i { case 0: return &v.state case 1: @@ -7618,7 +7722,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProjectUserGroupResponse); i { + switch v := v.(*AddProjectUserGroupResponse); i { case 0: return &v.state case 1: @@ -7630,7 +7734,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCommandRequest); i { + switch v := v.(*DeleteProjectUserGroupRequest); i { case 0: return &v.state case 1: @@ -7642,7 +7746,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCommandResponse); i { + switch v := v.(*DeleteProjectUserGroupResponse); i { case 0: return &v.state case 1: @@ -7654,7 +7758,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateAPIKeyRequest); i { + switch v := v.(*GetCommandRequest); i { case 0: return &v.state case 1: @@ -7666,7 +7770,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenerateAPIKeyResponse); i { + switch v := v.(*GetCommandResponse); i { case 0: return &v.state case 1: @@ -7678,7 +7782,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableAPIKeyRequest); i { + switch v := v.(*GenerateAPIKeyRequest); i { case 0: return &v.state case 1: @@ -7690,7 +7794,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableAPIKeyResponse); i { + switch v := v.(*GenerateAPIKeyResponse); i { case 0: return &v.state case 1: @@ -7702,7 +7806,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAPIKeysRequest); i { + switch v := v.(*DisableAPIKeyRequest); i { case 0: return &v.state case 1: @@ -7714,7 +7818,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAPIKeysResponse); i { + switch v := v.(*DisableAPIKeyResponse); i { case 0: return &v.state case 1: @@ -7726,7 +7830,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInsightDataRequest); i { + switch v := v.(*ListAPIKeysRequest); i { case 0: return &v.state case 1: @@ -7738,7 +7842,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInsightDataResponse); i { + switch v := v.(*ListAPIKeysResponse); i { case 0: return &v.state case 1: @@ -7750,7 +7854,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInsightApplicationCountRequest); i { + switch v := v.(*GetInsightDataRequest); i { case 0: return &v.state case 1: @@ -7762,7 +7866,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInsightApplicationCountResponse); i { + switch v := v.(*GetInsightDataResponse); i { case 0: return &v.state case 1: @@ -7774,7 +7878,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentChainsRequest); i { + switch v := v.(*GetInsightApplicationCountRequest); i { case 0: return &v.state case 1: @@ -7786,7 +7890,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentChainsResponse); i { + switch v := v.(*GetInsightApplicationCountResponse); i { case 0: return &v.state case 1: @@ -7798,7 +7902,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentChainRequest); i { + switch v := v.(*ListDeploymentChainsRequest); i { case 0: return &v.state case 1: @@ -7810,7 +7914,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDeploymentChainResponse); i { + switch v := v.(*ListDeploymentChainsResponse); i { case 0: return &v.state case 1: @@ -7822,7 +7926,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEventsRequest); i { + switch v := v.(*GetDeploymentChainRequest); i { case 0: return &v.state case 1: @@ -7834,7 +7938,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEventsResponse); i { + switch v := v.(*GetDeploymentChainResponse); i { case 0: return &v.state case 1: @@ -7846,7 +7950,19 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPipedsRequest_Options); i { + switch v := v.(*ListEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_app_server_service_webservice_service_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEventsResponse); i { case 0: return &v.state case 1: @@ -7858,7 +7974,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApplicationsRequest_Options); i { + switch v := v.(*ListPipedsRequest_Options); i { case 0: return &v.state case 1: @@ -7870,7 +7986,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDeploymentsRequest_Options); i { + switch v := v.(*ListApplicationsRequest_Options); i { case 0: return &v.state case 1: @@ -7882,6 +7998,18 @@ func file_pkg_app_server_service_webservice_service_proto_init() { } } file_pkg_app_server_service_webservice_service_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentsRequest_Options); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_app_server_service_webservice_service_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAPIKeysRequest_Options); i { case 0: return &v.state @@ -7893,7 +8021,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { return nil } } - file_pkg_app_server_service_webservice_service_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + file_pkg_app_server_service_webservice_service_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListDeploymentChainsRequest_Options); i { case 0: return &v.state @@ -7905,7 +8033,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { return nil } } - file_pkg_app_server_service_webservice_service_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + file_pkg_app_server_service_webservice_service_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListEventsRequest_Options); i { case 0: return &v.state @@ -7924,7 +8052,7 @@ func file_pkg_app_server_service_webservice_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_app_server_service_webservice_service_proto_rawDesc, NumEnums: 0, - NumMessages: 110, + NumMessages: 112, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/app/server/service/webservice/service.pb.validate.go b/pkg/app/server/service/webservice/service.pb.validate.go index e34b8670a6..8cc9c7c3e6 100644 --- a/pkg/app/server/service/webservice/service.pb.validate.go +++ b/pkg/app/server/service/webservice/service.pb.validate.go @@ -2290,6 +2290,212 @@ var _ interface { ErrorName() string } = RestartPipedResponseValidationError{} +// Validate checks the field values on ListReleasedVersionsRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ListReleasedVersionsRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ListReleasedVersionsRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ListReleasedVersionsRequestMultiError, or nil if none found. +func (m *ListReleasedVersionsRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *ListReleasedVersionsRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return ListReleasedVersionsRequestMultiError(errors) + } + + return nil +} + +// ListReleasedVersionsRequestMultiError is an error wrapping multiple +// validation errors returned by ListReleasedVersionsRequest.ValidateAll() if +// the designated constraints aren't met. +type ListReleasedVersionsRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ListReleasedVersionsRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ListReleasedVersionsRequestMultiError) AllErrors() []error { return m } + +// ListReleasedVersionsRequestValidationError is the validation error returned +// by ListReleasedVersionsRequest.Validate if the designated constraints +// aren't met. +type ListReleasedVersionsRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ListReleasedVersionsRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ListReleasedVersionsRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ListReleasedVersionsRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ListReleasedVersionsRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ListReleasedVersionsRequestValidationError) ErrorName() string { + return "ListReleasedVersionsRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e ListReleasedVersionsRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sListReleasedVersionsRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ListReleasedVersionsRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ListReleasedVersionsRequestValidationError{} + +// Validate checks the field values on ListReleasedVersionsResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ListReleasedVersionsResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ListReleasedVersionsResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ListReleasedVersionsResponseMultiError, or nil if none found. +func (m *ListReleasedVersionsResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *ListReleasedVersionsResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return ListReleasedVersionsResponseMultiError(errors) + } + + return nil +} + +// ListReleasedVersionsResponseMultiError is an error wrapping multiple +// validation errors returned by ListReleasedVersionsResponse.ValidateAll() if +// the designated constraints aren't met. +type ListReleasedVersionsResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ListReleasedVersionsResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ListReleasedVersionsResponseMultiError) AllErrors() []error { return m } + +// ListReleasedVersionsResponseValidationError is the validation error returned +// by ListReleasedVersionsResponse.Validate if the designated constraints +// aren't met. +type ListReleasedVersionsResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ListReleasedVersionsResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ListReleasedVersionsResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ListReleasedVersionsResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ListReleasedVersionsResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ListReleasedVersionsResponseValidationError) ErrorName() string { + return "ListReleasedVersionsResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e ListReleasedVersionsResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sListReleasedVersionsResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ListReleasedVersionsResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ListReleasedVersionsResponseValidationError{} + // Validate checks the field values on AddApplicationRequest with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. diff --git a/pkg/app/server/service/webservice/service.proto b/pkg/app/server/service/webservice/service.proto index 71722f06e2..4f8b6d310f 100644 --- a/pkg/app/server/service/webservice/service.proto +++ b/pkg/app/server/service/webservice/service.proto @@ -68,6 +68,9 @@ service WebService { rpc RestartPiped(RestartPipedRequest) returns (RestartPipedResponse) { option (model.role).project_role = ADMIN; } + rpc ListReleasedVersions(ListReleasedVersionsRequest) returns (ListReleasedVersionsResponse) { + option (model.role).project_role = VIEWER; + } // Application rpc AddApplication(AddApplicationRequest) returns (AddApplicationResponse) { @@ -279,6 +282,13 @@ message RestartPipedResponse { string command_id = 1; } +message ListReleasedVersionsRequest { +} + +message ListReleasedVersionsResponse { + repeated string versions = 1; +} + message AddApplicationRequest { reserved 2; diff --git a/pkg/app/server/service/webservice/service_grpc.pb.go b/pkg/app/server/service/webservice/service_grpc.pb.go index 497bf24e30..729c1754f2 100644 --- a/pkg/app/server/service/webservice/service_grpc.pb.go +++ b/pkg/app/server/service/webservice/service_grpc.pb.go @@ -33,6 +33,7 @@ type WebServiceClient interface { GetPiped(ctx context.Context, in *GetPipedRequest, opts ...grpc.CallOption) (*GetPipedResponse, error) UpdatePipedDesiredVersion(ctx context.Context, in *UpdatePipedDesiredVersionRequest, opts ...grpc.CallOption) (*UpdatePipedDesiredVersionResponse, error) RestartPiped(ctx context.Context, in *RestartPipedRequest, opts ...grpc.CallOption) (*RestartPipedResponse, error) + ListReleasedVersions(ctx context.Context, in *ListReleasedVersionsRequest, opts ...grpc.CallOption) (*ListReleasedVersionsResponse, error) // Application AddApplication(ctx context.Context, in *AddApplicationRequest, opts ...grpc.CallOption) (*AddApplicationResponse, error) UpdateApplication(ctx context.Context, in *UpdateApplicationRequest, opts ...grpc.CallOption) (*UpdateApplicationResponse, error) @@ -182,6 +183,15 @@ func (c *webServiceClient) RestartPiped(ctx context.Context, in *RestartPipedReq return out, nil } +func (c *webServiceClient) ListReleasedVersions(ctx context.Context, in *ListReleasedVersionsRequest, opts ...grpc.CallOption) (*ListReleasedVersionsResponse, error) { + out := new(ListReleasedVersionsResponse) + err := c.cc.Invoke(ctx, "/grpc.service.webservice.WebService/ListReleasedVersions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *webServiceClient) AddApplication(ctx context.Context, in *AddApplicationRequest, opts ...grpc.CallOption) (*AddApplicationResponse, error) { out := new(AddApplicationResponse) err := c.cc.Invoke(ctx, "/grpc.service.webservice.WebService/AddApplication", in, out, opts...) @@ -557,6 +567,7 @@ type WebServiceServer interface { GetPiped(context.Context, *GetPipedRequest) (*GetPipedResponse, error) UpdatePipedDesiredVersion(context.Context, *UpdatePipedDesiredVersionRequest) (*UpdatePipedDesiredVersionResponse, error) RestartPiped(context.Context, *RestartPipedRequest) (*RestartPipedResponse, error) + ListReleasedVersions(context.Context, *ListReleasedVersionsRequest) (*ListReleasedVersionsResponse, error) // Application AddApplication(context.Context, *AddApplicationRequest) (*AddApplicationResponse, error) UpdateApplication(context.Context, *UpdateApplicationRequest) (*UpdateApplicationResponse, error) @@ -643,6 +654,9 @@ func (UnimplementedWebServiceServer) UpdatePipedDesiredVersion(context.Context, func (UnimplementedWebServiceServer) RestartPiped(context.Context, *RestartPipedRequest) (*RestartPipedResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RestartPiped not implemented") } +func (UnimplementedWebServiceServer) ListReleasedVersions(context.Context, *ListReleasedVersionsRequest) (*ListReleasedVersionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListReleasedVersions not implemented") +} func (UnimplementedWebServiceServer) AddApplication(context.Context, *AddApplicationRequest) (*AddApplicationResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AddApplication not implemented") } @@ -956,6 +970,24 @@ func _WebService_RestartPiped_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _WebService_ListReleasedVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListReleasedVersionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WebServiceServer).ListReleasedVersions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpc.service.webservice.WebService/ListReleasedVersions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WebServiceServer).ListReleasedVersions(ctx, req.(*ListReleasedVersionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _WebService_AddApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddApplicationRequest) if err := dec(in); err != nil { @@ -1723,6 +1755,10 @@ var WebService_ServiceDesc = grpc.ServiceDesc{ MethodName: "RestartPiped", Handler: _WebService_RestartPiped_Handler, }, + { + MethodName: "ListReleasedVersions", + Handler: _WebService_ListReleasedVersions_Handler, + }, { MethodName: "AddApplication", Handler: _WebService_AddApplication_Handler, diff --git a/web/api_client/service_grpc_web_pb.d.ts b/web/api_client/service_grpc_web_pb.d.ts index b0e1a1bb5d..3491d5a33f 100644 --- a/web/api_client/service_grpc_web_pb.d.ts +++ b/web/api_client/service_grpc_web_pb.d.ts @@ -78,6 +78,13 @@ export class WebServiceClient { response: pkg_app_server_service_webservice_service_pb.RestartPipedResponse) => void ): grpcWeb.ClientReadableStream; + listReleasedVersions( + request: pkg_app_server_service_webservice_service_pb.ListReleasedVersionsRequest, + metadata: grpcWeb.Metadata | undefined, + callback: (err: grpcWeb.RpcError, + response: pkg_app_server_service_webservice_service_pb.ListReleasedVersionsResponse) => void + ): grpcWeb.ClientReadableStream; + addApplication( request: pkg_app_server_service_webservice_service_pb.AddApplicationRequest, metadata: grpcWeb.Metadata | undefined, @@ -415,6 +422,11 @@ export class WebServicePromiseClient { metadata?: grpcWeb.Metadata ): Promise; + listReleasedVersions( + request: pkg_app_server_service_webservice_service_pb.ListReleasedVersionsRequest, + metadata?: grpcWeb.Metadata + ): Promise; + addApplication( request: pkg_app_server_service_webservice_service_pb.AddApplicationRequest, metadata?: grpcWeb.Metadata diff --git a/web/api_client/service_grpc_web_pb.js b/web/api_client/service_grpc_web_pb.js index 2bd78eabf5..68561e7f17 100644 --- a/web/api_client/service_grpc_web_pb.js +++ b/web/api_client/service_grpc_web_pb.js @@ -714,6 +714,67 @@ proto.grpc.service.webservice.WebServicePromiseClient.prototype.restartPiped = }; +/** + * @const + * @type {!grpc.web.MethodDescriptor< + * !proto.grpc.service.webservice.ListReleasedVersionsRequest, + * !proto.grpc.service.webservice.ListReleasedVersionsResponse>} + */ +const methodDescriptor_WebService_ListReleasedVersions = new grpc.web.MethodDescriptor( + '/grpc.service.webservice.WebService/ListReleasedVersions', + grpc.web.MethodType.UNARY, + proto.grpc.service.webservice.ListReleasedVersionsRequest, + proto.grpc.service.webservice.ListReleasedVersionsResponse, + /** + * @param {!proto.grpc.service.webservice.ListReleasedVersionsRequest} request + * @return {!Uint8Array} + */ + function(request) { + return request.serializeBinary(); + }, + proto.grpc.service.webservice.ListReleasedVersionsResponse.deserializeBinary +); + + +/** + * @param {!proto.grpc.service.webservice.ListReleasedVersionsRequest} request The + * request proto + * @param {?Object} metadata User defined + * call metadata + * @param {function(?grpc.web.RpcError, ?proto.grpc.service.webservice.ListReleasedVersionsResponse)} + * callback The callback function(error, response) + * @return {!grpc.web.ClientReadableStream|undefined} + * The XHR Node Readable Stream + */ +proto.grpc.service.webservice.WebServiceClient.prototype.listReleasedVersions = + function(request, metadata, callback) { + return this.client_.rpcCall(this.hostname_ + + '/grpc.service.webservice.WebService/ListReleasedVersions', + request, + metadata || {}, + methodDescriptor_WebService_ListReleasedVersions, + callback); +}; + + +/** + * @param {!proto.grpc.service.webservice.ListReleasedVersionsRequest} request The + * request proto + * @param {?Object=} metadata User defined + * call metadata + * @return {!Promise} + * Promise that resolves to the response + */ +proto.grpc.service.webservice.WebServicePromiseClient.prototype.listReleasedVersions = + function(request, metadata) { + return this.client_.unaryCall(this.hostname_ + + '/grpc.service.webservice.WebService/ListReleasedVersions', + request, + metadata || {}, + methodDescriptor_WebService_ListReleasedVersions); +}; + + /** * @const * @type {!grpc.web.MethodDescriptor< diff --git a/web/api_client/service_pb.d.ts b/web/api_client/service_pb.d.ts index e4eda07338..da47fc949d 100644 --- a/web/api_client/service_pb.d.ts +++ b/web/api_client/service_pb.d.ts @@ -411,6 +411,40 @@ export namespace RestartPipedResponse { } } +export class ListReleasedVersionsRequest extends jspb.Message { + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ListReleasedVersionsRequest.AsObject; + static toObject(includeInstance: boolean, msg: ListReleasedVersionsRequest): ListReleasedVersionsRequest.AsObject; + static serializeBinaryToWriter(message: ListReleasedVersionsRequest, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ListReleasedVersionsRequest; + static deserializeBinaryFromReader(message: ListReleasedVersionsRequest, reader: jspb.BinaryReader): ListReleasedVersionsRequest; +} + +export namespace ListReleasedVersionsRequest { + export type AsObject = { + } +} + +export class ListReleasedVersionsResponse extends jspb.Message { + getVersionsList(): Array; + setVersionsList(value: Array): ListReleasedVersionsResponse; + clearVersionsList(): ListReleasedVersionsResponse; + addVersions(value: string, index?: number): ListReleasedVersionsResponse; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ListReleasedVersionsResponse.AsObject; + static toObject(includeInstance: boolean, msg: ListReleasedVersionsResponse): ListReleasedVersionsResponse.AsObject; + static serializeBinaryToWriter(message: ListReleasedVersionsResponse, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ListReleasedVersionsResponse; + static deserializeBinaryFromReader(message: ListReleasedVersionsResponse, reader: jspb.BinaryReader): ListReleasedVersionsResponse; +} + +export namespace ListReleasedVersionsResponse { + export type AsObject = { + versionsList: Array, + } +} + export class AddApplicationRequest extends jspb.Message { getName(): string; setName(value: string): AddApplicationRequest; diff --git a/web/api_client/service_pb.js b/web/api_client/service_pb.js index 8e28ea4f77..ec821b6f9e 100644 --- a/web/api_client/service_pb.js +++ b/web/api_client/service_pb.js @@ -133,6 +133,8 @@ goog.exportSymbol('proto.grpc.service.webservice.ListProjectRBACRolesRequest', n goog.exportSymbol('proto.grpc.service.webservice.ListProjectRBACRolesResponse', null, global); goog.exportSymbol('proto.grpc.service.webservice.ListProjectUserGroupsRequest', null, global); goog.exportSymbol('proto.grpc.service.webservice.ListProjectUserGroupsResponses', null, global); +goog.exportSymbol('proto.grpc.service.webservice.ListReleasedVersionsRequest', null, global); +goog.exportSymbol('proto.grpc.service.webservice.ListReleasedVersionsResponse', null, global); goog.exportSymbol('proto.grpc.service.webservice.ListUnregisteredApplicationsRequest', null, global); goog.exportSymbol('proto.grpc.service.webservice.ListUnregisteredApplicationsResponse', null, global); goog.exportSymbol('proto.grpc.service.webservice.RecreatePipedKeyRequest', null, global); @@ -600,6 +602,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.grpc.service.webservice.RestartPipedResponse.displayName = 'proto.grpc.service.webservice.RestartPipedResponse'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.grpc.service.webservice.ListReleasedVersionsRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.grpc.service.webservice.ListReleasedVersionsRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.grpc.service.webservice.ListReleasedVersionsRequest.displayName = 'proto.grpc.service.webservice.ListReleasedVersionsRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, proto.grpc.service.webservice.ListReleasedVersionsResponse.repeatedFields_, null); +}; +goog.inherits(proto.grpc.service.webservice.ListReleasedVersionsResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.grpc.service.webservice.ListReleasedVersionsResponse.displayName = 'proto.grpc.service.webservice.ListReleasedVersionsResponse'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -5272,6 +5316,263 @@ proto.grpc.service.webservice.RestartPipedResponse.prototype.setCommandId = func +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.grpc.service.webservice.ListReleasedVersionsRequest.prototype.toObject = function(opt_includeInstance) { + return proto.grpc.service.webservice.ListReleasedVersionsRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.grpc.service.webservice.ListReleasedVersionsRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.grpc.service.webservice.ListReleasedVersionsRequest.toObject = function(includeInstance, msg) { + var f, obj = { + + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.grpc.service.webservice.ListReleasedVersionsRequest} + */ +proto.grpc.service.webservice.ListReleasedVersionsRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.grpc.service.webservice.ListReleasedVersionsRequest; + return proto.grpc.service.webservice.ListReleasedVersionsRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.grpc.service.webservice.ListReleasedVersionsRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.grpc.service.webservice.ListReleasedVersionsRequest} + */ +proto.grpc.service.webservice.ListReleasedVersionsRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.grpc.service.webservice.ListReleasedVersionsRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.grpc.service.webservice.ListReleasedVersionsRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.grpc.service.webservice.ListReleasedVersionsRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.grpc.service.webservice.ListReleasedVersionsRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; +}; + + + +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.repeatedFields_ = [1]; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.prototype.toObject = function(opt_includeInstance) { + return proto.grpc.service.webservice.ListReleasedVersionsResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.grpc.service.webservice.ListReleasedVersionsResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.toObject = function(includeInstance, msg) { + var f, obj = { + versionsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.grpc.service.webservice.ListReleasedVersionsResponse} + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.grpc.service.webservice.ListReleasedVersionsResponse; + return proto.grpc.service.webservice.ListReleasedVersionsResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.grpc.service.webservice.ListReleasedVersionsResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.grpc.service.webservice.ListReleasedVersionsResponse} + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.addVersions(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.grpc.service.webservice.ListReleasedVersionsResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.grpc.service.webservice.ListReleasedVersionsResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getVersionsList(); + if (f.length > 0) { + writer.writeRepeatedString( + 1, + f + ); + } +}; + + +/** + * repeated string versions = 1; + * @return {!Array} + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.prototype.getVersionsList = function() { + return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1)); +}; + + +/** + * @param {!Array} value + * @return {!proto.grpc.service.webservice.ListReleasedVersionsResponse} returns this + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.prototype.setVersionsList = function(value) { + return jspb.Message.setField(this, 1, value || []); +}; + + +/** + * @param {string} value + * @param {number=} opt_index + * @return {!proto.grpc.service.webservice.ListReleasedVersionsResponse} returns this + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.prototype.addVersions = function(value, opt_index) { + return jspb.Message.addToRepeatedField(this, 1, value, opt_index); +}; + + +/** + * Clears the list making it empty but non-null. + * @return {!proto.grpc.service.webservice.ListReleasedVersionsResponse} returns this + */ +proto.grpc.service.webservice.ListReleasedVersionsResponse.prototype.clearVersionsList = function() { + return this.setVersionsList([]); +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. diff --git a/web/src/api/piped.ts b/web/src/api/piped.ts index ea2ec66162..e8d7c90e55 100644 --- a/web/src/api/piped.ts +++ b/web/src/api/piped.ts @@ -18,6 +18,8 @@ import { DeleteOldPipedKeysResponse, UpdatePipedDesiredVersionRequest, UpdatePipedDesiredVersionResponse, + ListReleasedVersionsResponse, + ListReleasedVersionsRequest, } from "pipecd/web/api_client/service_pb"; export const getPipeds = ({ @@ -28,6 +30,13 @@ export const getPipeds = ({ return apiRequest(req, apiClient.listPipeds); }; +export const listReleasedVersions = (): Promise< + ListReleasedVersionsResponse.AsObject +> => { + const req = new ListReleasedVersionsRequest(); + return apiRequest(req, apiClient.listReleasedVersions); +}; + export const registerPiped = ({ name, desc, diff --git a/web/src/components/application-detail-page/application-detail/index.test.tsx b/web/src/components/application-detail-page/application-detail/index.test.tsx index 00672ec2c2..40c779345e 100644 --- a/web/src/components/application-detail-page/application-detail/index.test.tsx +++ b/web/src/components/application-detail-page/application-detail/index.test.tsx @@ -68,6 +68,7 @@ const baseState: Partial = { ids: [dummyPiped.id], registeredPiped: null, updating: false, + releasedVersions: [], }, }; diff --git a/web/src/components/applications-page/edit-application-drawer/index.test.tsx b/web/src/components/applications-page/edit-application-drawer/index.test.tsx index 53b2c8d6fc..f09af810e1 100644 --- a/web/src/components/applications-page/edit-application-drawer/index.test.tsx +++ b/web/src/components/applications-page/edit-application-drawer/index.test.tsx @@ -37,6 +37,7 @@ const initialState = { }, registeredPiped: null, updating: false, + releasedVersions: [], }, applications: { loading: false, diff --git a/web/src/components/deployments-detail-page/index.test.tsx b/web/src/components/deployments-detail-page/index.test.tsx index d4c8352865..2f72670233 100644 --- a/web/src/components/deployments-detail-page/index.test.tsx +++ b/web/src/components/deployments-detail-page/index.test.tsx @@ -25,6 +25,7 @@ describe("DeploymentDetailPage", () => { ids: [dummyPiped.id], registeredPiped: null, updating: false, + releasedVersions: [], }, }); diff --git a/web/src/components/settings-page/piped/components/upgrade-dialog/index.tsx b/web/src/components/settings-page/piped/components/upgrade-dialog/index.tsx index cc3c07c0eb..215e606556 100644 --- a/web/src/components/settings-page/piped/components/upgrade-dialog/index.tsx +++ b/web/src/components/settings-page/piped/components/upgrade-dialog/index.tsx @@ -13,8 +13,8 @@ import { TableCell, TableHead, TableRow, - TextField, Typography, + TextField, } from "@material-ui/core"; import { FC, memo, useCallback, useState, FormEvent } from "react"; import { UPGRADE_PIPEDS_SUCCESS } from "~/constants/toast-text"; @@ -23,15 +23,17 @@ import { UI_TEXT_CANCEL, UI_TEXT_UPGRADE } from "~/constants/ui-text"; import { Piped, updatePipedDesiredVersion } from "~/modules/pipeds"; import { addToast } from "~/modules/toasts"; import { useSettingsStyles } from "../../../styles"; +import { Autocomplete } from "@material-ui/lab"; export interface UpgradePipedProps { open: boolean; pipeds: Piped.AsObject[]; + releasedVersions: string[]; onClose: () => void; } export const UpgradePipedDialog: FC = memo( - function UpgradePipedDialog({ open, pipeds, onClose }) { + function UpgradePipedDialog({ open, pipeds, releasedVersions, onClose }) { const settingsClasses = useSettingsStyles(); const dispatch = useAppDispatch(); @@ -87,14 +89,17 @@ export const UpgradePipedDialog: FC = memo( 1. Input your desired version - setUpgradeVersion(e.currentTarget.value)} + { + setUpgradeVersion(value || ""); + }} + renderInput={(params) => ( + + )} /> diff --git a/web/src/components/settings-page/piped/index.tsx b/web/src/components/settings-page/piped/index.tsx index 9bcf5a25f5..8345d7edfe 100644 --- a/web/src/components/settings-page/piped/index.tsx +++ b/web/src/components/settings-page/piped/index.tsx @@ -23,7 +23,7 @@ import { } from "@material-ui/icons"; import Alert from "@material-ui/lab/Alert"; import { createSelector } from "@reduxjs/toolkit"; -import { FC, memo, useCallback, useState } from "react"; +import { FC, memo, useCallback, useEffect, useState } from "react"; import { TextWithCopyButton } from "~/components/text-with-copy-button"; import { UI_TEXT_ADD, @@ -39,6 +39,7 @@ import { disablePiped, enablePiped, fetchPipeds, + fetchReleasedVersions, Piped, RegisteredPiped, selectAllPipeds, @@ -97,6 +98,14 @@ export const SettingsPipedPage: FC = memo(function SettingsPipedPage() { selectFilteredPipeds(state, filterValues.enabled) ); + useEffect(() => { + dispatch(fetchReleasedVersions()); + }, [dispatch]); + + const releasedVersions = useAppSelector( + (state) => state.pipeds.releasedVersions + ); + const [isUpgradeDialogOpen, setUpgradeDialogOpen] = useState(false); const handleUpgradeDialogClose = (): void => setUpgradeDialogOpen(false); @@ -215,6 +224,7 @@ export const SettingsPipedPage: FC = memo(function SettingsPipedPage() { diff --git a/web/src/modules/pipeds/index.test.ts b/web/src/modules/pipeds/index.test.ts index bce9c9ede9..570b2c1fe8 100644 --- a/web/src/modules/pipeds/index.test.ts +++ b/web/src/modules/pipeds/index.test.ts @@ -13,6 +13,7 @@ const baseState = { ids: [], registeredPiped: null, updating: false, + releasedVersions: [], }; describe("pipedsSlice reducer", () => { diff --git a/web/src/modules/pipeds/index.ts b/web/src/modules/pipeds/index.ts index a29b1bf044..3a7487351a 100644 --- a/web/src/modules/pipeds/index.ts +++ b/web/src/modules/pipeds/index.ts @@ -29,6 +29,14 @@ export const selectPipedIds = (state: AppState): EntityId[] => export const selectAllPipeds = (state: AppState): Piped.AsObject[] => selectAll(state.pipeds); +export const fetchReleasedVersions = createAsyncThunk( + `${MODULE_NAME}/fetchReleasedVersions`, + async () => { + const { versionsList } = await pipedsApi.listReleasedVersions(); + return versionsList; + } +); + export const fetchPipeds = createAsyncThunk( `${MODULE_NAME}/fetchList`, async (withStatus: boolean) => { @@ -104,9 +112,11 @@ export const pipedsSlice = createSlice({ initialState: pipedsAdapter.getInitialState<{ registeredPiped: RegisteredPiped | null; updating: boolean; + releasedVersions: string[]; }>({ registeredPiped: null, updating: false, + releasedVersions: [], }), reducers: { clearRegisteredPipedInfo(state) { @@ -137,6 +147,9 @@ export const pipedsSlice = createSlice({ }) .addCase(editPiped.fulfilled, (state) => { state.updating = false; + }) + .addCase(fetchReleasedVersions.fulfilled, (state, action) => { + state.releasedVersions = action.payload; }); }, });