| // Copyright 2010 Google LLC. All Rights Reserved. |
| |
| // |
| // new proto definitions for goma v2 |
| // LINT: ALLOW_GROUPS |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.27.1 |
| // protoc v3.19.0 |
| // source: api/goma_data.proto |
| |
| package api |
| |
| import ( |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| timestamppb "google.golang.org/protobuf/types/known/timestamppb" |
| reflect "reflect" |
| sync "sync" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| type FileBlob_BlobType int32 |
| |
| const ( |
| FileBlob_FILE_UNSPECIFIED FileBlob_BlobType = 0 |
| FileBlob_FILE FileBlob_BlobType = 1 |
| FileBlob_FILE_META FileBlob_BlobType = 2 |
| FileBlob_FILE_CHUNK FileBlob_BlobType = 3 |
| // ARCHIVE = 4; |
| FileBlob_FILE_REF FileBlob_BlobType = 5 |
| ) |
| |
| // Enum value maps for FileBlob_BlobType. |
| var ( |
| FileBlob_BlobType_name = map[int32]string{ |
| 0: "FILE_UNSPECIFIED", |
| 1: "FILE", |
| 2: "FILE_META", |
| 3: "FILE_CHUNK", |
| 5: "FILE_REF", |
| } |
| FileBlob_BlobType_value = map[string]int32{ |
| "FILE_UNSPECIFIED": 0, |
| "FILE": 1, |
| "FILE_META": 2, |
| "FILE_CHUNK": 3, |
| "FILE_REF": 5, |
| } |
| ) |
| |
| func (x FileBlob_BlobType) Enum() *FileBlob_BlobType { |
| p := new(FileBlob_BlobType) |
| *p = x |
| return p |
| } |
| |
| func (x FileBlob_BlobType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (FileBlob_BlobType) Descriptor() protoreflect.EnumDescriptor { |
| return file_api_goma_data_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (FileBlob_BlobType) Type() protoreflect.EnumType { |
| return &file_api_goma_data_proto_enumTypes[0] |
| } |
| |
| func (x FileBlob_BlobType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *FileBlob_BlobType) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = FileBlob_BlobType(num) |
| return nil |
| } |
| |
| // Deprecated: Use FileBlob_BlobType.Descriptor instead. |
| func (FileBlob_BlobType) EnumDescriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{0, 0} |
| } |
| |
| // The version of goma protocol. This is intended to be used for two purpose: |
| // |
| // - When we changes the meanings of compiler_proxy's request, we may |
| // want to support the previous type of requests in our backend for a while. |
| // Backend can change its behavior by checking the value of this field. |
| // - Once a server stops supporting the old behavior, the backend can |
| // send an error messages to the client. Also, we can track the clients' |
| // versions with this field so we can easily decide if it's safe to |
| // stop supporting the old behavior. |
| // |
| // 0 => 1: Changed the meaning of command_spec.system_include_path. |
| // Now -isysroot in a command line is considered to obtain this field. |
| // 1 => 2: command_spec.version contains vendor versions. |
| // E.g., 4.4.3[Ubuntu 4.4.3-4ubuntu5] |
| type RequesterInfo_GomaApiVersion int32 |
| |
| const ( |
| RequesterInfo_CURRENT_VERSION RequesterInfo_GomaApiVersion = 2 |
| ) |
| |
| // Enum value maps for RequesterInfo_GomaApiVersion. |
| var ( |
| RequesterInfo_GomaApiVersion_name = map[int32]string{ |
| 2: "CURRENT_VERSION", |
| } |
| RequesterInfo_GomaApiVersion_value = map[string]int32{ |
| "CURRENT_VERSION": 2, |
| } |
| ) |
| |
| func (x RequesterInfo_GomaApiVersion) Enum() *RequesterInfo_GomaApiVersion { |
| p := new(RequesterInfo_GomaApiVersion) |
| *p = x |
| return p |
| } |
| |
| func (x RequesterInfo_GomaApiVersion) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (RequesterInfo_GomaApiVersion) Descriptor() protoreflect.EnumDescriptor { |
| return file_api_goma_data_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (RequesterInfo_GomaApiVersion) Type() protoreflect.EnumType { |
| return &file_api_goma_data_proto_enumTypes[1] |
| } |
| |
| func (x RequesterInfo_GomaApiVersion) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *RequesterInfo_GomaApiVersion) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = RequesterInfo_GomaApiVersion(num) |
| return nil |
| } |
| |
| // Deprecated: Use RequesterInfo_GomaApiVersion.Descriptor instead. |
| func (RequesterInfo_GomaApiVersion) EnumDescriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{6, 0} |
| } |
| |
| // Implementation Note: `WINDOWS` is defined on Win, so we have to add |
| // prefix or suffix. |
| type RequesterInfo_PathStyle int32 |
| |
| const ( |
| RequesterInfo_UNKNOWN_STYLE RequesterInfo_PathStyle = 0 |
| RequesterInfo_POSIX_STYLE RequesterInfo_PathStyle = 1 // unix-style, slash separated. |
| RequesterInfo_WINDOWS_STYLE RequesterInfo_PathStyle = 2 // windows-style. backslash separated. |
| ) |
| |
| // Enum value maps for RequesterInfo_PathStyle. |
| var ( |
| RequesterInfo_PathStyle_name = map[int32]string{ |
| 0: "UNKNOWN_STYLE", |
| 1: "POSIX_STYLE", |
| 2: "WINDOWS_STYLE", |
| } |
| RequesterInfo_PathStyle_value = map[string]int32{ |
| "UNKNOWN_STYLE": 0, |
| "POSIX_STYLE": 1, |
| "WINDOWS_STYLE": 2, |
| } |
| ) |
| |
| func (x RequesterInfo_PathStyle) Enum() *RequesterInfo_PathStyle { |
| p := new(RequesterInfo_PathStyle) |
| *p = x |
| return p |
| } |
| |
| func (x RequesterInfo_PathStyle) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (RequesterInfo_PathStyle) Descriptor() protoreflect.EnumDescriptor { |
| return file_api_goma_data_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (RequesterInfo_PathStyle) Type() protoreflect.EnumType { |
| return &file_api_goma_data_proto_enumTypes[2] |
| } |
| |
| func (x RequesterInfo_PathStyle) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *RequesterInfo_PathStyle) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = RequesterInfo_PathStyle(num) |
| return nil |
| } |
| |
| // Deprecated: Use RequesterInfo_PathStyle.Descriptor instead. |
| func (RequesterInfo_PathStyle) EnumDescriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{6, 1} |
| } |
| |
| type ExecReq_CachePolicy int32 |
| |
| const ( |
| // IGNORE = 0; |
| ExecReq_LOOKUP_AND_STORE ExecReq_CachePolicy = 1 |
| ExecReq_LOOKUP_ONLY ExecReq_CachePolicy = 2 |
| ExecReq_STORE_ONLY ExecReq_CachePolicy = 3 |
| ExecReq_LOOKUP_AND_STORE_SUCCESS ExecReq_CachePolicy = 4 |
| ) |
| |
| // Enum value maps for ExecReq_CachePolicy. |
| var ( |
| ExecReq_CachePolicy_name = map[int32]string{ |
| 1: "LOOKUP_AND_STORE", |
| 2: "LOOKUP_ONLY", |
| 3: "STORE_ONLY", |
| 4: "LOOKUP_AND_STORE_SUCCESS", |
| } |
| ExecReq_CachePolicy_value = map[string]int32{ |
| "LOOKUP_AND_STORE": 1, |
| "LOOKUP_ONLY": 2, |
| "STORE_ONLY": 3, |
| "LOOKUP_AND_STORE_SUCCESS": 4, |
| } |
| ) |
| |
| func (x ExecReq_CachePolicy) Enum() *ExecReq_CachePolicy { |
| p := new(ExecReq_CachePolicy) |
| *p = x |
| return p |
| } |
| |
| func (x ExecReq_CachePolicy) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ExecReq_CachePolicy) Descriptor() protoreflect.EnumDescriptor { |
| return file_api_goma_data_proto_enumTypes[3].Descriptor() |
| } |
| |
| func (ExecReq_CachePolicy) Type() protoreflect.EnumType { |
| return &file_api_goma_data_proto_enumTypes[3] |
| } |
| |
| func (x ExecReq_CachePolicy) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *ExecReq_CachePolicy) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = ExecReq_CachePolicy(num) |
| return nil |
| } |
| |
| // Deprecated: Use ExecReq_CachePolicy.Descriptor instead. |
| func (ExecReq_CachePolicy) EnumDescriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{8, 0} |
| } |
| |
| type ExecResp_ExecError int32 |
| |
| const ( |
| ExecResp_OK ExecResp_ExecError = 0 |
| ExecResp_BAD_REQUEST ExecResp_ExecError = -1 // Non retryable error. |
| ) |
| |
| // Enum value maps for ExecResp_ExecError. |
| var ( |
| ExecResp_ExecError_name = map[int32]string{ |
| 0: "OK", |
| -1: "BAD_REQUEST", |
| } |
| ExecResp_ExecError_value = map[string]int32{ |
| "OK": 0, |
| "BAD_REQUEST": -1, |
| } |
| ) |
| |
| func (x ExecResp_ExecError) Enum() *ExecResp_ExecError { |
| p := new(ExecResp_ExecError) |
| *p = x |
| return p |
| } |
| |
| func (x ExecResp_ExecError) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ExecResp_ExecError) Descriptor() protoreflect.EnumDescriptor { |
| return file_api_goma_data_proto_enumTypes[4].Descriptor() |
| } |
| |
| func (ExecResp_ExecError) Type() protoreflect.EnumType { |
| return &file_api_goma_data_proto_enumTypes[4] |
| } |
| |
| func (x ExecResp_ExecError) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *ExecResp_ExecError) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = ExecResp_ExecError(num) |
| return nil |
| } |
| |
| // Deprecated: Use ExecResp_ExecError.Descriptor instead. |
| func (ExecResp_ExecError) EnumDescriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{10, 0} |
| } |
| |
| // Specifies the reason of ExecError::BAD_REQUEST. |
| type ExecResp_BadRequestReasonCode int32 |
| |
| const ( |
| // The reason is unknown (or not BAD_REQUEST) |
| ExecResp_UNKNOWN ExecResp_BadRequestReasonCode = 0 |
| // The request contains unsupported compiler flags. |
| ExecResp_UNSUPPORTED_COMPILER_FLAGS ExecResp_BadRequestReasonCode = 1 |
| ) |
| |
| // Enum value maps for ExecResp_BadRequestReasonCode. |
| var ( |
| ExecResp_BadRequestReasonCode_name = map[int32]string{ |
| 0: "UNKNOWN", |
| 1: "UNSUPPORTED_COMPILER_FLAGS", |
| } |
| ExecResp_BadRequestReasonCode_value = map[string]int32{ |
| "UNKNOWN": 0, |
| "UNSUPPORTED_COMPILER_FLAGS": 1, |
| } |
| ) |
| |
| func (x ExecResp_BadRequestReasonCode) Enum() *ExecResp_BadRequestReasonCode { |
| p := new(ExecResp_BadRequestReasonCode) |
| *p = x |
| return p |
| } |
| |
| func (x ExecResp_BadRequestReasonCode) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ExecResp_BadRequestReasonCode) Descriptor() protoreflect.EnumDescriptor { |
| return file_api_goma_data_proto_enumTypes[5].Descriptor() |
| } |
| |
| func (ExecResp_BadRequestReasonCode) Type() protoreflect.EnumType { |
| return &file_api_goma_data_proto_enumTypes[5] |
| } |
| |
| func (x ExecResp_BadRequestReasonCode) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *ExecResp_BadRequestReasonCode) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = ExecResp_BadRequestReasonCode(num) |
| return nil |
| } |
| |
| // Deprecated: Use ExecResp_BadRequestReasonCode.Descriptor instead. |
| func (ExecResp_BadRequestReasonCode) EnumDescriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{10, 1} |
| } |
| |
| type ExecResp_CacheSource int32 |
| |
| const ( |
| ExecResp_NO_CACHE ExecResp_CacheSource = 0 |
| ExecResp_MEM_CACHE ExecResp_CacheSource = 1 |
| ExecResp_STORAGE_CACHE ExecResp_CacheSource = 2 |
| ExecResp_LOCAL_OUTPUT_CACHE ExecResp_CacheSource = 3 |
| ) |
| |
| // Enum value maps for ExecResp_CacheSource. |
| var ( |
| ExecResp_CacheSource_name = map[int32]string{ |
| 0: "NO_CACHE", |
| 1: "MEM_CACHE", |
| 2: "STORAGE_CACHE", |
| 3: "LOCAL_OUTPUT_CACHE", |
| } |
| ExecResp_CacheSource_value = map[string]int32{ |
| "NO_CACHE": 0, |
| "MEM_CACHE": 1, |
| "STORAGE_CACHE": 2, |
| "LOCAL_OUTPUT_CACHE": 3, |
| } |
| ) |
| |
| func (x ExecResp_CacheSource) Enum() *ExecResp_CacheSource { |
| p := new(ExecResp_CacheSource) |
| *p = x |
| return p |
| } |
| |
| func (x ExecResp_CacheSource) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ExecResp_CacheSource) Descriptor() protoreflect.EnumDescriptor { |
| return file_api_goma_data_proto_enumTypes[6].Descriptor() |
| } |
| |
| func (ExecResp_CacheSource) Type() protoreflect.EnumType { |
| return &file_api_goma_data_proto_enumTypes[6] |
| } |
| |
| func (x ExecResp_CacheSource) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *ExecResp_CacheSource) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = ExecResp_CacheSource(num) |
| return nil |
| } |
| |
| // Deprecated: Use ExecResp_CacheSource.Descriptor instead. |
| func (ExecResp_CacheSource) EnumDescriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{10, 2} |
| } |
| |
| // hash_key = sha256(serialized FileBlob) |
| // |
| // for small file (< 2MB) embedded |
| // blob_type=FILE, !has_offset(), has_content() |
| // has_file_size(), hash_key_size() == 0 |
| // |
| // for large file |
| // blob_type=FILE_META, !has_offset(), !has_content() |
| // has_file_size(), hash_key_size() > 0 |
| // for each hash_key(i) |
| // blob_type=FILE_CHUNK, has_offset(), has_content(), |
| // has_file_size(), hash_key_size() == 0 |
| // |
| // for small file (< 2MB), stored as blob_type=FILE in file server with |
| // key=hash_key[0] |
| // blob_type=FILE_REF, !hash_offset(), !has_content() |
| // has_file_size(), hash_key_size() == 1 |
| type FileBlob struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BlobType *FileBlob_BlobType `protobuf:"varint,1,req,name=blob_type,json=blobType,enum=devtools_goma.FileBlob_BlobType" json:"blob_type,omitempty"` |
| // for blob_type=FILE_CHUNK |
| Offset *int64 `protobuf:"varint,10,opt,name=offset" json:"offset,omitempty"` |
| // for blob_type=FILE or FILE_CHUNK |
| Content []byte `protobuf:"bytes,11,opt,name=content" json:"content,omitempty"` |
| // for all blob_types |
| FileSize *int64 `protobuf:"varint,20,opt,name=file_size,json=fileSize" json:"file_size,omitempty"` |
| // for blob_type=FILE_META. hash_key is FileBlob hash of FILE_CHUNK. |
| HashKey []string `protobuf:"bytes,21,rep,name=hash_key,json=hashKey" json:"hash_key,omitempty"` |
| } |
| |
| func (x *FileBlob) Reset() { |
| *x = FileBlob{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *FileBlob) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*FileBlob) ProtoMessage() {} |
| |
| func (x *FileBlob) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use FileBlob.ProtoReflect.Descriptor instead. |
| func (*FileBlob) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *FileBlob) GetBlobType() FileBlob_BlobType { |
| if x != nil && x.BlobType != nil { |
| return *x.BlobType |
| } |
| return FileBlob_FILE_UNSPECIFIED |
| } |
| |
| func (x *FileBlob) GetOffset() int64 { |
| if x != nil && x.Offset != nil { |
| return *x.Offset |
| } |
| return 0 |
| } |
| |
| func (x *FileBlob) GetContent() []byte { |
| if x != nil { |
| return x.Content |
| } |
| return nil |
| } |
| |
| func (x *FileBlob) GetFileSize() int64 { |
| if x != nil && x.FileSize != nil { |
| return *x.FileSize |
| } |
| return 0 |
| } |
| |
| func (x *FileBlob) GetHashKey() []string { |
| if x != nil { |
| return x.HashKey |
| } |
| return nil |
| } |
| |
| // Goma backend selects compiler with CommandSpec. |
| // NEXT ID TO USE: 14 |
| type CommandSpec struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // "gcc", "g++", "cl.exe", etc, without |
| // path, version number and architecture. |
| Version *string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"` // "4.4.3[Ubuntu 4.4.3-4ubuntu5]" |
| Target *string `protobuf:"bytes,3,opt,name=target" json:"target,omitempty"` // "x86_64-linux-gnu |
| // Binary size of the command. |
| // Necessary if toolchain is sent to the server. |
| // TODO: Now that we have ToolchainSpec, this is not necessary. |
| Size *int64 `protobuf:"varint,13,opt,name=size" json:"size,omitempty"` |
| // The followings will be used to request more specific version of |
| // command, populated by compiler_proxy. |
| BinaryHash []byte `protobuf:"bytes,4,opt,name=binary_hash,json=binaryHash" json:"binary_hash,omitempty"` // to require exact the same binary. |
| // A list of alternative hashes. This field will be used when |
| // multiple binaries can be considered the same. For example, linux |
| // android gcc will be used even if a user is using goma from |
| // mac. For such cases, we should fill this field with binary hash |
| // of mac gcc. |
| EquivalentHash [][]byte `protobuf:"bytes,11,rep,name=equivalent_hash,json=equivalentHash" json:"equivalent_hash,omitempty"` |
| DetailedInfo *string `protobuf:"bytes,5,opt,name=detailed_info,json=detailedInfo" json:"detailed_info,omitempty"` // output of "gcc -v" |
| // Tell compiler_proxy what the path to local 'gcc' (not goma gcc) |
| // is, populated by gomacc.cc and consumed by compiler_proxy |
| LocalCompilerPath *string `protobuf:"bytes,6,opt,name=local_compiler_path,json=localCompilerPath" json:"local_compiler_path,omitempty"` |
| // Compiler system include paths (sent from compiler_proxy). |
| // Note that system include paths can be a relative path from cwd. |
| // For Windows NaCl, it could also be a relative path from toolchain root. |
| SystemIncludePath []string `protobuf:"bytes,7,rep,name=system_include_path,json=systemIncludePath" json:"system_include_path,omitempty"` |
| CxxSystemIncludePath []string `protobuf:"bytes,8,rep,name=cxx_system_include_path,json=cxxSystemIncludePath" json:"cxx_system_include_path,omitempty"` |
| SystemFrameworkPath []string `protobuf:"bytes,9,rep,name=system_framework_path,json=systemFrameworkPath" json:"system_framework_path,omitempty"` |
| // Compiler system library paths |
| SystemLibraryPath []string `protobuf:"bytes,12,rep,name=system_library_path,json=systemLibraryPath" json:"system_library_path,omitempty"` |
| // An optional label of this command for logging/monitoring purpose. |
| Comment *string `protobuf:"bytes,10,opt,name=comment" json:"comment,omitempty"` |
| } |
| |
| func (x *CommandSpec) Reset() { |
| *x = CommandSpec{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CommandSpec) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CommandSpec) ProtoMessage() {} |
| |
| func (x *CommandSpec) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CommandSpec.ProtoReflect.Descriptor instead. |
| func (*CommandSpec) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *CommandSpec) GetName() string { |
| if x != nil && x.Name != nil { |
| return *x.Name |
| } |
| return "" |
| } |
| |
| func (x *CommandSpec) GetVersion() string { |
| if x != nil && x.Version != nil { |
| return *x.Version |
| } |
| return "" |
| } |
| |
| func (x *CommandSpec) GetTarget() string { |
| if x != nil && x.Target != nil { |
| return *x.Target |
| } |
| return "" |
| } |
| |
| func (x *CommandSpec) GetSize() int64 { |
| if x != nil && x.Size != nil { |
| return *x.Size |
| } |
| return 0 |
| } |
| |
| func (x *CommandSpec) GetBinaryHash() []byte { |
| if x != nil { |
| return x.BinaryHash |
| } |
| return nil |
| } |
| |
| func (x *CommandSpec) GetEquivalentHash() [][]byte { |
| if x != nil { |
| return x.EquivalentHash |
| } |
| return nil |
| } |
| |
| func (x *CommandSpec) GetDetailedInfo() string { |
| if x != nil && x.DetailedInfo != nil { |
| return *x.DetailedInfo |
| } |
| return "" |
| } |
| |
| func (x *CommandSpec) GetLocalCompilerPath() string { |
| if x != nil && x.LocalCompilerPath != nil { |
| return *x.LocalCompilerPath |
| } |
| return "" |
| } |
| |
| func (x *CommandSpec) GetSystemIncludePath() []string { |
| if x != nil { |
| return x.SystemIncludePath |
| } |
| return nil |
| } |
| |
| func (x *CommandSpec) GetCxxSystemIncludePath() []string { |
| if x != nil { |
| return x.CxxSystemIncludePath |
| } |
| return nil |
| } |
| |
| func (x *CommandSpec) GetSystemFrameworkPath() []string { |
| if x != nil { |
| return x.SystemFrameworkPath |
| } |
| return nil |
| } |
| |
| func (x *CommandSpec) GetSystemLibraryPath() []string { |
| if x != nil { |
| return x.SystemLibraryPath |
| } |
| return nil |
| } |
| |
| func (x *CommandSpec) GetComment() string { |
| if x != nil && x.Comment != nil { |
| return *x.Comment |
| } |
| return "" |
| } |
| |
| type SubprogramSpec struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // full path (in client filesystem) |
| // or basename (in result when default subprogram is used). |
| Path *string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"` |
| BinaryHash *string `protobuf:"bytes,2,opt,name=binary_hash,json=binaryHash" json:"binary_hash,omitempty"` |
| // Binary size of the subprogram. |
| Size *int64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"` |
| } |
| |
| func (x *SubprogramSpec) Reset() { |
| *x = SubprogramSpec{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SubprogramSpec) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SubprogramSpec) ProtoMessage() {} |
| |
| func (x *SubprogramSpec) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SubprogramSpec.ProtoReflect.Descriptor instead. |
| func (*SubprogramSpec) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *SubprogramSpec) GetPath() string { |
| if x != nil && x.Path != nil { |
| return *x.Path |
| } |
| return "" |
| } |
| |
| func (x *SubprogramSpec) GetBinaryHash() string { |
| if x != nil && x.BinaryHash != nil { |
| return *x.BinaryHash |
| } |
| return "" |
| } |
| |
| func (x *SubprogramSpec) GetSize() int64 { |
| if x != nil && x.Size != nil { |
| return *x.Size |
| } |
| return 0 |
| } |
| |
| // Experimental. |
| // Specifies toolchain specification. |
| // This spec is necessary only if toolchain is also uploaded. |
| type ToolchainSpec struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // path to toolchain. Relative path from ExecReq::cwd or Absolute path. |
| Path *string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"` |
| // SHA256 hash of the toolchain. |
| Hash *string `protobuf:"bytes,2,opt,name=hash" json:"hash,omitempty"` |
| // file size of toolchain (in bytes). |
| Size *int64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"` |
| // true if the toolchain has 'x' bit. |
| IsExecutable *bool `protobuf:"varint,4,opt,name=is_executable,json=isExecutable" json:"is_executable,omitempty"` |
| // If this spec is a symlink, set this path. |
| // hash, size, and is_executable should be empty in this case. |
| // If this spec is not a symlink, this should be empty. |
| SymlinkPath *string `protobuf:"bytes,5,opt,name=symlink_path,json=symlinkPath" json:"symlink_path,omitempty"` |
| } |
| |
| func (x *ToolchainSpec) Reset() { |
| *x = ToolchainSpec{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ToolchainSpec) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ToolchainSpec) ProtoMessage() {} |
| |
| func (x *ToolchainSpec) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ToolchainSpec.ProtoReflect.Descriptor instead. |
| func (*ToolchainSpec) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *ToolchainSpec) GetPath() string { |
| if x != nil && x.Path != nil { |
| return *x.Path |
| } |
| return "" |
| } |
| |
| func (x *ToolchainSpec) GetHash() string { |
| if x != nil && x.Hash != nil { |
| return *x.Hash |
| } |
| return "" |
| } |
| |
| func (x *ToolchainSpec) GetSize() int64 { |
| if x != nil && x.Size != nil { |
| return *x.Size |
| } |
| return 0 |
| } |
| |
| func (x *ToolchainSpec) GetIsExecutable() bool { |
| if x != nil && x.IsExecutable != nil { |
| return *x.IsExecutable |
| } |
| return false |
| } |
| |
| func (x *ToolchainSpec) GetSymlinkPath() string { |
| if x != nil && x.SymlinkPath != nil { |
| return *x.SymlinkPath |
| } |
| return "" |
| } |
| |
| type ExecResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| ExitStatus *int32 `protobuf:"varint,1,req,name=exit_status,json=exitStatus,def=-1" json:"exit_status,omitempty"` |
| StdoutBuffer []byte `protobuf:"bytes,2,opt,name=stdout_buffer,json=stdoutBuffer" json:"stdout_buffer,omitempty"` |
| StderrBuffer []byte `protobuf:"bytes,3,opt,name=stderr_buffer,json=stderrBuffer" json:"stderr_buffer,omitempty"` |
| CommandSpec *CommandSpec `protobuf:"bytes,4,opt,name=command_spec,json=commandSpec" json:"command_spec,omitempty"` |
| // subprograms that were used in compilation. |
| Subprogram []*SubprogramSpec `protobuf:"bytes,5,rep,name=subprogram" json:"subprogram,omitempty"` |
| Output []*ExecResult_Output `protobuf:"group,10,rep,name=Output,json=output" json:"output,omitempty"` |
| } |
| |
| // Default values for ExecResult fields. |
| const ( |
| Default_ExecResult_ExitStatus = int32(-1) |
| ) |
| |
| func (x *ExecResult) Reset() { |
| *x = ExecResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExecResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExecResult) ProtoMessage() {} |
| |
| func (x *ExecResult) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExecResult.ProtoReflect.Descriptor instead. |
| func (*ExecResult) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *ExecResult) GetExitStatus() int32 { |
| if x != nil && x.ExitStatus != nil { |
| return *x.ExitStatus |
| } |
| return Default_ExecResult_ExitStatus |
| } |
| |
| func (x *ExecResult) GetStdoutBuffer() []byte { |
| if x != nil { |
| return x.StdoutBuffer |
| } |
| return nil |
| } |
| |
| func (x *ExecResult) GetStderrBuffer() []byte { |
| if x != nil { |
| return x.StderrBuffer |
| } |
| return nil |
| } |
| |
| func (x *ExecResult) GetCommandSpec() *CommandSpec { |
| if x != nil { |
| return x.CommandSpec |
| } |
| return nil |
| } |
| |
| func (x *ExecResult) GetSubprogram() []*SubprogramSpec { |
| if x != nil { |
| return x.Subprogram |
| } |
| return nil |
| } |
| |
| func (x *ExecResult) GetOutput() []*ExecResult_Output { |
| if x != nil { |
| return x.Output |
| } |
| return nil |
| } |
| |
| type PlatformProperty struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` |
| Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` |
| } |
| |
| func (x *PlatformProperty) Reset() { |
| *x = PlatformProperty{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *PlatformProperty) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*PlatformProperty) ProtoMessage() {} |
| |
| func (x *PlatformProperty) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[5] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use PlatformProperty.ProtoReflect.Descriptor instead. |
| func (*PlatformProperty) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *PlatformProperty) GetName() string { |
| if x != nil && x.Name != nil { |
| return *x.Name |
| } |
| return "" |
| } |
| |
| func (x *PlatformProperty) GetValue() string { |
| if x != nil && x.Value != nil { |
| return *x.Value |
| } |
| return "" |
| } |
| |
| // NEXT ID TO USE: 14 |
| type RequesterInfo struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Addr *string `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"` // requester's ip addr. |
| Username *string `protobuf:"bytes,2,opt,name=username" json:"username,omitempty"` // requester's user name |
| // Identifier for each compiler_proxy request. |
| CompilerProxyId *string `protobuf:"bytes,3,opt,name=compiler_proxy_id,json=compilerProxyId" json:"compiler_proxy_id,omitempty"` |
| // Can't use [default=CURRENT_VERSION] since GomaApiVersion is not int32. |
| ApiVersion *int32 `protobuf:"varint,4,opt,name=api_version,json=apiVersion,def=2" json:"api_version,omitempty"` |
| Pid *int32 `protobuf:"varint,5,opt,name=pid" json:"pid,omitempty"` |
| // # of retry. 0 is first call. |
| Retry *int32 `protobuf:"varint,7,opt,name=retry" json:"retry,omitempty"` |
| GomaRevision *string `protobuf:"bytes,8,opt,name=goma_revision,json=gomaRevision" json:"goma_revision,omitempty"` |
| // Unique ID per build. |
| // Client should set unique identifier of the build in this field. |
| // |
| // Note to LUCI users: since there could be multiple compile steps for |
| // recipes, you cannot use buildbucket build_id here. |
| BuildId *string `protobuf:"bytes,9,opt,name=build_id,json=buildId" json:"build_id,omitempty"` |
| // Requester's dimensions. Each dimension is a "<key>:<value>" pair. |
| // |
| // `dimensions` can define the constraint of the remote machine. |
| // e.g. "os":"linux". |
| // |
| // Inspired from swarming bot dimensions. |
| // https://chromium.googlesource.com/infra/luci/luci-py/+/effbcfcafa96e0840189a98ac485586ba2c2ceb6/appengine/swarming/proto/config/bots.proto |
| Dimensions []string `protobuf:"bytes,10,rep,name=dimensions" json:"dimensions,omitempty"` |
| // Requester's path style. |
| PathStyle *RequesterInfo_PathStyle `protobuf:"varint,11,opt,name=path_style,json=pathStyle,enum=devtools_goma.RequesterInfo_PathStyle" json:"path_style,omitempty"` |
| // re-client compat flags |
| // The exec root of the command. |
| ExecRoot *string `protobuf:"bytes,12,opt,name=exec_root,json=execRoot" json:"exec_root,omitempty"` |
| // This is used to identify remote platform settings like the docker image |
| // to use to run the command. |
| PlatformProperties []*PlatformProperty `protobuf:"bytes,13,rep,name=platform_properties,json=platformProperties" json:"platform_properties,omitempty"` |
| } |
| |
| // Default values for RequesterInfo fields. |
| const ( |
| Default_RequesterInfo_ApiVersion = int32(2) |
| ) |
| |
| func (x *RequesterInfo) Reset() { |
| *x = RequesterInfo{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RequesterInfo) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RequesterInfo) ProtoMessage() {} |
| |
| func (x *RequesterInfo) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[6] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RequesterInfo.ProtoReflect.Descriptor instead. |
| func (*RequesterInfo) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *RequesterInfo) GetAddr() string { |
| if x != nil && x.Addr != nil { |
| return *x.Addr |
| } |
| return "" |
| } |
| |
| func (x *RequesterInfo) GetUsername() string { |
| if x != nil && x.Username != nil { |
| return *x.Username |
| } |
| return "" |
| } |
| |
| func (x *RequesterInfo) GetCompilerProxyId() string { |
| if x != nil && x.CompilerProxyId != nil { |
| return *x.CompilerProxyId |
| } |
| return "" |
| } |
| |
| func (x *RequesterInfo) GetApiVersion() int32 { |
| if x != nil && x.ApiVersion != nil { |
| return *x.ApiVersion |
| } |
| return Default_RequesterInfo_ApiVersion |
| } |
| |
| func (x *RequesterInfo) GetPid() int32 { |
| if x != nil && x.Pid != nil { |
| return *x.Pid |
| } |
| return 0 |
| } |
| |
| func (x *RequesterInfo) GetRetry() int32 { |
| if x != nil && x.Retry != nil { |
| return *x.Retry |
| } |
| return 0 |
| } |
| |
| func (x *RequesterInfo) GetGomaRevision() string { |
| if x != nil && x.GomaRevision != nil { |
| return *x.GomaRevision |
| } |
| return "" |
| } |
| |
| func (x *RequesterInfo) GetBuildId() string { |
| if x != nil && x.BuildId != nil { |
| return *x.BuildId |
| } |
| return "" |
| } |
| |
| func (x *RequesterInfo) GetDimensions() []string { |
| if x != nil { |
| return x.Dimensions |
| } |
| return nil |
| } |
| |
| func (x *RequesterInfo) GetPathStyle() RequesterInfo_PathStyle { |
| if x != nil && x.PathStyle != nil { |
| return *x.PathStyle |
| } |
| return RequesterInfo_UNKNOWN_STYLE |
| } |
| |
| func (x *RequesterInfo) GetExecRoot() string { |
| if x != nil && x.ExecRoot != nil { |
| return *x.ExecRoot |
| } |
| return "" |
| } |
| |
| func (x *RequesterInfo) GetPlatformProperties() []*PlatformProperty { |
| if x != nil { |
| return x.PlatformProperties |
| } |
| return nil |
| } |
| |
| type RequesterEnv struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| GomaccPath *string `protobuf:"bytes,41,opt,name=gomacc_path,json=gomaccPath" json:"gomacc_path,omitempty"` // full pathname of gomacc. |
| LocalPath *string `protobuf:"bytes,42,opt,name=local_path,json=localPath" json:"local_path,omitempty"` // user's PATH. |
| Umask *int32 `protobuf:"varint,43,opt,name=umask" json:"umask,omitempty"` // user's umask. |
| VerifyOutput *bool `protobuf:"varint,50,opt,name=verify_output,json=verifyOutput" json:"verify_output,omitempty"` // GOMA_VERIFY_OUTPUT |
| UseLocal *bool `protobuf:"varint,51,opt,name=use_local,json=useLocal" json:"use_local,omitempty"` // GOMA_USE_LOCAL |
| Fallback *bool `protobuf:"varint,52,opt,name=fallback" json:"fallback,omitempty"` // GOMA_FALLBACK |
| VerifyCommand *string `protobuf:"bytes,53,opt,name=verify_command,json=verifyCommand" json:"verify_command,omitempty"` // GOMA_VERIFY_COMMAND |
| FallbackInputFile []string `protobuf:"bytes,60,rep,name=fallback_input_file,json=fallbackInputFile" json:"fallback_input_file,omitempty"` // GOMA_FALLBACK_INPUT_FILES |
| } |
| |
| func (x *RequesterEnv) Reset() { |
| *x = RequesterEnv{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RequesterEnv) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RequesterEnv) ProtoMessage() {} |
| |
| func (x *RequesterEnv) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[7] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RequesterEnv.ProtoReflect.Descriptor instead. |
| func (*RequesterEnv) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *RequesterEnv) GetGomaccPath() string { |
| if x != nil && x.GomaccPath != nil { |
| return *x.GomaccPath |
| } |
| return "" |
| } |
| |
| func (x *RequesterEnv) GetLocalPath() string { |
| if x != nil && x.LocalPath != nil { |
| return *x.LocalPath |
| } |
| return "" |
| } |
| |
| func (x *RequesterEnv) GetUmask() int32 { |
| if x != nil && x.Umask != nil { |
| return *x.Umask |
| } |
| return 0 |
| } |
| |
| func (x *RequesterEnv) GetVerifyOutput() bool { |
| if x != nil && x.VerifyOutput != nil { |
| return *x.VerifyOutput |
| } |
| return false |
| } |
| |
| func (x *RequesterEnv) GetUseLocal() bool { |
| if x != nil && x.UseLocal != nil { |
| return *x.UseLocal |
| } |
| return false |
| } |
| |
| func (x *RequesterEnv) GetFallback() bool { |
| if x != nil && x.Fallback != nil { |
| return *x.Fallback |
| } |
| return false |
| } |
| |
| func (x *RequesterEnv) GetVerifyCommand() string { |
| if x != nil && x.VerifyCommand != nil { |
| return *x.VerifyCommand |
| } |
| return "" |
| } |
| |
| func (x *RequesterEnv) GetFallbackInputFile() []string { |
| if x != nil { |
| return x.FallbackInputFile |
| } |
| return nil |
| } |
| |
| type ExecReq struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| CommandSpec *CommandSpec `protobuf:"bytes,1,req,name=command_spec,json=commandSpec" json:"command_spec,omitempty"` |
| Arg []string `protobuf:"bytes,2,rep,name=arg" json:"arg,omitempty"` |
| Env []string `protobuf:"bytes,3,rep,name=env" json:"env,omitempty"` |
| Cwd *string `protobuf:"bytes,4,opt,name=cwd" json:"cwd,omitempty"` |
| Input []*ExecReq_Input `protobuf:"group,10,rep,name=Input,json=input" json:"input,omitempty"` |
| // The @ notations in arg should be expanded and the result should |
| // be stored in this field for javac and VC++. |
| ExpandedArg []string `protobuf:"bytes,14,rep,name=expanded_arg,json=expandedArg" json:"expanded_arg,omitempty"` |
| // Subprograms that would be used in client. By setting this, |
| // client could request backend to use the same subprograms. |
| // |
| Subprogram []*SubprogramSpec `protobuf:"bytes,15,rep,name=subprogram" json:"subprogram,omitempty"` |
| RequesterInfo *RequesterInfo `protobuf:"bytes,30,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"` |
| CachePolicy *ExecReq_CachePolicy `protobuf:"varint,31,opt,name=cache_policy,json=cachePolicy,enum=devtools_goma.ExecReq_CachePolicy,def=1" json:"cache_policy,omitempty"` |
| // This is passed from gomacc to compiler proxy, and compiler proxy |
| // clears it before sending ExecReq to goma service. |
| RequesterEnv *RequesterEnv `protobuf:"bytes,32,opt,name=requester_env,json=requesterEnv" json:"requester_env,omitempty"` |
| // When hermetic_mode is true, restrict backend use the same compiler |
| // as local version. Backend should use a compiler package |
| // that has the same version string and the same binary_hash only. |
| // If there is no such compilers in backend, it should not run any other |
| // compiler but returns error: ExecResp contains error messages, |
| // no command spec and empty missing_input. It isn't rpc error. |
| HermeticMode *bool `protobuf:"varint,33,opt,name=hermetic_mode,json=hermeticMode" json:"hermetic_mode,omitempty"` |
| // Requests that the call is traced. |
| Trace *bool `protobuf:"varint,34,opt,name=trace" json:"trace,omitempty"` |
| // Expected output files and dirs, which are calculated in CompilerFlags. |
| // Goma server will return these files and dirs as output. |
| // |
| // If files which are not specified here are generated in the server, |
| // those files will be ignored (so, we can ignore temporary cache file or |
| // telemetry information). |
| // |
| // If files which are specified here are not generated in the server, |
| // the server just ignores such files. If the specified files do not look |
| // generated by a compiler, Goma server can return BAD_REQUEST. |
| // |
| // If output files and dirs are not specified, the server can calculate |
| // expected output files and dirs by itself (if possible). |
| // |
| // These path must be in client-format. |
| // Use '/' on Linux and Mac, and use '\\' for Windows. |
| ExpectedOutputFiles []string `protobuf:"bytes,35,rep,name=expected_output_files,json=expectedOutputFiles" json:"expected_output_files,omitempty"` |
| ExpectedOutputDirs []string `protobuf:"bytes,36,rep,name=expected_output_dirs,json=expectedOutputDirs" json:"expected_output_dirs,omitempty"` |
| // EXPERIMENTAL. |
| // True if ExecReq contains toolchains as input. |
| ToolchainIncluded *bool `protobuf:"varint,37,opt,name=toolchain_included,json=toolchainIncluded" json:"toolchain_included,omitempty"` |
| // If ExecReq contains toolchains as input, set toolchain spec. |
| // toolchain spec should contain all compiler related files except system |
| // shared objects which are expected to exist in the server side. For |
| // example, in `clang` case, recent `clang` binary usually contains |
| // everything, so it is OK to have just `clang`. In `pnacl-clang` case, it |
| // needs libLLVM.so, and since it is a compiler wrapper, it needs related |
| // python scripts etc. |
| // Currently, if `dimensions` is set correctly, we don't need to add |
| // shared objects in /lib or /usr/lib. |
| // |
| // toolchain_specs should contain compiler-driver (which is set in |
| // command_spec) and subprograms, too. |
| ToolchainSpecs []*ToolchainSpec `protobuf:"bytes,38,rep,name=toolchain_specs,json=toolchainSpecs" json:"toolchain_specs,omitempty"` |
| } |
| |
| // Default values for ExecReq fields. |
| const ( |
| Default_ExecReq_CachePolicy = ExecReq_LOOKUP_AND_STORE |
| ) |
| |
| func (x *ExecReq) Reset() { |
| *x = ExecReq{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExecReq) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExecReq) ProtoMessage() {} |
| |
| func (x *ExecReq) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[8] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExecReq.ProtoReflect.Descriptor instead. |
| func (*ExecReq) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *ExecReq) GetCommandSpec() *CommandSpec { |
| if x != nil { |
| return x.CommandSpec |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetArg() []string { |
| if x != nil { |
| return x.Arg |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetEnv() []string { |
| if x != nil { |
| return x.Env |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetCwd() string { |
| if x != nil && x.Cwd != nil { |
| return *x.Cwd |
| } |
| return "" |
| } |
| |
| func (x *ExecReq) GetInput() []*ExecReq_Input { |
| if x != nil { |
| return x.Input |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetExpandedArg() []string { |
| if x != nil { |
| return x.ExpandedArg |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetSubprogram() []*SubprogramSpec { |
| if x != nil { |
| return x.Subprogram |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetRequesterInfo() *RequesterInfo { |
| if x != nil { |
| return x.RequesterInfo |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetCachePolicy() ExecReq_CachePolicy { |
| if x != nil && x.CachePolicy != nil { |
| return *x.CachePolicy |
| } |
| return Default_ExecReq_CachePolicy |
| } |
| |
| func (x *ExecReq) GetRequesterEnv() *RequesterEnv { |
| if x != nil { |
| return x.RequesterEnv |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetHermeticMode() bool { |
| if x != nil && x.HermeticMode != nil { |
| return *x.HermeticMode |
| } |
| return false |
| } |
| |
| func (x *ExecReq) GetTrace() bool { |
| if x != nil && x.Trace != nil { |
| return *x.Trace |
| } |
| return false |
| } |
| |
| func (x *ExecReq) GetExpectedOutputFiles() []string { |
| if x != nil { |
| return x.ExpectedOutputFiles |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetExpectedOutputDirs() []string { |
| if x != nil { |
| return x.ExpectedOutputDirs |
| } |
| return nil |
| } |
| |
| func (x *ExecReq) GetToolchainIncluded() bool { |
| if x != nil && x.ToolchainIncluded != nil { |
| return *x.ToolchainIncluded |
| } |
| return false |
| } |
| |
| func (x *ExecReq) GetToolchainSpecs() []*ToolchainSpec { |
| if x != nil { |
| return x.ToolchainSpecs |
| } |
| return nil |
| } |
| |
| // Stats of a single RBE execution. This is a subset of |
| // https://github.com/bazelbuild/remote-apis/blob/178b756a22d441d8d06873a70bcd0ef01d876467/build/bazel/remote/execution/v2/remote_execution.proto#L789-L819 |
| type ExecutionStats struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // When the worker started executing the action command. |
| ExecutionStartTimestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=execution_start_timestamp,json=executionStartTimestamp" json:"execution_start_timestamp,omitempty"` |
| // When the worker completed executing the action command. |
| ExecutionCompletedTimestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=execution_completed_timestamp,json=executionCompletedTimestamp" json:"execution_completed_timestamp,omitempty"` |
| } |
| |
| func (x *ExecutionStats) Reset() { |
| *x = ExecutionStats{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExecutionStats) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExecutionStats) ProtoMessage() {} |
| |
| func (x *ExecutionStats) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[9] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExecutionStats.ProtoReflect.Descriptor instead. |
| func (*ExecutionStats) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *ExecutionStats) GetExecutionStartTimestamp() *timestamppb.Timestamp { |
| if x != nil { |
| return x.ExecutionStartTimestamp |
| } |
| return nil |
| } |
| |
| func (x *ExecutionStats) GetExecutionCompletedTimestamp() *timestamppb.Timestamp { |
| if x != nil { |
| return x.ExecutionCompletedTimestamp |
| } |
| return nil |
| } |
| |
| // NEXT ID TO USE: 82 |
| type ExecResp struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Result *ExecResult `protobuf:"bytes,1,opt,name=result" json:"result,omitempty"` |
| Error *ExecResp_ExecError `protobuf:"varint,2,opt,name=error,enum=devtools_goma.ExecResp_ExecError,def=0" json:"error,omitempty"` |
| BadRequestReasonCode *ExecResp_BadRequestReasonCode `protobuf:"varint,3,opt,name=bad_request_reason_code,json=badRequestReasonCode,enum=devtools_goma.ExecResp_BadRequestReasonCode,def=0" json:"bad_request_reason_code,omitempty"` |
| MissingInput []string `protobuf:"bytes,11,rep,name=missing_input,json=missingInput" json:"missing_input,omitempty"` // filename |
| MissingReason []string `protobuf:"bytes,15,rep,name=missing_reason,json=missingReason" json:"missing_reason,omitempty"` // reasons of missing_input. |
| ErrorMessage []string `protobuf:"bytes,12,rep,name=error_message,json=errorMessage" json:"error_message,omitempty"` |
| ForceStoreOutputFileForUnmatchedHash *bool `protobuf:"varint,13,opt,name=force_store_output_file_for_unmatched_hash,json=forceStoreOutputFileForUnmatchedHash,def=0" json:"force_store_output_file_for_unmatched_hash,omitempty"` |
| ForceStoreOutputFileForUnmatchedVersion *bool `protobuf:"varint,14,opt,name=force_store_output_file_for_unmatched_version,json=forceStoreOutputFileForUnmatchedVersion,def=0" json:"force_store_output_file_for_unmatched_version,omitempty"` |
| ForceStoreOutputFileForUnmatchedSubprograms *bool `protobuf:"varint,16,opt,name=force_store_output_file_for_unmatched_subprograms,json=forceStoreOutputFileForUnmatchedSubprograms,def=0" json:"force_store_output_file_for_unmatched_subprograms,omitempty"` |
| // for trace |
| CacheKey *string `protobuf:"bytes,21,opt,name=cache_key,json=cacheKey" json:"cache_key,omitempty"` // result cache_key |
| CacheHit *ExecResp_CacheSource `protobuf:"varint,27,opt,name=cache_hit,json=cacheHit,enum=devtools_goma.ExecResp_CacheSource" json:"cache_hit,omitempty"` |
| // requester's compiler_proxy_id. |
| // for cached resp, it is the original requester, not current requester. |
| RequesterCompilerProxyId *string `protobuf:"bytes,26,opt,name=requester_compiler_proxy_id,json=requesterCompilerProxyId" json:"requester_compiler_proxy_id,omitempty"` |
| // Time at compiler_proxy |
| CompilerProxyTime *float64 `protobuf:"fixed64,50,opt,name=compiler_proxy_time,json=compilerProxyTime" json:"compiler_proxy_time,omitempty"` |
| CompilerProxyIncludePreprocTime *float64 `protobuf:"fixed64,51,opt,name=compiler_proxy_include_preproc_time,json=compilerProxyIncludePreprocTime" json:"compiler_proxy_include_preproc_time,omitempty"` |
| CompilerProxyIncludeFileloadTime *float64 `protobuf:"fixed64,52,opt,name=compiler_proxy_include_fileload_time,json=compilerProxyIncludeFileloadTime" json:"compiler_proxy_include_fileload_time,omitempty"` |
| CompilerProxyRpcCallTime *float64 `protobuf:"fixed64,53,opt,name=compiler_proxy_rpc_call_time,json=compilerProxyRpcCallTime" json:"compiler_proxy_rpc_call_time,omitempty"` |
| CompilerProxyFileResponseTime *float64 `protobuf:"fixed64,54,opt,name=compiler_proxy_file_response_time,json=compilerProxyFileResponseTime" json:"compiler_proxy_file_response_time,omitempty"` |
| CompilerProxyRpcBuildTime *float64 `protobuf:"fixed64,55,opt,name=compiler_proxy_rpc_build_time,json=compilerProxyRpcBuildTime" json:"compiler_proxy_rpc_build_time,omitempty"` |
| CompilerProxyRpcSendTime *float64 `protobuf:"fixed64,56,opt,name=compiler_proxy_rpc_send_time,json=compilerProxyRpcSendTime" json:"compiler_proxy_rpc_send_time,omitempty"` |
| CompilerProxyRpcWaitTime *float64 `protobuf:"fixed64,57,opt,name=compiler_proxy_rpc_wait_time,json=compilerProxyRpcWaitTime" json:"compiler_proxy_rpc_wait_time,omitempty"` |
| CompilerProxyRpcRecvTime *float64 `protobuf:"fixed64,58,opt,name=compiler_proxy_rpc_recv_time,json=compilerProxyRpcRecvTime" json:"compiler_proxy_rpc_recv_time,omitempty"` |
| CompilerProxyRpcParseTime *float64 `protobuf:"fixed64,59,opt,name=compiler_proxy_rpc_parse_time,json=compilerProxyRpcParseTime" json:"compiler_proxy_rpc_parse_time,omitempty"` |
| CompilerProxyLocalPendingTime *float64 `protobuf:"fixed64,60,opt,name=compiler_proxy_local_pending_time,json=compilerProxyLocalPendingTime" json:"compiler_proxy_local_pending_time,omitempty"` |
| CompilerProxyLocalRunTime *float64 `protobuf:"fixed64,61,opt,name=compiler_proxy_local_run_time,json=compilerProxyLocalRunTime" json:"compiler_proxy_local_run_time,omitempty"` |
| CompilerProxyGomaFinished *bool `protobuf:"varint,70,opt,name=compiler_proxy_goma_finished,json=compilerProxyGomaFinished" json:"compiler_proxy_goma_finished,omitempty"` |
| CompilerProxyGomaCacheHit *bool `protobuf:"varint,71,opt,name=compiler_proxy_goma_cache_hit,json=compilerProxyGomaCacheHit" json:"compiler_proxy_goma_cache_hit,omitempty"` |
| CompilerProxyGomaAborted *bool `protobuf:"varint,72,opt,name=compiler_proxy_goma_aborted,json=compilerProxyGomaAborted" json:"compiler_proxy_goma_aborted,omitempty"` |
| CompilerProxyGomaError *bool `protobuf:"varint,73,opt,name=compiler_proxy_goma_error,json=compilerProxyGomaError" json:"compiler_proxy_goma_error,omitempty"` |
| CompilerProxyLocalFinished *bool `protobuf:"varint,74,opt,name=compiler_proxy_local_finished,json=compilerProxyLocalFinished" json:"compiler_proxy_local_finished,omitempty"` |
| CompilerProxyLocalRun *bool `protobuf:"varint,75,opt,name=compiler_proxy_local_run,json=compilerProxyLocalRun" json:"compiler_proxy_local_run,omitempty"` |
| CompilerProxyLocalKilled *bool `protobuf:"varint,76,opt,name=compiler_proxy_local_killed,json=compilerProxyLocalKilled" json:"compiler_proxy_local_killed,omitempty"` |
| CompilerProxyExecRequestRetry *int32 `protobuf:"varint,80,opt,name=compiler_proxy_exec_request_retry,json=compilerProxyExecRequestRetry" json:"compiler_proxy_exec_request_retry,omitempty"` |
| // Execution stats collected from RBE |
| ExecutionStats *ExecutionStats `protobuf:"bytes,81,opt,name=execution_stats,json=executionStats" json:"execution_stats,omitempty"` |
| } |
| |
| // Default values for ExecResp fields. |
| const ( |
| Default_ExecResp_Error = ExecResp_OK |
| Default_ExecResp_BadRequestReasonCode = ExecResp_UNKNOWN |
| Default_ExecResp_ForceStoreOutputFileForUnmatchedHash = bool(false) |
| Default_ExecResp_ForceStoreOutputFileForUnmatchedVersion = bool(false) |
| Default_ExecResp_ForceStoreOutputFileForUnmatchedSubprograms = bool(false) |
| ) |
| |
| func (x *ExecResp) Reset() { |
| *x = ExecResp{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExecResp) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExecResp) ProtoMessage() {} |
| |
| func (x *ExecResp) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[10] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExecResp.ProtoReflect.Descriptor instead. |
| func (*ExecResp) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *ExecResp) GetResult() *ExecResult { |
| if x != nil { |
| return x.Result |
| } |
| return nil |
| } |
| |
| func (x *ExecResp) GetError() ExecResp_ExecError { |
| if x != nil && x.Error != nil { |
| return *x.Error |
| } |
| return Default_ExecResp_Error |
| } |
| |
| func (x *ExecResp) GetBadRequestReasonCode() ExecResp_BadRequestReasonCode { |
| if x != nil && x.BadRequestReasonCode != nil { |
| return *x.BadRequestReasonCode |
| } |
| return Default_ExecResp_BadRequestReasonCode |
| } |
| |
| func (x *ExecResp) GetMissingInput() []string { |
| if x != nil { |
| return x.MissingInput |
| } |
| return nil |
| } |
| |
| func (x *ExecResp) GetMissingReason() []string { |
| if x != nil { |
| return x.MissingReason |
| } |
| return nil |
| } |
| |
| func (x *ExecResp) GetErrorMessage() []string { |
| if x != nil { |
| return x.ErrorMessage |
| } |
| return nil |
| } |
| |
| func (x *ExecResp) GetForceStoreOutputFileForUnmatchedHash() bool { |
| if x != nil && x.ForceStoreOutputFileForUnmatchedHash != nil { |
| return *x.ForceStoreOutputFileForUnmatchedHash |
| } |
| return Default_ExecResp_ForceStoreOutputFileForUnmatchedHash |
| } |
| |
| func (x *ExecResp) GetForceStoreOutputFileForUnmatchedVersion() bool { |
| if x != nil && x.ForceStoreOutputFileForUnmatchedVersion != nil { |
| return *x.ForceStoreOutputFileForUnmatchedVersion |
| } |
| return Default_ExecResp_ForceStoreOutputFileForUnmatchedVersion |
| } |
| |
| func (x *ExecResp) GetForceStoreOutputFileForUnmatchedSubprograms() bool { |
| if x != nil && x.ForceStoreOutputFileForUnmatchedSubprograms != nil { |
| return *x.ForceStoreOutputFileForUnmatchedSubprograms |
| } |
| return Default_ExecResp_ForceStoreOutputFileForUnmatchedSubprograms |
| } |
| |
| func (x *ExecResp) GetCacheKey() string { |
| if x != nil && x.CacheKey != nil { |
| return *x.CacheKey |
| } |
| return "" |
| } |
| |
| func (x *ExecResp) GetCacheHit() ExecResp_CacheSource { |
| if x != nil && x.CacheHit != nil { |
| return *x.CacheHit |
| } |
| return ExecResp_NO_CACHE |
| } |
| |
| func (x *ExecResp) GetRequesterCompilerProxyId() string { |
| if x != nil && x.RequesterCompilerProxyId != nil { |
| return *x.RequesterCompilerProxyId |
| } |
| return "" |
| } |
| |
| func (x *ExecResp) GetCompilerProxyTime() float64 { |
| if x != nil && x.CompilerProxyTime != nil { |
| return *x.CompilerProxyTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyIncludePreprocTime() float64 { |
| if x != nil && x.CompilerProxyIncludePreprocTime != nil { |
| return *x.CompilerProxyIncludePreprocTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyIncludeFileloadTime() float64 { |
| if x != nil && x.CompilerProxyIncludeFileloadTime != nil { |
| return *x.CompilerProxyIncludeFileloadTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyRpcCallTime() float64 { |
| if x != nil && x.CompilerProxyRpcCallTime != nil { |
| return *x.CompilerProxyRpcCallTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyFileResponseTime() float64 { |
| if x != nil && x.CompilerProxyFileResponseTime != nil { |
| return *x.CompilerProxyFileResponseTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyRpcBuildTime() float64 { |
| if x != nil && x.CompilerProxyRpcBuildTime != nil { |
| return *x.CompilerProxyRpcBuildTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyRpcSendTime() float64 { |
| if x != nil && x.CompilerProxyRpcSendTime != nil { |
| return *x.CompilerProxyRpcSendTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyRpcWaitTime() float64 { |
| if x != nil && x.CompilerProxyRpcWaitTime != nil { |
| return *x.CompilerProxyRpcWaitTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyRpcRecvTime() float64 { |
| if x != nil && x.CompilerProxyRpcRecvTime != nil { |
| return *x.CompilerProxyRpcRecvTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyRpcParseTime() float64 { |
| if x != nil && x.CompilerProxyRpcParseTime != nil { |
| return *x.CompilerProxyRpcParseTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyLocalPendingTime() float64 { |
| if x != nil && x.CompilerProxyLocalPendingTime != nil { |
| return *x.CompilerProxyLocalPendingTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyLocalRunTime() float64 { |
| if x != nil && x.CompilerProxyLocalRunTime != nil { |
| return *x.CompilerProxyLocalRunTime |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetCompilerProxyGomaFinished() bool { |
| if x != nil && x.CompilerProxyGomaFinished != nil { |
| return *x.CompilerProxyGomaFinished |
| } |
| return false |
| } |
| |
| func (x *ExecResp) GetCompilerProxyGomaCacheHit() bool { |
| if x != nil && x.CompilerProxyGomaCacheHit != nil { |
| return *x.CompilerProxyGomaCacheHit |
| } |
| return false |
| } |
| |
| func (x *ExecResp) GetCompilerProxyGomaAborted() bool { |
| if x != nil && x.CompilerProxyGomaAborted != nil { |
| return *x.CompilerProxyGomaAborted |
| } |
| return false |
| } |
| |
| func (x *ExecResp) GetCompilerProxyGomaError() bool { |
| if x != nil && x.CompilerProxyGomaError != nil { |
| return *x.CompilerProxyGomaError |
| } |
| return false |
| } |
| |
| func (x *ExecResp) GetCompilerProxyLocalFinished() bool { |
| if x != nil && x.CompilerProxyLocalFinished != nil { |
| return *x.CompilerProxyLocalFinished |
| } |
| return false |
| } |
| |
| func (x *ExecResp) GetCompilerProxyLocalRun() bool { |
| if x != nil && x.CompilerProxyLocalRun != nil { |
| return *x.CompilerProxyLocalRun |
| } |
| return false |
| } |
| |
| func (x *ExecResp) GetCompilerProxyLocalKilled() bool { |
| if x != nil && x.CompilerProxyLocalKilled != nil { |
| return *x.CompilerProxyLocalKilled |
| } |
| return false |
| } |
| |
| func (x *ExecResp) GetCompilerProxyExecRequestRetry() int32 { |
| if x != nil && x.CompilerProxyExecRequestRetry != nil { |
| return *x.CompilerProxyExecRequestRetry |
| } |
| return 0 |
| } |
| |
| func (x *ExecResp) GetExecutionStats() *ExecutionStats { |
| if x != nil { |
| return x.ExecutionStats |
| } |
| return nil |
| } |
| |
| type StoreFileReq struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Blob []*FileBlob `protobuf:"bytes,1,rep,name=blob" json:"blob,omitempty"` |
| RequesterInfo *RequesterInfo `protobuf:"bytes,10,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"` |
| } |
| |
| func (x *StoreFileReq) Reset() { |
| *x = StoreFileReq{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StoreFileReq) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StoreFileReq) ProtoMessage() {} |
| |
| func (x *StoreFileReq) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[11] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use StoreFileReq.ProtoReflect.Descriptor instead. |
| func (*StoreFileReq) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *StoreFileReq) GetBlob() []*FileBlob { |
| if x != nil { |
| return x.Blob |
| } |
| return nil |
| } |
| |
| func (x *StoreFileReq) GetRequesterInfo() *RequesterInfo { |
| if x != nil { |
| return x.RequesterInfo |
| } |
| return nil |
| } |
| |
| type StoreFileResp struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| HashKey []string `protobuf:"bytes,1,rep,name=hash_key,json=hashKey" json:"hash_key,omitempty"` // sha256(blob) for success or "" for error |
| } |
| |
| func (x *StoreFileResp) Reset() { |
| *x = StoreFileResp{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StoreFileResp) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StoreFileResp) ProtoMessage() {} |
| |
| func (x *StoreFileResp) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[12] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use StoreFileResp.ProtoReflect.Descriptor instead. |
| func (*StoreFileResp) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *StoreFileResp) GetHashKey() []string { |
| if x != nil { |
| return x.HashKey |
| } |
| return nil |
| } |
| |
| type LookupFileReq struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| HashKey []string `protobuf:"bytes,1,rep,name=hash_key,json=hashKey" json:"hash_key,omitempty"` |
| RequesterInfo *RequesterInfo `protobuf:"bytes,10,opt,name=requester_info,json=requesterInfo" json:"requester_info,omitempty"` |
| } |
| |
| func (x *LookupFileReq) Reset() { |
| *x = LookupFileReq{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *LookupFileReq) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*LookupFileReq) ProtoMessage() {} |
| |
| func (x *LookupFileReq) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[13] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use LookupFileReq.ProtoReflect.Descriptor instead. |
| func (*LookupFileReq) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *LookupFileReq) GetHashKey() []string { |
| if x != nil { |
| return x.HashKey |
| } |
| return nil |
| } |
| |
| func (x *LookupFileReq) GetRequesterInfo() *RequesterInfo { |
| if x != nil { |
| return x.RequesterInfo |
| } |
| return nil |
| } |
| |
| type LookupFileResp struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Blob []*FileBlob `protobuf:"bytes,2,rep,name=blob" json:"blob,omitempty"` |
| } |
| |
| func (x *LookupFileResp) Reset() { |
| *x = LookupFileResp{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *LookupFileResp) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*LookupFileResp) ProtoMessage() {} |
| |
| func (x *LookupFileResp) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[14] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use LookupFileResp.ProtoReflect.Descriptor instead. |
| func (*LookupFileResp) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{14} |
| } |
| |
| func (x *LookupFileResp) GetBlob() []*FileBlob { |
| if x != nil { |
| return x.Blob |
| } |
| return nil |
| } |
| |
| type EmptyMessage struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| } |
| |
| func (x *EmptyMessage) Reset() { |
| *x = EmptyMessage{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *EmptyMessage) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*EmptyMessage) ProtoMessage() {} |
| |
| func (x *EmptyMessage) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_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 EmptyMessage.ProtoReflect.Descriptor instead. |
| func (*EmptyMessage) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{15} |
| } |
| |
| type HttpPortResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Port *int32 `protobuf:"varint,1,req,name=port" json:"port,omitempty"` |
| } |
| |
| func (x *HttpPortResponse) Reset() { |
| *x = HttpPortResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *HttpPortResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*HttpPortResponse) ProtoMessage() {} |
| |
| func (x *HttpPortResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[16] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use HttpPortResponse.ProtoReflect.Descriptor instead. |
| func (*HttpPortResponse) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{16} |
| } |
| |
| func (x *HttpPortResponse) GetPort() int32 { |
| if x != nil && x.Port != nil { |
| return *x.Port |
| } |
| return 0 |
| } |
| |
| type ExecResult_Output struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // TODO: We might want to normalize this path to relative path? |
| Filename *string `protobuf:"bytes,11,opt,name=filename" json:"filename,omitempty"` // relative to request cwd or full path |
| // if blob.blob_type=FILE_META, client need to request blob.hash_key() later |
| Blob *FileBlob `protobuf:"bytes,12,opt,name=blob" json:"blob,omitempty"` |
| IsExecutable *bool `protobuf:"varint,13,opt,name=is_executable,json=isExecutable,def=0" json:"is_executable,omitempty"` |
| } |
| |
| // Default values for ExecResult_Output fields. |
| const ( |
| Default_ExecResult_Output_IsExecutable = bool(false) |
| ) |
| |
| func (x *ExecResult_Output) Reset() { |
| *x = ExecResult_Output{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[17] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExecResult_Output) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExecResult_Output) ProtoMessage() {} |
| |
| func (x *ExecResult_Output) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[17] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExecResult_Output.ProtoReflect.Descriptor instead. |
| func (*ExecResult_Output) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{4, 0} |
| } |
| |
| func (x *ExecResult_Output) GetFilename() string { |
| if x != nil && x.Filename != nil { |
| return *x.Filename |
| } |
| return "" |
| } |
| |
| func (x *ExecResult_Output) GetBlob() *FileBlob { |
| if x != nil { |
| return x.Blob |
| } |
| return nil |
| } |
| |
| func (x *ExecResult_Output) GetIsExecutable() bool { |
| if x != nil && x.IsExecutable != nil { |
| return *x.IsExecutable |
| } |
| return Default_ExecResult_Output_IsExecutable |
| } |
| |
| type ExecReq_Input struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Filename *string `protobuf:"bytes,11,opt,name=filename" json:"filename,omitempty"` // relative to cwd or full path |
| HashKey *string `protobuf:"bytes,12,req,name=hash_key,json=hashKey" json:"hash_key,omitempty"` |
| Content *FileBlob `protobuf:"bytes,13,opt,name=content" json:"content,omitempty"` |
| } |
| |
| func (x *ExecReq_Input) Reset() { |
| *x = ExecReq_Input{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_api_goma_data_proto_msgTypes[18] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ExecReq_Input) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ExecReq_Input) ProtoMessage() {} |
| |
| func (x *ExecReq_Input) ProtoReflect() protoreflect.Message { |
| mi := &file_api_goma_data_proto_msgTypes[18] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ExecReq_Input.ProtoReflect.Descriptor instead. |
| func (*ExecReq_Input) Descriptor() ([]byte, []int) { |
| return file_api_goma_data_proto_rawDescGZIP(), []int{8, 0} |
| } |
| |
| func (x *ExecReq_Input) GetFilename() string { |
| if x != nil && x.Filename != nil { |
| return *x.Filename |
| } |
| return "" |
| } |
| |
| func (x *ExecReq_Input) GetHashKey() string { |
| if x != nil && x.HashKey != nil { |
| return *x.HashKey |
| } |
| return "" |
| } |
| |
| func (x *ExecReq_Input) GetContent() *FileBlob { |
| if x != nil { |
| return x.Content |
| } |
| return nil |
| } |
| |
| var File_api_goma_data_proto protoreflect.FileDescriptor |
| |
| var file_api_goma_data_proto_rawDesc = []byte{ |
| 0x0a, 0x13, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, |
| 0x67, 0x6f, 0x6d, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x02, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, |
| 0x6f, 0x62, 0x12, 0x3d, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, |
| 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, |
| 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x2e, 0x42, |
| 0x6c, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x54, 0x79, 0x70, |
| 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, |
| 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, |
| 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, |
| 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, |
| 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, |
| 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x15, 0x20, 0x03, |
| 0x28, 0x09, 0x52, 0x07, 0x68, 0x61, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x22, 0x57, 0x0a, 0x08, 0x42, |
| 0x6c, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x49, 0x4c, 0x45, 0x5f, |
| 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, |
| 0x04, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x49, 0x4c, 0x45, 0x5f, |
| 0x4d, 0x45, 0x54, 0x41, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x43, |
| 0x48, 0x55, 0x4e, 0x4b, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x52, |
| 0x45, 0x46, 0x10, 0x05, 0x22, 0xeb, 0x03, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, |
| 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, |
| 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, |
| 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, |
| 0x7a, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1f, |
| 0x0a, 0x0b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, |
| 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, |
| 0x27, 0x0a, 0x0f, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, |
| 0x73, 0x68, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0e, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, |
| 0x6c, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x74, 0x61, |
| 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x0c, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, |
| 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, |
| 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, |
| 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, |
| 0x13, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, |
| 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, |
| 0x65, 0x6d, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x35, 0x0a, |
| 0x17, 0x63, 0x78, 0x78, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x63, 0x6c, |
| 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, |
| 0x63, 0x78, 0x78, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, |
| 0x50, 0x61, 0x74, 0x68, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x66, |
| 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, |
| 0x03, 0x28, 0x09, 0x52, 0x13, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, |
| 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x79, 0x73, 0x74, |
| 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, |
| 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x62, |
| 0x72, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, |
| 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, |
| 0x6e, 0x74, 0x22, 0x59, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, |
| 0x53, 0x70, 0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x69, 0x6e, 0x61, |
| 0x72, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, |
| 0x69, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, |
| 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x93, 0x01, |
| 0x0a, 0x0d, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, |
| 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, |
| 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, |
| 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, |
| 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, |
| 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, |
| 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x50, |
| 0x61, 0x74, 0x68, 0x22, 0xb2, 0x03, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x75, |
| 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, |
| 0x73, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x3a, 0x02, 0x2d, 0x31, 0x52, 0x0a, 0x65, 0x78, 0x69, |
| 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x64, 0x6f, 0x75, |
| 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, |
| 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, |
| 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x03, 0x20, |
| 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x74, 0x64, 0x65, 0x72, 0x72, 0x42, 0x75, 0x66, 0x66, 0x65, |
| 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x70, 0x65, |
| 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, |
| 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, |
| 0x70, 0x65, 0x63, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, |
| 0x12, 0x3d, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x05, |
| 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, |
| 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x53, |
| 0x70, 0x65, 0x63, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, |
| 0x38, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0a, 0x32, |
| 0x20, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, |
| 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, |
| 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x1a, 0x7d, 0x0a, 0x06, 0x4f, 0x75, 0x74, |
| 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, |
| 0x2b, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, |
| 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x46, 0x69, |
| 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x0d, |
| 0x69, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20, |
| 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0c, 0x69, 0x73, 0x45, 0x78, |
| 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x3c, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, |
| 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, |
| 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbe, 0x04, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x1a, 0x0a, 0x08, |
| 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, |
| 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, |
| 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, |
| 0x78, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, |
| 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x32, 0x52, 0x0a, 0x61, 0x70, |
| 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, |
| 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, |
| 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x65, 0x74, 0x72, 0x79, |
| 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, |
| 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x6f, 0x6d, 0x61, 0x52, 0x65, 0x76, |
| 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, |
| 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, |
| 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, |
| 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, |
| 0x12, 0x45, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x0b, |
| 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, |
| 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, |
| 0x66, 0x6f, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x09, 0x70, 0x61, |
| 0x74, 0x68, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x5f, |
| 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, |
| 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x50, 0x0a, 0x13, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, |
| 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, |
| 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, |
| 0x61, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, |
| 0x74, 0x79, 0x52, 0x12, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x70, |
| 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x25, 0x0a, 0x0e, 0x47, 0x6f, 0x6d, 0x61, 0x41, 0x70, |
| 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x55, 0x52, 0x52, |
| 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0x42, 0x0a, |
| 0x09, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, |
| 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, |
| 0x0b, 0x50, 0x4f, 0x53, 0x49, 0x58, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x11, |
| 0x0a, 0x0d, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x53, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x10, |
| 0x02, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x99, 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x6f, 0x6d, 0x61, |
| 0x63, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, |
| 0x6f, 0x6d, 0x61, 0x63, 0x63, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, |
| 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, |
| 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6d, 0x61, 0x73, |
| 0x6b, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x75, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x23, |
| 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, |
| 0x32, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x75, 0x74, |
| 0x70, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, |
| 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x75, 0x73, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, |
| 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x34, 0x20, 0x01, |
| 0x28, 0x08, 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, |
| 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x35, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6d, 0x6d, |
| 0x61, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, |
| 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x3c, 0x20, 0x03, 0x28, 0x09, |
| 0x52, 0x11, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, |
| 0x69, 0x6c, 0x65, 0x22, 0xe8, 0x07, 0x0a, 0x07, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x12, |
| 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, |
| 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, |
| 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x70, 0x65, |
| 0x63, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, 0x10, |
| 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, |
| 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, |
| 0x6e, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x77, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x03, 0x63, 0x77, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0a, 0x20, |
| 0x03, 0x28, 0x0a, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, |
| 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x6e, 0x70, 0x75, |
| 0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x61, |
| 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, |
| 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x41, 0x72, 0x67, 0x12, 0x3d, 0x0a, 0x0a, 0x73, |
| 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x1d, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, |
| 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0a, |
| 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x43, 0x0a, 0x0e, 0x72, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1e, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, |
| 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, |
| 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, |
| 0x57, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, |
| 0x1f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, |
| 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x2e, 0x43, 0x61, |
| 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x10, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, |
| 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x52, 0x0b, 0x63, 0x61, 0x63, |
| 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x1b, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x52, 0x0c, 0x72, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x65, |
| 0x72, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, |
| 0x08, 0x52, 0x0c, 0x68, 0x65, 0x72, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x12, |
| 0x14, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, |
| 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, |
| 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x23, |
| 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x75, |
| 0x74, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x78, 0x70, |
| 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x72, |
| 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, |
| 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x74, |
| 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, |
| 0x64, 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, |
| 0x69, 0x6e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x0f, 0x74, 0x6f, |
| 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x26, 0x20, |
| 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, |
| 0x6f, 0x6d, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x70, 0x65, |
| 0x63, 0x52, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x70, 0x65, 0x63, |
| 0x73, 0x1a, 0x71, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, |
| 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, |
| 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6b, |
| 0x65, 0x79, 0x18, 0x0c, 0x20, 0x02, 0x28, 0x09, 0x52, 0x07, 0x68, 0x61, 0x73, 0x68, 0x4b, 0x65, |
| 0x79, 0x12, 0x31, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, |
| 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x07, 0x63, 0x6f, 0x6e, |
| 0x74, 0x65, 0x6e, 0x74, 0x22, 0x62, 0x0a, 0x0b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, |
| 0x69, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x41, 0x4e, |
| 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x4f, 0x4f, |
| 0x4b, 0x55, 0x50, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, |
| 0x4f, 0x52, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x4f, |
| 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x53, |
| 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x63, 0x10, 0x64, 0x22, 0xc8, |
| 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, |
| 0x73, 0x12, 0x56, 0x0a, 0x19, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, |
| 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, |
| 0x52, 0x17, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, |
| 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x5e, 0x0a, 0x1d, 0x65, 0x78, 0x65, |
| 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, |
| 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
| 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1b, 0x65, 0x78, |
| 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, |
| 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xfd, 0x12, 0x0a, 0x08, 0x45, 0x78, |
| 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, |
| 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, |
| 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x72, 0x72, |
| 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, |
| 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, |
| 0x70, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x02, 0x4f, 0x4b, 0x52, |
| 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x6c, 0x0a, 0x17, 0x62, 0x61, 0x64, 0x5f, 0x72, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, |
| 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, |
| 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, |
| 0x2e, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, |
| 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x3a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x14, |
| 0x62, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, |
| 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, |
| 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x69, 0x73, |
| 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69, 0x73, |
| 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x03, 0x28, |
| 0x09, 0x52, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, |
| 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, |
| 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, |
| 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5f, 0x0a, 0x2a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x73, |
| 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, |
| 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x68, |
| 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, |
| 0x52, 0x24, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x75, 0x74, 0x70, |
| 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, |
| 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x65, 0x0a, 0x2d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, |
| 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, |
| 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, |
| 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, |
| 0x61, 0x6c, 0x73, 0x65, 0x52, 0x27, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, |
| 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x6e, 0x6d, |
| 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6d, 0x0a, |
| 0x31, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x75, 0x74, |
| 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x6d, |
| 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, |
| 0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, |
| 0x2b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, |
| 0x74, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, |
| 0x64, 0x53, 0x75, 0x62, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, |
| 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x09, 0x63, 0x61, 0x63, |
| 0x68, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, |
| 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x65, |
| 0x63, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, |
| 0x65, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x48, 0x69, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x72, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, |
| 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x69, |
| 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, |
| 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x74, 0x69, 0x6d, |
| 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, |
| 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x23, 0x63, 0x6f, |
| 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x69, 0x6e, 0x63, |
| 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x74, 0x69, 0x6d, |
| 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x01, 0x52, 0x1f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, |
| 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x65, |
| 0x70, 0x72, 0x6f, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x70, |
| 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, |
| 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, |
| 0x18, 0x34, 0x20, 0x01, 0x28, 0x01, 0x52, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, |
| 0x50, 0x72, 0x6f, 0x78, 0x79, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, |
| 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, |
| 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x63, |
| 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, |
| 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, |
| 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x70, |
| 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, |
| 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x36, 0x20, |
| 0x01, 0x28, 0x01, 0x52, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, |
| 0x78, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x69, |
| 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, |
| 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, |
| 0x69, 0x6d, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x69, |
| 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, 0x42, 0x75, 0x69, 0x6c, 0x64, |
| 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, |
| 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, |
| 0x74, 0x69, 0x6d, 0x65, 0x18, 0x38, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x70, |
| 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, 0x53, 0x65, 0x6e, 0x64, |
| 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, |
| 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, |
| 0x74, 0x69, 0x6d, 0x65, 0x18, 0x39, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x70, |
| 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, 0x57, 0x61, 0x69, 0x74, |
| 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, |
| 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x5f, |
| 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x70, |
| 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, 0x52, 0x65, 0x63, 0x76, |
| 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, |
| 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, |
| 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x63, 0x6f, 0x6d, |
| 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x70, 0x63, 0x50, 0x61, 0x72, |
| 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, |
| 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, |
| 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, |
| 0x01, 0x52, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, |
| 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, |
| 0x12, 0x40, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, |
| 0x78, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, |
| 0x65, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, |
| 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x54, 0x69, |
| 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, |
| 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, |
| 0x65, 0x64, 0x18, 0x46, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, |
| 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x6f, 0x6d, 0x61, 0x46, 0x69, 0x6e, 0x69, 0x73, |
| 0x68, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, |
| 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, |
| 0x5f, 0x68, 0x69, 0x74, 0x18, 0x47, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x70, |
| 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x6f, 0x6d, 0x61, 0x43, 0x61, 0x63, |
| 0x68, 0x65, 0x48, 0x69, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, |
| 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x61, 0x62, 0x6f, |
| 0x72, 0x74, 0x65, 0x64, 0x18, 0x48, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x70, |
| 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x6f, 0x6d, 0x61, 0x41, 0x62, 0x6f, |
| 0x72, 0x74, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, |
| 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x5f, 0x65, 0x72, 0x72, 0x6f, |
| 0x72, 0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, |
| 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x47, 0x6f, 0x6d, 0x61, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, |
| 0x41, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, |
| 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, |
| 0x18, 0x4a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, |
| 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, |
| 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, |
| 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x4b, |
| 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, |
| 0x6f, 0x78, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x75, 0x6e, 0x12, 0x3d, 0x0a, 0x1b, 0x63, |
| 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6c, 0x6f, |
| 0x63, 0x61, 0x6c, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x08, |
| 0x52, 0x18, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, |
| 0x6f, 0x63, 0x61, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x21, 0x63, 0x6f, |
| 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x65, 0x78, 0x65, |
| 0x63, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, |
| 0x50, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1d, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x50, |
| 0x72, 0x6f, 0x78, 0x79, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, |
| 0x65, 0x74, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, |
| 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, |
| 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x45, 0x78, |
| 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0e, 0x65, 0x78, |
| 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x2d, 0x0a, 0x09, |
| 0x45, 0x78, 0x65, 0x63, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, |
| 0x00, 0x12, 0x18, 0x0a, 0x0b, 0x42, 0x41, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, |
| 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x22, 0x43, 0x0a, 0x14, 0x42, |
| 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x43, |
| 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, |
| 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, |
| 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x52, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x53, 0x10, 0x01, |
| 0x22, 0x55, 0x0a, 0x0b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, |
| 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, |
| 0x09, 0x4d, 0x45, 0x4d, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, |
| 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x02, 0x12, |
| 0x16, 0x0a, 0x12, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, |
| 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x16, 0x10, 0x17, 0x4a, 0x04, 0x08, |
| 0x17, 0x10, 0x18, 0x4a, 0x04, 0x08, 0x63, 0x10, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x0c, 0x53, 0x74, |
| 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x04, 0x62, 0x6c, |
| 0x6f, 0x62, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, |
| 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, 0x6f, |
| 0x62, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x12, 0x43, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x1c, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x72, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2a, 0x0a, 0x0d, |
| 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x19, 0x0a, |
| 0x08, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, |
| 0x07, 0x68, 0x61, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x22, 0x6f, 0x0a, 0x0d, 0x4c, 0x6f, 0x6f, 0x6b, |
| 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, |
| 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x61, 0x73, |
| 0x68, 0x4b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, |
| 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, |
| 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x3d, 0x0a, 0x0e, 0x4c, 0x6f, 0x6f, |
| 0x6b, 0x75, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x04, 0x62, |
| 0x6c, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x76, 0x74, |
| 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x67, 0x6f, 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x6c, |
| 0x6f, 0x62, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x22, 0x0e, 0x0a, 0x0c, 0x45, 0x6d, 0x70, 0x74, |
| 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x26, 0x0a, 0x10, 0x48, 0x74, 0x74, 0x70, |
| 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, |
| 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, |
| 0x42, 0x27, 0x5a, 0x25, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, |
| 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x6d, 0x61, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x70, 0x69, |
| } |
| |
| var ( |
| file_api_goma_data_proto_rawDescOnce sync.Once |
| file_api_goma_data_proto_rawDescData = file_api_goma_data_proto_rawDesc |
| ) |
| |
| func file_api_goma_data_proto_rawDescGZIP() []byte { |
| file_api_goma_data_proto_rawDescOnce.Do(func() { |
| file_api_goma_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_goma_data_proto_rawDescData) |
| }) |
| return file_api_goma_data_proto_rawDescData |
| } |
| |
| var file_api_goma_data_proto_enumTypes = make([]protoimpl.EnumInfo, 7) |
| var file_api_goma_data_proto_msgTypes = make([]protoimpl.MessageInfo, 19) |
| var file_api_goma_data_proto_goTypes = []interface{}{ |
| (FileBlob_BlobType)(0), // 0: devtools_goma.FileBlob.BlobType |
| (RequesterInfo_GomaApiVersion)(0), // 1: devtools_goma.RequesterInfo.GomaApiVersion |
| (RequesterInfo_PathStyle)(0), // 2: devtools_goma.RequesterInfo.PathStyle |
| (ExecReq_CachePolicy)(0), // 3: devtools_goma.ExecReq.CachePolicy |
| (ExecResp_ExecError)(0), // 4: devtools_goma.ExecResp.ExecError |
| (ExecResp_BadRequestReasonCode)(0), // 5: devtools_goma.ExecResp.BadRequestReasonCode |
| (ExecResp_CacheSource)(0), // 6: devtools_goma.ExecResp.CacheSource |
| (*FileBlob)(nil), // 7: devtools_goma.FileBlob |
| (*CommandSpec)(nil), // 8: devtools_goma.CommandSpec |
| (*SubprogramSpec)(nil), // 9: devtools_goma.SubprogramSpec |
| (*ToolchainSpec)(nil), // 10: devtools_goma.ToolchainSpec |
| (*ExecResult)(nil), // 11: devtools_goma.ExecResult |
| (*PlatformProperty)(nil), // 12: devtools_goma.PlatformProperty |
| (*RequesterInfo)(nil), // 13: devtools_goma.RequesterInfo |
| (*RequesterEnv)(nil), // 14: devtools_goma.RequesterEnv |
| (*ExecReq)(nil), // 15: devtools_goma.ExecReq |
| (*ExecutionStats)(nil), // 16: devtools_goma.ExecutionStats |
| (*ExecResp)(nil), // 17: devtools_goma.ExecResp |
| (*StoreFileReq)(nil), // 18: devtools_goma.StoreFileReq |
| (*StoreFileResp)(nil), // 19: devtools_goma.StoreFileResp |
| (*LookupFileReq)(nil), // 20: devtools_goma.LookupFileReq |
| (*LookupFileResp)(nil), // 21: devtools_goma.LookupFileResp |
| (*EmptyMessage)(nil), // 22: devtools_goma.EmptyMessage |
| (*HttpPortResponse)(nil), // 23: devtools_goma.HttpPortResponse |
| (*ExecResult_Output)(nil), // 24: devtools_goma.ExecResult.Output |
| (*ExecReq_Input)(nil), // 25: devtools_goma.ExecReq.Input |
| (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp |
| } |
| var file_api_goma_data_proto_depIdxs = []int32{ |
| 0, // 0: devtools_goma.FileBlob.blob_type:type_name -> devtools_goma.FileBlob.BlobType |
| 8, // 1: devtools_goma.ExecResult.command_spec:type_name -> devtools_goma.CommandSpec |
| 9, // 2: devtools_goma.ExecResult.subprogram:type_name -> devtools_goma.SubprogramSpec |
| 24, // 3: devtools_goma.ExecResult.output:type_name -> devtools_goma.ExecResult.Output |
| 2, // 4: devtools_goma.RequesterInfo.path_style:type_name -> devtools_goma.RequesterInfo.PathStyle |
| 12, // 5: devtools_goma.RequesterInfo.platform_properties:type_name -> devtools_goma.PlatformProperty |
| 8, // 6: devtools_goma.ExecReq.command_spec:type_name -> devtools_goma.CommandSpec |
| 25, // 7: devtools_goma.ExecReq.input:type_name -> devtools_goma.ExecReq.Input |
| 9, // 8: devtools_goma.ExecReq.subprogram:type_name -> devtools_goma.SubprogramSpec |
| 13, // 9: devtools_goma.ExecReq.requester_info:type_name -> devtools_goma.RequesterInfo |
| 3, // 10: devtools_goma.ExecReq.cache_policy:type_name -> devtools_goma.ExecReq.CachePolicy |
| 14, // 11: devtools_goma.ExecReq.requester_env:type_name -> devtools_goma.RequesterEnv |
| 10, // 12: devtools_goma.ExecReq.toolchain_specs:type_name -> devtools_goma.ToolchainSpec |
| 26, // 13: devtools_goma.ExecutionStats.execution_start_timestamp:type_name -> google.protobuf.Timestamp |
| 26, // 14: devtools_goma.ExecutionStats.execution_completed_timestamp:type_name -> google.protobuf.Timestamp |
| 11, // 15: devtools_goma.ExecResp.result:type_name -> devtools_goma.ExecResult |
| 4, // 16: devtools_goma.ExecResp.error:type_name -> devtools_goma.ExecResp.ExecError |
| 5, // 17: devtools_goma.ExecResp.bad_request_reason_code:type_name -> devtools_goma.ExecResp.BadRequestReasonCode |
| 6, // 18: devtools_goma.ExecResp.cache_hit:type_name -> devtools_goma.ExecResp.CacheSource |
| 16, // 19: devtools_goma.ExecResp.execution_stats:type_name -> devtools_goma.ExecutionStats |
| 7, // 20: devtools_goma.StoreFileReq.blob:type_name -> devtools_goma.FileBlob |
| 13, // 21: devtools_goma.StoreFileReq.requester_info:type_name -> devtools_goma.RequesterInfo |
| 13, // 22: devtools_goma.LookupFileReq.requester_info:type_name -> devtools_goma.RequesterInfo |
| 7, // 23: devtools_goma.LookupFileResp.blob:type_name -> devtools_goma.FileBlob |
| 7, // 24: devtools_goma.ExecResult.Output.blob:type_name -> devtools_goma.FileBlob |
| 7, // 25: devtools_goma.ExecReq.Input.content:type_name -> devtools_goma.FileBlob |
| 26, // [26:26] is the sub-list for method output_type |
| 26, // [26:26] is the sub-list for method input_type |
| 26, // [26:26] is the sub-list for extension type_name |
| 26, // [26:26] is the sub-list for extension extendee |
| 0, // [0:26] is the sub-list for field type_name |
| } |
| |
| func init() { file_api_goma_data_proto_init() } |
| func file_api_goma_data_proto_init() { |
| if File_api_goma_data_proto != nil { |
| return |
| } |
| if !protoimpl.UnsafeEnabled { |
| file_api_goma_data_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*FileBlob); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CommandSpec); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SubprogramSpec); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ToolchainSpec); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExecResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*PlatformProperty); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RequesterInfo); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RequesterEnv); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExecReq); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExecutionStats); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExecResp); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StoreFileReq); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StoreFileResp); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*LookupFileReq); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*LookupFileResp); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*EmptyMessage); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*HttpPortResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExecResult_Output); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_api_goma_data_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ExecReq_Input); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_api_goma_data_proto_rawDesc, |
| NumEnums: 7, |
| NumMessages: 19, |
| NumExtensions: 0, |
| NumServices: 0, |
| }, |
| GoTypes: file_api_goma_data_proto_goTypes, |
| DependencyIndexes: file_api_goma_data_proto_depIdxs, |
| EnumInfos: file_api_goma_data_proto_enumTypes, |
| MessageInfos: file_api_goma_data_proto_msgTypes, |
| }.Build() |
| File_api_goma_data_proto = out.File |
| file_api_goma_data_proto_rawDesc = nil |
| file_api_goma_data_proto_goTypes = nil |
| file_api_goma_data_proto_depIdxs = nil |
| } |