// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0 // protoc v3.14.0 // source: judge.proto package pb import ( proto "github.com/golang/protobuf/proto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" 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) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 type Response_Result_StatusType int32 const ( Response_Result_Invalid Response_Result_StatusType = 0 Response_Result_Accepted Response_Result_StatusType = 1 Response_Result_WrongAnswer Response_Result_StatusType = 2 // Not used Response_Result_PartiallyCorrect Response_Result_StatusType = 3 // Not used Response_Result_MemoryLimitExceeded Response_Result_StatusType = 4 Response_Result_TimeLimitExceeded Response_Result_StatusType = 5 Response_Result_OutputLimitExceeded Response_Result_StatusType = 6 Response_Result_FileError Response_Result_StatusType = 7 Response_Result_NonZeroExitStatus Response_Result_StatusType = 8 Response_Result_Signalled Response_Result_StatusType = 9 Response_Result_DangerousSyscall Response_Result_StatusType = 10 Response_Result_JudgementFailed Response_Result_StatusType = 11 // Not used Response_Result_InvalidInteraction Response_Result_StatusType = 12 // Not used Response_Result_InternalError Response_Result_StatusType = 13 ) // Enum value maps for Response_Result_StatusType. var ( Response_Result_StatusType_name = map[int32]string{ 0: "Invalid", 1: "Accepted", 2: "WrongAnswer", 3: "PartiallyCorrect", 4: "MemoryLimitExceeded", 5: "TimeLimitExceeded", 6: "OutputLimitExceeded", 7: "FileError", 8: "NonZeroExitStatus", 9: "Signalled", 10: "DangerousSyscall", 11: "JudgementFailed", 12: "InvalidInteraction", 13: "InternalError", } Response_Result_StatusType_value = map[string]int32{ "Invalid": 0, "Accepted": 1, "WrongAnswer": 2, "PartiallyCorrect": 3, "MemoryLimitExceeded": 4, "TimeLimitExceeded": 5, "OutputLimitExceeded": 6, "FileError": 7, "NonZeroExitStatus": 8, "Signalled": 9, "DangerousSyscall": 10, "JudgementFailed": 11, "InvalidInteraction": 12, "InternalError": 13, } ) func (x Response_Result_StatusType) Enum() *Response_Result_StatusType { p := new(Response_Result_StatusType) *p = x return p } func (x Response_Result_StatusType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Response_Result_StatusType) Descriptor() protoreflect.EnumDescriptor { return file_judge_proto_enumTypes[0].Descriptor() } func (Response_Result_StatusType) Type() protoreflect.EnumType { return &file_judge_proto_enumTypes[0] } func (x Response_Result_StatusType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Response_Result_StatusType.Descriptor instead. func (Response_Result_StatusType) EnumDescriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{4, 0, 0} } type FileID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FileID string `protobuf:"bytes,1,opt,name=fileID,proto3" json:"fileID,omitempty"` } func (x *FileID) Reset() { *x = FileID{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileID) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileID) ProtoMessage() {} func (x *FileID) ProtoReflect() protoreflect.Message { mi := &file_judge_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 FileID.ProtoReflect.Descriptor instead. func (*FileID) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{0} } func (x *FileID) GetFileID() string { if x != nil { return x.FileID } return "" } type FileContent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Content []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` } func (x *FileContent) Reset() { *x = FileContent{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileContent) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileContent) ProtoMessage() {} func (x *FileContent) ProtoReflect() protoreflect.Message { mi := &file_judge_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 FileContent.ProtoReflect.Descriptor instead. func (*FileContent) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{1} } func (x *FileContent) GetName() string { if x != nil { return x.Name } return "" } func (x *FileContent) GetContent() []byte { if x != nil { return x.Content } return nil } type FileListType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FileIDs []string `protobuf:"bytes,1,rep,name=fileIDs,proto3" json:"fileIDs,omitempty"` } func (x *FileListType) Reset() { *x = FileListType{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileListType) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileListType) ProtoMessage() {} func (x *FileListType) ProtoReflect() protoreflect.Message { mi := &file_judge_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 FileListType.ProtoReflect.Descriptor instead. func (*FileListType) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{2} } func (x *FileListType) GetFileIDs() []string { if x != nil { return x.FileIDs } return nil } type Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RequestID string `protobuf:"bytes,1,opt,name=requestID,proto3" json:"requestID,omitempty"` Cmd []*Request_CmdType `protobuf:"bytes,2,rep,name=cmd,proto3" json:"cmd,omitempty"` PipeMapping []*Request_PipeMap `protobuf:"bytes,3,rep,name=pipeMapping,proto3" json:"pipeMapping,omitempty"` } func (x *Request) Reset() { *x = Request{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request) ProtoMessage() {} func (x *Request) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request.ProtoReflect.Descriptor instead. func (*Request) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3} } func (x *Request) GetRequestID() string { if x != nil { return x.RequestID } return "" } func (x *Request) GetCmd() []*Request_CmdType { if x != nil { return x.Cmd } return nil } func (x *Request) GetPipeMapping() []*Request_PipeMap { if x != nil { return x.PipeMapping } return nil } type Response struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RequestID string `protobuf:"bytes,1,opt,name=requestID,proto3" json:"requestID,omitempty"` Results []*Response_Result `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` } func (x *Response) Reset() { *x = Response{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Response) String() string { return protoimpl.X.MessageStringOf(x) } func (*Response) ProtoMessage() {} func (x *Response) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Response.ProtoReflect.Descriptor instead. func (*Response) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{4} } func (x *Response) GetRequestID() string { if x != nil { return x.RequestID } return "" } func (x *Response) GetResults() []*Response_Result { if x != nil { return x.Results } return nil } func (x *Response) GetError() string { if x != nil { return x.Error } return "" } type StreamRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Request: // *StreamRequest_ExecRequest // *StreamRequest_ExecInput // *StreamRequest_ExecResize Request isStreamRequest_Request `protobuf_oneof:"request"` } func (x *StreamRequest) Reset() { *x = StreamRequest{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamRequest) ProtoMessage() {} func (x *StreamRequest) ProtoReflect() protoreflect.Message { mi := &file_judge_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 StreamRequest.ProtoReflect.Descriptor instead. func (*StreamRequest) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{5} } func (m *StreamRequest) GetRequest() isStreamRequest_Request { if m != nil { return m.Request } return nil } func (x *StreamRequest) GetExecRequest() *Request { if x, ok := x.GetRequest().(*StreamRequest_ExecRequest); ok { return x.ExecRequest } return nil } func (x *StreamRequest) GetExecInput() *StreamRequest_Input { if x, ok := x.GetRequest().(*StreamRequest_ExecInput); ok { return x.ExecInput } return nil } func (x *StreamRequest) GetExecResize() *StreamRequest_Resize { if x, ok := x.GetRequest().(*StreamRequest_ExecResize); ok { return x.ExecResize } return nil } type isStreamRequest_Request interface { isStreamRequest_Request() } type StreamRequest_ExecRequest struct { ExecRequest *Request `protobuf:"bytes,1,opt,name=execRequest,proto3,oneof"` } type StreamRequest_ExecInput struct { ExecInput *StreamRequest_Input `protobuf:"bytes,2,opt,name=execInput,proto3,oneof"` } type StreamRequest_ExecResize struct { ExecResize *StreamRequest_Resize `protobuf:"bytes,3,opt,name=execResize,proto3,oneof"` } func (*StreamRequest_ExecRequest) isStreamRequest_Request() {} func (*StreamRequest_ExecInput) isStreamRequest_Request() {} func (*StreamRequest_ExecResize) isStreamRequest_Request() {} type StreamResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Response: // *StreamResponse_ExecResponse // *StreamResponse_ExecOutput Response isStreamResponse_Response `protobuf_oneof:"response"` } func (x *StreamResponse) Reset() { *x = StreamResponse{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamResponse) ProtoMessage() {} func (x *StreamResponse) ProtoReflect() protoreflect.Message { mi := &file_judge_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 StreamResponse.ProtoReflect.Descriptor instead. func (*StreamResponse) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{6} } func (m *StreamResponse) GetResponse() isStreamResponse_Response { if m != nil { return m.Response } return nil } func (x *StreamResponse) GetExecResponse() *Response { if x, ok := x.GetResponse().(*StreamResponse_ExecResponse); ok { return x.ExecResponse } return nil } func (x *StreamResponse) GetExecOutput() *StreamResponse_Output { if x, ok := x.GetResponse().(*StreamResponse_ExecOutput); ok { return x.ExecOutput } return nil } type isStreamResponse_Response interface { isStreamResponse_Response() } type StreamResponse_ExecResponse struct { ExecResponse *Response `protobuf:"bytes,1,opt,name=execResponse,proto3,oneof"` } type StreamResponse_ExecOutput struct { ExecOutput *StreamResponse_Output `protobuf:"bytes,2,opt,name=execOutput,proto3,oneof"` } func (*StreamResponse_ExecResponse) isStreamResponse_Response() {} func (*StreamResponse_ExecOutput) isStreamResponse_Response() {} type Request_LocalFile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Src string `protobuf:"bytes,1,opt,name=src,proto3" json:"src,omitempty"` } func (x *Request_LocalFile) Reset() { *x = Request_LocalFile{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_LocalFile) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_LocalFile) ProtoMessage() {} func (x *Request_LocalFile) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_LocalFile.ProtoReflect.Descriptor instead. func (*Request_LocalFile) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 0} } func (x *Request_LocalFile) GetSrc() string { if x != nil { return x.Src } return "" } type Request_MemoryFile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` } func (x *Request_MemoryFile) Reset() { *x = Request_MemoryFile{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_MemoryFile) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_MemoryFile) ProtoMessage() {} func (x *Request_MemoryFile) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_MemoryFile.ProtoReflect.Descriptor instead. func (*Request_MemoryFile) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 1} } func (x *Request_MemoryFile) GetContent() []byte { if x != nil { return x.Content } return nil } type Request_CachedFile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FileID string `protobuf:"bytes,1,opt,name=fileID,proto3" json:"fileID,omitempty"` } func (x *Request_CachedFile) Reset() { *x = Request_CachedFile{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_CachedFile) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_CachedFile) ProtoMessage() {} func (x *Request_CachedFile) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_CachedFile.ProtoReflect.Descriptor instead. func (*Request_CachedFile) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 2} } func (x *Request_CachedFile) GetFileID() string { if x != nil { return x.FileID } return "" } type Request_PipeCollector struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Max int64 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` } func (x *Request_PipeCollector) Reset() { *x = Request_PipeCollector{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_PipeCollector) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_PipeCollector) ProtoMessage() {} func (x *Request_PipeCollector) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_PipeCollector.ProtoReflect.Descriptor instead. func (*Request_PipeCollector) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 3} } func (x *Request_PipeCollector) GetName() string { if x != nil { return x.Name } return "" } func (x *Request_PipeCollector) GetMax() int64 { if x != nil { return x.Max } return 0 } type Request_StreamInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *Request_StreamInput) Reset() { *x = Request_StreamInput{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_StreamInput) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_StreamInput) ProtoMessage() {} func (x *Request_StreamInput) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_StreamInput.ProtoReflect.Descriptor instead. func (*Request_StreamInput) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 4} } func (x *Request_StreamInput) GetName() string { if x != nil { return x.Name } return "" } type Request_StreamOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *Request_StreamOutput) Reset() { *x = Request_StreamOutput{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_StreamOutput) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_StreamOutput) ProtoMessage() {} func (x *Request_StreamOutput) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_StreamOutput.ProtoReflect.Descriptor instead. func (*Request_StreamOutput) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 5} } func (x *Request_StreamOutput) GetName() string { if x != nil { return x.Name } return "" } type Request_File struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to File: // *Request_File_Local // *Request_File_Memory // *Request_File_Cached // *Request_File_Pipe // *Request_File_StreamIn // *Request_File_StreamOut File isRequest_File_File `protobuf_oneof:"file"` } func (x *Request_File) Reset() { *x = Request_File{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_File) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_File) ProtoMessage() {} func (x *Request_File) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_File.ProtoReflect.Descriptor instead. func (*Request_File) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 6} } func (m *Request_File) GetFile() isRequest_File_File { if m != nil { return m.File } return nil } func (x *Request_File) GetLocal() *Request_LocalFile { if x, ok := x.GetFile().(*Request_File_Local); ok { return x.Local } return nil } func (x *Request_File) GetMemory() *Request_MemoryFile { if x, ok := x.GetFile().(*Request_File_Memory); ok { return x.Memory } return nil } func (x *Request_File) GetCached() *Request_CachedFile { if x, ok := x.GetFile().(*Request_File_Cached); ok { return x.Cached } return nil } func (x *Request_File) GetPipe() *Request_PipeCollector { if x, ok := x.GetFile().(*Request_File_Pipe); ok { return x.Pipe } return nil } func (x *Request_File) GetStreamIn() *Request_StreamInput { if x, ok := x.GetFile().(*Request_File_StreamIn); ok { return x.StreamIn } return nil } func (x *Request_File) GetStreamOut() *Request_StreamOutput { if x, ok := x.GetFile().(*Request_File_StreamOut); ok { return x.StreamOut } return nil } type isRequest_File_File interface { isRequest_File_File() } type Request_File_Local struct { Local *Request_LocalFile `protobuf:"bytes,1,opt,name=local,proto3,oneof"` } type Request_File_Memory struct { Memory *Request_MemoryFile `protobuf:"bytes,2,opt,name=memory,proto3,oneof"` } type Request_File_Cached struct { Cached *Request_CachedFile `protobuf:"bytes,3,opt,name=cached,proto3,oneof"` } type Request_File_Pipe struct { Pipe *Request_PipeCollector `protobuf:"bytes,4,opt,name=pipe,proto3,oneof"` } type Request_File_StreamIn struct { // streamIn only valid in streaming RPC StreamIn *Request_StreamInput `protobuf:"bytes,5,opt,name=streamIn,proto3,oneof"` } type Request_File_StreamOut struct { // streamOut only valid in streaming RPC StreamOut *Request_StreamOutput `protobuf:"bytes,6,opt,name=streamOut,proto3,oneof"` } func (*Request_File_Local) isRequest_File_File() {} func (*Request_File_Memory) isRequest_File_File() {} func (*Request_File_Cached) isRequest_File_File() {} func (*Request_File_Pipe) isRequest_File_File() {} func (*Request_File_StreamIn) isRequest_File_File() {} func (*Request_File_StreamOut) isRequest_File_File() {} type Request_CmdType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Args []string `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"` Env []string `protobuf:"bytes,2,rep,name=env,proto3" json:"env,omitempty"` Files []*Request_File `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"` Tty bool `protobuf:"varint,13,opt,name=tty,proto3" json:"tty,omitempty"` CpuTimeLimit uint64 `protobuf:"varint,4,opt,name=cpuTimeLimit,proto3" json:"cpuTimeLimit,omitempty"` ClockTimeLimit uint64 `protobuf:"varint,5,opt,name=clockTimeLimit,proto3" json:"clockTimeLimit,omitempty"` MemoryLimit uint64 `protobuf:"varint,6,opt,name=memoryLimit,proto3" json:"memoryLimit,omitempty"` StackLimit uint64 `protobuf:"varint,12,opt,name=stackLimit,proto3" json:"stackLimit,omitempty"` ProcLimit uint64 `protobuf:"varint,7,opt,name=procLimit,proto3" json:"procLimit,omitempty"` CPURateLimit float64 `protobuf:"fixed64,15,opt,name=CPURateLimit,proto3" json:"CPURateLimit,omitempty"` CopyIn map[string]*Request_File `protobuf:"bytes,8,rep,name=copyIn,proto3" json:"copyIn,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` CopyOut []string `protobuf:"bytes,9,rep,name=copyOut,proto3" json:"copyOut,omitempty"` CopyOutCached []string `protobuf:"bytes,10,rep,name=copyOutCached,proto3" json:"copyOutCached,omitempty"` CopyOutDir string `protobuf:"bytes,11,opt,name=copyOutDir,proto3" json:"copyOutDir,omitempty"` CopyOutMax uint64 `protobuf:"varint,14,opt,name=copyOutMax,proto3" json:"copyOutMax,omitempty"` StrictMemoryLimit bool `protobuf:"varint,16,opt,name=strictMemoryLimit,proto3" json:"strictMemoryLimit,omitempty"` } func (x *Request_CmdType) Reset() { *x = Request_CmdType{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_CmdType) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_CmdType) ProtoMessage() {} func (x *Request_CmdType) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_CmdType.ProtoReflect.Descriptor instead. func (*Request_CmdType) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 7} } func (x *Request_CmdType) GetArgs() []string { if x != nil { return x.Args } return nil } func (x *Request_CmdType) GetEnv() []string { if x != nil { return x.Env } return nil } func (x *Request_CmdType) GetFiles() []*Request_File { if x != nil { return x.Files } return nil } func (x *Request_CmdType) GetTty() bool { if x != nil { return x.Tty } return false } func (x *Request_CmdType) GetCpuTimeLimit() uint64 { if x != nil { return x.CpuTimeLimit } return 0 } func (x *Request_CmdType) GetClockTimeLimit() uint64 { if x != nil { return x.ClockTimeLimit } return 0 } func (x *Request_CmdType) GetMemoryLimit() uint64 { if x != nil { return x.MemoryLimit } return 0 } func (x *Request_CmdType) GetStackLimit() uint64 { if x != nil { return x.StackLimit } return 0 } func (x *Request_CmdType) GetProcLimit() uint64 { if x != nil { return x.ProcLimit } return 0 } func (x *Request_CmdType) GetCPURateLimit() float64 { if x != nil { return x.CPURateLimit } return 0 } func (x *Request_CmdType) GetCopyIn() map[string]*Request_File { if x != nil { return x.CopyIn } return nil } func (x *Request_CmdType) GetCopyOut() []string { if x != nil { return x.CopyOut } return nil } func (x *Request_CmdType) GetCopyOutCached() []string { if x != nil { return x.CopyOutCached } return nil } func (x *Request_CmdType) GetCopyOutDir() string { if x != nil { return x.CopyOutDir } return "" } func (x *Request_CmdType) GetCopyOutMax() uint64 { if x != nil { return x.CopyOutMax } return 0 } func (x *Request_CmdType) GetStrictMemoryLimit() bool { if x != nil { return x.StrictMemoryLimit } return false } type Request_PipeMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields In *Request_PipeMap_PipeIndex `protobuf:"bytes,1,opt,name=in,proto3" json:"in,omitempty"` Out *Request_PipeMap_PipeIndex `protobuf:"bytes,2,opt,name=out,proto3" json:"out,omitempty"` } func (x *Request_PipeMap) Reset() { *x = Request_PipeMap{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_PipeMap) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_PipeMap) ProtoMessage() {} func (x *Request_PipeMap) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_PipeMap.ProtoReflect.Descriptor instead. func (*Request_PipeMap) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 8} } func (x *Request_PipeMap) GetIn() *Request_PipeMap_PipeIndex { if x != nil { return x.In } return nil } func (x *Request_PipeMap) GetOut() *Request_PipeMap_PipeIndex { if x != nil { return x.Out } return nil } type Request_PipeMap_PipeIndex struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` Fd int32 `protobuf:"varint,2,opt,name=fd,proto3" json:"fd,omitempty"` } func (x *Request_PipeMap_PipeIndex) Reset() { *x = Request_PipeMap_PipeIndex{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request_PipeMap_PipeIndex) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request_PipeMap_PipeIndex) ProtoMessage() {} func (x *Request_PipeMap_PipeIndex) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Request_PipeMap_PipeIndex.ProtoReflect.Descriptor instead. func (*Request_PipeMap_PipeIndex) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{3, 8, 0} } func (x *Request_PipeMap_PipeIndex) GetIndex() int32 { if x != nil { return x.Index } return 0 } func (x *Request_PipeMap_PipeIndex) GetFd() int32 { if x != nil { return x.Fd } return 0 } type Response_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status Response_Result_StatusType `protobuf:"varint,1,opt,name=status,proto3,enum=pb.Response_Result_StatusType" json:"status,omitempty"` ExitStatus int32 `protobuf:"varint,2,opt,name=exitStatus,proto3" json:"exitStatus,omitempty"` Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` Time uint64 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"` RunTime uint64 `protobuf:"varint,8,opt,name=runTime,proto3" json:"runTime,omitempty"` Memory uint64 `protobuf:"varint,5,opt,name=memory,proto3" json:"memory,omitempty"` Files map[string][]byte `protobuf:"bytes,6,rep,name=files,proto3" json:"files,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` FileIDs map[string]string `protobuf:"bytes,7,rep,name=fileIDs,proto3" json:"fileIDs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *Response_Result) Reset() { *x = Response_Result{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Response_Result) String() string { return protoimpl.X.MessageStringOf(x) } func (*Response_Result) ProtoMessage() {} func (x *Response_Result) ProtoReflect() protoreflect.Message { mi := &file_judge_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 Response_Result.ProtoReflect.Descriptor instead. func (*Response_Result) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{4, 0} } func (x *Response_Result) GetStatus() Response_Result_StatusType { if x != nil { return x.Status } return Response_Result_Invalid } func (x *Response_Result) GetExitStatus() int32 { if x != nil { return x.ExitStatus } return 0 } func (x *Response_Result) GetError() string { if x != nil { return x.Error } return "" } func (x *Response_Result) GetTime() uint64 { if x != nil { return x.Time } return 0 } func (x *Response_Result) GetRunTime() uint64 { if x != nil { return x.RunTime } return 0 } func (x *Response_Result) GetMemory() uint64 { if x != nil { return x.Memory } return 0 } func (x *Response_Result) GetFiles() map[string][]byte { if x != nil { return x.Files } return nil } func (x *Response_Result) GetFileIDs() map[string]string { if x != nil { return x.FileIDs } return nil } type StreamRequest_Input struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Content []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` } func (x *StreamRequest_Input) Reset() { *x = StreamRequest_Input{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamRequest_Input) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamRequest_Input) ProtoMessage() {} func (x *StreamRequest_Input) ProtoReflect() protoreflect.Message { mi := &file_judge_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StreamRequest_Input.ProtoReflect.Descriptor instead. func (*StreamRequest_Input) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{5, 0} } func (x *StreamRequest_Input) GetName() string { if x != nil { return x.Name } return "" } func (x *StreamRequest_Input) GetContent() []byte { if x != nil { return x.Content } return nil } type StreamRequest_Resize struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Rows uint32 `protobuf:"varint,2,opt,name=rows,proto3" json:"rows,omitempty"` Cols uint32 `protobuf:"varint,3,opt,name=cols,proto3" json:"cols,omitempty"` X uint32 `protobuf:"varint,4,opt,name=x,proto3" json:"x,omitempty"` Y uint32 `protobuf:"varint,5,opt,name=y,proto3" json:"y,omitempty"` } func (x *StreamRequest_Resize) Reset() { *x = StreamRequest_Resize{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamRequest_Resize) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamRequest_Resize) ProtoMessage() {} func (x *StreamRequest_Resize) ProtoReflect() protoreflect.Message { mi := &file_judge_proto_msgTypes[22] 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 StreamRequest_Resize.ProtoReflect.Descriptor instead. func (*StreamRequest_Resize) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{5, 1} } func (x *StreamRequest_Resize) GetName() string { if x != nil { return x.Name } return "" } func (x *StreamRequest_Resize) GetRows() uint32 { if x != nil { return x.Rows } return 0 } func (x *StreamRequest_Resize) GetCols() uint32 { if x != nil { return x.Cols } return 0 } func (x *StreamRequest_Resize) GetX() uint32 { if x != nil { return x.X } return 0 } func (x *StreamRequest_Resize) GetY() uint32 { if x != nil { return x.Y } return 0 } type StreamResponse_Output struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Content []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` } func (x *StreamResponse_Output) Reset() { *x = StreamResponse_Output{} if protoimpl.UnsafeEnabled { mi := &file_judge_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamResponse_Output) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamResponse_Output) ProtoMessage() {} func (x *StreamResponse_Output) ProtoReflect() protoreflect.Message { mi := &file_judge_proto_msgTypes[23] 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 StreamResponse_Output.ProtoReflect.Descriptor instead. func (*StreamResponse_Output) Descriptor() ([]byte, []int) { return file_judge_proto_rawDescGZIP(), []int{6, 0} } func (x *StreamResponse_Output) GetName() string { if x != nil { return x.Name } return "" } func (x *StreamResponse_Output) GetContent() []byte { if x != nil { return x.Content } return nil } var File_judge_proto protoreflect.FileDescriptor var file_judge_proto_rawDesc = []byte{ 0x0a, 0x0b, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x22, 0x3b, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x73, 0x22, 0xc5, 0x0b, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x69, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x0b, 0x70, 0x69, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, 0x1d, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x72, 0x63, 0x1a, 0x26, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x24, 0x0a, 0x0a, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x1a, 0x35, 0x0a, 0x0d, 0x50, 0x69, 0x70, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x1a, 0x21, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x22, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xc3, 0x02, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x30, 0x0a, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x04, 0x70, 0x69, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0xed, 0x04, 0x0a, 0x07, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x26, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x74, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x50, 0x55, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x43, 0x50, 0x55, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x70, 0x79, 0x49, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x49, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x70, 0x79, 0x49, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x44, 0x69, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x44, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x4d, 0x61, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x6f, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x4b, 0x0a, 0x0b, 0x43, 0x6f, 0x70, 0x79, 0x49, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x9c, 0x01, 0x0a, 0x07, 0x50, 0x69, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x2d, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x03, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x1a, 0x31, 0x0a, 0x09, 0x50, 0x69, 0x70, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x66, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x66, 0x64, 0x22, 0xb9, 0x06, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xc9, 0x05, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x78, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa2, 0x02, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x57, 0x72, 0x6f, 0x6e, 0x67, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x6f, 0x6e, 0x5a, 0x65, 0x72, 0x6f, 0x45, 0x78, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x6f, 0x75, 0x73, 0x53, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x75, 0x64, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x0b, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x0d, 0x22, 0xd9, 0x02, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x63, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x65, 0x63, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x1a, 0x35, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x60, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x01, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xc5, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x1a, 0x36, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9e, 0x02, 0x0a, 0x08, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x34, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x07, 0x46, 0x69, 0x6c, 0x65, 0x47, 0x65, 0x74, 0x12, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x1f, 0x5a, 0x1d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x69, 0x79, 0x6c, 0x65, 0x2f, 0x67, 0x6f, 0x2d, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_judge_proto_rawDescOnce sync.Once file_judge_proto_rawDescData = file_judge_proto_rawDesc ) func file_judge_proto_rawDescGZIP() []byte { file_judge_proto_rawDescOnce.Do(func() { file_judge_proto_rawDescData = protoimpl.X.CompressGZIP(file_judge_proto_rawDescData) }) return file_judge_proto_rawDescData } var file_judge_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_judge_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_judge_proto_goTypes = []interface{}{ (Response_Result_StatusType)(0), // 0: pb.Response.Result.StatusType (*FileID)(nil), // 1: pb.FileID (*FileContent)(nil), // 2: pb.FileContent (*FileListType)(nil), // 3: pb.FileListType (*Request)(nil), // 4: pb.Request (*Response)(nil), // 5: pb.Response (*StreamRequest)(nil), // 6: pb.StreamRequest (*StreamResponse)(nil), // 7: pb.StreamResponse (*Request_LocalFile)(nil), // 8: pb.Request.LocalFile (*Request_MemoryFile)(nil), // 9: pb.Request.MemoryFile (*Request_CachedFile)(nil), // 10: pb.Request.CachedFile (*Request_PipeCollector)(nil), // 11: pb.Request.PipeCollector (*Request_StreamInput)(nil), // 12: pb.Request.StreamInput (*Request_StreamOutput)(nil), // 13: pb.Request.StreamOutput (*Request_File)(nil), // 14: pb.Request.File (*Request_CmdType)(nil), // 15: pb.Request.CmdType (*Request_PipeMap)(nil), // 16: pb.Request.PipeMap nil, // 17: pb.Request.CmdType.CopyInEntry (*Request_PipeMap_PipeIndex)(nil), // 18: pb.Request.PipeMap.PipeIndex (*Response_Result)(nil), // 19: pb.Response.Result nil, // 20: pb.Response.Result.FilesEntry nil, // 21: pb.Response.Result.FileIDsEntry (*StreamRequest_Input)(nil), // 22: pb.StreamRequest.Input (*StreamRequest_Resize)(nil), // 23: pb.StreamRequest.Resize (*StreamResponse_Output)(nil), // 24: pb.StreamResponse.Output (*emptypb.Empty)(nil), // 25: google.protobuf.Empty } var file_judge_proto_depIdxs = []int32{ 15, // 0: pb.Request.cmd:type_name -> pb.Request.CmdType 16, // 1: pb.Request.pipeMapping:type_name -> pb.Request.PipeMap 19, // 2: pb.Response.results:type_name -> pb.Response.Result 4, // 3: pb.StreamRequest.execRequest:type_name -> pb.Request 22, // 4: pb.StreamRequest.execInput:type_name -> pb.StreamRequest.Input 23, // 5: pb.StreamRequest.execResize:type_name -> pb.StreamRequest.Resize 5, // 6: pb.StreamResponse.execResponse:type_name -> pb.Response 24, // 7: pb.StreamResponse.execOutput:type_name -> pb.StreamResponse.Output 8, // 8: pb.Request.File.local:type_name -> pb.Request.LocalFile 9, // 9: pb.Request.File.memory:type_name -> pb.Request.MemoryFile 10, // 10: pb.Request.File.cached:type_name -> pb.Request.CachedFile 11, // 11: pb.Request.File.pipe:type_name -> pb.Request.PipeCollector 12, // 12: pb.Request.File.streamIn:type_name -> pb.Request.StreamInput 13, // 13: pb.Request.File.streamOut:type_name -> pb.Request.StreamOutput 14, // 14: pb.Request.CmdType.files:type_name -> pb.Request.File 17, // 15: pb.Request.CmdType.copyIn:type_name -> pb.Request.CmdType.CopyInEntry 18, // 16: pb.Request.PipeMap.in:type_name -> pb.Request.PipeMap.PipeIndex 18, // 17: pb.Request.PipeMap.out:type_name -> pb.Request.PipeMap.PipeIndex 14, // 18: pb.Request.CmdType.CopyInEntry.value:type_name -> pb.Request.File 0, // 19: pb.Response.Result.status:type_name -> pb.Response.Result.StatusType 20, // 20: pb.Response.Result.files:type_name -> pb.Response.Result.FilesEntry 21, // 21: pb.Response.Result.fileIDs:type_name -> pb.Response.Result.FileIDsEntry 4, // 22: pb.Executor.Exec:input_type -> pb.Request 6, // 23: pb.Executor.ExecStream:input_type -> pb.StreamRequest 25, // 24: pb.Executor.FileList:input_type -> google.protobuf.Empty 1, // 25: pb.Executor.FileGet:input_type -> pb.FileID 2, // 26: pb.Executor.FileAdd:input_type -> pb.FileContent 1, // 27: pb.Executor.FileDelete:input_type -> pb.FileID 5, // 28: pb.Executor.Exec:output_type -> pb.Response 7, // 29: pb.Executor.ExecStream:output_type -> pb.StreamResponse 3, // 30: pb.Executor.FileList:output_type -> pb.FileListType 2, // 31: pb.Executor.FileGet:output_type -> pb.FileContent 1, // 32: pb.Executor.FileAdd:output_type -> pb.FileID 25, // 33: pb.Executor.FileDelete:output_type -> google.protobuf.Empty 28, // [28:34] is the sub-list for method output_type 22, // [22:28] is the sub-list for method input_type 22, // [22:22] is the sub-list for extension type_name 22, // [22:22] is the sub-list for extension extendee 0, // [0:22] is the sub-list for field type_name } func init() { file_judge_proto_init() } func file_judge_proto_init() { if File_judge_proto != nil { return } if !protoimpl.UnsafeEnabled { file_judge_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileContent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileListType); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Response); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_LocalFile); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_MemoryFile); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_CachedFile); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_PipeCollector); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_StreamInput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_StreamOutput); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_File); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_CmdType); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_PipeMap); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request_PipeMap_PipeIndex); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Response_Result); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamRequest_Input); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamRequest_Resize); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_judge_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamResponse_Output); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_judge_proto_msgTypes[5].OneofWrappers = []interface{}{ (*StreamRequest_ExecRequest)(nil), (*StreamRequest_ExecInput)(nil), (*StreamRequest_ExecResize)(nil), } file_judge_proto_msgTypes[6].OneofWrappers = []interface{}{ (*StreamResponse_ExecResponse)(nil), (*StreamResponse_ExecOutput)(nil), } file_judge_proto_msgTypes[13].OneofWrappers = []interface{}{ (*Request_File_Local)(nil), (*Request_File_Memory)(nil), (*Request_File_Cached)(nil), (*Request_File_Pipe)(nil), (*Request_File_StreamIn)(nil), (*Request_File_StreamOut)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_judge_proto_rawDesc, NumEnums: 1, NumMessages: 24, NumExtensions: 0, NumServices: 1, }, GoTypes: file_judge_proto_goTypes, DependencyIndexes: file_judge_proto_depIdxs, EnumInfos: file_judge_proto_enumTypes, MessageInfos: file_judge_proto_msgTypes, }.Build() File_judge_proto = out.File file_judge_proto_rawDesc = nil file_judge_proto_goTypes = nil file_judge_proto_depIdxs = nil }