Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2023-09-18 09:28:44 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2023-09-18 09:28:44 +0300
commite450c7ca1115ddc16b3db84a5400b781ed81e2e6 (patch)
treec39be07e6acd1c7616014980e42c17810de82d76
parentc7099d645d162a8760f7f84e9f3e0c45229240c1 (diff)
parent671e6c405526c796fc54e0075a6e4245cd8bb4c7 (diff)
Merge branch 'pks-raw-blame-fix-error-handling' into 'master'
commit: Gracefully handle invalid arguments in RawBlame Closes #5594 See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/6361 Merged-by: Patrick Steinhardt <psteinhardt@gitlab.com> Approved-by: James Liu <jliu@gitlab.com>
-rw-r--r--internal/gitaly/service/commit/raw_blame.go54
-rw-r--r--internal/gitaly/service/commit/raw_blame_test.go88
-rw-r--r--proto/commit.proto37
-rw-r--r--proto/errors.proto6
-rw-r--r--proto/go/gitalypb/commit.pb.go1182
-rw-r--r--proto/go/gitalypb/commit_grpc.pb.go6
-rw-r--r--proto/go/gitalypb/errors.pb.go83
7 files changed, 931 insertions, 525 deletions
diff --git a/internal/gitaly/service/commit/raw_blame.go b/internal/gitaly/service/commit/raw_blame.go
index 454e143fa..09c1b8cc4 100644
--- a/internal/gitaly/service/commit/raw_blame.go
+++ b/internal/gitaly/service/commit/raw_blame.go
@@ -2,7 +2,10 @@ package commit
import (
"fmt"
+ "path/filepath"
"regexp"
+ "strconv"
+ "strings"
"gitlab.com/gitlab-org/gitaly/v16/internal/git"
"gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/storage"
@@ -11,7 +14,10 @@ import (
"gitlab.com/gitlab-org/gitaly/v16/streamio"
)
-var validBlameRange = regexp.MustCompile(`\A\d+,\d+\z`)
+var (
+ validBlameRange = regexp.MustCompile(`\A\d+,\d+\z`)
+ blameLineCountErrorRegexp = regexp.MustCompile("^fatal: file .* has only (\\d) lines?\n$")
+)
func (s *server) RawBlame(in *gitalypb.RawBlameRequest, stream gitalypb.CommitService_RawBlameServer) error {
if err := validateRawBlameRequest(s.locator, in); err != nil {
@@ -32,18 +38,53 @@ func (s *server) RawBlame(in *gitalypb.RawBlameRequest, stream gitalypb.CommitSe
return stream.Send(&gitalypb.RawBlameResponse{Data: p})
})
+ var stderr strings.Builder
cmd, err := s.gitCmdFactory.New(ctx, in.Repository, git.Command{
Name: "blame",
Flags: flags,
Args: []string{revision},
PostSepArgs: []string{path},
- }, git.WithStdout(sw))
+ }, git.WithStdout(sw), git.WithStderr(&stderr))
if err != nil {
- return structerr.NewInternal("cmd: %w", err)
+ return fmt.Errorf("starting blame: %w", err)
}
if err := cmd.Wait(); err != nil {
- return fmt.Errorf("streaming raw blame data: %w", err)
+ errorMessage := stderr.String()
+
+ if strings.HasPrefix(errorMessage, "fatal: no such path ") {
+ return structerr.NewNotFound("path not found in revision").
+ WithMetadata("path", path).
+ WithMetadata("revision", revision).
+ WithDetail(&gitalypb.RawBlameError{
+ Error: &gitalypb.RawBlameError_PathNotFound{
+ PathNotFound: &gitalypb.PathNotFoundError{
+ Path: in.GetPath(),
+ },
+ },
+ })
+ }
+
+ if matches := blameLineCountErrorRegexp.FindStringSubmatch(errorMessage); len(matches) == 2 {
+ lines, err := strconv.ParseUint(matches[1], 10, 64)
+ if err != nil {
+ return structerr.New("failed parsing actual lines").WithMetadata("lines", matches[1])
+ }
+
+ return structerr.NewInvalidArgument("range is outside of the file length").
+ WithMetadata("path", path).
+ WithMetadata("revision", revision).
+ WithMetadata("lines", lines).
+ WithDetail(&gitalypb.RawBlameError{
+ Error: &gitalypb.RawBlameError_OutOfRange{
+ OutOfRange: &gitalypb.RawBlameError_OutOfRangeError{
+ ActualLines: lines,
+ },
+ },
+ })
+ }
+
+ return structerr.New("blaming file: %w", err).WithMetadata("stderr", stderr.String())
}
return nil
@@ -61,6 +102,11 @@ func validateRawBlameRequest(locator storage.Locator, in *gitalypb.RawBlameReque
return fmt.Errorf("empty Path")
}
+ if !filepath.IsLocal(string(in.GetPath())) {
+ return structerr.NewInvalidArgument("path escapes repository root").
+ WithMetadata("path", string(in.GetPath()))
+ }
+
blameRange := in.GetRange()
if len(blameRange) > 0 && !validBlameRange.Match(blameRange) {
return fmt.Errorf("invalid Range")
diff --git a/internal/gitaly/service/commit/raw_blame_test.go b/internal/gitaly/service/commit/raw_blame_test.go
index 842905103..cb0e5b76b 100644
--- a/internal/gitaly/service/commit/raw_blame_test.go
+++ b/internal/gitaly/service/commit/raw_blame_test.go
@@ -12,6 +12,8 @@ import (
"gitlab.com/gitlab-org/gitaly/v16/internal/testhelper"
"gitlab.com/gitlab-org/gitaly/v16/proto/go/gitalypb"
"gitlab.com/gitlab-org/gitaly/v16/streamio"
+ spb "google.golang.org/genproto/googleapis/rpc/status"
+ "google.golang.org/protobuf/testing/protocmp"
)
func TestRawBlame(t *testing.T) {
@@ -113,6 +115,90 @@ func TestRawBlame(t *testing.T) {
},
},
{
+ desc: "out-of-range",
+ setup: func(t *testing.T) setupData {
+ repo, repoPath := gittest.CreateRepository(t, ctx, cfg)
+
+ // We write a file with three lines, only, but the request asks us to blame line 10.
+ commit := gittest.WriteCommit(t, cfg, repoPath, gittest.WithTreeEntries(
+ gittest.TreeEntry{Path: "path", Mode: "100644", Content: "a\nb\nc\n"},
+ ))
+
+ return setupData{
+ request: &gitalypb.RawBlameRequest{
+ Repository: repo,
+ Revision: []byte(commit),
+ Path: []byte("path"),
+ Range: []byte("10,10"),
+ },
+ expectedErr: testhelper.ToInterceptedMetadata(
+ structerr.NewInvalidArgument("range is outside of the file length").
+ WithMetadata("revision", commit.String()).
+ WithMetadata("path", "path").
+ WithMetadata("lines", 3).
+ WithDetail(&gitalypb.RawBlameError{
+ Error: &gitalypb.RawBlameError_OutOfRange{
+ OutOfRange: &gitalypb.RawBlameError_OutOfRangeError{
+ ActualLines: 3,
+ },
+ },
+ }),
+ ),
+ }
+ },
+ },
+ {
+ desc: "missing path",
+ setup: func(t *testing.T) setupData {
+ repo, repoPath := gittest.CreateRepository(t, ctx, cfg)
+
+ commit := gittest.WriteCommit(t, cfg, repoPath)
+
+ return setupData{
+ request: &gitalypb.RawBlameRequest{
+ Repository: repo,
+ Revision: []byte(commit),
+ Path: []byte("does-not-exist"),
+ Range: []byte("1,1"),
+ },
+ expectedErr: testhelper.ToInterceptedMetadata(
+ structerr.NewNotFound("path not found in revision").
+ WithMetadata("revision", commit.String()).
+ WithMetadata("path", "does-not-exist").
+ WithDetail(&gitalypb.RawBlameError{
+ Error: &gitalypb.RawBlameError_PathNotFound{
+ PathNotFound: &gitalypb.PathNotFoundError{
+ Path: []byte("does-not-exist"),
+ },
+ },
+ }),
+ ),
+ }
+ },
+ },
+ {
+ desc: "path escapes repository root",
+ setup: func(t *testing.T) setupData {
+ repo, repoPath := gittest.CreateRepository(t, ctx, cfg)
+
+ commit := gittest.WriteCommit(t, cfg, repoPath)
+ escapingPath := "im/gonna/../../../escape"
+
+ return setupData{
+ request: &gitalypb.RawBlameRequest{
+ Repository: repo,
+ Revision: []byte(commit),
+ Path: []byte(escapingPath),
+ Range: []byte("1,1"),
+ },
+ expectedErr: testhelper.ToInterceptedMetadata(
+ structerr.NewInvalidArgument("path escapes repository root").
+ WithMetadata("path", escapingPath),
+ ),
+ }
+ },
+ },
+ {
desc: "simple blame",
setup: func(t *testing.T) setupData {
repo, repoPath := gittest.CreateRepository(t, ctx, cfg)
@@ -271,7 +357,7 @@ filename path
})
data, err := io.ReadAll(reader)
- testhelper.RequireGrpcError(t, setup.expectedErr, err)
+ testhelper.RequireGrpcError(t, setup.expectedErr, err, protocmp.SortRepeatedFields(&spb.Status{}, "details"))
require.Equal(t, setup.expectedData, string(data))
})
}
diff --git a/proto/commit.proto b/proto/commit.proto
index 919ede288..467e1e631 100644
--- a/proto/commit.proto
+++ b/proto/commit.proto
@@ -108,7 +108,8 @@ service CommitService {
};
}
- // This comment is left unintentionally blank.
+ // RawBlame blames lines in a blob to when they have last been changed. Returns the raw output of the git-blame(1)
+ // command.
rpc RawBlame(RawBlameRequest) returns (stream RawBlameResponse) {
option (op_type) = {
op: ACCESSOR
@@ -682,25 +683,43 @@ message CommitLanguagesResponse {
repeated Language languages = 1;
}
-// This comment is left unintentionally blank.
+// RawBlameRequest is a request for the RawBlame RPC.
message RawBlameRequest {
- // This comment is left unintentionally blank.
+ // Repository is the repositroy where to perform the blame.
Repository repository = 1 [(target_repository)=true];
- // This comment is left unintentionally blank.
+ // Revision is the committish at which to start the blame.
bytes revision = 2;
- // This comment is left unintentionally blank.
+ // Path is the path of the blob that should be blamed.
bytes path = 3;
- // Comma-separated range of line numbers to perform the blame on: "1,1000".
- // Optional - if no range is provided, the whole file will be blamed.
+ // Range is the comma-separated range of line numbers to perform the blame on, e.g. "1,1000". Optional - if no range
+ // is provided, the whole file will be blamed.
bytes range = 4;
}
-// This comment is left unintentionally blank.
+// RawBlameResponse is a response for the RawBlame RPC. The response will be chunked into multiple message if the
+// returned data exceeds gRPC message limits.
message RawBlameResponse {
- // This comment is left unintentionally blank.
+ // Data is the raw data as generated by git-blame(1).
bytes data = 1;
}
+// RawBlameError is used as error detail when the RawBlame RPC fails in a specific way.
+message RawBlameError {
+ // OutOfRangeError indicates that the specified file range that is to be blamed exceeds the length of the blamed
+ // file.
+ message OutOfRangeError {
+ // ActualLines contains the actual number of lines that can be blamed in the file.
+ uint64 actual_lines = 1;
+ }
+
+ oneof error {
+ // PathNotFound is returned when the blamed path cannot be found in the revision.
+ PathNotFoundError path_not_found = 1;
+ // OutOfRangeError is returned when the specified blamed range exceeds the file length.
+ OutOfRangeError out_of_range = 2;
+ }
+}
+
// LastCommitForPathRequest is a request for the LastCommitForPath RPC.
message LastCommitForPathRequest {
// Repository is the repository to run the query in.
diff --git a/proto/errors.proto b/proto/errors.proto
index 6697d1883..caaca1995 100644
--- a/proto/errors.proto
+++ b/proto/errors.proto
@@ -199,3 +199,9 @@ message PathError {
// ErrorType is the type of path error that occurred.
ErrorType error_type = 2;
}
+
+// PathNotFoundError is an error returned when a given path cannot be found.
+message PathNotFoundError {
+ // Path is the path that could not be found.
+ bytes path = 1;
+}
diff --git a/proto/go/gitalypb/commit.pb.go b/proto/go/gitalypb/commit.pb.go
index 6f6a9b8c1..a4c8e8c52 100644
--- a/proto/go/gitalypb/commit.pb.go
+++ b/proto/go/gitalypb/commit.pb.go
@@ -391,7 +391,7 @@ func (x GetCommitSignaturesResponse_Signer) Number() protoreflect.EnumNumber {
// Deprecated: Use GetCommitSignaturesResponse_Signer.Descriptor instead.
func (GetCommitSignaturesResponse_Signer) EnumDescriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{45, 0}
+ return file_commit_proto_rawDescGZIP(), []int{46, 0}
}
// ListCommitsRequest is a request for the ListCommits RPC.
@@ -2719,20 +2719,20 @@ func (x *CommitLanguagesResponse) GetLanguages() []*CommitLanguagesResponse_Lang
return nil
}
-// This comment is left unintentionally blank.
+// RawBlameRequest is a request for the RawBlame RPC.
type RawBlameRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // This comment is left unintentionally blank.
+ // Repository is the repositroy where to perform the blame.
Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"`
- // This comment is left unintentionally blank.
+ // Revision is the committish at which to start the blame.
Revision []byte `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"`
- // This comment is left unintentionally blank.
+ // Path is the path of the blob that should be blamed.
Path []byte `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
- // Comma-separated range of line numbers to perform the blame on: "1,1000".
- // Optional - if no range is provided, the whole file will be blamed.
+ // Range is the comma-separated range of line numbers to perform the blame on, e.g. "1,1000". Optional - if no range
+ // is provided, the whole file will be blamed.
Range []byte `protobuf:"bytes,4,opt,name=range,proto3" json:"range,omitempty"`
}
@@ -2796,13 +2796,14 @@ func (x *RawBlameRequest) GetRange() []byte {
return nil
}
-// This comment is left unintentionally blank.
+// RawBlameResponse is a response for the RawBlame RPC. The response will be chunked into multiple message if the
+// returned data exceeds gRPC message limits.
type RawBlameResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // This comment is left unintentionally blank.
+ // Data is the raw data as generated by git-blame(1).
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}
@@ -2845,6 +2846,90 @@ func (x *RawBlameResponse) GetData() []byte {
return nil
}
+// RawBlameError is used as error detail when the RawBlame RPC fails in a specific way.
+type RawBlameError struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Error:
+ //
+ // *RawBlameError_PathNotFound
+ // *RawBlameError_OutOfRange
+ Error isRawBlameError_Error `protobuf_oneof:"error"`
+}
+
+func (x *RawBlameError) Reset() {
+ *x = RawBlameError{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_commit_proto_msgTypes[34]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RawBlameError) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RawBlameError) ProtoMessage() {}
+
+func (x *RawBlameError) ProtoReflect() protoreflect.Message {
+ mi := &file_commit_proto_msgTypes[34]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RawBlameError.ProtoReflect.Descriptor instead.
+func (*RawBlameError) Descriptor() ([]byte, []int) {
+ return file_commit_proto_rawDescGZIP(), []int{34}
+}
+
+func (m *RawBlameError) GetError() isRawBlameError_Error {
+ if m != nil {
+ return m.Error
+ }
+ return nil
+}
+
+func (x *RawBlameError) GetPathNotFound() *PathNotFoundError {
+ if x, ok := x.GetError().(*RawBlameError_PathNotFound); ok {
+ return x.PathNotFound
+ }
+ return nil
+}
+
+func (x *RawBlameError) GetOutOfRange() *RawBlameError_OutOfRangeError {
+ if x, ok := x.GetError().(*RawBlameError_OutOfRange); ok {
+ return x.OutOfRange
+ }
+ return nil
+}
+
+type isRawBlameError_Error interface {
+ isRawBlameError_Error()
+}
+
+type RawBlameError_PathNotFound struct {
+ // PathNotFound is returned when the blamed path cannot be found in the revision.
+ PathNotFound *PathNotFoundError `protobuf:"bytes,1,opt,name=path_not_found,json=pathNotFound,proto3,oneof"`
+}
+
+type RawBlameError_OutOfRange struct {
+ // OutOfRangeError is returned when the specified blamed range exceeds the file length.
+ OutOfRange *RawBlameError_OutOfRangeError `protobuf:"bytes,2,opt,name=out_of_range,json=outOfRange,proto3,oneof"`
+}
+
+func (*RawBlameError_PathNotFound) isRawBlameError_Error() {}
+
+func (*RawBlameError_OutOfRange) isRawBlameError_Error() {}
+
// LastCommitForPathRequest is a request for the LastCommitForPath RPC.
type LastCommitForPathRequest struct {
state protoimpl.MessageState
@@ -2869,7 +2954,7 @@ type LastCommitForPathRequest struct {
func (x *LastCommitForPathRequest) Reset() {
*x = LastCommitForPathRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[34]
+ mi := &file_commit_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2882,7 +2967,7 @@ func (x *LastCommitForPathRequest) String() string {
func (*LastCommitForPathRequest) ProtoMessage() {}
func (x *LastCommitForPathRequest) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[34]
+ mi := &file_commit_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2895,7 +2980,7 @@ func (x *LastCommitForPathRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use LastCommitForPathRequest.ProtoReflect.Descriptor instead.
func (*LastCommitForPathRequest) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{34}
+ return file_commit_proto_rawDescGZIP(), []int{35}
}
func (x *LastCommitForPathRequest) GetRepository() *Repository {
@@ -2946,7 +3031,7 @@ type LastCommitForPathResponse struct {
func (x *LastCommitForPathResponse) Reset() {
*x = LastCommitForPathResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[35]
+ mi := &file_commit_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2959,7 +3044,7 @@ func (x *LastCommitForPathResponse) String() string {
func (*LastCommitForPathResponse) ProtoMessage() {}
func (x *LastCommitForPathResponse) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[35]
+ mi := &file_commit_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2972,7 +3057,7 @@ func (x *LastCommitForPathResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use LastCommitForPathResponse.ProtoReflect.Descriptor instead.
func (*LastCommitForPathResponse) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{35}
+ return file_commit_proto_rawDescGZIP(), []int{36}
}
func (x *LastCommitForPathResponse) GetCommit() *GitCommit {
@@ -3009,7 +3094,7 @@ type ListLastCommitsForTreeRequest struct {
func (x *ListLastCommitsForTreeRequest) Reset() {
*x = ListLastCommitsForTreeRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[36]
+ mi := &file_commit_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3022,7 +3107,7 @@ func (x *ListLastCommitsForTreeRequest) String() string {
func (*ListLastCommitsForTreeRequest) ProtoMessage() {}
func (x *ListLastCommitsForTreeRequest) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[36]
+ mi := &file_commit_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3035,7 +3120,7 @@ func (x *ListLastCommitsForTreeRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListLastCommitsForTreeRequest.ProtoReflect.Descriptor instead.
func (*ListLastCommitsForTreeRequest) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{36}
+ return file_commit_proto_rawDescGZIP(), []int{37}
}
func (x *ListLastCommitsForTreeRequest) GetRepository() *Repository {
@@ -3101,7 +3186,7 @@ type ListLastCommitsForTreeResponse struct {
func (x *ListLastCommitsForTreeResponse) Reset() {
*x = ListLastCommitsForTreeResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[37]
+ mi := &file_commit_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3114,7 +3199,7 @@ func (x *ListLastCommitsForTreeResponse) String() string {
func (*ListLastCommitsForTreeResponse) ProtoMessage() {}
func (x *ListLastCommitsForTreeResponse) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[37]
+ mi := &file_commit_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3127,7 +3212,7 @@ func (x *ListLastCommitsForTreeResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListLastCommitsForTreeResponse.ProtoReflect.Descriptor instead.
func (*ListLastCommitsForTreeResponse) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{37}
+ return file_commit_proto_rawDescGZIP(), []int{38}
}
func (x *ListLastCommitsForTreeResponse) GetCommits() []*ListLastCommitsForTreeResponse_CommitForTree {
@@ -3162,7 +3247,7 @@ type CommitsByMessageRequest struct {
func (x *CommitsByMessageRequest) Reset() {
*x = CommitsByMessageRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[38]
+ mi := &file_commit_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3175,7 +3260,7 @@ func (x *CommitsByMessageRequest) String() string {
func (*CommitsByMessageRequest) ProtoMessage() {}
func (x *CommitsByMessageRequest) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[38]
+ mi := &file_commit_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3188,7 +3273,7 @@ func (x *CommitsByMessageRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use CommitsByMessageRequest.ProtoReflect.Descriptor instead.
func (*CommitsByMessageRequest) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{38}
+ return file_commit_proto_rawDescGZIP(), []int{39}
}
func (x *CommitsByMessageRequest) GetRepository() *Repository {
@@ -3253,7 +3338,7 @@ type CommitsByMessageResponse struct {
func (x *CommitsByMessageResponse) Reset() {
*x = CommitsByMessageResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[39]
+ mi := &file_commit_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3266,7 +3351,7 @@ func (x *CommitsByMessageResponse) String() string {
func (*CommitsByMessageResponse) ProtoMessage() {}
func (x *CommitsByMessageResponse) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[39]
+ mi := &file_commit_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3279,7 +3364,7 @@ func (x *CommitsByMessageResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use CommitsByMessageResponse.ProtoReflect.Descriptor instead.
func (*CommitsByMessageResponse) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{39}
+ return file_commit_proto_rawDescGZIP(), []int{40}
}
func (x *CommitsByMessageResponse) GetCommits() []*GitCommit {
@@ -3304,7 +3389,7 @@ type FilterShasWithSignaturesRequest struct {
func (x *FilterShasWithSignaturesRequest) Reset() {
*x = FilterShasWithSignaturesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[40]
+ mi := &file_commit_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3317,7 +3402,7 @@ func (x *FilterShasWithSignaturesRequest) String() string {
func (*FilterShasWithSignaturesRequest) ProtoMessage() {}
func (x *FilterShasWithSignaturesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[40]
+ mi := &file_commit_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3330,7 +3415,7 @@ func (x *FilterShasWithSignaturesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use FilterShasWithSignaturesRequest.ProtoReflect.Descriptor instead.
func (*FilterShasWithSignaturesRequest) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{40}
+ return file_commit_proto_rawDescGZIP(), []int{41}
}
func (x *FilterShasWithSignaturesRequest) GetRepository() *Repository {
@@ -3360,7 +3445,7 @@ type FilterShasWithSignaturesResponse struct {
func (x *FilterShasWithSignaturesResponse) Reset() {
*x = FilterShasWithSignaturesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[41]
+ mi := &file_commit_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3373,7 +3458,7 @@ func (x *FilterShasWithSignaturesResponse) String() string {
func (*FilterShasWithSignaturesResponse) ProtoMessage() {}
func (x *FilterShasWithSignaturesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[41]
+ mi := &file_commit_proto_msgTypes[42]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3386,7 +3471,7 @@ func (x *FilterShasWithSignaturesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use FilterShasWithSignaturesResponse.ProtoReflect.Descriptor instead.
func (*FilterShasWithSignaturesResponse) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{41}
+ return file_commit_proto_rawDescGZIP(), []int{42}
}
func (x *FilterShasWithSignaturesResponse) GetShas() [][]byte {
@@ -3411,7 +3496,7 @@ type ExtractCommitSignatureRequest struct {
func (x *ExtractCommitSignatureRequest) Reset() {
*x = ExtractCommitSignatureRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[42]
+ mi := &file_commit_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3424,7 +3509,7 @@ func (x *ExtractCommitSignatureRequest) String() string {
func (*ExtractCommitSignatureRequest) ProtoMessage() {}
func (x *ExtractCommitSignatureRequest) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[42]
+ mi := &file_commit_proto_msgTypes[43]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3437,7 +3522,7 @@ func (x *ExtractCommitSignatureRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ExtractCommitSignatureRequest.ProtoReflect.Descriptor instead.
func (*ExtractCommitSignatureRequest) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{42}
+ return file_commit_proto_rawDescGZIP(), []int{43}
}
func (x *ExtractCommitSignatureRequest) GetRepository() *Repository {
@@ -3470,7 +3555,7 @@ type ExtractCommitSignatureResponse struct {
func (x *ExtractCommitSignatureResponse) Reset() {
*x = ExtractCommitSignatureResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[43]
+ mi := &file_commit_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3483,7 +3568,7 @@ func (x *ExtractCommitSignatureResponse) String() string {
func (*ExtractCommitSignatureResponse) ProtoMessage() {}
func (x *ExtractCommitSignatureResponse) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[43]
+ mi := &file_commit_proto_msgTypes[44]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3496,7 +3581,7 @@ func (x *ExtractCommitSignatureResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ExtractCommitSignatureResponse.ProtoReflect.Descriptor instead.
func (*ExtractCommitSignatureResponse) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{43}
+ return file_commit_proto_rawDescGZIP(), []int{44}
}
func (x *ExtractCommitSignatureResponse) GetSignature() []byte {
@@ -3528,7 +3613,7 @@ type GetCommitSignaturesRequest struct {
func (x *GetCommitSignaturesRequest) Reset() {
*x = GetCommitSignaturesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[44]
+ mi := &file_commit_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3541,7 +3626,7 @@ func (x *GetCommitSignaturesRequest) String() string {
func (*GetCommitSignaturesRequest) ProtoMessage() {}
func (x *GetCommitSignaturesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[44]
+ mi := &file_commit_proto_msgTypes[45]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3554,7 +3639,7 @@ func (x *GetCommitSignaturesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetCommitSignaturesRequest.ProtoReflect.Descriptor instead.
func (*GetCommitSignaturesRequest) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{44}
+ return file_commit_proto_rawDescGZIP(), []int{45}
}
func (x *GetCommitSignaturesRequest) GetRepository() *Repository {
@@ -3590,7 +3675,7 @@ type GetCommitSignaturesResponse struct {
func (x *GetCommitSignaturesResponse) Reset() {
*x = GetCommitSignaturesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[45]
+ mi := &file_commit_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3603,7 +3688,7 @@ func (x *GetCommitSignaturesResponse) String() string {
func (*GetCommitSignaturesResponse) ProtoMessage() {}
func (x *GetCommitSignaturesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[45]
+ mi := &file_commit_proto_msgTypes[46]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3616,7 +3701,7 @@ func (x *GetCommitSignaturesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetCommitSignaturesResponse.ProtoReflect.Descriptor instead.
func (*GetCommitSignaturesResponse) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{45}
+ return file_commit_proto_rawDescGZIP(), []int{46}
}
func (x *GetCommitSignaturesResponse) GetCommitId() string {
@@ -3662,7 +3747,7 @@ type GetCommitMessagesRequest struct {
func (x *GetCommitMessagesRequest) Reset() {
*x = GetCommitMessagesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[46]
+ mi := &file_commit_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3675,7 +3760,7 @@ func (x *GetCommitMessagesRequest) String() string {
func (*GetCommitMessagesRequest) ProtoMessage() {}
func (x *GetCommitMessagesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[46]
+ mi := &file_commit_proto_msgTypes[47]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3688,7 +3773,7 @@ func (x *GetCommitMessagesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetCommitMessagesRequest.ProtoReflect.Descriptor instead.
func (*GetCommitMessagesRequest) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{46}
+ return file_commit_proto_rawDescGZIP(), []int{47}
}
func (x *GetCommitMessagesRequest) GetRepository() *Repository {
@@ -3720,7 +3805,7 @@ type GetCommitMessagesResponse struct {
func (x *GetCommitMessagesResponse) Reset() {
*x = GetCommitMessagesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[47]
+ mi := &file_commit_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3733,7 +3818,7 @@ func (x *GetCommitMessagesResponse) String() string {
func (*GetCommitMessagesResponse) ProtoMessage() {}
func (x *GetCommitMessagesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[47]
+ mi := &file_commit_proto_msgTypes[48]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3746,7 +3831,7 @@ func (x *GetCommitMessagesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetCommitMessagesResponse.ProtoReflect.Descriptor instead.
func (*GetCommitMessagesResponse) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{47}
+ return file_commit_proto_rawDescGZIP(), []int{48}
}
func (x *GetCommitMessagesResponse) GetCommitId() string {
@@ -3782,7 +3867,7 @@ type CheckObjectsExistRequest struct {
func (x *CheckObjectsExistRequest) Reset() {
*x = CheckObjectsExistRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[48]
+ mi := &file_commit_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3795,7 +3880,7 @@ func (x *CheckObjectsExistRequest) String() string {
func (*CheckObjectsExistRequest) ProtoMessage() {}
func (x *CheckObjectsExistRequest) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[48]
+ mi := &file_commit_proto_msgTypes[49]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3808,7 +3893,7 @@ func (x *CheckObjectsExistRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use CheckObjectsExistRequest.ProtoReflect.Descriptor instead.
func (*CheckObjectsExistRequest) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{48}
+ return file_commit_proto_rawDescGZIP(), []int{49}
}
func (x *CheckObjectsExistRequest) GetRepository() *Repository {
@@ -3838,7 +3923,7 @@ type CheckObjectsExistResponse struct {
func (x *CheckObjectsExistResponse) Reset() {
*x = CheckObjectsExistResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[49]
+ mi := &file_commit_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3851,7 +3936,7 @@ func (x *CheckObjectsExistResponse) String() string {
func (*CheckObjectsExistResponse) ProtoMessage() {}
func (x *CheckObjectsExistResponse) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[49]
+ mi := &file_commit_proto_msgTypes[50]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3864,7 +3949,7 @@ func (x *CheckObjectsExistResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use CheckObjectsExistResponse.ProtoReflect.Descriptor instead.
func (*CheckObjectsExistResponse) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{49}
+ return file_commit_proto_rawDescGZIP(), []int{50}
}
func (x *CheckObjectsExistResponse) GetRevisions() []*CheckObjectsExistResponse_RevisionExistence {
@@ -3889,7 +3974,7 @@ type ListCommitsByRefNameResponse_CommitForRef struct {
func (x *ListCommitsByRefNameResponse_CommitForRef) Reset() {
*x = ListCommitsByRefNameResponse_CommitForRef{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[50]
+ mi := &file_commit_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3902,7 +3987,7 @@ func (x *ListCommitsByRefNameResponse_CommitForRef) String() string {
func (*ListCommitsByRefNameResponse_CommitForRef) ProtoMessage() {}
func (x *ListCommitsByRefNameResponse_CommitForRef) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[50]
+ mi := &file_commit_proto_msgTypes[51]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3954,7 +4039,7 @@ type CommitLanguagesResponse_Language struct {
func (x *CommitLanguagesResponse_Language) Reset() {
*x = CommitLanguagesResponse_Language{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[51]
+ mi := &file_commit_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3967,7 +4052,7 @@ func (x *CommitLanguagesResponse_Language) String() string {
func (*CommitLanguagesResponse_Language) ProtoMessage() {}
func (x *CommitLanguagesResponse_Language) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[51]
+ mi := &file_commit_proto_msgTypes[52]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4011,6 +4096,56 @@ func (x *CommitLanguagesResponse_Language) GetBytes() uint64 {
return 0
}
+// OutOfRangeError indicates that the specified file range that is to be blamed exceeds the length of the blamed
+// file.
+type RawBlameError_OutOfRangeError struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // ActualLines contains the actual number of lines that can be blamed in the file.
+ ActualLines uint64 `protobuf:"varint,1,opt,name=actual_lines,json=actualLines,proto3" json:"actual_lines,omitempty"`
+}
+
+func (x *RawBlameError_OutOfRangeError) Reset() {
+ *x = RawBlameError_OutOfRangeError{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_commit_proto_msgTypes[53]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RawBlameError_OutOfRangeError) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RawBlameError_OutOfRangeError) ProtoMessage() {}
+
+func (x *RawBlameError_OutOfRangeError) ProtoReflect() protoreflect.Message {
+ mi := &file_commit_proto_msgTypes[53]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RawBlameError_OutOfRangeError.ProtoReflect.Descriptor instead.
+func (*RawBlameError_OutOfRangeError) Descriptor() ([]byte, []int) {
+ return file_commit_proto_rawDescGZIP(), []int{34, 0}
+}
+
+func (x *RawBlameError_OutOfRangeError) GetActualLines() uint64 {
+ if x != nil {
+ return x.ActualLines
+ }
+ return 0
+}
+
// This comment is left unintentionally blank.
type ListLastCommitsForTreeResponse_CommitForTree struct {
state protoimpl.MessageState
@@ -4026,7 +4161,7 @@ type ListLastCommitsForTreeResponse_CommitForTree struct {
func (x *ListLastCommitsForTreeResponse_CommitForTree) Reset() {
*x = ListLastCommitsForTreeResponse_CommitForTree{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[52]
+ mi := &file_commit_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4039,7 +4174,7 @@ func (x *ListLastCommitsForTreeResponse_CommitForTree) String() string {
func (*ListLastCommitsForTreeResponse_CommitForTree) ProtoMessage() {}
func (x *ListLastCommitsForTreeResponse_CommitForTree) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[52]
+ mi := &file_commit_proto_msgTypes[54]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4052,7 +4187,7 @@ func (x *ListLastCommitsForTreeResponse_CommitForTree) ProtoReflect() protorefle
// Deprecated: Use ListLastCommitsForTreeResponse_CommitForTree.ProtoReflect.Descriptor instead.
func (*ListLastCommitsForTreeResponse_CommitForTree) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{37, 0}
+ return file_commit_proto_rawDescGZIP(), []int{38, 0}
}
func (x *ListLastCommitsForTreeResponse_CommitForTree) GetCommit() *GitCommit {
@@ -4084,7 +4219,7 @@ type CheckObjectsExistResponse_RevisionExistence struct {
func (x *CheckObjectsExistResponse_RevisionExistence) Reset() {
*x = CheckObjectsExistResponse_RevisionExistence{}
if protoimpl.UnsafeEnabled {
- mi := &file_commit_proto_msgTypes[53]
+ mi := &file_commit_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4097,7 +4232,7 @@ func (x *CheckObjectsExistResponse_RevisionExistence) String() string {
func (*CheckObjectsExistResponse_RevisionExistence) ProtoMessage() {}
func (x *CheckObjectsExistResponse_RevisionExistence) ProtoReflect() protoreflect.Message {
- mi := &file_commit_proto_msgTypes[53]
+ mi := &file_commit_proto_msgTypes[55]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4110,7 +4245,7 @@ func (x *CheckObjectsExistResponse_RevisionExistence) ProtoReflect() protoreflec
// Deprecated: Use CheckObjectsExistResponse_RevisionExistence.ProtoReflect.Descriptor instead.
func (*CheckObjectsExistResponse_RevisionExistence) Descriptor() ([]byte, []int) {
- return file_commit_proto_rawDescGZIP(), []int{49, 0}
+ return file_commit_proto_rawDescGZIP(), []int{50, 0}
}
func (x *CheckObjectsExistResponse_RevisionExistence) GetName() []byte {
@@ -4498,297 +4633,311 @@ var file_commit_proto_rawDesc = []byte{
0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x52, 0x61,
0x77, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61,
- 0x74, 0x61, 0x22, 0xed, 0x01, 0x0a, 0x18, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
- 0x74, 0x46, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72,
- 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76,
- 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x76,
- 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x69, 0x74,
- 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68,
- 0x73, 0x70, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x22, 0x46, 0x0a, 0x19, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
- 0x46, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x11, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d,
- 0x69, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x22, 0xa4, 0x02, 0x0a, 0x1d, 0x4c,
- 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x46, 0x6f,
- 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a,
- 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
- 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
- 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
- 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06,
- 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66,
- 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f,
- 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02,
- 0x18, 0x01, 0x52, 0x0f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x73,
+ 0x74, 0x61, 0x22, 0xdc, 0x01, 0x0a, 0x0d, 0x52, 0x61, 0x77, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x45,
+ 0x72, 0x72, 0x6f, 0x72, 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6e, 0x6f, 0x74,
+ 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
+ 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75,
+ 0x6e, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x4e,
+ 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x49, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x6f,
+ 0x66, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x45,
+ 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x45,
+ 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x52, 0x61, 0x6e,
+ 0x67, 0x65, 0x1a, 0x34, 0x0a, 0x0f, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x52, 0x61, 0x6e, 0x67, 0x65,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f,
+ 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x61, 0x63, 0x74,
+ 0x75, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x22, 0xed, 0x01, 0x0a, 0x18, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
+ 0x46, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38,
+ 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69,
+ 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x69, 0x74, 0x65,
+ 0x72, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x73,
0x70, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x69,
0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x52, 0x0d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x22, 0xd7, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c,
- 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x46, 0x6f,
- 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x73, 0x1a, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x6f,
- 0x72, 0x54, 0x72, 0x65, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47,
- 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
- 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4a,
- 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x85, 0x02, 0x0a, 0x17,
- 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42,
- 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
- 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
- 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f,
- 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70,
- 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12,
- 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
- 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
- 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x22, 0x47, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79,
- 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x2b, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x11, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x6f, 0x0a, 0x1f,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x69,
- 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72,
- 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, 0x61,
- 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x73, 0x68, 0x61, 0x73, 0x22, 0x36, 0x0a,
- 0x20, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53,
- 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52,
- 0x04, 0x73, 0x68, 0x61, 0x73, 0x22, 0x76, 0x0a, 0x1d, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74,
- 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52,
+ 0x73, 0x22, 0x46, 0x0a, 0x19, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46,
+ 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29,
+ 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
+ 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x22, 0xa4, 0x02, 0x0a, 0x1d, 0x4c, 0x69,
+ 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x46, 0x6f, 0x72,
+ 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72,
+ 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
+ 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52,
+ 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f,
+ 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66,
+ 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x70,
+ 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18,
+ 0x01, 0x52, 0x0f, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x73, 0x70,
+ 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x0d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x22, 0xd7, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x69, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x46, 0x6f, 0x72,
+ 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x73, 0x1a, 0x65, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x6f, 0x72,
+ 0x54, 0x72, 0x65, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x69,
+ 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4a, 0x04,
+ 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x85, 0x02, 0x0a, 0x17, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74,
0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04,
0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
- 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x22, 0x5f, 0x0a,
- 0x1e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69,
- 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1f, 0x0a,
- 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x22, 0x75,
- 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61,
- 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a,
- 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
- 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d,
- 0x69, 0x74, 0x49, 0x64, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d,
+ 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06,
+ 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66,
+ 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61,
+ 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14,
+ 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67,
+ 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x22, 0x47, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b,
+ 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x11, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x6f, 0x0a, 0x1f, 0x46,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x69, 0x67,
+ 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38,
+ 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, 0x61, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x73, 0x68, 0x61, 0x73, 0x22, 0x36, 0x0a, 0x20,
+ 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x69,
+ 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04,
+ 0x73, 0x68, 0x61, 0x73, 0x22, 0x76, 0x0a, 0x1d, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61,
+ 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98,
+ 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12,
+ 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x1e,
+ 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67,
+ 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c,
+ 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x22, 0x75, 0x0a,
+ 0x1a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
+ 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72,
+ 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f,
+ 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69,
+ 0x74, 0x49, 0x64, 0x73, 0x22, 0x83, 0x02, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49,
+ 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74,
+ 0x12, 0x42, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d,
0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f,
- 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
- 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
- 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78,
- 0x74, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x73,
- 0x69, 0x67, 0x6e, 0x65, 0x72, 0x22, 0x44, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12,
- 0x16, 0x0a, 0x12, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
- 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x49, 0x47, 0x4e, 0x45,
- 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x49, 0x47, 0x4e,
- 0x45, 0x52, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x02, 0x22, 0x73, 0x0a, 0x18, 0x47,
- 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42,
- 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
- 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18,
- 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x73,
- 0x22, 0x52, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a,
- 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a,
- 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65,
- 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x72,
- 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x19, 0x43, 0x68, 0x65,
- 0x63, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
- 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45,
- 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x76,
- 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09,
- 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x52, 0x65, 0x76,
- 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x32, 0xf1, 0x10, 0x0a, 0x0d, 0x43,
- 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0b,
- 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x59,
- 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73,
- 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c,
- 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c,
- 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x49, 0x73, 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x12, 0x1f, 0x2e,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x52, 0x06, 0x73, 0x69,
+ 0x67, 0x6e, 0x65, 0x72, 0x22, 0x44, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x12, 0x16,
+ 0x0a, 0x12, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x52,
+ 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x49, 0x47, 0x4e, 0x45,
+ 0x52, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x02, 0x22, 0x73, 0x0a, 0x18, 0x47, 0x65,
+ 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04,
+ 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x73, 0x22,
+ 0x52, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72,
+ 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x76,
+ 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x65,
+ 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63,
+ 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x78,
+ 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x76, 0x69,
+ 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x72,
+ 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x52, 0x65, 0x76, 0x69,
+ 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x32, 0xf1, 0x10, 0x0a, 0x0d, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x4c,
+ 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x59, 0x0a,
+ 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12,
+ 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+ 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06,
+ 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x49, 0x73, 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x12, 0x1f, 0x2e, 0x67,
+ 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x73, 0x41, 0x6e,
+ 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x73, 0x41,
- 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
- 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x73,
- 0x41, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x4a, 0x0a, 0x09, 0x54, 0x72, 0x65, 0x65,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x54,
- 0x72, 0x65, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02,
- 0x08, 0x02, 0x30, 0x01, 0x12, 0x51, 0x0a, 0x0c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f,
- 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
- 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x6c, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x74,
- 0x44, 0x69, 0x76, 0x65, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73,
- 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44,
- 0x69, 0x76, 0x65, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
- 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69, 0x76, 0x65, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa,
- 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65,
- 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x4a, 0x0a, 0x09, 0x54, 0x72, 0x65, 0x65, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x54, 0x72,
+ 0x65, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08,
+ 0x02, 0x30, 0x01, 0x12, 0x51, 0x0a, 0x0c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06,
+ 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x6c, 0x0a, 0x15, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44,
+ 0x69, 0x76, 0x65, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12,
+ 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69,
+ 0x76, 0x65, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x69, 0x76, 0x65, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97,
+ 0x28, 0x02, 0x08, 0x02, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x45,
+ 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
0x47, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01,
- 0x12, 0x4a, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x2e,
- 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x0a,
- 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46,
- 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x4e, 0x0a, 0x0b, 0x43, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
- 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x59, 0x0a, 0x0e, 0x46, 0x69, 0x6e,
- 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d,
- 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47,
+ 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12,
+ 0x4a, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x2e, 0x67,
+ 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x46,
+ 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61,
+ 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69,
+ 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x4e, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
+ 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x59, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64,
+ 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74,
0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
- 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02,
- 0x08, 0x02, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d,
- 0x69, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e,
- 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97,
- 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5a, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
- 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
- 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
- 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02,
- 0x08, 0x02, 0x12, 0x47, 0x0a, 0x08, 0x52, 0x61, 0x77, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x12, 0x17,
- 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x42, 0x6c, 0x61, 0x6d, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x52, 0x61, 0x77, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x60, 0x0a, 0x11, 0x4c,
- 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68,
- 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x61, 0x73, 0x74,
- 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x71, 0x0a,
- 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73,
- 0x46, 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73,
- 0x46, 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26,
- 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74,
- 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01,
- 0x12, 0x5f, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f,
+ 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61,
+ 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08,
+ 0x02, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
+ 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64,
+ 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28,
+ 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5a, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4c,
+ 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08,
+ 0x02, 0x12, 0x47, 0x0a, 0x08, 0x52, 0x61, 0x77, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x52, 0x61, 0x77, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x60, 0x0a, 0x11, 0x4c, 0x61,
+ 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12,
+ 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x71, 0x0a, 0x16,
+ 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x46,
+ 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x46,
+ 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12,
+ 0x5f, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x6f,
0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43,
- 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30,
- 0x01, 0x12, 0x5f, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73,
- 0x42, 0x79, 0x4f, 0x69, 0x64, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01,
+ 0x12, 0x5f, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42,
+ 0x79, 0x4f, 0x69, 0x64, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4f, 0x69, 0x64, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4f, 0x69, 0x64, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
- 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x4f, 0x69, 0x64,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02,
- 0x30, 0x01, 0x12, 0x6b, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
- 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42,
- 0x79, 0x52, 0x65, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12,
- 0x79, 0x0a, 0x18, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57, 0x69, 0x74,
- 0x68, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57,
- 0x69, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e,
- 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06,
- 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, 0x01, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x13, 0x47, 0x65,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30,
+ 0x01, 0x12, 0x6b, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73,
+ 0x42, 0x79, 0x52, 0x65, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61,
+ 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x79,
+ 0x52, 0x65, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x69, 0x74, 0x73, 0x42, 0x79, 0x52, 0x65, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x79,
+ 0x0a, 0x18, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57, 0x69, 0x74, 0x68,
+ 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57, 0x69,
+ 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x73, 0x57, 0x69, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x61,
+ 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa,
+ 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, 0x01, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x13, 0x47, 0x65, 0x74,
+ 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
+ 0x12, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65,
0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
- 0x73, 0x12, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f,
- 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47,
- 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
- 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02,
- 0x08, 0x02, 0x30, 0x01, 0x12, 0x62, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
- 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73,
- 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06,
- 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x11, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e,
- 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, 0x01, 0x30, 0x01, 0x42, 0x34,
- 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74,
- 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76,
- 0x31, 0x36, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08,
+ 0x02, 0x30, 0x01, 0x12, 0x62, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
+ 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa,
+ 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x11, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x20, 0x2e, 0x67,
+ 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, 0x01, 0x30, 0x01, 0x42, 0x34, 0x5a,
+ 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c,
+ 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31,
+ 0x36, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -4804,7 +4953,7 @@ func file_commit_proto_rawDescGZIP() []byte {
}
var file_commit_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
-var file_commit_proto_msgTypes = make([]protoimpl.MessageInfo, 54)
+var file_commit_proto_msgTypes = make([]protoimpl.MessageInfo, 56)
var file_commit_proto_goTypes = []interface{}{
(ListCommitsRequest_Order)(0), // 0: gitaly.ListCommitsRequest.Order
(TreeEntryResponse_ObjectType)(0), // 1: gitaly.TreeEntryResponse.ObjectType
@@ -4847,150 +4996,155 @@ var file_commit_proto_goTypes = []interface{}{
(*CommitLanguagesResponse)(nil), // 38: gitaly.CommitLanguagesResponse
(*RawBlameRequest)(nil), // 39: gitaly.RawBlameRequest
(*RawBlameResponse)(nil), // 40: gitaly.RawBlameResponse
- (*LastCommitForPathRequest)(nil), // 41: gitaly.LastCommitForPathRequest
- (*LastCommitForPathResponse)(nil), // 42: gitaly.LastCommitForPathResponse
- (*ListLastCommitsForTreeRequest)(nil), // 43: gitaly.ListLastCommitsForTreeRequest
- (*ListLastCommitsForTreeResponse)(nil), // 44: gitaly.ListLastCommitsForTreeResponse
- (*CommitsByMessageRequest)(nil), // 45: gitaly.CommitsByMessageRequest
- (*CommitsByMessageResponse)(nil), // 46: gitaly.CommitsByMessageResponse
- (*FilterShasWithSignaturesRequest)(nil), // 47: gitaly.FilterShasWithSignaturesRequest
- (*FilterShasWithSignaturesResponse)(nil), // 48: gitaly.FilterShasWithSignaturesResponse
- (*ExtractCommitSignatureRequest)(nil), // 49: gitaly.ExtractCommitSignatureRequest
- (*ExtractCommitSignatureResponse)(nil), // 50: gitaly.ExtractCommitSignatureResponse
- (*GetCommitSignaturesRequest)(nil), // 51: gitaly.GetCommitSignaturesRequest
- (*GetCommitSignaturesResponse)(nil), // 52: gitaly.GetCommitSignaturesResponse
- (*GetCommitMessagesRequest)(nil), // 53: gitaly.GetCommitMessagesRequest
- (*GetCommitMessagesResponse)(nil), // 54: gitaly.GetCommitMessagesResponse
- (*CheckObjectsExistRequest)(nil), // 55: gitaly.CheckObjectsExistRequest
- (*CheckObjectsExistResponse)(nil), // 56: gitaly.CheckObjectsExistResponse
- (*ListCommitsByRefNameResponse_CommitForRef)(nil), // 57: gitaly.ListCommitsByRefNameResponse.CommitForRef
- (*CommitLanguagesResponse_Language)(nil), // 58: gitaly.CommitLanguagesResponse.Language
- (*ListLastCommitsForTreeResponse_CommitForTree)(nil), // 59: gitaly.ListLastCommitsForTreeResponse.CommitForTree
- (*CheckObjectsExistResponse_RevisionExistence)(nil), // 60: gitaly.CheckObjectsExistResponse.RevisionExistence
- (*Repository)(nil), // 61: gitaly.Repository
- (*PaginationParameter)(nil), // 62: gitaly.PaginationParameter
- (*timestamppb.Timestamp)(nil), // 63: google.protobuf.Timestamp
- (*GitCommit)(nil), // 64: gitaly.GitCommit
- (*GlobalOptions)(nil), // 65: gitaly.GlobalOptions
- (*PaginationCursor)(nil), // 66: gitaly.PaginationCursor
- (*ResolveRevisionError)(nil), // 67: gitaly.ResolveRevisionError
- (*PathError)(nil), // 68: gitaly.PathError
+ (*RawBlameError)(nil), // 41: gitaly.RawBlameError
+ (*LastCommitForPathRequest)(nil), // 42: gitaly.LastCommitForPathRequest
+ (*LastCommitForPathResponse)(nil), // 43: gitaly.LastCommitForPathResponse
+ (*ListLastCommitsForTreeRequest)(nil), // 44: gitaly.ListLastCommitsForTreeRequest
+ (*ListLastCommitsForTreeResponse)(nil), // 45: gitaly.ListLastCommitsForTreeResponse
+ (*CommitsByMessageRequest)(nil), // 46: gitaly.CommitsByMessageRequest
+ (*CommitsByMessageResponse)(nil), // 47: gitaly.CommitsByMessageResponse
+ (*FilterShasWithSignaturesRequest)(nil), // 48: gitaly.FilterShasWithSignaturesRequest
+ (*FilterShasWithSignaturesResponse)(nil), // 49: gitaly.FilterShasWithSignaturesResponse
+ (*ExtractCommitSignatureRequest)(nil), // 50: gitaly.ExtractCommitSignatureRequest
+ (*ExtractCommitSignatureResponse)(nil), // 51: gitaly.ExtractCommitSignatureResponse
+ (*GetCommitSignaturesRequest)(nil), // 52: gitaly.GetCommitSignaturesRequest
+ (*GetCommitSignaturesResponse)(nil), // 53: gitaly.GetCommitSignaturesResponse
+ (*GetCommitMessagesRequest)(nil), // 54: gitaly.GetCommitMessagesRequest
+ (*GetCommitMessagesResponse)(nil), // 55: gitaly.GetCommitMessagesResponse
+ (*CheckObjectsExistRequest)(nil), // 56: gitaly.CheckObjectsExistRequest
+ (*CheckObjectsExistResponse)(nil), // 57: gitaly.CheckObjectsExistResponse
+ (*ListCommitsByRefNameResponse_CommitForRef)(nil), // 58: gitaly.ListCommitsByRefNameResponse.CommitForRef
+ (*CommitLanguagesResponse_Language)(nil), // 59: gitaly.CommitLanguagesResponse.Language
+ (*RawBlameError_OutOfRangeError)(nil), // 60: gitaly.RawBlameError.OutOfRangeError
+ (*ListLastCommitsForTreeResponse_CommitForTree)(nil), // 61: gitaly.ListLastCommitsForTreeResponse.CommitForTree
+ (*CheckObjectsExistResponse_RevisionExistence)(nil), // 62: gitaly.CheckObjectsExistResponse.RevisionExistence
+ (*Repository)(nil), // 63: gitaly.Repository
+ (*PaginationParameter)(nil), // 64: gitaly.PaginationParameter
+ (*timestamppb.Timestamp)(nil), // 65: google.protobuf.Timestamp
+ (*GitCommit)(nil), // 66: gitaly.GitCommit
+ (*GlobalOptions)(nil), // 67: gitaly.GlobalOptions
+ (*PaginationCursor)(nil), // 68: gitaly.PaginationCursor
+ (*ResolveRevisionError)(nil), // 69: gitaly.ResolveRevisionError
+ (*PathError)(nil), // 70: gitaly.PathError
+ (*PathNotFoundError)(nil), // 71: gitaly.PathNotFoundError
}
var file_commit_proto_depIdxs = []int32{
- 61, // 0: gitaly.ListCommitsRequest.repository:type_name -> gitaly.Repository
- 62, // 1: gitaly.ListCommitsRequest.pagination_params:type_name -> gitaly.PaginationParameter
+ 63, // 0: gitaly.ListCommitsRequest.repository:type_name -> gitaly.Repository
+ 64, // 1: gitaly.ListCommitsRequest.pagination_params:type_name -> gitaly.PaginationParameter
0, // 2: gitaly.ListCommitsRequest.order:type_name -> gitaly.ListCommitsRequest.Order
- 63, // 3: gitaly.ListCommitsRequest.after:type_name -> google.protobuf.Timestamp
- 63, // 4: gitaly.ListCommitsRequest.before:type_name -> google.protobuf.Timestamp
- 64, // 5: gitaly.ListCommitsResponse.commits:type_name -> gitaly.GitCommit
- 61, // 6: gitaly.ListAllCommitsRequest.repository:type_name -> gitaly.Repository
- 62, // 7: gitaly.ListAllCommitsRequest.pagination_params:type_name -> gitaly.PaginationParameter
- 64, // 8: gitaly.ListAllCommitsResponse.commits:type_name -> gitaly.GitCommit
- 61, // 9: gitaly.CommitStatsRequest.repository:type_name -> gitaly.Repository
- 61, // 10: gitaly.CommitIsAncestorRequest.repository:type_name -> gitaly.Repository
- 61, // 11: gitaly.TreeEntryRequest.repository:type_name -> gitaly.Repository
+ 65, // 3: gitaly.ListCommitsRequest.after:type_name -> google.protobuf.Timestamp
+ 65, // 4: gitaly.ListCommitsRequest.before:type_name -> google.protobuf.Timestamp
+ 66, // 5: gitaly.ListCommitsResponse.commits:type_name -> gitaly.GitCommit
+ 63, // 6: gitaly.ListAllCommitsRequest.repository:type_name -> gitaly.Repository
+ 64, // 7: gitaly.ListAllCommitsRequest.pagination_params:type_name -> gitaly.PaginationParameter
+ 66, // 8: gitaly.ListAllCommitsResponse.commits:type_name -> gitaly.GitCommit
+ 63, // 9: gitaly.CommitStatsRequest.repository:type_name -> gitaly.Repository
+ 63, // 10: gitaly.CommitIsAncestorRequest.repository:type_name -> gitaly.Repository
+ 63, // 11: gitaly.TreeEntryRequest.repository:type_name -> gitaly.Repository
1, // 12: gitaly.TreeEntryResponse.type:type_name -> gitaly.TreeEntryResponse.ObjectType
- 61, // 13: gitaly.CountCommitsRequest.repository:type_name -> gitaly.Repository
- 63, // 14: gitaly.CountCommitsRequest.after:type_name -> google.protobuf.Timestamp
- 63, // 15: gitaly.CountCommitsRequest.before:type_name -> google.protobuf.Timestamp
- 65, // 16: gitaly.CountCommitsRequest.global_options:type_name -> gitaly.GlobalOptions
- 61, // 17: gitaly.CountDivergingCommitsRequest.repository:type_name -> gitaly.Repository
+ 63, // 13: gitaly.CountCommitsRequest.repository:type_name -> gitaly.Repository
+ 65, // 14: gitaly.CountCommitsRequest.after:type_name -> google.protobuf.Timestamp
+ 65, // 15: gitaly.CountCommitsRequest.before:type_name -> google.protobuf.Timestamp
+ 67, // 16: gitaly.CountCommitsRequest.global_options:type_name -> gitaly.GlobalOptions
+ 63, // 17: gitaly.CountDivergingCommitsRequest.repository:type_name -> gitaly.Repository
2, // 18: gitaly.TreeEntry.type:type_name -> gitaly.TreeEntry.EntryType
- 61, // 19: gitaly.GetTreeEntriesRequest.repository:type_name -> gitaly.Repository
+ 63, // 19: gitaly.GetTreeEntriesRequest.repository:type_name -> gitaly.Repository
3, // 20: gitaly.GetTreeEntriesRequest.sort:type_name -> gitaly.GetTreeEntriesRequest.SortBy
- 62, // 21: gitaly.GetTreeEntriesRequest.pagination_params:type_name -> gitaly.PaginationParameter
+ 64, // 21: gitaly.GetTreeEntriesRequest.pagination_params:type_name -> gitaly.PaginationParameter
21, // 22: gitaly.GetTreeEntriesResponse.entries:type_name -> gitaly.TreeEntry
- 66, // 23: gitaly.GetTreeEntriesResponse.pagination_cursor:type_name -> gitaly.PaginationCursor
- 67, // 24: gitaly.GetTreeEntriesError.resolve_tree:type_name -> gitaly.ResolveRevisionError
- 68, // 25: gitaly.GetTreeEntriesError.path:type_name -> gitaly.PathError
- 61, // 26: gitaly.ListFilesRequest.repository:type_name -> gitaly.Repository
- 61, // 27: gitaly.FindCommitRequest.repository:type_name -> gitaly.Repository
- 64, // 28: gitaly.FindCommitResponse.commit:type_name -> gitaly.GitCommit
- 61, // 29: gitaly.ListCommitsByOidRequest.repository:type_name -> gitaly.Repository
- 64, // 30: gitaly.ListCommitsByOidResponse.commits:type_name -> gitaly.GitCommit
- 61, // 31: gitaly.ListCommitsByRefNameRequest.repository:type_name -> gitaly.Repository
- 57, // 32: gitaly.ListCommitsByRefNameResponse.commit_refs:type_name -> gitaly.ListCommitsByRefNameResponse.CommitForRef
- 61, // 33: gitaly.FindAllCommitsRequest.repository:type_name -> gitaly.Repository
+ 68, // 23: gitaly.GetTreeEntriesResponse.pagination_cursor:type_name -> gitaly.PaginationCursor
+ 69, // 24: gitaly.GetTreeEntriesError.resolve_tree:type_name -> gitaly.ResolveRevisionError
+ 70, // 25: gitaly.GetTreeEntriesError.path:type_name -> gitaly.PathError
+ 63, // 26: gitaly.ListFilesRequest.repository:type_name -> gitaly.Repository
+ 63, // 27: gitaly.FindCommitRequest.repository:type_name -> gitaly.Repository
+ 66, // 28: gitaly.FindCommitResponse.commit:type_name -> gitaly.GitCommit
+ 63, // 29: gitaly.ListCommitsByOidRequest.repository:type_name -> gitaly.Repository
+ 66, // 30: gitaly.ListCommitsByOidResponse.commits:type_name -> gitaly.GitCommit
+ 63, // 31: gitaly.ListCommitsByRefNameRequest.repository:type_name -> gitaly.Repository
+ 58, // 32: gitaly.ListCommitsByRefNameResponse.commit_refs:type_name -> gitaly.ListCommitsByRefNameResponse.CommitForRef
+ 63, // 33: gitaly.FindAllCommitsRequest.repository:type_name -> gitaly.Repository
4, // 34: gitaly.FindAllCommitsRequest.order:type_name -> gitaly.FindAllCommitsRequest.Order
- 64, // 35: gitaly.FindAllCommitsResponse.commits:type_name -> gitaly.GitCommit
- 61, // 36: gitaly.FindCommitsRequest.repository:type_name -> gitaly.Repository
- 63, // 37: gitaly.FindCommitsRequest.after:type_name -> google.protobuf.Timestamp
- 63, // 38: gitaly.FindCommitsRequest.before:type_name -> google.protobuf.Timestamp
+ 66, // 35: gitaly.FindAllCommitsResponse.commits:type_name -> gitaly.GitCommit
+ 63, // 36: gitaly.FindCommitsRequest.repository:type_name -> gitaly.Repository
+ 65, // 37: gitaly.FindCommitsRequest.after:type_name -> google.protobuf.Timestamp
+ 65, // 38: gitaly.FindCommitsRequest.before:type_name -> google.protobuf.Timestamp
5, // 39: gitaly.FindCommitsRequest.order:type_name -> gitaly.FindCommitsRequest.Order
- 65, // 40: gitaly.FindCommitsRequest.global_options:type_name -> gitaly.GlobalOptions
- 64, // 41: gitaly.FindCommitsResponse.commits:type_name -> gitaly.GitCommit
- 61, // 42: gitaly.CommitLanguagesRequest.repository:type_name -> gitaly.Repository
- 58, // 43: gitaly.CommitLanguagesResponse.languages:type_name -> gitaly.CommitLanguagesResponse.Language
- 61, // 44: gitaly.RawBlameRequest.repository:type_name -> gitaly.Repository
- 61, // 45: gitaly.LastCommitForPathRequest.repository:type_name -> gitaly.Repository
- 65, // 46: gitaly.LastCommitForPathRequest.global_options:type_name -> gitaly.GlobalOptions
- 64, // 47: gitaly.LastCommitForPathResponse.commit:type_name -> gitaly.GitCommit
- 61, // 48: gitaly.ListLastCommitsForTreeRequest.repository:type_name -> gitaly.Repository
- 65, // 49: gitaly.ListLastCommitsForTreeRequest.global_options:type_name -> gitaly.GlobalOptions
- 59, // 50: gitaly.ListLastCommitsForTreeResponse.commits:type_name -> gitaly.ListLastCommitsForTreeResponse.CommitForTree
- 61, // 51: gitaly.CommitsByMessageRequest.repository:type_name -> gitaly.Repository
- 65, // 52: gitaly.CommitsByMessageRequest.global_options:type_name -> gitaly.GlobalOptions
- 64, // 53: gitaly.CommitsByMessageResponse.commits:type_name -> gitaly.GitCommit
- 61, // 54: gitaly.FilterShasWithSignaturesRequest.repository:type_name -> gitaly.Repository
- 61, // 55: gitaly.ExtractCommitSignatureRequest.repository:type_name -> gitaly.Repository
- 61, // 56: gitaly.GetCommitSignaturesRequest.repository:type_name -> gitaly.Repository
- 6, // 57: gitaly.GetCommitSignaturesResponse.signer:type_name -> gitaly.GetCommitSignaturesResponse.Signer
- 61, // 58: gitaly.GetCommitMessagesRequest.repository:type_name -> gitaly.Repository
- 61, // 59: gitaly.CheckObjectsExistRequest.repository:type_name -> gitaly.Repository
- 60, // 60: gitaly.CheckObjectsExistResponse.revisions:type_name -> gitaly.CheckObjectsExistResponse.RevisionExistence
- 64, // 61: gitaly.ListCommitsByRefNameResponse.CommitForRef.commit:type_name -> gitaly.GitCommit
- 64, // 62: gitaly.ListLastCommitsForTreeResponse.CommitForTree.commit:type_name -> gitaly.GitCommit
- 7, // 63: gitaly.CommitService.ListCommits:input_type -> gitaly.ListCommitsRequest
- 9, // 64: gitaly.CommitService.ListAllCommits:input_type -> gitaly.ListAllCommitsRequest
- 13, // 65: gitaly.CommitService.CommitIsAncestor:input_type -> gitaly.CommitIsAncestorRequest
- 15, // 66: gitaly.CommitService.TreeEntry:input_type -> gitaly.TreeEntryRequest
- 17, // 67: gitaly.CommitService.CountCommits:input_type -> gitaly.CountCommitsRequest
- 19, // 68: gitaly.CommitService.CountDivergingCommits:input_type -> gitaly.CountDivergingCommitsRequest
- 22, // 69: gitaly.CommitService.GetTreeEntries:input_type -> gitaly.GetTreeEntriesRequest
- 25, // 70: gitaly.CommitService.ListFiles:input_type -> gitaly.ListFilesRequest
- 27, // 71: gitaly.CommitService.FindCommit:input_type -> gitaly.FindCommitRequest
- 11, // 72: gitaly.CommitService.CommitStats:input_type -> gitaly.CommitStatsRequest
- 33, // 73: gitaly.CommitService.FindAllCommits:input_type -> gitaly.FindAllCommitsRequest
- 35, // 74: gitaly.CommitService.FindCommits:input_type -> gitaly.FindCommitsRequest
- 37, // 75: gitaly.CommitService.CommitLanguages:input_type -> gitaly.CommitLanguagesRequest
- 39, // 76: gitaly.CommitService.RawBlame:input_type -> gitaly.RawBlameRequest
- 41, // 77: gitaly.CommitService.LastCommitForPath:input_type -> gitaly.LastCommitForPathRequest
- 43, // 78: gitaly.CommitService.ListLastCommitsForTree:input_type -> gitaly.ListLastCommitsForTreeRequest
- 45, // 79: gitaly.CommitService.CommitsByMessage:input_type -> gitaly.CommitsByMessageRequest
- 29, // 80: gitaly.CommitService.ListCommitsByOid:input_type -> gitaly.ListCommitsByOidRequest
- 31, // 81: gitaly.CommitService.ListCommitsByRefName:input_type -> gitaly.ListCommitsByRefNameRequest
- 47, // 82: gitaly.CommitService.FilterShasWithSignatures:input_type -> gitaly.FilterShasWithSignaturesRequest
- 51, // 83: gitaly.CommitService.GetCommitSignatures:input_type -> gitaly.GetCommitSignaturesRequest
- 53, // 84: gitaly.CommitService.GetCommitMessages:input_type -> gitaly.GetCommitMessagesRequest
- 55, // 85: gitaly.CommitService.CheckObjectsExist:input_type -> gitaly.CheckObjectsExistRequest
- 8, // 86: gitaly.CommitService.ListCommits:output_type -> gitaly.ListCommitsResponse
- 10, // 87: gitaly.CommitService.ListAllCommits:output_type -> gitaly.ListAllCommitsResponse
- 14, // 88: gitaly.CommitService.CommitIsAncestor:output_type -> gitaly.CommitIsAncestorResponse
- 16, // 89: gitaly.CommitService.TreeEntry:output_type -> gitaly.TreeEntryResponse
- 18, // 90: gitaly.CommitService.CountCommits:output_type -> gitaly.CountCommitsResponse
- 20, // 91: gitaly.CommitService.CountDivergingCommits:output_type -> gitaly.CountDivergingCommitsResponse
- 23, // 92: gitaly.CommitService.GetTreeEntries:output_type -> gitaly.GetTreeEntriesResponse
- 26, // 93: gitaly.CommitService.ListFiles:output_type -> gitaly.ListFilesResponse
- 28, // 94: gitaly.CommitService.FindCommit:output_type -> gitaly.FindCommitResponse
- 12, // 95: gitaly.CommitService.CommitStats:output_type -> gitaly.CommitStatsResponse
- 34, // 96: gitaly.CommitService.FindAllCommits:output_type -> gitaly.FindAllCommitsResponse
- 36, // 97: gitaly.CommitService.FindCommits:output_type -> gitaly.FindCommitsResponse
- 38, // 98: gitaly.CommitService.CommitLanguages:output_type -> gitaly.CommitLanguagesResponse
- 40, // 99: gitaly.CommitService.RawBlame:output_type -> gitaly.RawBlameResponse
- 42, // 100: gitaly.CommitService.LastCommitForPath:output_type -> gitaly.LastCommitForPathResponse
- 44, // 101: gitaly.CommitService.ListLastCommitsForTree:output_type -> gitaly.ListLastCommitsForTreeResponse
- 46, // 102: gitaly.CommitService.CommitsByMessage:output_type -> gitaly.CommitsByMessageResponse
- 30, // 103: gitaly.CommitService.ListCommitsByOid:output_type -> gitaly.ListCommitsByOidResponse
- 32, // 104: gitaly.CommitService.ListCommitsByRefName:output_type -> gitaly.ListCommitsByRefNameResponse
- 48, // 105: gitaly.CommitService.FilterShasWithSignatures:output_type -> gitaly.FilterShasWithSignaturesResponse
- 52, // 106: gitaly.CommitService.GetCommitSignatures:output_type -> gitaly.GetCommitSignaturesResponse
- 54, // 107: gitaly.CommitService.GetCommitMessages:output_type -> gitaly.GetCommitMessagesResponse
- 56, // 108: gitaly.CommitService.CheckObjectsExist:output_type -> gitaly.CheckObjectsExistResponse
- 86, // [86:109] is the sub-list for method output_type
- 63, // [63:86] is the sub-list for method input_type
- 63, // [63:63] is the sub-list for extension type_name
- 63, // [63:63] is the sub-list for extension extendee
- 0, // [0:63] is the sub-list for field type_name
+ 67, // 40: gitaly.FindCommitsRequest.global_options:type_name -> gitaly.GlobalOptions
+ 66, // 41: gitaly.FindCommitsResponse.commits:type_name -> gitaly.GitCommit
+ 63, // 42: gitaly.CommitLanguagesRequest.repository:type_name -> gitaly.Repository
+ 59, // 43: gitaly.CommitLanguagesResponse.languages:type_name -> gitaly.CommitLanguagesResponse.Language
+ 63, // 44: gitaly.RawBlameRequest.repository:type_name -> gitaly.Repository
+ 71, // 45: gitaly.RawBlameError.path_not_found:type_name -> gitaly.PathNotFoundError
+ 60, // 46: gitaly.RawBlameError.out_of_range:type_name -> gitaly.RawBlameError.OutOfRangeError
+ 63, // 47: gitaly.LastCommitForPathRequest.repository:type_name -> gitaly.Repository
+ 67, // 48: gitaly.LastCommitForPathRequest.global_options:type_name -> gitaly.GlobalOptions
+ 66, // 49: gitaly.LastCommitForPathResponse.commit:type_name -> gitaly.GitCommit
+ 63, // 50: gitaly.ListLastCommitsForTreeRequest.repository:type_name -> gitaly.Repository
+ 67, // 51: gitaly.ListLastCommitsForTreeRequest.global_options:type_name -> gitaly.GlobalOptions
+ 61, // 52: gitaly.ListLastCommitsForTreeResponse.commits:type_name -> gitaly.ListLastCommitsForTreeResponse.CommitForTree
+ 63, // 53: gitaly.CommitsByMessageRequest.repository:type_name -> gitaly.Repository
+ 67, // 54: gitaly.CommitsByMessageRequest.global_options:type_name -> gitaly.GlobalOptions
+ 66, // 55: gitaly.CommitsByMessageResponse.commits:type_name -> gitaly.GitCommit
+ 63, // 56: gitaly.FilterShasWithSignaturesRequest.repository:type_name -> gitaly.Repository
+ 63, // 57: gitaly.ExtractCommitSignatureRequest.repository:type_name -> gitaly.Repository
+ 63, // 58: gitaly.GetCommitSignaturesRequest.repository:type_name -> gitaly.Repository
+ 6, // 59: gitaly.GetCommitSignaturesResponse.signer:type_name -> gitaly.GetCommitSignaturesResponse.Signer
+ 63, // 60: gitaly.GetCommitMessagesRequest.repository:type_name -> gitaly.Repository
+ 63, // 61: gitaly.CheckObjectsExistRequest.repository:type_name -> gitaly.Repository
+ 62, // 62: gitaly.CheckObjectsExistResponse.revisions:type_name -> gitaly.CheckObjectsExistResponse.RevisionExistence
+ 66, // 63: gitaly.ListCommitsByRefNameResponse.CommitForRef.commit:type_name -> gitaly.GitCommit
+ 66, // 64: gitaly.ListLastCommitsForTreeResponse.CommitForTree.commit:type_name -> gitaly.GitCommit
+ 7, // 65: gitaly.CommitService.ListCommits:input_type -> gitaly.ListCommitsRequest
+ 9, // 66: gitaly.CommitService.ListAllCommits:input_type -> gitaly.ListAllCommitsRequest
+ 13, // 67: gitaly.CommitService.CommitIsAncestor:input_type -> gitaly.CommitIsAncestorRequest
+ 15, // 68: gitaly.CommitService.TreeEntry:input_type -> gitaly.TreeEntryRequest
+ 17, // 69: gitaly.CommitService.CountCommits:input_type -> gitaly.CountCommitsRequest
+ 19, // 70: gitaly.CommitService.CountDivergingCommits:input_type -> gitaly.CountDivergingCommitsRequest
+ 22, // 71: gitaly.CommitService.GetTreeEntries:input_type -> gitaly.GetTreeEntriesRequest
+ 25, // 72: gitaly.CommitService.ListFiles:input_type -> gitaly.ListFilesRequest
+ 27, // 73: gitaly.CommitService.FindCommit:input_type -> gitaly.FindCommitRequest
+ 11, // 74: gitaly.CommitService.CommitStats:input_type -> gitaly.CommitStatsRequest
+ 33, // 75: gitaly.CommitService.FindAllCommits:input_type -> gitaly.FindAllCommitsRequest
+ 35, // 76: gitaly.CommitService.FindCommits:input_type -> gitaly.FindCommitsRequest
+ 37, // 77: gitaly.CommitService.CommitLanguages:input_type -> gitaly.CommitLanguagesRequest
+ 39, // 78: gitaly.CommitService.RawBlame:input_type -> gitaly.RawBlameRequest
+ 42, // 79: gitaly.CommitService.LastCommitForPath:input_type -> gitaly.LastCommitForPathRequest
+ 44, // 80: gitaly.CommitService.ListLastCommitsForTree:input_type -> gitaly.ListLastCommitsForTreeRequest
+ 46, // 81: gitaly.CommitService.CommitsByMessage:input_type -> gitaly.CommitsByMessageRequest
+ 29, // 82: gitaly.CommitService.ListCommitsByOid:input_type -> gitaly.ListCommitsByOidRequest
+ 31, // 83: gitaly.CommitService.ListCommitsByRefName:input_type -> gitaly.ListCommitsByRefNameRequest
+ 48, // 84: gitaly.CommitService.FilterShasWithSignatures:input_type -> gitaly.FilterShasWithSignaturesRequest
+ 52, // 85: gitaly.CommitService.GetCommitSignatures:input_type -> gitaly.GetCommitSignaturesRequest
+ 54, // 86: gitaly.CommitService.GetCommitMessages:input_type -> gitaly.GetCommitMessagesRequest
+ 56, // 87: gitaly.CommitService.CheckObjectsExist:input_type -> gitaly.CheckObjectsExistRequest
+ 8, // 88: gitaly.CommitService.ListCommits:output_type -> gitaly.ListCommitsResponse
+ 10, // 89: gitaly.CommitService.ListAllCommits:output_type -> gitaly.ListAllCommitsResponse
+ 14, // 90: gitaly.CommitService.CommitIsAncestor:output_type -> gitaly.CommitIsAncestorResponse
+ 16, // 91: gitaly.CommitService.TreeEntry:output_type -> gitaly.TreeEntryResponse
+ 18, // 92: gitaly.CommitService.CountCommits:output_type -> gitaly.CountCommitsResponse
+ 20, // 93: gitaly.CommitService.CountDivergingCommits:output_type -> gitaly.CountDivergingCommitsResponse
+ 23, // 94: gitaly.CommitService.GetTreeEntries:output_type -> gitaly.GetTreeEntriesResponse
+ 26, // 95: gitaly.CommitService.ListFiles:output_type -> gitaly.ListFilesResponse
+ 28, // 96: gitaly.CommitService.FindCommit:output_type -> gitaly.FindCommitResponse
+ 12, // 97: gitaly.CommitService.CommitStats:output_type -> gitaly.CommitStatsResponse
+ 34, // 98: gitaly.CommitService.FindAllCommits:output_type -> gitaly.FindAllCommitsResponse
+ 36, // 99: gitaly.CommitService.FindCommits:output_type -> gitaly.FindCommitsResponse
+ 38, // 100: gitaly.CommitService.CommitLanguages:output_type -> gitaly.CommitLanguagesResponse
+ 40, // 101: gitaly.CommitService.RawBlame:output_type -> gitaly.RawBlameResponse
+ 43, // 102: gitaly.CommitService.LastCommitForPath:output_type -> gitaly.LastCommitForPathResponse
+ 45, // 103: gitaly.CommitService.ListLastCommitsForTree:output_type -> gitaly.ListLastCommitsForTreeResponse
+ 47, // 104: gitaly.CommitService.CommitsByMessage:output_type -> gitaly.CommitsByMessageResponse
+ 30, // 105: gitaly.CommitService.ListCommitsByOid:output_type -> gitaly.ListCommitsByOidResponse
+ 32, // 106: gitaly.CommitService.ListCommitsByRefName:output_type -> gitaly.ListCommitsByRefNameResponse
+ 49, // 107: gitaly.CommitService.FilterShasWithSignatures:output_type -> gitaly.FilterShasWithSignaturesResponse
+ 53, // 108: gitaly.CommitService.GetCommitSignatures:output_type -> gitaly.GetCommitSignaturesResponse
+ 55, // 109: gitaly.CommitService.GetCommitMessages:output_type -> gitaly.GetCommitMessagesResponse
+ 57, // 110: gitaly.CommitService.CheckObjectsExist:output_type -> gitaly.CheckObjectsExistResponse
+ 88, // [88:111] is the sub-list for method output_type
+ 65, // [65:88] is the sub-list for method input_type
+ 65, // [65:65] is the sub-list for extension type_name
+ 65, // [65:65] is the sub-list for extension extendee
+ 0, // [0:65] is the sub-list for field type_name
}
func init() { file_commit_proto_init() }
@@ -5411,7 +5565,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*LastCommitForPathRequest); i {
+ switch v := v.(*RawBlameError); i {
case 0:
return &v.state
case 1:
@@ -5423,7 +5577,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*LastCommitForPathResponse); i {
+ switch v := v.(*LastCommitForPathRequest); i {
case 0:
return &v.state
case 1:
@@ -5435,7 +5589,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListLastCommitsForTreeRequest); i {
+ switch v := v.(*LastCommitForPathResponse); i {
case 0:
return &v.state
case 1:
@@ -5447,7 +5601,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListLastCommitsForTreeResponse); i {
+ switch v := v.(*ListLastCommitsForTreeRequest); i {
case 0:
return &v.state
case 1:
@@ -5459,7 +5613,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CommitsByMessageRequest); i {
+ switch v := v.(*ListLastCommitsForTreeResponse); i {
case 0:
return &v.state
case 1:
@@ -5471,7 +5625,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CommitsByMessageResponse); i {
+ switch v := v.(*CommitsByMessageRequest); i {
case 0:
return &v.state
case 1:
@@ -5483,7 +5637,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FilterShasWithSignaturesRequest); i {
+ switch v := v.(*CommitsByMessageResponse); i {
case 0:
return &v.state
case 1:
@@ -5495,7 +5649,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FilterShasWithSignaturesResponse); i {
+ switch v := v.(*FilterShasWithSignaturesRequest); i {
case 0:
return &v.state
case 1:
@@ -5507,7 +5661,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ExtractCommitSignatureRequest); i {
+ switch v := v.(*FilterShasWithSignaturesResponse); i {
case 0:
return &v.state
case 1:
@@ -5519,7 +5673,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ExtractCommitSignatureResponse); i {
+ switch v := v.(*ExtractCommitSignatureRequest); i {
case 0:
return &v.state
case 1:
@@ -5531,7 +5685,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetCommitSignaturesRequest); i {
+ switch v := v.(*ExtractCommitSignatureResponse); i {
case 0:
return &v.state
case 1:
@@ -5543,7 +5697,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetCommitSignaturesResponse); i {
+ switch v := v.(*GetCommitSignaturesRequest); i {
case 0:
return &v.state
case 1:
@@ -5555,7 +5709,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetCommitMessagesRequest); i {
+ switch v := v.(*GetCommitSignaturesResponse); i {
case 0:
return &v.state
case 1:
@@ -5567,7 +5721,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetCommitMessagesResponse); i {
+ switch v := v.(*GetCommitMessagesRequest); i {
case 0:
return &v.state
case 1:
@@ -5579,7 +5733,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CheckObjectsExistRequest); i {
+ switch v := v.(*GetCommitMessagesResponse); i {
case 0:
return &v.state
case 1:
@@ -5591,7 +5745,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CheckObjectsExistResponse); i {
+ switch v := v.(*CheckObjectsExistRequest); i {
case 0:
return &v.state
case 1:
@@ -5603,7 +5757,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListCommitsByRefNameResponse_CommitForRef); i {
+ switch v := v.(*CheckObjectsExistResponse); i {
case 0:
return &v.state
case 1:
@@ -5615,7 +5769,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*CommitLanguagesResponse_Language); i {
+ switch v := v.(*ListCommitsByRefNameResponse_CommitForRef); i {
case 0:
return &v.state
case 1:
@@ -5627,7 +5781,7 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListLastCommitsForTreeResponse_CommitForTree); i {
+ switch v := v.(*CommitLanguagesResponse_Language); i {
case 0:
return &v.state
case 1:
@@ -5639,6 +5793,30 @@ func file_commit_proto_init() {
}
}
file_commit_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RawBlameError_OutOfRangeError); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_commit_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListLastCommitsForTreeResponse_CommitForTree); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_commit_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CheckObjectsExistResponse_RevisionExistence); i {
case 0:
return &v.state
@@ -5655,13 +5833,17 @@ func file_commit_proto_init() {
(*GetTreeEntriesError_ResolveTree)(nil),
(*GetTreeEntriesError_Path)(nil),
}
+ file_commit_proto_msgTypes[34].OneofWrappers = []interface{}{
+ (*RawBlameError_PathNotFound)(nil),
+ (*RawBlameError_OutOfRange)(nil),
+ }
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_commit_proto_rawDesc,
NumEnums: 7,
- NumMessages: 54,
+ NumMessages: 56,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/proto/go/gitalypb/commit_grpc.pb.go b/proto/go/gitalypb/commit_grpc.pb.go
index e3aeeaa06..d476f2d91 100644
--- a/proto/go/gitalypb/commit_grpc.pb.go
+++ b/proto/go/gitalypb/commit_grpc.pb.go
@@ -52,7 +52,8 @@ type CommitServiceClient interface {
// CommitLanguages detects the source code languages of the whole tree for a
// given commit. Returns an error in case no languages could be detected.
CommitLanguages(ctx context.Context, in *CommitLanguagesRequest, opts ...grpc.CallOption) (*CommitLanguagesResponse, error)
- // This comment is left unintentionally blank.
+ // RawBlame blames lines in a blob to when they have last been changed. Returns the raw output of the git-blame(1)
+ // command.
RawBlame(ctx context.Context, in *RawBlameRequest, opts ...grpc.CallOption) (CommitService_RawBlameClient, error)
// LastCommitForPath returns the last commit that has changed a given path.
//
@@ -697,7 +698,8 @@ type CommitServiceServer interface {
// CommitLanguages detects the source code languages of the whole tree for a
// given commit. Returns an error in case no languages could be detected.
CommitLanguages(context.Context, *CommitLanguagesRequest) (*CommitLanguagesResponse, error)
- // This comment is left unintentionally blank.
+ // RawBlame blames lines in a blob to when they have last been changed. Returns the raw output of the git-blame(1)
+ // command.
RawBlame(*RawBlameRequest, CommitService_RawBlameServer) error
// LastCommitForPath returns the last commit that has changed a given path.
//
diff --git a/proto/go/gitalypb/errors.pb.go b/proto/go/gitalypb/errors.pb.go
index 8501cbc75..3d3c4e56e 100644
--- a/proto/go/gitalypb/errors.pb.go
+++ b/proto/go/gitalypb/errors.pb.go
@@ -1100,6 +1100,55 @@ func (x *PathError) GetErrorType() PathError_ErrorType {
return PathError_ERROR_TYPE_UNSPECIFIED
}
+// PathNotFoundError is an error returned when a given path cannot be found.
+type PathNotFoundError struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Path is the path that could not be found.
+ Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
+}
+
+func (x *PathNotFoundError) Reset() {
+ *x = PathNotFoundError{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_errors_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PathNotFoundError) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PathNotFoundError) ProtoMessage() {}
+
+func (x *PathNotFoundError) ProtoReflect() protoreflect.Message {
+ mi := &file_errors_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PathNotFoundError.ProtoReflect.Descriptor instead.
+func (*PathNotFoundError) Descriptor() ([]byte, []int) {
+ return file_errors_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *PathNotFoundError) GetPath() []byte {
+ if x != nil {
+ return x.Path
+ }
+ return nil
+}
+
var File_errors_proto protoreflect.FileDescriptor
var file_errors_proto_rawDesc = []byte{
@@ -1224,11 +1273,14 @@ var file_errors_proto_rawDesc = []byte{
0x52, 0x59, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x59,
0x50, 0x45, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48,
0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x04, 0x42, 0x34, 0x5a, 0x32,
- 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61,
- 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x36,
- 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x04, 0x22, 0x27, 0x0a, 0x11,
+ 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x72, 0x72, 0x6f,
+ 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
+ 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67,
+ 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x36, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
+ 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
}
var (
@@ -1244,7 +1296,7 @@ func file_errors_proto_rawDescGZIP() []byte {
}
var file_errors_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_errors_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
+var file_errors_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_errors_proto_goTypes = []interface{}{
(IndexError_ErrorType)(0), // 0: gitaly.IndexError.ErrorType
(CustomHookError_HookType)(0), // 1: gitaly.CustomHookError.HookType
@@ -1264,11 +1316,12 @@ var file_errors_proto_goTypes = []interface{}{
(*LimitError)(nil), // 15: gitaly.LimitError
(*CustomHookError)(nil), // 16: gitaly.CustomHookError
(*PathError)(nil), // 17: gitaly.PathError
- (*durationpb.Duration)(nil), // 18: google.protobuf.Duration
+ (*PathNotFoundError)(nil), // 18: gitaly.PathNotFoundError
+ (*durationpb.Duration)(nil), // 19: google.protobuf.Duration
}
var file_errors_proto_depIdxs = []int32{
0, // 0: gitaly.IndexError.error_type:type_name -> gitaly.IndexError.ErrorType
- 18, // 1: gitaly.LimitError.retry_after:type_name -> google.protobuf.Duration
+ 19, // 1: gitaly.LimitError.retry_after:type_name -> google.protobuf.Duration
1, // 2: gitaly.CustomHookError.hook_type:type_name -> gitaly.CustomHookError.HookType
2, // 3: gitaly.PathError.error_type:type_name -> gitaly.PathError.ErrorType
4, // [4:4] is the sub-list for method output_type
@@ -1464,6 +1517,18 @@ func file_errors_proto_init() {
return nil
}
}
+ file_errors_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PathNotFoundError); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
type x struct{}
out := protoimpl.TypeBuilder{
@@ -1471,7 +1536,7 @@ func file_errors_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_errors_proto_rawDesc,
NumEnums: 3,
- NumMessages: 15,
+ NumMessages: 16,
NumExtensions: 0,
NumServices: 0,
},