diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/hpcAC/hpcAC.pb.go b/adaptor/PCM-HPC/PCM-AC/rpc/hpcAC/hpcAC.pb.go index d9777bba..e027a2ac 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/hpcAC/hpcAC.pb.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/hpcAC/hpcAC.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v3.21.12 +// protoc v3.12.4 // source: hpcAC.proto package hpcAC @@ -26,11 +26,11 @@ type JobManager struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobManagerType string `protobuf:"bytes,1,opt,name=job_manager_type,json=jobManagerType,proto3" json:"job_manager_type,omitempty"` // @gotags: copier:"JobManagerType", json:"JobManagerType" - JobManagerAddr string `protobuf:"bytes,2,opt,name=job_manager_addr,json=jobManagerAddr,proto3" json:"job_manager_addr,omitempty"` // @gotags: copier:"JobManagerAddr", json:"JobManagerAddr" - Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"ID", json:"id" - Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"` // @gotags: copier:"Text", json:"text" - JobManagerPort string `protobuf:"bytes,5,opt,name=job_manager_port,json=jobManagerPort,proto3" json:"job_manager_port,omitempty"` // @gotags: copier:"JobManagerPort", json:"JobManagerPort" + JobManagerType string `protobuf:"bytes,1,opt,name=job_manager_type,json=jobManagerType,proto3" json:"JobManagerType" copier:"JobManagerType"` // @gotags: copier:"JobManagerType", json:"JobManagerType" + JobManagerAddr string `protobuf:"bytes,2,opt,name=job_manager_addr,json=jobManagerAddr,proto3" json:"JobManagerAddr" copier:"JobManagerAddr"` // @gotags: copier:"JobManagerAddr", json:"JobManagerAddr" + Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id" copier:"ID"` // @gotags: copier:"ID", json:"id" + Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text" copier:"Text"` // @gotags: copier:"Text", json:"text" + JobManagerPort string `protobuf:"bytes,5,opt,name=job_manager_port,json=jobManagerPort,proto3" json:"JobManagerPort" copier:"JobManagerPort"` // @gotags: copier:"JobManagerPort", json:"JobManagerPort" } func (x *JobManager) Reset() { @@ -143,9 +143,9 @@ type ListJobManagerResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code", json:"code" - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg", json:"msg" - JobManagers []*JobManager `protobuf:"bytes,3,rep,name=job_managers,json=jobManagers,proto3" json:"job_managers,omitempty"` // @gotags: copier:"JobManagers", json:"data" + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code" copier:"Code"` // @gotags: copier:"Code", json:"code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg" copier:"Msg"` // @gotags: copier:"Msg", json:"msg" + Data []*JobManager `protobuf:"bytes,3,rep,name=data,proto3" json:"data" copier:"JobManagers"` // @gotags: copier:"JobManagers", json:"data" } func (x *ListJobManagerResp) Reset() { @@ -194,9 +194,9 @@ func (x *ListJobManagerResp) GetMsg() string { return "" } -func (x *ListJobManagerResp) GetJobManagers() []*JobManager { +func (x *ListJobManagerResp) GetData() []*JobManager { if x != nil { - return x.JobManagers + return x.Data } return nil } @@ -207,65 +207,65 @@ type JobInitAttr struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` // @gotags: copier:"Account", json:"Account" - AccrueTime string `protobuf:"bytes,2,opt,name=accrue_time,json=accrueTime,proto3" json:"accrue_time,omitempty"` // @gotags: copier:"AccrueTime", json:"AccrueTime" - AllocNodeSid string `protobuf:"bytes,3,opt,name=alloc_node_sid,json=allocNodeSid,proto3" json:"alloc_node_sid,omitempty"` // @gotags: copier:"AllocNode:Sid", json:"AllocNode:Sid" - BatchFlag string `protobuf:"bytes,4,opt,name=batch_flag,json=batchFlag,proto3" json:"batch_flag,omitempty"` // @gotags: copier:"BatchFlag", json:"BatchFlag" - CpusTask string `protobuf:"bytes,5,opt,name=cpus_task,json=cpusTask,proto3" json:"cpus_task,omitempty"` // @gotags: copier:"CPUs/Task", json:"CPUs/Task" - Command string `protobuf:"bytes,6,opt,name=command,proto3" json:"command,omitempty"` // @gotags: copier:"Command", json:"Command" - CommandExist string `protobuf:"bytes,7,opt,name=command_exist,json=commandExist,proto3" json:"command_exist,omitempty"` // @gotags: copier:"CommandExist", json:"CommandExist" - Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` // @gotags: copier:"Comment", json:"Comment" - Contiguous string `protobuf:"bytes,9,opt,name=contiguous,proto3" json:"contiguous,omitempty"` // @gotags: copier:"Contiguous", json:"Contiguous" - CoreSpec string `protobuf:"bytes,10,opt,name=core_spec,json=coreSpec,proto3" json:"core_spec,omitempty"` // @gotags: copier:"CoreSpec", json:"CoreSpec" - Deadline string `protobuf:"bytes,11,opt,name=deadline,proto3" json:"deadline,omitempty"` // @gotags: copier:"Deadline", json:"Deadline" - DelayBoot string `protobuf:"bytes,12,opt,name=delay_boot,json=delayBoot,proto3" json:"delay_boot,omitempty"` // @gotags: copier:"DelayBoot", json:"DelayBoot" - Dependency string `protobuf:"bytes,13,opt,name=dependency,proto3" json:"dependency,omitempty"` // @gotags: copier:"Dependency", json:"Dependency" - EligibleTime string `protobuf:"bytes,14,opt,name=eligible_time,json=eligibleTime,proto3" json:"eligible_time,omitempty"` // @gotags: copier:"EligibleTime", json:"EligibleTime" - EndTime string `protobuf:"bytes,15,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // @gotags: copier:"EndTime", json:"EndTime" - ExcNodeList string `protobuf:"bytes,16,opt,name=exc_node_list,json=excNodeList,proto3" json:"exc_node_list,omitempty"` // @gotags: copier:"ExcNodeList", json:"ExcNodeList" - ExitCode string `protobuf:"bytes,17,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` // @gotags: copier:"ExitCode", json:"ExitCode" - Features string `protobuf:"bytes,18,opt,name=features,proto3" json:"features,omitempty"` // @gotags: copier:"Features", json:"Features" - GroupId string `protobuf:"bytes,19,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` // @gotags: copier:"GroupId", json:"GroupId" - JobId string `protobuf:"bytes,20,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // @gotags: copier:"JobId", json:"JobId" - JobName string `protobuf:"bytes,21,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` // @gotags: copier:"JobName", json:"JobName" - JobState string `protobuf:"bytes,22,opt,name=job_state,json=jobState,proto3" json:"job_state,omitempty"` // @gotags: copier:"JobState", json:"JobState" - Licenses string `protobuf:"bytes,23,opt,name=licenses,proto3" json:"licenses,omitempty"` // @gotags: copier:"Licenses", json:"Licenses" - McsLabel string `protobuf:"bytes,24,opt,name=mcs_label,json=mcsLabel,proto3" json:"mcs_label,omitempty"` // @gotags: copier:"MCS_label", json:"MCS_label" - MinCpusNode string `protobuf:"bytes,25,opt,name=min_cpus_node,json=minCpusNode,proto3" json:"min_cpus_node,omitempty"` // @gotags: copier:"MinCPUsNode", json:"MinCPUsNode" - MinTmpDiskNode string `protobuf:"bytes,26,opt,name=min_tmp_disk_node,json=minTmpDiskNode,proto3" json:"min_tmp_disk_node,omitempty"` // @gotags: copier:"MinTmpDiskNode", json:"MinTmpDiskNode" - Network string `protobuf:"bytes,27,opt,name=network,proto3" json:"network,omitempty"` // @gotags: copier:"Network", json:"Network" - Nice string `protobuf:"bytes,28,opt,name=nice,proto3" json:"nice,omitempty"` // @gotags: copier:"Nice", json:"Nice" - NodeList string `protobuf:"bytes,29,opt,name=node_list,json=nodeList,proto3" json:"node_list,omitempty"` // @gotags: copier:"NodeList", json:"NodeList" - NtasksPerNbsc string `protobuf:"bytes,30,opt,name=ntasks_per_nbsc,json=ntasksPerNbsc,proto3" json:"ntasks_per_nbsc,omitempty"` // @gotags: copier:"NtasksPerN:B:S:C", json:"NtasksPerN:B:S:C" - NumCpus string `protobuf:"bytes,31,opt,name=num_cpus,json=numCpus,proto3" json:"num_cpus,omitempty"` // @gotags: copier:"NumCPUs", json:"NumCPUs" - NumNodes string `protobuf:"bytes,32,opt,name=num_nodes,json=numNodes,proto3" json:"num_nodes,omitempty"` // @gotags: copier:"NumNodes", json:"NumNodes" - NumTasks string `protobuf:"bytes,33,opt,name=num_tasks,json=numTasks,proto3" json:"num_tasks,omitempty"` // @gotags: copier:"NumTasks", json:"NumTasks" - OverSubscribe string `protobuf:"bytes,34,opt,name=over_subscribe,json=overSubscribe,proto3" json:"over_subscribe,omitempty"` // @gotags: copier:"OverSubscribe", json:"OverSubscribe" - Partition string `protobuf:"bytes,35,opt,name=partition,proto3" json:"partition,omitempty"` // @gotags: copier:"Partition", json:"Partition" - Power string `protobuf:"bytes,36,opt,name=power,proto3" json:"power,omitempty"` // @gotags: copier:"Power", json:"Power" - Priority string `protobuf:"bytes,37,opt,name=priority,proto3" json:"priority,omitempty"` // @gotags: copier:"Priority", json:"Priority" - Qos string `protobuf:"bytes,38,opt,name=qos,proto3" json:"qos,omitempty"` // @gotags: copier:"QOS", json:"QOS" - Reason string `protobuf:"bytes,39,opt,name=reason,proto3" json:"reason,omitempty"` // @gotags: copier:"Reason", json:"Reason" - Reboot string `protobuf:"bytes,40,opt,name=reboot,proto3" json:"reboot,omitempty"` // @gotags: copier:"Reboot", json:"Reboot" - ReqBsct string `protobuf:"bytes,41,opt,name=req_bsct,json=reqBsct,proto3" json:"req_bsct,omitempty"` // @gotags: copier:"ReqB:S:C:T", json:"ReqB:S:C:T" - ReqNodeList string `protobuf:"bytes,42,opt,name=ReqNodeList,proto3" json:"ReqNodeList,omitempty"` // @gotags: copier:"ReqNodeList", json:"ReqNodeList" - Requeue string `protobuf:"bytes,43,opt,name=requeue,proto3" json:"requeue,omitempty"` // @gotags: copier:"Requeue", json:"Requeue" - Restarts string `protobuf:"bytes,44,opt,name=restarts,proto3" json:"restarts,omitempty"` // @gotags: copier:"Restarts", json:"Restarts" - RunTime string `protobuf:"bytes,45,opt,name=run_time,json=runTime,proto3" json:"run_time,omitempty"` // @gotags: copier:"RunTime", json:"RunTime" - BatchHost string `protobuf:"bytes,46,opt,name=batch_host,json=batchHost,proto3" json:"batch_host,omitempty"` // @gotags: copier:"BatchHost", json:"BatchHost" - SecsPreSuspend string `protobuf:"bytes,47,opt,name=secs_pre_suspend,json=secsPreSuspend,proto3" json:"secs_pre_suspend,omitempty"` // @gotags: copier:"SecsPreSuspend", json:"SecsPreSuspend" - SocksNode string `protobuf:"bytes,48,opt,name=socks_node,json=socksNode,proto3" json:"socks_node,omitempty"` // @gotags: copier:"Socks/Node", json:"Socks/Node" - StartTime string `protobuf:"bytes,49,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // @gotags: copier:"StartTime", json:"StartTime" - StdErr string `protobuf:"bytes,50,opt,name=std_err,json=stdErr,proto3" json:"std_err,omitempty"` // @gotags: copier:"StdErr", json:"StdErr" - StdIn string `protobuf:"bytes,51,opt,name=std_in,json=stdIn,proto3" json:"std_in,omitempty"` // @gotags: copier:"StdIn", json:"StdIn" - StdOut string `protobuf:"bytes,52,opt,name=std_out,json=stdOut,proto3" json:"std_out,omitempty"` // @gotags: copier:"StdOut", json:"StdOut" - SubmitTime string `protobuf:"bytes,53,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` // @gotags: copier:"SubmitTime", json:"SubmitTime" - SuspendTime string `protobuf:"bytes,54,opt,name=suspend_time,json=suspendTime,proto3" json:"suspend_time,omitempty"` // @gotags: copier:"SuspendTime", json:"SuspendTime" - Tres string `protobuf:"bytes,55,opt,name=tres,proto3" json:"tres,omitempty"` // @gotags: copier:"TRES", json:"TRES" - TimeLimit string `protobuf:"bytes,56,opt,name=time_limit,json=timeLimit,proto3" json:"time_limit,omitempty"` // @gotags: copier:"TimeLimit", json:"TimeLimit" - TimeMin string `protobuf:"bytes,57,opt,name=time_min,json=timeMin,proto3" json:"time_min,omitempty"` // @gotags: copier:"TimeMin", json:"TimeMin" - UserId string `protobuf:"bytes,58,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // @gotags: copier:"UserId", json:"UserId" - WorkDir string `protobuf:"bytes,59,opt,name=work_dir,json=workDir,proto3" json:"work_dir,omitempty"` // @gotags: copier:"WorkDir", json:"WorkDir" + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"Account" copier:"Account"` // @gotags: copier:"Account", json:"Account" + AccrueTime string `protobuf:"bytes,2,opt,name=accrue_time,json=accrueTime,proto3" json:"AccrueTime" copier:"AccrueTime"` // @gotags: copier:"AccrueTime", json:"AccrueTime" + AllocNodeSid string `protobuf:"bytes,3,opt,name=alloc_node_sid,json=allocNodeSid,proto3" json:"AllocNode:Sid" copier:"AllocNode:Sid"` // @gotags: copier:"AllocNode:Sid", json:"AllocNode:Sid" + BatchFlag string `protobuf:"bytes,4,opt,name=batch_flag,json=batchFlag,proto3" json:"BatchFlag" copier:"BatchFlag"` // @gotags: copier:"BatchFlag", json:"BatchFlag" + CpusTask string `protobuf:"bytes,5,opt,name=cpus_task,json=cpusTask,proto3" json:"CPUs/Task" copier:"CPUs/Task"` // @gotags: copier:"CPUs/Task", json:"CPUs/Task" + Command string `protobuf:"bytes,6,opt,name=command,proto3" json:"Command" copier:"Command"` // @gotags: copier:"Command", json:"Command" + CommandExist string `protobuf:"bytes,7,opt,name=command_exist,json=commandExist,proto3" json:"CommandExist" copier:"CommandExist"` // @gotags: copier:"CommandExist", json:"CommandExist" + Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"Comment" copier:"Comment"` // @gotags: copier:"Comment", json:"Comment" + Contiguous string `protobuf:"bytes,9,opt,name=contiguous,proto3" json:"Contiguous" copier:"Contiguous"` // @gotags: copier:"Contiguous", json:"Contiguous" + CoreSpec string `protobuf:"bytes,10,opt,name=core_spec,json=coreSpec,proto3" json:"CoreSpec" copier:"CoreSpec"` // @gotags: copier:"CoreSpec", json:"CoreSpec" + Deadline string `protobuf:"bytes,11,opt,name=deadline,proto3" json:"Deadline" copier:"Deadline"` // @gotags: copier:"Deadline", json:"Deadline" + DelayBoot string `protobuf:"bytes,12,opt,name=delay_boot,json=delayBoot,proto3" json:"DelayBoot" copier:"DelayBoot"` // @gotags: copier:"DelayBoot", json:"DelayBoot" + Dependency string `protobuf:"bytes,13,opt,name=dependency,proto3" json:"Dependency" copier:"Dependency"` // @gotags: copier:"Dependency", json:"Dependency" + EligibleTime string `protobuf:"bytes,14,opt,name=eligible_time,json=eligibleTime,proto3" json:"EligibleTime" copier:"EligibleTime"` // @gotags: copier:"EligibleTime", json:"EligibleTime" + EndTime string `protobuf:"bytes,15,opt,name=end_time,json=endTime,proto3" json:"EndTime" copier:"EndTime"` // @gotags: copier:"EndTime", json:"EndTime" + ExcNodeList string `protobuf:"bytes,16,opt,name=exc_node_list,json=excNodeList,proto3" json:"ExcNodeList" copier:"ExcNodeList"` // @gotags: copier:"ExcNodeList", json:"ExcNodeList" + ExitCode string `protobuf:"bytes,17,opt,name=exit_code,json=exitCode,proto3" json:"ExitCode" copier:"ExitCode"` // @gotags: copier:"ExitCode", json:"ExitCode" + Features string `protobuf:"bytes,18,opt,name=features,proto3" json:"Features" copier:"Features"` // @gotags: copier:"Features", json:"Features" + GroupId string `protobuf:"bytes,19,opt,name=group_id,json=groupId,proto3" json:"GroupId" copier:"GroupId"` // @gotags: copier:"GroupId", json:"GroupId" + JobId string `protobuf:"bytes,20,opt,name=job_id,json=jobId,proto3" json:"JobId" copier:"JobId"` // @gotags: copier:"JobId", json:"JobId" + JobName string `protobuf:"bytes,21,opt,name=job_name,json=jobName,proto3" json:"JobName" copier:"JobName"` // @gotags: copier:"JobName", json:"JobName" + JobState string `protobuf:"bytes,22,opt,name=job_state,json=jobState,proto3" json:"JobState" copier:"JobState"` // @gotags: copier:"JobState", json:"JobState" + Licenses string `protobuf:"bytes,23,opt,name=licenses,proto3" json:"Licenses" copier:"Licenses"` // @gotags: copier:"Licenses", json:"Licenses" + McsLabel string `protobuf:"bytes,24,opt,name=mcs_label,json=mcsLabel,proto3" json:"MCS_label" copier:"MCS_label"` // @gotags: copier:"MCS_label", json:"MCS_label" + MinCpusNode string `protobuf:"bytes,25,opt,name=min_cpus_node,json=minCpusNode,proto3" json:"MinCPUsNode" copier:"MinCPUsNode"` // @gotags: copier:"MinCPUsNode", json:"MinCPUsNode" + MinTmpDiskNode string `protobuf:"bytes,26,opt,name=min_tmp_disk_node,json=minTmpDiskNode,proto3" json:"MinTmpDiskNode" copier:"MinTmpDiskNode"` // @gotags: copier:"MinTmpDiskNode", json:"MinTmpDiskNode" + Network string `protobuf:"bytes,27,opt,name=network,proto3" json:"Network" copier:"Network"` // @gotags: copier:"Network", json:"Network" + Nice string `protobuf:"bytes,28,opt,name=nice,proto3" json:"Nice" copier:"Nice"` // @gotags: copier:"Nice", json:"Nice" + NodeList string `protobuf:"bytes,29,opt,name=node_list,json=nodeList,proto3" json:"NodeList" copier:"NodeList"` // @gotags: copier:"NodeList", json:"NodeList" + NtasksPerNbsc string `protobuf:"bytes,30,opt,name=ntasks_per_nbsc,json=ntasksPerNbsc,proto3" json:"NtasksPerN:B:S:C" copier:"NtasksPerN:B:S:C"` // @gotags: copier:"NtasksPerN:B:S:C", json:"NtasksPerN:B:S:C" + NumCpus string `protobuf:"bytes,31,opt,name=num_cpus,json=numCpus,proto3" json:"NumCPUs" copier:"NumCPUs"` // @gotags: copier:"NumCPUs", json:"NumCPUs" + NumNodes string `protobuf:"bytes,32,opt,name=num_nodes,json=numNodes,proto3" json:"NumNodes" copier:"NumNodes"` // @gotags: copier:"NumNodes", json:"NumNodes" + NumTasks string `protobuf:"bytes,33,opt,name=num_tasks,json=numTasks,proto3" json:"NumTasks" copier:"NumTasks"` // @gotags: copier:"NumTasks", json:"NumTasks" + OverSubscribe string `protobuf:"bytes,34,opt,name=over_subscribe,json=overSubscribe,proto3" json:"OverSubscribe" copier:"OverSubscribe"` // @gotags: copier:"OverSubscribe", json:"OverSubscribe" + Partition string `protobuf:"bytes,35,opt,name=partition,proto3" json:"Partition" copier:"Partition"` // @gotags: copier:"Partition", json:"Partition" + Power string `protobuf:"bytes,36,opt,name=power,proto3" json:"Power" copier:"Power"` // @gotags: copier:"Power", json:"Power" + Priority string `protobuf:"bytes,37,opt,name=priority,proto3" json:"Priority" copier:"Priority"` // @gotags: copier:"Priority", json:"Priority" + Qos string `protobuf:"bytes,38,opt,name=qos,proto3" json:"QOS" copier:"QOS"` // @gotags: copier:"QOS", json:"QOS" + Reason string `protobuf:"bytes,39,opt,name=reason,proto3" json:"Reason" copier:"Reason"` // @gotags: copier:"Reason", json:"Reason" + Reboot string `protobuf:"bytes,40,opt,name=reboot,proto3" json:"Reboot" copier:"Reboot"` // @gotags: copier:"Reboot", json:"Reboot" + ReqBsct string `protobuf:"bytes,41,opt,name=req_bsct,json=reqBsct,proto3" json:"ReqB:S:C:T" copier:"ReqB:S:C:T"` // @gotags: copier:"ReqB:S:C:T", json:"ReqB:S:C:T" + ReqNodeList string `protobuf:"bytes,42,opt,name=ReqNodeList,proto3" json:"ReqNodeList" copier:"ReqNodeList"` // @gotags: copier:"ReqNodeList", json:"ReqNodeList" + Requeue string `protobuf:"bytes,43,opt,name=requeue,proto3" json:"Requeue" copier:"Requeue"` // @gotags: copier:"Requeue", json:"Requeue" + Restarts string `protobuf:"bytes,44,opt,name=restarts,proto3" json:"Restarts" copier:"Restarts"` // @gotags: copier:"Restarts", json:"Restarts" + RunTime string `protobuf:"bytes,45,opt,name=run_time,json=runTime,proto3" json:"RunTime" copier:"RunTime"` // @gotags: copier:"RunTime", json:"RunTime" + BatchHost string `protobuf:"bytes,46,opt,name=batch_host,json=batchHost,proto3" json:"BatchHost" copier:"BatchHost"` // @gotags: copier:"BatchHost", json:"BatchHost" + SecsPreSuspend string `protobuf:"bytes,47,opt,name=secs_pre_suspend,json=secsPreSuspend,proto3" json:"SecsPreSuspend" copier:"SecsPreSuspend"` // @gotags: copier:"SecsPreSuspend", json:"SecsPreSuspend" + SocksNode string `protobuf:"bytes,48,opt,name=socks_node,json=socksNode,proto3" json:"Socks/Node" copier:"Socks/Node"` // @gotags: copier:"Socks/Node", json:"Socks/Node" + StartTime string `protobuf:"bytes,49,opt,name=start_time,json=startTime,proto3" json:"StartTime" copier:"StartTime"` // @gotags: copier:"StartTime", json:"StartTime" + StdErr string `protobuf:"bytes,50,opt,name=std_err,json=stdErr,proto3" json:"StdErr" copier:"StdErr"` // @gotags: copier:"StdErr", json:"StdErr" + StdIn string `protobuf:"bytes,51,opt,name=std_in,json=stdIn,proto3" json:"StdIn" copier:"StdIn"` // @gotags: copier:"StdIn", json:"StdIn" + StdOut string `protobuf:"bytes,52,opt,name=std_out,json=stdOut,proto3" json:"StdOut" copier:"StdOut"` // @gotags: copier:"StdOut", json:"StdOut" + SubmitTime string `protobuf:"bytes,53,opt,name=submit_time,json=submitTime,proto3" json:"SubmitTime" copier:"SubmitTime"` // @gotags: copier:"SubmitTime", json:"SubmitTime" + SuspendTime string `protobuf:"bytes,54,opt,name=suspend_time,json=suspendTime,proto3" json:"SuspendTime" copier:"SuspendTime"` // @gotags: copier:"SuspendTime", json:"SuspendTime" + Tres string `protobuf:"bytes,55,opt,name=tres,proto3" json:"TRES" copier:"TRES"` // @gotags: copier:"TRES", json:"TRES" + TimeLimit string `protobuf:"bytes,56,opt,name=time_limit,json=timeLimit,proto3" json:"TimeLimit" copier:"TimeLimit"` // @gotags: copier:"TimeLimit", json:"TimeLimit" + TimeMin string `protobuf:"bytes,57,opt,name=time_min,json=timeMin,proto3" json:"TimeMin" copier:"TimeMin"` // @gotags: copier:"TimeMin", json:"TimeMin" + UserId string `protobuf:"bytes,58,opt,name=user_id,json=userId,proto3" json:"UserId" copier:"UserId"` // @gotags: copier:"UserId", json:"UserId" + WorkDir string `protobuf:"bytes,59,opt,name=work_dir,json=workDir,proto3" json:"WorkDir" copier:"WorkDir"` // @gotags: copier:"WorkDir", json:"WorkDir" } func (x *JobInitAttr) Reset() { @@ -718,28 +718,28 @@ type JobVncSessionInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Archive string `protobuf:"bytes,1,opt,name=archive,proto3" json:"archive,omitempty"` // @gotags: copier:"archive", json:"archive" - IClientNumber uint32 `protobuf:"varint,2,opt,name=i_client_number,json=iClientNumber,proto3" json:"i_client_number,omitempty"` // @gotags: copier:"iClientNumber", json:"iClientNumber" - IPixelDepth string `protobuf:"bytes,3,opt,name=i_pixel_depth,json=iPixelDepth,proto3" json:"i_pixel_depth,omitempty"` // @gotags: copier:"iPixelDepth", json:"iPixelDepth" - ListClients string `protobuf:"bytes,4,opt,name=list_clients,json=listClients,proto3" json:"list_clients,omitempty"` // @gotags: copier:"listClients", json:"listClients" - Locale string `protobuf:"bytes,5,opt,name=locale,proto3" json:"locale,omitempty"` // @gotags: copier:"locale", json:"locale" - LoginPasswd string `protobuf:"bytes,6,opt,name=loginPasswd,proto3" json:"loginPasswd,omitempty"` // @gotags: copier:"loginPasswd", json:"loginPasswd" - MapSessionExtraAttrs string `protobuf:"bytes,7,opt,name=map_session_extra_attrs,json=mapSessionExtraAttrs,proto3" json:"map_session_extra_attrs,omitempty"` // @gotags: copier:"mapSessionExtraAttrs", json:"mapSessionExtraAttrs" - StrAuthType string `protobuf:"bytes,8,opt,name=str_auth_type,json=strAuthType,proto3" json:"str_auth_type,omitempty"` // @gotags: copier:"strAuthType", json:"strAuthType" - StrGeometry string `protobuf:"bytes,9,opt,name=str_geometry,json=strGeometry,proto3" json:"str_geometry,omitempty"` // @gotags: copier:"strGeometry", json:"strGeometry" - StrJobManagerAddr string `protobuf:"bytes,10,opt,name=str_job_manager_addr,json=strJobManagerAddr,proto3" json:"str_job_manager_addr,omitempty"` // @gotags: copier:"strJobManagerAddr", json:"strJobManagerAddr" - StrJobManagerId string `protobuf:"bytes,11,opt,name=str_job_manager_id,json=strJobManagerId,proto3" json:"str_job_manager_id,omitempty"` // @gotags: copier:"strJobManagerID", json:"strJobManagerID" - StrJobManagerName string `protobuf:"bytes,12,opt,name=str_job_manager_name,json=strJobManagerName,proto3" json:"str_job_manager_name,omitempty"` // @gotags: copier:"strJobManagerName", json:"strJobManagerName" - StrRelateJobId string `protobuf:"bytes,13,opt,name=str_relate_job_id,json=strRelateJobId,proto3" json:"str_relate_job_id,omitempty"` // @gotags: copier:"strRelateJobID", json:"strRelateJobID" - StrServerAddr string `protobuf:"bytes,14,opt,name=str_server_addr,json=strServerAddr,proto3" json:"str_server_addr,omitempty"` // @gotags: copier:"strServerAddr", json:"strServerAddr" - StrServerName string `protobuf:"bytes,15,opt,name=str_server_name,json=strServerName,proto3" json:"str_server_name,omitempty"` // @gotags: copier:"strServerName", json:"strServerName" - StrSessionCtime string `protobuf:"bytes,16,opt,name=str_session_ctime,json=strSessionCtime,proto3" json:"str_session_ctime,omitempty"` // @gotags: copier:"strSessionCTime", json:"strSessionCTime" - StrSessionHeight string `protobuf:"bytes,17,opt,name=str_session_height,json=strSessionHeight,proto3" json:"str_session_height,omitempty"` // @gotags: copier:"strSessionHeight", json:"strSessionHeight" - StrSessionId string `protobuf:"bytes,18,opt,name=str_session_id,json=strSessionId,proto3" json:"str_session_id,omitempty"` // @gotags: copier:"strSessionID", json:"strSessionID" - StrSessionOwner string `protobuf:"bytes,19,opt,name=str_session_owner,json=strSessionOwner,proto3" json:"str_session_owner,omitempty"` // @gotags: copier:"strSessionOwner", json:"strSessionOwner" - StrSessionType string `protobuf:"bytes,20,opt,name=str_session_type,json=strSessionType,proto3" json:"str_session_type,omitempty"` // @gotags: copier:"strSessionType", json:"strSessionType" - StrSessionWidth string `protobuf:"bytes,21,opt,name=str_session_width,json=strSessionWidth,proto3" json:"str_session_width,omitempty"` // @gotags: copier:"strSessionWidth", json:"strSessionWidth" - VncCode string `protobuf:"bytes,22,opt,name=vnc_code,json=vncCode,proto3" json:"vnc_code,omitempty"` // @gotags: copier:"vncCode", json:"vncCode" + Archive string `protobuf:"bytes,1,opt,name=archive,proto3" json:"archive" copier:"archive"` // @gotags: copier:"archive", json:"archive" + IClientNumber uint32 `protobuf:"varint,2,opt,name=i_client_number,json=iClientNumber,proto3" json:"iClientNumber" copier:"iClientNumber"` // @gotags: copier:"iClientNumber", json:"iClientNumber" + IPixelDepth string `protobuf:"bytes,3,opt,name=i_pixel_depth,json=iPixelDepth,proto3" json:"iPixelDepth" copier:"iPixelDepth"` // @gotags: copier:"iPixelDepth", json:"iPixelDepth" + ListClients string `protobuf:"bytes,4,opt,name=list_clients,json=listClients,proto3" json:"listClients" copier:"listClients"` // @gotags: copier:"listClients", json:"listClients" + Locale string `protobuf:"bytes,5,opt,name=locale,proto3" json:"locale" copier:"locale"` // @gotags: copier:"locale", json:"locale" + LoginPasswd string `protobuf:"bytes,6,opt,name=loginPasswd,proto3" json:"loginPasswd" copier:"loginPasswd"` // @gotags: copier:"loginPasswd", json:"loginPasswd" + MapSessionExtraAttrs string `protobuf:"bytes,7,opt,name=map_session_extra_attrs,json=mapSessionExtraAttrs,proto3" json:"mapSessionExtraAttrs" copier:"mapSessionExtraAttrs"` // @gotags: copier:"mapSessionExtraAttrs", json:"mapSessionExtraAttrs" + StrAuthType string `protobuf:"bytes,8,opt,name=str_auth_type,json=strAuthType,proto3" json:"strAuthType" copier:"strAuthType"` // @gotags: copier:"strAuthType", json:"strAuthType" + StrGeometry string `protobuf:"bytes,9,opt,name=str_geometry,json=strGeometry,proto3" json:"strGeometry" copier:"strGeometry"` // @gotags: copier:"strGeometry", json:"strGeometry" + StrJobManagerAddr string `protobuf:"bytes,10,opt,name=str_job_manager_addr,json=strJobManagerAddr,proto3" json:"strJobManagerAddr" copier:"strJobManagerAddr"` // @gotags: copier:"strJobManagerAddr", json:"strJobManagerAddr" + StrJobManagerId string `protobuf:"bytes,11,opt,name=str_job_manager_id,json=strJobManagerId,proto3" json:"strJobManagerID" copier:"strJobManagerID"` // @gotags: copier:"strJobManagerID", json:"strJobManagerID" + StrJobManagerName string `protobuf:"bytes,12,opt,name=str_job_manager_name,json=strJobManagerName,proto3" json:"strJobManagerName" copier:"strJobManagerName"` // @gotags: copier:"strJobManagerName", json:"strJobManagerName" + StrRelateJobId string `protobuf:"bytes,13,opt,name=str_relate_job_id,json=strRelateJobId,proto3" json:"strRelateJobID" copier:"strRelateJobID"` // @gotags: copier:"strRelateJobID", json:"strRelateJobID" + StrServerAddr string `protobuf:"bytes,14,opt,name=str_server_addr,json=strServerAddr,proto3" json:"strServerAddr" copier:"strServerAddr"` // @gotags: copier:"strServerAddr", json:"strServerAddr" + StrServerName string `protobuf:"bytes,15,opt,name=str_server_name,json=strServerName,proto3" json:"strServerName" copier:"strServerName"` // @gotags: copier:"strServerName", json:"strServerName" + StrSessionCtime string `protobuf:"bytes,16,opt,name=str_session_ctime,json=strSessionCtime,proto3" json:"strSessionCTime" copier:"strSessionCTime"` // @gotags: copier:"strSessionCTime", json:"strSessionCTime" + StrSessionHeight string `protobuf:"bytes,17,opt,name=str_session_height,json=strSessionHeight,proto3" json:"strSessionHeight" copier:"strSessionHeight"` // @gotags: copier:"strSessionHeight", json:"strSessionHeight" + StrSessionId string `protobuf:"bytes,18,opt,name=str_session_id,json=strSessionId,proto3" json:"strSessionID" copier:"strSessionID"` // @gotags: copier:"strSessionID", json:"strSessionID" + StrSessionOwner string `protobuf:"bytes,19,opt,name=str_session_owner,json=strSessionOwner,proto3" json:"strSessionOwner" copier:"strSessionOwner"` // @gotags: copier:"strSessionOwner", json:"strSessionOwner" + StrSessionType string `protobuf:"bytes,20,opt,name=str_session_type,json=strSessionType,proto3" json:"strSessionType" copier:"strSessionType"` // @gotags: copier:"strSessionType", json:"strSessionType" + StrSessionWidth string `protobuf:"bytes,21,opt,name=str_session_width,json=strSessionWidth,proto3" json:"strSessionWidth" copier:"strSessionWidth"` // @gotags: copier:"strSessionWidth", json:"strSessionWidth" + VncCode string `protobuf:"bytes,22,opt,name=vnc_code,json=vncCode,proto3" json:"vncCode" copier:"vncCode"` // @gotags: copier:"vncCode", json:"vncCode" } func (x *JobVncSessionInfo) Reset() { @@ -933,41 +933,41 @@ type JobDetail struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AppType string `protobuf:"bytes,1,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"` // @gotags: copier:"AppType", json:"appType" - AveRss string `protobuf:"bytes,2,opt,name=ave_rss,json=aveRss,proto3" json:"ave_rss,omitempty"` // @gotags: copier:"AveRSS", json:"aveRSS" - AveVmSize string `protobuf:"bytes,3,opt,name=ave_vm_size,json=aveVmSize,proto3" json:"ave_vm_size,omitempty"` // @gotags: copier:"AveVMSize", json:"aveVMSize" - CpuTimeUsed string `protobuf:"bytes,4,opt,name=cpu_time_used,json=cpuTimeUsed,proto3" json:"cpu_time_used,omitempty"` // @gotags: copier:"CpuTimeUsed", json:"cpuTimeUsed" - DcuNumReq uint32 `protobuf:"varint,5,opt,name=dcu_num_req,json=dcuNumReq,proto3" json:"dcu_num_req,omitempty"` // @gotags: copier:"DcuNumReq", json:"dcuNumReq" - DcuNumUsed uint32 `protobuf:"varint,6,opt,name=dcu_num_used,json=dcuNumUsed,proto3" json:"dcu_num_used,omitempty"` // @gotags: copier:"DcuNumUsed", json:"dcuNumUsed" - ErrorPath string `protobuf:"bytes,7,opt,name=error_path,json=errorPath,proto3" json:"error_path,omitempty"` // @gotags: copier:"ErrorPath", json:"errorPath" - ExitCode string `protobuf:"bytes,8,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` // @gotags: copier:"ExitCode", json:"exitCode" - GpuNumReq uint32 `protobuf:"varint,9,opt,name=gpu_num_req,json=gpuNumReq,proto3" json:"gpu_num_req,omitempty"` // @gotags: copier:"GpuNumReq", json:"gpuNumReq" - GpuNumUsed uint32 `protobuf:"varint,10,opt,name=gpu_num_used,json=gpuNumUsed,proto3" json:"gpu_num_used,omitempty"` // @gotags: copier:"GpuNumUsed", json:"gpuNumUsed" - JobEndTime string `protobuf:"bytes,11,opt,name=job_end_time,json=jobEndTime,proto3" json:"job_end_time,omitempty"` // @gotags: copier:"JobEndTime", json:"jobEndTime" - JobId string `protobuf:"bytes,12,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // @gotags: copier:"JobId", json:"jobId" - JobInitAttr *JobInitAttr `protobuf:"bytes,13,opt,name=job_init_attr,json=jobInitAttr,proto3" json:"job_init_attr,omitempty"` // @gotags: copier:"JobInitAttr", json:"JobInitAttr" - JobName string `protobuf:"bytes,14,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` // @gotags: copier:"JobName", json:"jobName" - JobRunTime string `protobuf:"bytes,15,opt,name=job_run_time,json=jobRunTime,proto3" json:"job_run_time,omitempty"` // @gotags: copier:"JobRunTime", json:"jobRunTime" - JobStartTime string `protobuf:"bytes,16,opt,name=job_start_time,json=jobStartTime,proto3" json:"job_start_time,omitempty"` // @gotags: copier:"JobStartTime", json:"jobStartTime" - JobStatus string `protobuf:"bytes,17,opt,name=job_status,json=jobStatus,proto3" json:"job_status,omitempty"` // @gotags: copier:"JobStatus", json:"jobStatus" - JobSubmitTime string `protobuf:"bytes,18,opt,name=job_submit_time,json=jobSubmitTime,proto3" json:"job_submit_time,omitempty"` // @gotags: copier:"JobSubmitTime", json:"jobSubmitTime" - JobSessionInfo *JobVncSessionInfo `protobuf:"bytes,19,opt,name=job_session_info,json=jobSessionInfo,proto3" json:"job_session_info,omitempty"` // @gotags: copier:"JobVncSessionInfo", json:"jobVncSessionInfo" - JobManagerId string `protobuf:"bytes,20,opt,name=job_manager_id,json=jobManagerId,proto3" json:"job_manager_id,omitempty"` // @gotags: copier:"JobManagerId", json:"jobmanagerId" - JobManagerName string `protobuf:"bytes,21,opt,name=job_manager_name,json=jobManagerName,proto3" json:"job_manager_name,omitempty"` // @gotags: copier:"JobManagerName", json:"jobmanagerName" - JobManagerType string `protobuf:"bytes,22,opt,name=job_manager_type,json=jobManagerType,proto3" json:"job_manager_type,omitempty"` // @gotags: copier:"JobManagerType", json:"jobmanagerType" - MemUsed string `protobuf:"bytes,23,opt,name=mem_used,json=memUsed,proto3" json:"mem_used,omitempty"` // @gotags: copier:"MemUsed", json:"memUsed" - NodeNumReq uint32 `protobuf:"varint,24,opt,name=node_num_req,json=nodeNumReq,proto3" json:"node_num_req,omitempty"` // @gotags: copier:"NodeNumReq", json:"nodeNumReq" - NodeUsed string `protobuf:"bytes,25,opt,name=node_used,json=nodeUsed,proto3" json:"node_used,omitempty"` // @gotags: copier:"NodeUsed", json:"nodeUsed" - OutputPath string `protobuf:"bytes,26,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"` // @gotags: copier:"OutputPath", json:"outputPath" - Priority string `protobuf:"bytes,27,opt,name=priority,proto3" json:"priority,omitempty"` // @gotags: copier:"Priority", json:"priority" - ProcNumReq uint32 `protobuf:"varint,28,opt,name=proc_num_req,json=procNumReq,proto3" json:"proc_num_req,omitempty"` // @gotags: copier:"ProcNumReq", json:"procNumReq" - ProcNumUsed uint32 `protobuf:"varint,29,opt,name=proc_num_used,json=procNumUsed,proto3" json:"proc_num_used,omitempty"` // @gotags: copier:"procNumUsed", json:"procNumUsed" - Queue string `protobuf:"bytes,30,opt,name=queue,proto3" json:"queue,omitempty"` // @gotags: copier:"Queue", json:"queue" - Restarts string `protobuf:"bytes,31,opt,name=restarts,proto3" json:"restarts,omitempty"` // @gotags: copier:"Restarts", json:"restarts" - Scale string `protobuf:"bytes,32,opt,name=scale,proto3" json:"scale,omitempty"` // @gotags: copier:"Scale", json:"scale" - User string `protobuf:"bytes,33,opt,name=user,proto3" json:"user,omitempty"` // @gotags: copier:"User", json:"user" - WalltimeReq string `protobuf:"bytes,34,opt,name=walltime_req,json=walltimeReq,proto3" json:"walltime_req,omitempty"` // @gotags: copier:"WalltimeReq", json:"walltimeReq" - WorkDir string `protobuf:"bytes,35,opt,name=work_dir,json=workDir,proto3" json:"work_dir,omitempty"` // @gotags: copier:"WorkDir", json:"workDir" + AppType string `protobuf:"bytes,1,opt,name=app_type,json=appType,proto3" json:"appType" copier:"AppType"` // @gotags: copier:"AppType", json:"appType" + AveRss string `protobuf:"bytes,2,opt,name=ave_rss,json=aveRss,proto3" json:"aveRSS" copier:"AveRSS"` // @gotags: copier:"AveRSS", json:"aveRSS" + AveVmSize string `protobuf:"bytes,3,opt,name=ave_vm_size,json=aveVmSize,proto3" json:"aveVMSize" copier:"AveVMSize"` // @gotags: copier:"AveVMSize", json:"aveVMSize" + CpuTimeUsed string `protobuf:"bytes,4,opt,name=cpu_time_used,json=cpuTimeUsed,proto3" json:"cpuTimeUsed" copier:"CpuTimeUsed"` // @gotags: copier:"CpuTimeUsed", json:"cpuTimeUsed" + DcuNumReq uint32 `protobuf:"varint,5,opt,name=dcu_num_req,json=dcuNumReq,proto3" json:"dcuNumReq" copier:"DcuNumReq"` // @gotags: copier:"DcuNumReq", json:"dcuNumReq" + DcuNumUsed uint32 `protobuf:"varint,6,opt,name=dcu_num_used,json=dcuNumUsed,proto3" json:"dcuNumUsed" copier:"DcuNumUsed"` // @gotags: copier:"DcuNumUsed", json:"dcuNumUsed" + ErrorPath string `protobuf:"bytes,7,opt,name=error_path,json=errorPath,proto3" json:"errorPath" copier:"ErrorPath"` // @gotags: copier:"ErrorPath", json:"errorPath" + ExitCode string `protobuf:"bytes,8,opt,name=exit_code,json=exitCode,proto3" json:"exitCode" copier:"ExitCode"` // @gotags: copier:"ExitCode", json:"exitCode" + GpuNumReq uint32 `protobuf:"varint,9,opt,name=gpu_num_req,json=gpuNumReq,proto3" json:"gpuNumReq" copier:"GpuNumReq"` // @gotags: copier:"GpuNumReq", json:"gpuNumReq" + GpuNumUsed uint32 `protobuf:"varint,10,opt,name=gpu_num_used,json=gpuNumUsed,proto3" json:"gpuNumUsed" copier:"GpuNumUsed"` // @gotags: copier:"GpuNumUsed", json:"gpuNumUsed" + JobEndTime string `protobuf:"bytes,11,opt,name=job_end_time,json=jobEndTime,proto3" json:"jobEndTime" copier:"JobEndTime"` // @gotags: copier:"JobEndTime", json:"jobEndTime" + JobId string `protobuf:"bytes,12,opt,name=job_id,json=jobId,proto3" json:"jobId" copier:"JobId"` // @gotags: copier:"JobId", json:"jobId" + JobInitAttr *JobInitAttr `protobuf:"bytes,13,opt,name=job_init_attr,json=jobInitAttr,proto3" json:"JobInitAttr" copier:"JobInitAttr"` // @gotags: copier:"JobInitAttr", json:"JobInitAttr" + JobName string `protobuf:"bytes,14,opt,name=job_name,json=jobName,proto3" json:"jobName" copier:"JobName"` // @gotags: copier:"JobName", json:"jobName" + JobRunTime string `protobuf:"bytes,15,opt,name=job_run_time,json=jobRunTime,proto3" json:"jobRunTime" copier:"JobRunTime"` // @gotags: copier:"JobRunTime", json:"jobRunTime" + JobStartTime string `protobuf:"bytes,16,opt,name=job_start_time,json=jobStartTime,proto3" json:"jobStartTime" copier:"JobStartTime"` // @gotags: copier:"JobStartTime", json:"jobStartTime" + JobStatus string `protobuf:"bytes,17,opt,name=job_status,json=jobStatus,proto3" json:"jobStatus" copier:"JobStatus"` // @gotags: copier:"JobStatus", json:"jobStatus" + JobSubmitTime string `protobuf:"bytes,18,opt,name=job_submit_time,json=jobSubmitTime,proto3" json:"jobSubmitTime" copier:"JobSubmitTime"` // @gotags: copier:"JobSubmitTime", json:"jobSubmitTime" + JobSessionInfo *JobVncSessionInfo `protobuf:"bytes,19,opt,name=job_session_info,json=jobSessionInfo,proto3" json:"jobVncSessionInfo" copier:"JobVncSessionInfo"` // @gotags: copier:"JobVncSessionInfo", json:"jobVncSessionInfo" + JobManagerId string `protobuf:"bytes,20,opt,name=job_manager_id,json=jobManagerId,proto3" json:"jobmanagerId" copier:"JobManagerId"` // @gotags: copier:"JobManagerId", json:"jobmanagerId" + JobManagerName string `protobuf:"bytes,21,opt,name=job_manager_name,json=jobManagerName,proto3" json:"jobmanagerName" copier:"JobManagerName"` // @gotags: copier:"JobManagerName", json:"jobmanagerName" + JobManagerType string `protobuf:"bytes,22,opt,name=job_manager_type,json=jobManagerType,proto3" json:"jobmanagerType" copier:"JobManagerType"` // @gotags: copier:"JobManagerType", json:"jobmanagerType" + MemUsed string `protobuf:"bytes,23,opt,name=mem_used,json=memUsed,proto3" json:"memUsed" copier:"MemUsed"` // @gotags: copier:"MemUsed", json:"memUsed" + NodeNumReq uint32 `protobuf:"varint,24,opt,name=node_num_req,json=nodeNumReq,proto3" json:"nodeNumReq" copier:"NodeNumReq"` // @gotags: copier:"NodeNumReq", json:"nodeNumReq" + NodeUsed string `protobuf:"bytes,25,opt,name=node_used,json=nodeUsed,proto3" json:"nodeUsed" copier:"NodeUsed"` // @gotags: copier:"NodeUsed", json:"nodeUsed" + OutputPath string `protobuf:"bytes,26,opt,name=output_path,json=outputPath,proto3" json:"outputPath" copier:"OutputPath"` // @gotags: copier:"OutputPath", json:"outputPath" + Priority string `protobuf:"bytes,27,opt,name=priority,proto3" json:"priority" copier:"Priority"` // @gotags: copier:"Priority", json:"priority" + ProcNumReq uint32 `protobuf:"varint,28,opt,name=proc_num_req,json=procNumReq,proto3" json:"procNumReq" copier:"ProcNumReq"` // @gotags: copier:"ProcNumReq", json:"procNumReq" + ProcNumUsed uint32 `protobuf:"varint,29,opt,name=proc_num_used,json=procNumUsed,proto3" json:"procNumUsed" copier:"procNumUsed"` // @gotags: copier:"procNumUsed", json:"procNumUsed" + Queue string `protobuf:"bytes,30,opt,name=queue,proto3" json:"queue" copier:"Queue"` // @gotags: copier:"Queue", json:"queue" + Restarts string `protobuf:"bytes,31,opt,name=restarts,proto3" json:"restarts" copier:"Restarts"` // @gotags: copier:"Restarts", json:"restarts" + Scale string `protobuf:"bytes,32,opt,name=scale,proto3" json:"scale" copier:"Scale"` // @gotags: copier:"Scale", json:"scale" + User string `protobuf:"bytes,33,opt,name=user,proto3" json:"user" copier:"User"` // @gotags: copier:"User", json:"user" + WalltimeReq string `protobuf:"bytes,34,opt,name=walltime_req,json=walltimeReq,proto3" json:"walltimeReq" copier:"WalltimeReq"` // @gotags: copier:"WalltimeReq", json:"walltimeReq" + WorkDir string `protobuf:"bytes,35,opt,name=work_dir,json=workDir,proto3" json:"workDir" copier:"WorkDir"` // @gotags: copier:"WorkDir", json:"workDir" } func (x *JobDetail) Reset() { @@ -1252,7 +1252,7 @@ type JobDetailReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // @gotags: copier:"JobId", json:"jobId" + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId" copier:"JobId"` // @gotags: copier:"JobId", json:"jobId" } func (x *JobDetailReq) Reset() { @@ -1299,9 +1299,9 @@ type GetJobDetailResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code", json:"code" - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg", json:"msg" - JobDetail *JobDetail `protobuf:"bytes,3,opt,name=job_detail,json=jobDetail,proto3" json:"job_detail,omitempty"` // @gotags: copier:"JobDetail", json:"data" + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code" copier:"Code"` // @gotags: copier:"Code", json:"code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg" copier:"Msg"` // @gotags: copier:"Msg", json:"msg" + Data *JobDetail `protobuf:"bytes,3,opt,name=data,proto3" json:"data" copier:"JobDetail"` // @gotags: copier:"JobDetail", json:"data" } func (x *GetJobDetailResp) Reset() { @@ -1350,9 +1350,9 @@ func (x *GetJobDetailResp) GetMsg() string { return "" } -func (x *GetJobDetailResp) GetJobDetail() *JobDetail { +func (x *GetJobDetailResp) GetData() *JobDetail { if x != nil { - return x.JobDetail + return x.Data } return nil } @@ -1363,7 +1363,7 @@ type DeleteJobReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - StrJobInfoMap string `protobuf:"bytes,1,opt,name=str_job_info_map,json=strJobInfoMap,proto3" json:"str_job_info_map,omitempty"` // @gotags: copier:"strJobInfoMap", json:"strJobInfoMap" + StrJobInfoMap string `protobuf:"bytes,1,opt,name=str_job_info_map,json=strJobInfoMap,proto3" json:"strJobInfoMap" copier:"strJobInfoMap"` // @gotags: copier:"strJobInfoMap", json:"strJobInfoMap" } func (x *DeleteJobReq) Reset() { @@ -1410,9 +1410,9 @@ type DeleteJobResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code", json:"code" - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg", json:"msg" - Result map[string]string `protobuf:"bytes,3,rep,name=result,proto3" json:"result,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // @gotags: copier:"Result", json:"data" + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code" copier:"Code"` // @gotags: copier:"Code", json:"code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg" copier:"Msg"` // @gotags: copier:"Msg", json:"msg" + Data map[string]string `protobuf:"bytes,3,rep,name=data,proto3" json:"data" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" copier:"Result"` // @gotags: copier:"Result", json:"data" } func (x *DeleteJobResp) Reset() { @@ -1461,9 +1461,9 @@ func (x *DeleteJobResp) GetMsg() string { return "" } -func (x *DeleteJobResp) GetResult() map[string]string { +func (x *DeleteJobResp) GetData() map[string]string { if x != nil { - return x.Result + return x.Data } return nil } @@ -1474,23 +1474,23 @@ type Job struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // @gotags: copier:"JobId" - JobName string `protobuf:"bytes,2,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` // @gotags: copier:"Name" - JobStatus string `protobuf:"bytes,3,opt,name=job_status,json=jobStatus,proto3" json:"job_status,omitempty"` // @gotags: copier:"JobState" - Queue string `protobuf:"bytes,4,opt,name=queue,proto3" json:"queue,omitempty"` // @gotags: copier:"Partition" - User string `protobuf:"bytes,5,opt,name=user,proto3" json:"user,omitempty"` // @gotags: copier:"UserId" - NodeUsed string `protobuf:"bytes,6,opt,name=node_used,json=nodeUsed,proto3" json:"node_used,omitempty"` // @gotags: copier:"ExcNodes" - ProcNumUsed int32 `protobuf:"varint,7,opt,name=proc_num_used,json=procNumUsed,proto3" json:"proc_num_used,omitempty"` // @gotags: copier:"NumCpus" - JobStartTime string `protobuf:"bytes,8,opt,name=job_start_time,json=jobStartTime,proto3" json:"job_start_time,omitempty"` // @gotags: copier:"StartTime" - JobRunTime string `protobuf:"bytes,9,opt,name=job_run_time,json=jobRunTime,proto3" json:"job_run_time,omitempty"` // @gotags: copier:"JobRunTime" - JobManagerId string `protobuf:"bytes,10,opt,name=job_manager_id,json=jobManagerId,proto3" json:"job_manager_id,omitempty"` // @gotags: copier:"JobmanagerId" - JobManagerName string `protobuf:"bytes,11,opt,name=job_manager_name,json=jobManagerName,proto3" json:"job_manager_name,omitempty"` // @gotags: copier:"JobmanagerName" - JobManagerType string `protobuf:"bytes,12,opt,name=job_manager_type,json=jobManagerType,proto3" json:"job_manager_type,omitempty"` // @gotags: copier:"JobmanagerType" - ErrorPath string `protobuf:"bytes,13,opt,name=error_path,json=errorPath,proto3" json:"error_path,omitempty"` // @gotags: copier:"ErrorPath" - OutputPath string `protobuf:"bytes,14,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"` // @gotags: copier:"OutputPath" - WorkDir string `protobuf:"bytes,15,opt,name=work_dir,json=workDir,proto3" json:"work_dir,omitempty"` // @gotags: copier:"WorkDir" - Reason string `protobuf:"bytes,16,opt,name=reason,proto3" json:"reason,omitempty"` // @gotags: copier:"Reason" - AppType string `protobuf:"bytes,17,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"` // @gotags: copier:"AppType" + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty" copier:"JobId"` // @gotags: copier:"JobId" + JobName string `protobuf:"bytes,2,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty" copier:"Name"` // @gotags: copier:"Name" + JobStatus string `protobuf:"bytes,3,opt,name=job_status,json=jobStatus,proto3" json:"job_status,omitempty" copier:"JobState"` // @gotags: copier:"JobState" + Queue string `protobuf:"bytes,4,opt,name=queue,proto3" json:"queue,omitempty" copier:"Partition"` // @gotags: copier:"Partition" + User string `protobuf:"bytes,5,opt,name=user,proto3" json:"user,omitempty" copier:"UserId"` // @gotags: copier:"UserId" + NodeUsed string `protobuf:"bytes,6,opt,name=node_used,json=nodeUsed,proto3" json:"node_used,omitempty" copier:"ExcNodes"` // @gotags: copier:"ExcNodes" + ProcNumUsed int32 `protobuf:"varint,7,opt,name=proc_num_used,json=procNumUsed,proto3" json:"proc_num_used,omitempty" copier:"NumCpus"` // @gotags: copier:"NumCpus" + JobStartTime string `protobuf:"bytes,8,opt,name=job_start_time,json=jobStartTime,proto3" json:"job_start_time,omitempty" copier:"StartTime"` // @gotags: copier:"StartTime" + JobRunTime string `protobuf:"bytes,9,opt,name=job_run_time,json=jobRunTime,proto3" json:"job_run_time,omitempty" copier:"JobRunTime"` // @gotags: copier:"JobRunTime" + JobManagerId string `protobuf:"bytes,10,opt,name=job_manager_id,json=jobManagerId,proto3" json:"job_manager_id,omitempty" copier:"JobmanagerId"` // @gotags: copier:"JobmanagerId" + JobManagerName string `protobuf:"bytes,11,opt,name=job_manager_name,json=jobManagerName,proto3" json:"job_manager_name,omitempty" copier:"JobmanagerName"` // @gotags: copier:"JobmanagerName" + JobManagerType string `protobuf:"bytes,12,opt,name=job_manager_type,json=jobManagerType,proto3" json:"job_manager_type,omitempty" copier:"JobmanagerType"` // @gotags: copier:"JobmanagerType" + ErrorPath string `protobuf:"bytes,13,opt,name=error_path,json=errorPath,proto3" json:"error_path,omitempty" copier:"ErrorPath"` // @gotags: copier:"ErrorPath" + OutputPath string `protobuf:"bytes,14,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty" copier:"OutputPath"` // @gotags: copier:"OutputPath" + WorkDir string `protobuf:"bytes,15,opt,name=work_dir,json=workDir,proto3" json:"work_dir,omitempty" copier:"WorkDir"` // @gotags: copier:"WorkDir" + Reason string `protobuf:"bytes,16,opt,name=reason,proto3" json:"reason,omitempty" copier:"Reason"` // @gotags: copier:"Reason" + AppType string `protobuf:"bytes,17,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty" copier:"AppType"` // @gotags: copier:"AppType" } func (x *Job) Reset() { @@ -1687,10 +1687,10 @@ type ListJobResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" - RecordCount uint32 `protobuf:"varint,3,opt,name=record_count,json=recordCount,proto3" json:"record_count,omitempty"` // @gotags: copier:"RecordCount" - Jobs []*Job `protobuf:"bytes,4,rep,name=jobs,proto3" json:"jobs,omitempty"` // @gotags: copier:"Jobs" + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty" copier:"Code"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" + RecordCount uint32 `protobuf:"varint,3,opt,name=record_count,json=recordCount,proto3" json:"record_count,omitempty" copier:"RecordCount"` // @gotags: copier:"RecordCount" + Jobs []*Job `protobuf:"bytes,4,rep,name=jobs,proto3" json:"jobs,omitempty" copier:"Jobs"` // @gotags: copier:"Jobs" } func (x *ListJobResp) Reset() { @@ -1759,22 +1759,22 @@ type HistoryJob struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AcctTime string `protobuf:"bytes,1,opt,name=acct_time,json=acctTime,proto3" json:"acct_time,omitempty"` // @gotags: copier:"AcctTime" - AppType string `protobuf:"bytes,2,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"` // @gotags: copier:"AppType" - JobEndTime string `protobuf:"bytes,3,opt,name=job_end_time,json=jobEndTime,proto3" json:"job_end_time,omitempty"` // @gotags: copier:"End" - JobExecHost string `protobuf:"bytes,4,opt,name=job_exec_host,json=jobExecHost,proto3" json:"job_exec_host,omitempty"` // @gotags: copier:"Nodes" - JobExitStatus int32 `protobuf:"varint,5,opt,name=job_exit_status,json=jobExitStatus,proto3" json:"job_exit_status,omitempty"` // @gotags: copier:"ExitCode" - JobId int64 `protobuf:"varint,6,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // @gotags: copier:"JobId" - JobName string `protobuf:"bytes,7,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` // @gotags: copier:"JobName" - JobQueueTime string `protobuf:"bytes,8,opt,name=job_queue_time,json=jobQueueTime,proto3" json:"job_queue_time,omitempty"` // @gotags: copier:"JobQueueTime" - JobStartTime string `protobuf:"bytes,9,opt,name=job_start_time,json=jobStartTime,proto3" json:"job_start_time,omitempty"` // @gotags: copier:"Start" - JobState string `protobuf:"bytes,10,opt,name=job_state,json=jobState,proto3" json:"job_state,omitempty"` // @gotags: copier:"State" - JobWalltimeUsed string `protobuf:"bytes,11,opt,name=job_walltime_used,json=jobWalltimeUsed,proto3" json:"job_walltime_used,omitempty"` // @gotags: copier:"JobWalltimeUsed" - JobManagerId int64 `protobuf:"varint,12,opt,name=job_manager_id,json=jobManagerId,proto3" json:"job_manager_id,omitempty"` // @gotags: copier:"JobManagerId" - NodeCt int32 `protobuf:"varint,13,opt,name=node_ct,json=nodeCt,proto3" json:"node_ct,omitempty"` // @gotags: copier:"AllocNodes" - Queue string `protobuf:"bytes,14,opt,name=queue,proto3" json:"queue,omitempty"` // @gotags: copier:"Partition" - UserName string `protobuf:"bytes,15,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` // @gotags: copier:"User" - Workdir string `protobuf:"bytes,16,opt,name=workdir,proto3" json:"workdir,omitempty"` // @gotags: copier:"WorkDir" + AcctTime string `protobuf:"bytes,1,opt,name=acct_time,json=acctTime,proto3" json:"acct_time,omitempty" copier:"AcctTime"` // @gotags: copier:"AcctTime" + AppType string `protobuf:"bytes,2,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty" copier:"AppType"` // @gotags: copier:"AppType" + JobEndTime string `protobuf:"bytes,3,opt,name=job_end_time,json=jobEndTime,proto3" json:"job_end_time,omitempty" copier:"End"` // @gotags: copier:"End" + JobExecHost string `protobuf:"bytes,4,opt,name=job_exec_host,json=jobExecHost,proto3" json:"job_exec_host,omitempty" copier:"Nodes"` // @gotags: copier:"Nodes" + JobExitStatus int32 `protobuf:"varint,5,opt,name=job_exit_status,json=jobExitStatus,proto3" json:"job_exit_status,omitempty" copier:"ExitCode"` // @gotags: copier:"ExitCode" + JobId int64 `protobuf:"varint,6,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty" copier:"JobId"` // @gotags: copier:"JobId" + JobName string `protobuf:"bytes,7,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty" copier:"JobName"` // @gotags: copier:"JobName" + JobQueueTime string `protobuf:"bytes,8,opt,name=job_queue_time,json=jobQueueTime,proto3" json:"job_queue_time,omitempty" copier:"JobQueueTime"` // @gotags: copier:"JobQueueTime" + JobStartTime string `protobuf:"bytes,9,opt,name=job_start_time,json=jobStartTime,proto3" json:"job_start_time,omitempty" copier:"Start"` // @gotags: copier:"Start" + JobState string `protobuf:"bytes,10,opt,name=job_state,json=jobState,proto3" json:"job_state,omitempty" copier:"State"` // @gotags: copier:"State" + JobWalltimeUsed string `protobuf:"bytes,11,opt,name=job_walltime_used,json=jobWalltimeUsed,proto3" json:"job_walltime_used,omitempty" copier:"JobWalltimeUsed"` // @gotags: copier:"JobWalltimeUsed" + JobManagerId int64 `protobuf:"varint,12,opt,name=job_manager_id,json=jobManagerId,proto3" json:"job_manager_id,omitempty" copier:"JobManagerId"` // @gotags: copier:"JobManagerId" + NodeCt int32 `protobuf:"varint,13,opt,name=node_ct,json=nodeCt,proto3" json:"node_ct,omitempty" copier:"AllocNodes"` // @gotags: copier:"AllocNodes" + Queue string `protobuf:"bytes,14,opt,name=queue,proto3" json:"queue,omitempty" copier:"Partition"` // @gotags: copier:"Partition" + UserName string `protobuf:"bytes,15,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty" copier:"User"` // @gotags: copier:"User" + Workdir string `protobuf:"bytes,16,opt,name=workdir,proto3" json:"workdir,omitempty" copier:"WorkDir"` // @gotags: copier:"WorkDir" } func (x *HistoryJob) Reset() { @@ -1926,12 +1926,12 @@ type ListHistoryJobReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - StartTime string `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty"` // @gotags: copier:"StartTime" - EndTime string `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime,omitempty"` // @gotags: copier:"EndTime" - TimeType string `protobuf:"bytes,3,opt,name=timeType,proto3" json:"timeType,omitempty"` // @gotags: copier:"TimeType" - Start int32 `protobuf:"varint,4,opt,name=start,proto3" json:"start,omitempty"` // @gotags: copier:"Start" - Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` // @gotags: copier:"Limit" - IsQueryByQueueTime int32 `protobuf:"varint,6,opt,name=isQueryByQueueTime,proto3" json:"isQueryByQueueTime,omitempty"` // @gotags: copier:"IsQueryByQueueTime" + StartTime string `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty" copier:"StartTime"` // @gotags: copier:"StartTime" + EndTime string `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime,omitempty" copier:"EndTime"` // @gotags: copier:"EndTime" + TimeType string `protobuf:"bytes,3,opt,name=timeType,proto3" json:"timeType,omitempty" copier:"TimeType"` // @gotags: copier:"TimeType" + Start int32 `protobuf:"varint,4,opt,name=start,proto3" json:"start,omitempty" copier:"Start"` // @gotags: copier:"Start" + Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty" copier:"Limit"` // @gotags: copier:"Limit" + IsQueryByQueueTime int32 `protobuf:"varint,6,opt,name=isQueryByQueueTime,proto3" json:"isQueryByQueueTime,omitempty" copier:"IsQueryByQueueTime"` // @gotags: copier:"IsQueryByQueueTime" } func (x *ListHistoryJobReq) Reset() { @@ -2013,10 +2013,10 @@ type ListHistoryJobResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" - RecordCount uint32 `protobuf:"varint,3,opt,name=record_count,json=recordCount,proto3" json:"record_count,omitempty"` // @gotags: copier:"RecordCount" - HistoryJobs []*HistoryJob `protobuf:"bytes,4,rep,name=history_jobs,json=historyJobs,proto3" json:"history_jobs,omitempty"` // @gotags: copier:"HistoryJobs" + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty" copier:"Code"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" + RecordCount uint32 `protobuf:"varint,3,opt,name=record_count,json=recordCount,proto3" json:"record_count,omitempty" copier:"RecordCount"` // @gotags: copier:"RecordCount" + HistoryJobs []*HistoryJob `protobuf:"bytes,4,rep,name=history_jobs,json=historyJobs,proto3" json:"history_jobs,omitempty" copier:"HistoryJobs"` // @gotags: copier:"HistoryJobs" } func (x *ListHistoryJobResp) Reset() { @@ -2085,10 +2085,10 @@ type SubmitJobReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Apptype string `protobuf:"bytes,1,opt,name=apptype,proto3" json:"apptype,omitempty"` // @gotags: copier:"Apptype" - Appname string `protobuf:"bytes,2,opt,name=appname,proto3" json:"appname,omitempty"` // @gotags: copier:"Appname" - StrJobManagerID int64 `protobuf:"varint,3,opt,name=strJobManagerID,proto3" json:"strJobManagerID,omitempty"` // @gotags: copier:"StrJobManagerID" - MapAppJobInfo *MapAppJobInfo `protobuf:"bytes,4,opt,name=mapAppJobInfo,proto3" json:"mapAppJobInfo,omitempty"` // @gotags: copier:"MapAppJobInfo" + Apptype string `protobuf:"bytes,1,opt,name=apptype,proto3" json:"apptype,omitempty" copier:"Apptype"` // @gotags: copier:"Apptype" + Appname string `protobuf:"bytes,2,opt,name=appname,proto3" json:"appname,omitempty" copier:"Appname"` // @gotags: copier:"Appname" + StrJobManagerID int64 `protobuf:"varint,3,opt,name=strJobManagerID,proto3" json:"strJobManagerID,omitempty" copier:"StrJobManagerID"` // @gotags: copier:"StrJobManagerID" + MapAppJobInfo *MapAppJobInfo `protobuf:"bytes,4,opt,name=mapAppJobInfo,proto3" json:"mapAppJobInfo,omitempty" copier:"MapAppJobInfo"` // @gotags: copier:"MapAppJobInfo" } func (x *SubmitJobReq) Reset() { @@ -2156,9 +2156,9 @@ type SubmitJobResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty"` // @gotags: copier:"Code" - Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` // @gotags: copier:"Msg" - Data string `protobuf:"bytes,3,opt,name=Data,proto3" json:"Data,omitempty"` // @gotags: copier:"Data" + Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty" copier:"Code"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" + Data string `protobuf:"bytes,3,opt,name=Data,proto3" json:"Data,omitempty" copier:"Data"` // @gotags: copier:"Data" } func (x *SubmitJobResp) Reset() { @@ -2219,24 +2219,24 @@ type MapAppJobInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GAP_CMD_FILE string `protobuf:"bytes,1,opt,name=GAP_CMD_FILE,json=GAPCMDFILE,proto3" json:"GAP_CMD_FILE,omitempty"` // @gotags: copier:"GAP_CMD_FILE" //命令行内容 - GAP_NNODE string `protobuf:"bytes,2,opt,name=GAP_NNODE,json=GAPNNODE,proto3" json:"GAP_NNODE,omitempty"` // @gotags: copier:"GAP_NNODE" //节点个数(当指定该参数时,GAP_NODE_STRING必须为"") - GAP_NODE_STRING string `protobuf:"bytes,3,opt,name=GAP_NODE_STRING,json=GAPNODESTRING,proto3" json:"GAP_NODE_STRING,omitempty"` // @gotags: copier:"GAP_NODE_STRING" //指定节点(当指定该参数时,GAP_NNODE必须为"") - GAP_SUBMIT_TYPE string `protobuf:"bytes,4,opt,name=GAP_SUBMIT_TYPE,json=GAPSUBMITTYPE,proto3" json:"GAP_SUBMIT_TYPE,omitempty"` // @gotags: copier:"GAP_SUBMIT_TYPE" //cmd(命令行模式) - GAP_JOB_NAME string `protobuf:"bytes,5,opt,name=GAP_JOB_NAME,json=GAPJOBNAME,proto3" json:"GAP_JOB_NAME,omitempty"` // @gotags: copier:"GAP_JOB_NAME" //作业名称 - GAP_WORK_DIR string `protobuf:"bytes,6,opt,name=GAP_WORK_DIR,json=GAPWORKDIR,proto3" json:"GAP_WORK_DIR,omitempty"` // @gotags: copier:"GAP_WORK_DIR" //工作路径 - GAP_QUEUE string `protobuf:"bytes,7,opt,name=GAP_QUEUE,json=GAPQUEUE,proto3" json:"GAP_QUEUE,omitempty"` // @gotags: copier:"GAP_QUEUE" //队列名称 - GAP_NPROC string `protobuf:"bytes,8,opt,name=GAP_NPROC,json=GAPNPROC,proto3" json:"GAP_NPROC,omitempty"` // @gotags: copier:"GAP_NPROC" //总核心数(GAP_NPROC和GAP_PPN选其一填写) - GAP_PPN string `protobuf:"bytes,9,opt,name=GAP_PPN,json=GAPPPN,proto3" json:"GAP_PPN,omitempty"` // @gotags: copier:"GAP_PPN" //CPU核心/节点(GAP_NPROC和GAP_PPN选其一填写) - GAP_NGPU string `protobuf:"bytes,10,opt,name=GAP_NGPU,json=GAPNGPU,proto3" json:"GAP_NGPU,omitempty"` // @gotags: copier:"GAP_NGPU" //GPU卡数/节点 - GAP_NDCU string `protobuf:"bytes,11,opt,name=GAP_NDCU,json=GAPNDCU,proto3" json:"GAP_NDCU,omitempty"` // @gotags: copier:"GAP_NDCU" //DCU卡数/节点 - GAP_JOB_MEM string `protobuf:"bytes,12,opt,name=GAP_JOB_MEM,json=GAPJOBMEM,proto3" json:"GAP_JOB_MEM,omitempty"` // @gotags: copier:"GAP_JOB_MEM" //每个节点内存值,单位为MB/GB - GAP_WALL_TIME string `protobuf:"bytes,13,opt,name=GAP_WALL_TIME,json=GAPWALLTIME,proto3" json:"GAP_WALL_TIME,omitempty"` // @gotags: copier:"GAP_WALL_TIME" //最大运行时长(HH:MM:ss) - GAP_EXCLUSIVE string `protobuf:"bytes,14,opt,name=GAP_EXCLUSIVE,json=GAPEXCLUSIVE,proto3" json:"GAP_EXCLUSIVE,omitempty"` // @gotags: copier:"GAP_EXCLUSIVE" // 是否独占节点,1为独占,空为非独占 - GAP_APPNAME string `protobuf:"bytes,15,opt,name=GAP_APPNAME,json=GAPAPPNAME,proto3" json:"GAP_APPNAME,omitempty"` // @gotags: copier:"GAP_APPNAME" //BASE(基础应用),支持填写具体的应用英文名称 - GAP_MULTI_SUB string `protobuf:"bytes,16,opt,name=GAP_MULTI_SUB,json=GAPMULTISUB,proto3" json:"GAP_MULTI_SUB,omitempty"` // @gotags: copier:"GAP_MULTI_SUB" //作业组长度,建议为小于等于50的正整数 - GAP_STD_OUT_FILE string `protobuf:"bytes,17,opt,name=GAP_STD_OUT_FILE,json=GAPSTDOUTFILE,proto3" json:"GAP_STD_OUT_FILE,omitempty"` // @gotags: copier:"GAP_STD_OUT_FILE" //工作路径/std.out.%j - GAP_STD_ERR_FILE string `protobuf:"bytes,18,opt,name=GAP_STD_ERR_FILE,json=GAPSTDERRFILE,proto3" json:"GAP_STD_ERR_FILE,omitempty"` // @gotags: copier:"GAP_STD_ERR_FILE" //工作路径/std.err.%j + GAP_CMD_FILE string `protobuf:"bytes,1,opt,name=GAP_CMD_FILE,json=GAPCMDFILE,proto3" json:"GAP_CMD_FILE,omitempty" copier:"GAP_CMD_FILE"` // @gotags: copier:"GAP_CMD_FILE" //命令行内容 + GAP_NNODE string `protobuf:"bytes,2,opt,name=GAP_NNODE,json=GAPNNODE,proto3" json:"GAP_NNODE,omitempty" copier:"GAP_NNODE"` // @gotags: copier:"GAP_NNODE" //节点个数(当指定该参数时,GAP_NODE_STRING必须为"") + GAP_NODE_STRING string `protobuf:"bytes,3,opt,name=GAP_NODE_STRING,json=GAPNODESTRING,proto3" json:"GAP_NODE_STRING,omitempty" copier:"GAP_NODE_STRING"` // @gotags: copier:"GAP_NODE_STRING" //指定节点(当指定该参数时,GAP_NNODE必须为"") + GAP_SUBMIT_TYPE string `protobuf:"bytes,4,opt,name=GAP_SUBMIT_TYPE,json=GAPSUBMITTYPE,proto3" json:"GAP_SUBMIT_TYPE,omitempty" copier:"GAP_SUBMIT_TYPE"` // @gotags: copier:"GAP_SUBMIT_TYPE" //cmd(命令行模式) + GAP_JOB_NAME string `protobuf:"bytes,5,opt,name=GAP_JOB_NAME,json=GAPJOBNAME,proto3" json:"GAP_JOB_NAME,omitempty" copier:"GAP_JOB_NAME"` // @gotags: copier:"GAP_JOB_NAME" //作业名称 + GAP_WORK_DIR string `protobuf:"bytes,6,opt,name=GAP_WORK_DIR,json=GAPWORKDIR,proto3" json:"GAP_WORK_DIR,omitempty" copier:"GAP_WORK_DIR"` // @gotags: copier:"GAP_WORK_DIR" //工作路径 + GAP_QUEUE string `protobuf:"bytes,7,opt,name=GAP_QUEUE,json=GAPQUEUE,proto3" json:"GAP_QUEUE,omitempty" copier:"GAP_QUEUE"` // @gotags: copier:"GAP_QUEUE" //队列名称 + GAP_NPROC string `protobuf:"bytes,8,opt,name=GAP_NPROC,json=GAPNPROC,proto3" json:"GAP_NPROC,omitempty" copier:"GAP_NPROC"` // @gotags: copier:"GAP_NPROC" //总核心数(GAP_NPROC和GAP_PPN选其一填写) + GAP_PPN string `protobuf:"bytes,9,opt,name=GAP_PPN,json=GAPPPN,proto3" json:"GAP_PPN,omitempty" copier:"GAP_PPN"` // @gotags: copier:"GAP_PPN" //CPU核心/节点(GAP_NPROC和GAP_PPN选其一填写) + GAP_NGPU string `protobuf:"bytes,10,opt,name=GAP_NGPU,json=GAPNGPU,proto3" json:"GAP_NGPU,omitempty" copier:"GAP_NGPU"` // @gotags: copier:"GAP_NGPU" //GPU卡数/节点 + GAP_NDCU string `protobuf:"bytes,11,opt,name=GAP_NDCU,json=GAPNDCU,proto3" json:"GAP_NDCU,omitempty" copier:"GAP_NDCU"` // @gotags: copier:"GAP_NDCU" //DCU卡数/节点 + GAP_JOB_MEM string `protobuf:"bytes,12,opt,name=GAP_JOB_MEM,json=GAPJOBMEM,proto3" json:"GAP_JOB_MEM,omitempty" copier:"GAP_JOB_MEM"` // @gotags: copier:"GAP_JOB_MEM" //每个节点内存值,单位为MB/GB + GAP_WALL_TIME string `protobuf:"bytes,13,opt,name=GAP_WALL_TIME,json=GAPWALLTIME,proto3" json:"GAP_WALL_TIME,omitempty" copier:"GAP_WALL_TIME"` // @gotags: copier:"GAP_WALL_TIME" //最大运行时长(HH:MM:ss) + GAP_EXCLUSIVE string `protobuf:"bytes,14,opt,name=GAP_EXCLUSIVE,json=GAPEXCLUSIVE,proto3" json:"GAP_EXCLUSIVE,omitempty" copier:"GAP_EXCLUSIVE"` // @gotags: copier:"GAP_EXCLUSIVE" // 是否独占节点,1为独占,空为非独占 + GAP_APPNAME string `protobuf:"bytes,15,opt,name=GAP_APPNAME,json=GAPAPPNAME,proto3" json:"GAP_APPNAME,omitempty" copier:"GAP_APPNAME"` // @gotags: copier:"GAP_APPNAME" //BASE(基础应用),支持填写具体的应用英文名称 + GAP_MULTI_SUB string `protobuf:"bytes,16,opt,name=GAP_MULTI_SUB,json=GAPMULTISUB,proto3" json:"GAP_MULTI_SUB,omitempty" copier:"GAP_MULTI_SUB"` // @gotags: copier:"GAP_MULTI_SUB" //作业组长度,建议为小于等于50的正整数 + GAP_STD_OUT_FILE string `protobuf:"bytes,17,opt,name=GAP_STD_OUT_FILE,json=GAPSTDOUTFILE,proto3" json:"GAP_STD_OUT_FILE,omitempty" copier:"GAP_STD_OUT_FILE"` // @gotags: copier:"GAP_STD_OUT_FILE" //工作路径/std.out.%j + GAP_STD_ERR_FILE string `protobuf:"bytes,18,opt,name=GAP_STD_ERR_FILE,json=GAPSTDERRFILE,proto3" json:"GAP_STD_ERR_FILE,omitempty" copier:"GAP_STD_ERR_FILE"` // @gotags: copier:"GAP_STD_ERR_FILE" //工作路径/std.err.%j } func (x *MapAppJobInfo) Reset() { @@ -2402,7 +2402,7 @@ type ParaStorQuotaReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // @gotags: copier:"username" + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty" copier:"username"` // @gotags: copier:"username" } func (x *ParaStorQuotaReq) Reset() { @@ -2449,9 +2449,9 @@ type ParaStorQuotaResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty"` // @gotags: copier:"Code" - Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` // @gotags: copier:"Msg" - Data []*QuotaData `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" + Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty" copier:"Code"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" + Data []*QuotaData `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty" copier:"Data"` // @gotags: copier:"Data" } func (x *ParaStorQuotaResp) Reset() { @@ -2512,10 +2512,10 @@ type QuotaData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // @gotags: copier:"username" //用户名 - Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // @gotags: copier:"path" //共享存储配额路径 - Threshold float64 `protobuf:"fixed64,3,opt,name=threshold,proto3" json:"threshold,omitempty"` // @gotags: copier:"threshold" //共享存储配额量,单位GB - Usage float64 `protobuf:"fixed64,4,opt,name=usage,proto3" json:"usage,omitempty"` // @gotags: copier:"usage" //共享存储使用量,单位GB + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty" copier:"username"` // @gotags: copier:"username" //用户名 + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty" copier:"path"` // @gotags: copier:"path" //共享存储配额路径 + Threshold float64 `protobuf:"fixed64,3,opt,name=threshold,proto3" json:"threshold,omitempty" copier:"threshold"` // @gotags: copier:"threshold" //共享存储配额量,单位GB + Usage float64 `protobuf:"fixed64,4,opt,name=usage,proto3" json:"usage,omitempty" copier:"usage"` // @gotags: copier:"usage" //共享存储使用量,单位GB } func (x *QuotaData) Reset() { @@ -2583,7 +2583,7 @@ type WallTimeReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // @gotags: copier:"username" + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty" copier:"username"` // @gotags: copier:"username" } func (x *WallTimeReq) Reset() { @@ -2630,9 +2630,9 @@ type WallTimeResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty"` // @gotags: copier:"Code" - Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` // @gotags: copier:"Msg" - Data float64 `protobuf:"fixed64,3,opt,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" + Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty" copier:"Code"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" + Data float64 `protobuf:"fixed64,3,opt,name=data,proto3" json:"data,omitempty" copier:"Data"` // @gotags: copier:"Data" } func (x *WallTimeResp) Reset() { @@ -2693,7 +2693,7 @@ type QueueJobsReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty"` //@gotags: copier:"userName" + UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty" copier:"userName"` //@gotags: copier:"userName" } func (x *QueueJobsReq) Reset() { @@ -2740,9 +2740,9 @@ type QueueJobsResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty"` // @gotags: copier:"Code" - Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` // @gotags: copier:"Msg" - Data []*Queue `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" + Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty" copier:"Code"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" + Data []*Queue `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty" copier:"Data"` // @gotags: copier:"Data" } func (x *QueueJobsResp) Reset() { @@ -2803,8 +2803,8 @@ type Queue struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"name" - Values []*Metric `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` // @gotags: copier:"values" + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" copier:"name"` // @gotags: copier:"name" + Values []*Metric `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty" copier:"values"` // @gotags: copier:"values" } func (x *Queue) Reset() { @@ -2858,8 +2858,8 @@ type Metric struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MetricName string `protobuf:"bytes,1,opt,name=metricName,proto3" json:"metricName,omitempty"` // @gotags: copier:"metricName" - MetricValue string `protobuf:"bytes,2,opt,name=metricValue,proto3" json:"metricValue,omitempty"` // @gotags: copier:"metricValue" + MetricName string `protobuf:"bytes,1,opt,name=metricName,proto3" json:"metricName,omitempty" copier:"metricName"` // @gotags: copier:"metricName" + MetricValue string `protobuf:"bytes,2,opt,name=metricValue,proto3" json:"metricValue,omitempty" copier:"metricValue"` // @gotags: copier:"metricValue" } func (x *Metric) Reset() { @@ -2951,9 +2951,9 @@ type CpuCoreResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty"` // @gotags: copier:"Code" - Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` // @gotags: copier:"Msg" - Data []*CpuCore `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"data" + Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty" copier:"Code"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" + Data []*CpuCore `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty" copier:"data"` // @gotags: copier:"data" } func (x *CpuCoreResp) Reset() { @@ -3014,8 +3014,8 @@ type CpuCore struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"name" - Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"` // @gotags: copier:"y" + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" copier:"name"` // @gotags: copier:"name" + Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty" copier:"y"` // @gotags: copier:"y" } func (x *CpuCore) Reset() { @@ -3069,7 +3069,7 @@ type JobsReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty"` // @gotags: copier:"userName" + UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty" copier:"userName"` // @gotags: copier:"userName" } func (x *JobsReq) Reset() { @@ -3116,9 +3116,9 @@ type JobsResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty"` // @gotags: copier:"Code" - Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` // @gotags: copier:"Msg" - Data []*JobCore `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"data" + Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty" copier:"Code"` // @gotags: copier:"Code" + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" + Data []*JobCore `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty" copier:"data"` // @gotags: copier:"data" } func (x *JobsResp) Reset() { @@ -3179,8 +3179,8 @@ type JobCore struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"name" - Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"` // @gotags: copier:"y" + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" copier:"name"` // @gotags: copier:"name" + Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty" copier:"y"` // @gotags: copier:"y" } func (x *JobCore) Reset() { @@ -3292,17 +3292,74 @@ func (x *HistoryJobDetailReq) GetAcctTime() string { return "" } -type HistoryJobDetailResp struct { +type HistoryJobDetail struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + AcctTime string `protobuf:"bytes,1,opt,name=acctTime,proto3" json:"acctTime,omitempty" copier:"acctTime"` // @gotags: copier:"acctTime" + AppType string `protobuf:"bytes,2,opt,name=appType,proto3" json:"appType,omitempty"` + Command string `protobuf:"bytes,3,opt,name=command,proto3" json:"command,omitempty"` + CommandExist string `protobuf:"bytes,4,opt,name=commandExist,proto3" json:"commandExist,omitempty"` + CpuNuclearHour string `protobuf:"bytes,5,opt,name=cpuNuclearHour,proto3" json:"cpuNuclearHour,omitempty"` + CpuNuclearSec string `protobuf:"bytes,6,opt,name=cpuNuclearSec,proto3" json:"cpuNuclearSec,omitempty"` + CpuUnitPrice float64 `protobuf:"fixed64,7,opt,name=cpuUnitPrice,proto3" json:"cpuUnitPrice,omitempty"` + DcuCardHour string `protobuf:"bytes,8,opt,name=dcuCardHour,proto3" json:"dcuCardHour,omitempty"` + DcuCardSec string `protobuf:"bytes,9,opt,name=dcuCardSec,proto3" json:"dcuCardSec,omitempty"` + DcuUnitPrice float64 `protobuf:"fixed64,10,opt,name=dcuUnitPrice,proto3" json:"dcuUnitPrice,omitempty"` + EfficiencyCpu string `protobuf:"bytes,11,opt,name=efficiencyCpu,proto3" json:"efficiencyCpu,omitempty"` + ExclusiveCputime int64 `protobuf:"varint,12,opt,name=exclusiveCputime,proto3" json:"exclusiveCputime,omitempty"` + ExclusiveMem int64 `protobuf:"varint,13,opt,name=exclusiveMem,proto3" json:"exclusiveMem,omitempty"` + ExclusiveWalltime int64 `protobuf:"varint,14,opt,name=exclusiveWalltime,proto3" json:"exclusiveWalltime,omitempty"` + Goldenable string `protobuf:"bytes,15,opt,name=goldenable,proto3" json:"goldenable,omitempty"` + GpuCardHour string `protobuf:"bytes,16,opt,name=gpuCardHour,proto3" json:"gpuCardHour,omitempty"` + GpuCardSec string `protobuf:"bytes,17,opt,name=gpuCardSec,proto3" json:"gpuCardSec,omitempty"` + GpuUnitPrice float64 `protobuf:"fixed64,18,opt,name=gpuUnitPrice,proto3" json:"gpuUnitPrice,omitempty"` + GroupName string `protobuf:"bytes,19,opt,name=groupName,proto3" json:"groupName,omitempty"` + HistoryAccount string `protobuf:"bytes,20,opt,name=historyAccount,proto3" json:"historyAccount,omitempty"` + HistoryQueuerate string `protobuf:"bytes,21,opt,name=historyQueuerate,proto3" json:"historyQueuerate,omitempty"` + IsSinglejob string `protobuf:"bytes,22,opt,name=isSinglejob,proto3" json:"isSinglejob,omitempty"` + JobCpuTime int64 `protobuf:"varint,23,opt,name=jobCpuTime,proto3" json:"jobCpuTime,omitempty"` + JobDcuNum int64 `protobuf:"varint,24,opt,name=jobDcuNum,proto3" json:"jobDcuNum,omitempty"` + JobEndTime string `protobuf:"bytes,25,opt,name=jobEndTime,proto3" json:"jobEndTime,omitempty"` + JobExecGpus string `protobuf:"bytes,26,opt,name=jobExecGpus,proto3" json:"jobExecGpus,omitempty"` + JobExecHost string `protobuf:"bytes,27,opt,name=jobExecHost,proto3" json:"jobExecHost,omitempty"` + JobExitStatus int64 `protobuf:"varint,28,opt,name=jobExitStatus,proto3" json:"jobExitStatus,omitempty"` + JobGpuNum int64 `protobuf:"varint,29,opt,name=jobGpuNum,proto3" json:"jobGpuNum,omitempty"` + JobId string `protobuf:"bytes,30,opt,name=jobId,proto3" json:"jobId,omitempty"` + JobMemUsed int64 `protobuf:"varint,31,opt,name=jobMemUsed,proto3" json:"jobMemUsed,omitempty"` + JobName string `protobuf:"bytes,32,opt,name=jobName,proto3" json:"jobName,omitempty"` + JobProcNum int64 `protobuf:"varint,33,opt,name=jobProcNum,proto3" json:"jobProcNum,omitempty"` + JobQueueTime string `protobuf:"bytes,34,opt,name=jobQueueTime,proto3" json:"jobQueueTime,omitempty"` + JobReqCpu float64 `protobuf:"fixed64,35,opt,name=jobReqCpu,proto3" json:"jobReqCpu,omitempty"` + JobReqDcu float64 `protobuf:"fixed64,36,opt,name=jobReqDcu,proto3" json:"jobReqDcu,omitempty"` + JobReqGpu float64 `protobuf:"fixed64,37,opt,name=jobReqGpu,proto3" json:"jobReqGpu,omitempty"` + JobReqMem string `protobuf:"bytes,38,opt,name=jobReqMem,proto3" json:"jobReqMem,omitempty"` + JobReqNodes float64 `protobuf:"fixed64,39,opt,name=jobReqNodes,proto3" json:"jobReqNodes,omitempty"` + JobResponseTime int64 `protobuf:"varint,40,opt,name=jobResponseTime,proto3" json:"jobResponseTime,omitempty"` + JobStartTime string `protobuf:"bytes,41,opt,name=jobStartTime,proto3" json:"jobStartTime,omitempty"` + JobState string `protobuf:"bytes,42,opt,name=jobState,proto3" json:"jobState,omitempty"` + JobVmemUsed int64 `protobuf:"varint,43,opt,name=jobVmemUsed,proto3" json:"jobVmemUsed,omitempty"` + JobWaitTime int64 `protobuf:"varint,44,opt,name=jobWaitTime,proto3" json:"jobWaitTime,omitempty"` + JobWalltimeUsed int64 `protobuf:"varint,45,opt,name=jobWalltimeUsed,proto3" json:"jobWalltimeUsed,omitempty"` + JobmanagerId int64 `protobuf:"varint,46,opt,name=jobmanagerId,proto3" json:"jobmanagerId,omitempty"` + JobmanagerName string `protobuf:"bytes,47,opt,name=jobmanagerName,proto3" json:"jobmanagerName,omitempty"` + NeedNodes string `protobuf:"bytes,48,opt,name=needNodes,proto3" json:"needNodes,omitempty"` + Nodect int64 `protobuf:"varint,49,opt,name=nodect,proto3" json:"nodect,omitempty"` + Owner string `protobuf:"bytes,50,opt,name=owner,proto3" json:"owner,omitempty"` + Queue string `protobuf:"bytes,51,opt,name=queue,proto3" json:"queue,omitempty"` + Scale string `protobuf:"bytes,52,opt,name=scale,proto3" json:"scale,omitempty"` + ShareCputime int64 `protobuf:"varint,53,opt,name=shareCputime,proto3" json:"shareCputime,omitempty"` + ShareMem int64 `protobuf:"varint,54,opt,name=shareMem,proto3" json:"shareMem,omitempty"` + ShareWalltime int64 `protobuf:"varint,55,opt,name=shareWalltime,proto3" json:"shareWalltime,omitempty"` + StartCount string `protobuf:"bytes,56,opt,name=startCount,proto3" json:"startCount,omitempty"` + UserName string `protobuf:"bytes,57,opt,name=userName,proto3" json:"userName,omitempty"` + Walltime int64 `protobuf:"varint,58,opt,name=walltime,proto3" json:"walltime,omitempty"` + Workdir string `protobuf:"bytes,59,opt,name=workdir,proto3" json:"workdir,omitempty"` } -func (x *HistoryJobDetailResp) Reset() { - *x = HistoryJobDetailResp{} +func (x *HistoryJobDetail) Reset() { + *x = HistoryJobDetail{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3310,13 +3367,13 @@ func (x *HistoryJobDetailResp) Reset() { } } -func (x *HistoryJobDetailResp) String() string { +func (x *HistoryJobDetail) String() string { return protoimpl.X.MessageStringOf(x) } -func (*HistoryJobDetailResp) ProtoMessage() {} +func (*HistoryJobDetail) ProtoMessage() {} -func (x *HistoryJobDetailResp) ProtoReflect() protoreflect.Message { +func (x *HistoryJobDetail) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3328,558 +3385,451 @@ func (x *HistoryJobDetailResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use HistoryJobDetailResp.ProtoReflect.Descriptor instead. -func (*HistoryJobDetailResp) Descriptor() ([]byte, []int) { +// Deprecated: Use HistoryJobDetail.ProtoReflect.Descriptor instead. +func (*HistoryJobDetail) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{35} } -func (x *HistoryJobDetailResp) GetCode() string { +func (x *HistoryJobDetail) GetAcctTime() string { if x != nil { - return x.Code + return x.AcctTime } return "" } -func (x *HistoryJobDetailResp) GetMsg() string { +func (x *HistoryJobDetail) GetAppType() string { if x != nil { - return x.Msg + return x.AppType } return "" } -type FileContentResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" //状态码 示例:0 - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" //信息 示例:success - Data *FileDataResp `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //对象数据 +func (x *HistoryJobDetail) GetCommand() string { + if x != nil { + return x.Command + } + return "" } -func (x *FileContentResp) Reset() { - *x = FileContentResp{} - if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *HistoryJobDetail) GetCommandExist() string { + if x != nil { + return x.CommandExist } + return "" } -func (x *FileContentResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *HistoryJobDetail) GetCpuNuclearHour() string { + if x != nil { + return x.CpuNuclearHour + } + return "" } -func (*FileContentResp) ProtoMessage() {} - -func (x *FileContentResp) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *HistoryJobDetail) GetCpuNuclearSec() string { + if x != nil { + return x.CpuNuclearSec } - return mi.MessageOf(x) + return "" } -// Deprecated: Use FileContentResp.ProtoReflect.Descriptor instead. -func (*FileContentResp) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{36} +func (x *HistoryJobDetail) GetCpuUnitPrice() float64 { + if x != nil { + return x.CpuUnitPrice + } + return 0 } -func (x *FileContentResp) GetCode() string { +func (x *HistoryJobDetail) GetDcuCardHour() string { if x != nil { - return x.Code + return x.DcuCardHour } return "" } -func (x *FileContentResp) GetMsg() string { +func (x *HistoryJobDetail) GetDcuCardSec() string { if x != nil { - return x.Msg + return x.DcuCardSec } return "" } -func (x *FileContentResp) GetData() *FileDataResp { +func (x *HistoryJobDetail) GetDcuUnitPrice() float64 { if x != nil { - return x.Data + return x.DcuUnitPrice } - return nil + return 0 } -type FileDataReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - HostName string `protobuf:"bytes,1,opt,name=hostName,proto3" json:"hostName,omitempty"` // @gotags: copier:"HostName" //服务器hostname 示例:127.0.0.1 - DirPath string `protobuf:"bytes,2,opt,name=dirPath,proto3" json:"dirPath,omitempty"` // @gotags: copier:"DirPath" //服务器文件绝对路径 示例:/public/home/test/BASE/STDIN_1210_114429/std.out.22 - TriggerNum int32 `protobuf:"varint,3,opt,name=triggerNum,proto3" json:"triggerNum,omitempty"` // @gotags: copier:"TriggerNum" //翻页次数,第一次打开传1,文件每超过1000行,该参数累加1(类似分页,每页显示1000行数据) 示例:1 - RollDirection string `protobuf:"bytes,4,opt,name=rollDirection,proto3" json:"rollDirection,omitempty"` // @gotags: copier:"RollDirection" //文件查看方向,传参UP,从文件尾向上看;传参DOWN,从文件头向下看 示例:UP +func (x *HistoryJobDetail) GetEfficiencyCpu() string { + if x != nil { + return x.EfficiencyCpu + } + return "" } -func (x *FileDataReq) Reset() { - *x = FileDataReq{} - if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *HistoryJobDetail) GetExclusiveCputime() int64 { + if x != nil { + return x.ExclusiveCputime } + return 0 } -func (x *FileDataReq) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *HistoryJobDetail) GetExclusiveMem() int64 { + if x != nil { + return x.ExclusiveMem + } + return 0 } -func (*FileDataReq) ProtoMessage() {} - -func (x *FileDataReq) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *HistoryJobDetail) GetExclusiveWalltime() int64 { + if x != nil { + return x.ExclusiveWalltime } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use FileDataReq.ProtoReflect.Descriptor instead. -func (*FileDataReq) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{37} +func (x *HistoryJobDetail) GetGoldenable() string { + if x != nil { + return x.Goldenable + } + return "" } -func (x *FileDataReq) GetHostName() string { +func (x *HistoryJobDetail) GetGpuCardHour() string { if x != nil { - return x.HostName + return x.GpuCardHour } return "" } -func (x *FileDataReq) GetDirPath() string { +func (x *HistoryJobDetail) GetGpuCardSec() string { if x != nil { - return x.DirPath + return x.GpuCardSec } return "" } -func (x *FileDataReq) GetTriggerNum() int32 { +func (x *HistoryJobDetail) GetGpuUnitPrice() float64 { if x != nil { - return x.TriggerNum + return x.GpuUnitPrice } return 0 } -func (x *FileDataReq) GetRollDirection() string { +func (x *HistoryJobDetail) GetGroupName() string { if x != nil { - return x.RollDirection + return x.GroupName } return "" } -type FileDataResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AllLineTotal int32 `protobuf:"varint,1,opt,name=allLineTotal,proto3" json:"allLineTotal,omitempty"` // @gotags: copier:"AllLineTotal" //文件总行数 示例:100 - Success string `protobuf:"bytes,2,opt,name=success,proto3" json:"success,omitempty"` // @gotags: copier:"Success" //请求是否成功 示例:true - TotalTriggerTimes int32 `protobuf:"varint,3,opt,name=totalTriggerTimes,proto3" json:"totalTriggerTimes,omitempty"` // @gotags: copier:"TotalTriggerTimes" //总次数(类似分页总页数) 示例:1 - Errmsg string `protobuf:"bytes,4,opt,name=errmsg,proto3" json:"errmsg,omitempty"` // @gotags: copier:"Errmsg" //错误信息 示例:false - Data string `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //返回的文件内容 示例:start time is: 2021-10-14 +func (x *HistoryJobDetail) GetHistoryAccount() string { + if x != nil { + return x.HistoryAccount + } + return "" } -func (x *FileDataResp) Reset() { - *x = FileDataResp{} - if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *HistoryJobDetail) GetHistoryQueuerate() string { + if x != nil { + return x.HistoryQueuerate } + return "" } -func (x *FileDataResp) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *HistoryJobDetail) GetIsSinglejob() string { + if x != nil { + return x.IsSinglejob + } + return "" } -func (*FileDataResp) ProtoMessage() {} +func (x *HistoryJobDetail) GetJobCpuTime() int64 { + if x != nil { + return x.JobCpuTime + } + return 0 +} -func (x *FileDataResp) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *HistoryJobDetail) GetJobDcuNum() int64 { + if x != nil { + return x.JobDcuNum } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use FileDataResp.ProtoReflect.Descriptor instead. -func (*FileDataResp) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{38} +func (x *HistoryJobDetail) GetJobEndTime() string { + if x != nil { + return x.JobEndTime + } + return "" } -func (x *FileDataResp) GetAllLineTotal() int32 { +func (x *HistoryJobDetail) GetJobExecGpus() string { if x != nil { - return x.AllLineTotal + return x.JobExecGpus } - return 0 + return "" } -func (x *FileDataResp) GetSuccess() string { +func (x *HistoryJobDetail) GetJobExecHost() string { if x != nil { - return x.Success + return x.JobExecHost } return "" } -func (x *FileDataResp) GetTotalTriggerTimes() int32 { +func (x *HistoryJobDetail) GetJobExitStatus() int64 { if x != nil { - return x.TotalTriggerTimes + return x.JobExitStatus } return 0 } -func (x *FileDataResp) GetErrmsg() string { +func (x *HistoryJobDetail) GetJobGpuNum() int64 { if x != nil { - return x.Errmsg + return x.JobGpuNum } - return "" + return 0 } -func (x *FileDataResp) GetData() string { +func (x *HistoryJobDetail) GetJobId() string { if x != nil { - return x.Data + return x.JobId } return "" } -type QueueReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` // @gotags: copier:"User" //用户 示例:test - StrJobManagerID string `protobuf:"bytes,2,opt,name=strJobManagerID,proto3" json:"strJobManagerID,omitempty"` // @gotags: copier:"StrJobManagerID" //调度器ID 示例:1626190154 -} - -func (x *QueueReq) Reset() { - *x = QueueReq{} - if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *HistoryJobDetail) GetJobMemUsed() int64 { + if x != nil { + return x.JobMemUsed } + return 0 } -func (x *QueueReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueueReq) ProtoMessage() {} - -func (x *QueueReq) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *HistoryJobDetail) GetJobName() string { + if x != nil { + return x.JobName } - return mi.MessageOf(x) -} - -// Deprecated: Use QueueReq.ProtoReflect.Descriptor instead. -func (*QueueReq) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{39} + return "" } -func (x *QueueReq) GetUser() string { +func (x *HistoryJobDetail) GetJobProcNum() int64 { if x != nil { - return x.User + return x.JobProcNum } - return "" + return 0 } -func (x *QueueReq) GetStrJobManagerID() string { +func (x *HistoryJobDetail) GetJobQueueTime() string { if x != nil { - return x.StrJobManagerID + return x.JobQueueTime } return "" } -type QueueResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" //状态码 示例:0 - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" //信息 示例:success - Data []*QueueData `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //队列数组 -} - -func (x *QueueResp) Reset() { - *x = QueueResp{} - if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *HistoryJobDetail) GetJobReqCpu() float64 { + if x != nil { + return x.JobReqCpu } + return 0 } -func (x *QueueResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueueResp) ProtoMessage() {} - -func (x *QueueResp) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *HistoryJobDetail) GetJobReqDcu() float64 { + if x != nil { + return x.JobReqDcu } - return mi.MessageOf(x) -} - -// Deprecated: Use QueueResp.ProtoReflect.Descriptor instead. -func (*QueueResp) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{40} + return 0 } -func (x *QueueResp) GetCode() string { +func (x *HistoryJobDetail) GetJobReqGpu() float64 { if x != nil { - return x.Code + return x.JobReqGpu } - return "" + return 0 } -func (x *QueueResp) GetMsg() string { +func (x *HistoryJobDetail) GetJobReqMem() string { if x != nil { - return x.Msg + return x.JobReqMem } return "" } -func (x *QueueResp) GetData() []*QueueData { +func (x *HistoryJobDetail) GetJobReqNodes() float64 { if x != nil { - return x.Data + return x.JobReqNodes } - return nil -} - -type QueueData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AclHosts string `protobuf:"bytes,1,opt,name=aclHosts,proto3" json:"aclHosts,omitempty"` // @gotags: copier:"aclHosts" //可用节点,多个节点用逗号隔开 示例:node1,node2 - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"id" //队列名称 示例:debug - Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` // @gotags: copier:"text" //队列名称 示例:debug - QueNodes string `protobuf:"bytes,4,opt,name=queNodes,proto3" json:"queNodes,omitempty"` // @gotags: copier:"queNodes" //队列节点总数 示例:3 - QueMinNodect string `protobuf:"bytes,5,opt,name=queMinNodect,proto3" json:"queMinNodect,omitempty"` // @gotags: copier:"queMinNodect" //队列最小节点数 示例:1 - QueMaxNgpus string `protobuf:"bytes,6,opt,name=queMaxNgpus,proto3" json:"queMaxNgpus,omitempty"` // @gotags: copier:"queMaxNgpus" //队列最大GPU卡数 示例:0 - QueMaxPPN string `protobuf:"bytes,7,opt,name=queMaxPPN,proto3" json:"queMaxPPN,omitempty"` // @gotags: copier:"queMaxPPN" //使用该队列作业最大CPU核心数 示例:4 - QueChargeRate string `protobuf:"bytes,8,opt,name=queChargeRate,proto3" json:"queChargeRate,omitempty"` // @gotags: copier:"queChargeRate" //费率 示例:1 - QueMaxNcpus string `protobuf:"bytes,9,opt,name=queMaxNcpus,proto3" json:"queMaxNcpus,omitempty"` // @gotags: copier:"queMaxNcpus" //用户最大可用核心数 示例:4 - QueMaxNdcus string `protobuf:"bytes,10,opt,name=queMaxNdcus,proto3" json:"queMaxNdcus,omitempty"` // @gotags: copier:"queMaxNdcus" //队列总DCU卡数 示例:0 - QueueName string `protobuf:"bytes,11,opt,name=queueName,proto3" json:"queueName,omitempty"` // @gotags: copier:"queueName" //队列名称 示例:debug - QueMinNcpus string `protobuf:"bytes,12,opt,name=queMinNcpus,proto3" json:"queMinNcpus,omitempty"` // @gotags: copier:"queMinNcpus" //队列最小CPU核数 示例:1 - QueFreeNodes string `protobuf:"bytes,13,opt,name=queFreeNodes,proto3" json:"queFreeNodes,omitempty"` // @gotags: copier:"queFreeNodes" //队列空闲节点数 示例:1 - QueMaxNodect string `protobuf:"bytes,14,opt,name=queMaxNodect,proto3" json:"queMaxNodect,omitempty"` // @gotags: copier:"queMaxNodect" //队列作业最大节点数 示例:1 - QueMaxGpuPN string `protobuf:"bytes,15,opt,name=queMaxGpuPN,proto3" json:"queMaxGpuPN,omitempty"` // @gotags: copier:"queMaxGpuPN" //队列单作业最大GPU卡数 示例:0 - QueMaxWalltime string `protobuf:"bytes,16,opt,name=queMaxWalltime,proto3" json:"queMaxWalltime,omitempty"` // @gotags: copier:"queMaxWalltime" //队列最大运行时间 示例:unlimit - QueMaxDcuPN string `protobuf:"bytes,17,opt,name=queMaxDcuPN,proto3" json:"queMaxDcuPN,omitempty"` // @gotags: copier:"queMaxDcuPN" //队列单作业最大DCU卡数 示例:0 + return 0 } -func (x *QueueData) Reset() { - *x = QueueData{} - if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *HistoryJobDetail) GetJobResponseTime() int64 { + if x != nil { + return x.JobResponseTime } + return 0 } -func (x *QueueData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueueData) ProtoMessage() {} - -func (x *QueueData) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *HistoryJobDetail) GetJobStartTime() string { + if x != nil { + return x.JobStartTime } - return mi.MessageOf(x) + return "" } -// Deprecated: Use QueueData.ProtoReflect.Descriptor instead. -func (*QueueData) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{41} +func (x *HistoryJobDetail) GetJobState() string { + if x != nil { + return x.JobState + } + return "" } -func (x *QueueData) GetAclHosts() string { +func (x *HistoryJobDetail) GetJobVmemUsed() int64 { if x != nil { - return x.AclHosts + return x.JobVmemUsed } - return "" + return 0 } -func (x *QueueData) GetId() string { +func (x *HistoryJobDetail) GetJobWaitTime() int64 { if x != nil { - return x.Id + return x.JobWaitTime } - return "" + return 0 } -func (x *QueueData) GetText() string { +func (x *HistoryJobDetail) GetJobWalltimeUsed() int64 { if x != nil { - return x.Text + return x.JobWalltimeUsed } - return "" + return 0 } -func (x *QueueData) GetQueNodes() string { +func (x *HistoryJobDetail) GetJobmanagerId() int64 { if x != nil { - return x.QueNodes + return x.JobmanagerId } - return "" + return 0 } -func (x *QueueData) GetQueMinNodect() string { +func (x *HistoryJobDetail) GetJobmanagerName() string { if x != nil { - return x.QueMinNodect + return x.JobmanagerName } return "" } -func (x *QueueData) GetQueMaxNgpus() string { +func (x *HistoryJobDetail) GetNeedNodes() string { if x != nil { - return x.QueMaxNgpus + return x.NeedNodes } return "" } -func (x *QueueData) GetQueMaxPPN() string { +func (x *HistoryJobDetail) GetNodect() int64 { if x != nil { - return x.QueMaxPPN + return x.Nodect } - return "" + return 0 } -func (x *QueueData) GetQueChargeRate() string { +func (x *HistoryJobDetail) GetOwner() string { if x != nil { - return x.QueChargeRate + return x.Owner } return "" } -func (x *QueueData) GetQueMaxNcpus() string { +func (x *HistoryJobDetail) GetQueue() string { if x != nil { - return x.QueMaxNcpus + return x.Queue } return "" } -func (x *QueueData) GetQueMaxNdcus() string { +func (x *HistoryJobDetail) GetScale() string { if x != nil { - return x.QueMaxNdcus + return x.Scale } return "" } -func (x *QueueData) GetQueueName() string { +func (x *HistoryJobDetail) GetShareCputime() int64 { if x != nil { - return x.QueueName + return x.ShareCputime } - return "" + return 0 } -func (x *QueueData) GetQueMinNcpus() string { +func (x *HistoryJobDetail) GetShareMem() int64 { if x != nil { - return x.QueMinNcpus + return x.ShareMem } - return "" + return 0 } -func (x *QueueData) GetQueFreeNodes() string { +func (x *HistoryJobDetail) GetShareWalltime() int64 { if x != nil { - return x.QueFreeNodes + return x.ShareWalltime } - return "" + return 0 } -func (x *QueueData) GetQueMaxNodect() string { +func (x *HistoryJobDetail) GetStartCount() string { if x != nil { - return x.QueMaxNodect + return x.StartCount } return "" } -func (x *QueueData) GetQueMaxGpuPN() string { +func (x *HistoryJobDetail) GetUserName() string { if x != nil { - return x.QueMaxGpuPN + return x.UserName } return "" } -func (x *QueueData) GetQueMaxWalltime() string { +func (x *HistoryJobDetail) GetWalltime() int64 { if x != nil { - return x.QueMaxWalltime + return x.Walltime } - return "" + return 0 } -func (x *QueueData) GetQueMaxDcuPN() string { +func (x *HistoryJobDetail) GetWorkdir() string { if x != nil { - return x.QueMaxDcuPN + return x.Workdir } return "" } -type QueueDetailsResp struct { +type HistoryJobDetailResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" //状态码 示例:0 - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" //信息 示例:success - Data []*QueueDetailsData `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //队列数组 + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + Data *HistoryJobDetail `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } -func (x *QueueDetailsResp) Reset() { - *x = QueueDetailsResp{} +func (x *HistoryJobDetailResp) Reset() { + *x = HistoryJobDetailResp{} if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[42] + mi := &file_hpcAC_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueueDetailsResp) String() string { +func (x *HistoryJobDetailResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueueDetailsResp) ProtoMessage() {} +func (*HistoryJobDetailResp) ProtoMessage() {} -func (x *QueueDetailsResp) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[42] +func (x *HistoryJobDetailResp) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3890,70 +3840,59 @@ func (x *QueueDetailsResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use QueueDetailsResp.ProtoReflect.Descriptor instead. -func (*QueueDetailsResp) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{42} +// Deprecated: Use HistoryJobDetailResp.ProtoReflect.Descriptor instead. +func (*HistoryJobDetailResp) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{36} } -func (x *QueueDetailsResp) GetCode() string { +func (x *HistoryJobDetailResp) GetCode() string { if x != nil { return x.Code } return "" } -func (x *QueueDetailsResp) GetMsg() string { +func (x *HistoryJobDetailResp) GetMsg() string { if x != nil { return x.Msg } return "" } -func (x *QueueDetailsResp) GetData() []*QueueDetailsData { +func (x *HistoryJobDetailResp) GetData() *HistoryJobDetail { if x != nil { return x.Data } return nil } -type QueueDetailsData struct { +type FileContentResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - QueNodes int32 `protobuf:"varint,1,opt,name=queNodes,proto3" json:"queNodes,omitempty"` // @gotags: copier:"queNodes" //队列节点总数 示例:3 - QueMinNodect int32 `protobuf:"varint,2,opt,name=queMinNodect,proto3" json:"queMinNodect,omitempty"` // @gotags: copier:"queMinNodect" //队列最小节点数 示例:1 - QueMaxNgpus int32 `protobuf:"varint,3,opt,name=queMaxNgpus,proto3" json:"queMaxNgpus,omitempty"` // @gotags: copier:"queMaxNgpus" //队列最大GPU卡数 示例:0 - QueMaxPPN int32 `protobuf:"varint,4,opt,name=queMaxPPN,proto3" json:"queMaxPPN,omitempty"` // @gotags: copier:"queMaxPPN" //使用该队列作业最大CPU核心数 示例:4 - QueChargeRate float32 `protobuf:"fixed32,5,opt,name=queChargeRate,proto3" json:"queChargeRate,omitempty"` // @gotags: copier:"queChargeRate" //费率 示例:1 - QueMaxNcpus int32 `protobuf:"varint,6,opt,name=queMaxNcpus,proto3" json:"queMaxNcpus,omitempty"` // @gotags: copier:"queMaxNcpus" //用户最大可用核心数 示例:4 - QueMaxNdcus int32 `protobuf:"varint,7,opt,name=queMaxNdcus,proto3" json:"queMaxNdcus,omitempty"` // @gotags: copier:"queMaxNdcus" //队列总DCU卡数 示例:0 - QueueName string `protobuf:"bytes,8,opt,name=queueName,proto3" json:"queueName,omitempty"` // @gotags: copier:"queueName" //队列名称 示例:debug - QueMinNcpus int32 `protobuf:"varint,9,opt,name=queMinNcpus,proto3" json:"queMinNcpus,omitempty"` // @gotags: copier:"queMinNcpus" //队列最小CPU核数 示例:1 - QueFreeNodes int32 `protobuf:"varint,10,opt,name=queFreeNodes,proto3" json:"queFreeNodes,omitempty"` // @gotags: copier:"queFreeNodes" //队列空闲节点数 示例:1 - QueMaxNodect int32 `protobuf:"varint,11,opt,name=queMaxNodect,proto3" json:"queMaxNodect,omitempty"` // @gotags: copier:"queMaxNodect" //队列作业最大节点数 示例:1 - QueMaxGpuPN int32 `protobuf:"varint,12,opt,name=queMaxGpuPN,proto3" json:"queMaxGpuPN,omitempty"` // @gotags: copier:"queMaxGpuPN" //队列单作业最大GPU卡数 示例:0 - QueMaxWalltime int32 `protobuf:"varint,13,opt,name=queMaxWalltime,proto3" json:"queMaxWalltime,omitempty"` // @gotags: copier:"queMaxWalltime" //队列最大运行时间 示例:unlimit - QueMaxDcuPN int32 `protobuf:"varint,14,opt,name=queMaxDcuPN,proto3" json:"queMaxDcuPN,omitempty"` // @gotags: copier:"queMaxDcuPN" //队列单作业最大DCU卡数 示例:0 + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty" copier:"Code"` // @gotags: copier:"Code" //状态码 示例:0 + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" //信息 示例:success + Data *FileDataResp `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty" copier:"Data"` // @gotags: copier:"Data" //对象数据 } -func (x *QueueDetailsData) Reset() { - *x = QueueDetailsData{} +func (x *FileContentResp) Reset() { + *x = FileContentResp{} if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[43] + mi := &file_hpcAC_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *QueueDetailsData) String() string { +func (x *FileContentResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*QueueDetailsData) ProtoMessage() {} +func (*FileContentResp) ProtoMessage() {} -func (x *QueueDetailsData) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[43] +func (x *FileContentResp) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3964,136 +3903,132 @@ func (x *QueueDetailsData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use QueueDetailsData.ProtoReflect.Descriptor instead. -func (*QueueDetailsData) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{43} -} - -func (x *QueueDetailsData) GetQueNodes() int32 { - if x != nil { - return x.QueNodes - } - return 0 +// Deprecated: Use FileContentResp.ProtoReflect.Descriptor instead. +func (*FileContentResp) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{37} } -func (x *QueueDetailsData) GetQueMinNodect() int32 { +func (x *FileContentResp) GetCode() string { if x != nil { - return x.QueMinNodect + return x.Code } - return 0 + return "" } -func (x *QueueDetailsData) GetQueMaxNgpus() int32 { +func (x *FileContentResp) GetMsg() string { if x != nil { - return x.QueMaxNgpus + return x.Msg } - return 0 + return "" } -func (x *QueueDetailsData) GetQueMaxPPN() int32 { +func (x *FileContentResp) GetData() *FileDataResp { if x != nil { - return x.QueMaxPPN + return x.Data } - return 0 + return nil } -func (x *QueueDetailsData) GetQueChargeRate() float32 { - if x != nil { - return x.QueChargeRate - } - return 0 -} +type FileDataReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *QueueDetailsData) GetQueMaxNcpus() int32 { - if x != nil { - return x.QueMaxNcpus - } - return 0 + HostName string `protobuf:"bytes,1,opt,name=hostName,proto3" json:"hostName,omitempty" copier:"HostName"` // @gotags: copier:"HostName" //服务器hostname 示例:127.0.0.1 + DirPath string `protobuf:"bytes,2,opt,name=dirPath,proto3" json:"dirPath,omitempty" copier:"DirPath"` // @gotags: copier:"DirPath" //服务器文件绝对路径 示例:/public/home/test/BASE/STDIN_1210_114429/std.out.22 + TriggerNum int32 `protobuf:"varint,3,opt,name=triggerNum,proto3" json:"triggerNum,omitempty" copier:"TriggerNum"` // @gotags: copier:"TriggerNum" //翻页次数,第一次打开传1,文件每超过1000行,该参数累加1(类似分页,每页显示1000行数据) 示例:1 + RollDirection string `protobuf:"bytes,4,opt,name=rollDirection,proto3" json:"rollDirection,omitempty" copier:"RollDirection"` // @gotags: copier:"RollDirection" //文件查看方向,传参UP,从文件尾向上看;传参DOWN,从文件头向下看 示例:UP } -func (x *QueueDetailsData) GetQueMaxNdcus() int32 { - if x != nil { - return x.QueMaxNdcus +func (x *FileDataReq) Reset() { + *x = FileDataReq{} + if protoimpl.UnsafeEnabled { + mi := &file_hpcAC_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *QueueDetailsData) GetQueueName() string { - if x != nil { - return x.QueueName - } - return "" +func (x *FileDataReq) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *QueueDetailsData) GetQueMinNcpus() int32 { - if x != nil { - return x.QueMinNcpus +func (*FileDataReq) ProtoMessage() {} + +func (x *FileDataReq) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *QueueDetailsData) GetQueFreeNodes() int32 { - if x != nil { - return x.QueFreeNodes - } - return 0 +// Deprecated: Use FileDataReq.ProtoReflect.Descriptor instead. +func (*FileDataReq) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{38} } -func (x *QueueDetailsData) GetQueMaxNodect() int32 { +func (x *FileDataReq) GetHostName() string { if x != nil { - return x.QueMaxNodect + return x.HostName } - return 0 + return "" } -func (x *QueueDetailsData) GetQueMaxGpuPN() int32 { +func (x *FileDataReq) GetDirPath() string { if x != nil { - return x.QueMaxGpuPN + return x.DirPath } - return 0 + return "" } -func (x *QueueDetailsData) GetQueMaxWalltime() int32 { +func (x *FileDataReq) GetTriggerNum() int32 { if x != nil { - return x.QueMaxWalltime + return x.TriggerNum } return 0 } -func (x *QueueDetailsData) GetQueMaxDcuPN() int32 { +func (x *FileDataReq) GetRollDirection() string { if x != nil { - return x.QueMaxDcuPN + return x.RollDirection } - return 0 + return "" } -type UserQuotasLimitResp struct { +type FileDataResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" //状态码 示例:0 - Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" //信息 示例:success - Data *UserQuotasLimitData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //队列数组 + AllLineTotal int32 `protobuf:"varint,1,opt,name=allLineTotal,proto3" json:"allLineTotal,omitempty" copier:"AllLineTotal"` // @gotags: copier:"AllLineTotal" //文件总行数 示例:100 + Success string `protobuf:"bytes,2,opt,name=success,proto3" json:"success,omitempty" copier:"Success"` // @gotags: copier:"Success" //请求是否成功 示例:true + TotalTriggerTimes int32 `protobuf:"varint,3,opt,name=totalTriggerTimes,proto3" json:"totalTriggerTimes,omitempty" copier:"TotalTriggerTimes"` // @gotags: copier:"TotalTriggerTimes" //总次数(类似分页总页数) 示例:1 + Errmsg string `protobuf:"bytes,4,opt,name=errmsg,proto3" json:"errmsg,omitempty" copier:"Errmsg"` // @gotags: copier:"Errmsg" //错误信息 示例:false + Data string `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty" copier:"Data"` // @gotags: copier:"Data" //返回的文件内容 示例:start time is: 2021-10-14 } -func (x *UserQuotasLimitResp) Reset() { - *x = UserQuotasLimitResp{} +func (x *FileDataResp) Reset() { + *x = FileDataResp{} if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[44] + mi := &file_hpcAC_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UserQuotasLimitResp) String() string { +func (x *FileDataResp) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UserQuotasLimitResp) ProtoMessage() {} +func (*FileDataResp) ProtoMessage() {} -func (x *UserQuotasLimitResp) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[44] +func (x *FileDataResp) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4104,77 +4039,72 @@ func (x *UserQuotasLimitResp) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserQuotasLimitResp.ProtoReflect.Descriptor instead. -func (*UserQuotasLimitResp) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{44} +// Deprecated: Use FileDataResp.ProtoReflect.Descriptor instead. +func (*FileDataResp) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{39} } -func (x *UserQuotasLimitResp) GetCode() string { +func (x *FileDataResp) GetAllLineTotal() int32 { if x != nil { - return x.Code + return x.AllLineTotal + } + return 0 +} + +func (x *FileDataResp) GetSuccess() string { + if x != nil { + return x.Success } return "" } -func (x *UserQuotasLimitResp) GetMsg() string { +func (x *FileDataResp) GetTotalTriggerTimes() int32 { if x != nil { - return x.Msg + return x.TotalTriggerTimes + } + return 0 +} + +func (x *FileDataResp) GetErrmsg() string { + if x != nil { + return x.Errmsg } return "" } -func (x *UserQuotasLimitResp) GetData() *UserQuotasLimitData { +func (x *FileDataResp) GetData() string { if x != nil { return x.Data } - return nil + return "" } -type UserQuotasLimitData struct { +type QueueReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty"` // @gotags: copier:"userName" //用户名称 - AccountName string `protobuf:"bytes,2,opt,name=accountName,proto3" json:"accountName,omitempty"` // @gotags: copier:"accountName" //用户所关联的默认的账号名 - UserMaxCpu int64 `protobuf:"varint,3,opt,name=userMaxCpu,proto3" json:"userMaxCpu,omitempty"` // @gotags: copier:"userMaxCpu" //用户最大CPU核数,单位:个,如果未做限制,则值为-1 - UserMaxDcu int64 `protobuf:"varint,4,opt,name=userMaxDcu,proto3" json:"userMaxDcu,omitempty"` // @gotags: copier:"userMaxDcu" //用户最大DCU卡数,单位:个,如果未做限制,则值为-1 - UserMaxGpu int64 `protobuf:"varint,5,opt,name=userMaxGpu,proto3" json:"userMaxGpu,omitempty"` // @gotags: copier:"userMaxGpu" //用户最大GPU卡数,单位:个,如果未做限制,则值为-1 - UserMaxMlu int64 `protobuf:"varint,6,opt,name=userMaxMlu,proto3" json:"userMaxMlu,omitempty"` // @gotags: copier:"userMaxMlu" //用户最大MLU卡数,单位:个,如果未做限制,则值为-1 - UserMaxMem int64 `protobuf:"varint,7,opt,name=userMaxMem,proto3" json:"userMaxMem,omitempty"` // @gotags: copier:"userMaxMem" //用户最大内存,单位:m,如果未做限制,则值为-1 - UserMaxNode int64 `protobuf:"varint,8,opt,name=userMaxNode,proto3" json:"userMaxNode,omitempty"` // @gotags: copier:"userMaxNode" //用户最大节点数,单位:个,如果未做限制,则值为-1 - UserMaxSubmitJob int64 `protobuf:"varint,9,opt,name=userMaxSubmitJob,proto3" json:"userMaxSubmitJob,omitempty"` // @gotags: copier:"userMaxSubmitJob" //用户最大提交作业数,单位:个,如果未做限制,则值为-1 - UserMaxRunJob int64 `protobuf:"varint,10,opt,name=userMaxRunJob,proto3" json:"userMaxRunJob,omitempty"` // @gotags: copier:"userMaxRunJob" //用户最大运行作业数,单位:个,如果未做限制,则值为-1 - AccountMaxCpu int64 `protobuf:"varint,11,opt,name=accountMaxCpu,proto3" json:"accountMaxCpu,omitempty"` // @gotags: copier:"accountMaxCpu" //账户最大CPU核数,单位:个,如果未做限制,则值为-1 - AccountMaxDcu int64 `protobuf:"varint,12,opt,name=accountMaxDcu,proto3" json:"accountMaxDcu,omitempty"` // @gotags: copier:"accountMaxDcu" //账户最大DCU卡数,单位:个,如果未做限制,则值为-1 - AccountMaxGpu int64 `protobuf:"varint,13,opt,name=accountMaxGpu,proto3" json:"accountMaxGpu,omitempty"` // @gotags: copier:"accountMaxGpu" //账户最大GPU卡数,单位:个,如果未做限制,则值为-1 - AccountMaxMlu int64 `protobuf:"varint,14,opt,name=accountMaxMlu,proto3" json:"accountMaxMlu,omitempty"` // @gotags: copier:"accountMaxMlu" //账户最大MLU卡数,单位:个,如果未做限制,则值为-1 - AccountMaxMem int64 `protobuf:"varint,15,opt,name=accountMaxMem,proto3" json:"accountMaxMem,omitempty"` // @gotags: copier:"accountMaxMem" //账户最大内存,单位:m,如果未做限制,则值为-1 - AccountMaxNode int64 `protobuf:"varint,16,opt,name=accountMaxNode,proto3" json:"accountMaxNode,omitempty"` // @gotags: copier:"accountMaxNode" //账户最大节点数,单位:个,如果未做限制,则值为-1 - AccountMaxSubmitJob int64 `protobuf:"varint,17,opt,name=accountMaxSubmitJob,proto3" json:"accountMaxSubmitJob,omitempty"` // @gotags: copier:"accountMaxSubmitJob" //账户最大提交作业数,单位:个,如果未做限制,则值为-1 - AccountMaxRunJob int64 `protobuf:"varint,18,opt,name=accountMaxRunJob,proto3" json:"accountMaxRunJob,omitempty"` // @gotags: copier:"accountMaxRunJob" //账户最大运行作业数,单位:个,如果未做限制,则值为-1 - UserMinCpu int64 `protobuf:"varint,19,opt,name=userMinCpu,proto3" json:"userMinCpu,omitempty"` // @gotags: copier:"userMinCpu" //用户最小CPU核数,单位:个,如果未做限制,则值为-1 - UserMinNode int64 `protobuf:"varint,20,opt,name=userMinNode,proto3" json:"userMinNode,omitempty"` // @gotags: copier:"userMinNode" //用户最小节点数,单位:个,如果未做限制,则值为-1 - MaxWallTime int64 `protobuf:"varint,21,opt,name=maxWallTime,proto3" json:"maxWallTime,omitempty"` // @gotags: copier:"maxWallTime" //用户关联的glod账号的机时,机时单位:s,如果未做限制,则值为-1 + User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty" copier:"User"` // @gotags: copier:"User" //用户 示例:test + StrJobManagerID string `protobuf:"bytes,2,opt,name=strJobManagerID,proto3" json:"strJobManagerID,omitempty" copier:"StrJobManagerID"` // @gotags: copier:"StrJobManagerID" //调度器ID 示例:1626190154 } -func (x *UserQuotasLimitData) Reset() { - *x = UserQuotasLimitData{} +func (x *QueueReq) Reset() { + *x = QueueReq{} if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[45] + mi := &file_hpcAC_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UserQuotasLimitData) String() string { +func (x *QueueReq) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UserQuotasLimitData) ProtoMessage() {} +func (*QueueReq) ProtoMessage() {} -func (x *UserQuotasLimitData) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[45] +func (x *QueueReq) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4185,667 +4115,745 @@ func (x *UserQuotasLimitData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UserQuotasLimitData.ProtoReflect.Descriptor instead. -func (*UserQuotasLimitData) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{45} +// Deprecated: Use QueueReq.ProtoReflect.Descriptor instead. +func (*QueueReq) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{40} } -func (x *UserQuotasLimitData) GetUserName() string { +func (x *QueueReq) GetUser() string { if x != nil { - return x.UserName + return x.User } return "" } -func (x *UserQuotasLimitData) GetAccountName() string { +func (x *QueueReq) GetStrJobManagerID() string { if x != nil { - return x.AccountName + return x.StrJobManagerID } return "" } -func (x *UserQuotasLimitData) GetUserMaxCpu() int64 { - if x != nil { - return x.UserMaxCpu - } - return 0 -} +type QueueResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *UserQuotasLimitData) GetUserMaxDcu() int64 { - if x != nil { - return x.UserMaxDcu - } - return 0 + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty" copier:"Code"` // @gotags: copier:"Code" //状态码 示例:0 + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" //信息 示例:success + Data []*QueueData `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty" copier:"Data"` // @gotags: copier:"Data" //队列数组 } -func (x *UserQuotasLimitData) GetUserMaxGpu() int64 { - if x != nil { - return x.UserMaxGpu +func (x *QueueResp) Reset() { + *x = QueueResp{} + if protoimpl.UnsafeEnabled { + mi := &file_hpcAC_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *UserQuotasLimitData) GetUserMaxMlu() int64 { - if x != nil { - return x.UserMaxMlu - } - return 0 +func (x *QueueResp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *UserQuotasLimitData) GetUserMaxMem() int64 { - if x != nil { - return x.UserMaxMem +func (*QueueResp) ProtoMessage() {} + +func (x *QueueResp) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *UserQuotasLimitData) GetUserMaxNode() int64 { - if x != nil { - return x.UserMaxNode - } - return 0 +// Deprecated: Use QueueResp.ProtoReflect.Descriptor instead. +func (*QueueResp) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{41} } -func (x *UserQuotasLimitData) GetUserMaxSubmitJob() int64 { +func (x *QueueResp) GetCode() string { if x != nil { - return x.UserMaxSubmitJob + return x.Code } - return 0 + return "" } -func (x *UserQuotasLimitData) GetUserMaxRunJob() int64 { +func (x *QueueResp) GetMsg() string { if x != nil { - return x.UserMaxRunJob + return x.Msg } - return 0 + return "" } -func (x *UserQuotasLimitData) GetAccountMaxCpu() int64 { +func (x *QueueResp) GetData() []*QueueData { if x != nil { - return x.AccountMaxCpu + return x.Data } - return 0 + return nil } -func (x *UserQuotasLimitData) GetAccountMaxDcu() int64 { - if x != nil { - return x.AccountMaxDcu - } - return 0 -} +type QueueData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *UserQuotasLimitData) GetAccountMaxGpu() int64 { - if x != nil { - return x.AccountMaxGpu - } - return 0 + AclHosts string `protobuf:"bytes,1,opt,name=aclHosts,proto3" json:"aclHosts,omitempty" copier:"aclHosts"` // @gotags: copier:"aclHosts" //可用节点,多个节点用逗号隔开 示例:node1,node2 + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty" copier:"id"` // @gotags: copier:"id" //队列名称 示例:debug + Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty" copier:"text"` // @gotags: copier:"text" //队列名称 示例:debug + QueNodes string `protobuf:"bytes,4,opt,name=queNodes,proto3" json:"queNodes,omitempty" copier:"queNodes"` // @gotags: copier:"queNodes" //队列节点总数 示例:3 + QueMinNodect string `protobuf:"bytes,5,opt,name=queMinNodect,proto3" json:"queMinNodect,omitempty" copier:"queMinNodect"` // @gotags: copier:"queMinNodect" //队列最小节点数 示例:1 + QueMaxNgpus string `protobuf:"bytes,6,opt,name=queMaxNgpus,proto3" json:"queMaxNgpus,omitempty" copier:"queMaxNgpus"` // @gotags: copier:"queMaxNgpus" //队列最大GPU卡数 示例:0 + QueMaxPPN string `protobuf:"bytes,7,opt,name=queMaxPPN,proto3" json:"queMaxPPN,omitempty" copier:"queMaxPPN"` // @gotags: copier:"queMaxPPN" //使用该队列作业最大CPU核心数 示例:4 + QueChargeRate string `protobuf:"bytes,8,opt,name=queChargeRate,proto3" json:"queChargeRate,omitempty" copier:"queChargeRate"` // @gotags: copier:"queChargeRate" //费率 示例:1 + QueMaxNcpus string `protobuf:"bytes,9,opt,name=queMaxNcpus,proto3" json:"queMaxNcpus,omitempty" copier:"queMaxNcpus"` // @gotags: copier:"queMaxNcpus" //用户最大可用核心数 示例:4 + QueMaxNdcus string `protobuf:"bytes,10,opt,name=queMaxNdcus,proto3" json:"queMaxNdcus,omitempty" copier:"queMaxNdcus"` // @gotags: copier:"queMaxNdcus" //队列总DCU卡数 示例:0 + QueueName string `protobuf:"bytes,11,opt,name=queueName,proto3" json:"queueName,omitempty" copier:"queueName"` // @gotags: copier:"queueName" //队列名称 示例:debug + QueMinNcpus string `protobuf:"bytes,12,opt,name=queMinNcpus,proto3" json:"queMinNcpus,omitempty" copier:"queMinNcpus"` // @gotags: copier:"queMinNcpus" //队列最小CPU核数 示例:1 + QueFreeNodes string `protobuf:"bytes,13,opt,name=queFreeNodes,proto3" json:"queFreeNodes,omitempty" copier:"queFreeNodes"` // @gotags: copier:"queFreeNodes" //队列空闲节点数 示例:1 + QueMaxNodect string `protobuf:"bytes,14,opt,name=queMaxNodect,proto3" json:"queMaxNodect,omitempty" copier:"queMaxNodect"` // @gotags: copier:"queMaxNodect" //队列作业最大节点数 示例:1 + QueMaxGpuPN string `protobuf:"bytes,15,opt,name=queMaxGpuPN,proto3" json:"queMaxGpuPN,omitempty" copier:"queMaxGpuPN"` // @gotags: copier:"queMaxGpuPN" //队列单作业最大GPU卡数 示例:0 + QueMaxWalltime string `protobuf:"bytes,16,opt,name=queMaxWalltime,proto3" json:"queMaxWalltime,omitempty" copier:"queMaxWalltime"` // @gotags: copier:"queMaxWalltime" //队列最大运行时间 示例:unlimit + QueMaxDcuPN string `protobuf:"bytes,17,opt,name=queMaxDcuPN,proto3" json:"queMaxDcuPN,omitempty" copier:"queMaxDcuPN"` // @gotags: copier:"queMaxDcuPN" //队列单作业最大DCU卡数 示例:0 } -func (x *UserQuotasLimitData) GetAccountMaxMlu() int64 { - if x != nil { - return x.AccountMaxMlu +func (x *QueueData) Reset() { + *x = QueueData{} + if protoimpl.UnsafeEnabled { + mi := &file_hpcAC_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *UserQuotasLimitData) GetAccountMaxMem() int64 { - if x != nil { - return x.AccountMaxMem - } - return 0 +func (x *QueueData) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *UserQuotasLimitData) GetAccountMaxNode() int64 { - if x != nil { - return x.AccountMaxNode +func (*QueueData) ProtoMessage() {} + +func (x *QueueData) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *UserQuotasLimitData) GetAccountMaxSubmitJob() int64 { - if x != nil { - return x.AccountMaxSubmitJob - } - return 0 +// Deprecated: Use QueueData.ProtoReflect.Descriptor instead. +func (*QueueData) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{42} } -func (x *UserQuotasLimitData) GetAccountMaxRunJob() int64 { +func (x *QueueData) GetAclHosts() string { if x != nil { - return x.AccountMaxRunJob + return x.AclHosts } - return 0 + return "" } -func (x *UserQuotasLimitData) GetUserMinCpu() int64 { +func (x *QueueData) GetId() string { if x != nil { - return x.UserMinCpu + return x.Id } - return 0 + return "" } -func (x *UserQuotasLimitData) GetUserMinNode() int64 { +func (x *QueueData) GetText() string { if x != nil { - return x.UserMinNode + return x.Text } - return 0 + return "" } -func (x *UserQuotasLimitData) GetMaxWallTime() int64 { +func (x *QueueData) GetQueNodes() string { if x != nil { - return x.MaxWallTime + return x.QueNodes } - return 0 -} - -type HistoryJobDetailRespData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AcctTime string `protobuf:"bytes,1,opt,name=acctTime,proto3" json:"acctTime,omitempty"` // @gotags: copier:"acctTime" - AppType string `protobuf:"bytes,2,opt,name=appType,proto3" json:"appType,omitempty"` - Command string `protobuf:"bytes,3,opt,name=command,proto3" json:"command,omitempty"` - CommandExist string `protobuf:"bytes,4,opt,name=commandExist,proto3" json:"commandExist,omitempty"` - CpuNuclearHour string `protobuf:"bytes,5,opt,name=cpuNuclearHour,proto3" json:"cpuNuclearHour,omitempty"` - CpuNuclearSec string `protobuf:"bytes,6,opt,name=cpuNuclearSec,proto3" json:"cpuNuclearSec,omitempty"` - CpuUnitPrice float64 `protobuf:"fixed64,7,opt,name=cpuUnitPrice,proto3" json:"cpuUnitPrice,omitempty"` - DcuCardHour string `protobuf:"bytes,8,opt,name=dcuCardHour,proto3" json:"dcuCardHour,omitempty"` - DcuCardSec string `protobuf:"bytes,9,opt,name=dcuCardSec,proto3" json:"dcuCardSec,omitempty"` - DcuUnitPrice float64 `protobuf:"fixed64,10,opt,name=dcuUnitPrice,proto3" json:"dcuUnitPrice,omitempty"` - EfficiencyCpu string `protobuf:"bytes,11,opt,name=efficiencyCpu,proto3" json:"efficiencyCpu,omitempty"` - ExclusiveCputime int64 `protobuf:"varint,12,opt,name=exclusiveCputime,proto3" json:"exclusiveCputime,omitempty"` - ExclusiveMem int64 `protobuf:"varint,13,opt,name=exclusiveMem,proto3" json:"exclusiveMem,omitempty"` - ExclusiveWalltime int64 `protobuf:"varint,14,opt,name=exclusiveWalltime,proto3" json:"exclusiveWalltime,omitempty"` - Goldenable string `protobuf:"bytes,15,opt,name=goldenable,proto3" json:"goldenable,omitempty"` - GpuCardHour string `protobuf:"bytes,16,opt,name=gpuCardHour,proto3" json:"gpuCardHour,omitempty"` - GpuCardSec string `protobuf:"bytes,17,opt,name=gpuCardSec,proto3" json:"gpuCardSec,omitempty"` - GpuUnitPrice float64 `protobuf:"fixed64,18,opt,name=gpuUnitPrice,proto3" json:"gpuUnitPrice,omitempty"` - GroupName string `protobuf:"bytes,19,opt,name=groupName,proto3" json:"groupName,omitempty"` - HistoryAccount string `protobuf:"bytes,20,opt,name=historyAccount,proto3" json:"historyAccount,omitempty"` - HistoryQueuerate string `protobuf:"bytes,21,opt,name=historyQueuerate,proto3" json:"historyQueuerate,omitempty"` - IsSinglejob string `protobuf:"bytes,22,opt,name=isSinglejob,proto3" json:"isSinglejob,omitempty"` - JobCpuTime int64 `protobuf:"varint,23,opt,name=jobCpuTime,proto3" json:"jobCpuTime,omitempty"` - JobDcuNum int64 `protobuf:"varint,24,opt,name=jobDcuNum,proto3" json:"jobDcuNum,omitempty"` - JobEndTime string `protobuf:"bytes,25,opt,name=jobEndTime,proto3" json:"jobEndTime,omitempty"` - JobExecGpus string `protobuf:"bytes,26,opt,name=jobExecGpus,proto3" json:"jobExecGpus,omitempty"` - JobExecHost string `protobuf:"bytes,27,opt,name=jobExecHost,proto3" json:"jobExecHost,omitempty"` - JobExitStatus int64 `protobuf:"varint,28,opt,name=jobExitStatus,proto3" json:"jobExitStatus,omitempty"` - JobGpuNum int64 `protobuf:"varint,29,opt,name=jobGpuNum,proto3" json:"jobGpuNum,omitempty"` - JobId string `protobuf:"bytes,30,opt,name=jobId,proto3" json:"jobId,omitempty"` - JobMemUsed int64 `protobuf:"varint,31,opt,name=jobMemUsed,proto3" json:"jobMemUsed,omitempty"` - JobName string `protobuf:"bytes,32,opt,name=jobName,proto3" json:"jobName,omitempty"` - JobProcNum int64 `protobuf:"varint,33,opt,name=jobProcNum,proto3" json:"jobProcNum,omitempty"` - JobQueueTime string `protobuf:"bytes,34,opt,name=jobQueueTime,proto3" json:"jobQueueTime,omitempty"` - JobReqCpu float64 `protobuf:"fixed64,35,opt,name=jobReqCpu,proto3" json:"jobReqCpu,omitempty"` - JobReqDcu float64 `protobuf:"fixed64,36,opt,name=jobReqDcu,proto3" json:"jobReqDcu,omitempty"` - JobReqGpu float64 `protobuf:"fixed64,37,opt,name=jobReqGpu,proto3" json:"jobReqGpu,omitempty"` - JobReqMem string `protobuf:"bytes,38,opt,name=jobReqMem,proto3" json:"jobReqMem,omitempty"` - JobReqNodes float64 `protobuf:"fixed64,39,opt,name=jobReqNodes,proto3" json:"jobReqNodes,omitempty"` - JobResponseTime int64 `protobuf:"varint,40,opt,name=jobResponseTime,proto3" json:"jobResponseTime,omitempty"` - JobStartTime string `protobuf:"bytes,41,opt,name=jobStartTime,proto3" json:"jobStartTime,omitempty"` - JobState string `protobuf:"bytes,42,opt,name=jobState,proto3" json:"jobState,omitempty"` - JobVmemUsed int64 `protobuf:"varint,43,opt,name=jobVmemUsed,proto3" json:"jobVmemUsed,omitempty"` - JobWaitTime int64 `protobuf:"varint,44,opt,name=jobWaitTime,proto3" json:"jobWaitTime,omitempty"` - JobWalltimeUsed int64 `protobuf:"varint,45,opt,name=jobWalltimeUsed,proto3" json:"jobWalltimeUsed,omitempty"` - JobmanagerId int64 `protobuf:"varint,46,opt,name=jobmanagerId,proto3" json:"jobmanagerId,omitempty"` - JobmanagerName string `protobuf:"bytes,47,opt,name=jobmanagerName,proto3" json:"jobmanagerName,omitempty"` - NeedNodes string `protobuf:"bytes,48,opt,name=needNodes,proto3" json:"needNodes,omitempty"` - Nodect int64 `protobuf:"varint,49,opt,name=nodect,proto3" json:"nodect,omitempty"` - Owner string `protobuf:"bytes,50,opt,name=owner,proto3" json:"owner,omitempty"` - Queue string `protobuf:"bytes,51,opt,name=queue,proto3" json:"queue,omitempty"` - Scale string `protobuf:"bytes,52,opt,name=scale,proto3" json:"scale,omitempty"` - ShareCputime int64 `protobuf:"varint,53,opt,name=shareCputime,proto3" json:"shareCputime,omitempty"` - ShareMem int64 `protobuf:"varint,54,opt,name=shareMem,proto3" json:"shareMem,omitempty"` - ShareWalltime int64 `protobuf:"varint,55,opt,name=shareWalltime,proto3" json:"shareWalltime,omitempty"` - StartCount string `protobuf:"bytes,56,opt,name=startCount,proto3" json:"startCount,omitempty"` - UserName string `protobuf:"bytes,57,opt,name=userName,proto3" json:"userName,omitempty"` - Walltime int64 `protobuf:"varint,58,opt,name=walltime,proto3" json:"walltime,omitempty"` - Workdir string `protobuf:"bytes,59,opt,name=workdir,proto3" json:"workdir,omitempty"` + return "" } -func (x *HistoryJobDetailRespData) Reset() { - *x = HistoryJobDetailRespData{} - if protoimpl.UnsafeEnabled { - mi := &file_hpcAC_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *QueueData) GetQueMinNodect() string { + if x != nil { + return x.QueMinNodect } + return "" } -func (x *HistoryJobDetailRespData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HistoryJobDetailRespData) ProtoMessage() {} - -func (x *HistoryJobDetailRespData) ProtoReflect() protoreflect.Message { - mi := &file_hpcAC_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *QueueData) GetQueMaxNgpus() string { + if x != nil { + return x.QueMaxNgpus } - return mi.MessageOf(x) -} - -// Deprecated: Use HistoryJobDetailRespData.ProtoReflect.Descriptor instead. -func (*HistoryJobDetailRespData) Descriptor() ([]byte, []int) { - return file_hpcAC_proto_rawDescGZIP(), []int{35, 0} + return "" } -func (x *HistoryJobDetailRespData) GetAcctTime() string { +func (x *QueueData) GetQueMaxPPN() string { if x != nil { - return x.AcctTime + return x.QueMaxPPN } return "" } -func (x *HistoryJobDetailRespData) GetAppType() string { +func (x *QueueData) GetQueChargeRate() string { if x != nil { - return x.AppType + return x.QueChargeRate } return "" } -func (x *HistoryJobDetailRespData) GetCommand() string { +func (x *QueueData) GetQueMaxNcpus() string { if x != nil { - return x.Command + return x.QueMaxNcpus } return "" } -func (x *HistoryJobDetailRespData) GetCommandExist() string { +func (x *QueueData) GetQueMaxNdcus() string { if x != nil { - return x.CommandExist + return x.QueMaxNdcus } return "" } -func (x *HistoryJobDetailRespData) GetCpuNuclearHour() string { +func (x *QueueData) GetQueueName() string { if x != nil { - return x.CpuNuclearHour + return x.QueueName } return "" } -func (x *HistoryJobDetailRespData) GetCpuNuclearSec() string { +func (x *QueueData) GetQueMinNcpus() string { if x != nil { - return x.CpuNuclearSec + return x.QueMinNcpus } return "" } -func (x *HistoryJobDetailRespData) GetCpuUnitPrice() float64 { +func (x *QueueData) GetQueFreeNodes() string { if x != nil { - return x.CpuUnitPrice + return x.QueFreeNodes } - return 0 + return "" } -func (x *HistoryJobDetailRespData) GetDcuCardHour() string { +func (x *QueueData) GetQueMaxNodect() string { if x != nil { - return x.DcuCardHour + return x.QueMaxNodect } return "" } -func (x *HistoryJobDetailRespData) GetDcuCardSec() string { +func (x *QueueData) GetQueMaxGpuPN() string { if x != nil { - return x.DcuCardSec + return x.QueMaxGpuPN } return "" } -func (x *HistoryJobDetailRespData) GetDcuUnitPrice() float64 { +func (x *QueueData) GetQueMaxWalltime() string { if x != nil { - return x.DcuUnitPrice + return x.QueMaxWalltime } - return 0 + return "" } -func (x *HistoryJobDetailRespData) GetEfficiencyCpu() string { +func (x *QueueData) GetQueMaxDcuPN() string { if x != nil { - return x.EfficiencyCpu + return x.QueMaxDcuPN } return "" } -func (x *HistoryJobDetailRespData) GetExclusiveCputime() int64 { - if x != nil { - return x.ExclusiveCputime - } - return 0 +type QueueDetailsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty" copier:"Code"` // @gotags: copier:"Code" //状态码 示例:0 + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" //信息 示例:success + Data []*QueueDetailsData `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty" copier:"Data"` // @gotags: copier:"Data" //队列数组 } -func (x *HistoryJobDetailRespData) GetExclusiveMem() int64 { - if x != nil { - return x.ExclusiveMem +func (x *QueueDetailsResp) Reset() { + *x = QueueDetailsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_hpcAC_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *HistoryJobDetailRespData) GetExclusiveWalltime() int64 { - if x != nil { - return x.ExclusiveWalltime +func (x *QueueDetailsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueueDetailsResp) ProtoMessage() {} + +func (x *QueueDetailsResp) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *HistoryJobDetailRespData) GetGoldenable() string { +// Deprecated: Use QueueDetailsResp.ProtoReflect.Descriptor instead. +func (*QueueDetailsResp) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{43} +} + +func (x *QueueDetailsResp) GetCode() string { if x != nil { - return x.Goldenable + return x.Code } return "" } -func (x *HistoryJobDetailRespData) GetGpuCardHour() string { +func (x *QueueDetailsResp) GetMsg() string { if x != nil { - return x.GpuCardHour + return x.Msg } return "" } -func (x *HistoryJobDetailRespData) GetGpuCardSec() string { +func (x *QueueDetailsResp) GetData() []*QueueDetailsData { if x != nil { - return x.GpuCardSec + return x.Data } - return "" + return nil +} + +type QueueDetailsData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + QueNodes int32 `protobuf:"varint,1,opt,name=queNodes,proto3" json:"queNodes,omitempty" copier:"queNodes"` // @gotags: copier:"queNodes" //队列节点总数 示例:3 + QueMinNodect int32 `protobuf:"varint,2,opt,name=queMinNodect,proto3" json:"queMinNodect,omitempty" copier:"queMinNodect"` // @gotags: copier:"queMinNodect" //队列最小节点数 示例:1 + QueMaxNgpus int32 `protobuf:"varint,3,opt,name=queMaxNgpus,proto3" json:"queMaxNgpus,omitempty" copier:"queMaxNgpus"` // @gotags: copier:"queMaxNgpus" //队列最大GPU卡数 示例:0 + QueMaxPPN int32 `protobuf:"varint,4,opt,name=queMaxPPN,proto3" json:"queMaxPPN,omitempty" copier:"queMaxPPN"` // @gotags: copier:"queMaxPPN" //使用该队列作业最大CPU核心数 示例:4 + QueChargeRate float32 `protobuf:"fixed32,5,opt,name=queChargeRate,proto3" json:"queChargeRate,omitempty" copier:"queChargeRate"` // @gotags: copier:"queChargeRate" //费率 示例:1 + QueMaxNcpus int32 `protobuf:"varint,6,opt,name=queMaxNcpus,proto3" json:"queMaxNcpus,omitempty" copier:"queMaxNcpus"` // @gotags: copier:"queMaxNcpus" //用户最大可用核心数 示例:4 + QueMaxNdcus int32 `protobuf:"varint,7,opt,name=queMaxNdcus,proto3" json:"queMaxNdcus,omitempty" copier:"queMaxNdcus"` // @gotags: copier:"queMaxNdcus" //队列总DCU卡数 示例:0 + QueueName string `protobuf:"bytes,8,opt,name=queueName,proto3" json:"queueName,omitempty" copier:"queueName"` // @gotags: copier:"queueName" //队列名称 示例:debug + QueMinNcpus int32 `protobuf:"varint,9,opt,name=queMinNcpus,proto3" json:"queMinNcpus,omitempty" copier:"queMinNcpus"` // @gotags: copier:"queMinNcpus" //队列最小CPU核数 示例:1 + QueFreeNodes int32 `protobuf:"varint,10,opt,name=queFreeNodes,proto3" json:"queFreeNodes,omitempty" copier:"queFreeNodes"` // @gotags: copier:"queFreeNodes" //队列空闲节点数 示例:1 + QueMaxNodect int32 `protobuf:"varint,11,opt,name=queMaxNodect,proto3" json:"queMaxNodect,omitempty" copier:"queMaxNodect"` // @gotags: copier:"queMaxNodect" //队列作业最大节点数 示例:1 + QueMaxGpuPN int32 `protobuf:"varint,12,opt,name=queMaxGpuPN,proto3" json:"queMaxGpuPN,omitempty" copier:"queMaxGpuPN"` // @gotags: copier:"queMaxGpuPN" //队列单作业最大GPU卡数 示例:0 + QueMaxWalltime int32 `protobuf:"varint,13,opt,name=queMaxWalltime,proto3" json:"queMaxWalltime,omitempty" copier:"queMaxWalltime"` // @gotags: copier:"queMaxWalltime" //队列最大运行时间 示例:unlimit + QueMaxDcuPN int32 `protobuf:"varint,14,opt,name=queMaxDcuPN,proto3" json:"queMaxDcuPN,omitempty" copier:"queMaxDcuPN"` // @gotags: copier:"queMaxDcuPN" //队列单作业最大DCU卡数 示例:0 } -func (x *HistoryJobDetailRespData) GetGpuUnitPrice() float64 { +func (x *QueueDetailsData) Reset() { + *x = QueueDetailsData{} + if protoimpl.UnsafeEnabled { + mi := &file_hpcAC_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueueDetailsData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueueDetailsData) ProtoMessage() {} + +func (x *QueueDetailsData) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[44] + 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 QueueDetailsData.ProtoReflect.Descriptor instead. +func (*QueueDetailsData) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{44} +} + +func (x *QueueDetailsData) GetQueNodes() int32 { if x != nil { - return x.GpuUnitPrice + return x.QueNodes } return 0 } -func (x *HistoryJobDetailRespData) GetGroupName() string { +func (x *QueueDetailsData) GetQueMinNodect() int32 { if x != nil { - return x.GroupName + return x.QueMinNodect } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetHistoryAccount() string { +func (x *QueueDetailsData) GetQueMaxNgpus() int32 { if x != nil { - return x.HistoryAccount + return x.QueMaxNgpus } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetHistoryQueuerate() string { +func (x *QueueDetailsData) GetQueMaxPPN() int32 { if x != nil { - return x.HistoryQueuerate + return x.QueMaxPPN } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetIsSinglejob() string { +func (x *QueueDetailsData) GetQueChargeRate() float32 { if x != nil { - return x.IsSinglejob + return x.QueChargeRate } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetJobCpuTime() int64 { +func (x *QueueDetailsData) GetQueMaxNcpus() int32 { if x != nil { - return x.JobCpuTime + return x.QueMaxNcpus } return 0 } -func (x *HistoryJobDetailRespData) GetJobDcuNum() int64 { +func (x *QueueDetailsData) GetQueMaxNdcus() int32 { if x != nil { - return x.JobDcuNum + return x.QueMaxNdcus } return 0 } -func (x *HistoryJobDetailRespData) GetJobEndTime() string { +func (x *QueueDetailsData) GetQueueName() string { if x != nil { - return x.JobEndTime + return x.QueueName } return "" } -func (x *HistoryJobDetailRespData) GetJobExecGpus() string { +func (x *QueueDetailsData) GetQueMinNcpus() int32 { if x != nil { - return x.JobExecGpus + return x.QueMinNcpus } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetJobExecHost() string { +func (x *QueueDetailsData) GetQueFreeNodes() int32 { if x != nil { - return x.JobExecHost + return x.QueFreeNodes } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetJobExitStatus() int64 { +func (x *QueueDetailsData) GetQueMaxNodect() int32 { if x != nil { - return x.JobExitStatus + return x.QueMaxNodect } return 0 } -func (x *HistoryJobDetailRespData) GetJobGpuNum() int64 { +func (x *QueueDetailsData) GetQueMaxGpuPN() int32 { if x != nil { - return x.JobGpuNum + return x.QueMaxGpuPN } return 0 } -func (x *HistoryJobDetailRespData) GetJobId() string { +func (x *QueueDetailsData) GetQueMaxWalltime() int32 { if x != nil { - return x.JobId + return x.QueMaxWalltime } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetJobMemUsed() int64 { +func (x *QueueDetailsData) GetQueMaxDcuPN() int32 { if x != nil { - return x.JobMemUsed + return x.QueMaxDcuPN } return 0 } -func (x *HistoryJobDetailRespData) GetJobName() string { - if x != nil { - return x.JobName +type UserQuotasLimitResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty" copier:"Code"` // @gotags: copier:"Code" //状态码 示例:0 + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty" copier:"Msg"` // @gotags: copier:"Msg" //信息 示例:success + Data *UserQuotasLimitData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty" copier:"Data"` // @gotags: copier:"Data" //队列数组 +} + +func (x *UserQuotasLimitResp) Reset() { + *x = UserQuotasLimitResp{} + if protoimpl.UnsafeEnabled { + mi := &file_hpcAC_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *HistoryJobDetailRespData) GetJobProcNum() int64 { - if x != nil { - return x.JobProcNum +func (x *UserQuotasLimitResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserQuotasLimitResp) ProtoMessage() {} + +func (x *UserQuotasLimitResp) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) +} + +// Deprecated: Use UserQuotasLimitResp.ProtoReflect.Descriptor instead. +func (*UserQuotasLimitResp) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{45} } -func (x *HistoryJobDetailRespData) GetJobQueueTime() string { +func (x *UserQuotasLimitResp) GetCode() string { if x != nil { - return x.JobQueueTime + return x.Code } return "" } -func (x *HistoryJobDetailRespData) GetJobReqCpu() float64 { +func (x *UserQuotasLimitResp) GetMsg() string { if x != nil { - return x.JobReqCpu + return x.Msg } - return 0 + return "" } -func (x *HistoryJobDetailRespData) GetJobReqDcu() float64 { +func (x *UserQuotasLimitResp) GetData() *UserQuotasLimitData { if x != nil { - return x.JobReqDcu + return x.Data } - return 0 + return nil } -func (x *HistoryJobDetailRespData) GetJobReqGpu() float64 { - if x != nil { - return x.JobReqGpu +type UserQuotasLimitData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty" copier:"userName"` // @gotags: copier:"userName" //用户名称 + AccountName string `protobuf:"bytes,2,opt,name=accountName,proto3" json:"accountName,omitempty" copier:"accountName"` // @gotags: copier:"accountName" //用户所关联的默认的账号名 + UserMaxCpu int64 `protobuf:"varint,3,opt,name=userMaxCpu,proto3" json:"userMaxCpu,omitempty" copier:"userMaxCpu"` // @gotags: copier:"userMaxCpu" //用户最大CPU核数,单位:个,如果未做限制,则值为-1 + UserMaxDcu int64 `protobuf:"varint,4,opt,name=userMaxDcu,proto3" json:"userMaxDcu,omitempty" copier:"userMaxDcu"` // @gotags: copier:"userMaxDcu" //用户最大DCU卡数,单位:个,如果未做限制,则值为-1 + UserMaxGpu int64 `protobuf:"varint,5,opt,name=userMaxGpu,proto3" json:"userMaxGpu,omitempty" copier:"userMaxGpu"` // @gotags: copier:"userMaxGpu" //用户最大GPU卡数,单位:个,如果未做限制,则值为-1 + UserMaxMlu int64 `protobuf:"varint,6,opt,name=userMaxMlu,proto3" json:"userMaxMlu,omitempty" copier:"userMaxMlu"` // @gotags: copier:"userMaxMlu" //用户最大MLU卡数,单位:个,如果未做限制,则值为-1 + UserMaxMem int64 `protobuf:"varint,7,opt,name=userMaxMem,proto3" json:"userMaxMem,omitempty" copier:"userMaxMem"` // @gotags: copier:"userMaxMem" //用户最大内存,单位:m,如果未做限制,则值为-1 + UserMaxNode int64 `protobuf:"varint,8,opt,name=userMaxNode,proto3" json:"userMaxNode,omitempty" copier:"userMaxNode"` // @gotags: copier:"userMaxNode" //用户最大节点数,单位:个,如果未做限制,则值为-1 + UserMaxSubmitJob int64 `protobuf:"varint,9,opt,name=userMaxSubmitJob,proto3" json:"userMaxSubmitJob,omitempty" copier:"userMaxSubmitJob"` // @gotags: copier:"userMaxSubmitJob" //用户最大提交作业数,单位:个,如果未做限制,则值为-1 + UserMaxRunJob int64 `protobuf:"varint,10,opt,name=userMaxRunJob,proto3" json:"userMaxRunJob,omitempty" copier:"userMaxRunJob"` // @gotags: copier:"userMaxRunJob" //用户最大运行作业数,单位:个,如果未做限制,则值为-1 + AccountMaxCpu int64 `protobuf:"varint,11,opt,name=accountMaxCpu,proto3" json:"accountMaxCpu,omitempty" copier:"accountMaxCpu"` // @gotags: copier:"accountMaxCpu" //账户最大CPU核数,单位:个,如果未做限制,则值为-1 + AccountMaxDcu int64 `protobuf:"varint,12,opt,name=accountMaxDcu,proto3" json:"accountMaxDcu,omitempty" copier:"accountMaxDcu"` // @gotags: copier:"accountMaxDcu" //账户最大DCU卡数,单位:个,如果未做限制,则值为-1 + AccountMaxGpu int64 `protobuf:"varint,13,opt,name=accountMaxGpu,proto3" json:"accountMaxGpu,omitempty" copier:"accountMaxGpu"` // @gotags: copier:"accountMaxGpu" //账户最大GPU卡数,单位:个,如果未做限制,则值为-1 + AccountMaxMlu int64 `protobuf:"varint,14,opt,name=accountMaxMlu,proto3" json:"accountMaxMlu,omitempty" copier:"accountMaxMlu"` // @gotags: copier:"accountMaxMlu" //账户最大MLU卡数,单位:个,如果未做限制,则值为-1 + AccountMaxMem int64 `protobuf:"varint,15,opt,name=accountMaxMem,proto3" json:"accountMaxMem,omitempty" copier:"accountMaxMem"` // @gotags: copier:"accountMaxMem" //账户最大内存,单位:m,如果未做限制,则值为-1 + AccountMaxNode int64 `protobuf:"varint,16,opt,name=accountMaxNode,proto3" json:"accountMaxNode,omitempty" copier:"accountMaxNode"` // @gotags: copier:"accountMaxNode" //账户最大节点数,单位:个,如果未做限制,则值为-1 + AccountMaxSubmitJob int64 `protobuf:"varint,17,opt,name=accountMaxSubmitJob,proto3" json:"accountMaxSubmitJob,omitempty" copier:"accountMaxSubmitJob"` // @gotags: copier:"accountMaxSubmitJob" //账户最大提交作业数,单位:个,如果未做限制,则值为-1 + AccountMaxRunJob int64 `protobuf:"varint,18,opt,name=accountMaxRunJob,proto3" json:"accountMaxRunJob,omitempty" copier:"accountMaxRunJob"` // @gotags: copier:"accountMaxRunJob" //账户最大运行作业数,单位:个,如果未做限制,则值为-1 + UserMinCpu int64 `protobuf:"varint,19,opt,name=userMinCpu,proto3" json:"userMinCpu,omitempty" copier:"userMinCpu"` // @gotags: copier:"userMinCpu" //用户最小CPU核数,单位:个,如果未做限制,则值为-1 + UserMinNode int64 `protobuf:"varint,20,opt,name=userMinNode,proto3" json:"userMinNode,omitempty" copier:"userMinNode"` // @gotags: copier:"userMinNode" //用户最小节点数,单位:个,如果未做限制,则值为-1 + MaxWallTime int64 `protobuf:"varint,21,opt,name=maxWallTime,proto3" json:"maxWallTime,omitempty" copier:"maxWallTime"` // @gotags: copier:"maxWallTime" //用户关联的glod账号的机时,机时单位:s,如果未做限制,则值为-1 +} + +func (x *UserQuotasLimitData) Reset() { + *x = UserQuotasLimitData{} + if protoimpl.UnsafeEnabled { + mi := &file_hpcAC_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *HistoryJobDetailRespData) GetJobReqMem() string { - if x != nil { - return x.JobReqMem +func (x *UserQuotasLimitData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserQuotasLimitData) ProtoMessage() {} + +func (x *UserQuotasLimitData) ProtoReflect() protoreflect.Message { + mi := &file_hpcAC_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) +} + +// Deprecated: Use UserQuotasLimitData.ProtoReflect.Descriptor instead. +func (*UserQuotasLimitData) Descriptor() ([]byte, []int) { + return file_hpcAC_proto_rawDescGZIP(), []int{46} } -func (x *HistoryJobDetailRespData) GetJobReqNodes() float64 { +func (x *UserQuotasLimitData) GetUserName() string { if x != nil { - return x.JobReqNodes + return x.UserName } - return 0 + return "" } -func (x *HistoryJobDetailRespData) GetJobResponseTime() int64 { +func (x *UserQuotasLimitData) GetAccountName() string { if x != nil { - return x.JobResponseTime + return x.AccountName } - return 0 + return "" } -func (x *HistoryJobDetailRespData) GetJobStartTime() string { +func (x *UserQuotasLimitData) GetUserMaxCpu() int64 { if x != nil { - return x.JobStartTime + return x.UserMaxCpu } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetJobState() string { +func (x *UserQuotasLimitData) GetUserMaxDcu() int64 { if x != nil { - return x.JobState + return x.UserMaxDcu } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetJobVmemUsed() int64 { +func (x *UserQuotasLimitData) GetUserMaxGpu() int64 { if x != nil { - return x.JobVmemUsed + return x.UserMaxGpu } return 0 } -func (x *HistoryJobDetailRespData) GetJobWaitTime() int64 { +func (x *UserQuotasLimitData) GetUserMaxMlu() int64 { if x != nil { - return x.JobWaitTime + return x.UserMaxMlu } return 0 } -func (x *HistoryJobDetailRespData) GetJobWalltimeUsed() int64 { +func (x *UserQuotasLimitData) GetUserMaxMem() int64 { if x != nil { - return x.JobWalltimeUsed + return x.UserMaxMem } return 0 } -func (x *HistoryJobDetailRespData) GetJobmanagerId() int64 { +func (x *UserQuotasLimitData) GetUserMaxNode() int64 { if x != nil { - return x.JobmanagerId + return x.UserMaxNode } return 0 } -func (x *HistoryJobDetailRespData) GetJobmanagerName() string { +func (x *UserQuotasLimitData) GetUserMaxSubmitJob() int64 { if x != nil { - return x.JobmanagerName + return x.UserMaxSubmitJob } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetNeedNodes() string { +func (x *UserQuotasLimitData) GetUserMaxRunJob() int64 { if x != nil { - return x.NeedNodes + return x.UserMaxRunJob } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetNodect() int64 { +func (x *UserQuotasLimitData) GetAccountMaxCpu() int64 { if x != nil { - return x.Nodect + return x.AccountMaxCpu } return 0 } -func (x *HistoryJobDetailRespData) GetOwner() string { +func (x *UserQuotasLimitData) GetAccountMaxDcu() int64 { if x != nil { - return x.Owner + return x.AccountMaxDcu } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetQueue() string { +func (x *UserQuotasLimitData) GetAccountMaxGpu() int64 { if x != nil { - return x.Queue + return x.AccountMaxGpu } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetScale() string { +func (x *UserQuotasLimitData) GetAccountMaxMlu() int64 { if x != nil { - return x.Scale + return x.AccountMaxMlu } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetShareCputime() int64 { +func (x *UserQuotasLimitData) GetAccountMaxMem() int64 { if x != nil { - return x.ShareCputime + return x.AccountMaxMem } return 0 } -func (x *HistoryJobDetailRespData) GetShareMem() int64 { +func (x *UserQuotasLimitData) GetAccountMaxNode() int64 { if x != nil { - return x.ShareMem + return x.AccountMaxNode } return 0 } -func (x *HistoryJobDetailRespData) GetShareWalltime() int64 { +func (x *UserQuotasLimitData) GetAccountMaxSubmitJob() int64 { if x != nil { - return x.ShareWalltime + return x.AccountMaxSubmitJob } return 0 } -func (x *HistoryJobDetailRespData) GetStartCount() string { +func (x *UserQuotasLimitData) GetAccountMaxRunJob() int64 { if x != nil { - return x.StartCount + return x.AccountMaxRunJob } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetUserName() string { +func (x *UserQuotasLimitData) GetUserMinCpu() int64 { if x != nil { - return x.UserName + return x.UserMinCpu } - return "" + return 0 } -func (x *HistoryJobDetailRespData) GetWalltime() int64 { +func (x *UserQuotasLimitData) GetUserMinNode() int64 { if x != nil { - return x.Walltime + return x.UserMinNode } return 0 } -func (x *HistoryJobDetailRespData) GetWorkdir() string { +func (x *UserQuotasLimitData) GetMaxWallTime() int64 { if x != nil { - return x.Workdir + return x.MaxWallTime } - return "" + return 0 } var File_hpcAC_proto protoreflect.FileDescriptor @@ -4864,844 +4872,846 @@ var file_hpcAC_proto_rawDesc = []byte{ 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x22, 0x70, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, + 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x22, 0x61, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x12, 0x34, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, - 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x0b, 0x6a, 0x6f, 0x62, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x22, 0xcf, 0x0d, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, - 0x49, 0x6e, 0x69, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x72, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x72, 0x75, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x5f, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, - 0x6f, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x73, - 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x70, 0x75, - 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, - 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x12, 0x1b, - 0x0a, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x64, - 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, - 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x61, 0x79, - 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, - 0x61, 0x79, 0x42, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x65, - 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, - 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, - 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x5f, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, - 0x78, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, - 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, - 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x15, - 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x63, 0x73, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x63, - 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, - 0x75, 0x73, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, - 0x69, 0x6e, 0x43, 0x70, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x69, - 0x6e, 0x5f, 0x74, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, - 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x54, 0x6d, 0x70, 0x44, 0x69, 0x73, - 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, - 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6e, - 0x62, 0x73, 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x74, 0x61, 0x73, 0x6b, - 0x73, 0x50, 0x65, 0x72, 0x4e, 0x62, 0x73, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, - 0x63, 0x70, 0x75, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x43, - 0x70, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, - 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x21, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, - 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x24, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x6f, 0x73, 0x18, 0x26, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x71, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x62, 0x73, - 0x63, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x71, 0x42, 0x73, 0x63, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x52, 0x65, 0x71, 0x4e, 0x6f, 0x64, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x2b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x68, 0x6f, - 0x73, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x48, - 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x5f, - 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, - 0x65, 0x63, 0x73, 0x50, 0x72, 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, - 0x74, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x64, 0x45, 0x72, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x5f, 0x69, 0x6e, 0x18, 0x33, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x64, 0x49, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x73, - 0x74, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x64, 0x4f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x73, - 0x70, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x73, - 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x72, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x3b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x22, 0xfb, 0x06, 0x0a, 0x11, 0x4a, - 0x6f, 0x62, 0x56, 0x6e, 0x63, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x5f, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x64, 0x65, - 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x50, 0x69, 0x78, 0x65, - 0x6c, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x69, - 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x73, - 0x73, 0x77, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x45, 0x78, 0x74, 0x72, 0x61, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, - 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x5f, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, - 0x79, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x64, - 0x64, 0x72, 0x12, 0x2b, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, - 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x29, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, - 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x72, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, - 0x74, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, - 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, - 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, - 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x43, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x5f, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, - 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, - 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x5f, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, - 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x19, 0x0a, - 0x08, 0x76, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x6e, 0x63, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x93, 0x09, 0x0a, 0x09, 0x4a, 0x6f, 0x62, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x65, 0x5f, 0x72, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x65, 0x52, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, - 0x65, 0x5f, 0x76, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x61, 0x76, 0x65, 0x56, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x70, - 0x75, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x63, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1e, - 0x0a, 0x0b, 0x64, 0x63, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x20, - 0x0a, 0x0c, 0x64, 0x63, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, - 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0b, - 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x67, 0x70, 0x75, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, - 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x70, 0x75, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x20, - 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x6e, 0x69, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x41, 0x74, - 0x74, 0x72, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, - 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6a, 0x6f, - 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, - 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x53, - 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x10, 0x6a, 0x6f, 0x62, - 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x56, - 0x6e, 0x63, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x6a, - 0x6f, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, - 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, - 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, - 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x5f, 0x75, - 0x73, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x55, 0x73, - 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, - 0x65, 0x71, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x75, - 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x73, 0x65, - 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x73, 0x65, - 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, - 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x1b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x20, - 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x1c, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, - 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, - 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x4e, 0x75, 0x6d, - 0x55, 0x73, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x1e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, - 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, - 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, - 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, - 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x22, 0x25, - 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x15, - 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, - 0x2f, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x22, 0x37, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x12, 0x27, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x4a, - 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x22, 0xaa, 0x01, 0x0a, 0x0d, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x91, 0x04, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, - 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, - 0x64, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x6e, - 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, - 0x72, 0x6f, 0x63, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, - 0x62, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x20, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, - 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, - 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, - 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x4c, 0x69, - 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x22, 0x76, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, - 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x21, 0x0a, - 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x1e, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, - 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x6a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, - 0x22, 0x85, 0x04, 0x0a, 0x0a, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x12, - 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, - 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, - 0x5f, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x26, 0x0a, - 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x69, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x6a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, + 0x73, 0x67, 0x12, 0x25, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xcf, 0x0d, 0x0a, 0x0b, 0x4a, 0x6f, + 0x62, 0x49, 0x6e, 0x69, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x72, 0x75, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x72, 0x75, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x5f, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, + 0x6c, 0x6f, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, + 0x73, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x70, + 0x75, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x65, 0x78, 0x69, 0x73, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x61, + 0x79, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6c, 0x69, 0x67, 0x69, + 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x5f, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x65, 0x78, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, + 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x63, + 0x73, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x63, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x63, + 0x70, 0x75, 0x73, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x6d, + 0x69, 0x6e, 0x5f, 0x74, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x54, 0x6d, 0x70, 0x44, 0x69, + 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, + 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, + 0x6e, 0x62, 0x73, 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x74, 0x61, 0x73, + 0x6b, 0x73, 0x50, 0x65, 0x72, 0x4e, 0x62, 0x73, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, + 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x75, 0x6d, + 0x43, 0x70, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x21, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x25, + 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x24, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x6f, 0x73, 0x18, 0x26, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x71, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x62, + 0x73, 0x63, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x71, 0x42, 0x73, + 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x52, 0x65, 0x71, 0x4e, 0x6f, 0x64, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, + 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x48, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x65, + 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x73, 0x65, 0x63, 0x73, 0x50, 0x72, 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x30, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, + 0x73, 0x74, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x64, 0x45, 0x72, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x5f, 0x69, 0x6e, 0x18, + 0x33, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x64, 0x49, 0x6e, 0x12, 0x17, 0x0a, 0x07, + 0x73, 0x74, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x64, 0x4f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, + 0x73, 0x70, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x72, 0x65, + 0x73, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x72, 0x65, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x3b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x22, 0xfb, 0x06, 0x0a, 0x11, + 0x4a, 0x6f, 0x62, 0x56, 0x6e, 0x63, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, + 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x64, + 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x50, 0x69, 0x78, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x5f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, + 0x69, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x73, + 0x74, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x5f, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, + 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, + 0x64, 0x64, 0x72, 0x12, 0x2b, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x29, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, + 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, + 0x72, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, + 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x41, 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, + 0x74, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, + 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x43, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x5f, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, + 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x5f, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, + 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x19, + 0x0a, 0x08, 0x76, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x6e, 0x63, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x93, 0x09, 0x0a, 0x09, 0x4a, 0x6f, + 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x65, 0x5f, 0x72, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x65, 0x52, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x61, + 0x76, 0x65, 0x5f, 0x76, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x76, 0x65, 0x56, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x63, + 0x70, 0x75, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x63, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, + 0x1e, 0x0a, 0x0b, 0x64, 0x63, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x12, + 0x20, 0x0a, 0x0c, 0x64, 0x63, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, + 0x0b, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x67, 0x70, 0x75, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, + 0x0c, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x70, 0x75, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, + 0x20, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x41, + 0x74, 0x74, 0x72, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x41, 0x74, 0x74, 0x72, + 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6a, + 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x2a, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6a, 0x6f, 0x62, - 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, - 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x74, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x64, 0x69, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x64, 0x69, 0x72, 0x22, 0xc3, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, - 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2e, - 0x0a, 0x12, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x69, 0x73, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x42, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x93, - 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6a, 0x6f, 0x62, + 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x10, 0x6a, 0x6f, + 0x62, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, + 0x56, 0x6e, 0x63, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, + 0x6a, 0x6f, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, + 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x55, + 0x73, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, + 0x72, 0x65, 0x71, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4e, + 0x75, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x73, + 0x65, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x73, + 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, + 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x4e, 0x75, 0x6d, 0x52, 0x65, + 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, + 0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x4e, 0x75, + 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, + 0x71, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, + 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x22, + 0x25, 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, + 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x12, 0x24, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x37, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, + 0x62, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x22, + 0xa2, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x44, + 0x61, 0x74, 0x61, 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, 0x91, 0x04, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x06, + 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, + 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, + 0x55, 0x73, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, + 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x72, 0x6f, + 0x63, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, + 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, + 0x08, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x22, 0x76, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, - 0x0a, 0x0c, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x68, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x0b, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x4a, 0x6f, 0x62, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x72, - 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x49, 0x44, 0x12, 0x3a, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x68, 0x70, 0x63, - 0x41, 0x43, 0x2e, 0x4d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0x49, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xeb, 0x04, 0x0a, 0x0d, 0x4d, - 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, - 0x47, 0x41, 0x50, 0x5f, 0x43, 0x4d, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x43, 0x4d, 0x44, 0x46, 0x49, 0x4c, 0x45, 0x12, 0x1b, - 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x4e, 0x4f, 0x44, 0x45, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x4e, 0x4e, 0x4f, 0x44, 0x45, 0x12, 0x26, 0x0a, 0x0f, 0x47, - 0x41, 0x50, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x4e, 0x4f, 0x44, 0x45, 0x53, 0x54, 0x52, - 0x49, 0x4e, 0x47, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, - 0x50, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x59, 0x50, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, - 0x41, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x20, 0x0a, - 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x52, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x57, 0x4f, 0x52, 0x4b, 0x44, 0x49, 0x52, 0x12, - 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x51, 0x55, 0x45, 0x55, 0x45, 0x12, 0x1b, 0x0a, 0x09, - 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x47, 0x41, 0x50, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x12, 0x17, 0x0a, 0x07, 0x47, 0x41, 0x50, - 0x5f, 0x50, 0x50, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, 0x41, 0x50, 0x50, - 0x50, 0x4e, 0x12, 0x19, 0x0a, 0x08, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x47, 0x50, 0x55, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x41, 0x50, 0x4e, 0x47, 0x50, 0x55, 0x12, 0x19, 0x0a, - 0x08, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x44, 0x43, 0x55, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x47, 0x41, 0x50, 0x4e, 0x44, 0x43, 0x55, 0x12, 0x1e, 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, - 0x4a, 0x4f, 0x42, 0x5f, 0x4d, 0x45, 0x4d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, - 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4d, 0x45, 0x4d, 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, - 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x47, 0x41, 0x50, 0x57, 0x41, 0x4c, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x12, 0x23, 0x0a, 0x0d, - 0x47, 0x41, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x47, 0x41, 0x50, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, - 0x45, 0x12, 0x1f, 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x41, 0x50, 0x50, 0x4e, 0x41, - 0x4d, 0x45, 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, - 0x53, 0x55, 0x42, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x41, 0x50, 0x4d, 0x55, - 0x4c, 0x54, 0x49, 0x53, 0x55, 0x42, 0x12, 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, - 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x46, 0x49, 0x4c, 0x45, 0x12, - 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x46, - 0x49, 0x4c, 0x45, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, - 0x44, 0x45, 0x52, 0x52, 0x46, 0x49, 0x4c, 0x45, 0x22, 0x2e, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x61, - 0x53, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, - 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x61, - 0x53, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6f, 0x0a, 0x09, 0x51, 0x75, 0x6f, - 0x74, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, - 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, 0x29, 0x0a, 0x0b, 0x57, 0x61, - 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x48, 0x0a, 0x0c, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0x2a, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x0d, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x12, 0x20, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0c, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x42, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x25, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x52, - 0x65, 0x71, 0x22, 0x57, 0x0a, 0x0b, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x43, 0x70, - 0x75, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2b, 0x0a, 0x07, 0x43, - 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x22, 0x25, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x73, - 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, - 0x54, 0x0a, 0x08, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, + 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, + 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x68, + 0x70, 0x63, 0x41, 0x43, 0x2e, 0x6a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x85, + 0x04, 0x0a, 0x0a, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x1b, 0x0a, + 0x09, 0x61, 0x63, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, + 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, + 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, + 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x65, + 0x78, 0x65, 0x63, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6a, + 0x6f, 0x62, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x69, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, + 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, + 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, + 0x6f, 0x62, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6a, + 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, + 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, + 0x73, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6a, 0x6f, 0x62, 0x57, 0x61, + 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, + 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x77, 0x6f, 0x72, 0x6b, 0x64, 0x69, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, + 0x6f, 0x72, 0x6b, 0x64, 0x69, 0x72, 0x22, 0xc3, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, + 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x93, 0x01, 0x0a, + 0x12, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x0c, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x68, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x0b, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, + 0x62, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, + 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, + 0x44, 0x12, 0x3a, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, + 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, + 0x2e, 0x4d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, + 0x6d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x49, 0x0a, + 0x0d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xeb, 0x04, 0x0a, 0x0d, 0x4d, 0x61, 0x70, + 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, + 0x50, 0x5f, 0x43, 0x4d, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x47, 0x41, 0x50, 0x43, 0x4d, 0x44, 0x46, 0x49, 0x4c, 0x45, 0x12, 0x1b, 0x0a, 0x09, + 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x4e, 0x4f, 0x44, 0x45, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x47, 0x41, 0x50, 0x4e, 0x4e, 0x4f, 0x44, 0x45, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, + 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x4e, 0x4f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x49, 0x4e, + 0x47, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, + 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x59, 0x50, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, + 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x47, 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, + 0x41, 0x50, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x52, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x57, 0x4f, 0x52, 0x4b, 0x44, 0x49, 0x52, 0x12, 0x1b, 0x0a, + 0x09, 0x47, 0x41, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x47, 0x41, 0x50, 0x51, 0x55, 0x45, 0x55, 0x45, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, + 0x50, 0x5f, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, + 0x41, 0x50, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x12, 0x17, 0x0a, 0x07, 0x47, 0x41, 0x50, 0x5f, 0x50, + 0x50, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, 0x41, 0x50, 0x50, 0x50, 0x4e, + 0x12, 0x19, 0x0a, 0x08, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x47, 0x50, 0x55, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x47, 0x41, 0x50, 0x4e, 0x47, 0x50, 0x55, 0x12, 0x19, 0x0a, 0x08, 0x47, + 0x41, 0x50, 0x5f, 0x4e, 0x44, 0x43, 0x55, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, + 0x41, 0x50, 0x4e, 0x44, 0x43, 0x55, 0x12, 0x1e, 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x4a, 0x4f, + 0x42, 0x5f, 0x4d, 0x45, 0x4d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x41, 0x50, + 0x4a, 0x4f, 0x42, 0x4d, 0x45, 0x4d, 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x57, 0x41, + 0x4c, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x47, + 0x41, 0x50, 0x57, 0x41, 0x4c, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x12, 0x23, 0x0a, 0x0d, 0x47, 0x41, + 0x50, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x47, 0x41, 0x50, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x12, + 0x1f, 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, + 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x53, 0x55, + 0x42, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x41, 0x50, 0x4d, 0x55, 0x4c, 0x54, + 0x49, 0x53, 0x55, 0x42, 0x12, 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, 0x5f, + 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x46, 0x49, 0x4c, 0x45, 0x12, 0x27, 0x0a, + 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x46, 0x49, 0x4c, + 0x45, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x45, + 0x52, 0x52, 0x46, 0x49, 0x4c, 0x45, 0x22, 0x2e, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, - 0x67, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x72, 0x65, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2b, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x72, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x01, 0x79, 0x22, 0x6b, 0x0a, 0x13, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6a, 0x6f, 0x62, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, - 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, - 0xd7, 0x0f, 0x0a, 0x14, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0x98, - 0x0f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x63, - 0x70, 0x75, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x70, 0x75, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x48, - 0x6f, 0x75, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x70, 0x75, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x61, - 0x72, 0x53, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x70, 0x75, 0x4e, - 0x75, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x70, 0x75, - 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x0c, 0x63, 0x70, 0x75, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x63, 0x75, 0x43, 0x61, 0x72, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x63, 0x75, 0x43, 0x61, 0x72, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x64, 0x63, 0x75, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x63, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x63, 0x75, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x63, 0x12, - 0x22, 0x0a, 0x0c, 0x64, 0x63, 0x75, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x64, 0x63, 0x75, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, - 0x79, 0x43, 0x70, 0x75, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x69, - 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x70, 0x75, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x43, 0x70, 0x75, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x43, 0x70, - 0x75, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x57, - 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x6f, 0x6c, - 0x64, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x70, 0x75, 0x43, 0x61, - 0x72, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x70, - 0x75, 0x43, 0x61, 0x72, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x70, 0x75, - 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, - 0x70, 0x75, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x70, 0x75, - 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x0c, 0x67, 0x70, 0x75, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x68, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x68, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x6a, 0x6f, 0x62, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x6a, 0x6f, - 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x43, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x43, 0x70, 0x75, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x44, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x44, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x12, - 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x47, 0x70, 0x75, 0x73, 0x18, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x47, 0x70, 0x75, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x48, 0x6f, 0x73, 0x74, - 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x48, - 0x6f, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x69, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x45, - 0x78, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, - 0x47, 0x70, 0x75, 0x4e, 0x75, 0x6d, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6a, 0x6f, - 0x62, 0x47, 0x70, 0x75, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x6a, 0x6f, 0x62, 0x4d, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x4d, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x50, 0x72, - 0x6f, 0x63, 0x4e, 0x75, 0x6d, 0x18, 0x21, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6a, 0x6f, 0x62, - 0x50, 0x72, 0x6f, 0x63, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, - 0x6f, 0x62, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x43, 0x70, 0x75, 0x18, 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, - 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x43, 0x70, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x44, 0x63, 0x75, 0x18, 0x24, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6a, 0x6f, - 0x62, 0x52, 0x65, 0x71, 0x44, 0x63, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, - 0x71, 0x47, 0x70, 0x75, 0x18, 0x25, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x52, - 0x65, 0x71, 0x47, 0x70, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x4d, - 0x65, 0x6d, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x4d, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, - 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x56, 0x6d, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x18, 0x2b, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x56, 0x6d, 0x65, 0x6d, 0x55, 0x73, 0x65, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x2c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x57, 0x61, 0x69, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, - 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6a, 0x6f, - 0x62, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x22, 0x0a, - 0x0c, 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x18, 0x2e, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, - 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x63, - 0x74, 0x18, 0x31, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x33, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x70, 0x75, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x70, - 0x75, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x65, - 0x6d, 0x18, 0x36, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x65, - 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x57, - 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x3a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x64, 0x69, 0x72, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x64, 0x69, 0x72, 0x22, 0x60, 0x0a, 0x0f, 0x46, 0x69, 0x6c, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, + 0x67, 0x12, 0x24, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6f, 0x0a, 0x09, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, 0x29, 0x0a, 0x0b, 0x57, 0x61, 0x6c, 0x6c, + 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x48, 0x0a, 0x0c, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2a, 0x0a, + 0x0c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x0d, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, + 0x12, 0x20, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x42, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x25, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0d, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, + 0x22, 0x57, 0x0a, 0x0b, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x43, 0x70, 0x75, 0x43, + 0x6f, 0x72, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2b, 0x0a, 0x07, 0x43, 0x70, 0x75, + 0x43, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x22, 0x25, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x54, 0x0a, + 0x08, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, + 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x2b, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, + 0x22, 0x6b, 0x0a, 0x13, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, + 0x0c, 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x0f, + 0x0a, 0x10, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x70, 0x75, 0x4e, 0x75, 0x63, + 0x6c, 0x65, 0x61, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x63, 0x70, 0x75, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x12, 0x24, + 0x0a, 0x0d, 0x63, 0x70, 0x75, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x65, 0x63, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x70, 0x75, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x61, + 0x72, 0x53, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x70, 0x75, 0x55, 0x6e, 0x69, 0x74, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x63, 0x70, 0x75, 0x55, + 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x63, 0x75, 0x43, + 0x61, 0x72, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x63, 0x75, 0x43, 0x61, 0x72, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x63, + 0x75, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x63, 0x75, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x63, + 0x75, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x0c, 0x64, 0x63, 0x75, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x24, + 0x0a, 0x0d, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x70, 0x75, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, + 0x79, 0x43, 0x70, 0x75, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x43, 0x70, 0x75, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x43, 0x70, 0x75, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x6d, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x4d, 0x65, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x70, 0x75, 0x43, 0x61, 0x72, 0x64, 0x48, 0x6f, 0x75, + 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x70, 0x75, 0x43, 0x61, 0x72, 0x64, + 0x48, 0x6f, 0x75, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x70, 0x75, 0x43, 0x61, 0x72, 0x64, 0x53, + 0x65, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x70, 0x75, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x70, 0x75, 0x55, 0x6e, 0x69, 0x74, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x67, 0x70, 0x75, 0x55, + 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, + 0x0a, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, + 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x6a, 0x6f, 0x62, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x69, 0x73, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x6a, 0x6f, 0x62, 0x12, 0x1e, 0x0a, 0x0a, + 0x6a, 0x6f, 0x62, 0x43, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x43, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6a, 0x6f, 0x62, 0x44, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x6a, 0x6f, 0x62, 0x44, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, + 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6a, 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6a, 0x6f, + 0x62, 0x45, 0x78, 0x65, 0x63, 0x47, 0x70, 0x75, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x47, 0x70, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, + 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x24, + 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x69, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x47, 0x70, 0x75, 0x4e, 0x75, + 0x6d, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x47, 0x70, 0x75, 0x4e, + 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x4d, + 0x65, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6a, 0x6f, + 0x62, 0x4d, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6a, 0x6f, 0x62, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x63, 0x4e, 0x75, 0x6d, + 0x18, 0x21, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x63, 0x4e, + 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, + 0x43, 0x70, 0x75, 0x18, 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, + 0x71, 0x43, 0x70, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x44, 0x63, + 0x75, 0x18, 0x24, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x44, + 0x63, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x47, 0x70, 0x75, 0x18, + 0x25, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x47, 0x70, 0x75, + 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x4d, 0x65, 0x6d, 0x18, 0x26, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x4d, 0x65, 0x6d, 0x12, 0x20, + 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x27, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x12, 0x28, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6a, 0x6f, 0x62, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x6f, + 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6a, 0x6f, + 0x62, 0x56, 0x6d, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0b, 0x6a, 0x6f, 0x62, 0x56, 0x6d, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x6a, 0x6f, 0x62, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, + 0x64, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6a, 0x6f, 0x62, 0x57, 0x61, 0x6c, 0x6c, + 0x74, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, + 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, + 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x2f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x31, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, + 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x70, 0x75, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x35, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x70, 0x75, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x65, 0x6d, 0x18, 0x36, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x37, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x39, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x6f, + 0x72, 0x6b, 0x64, 0x69, 0x72, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, + 0x6b, 0x64, 0x69, 0x72, 0x22, 0x69, 0x0a, 0x14, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, + 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x89, 0x01, 0x0a, 0x0b, - 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x68, - 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, - 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x72, 0x50, 0x61, - 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x72, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x75, - 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x4c, - 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, - 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x48, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, - 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x22, 0x57, 0x0a, 0x09, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x24, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x68, 0x70, - 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0xa9, 0x04, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, - 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, + 0x73, 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x60, 0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x46, + 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x89, 0x01, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x69, 0x72, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x64, 0x69, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x72, 0x6f, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, + 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, + 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x11, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, + 0x72, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, + 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x48, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, + 0x22, 0x57, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa9, 0x04, 0x0a, 0x09, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x6c, 0x48, 0x6f, + 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x6c, 0x48, 0x6f, + 0x73, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, + 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, + 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, + 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, + 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, + 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, + 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, + 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, + 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, + 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x65, + 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, + 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x12, 0x26, 0x0a, 0x0e, 0x71, + 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x74, + 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, + 0x50, 0x4e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, + 0x44, 0x63, 0x75, 0x50, 0x4e, 0x22, 0x65, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf0, 0x03, 0x0a, + 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, - 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, + 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, - 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, + 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, - 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, - 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, - 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, + 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, + 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, - 0x50, 0x4e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, + 0x50, 0x4e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x12, 0x26, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, - 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71, + 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x22, - 0x65, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf0, 0x03, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x71, - 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x71, - 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, - 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x71, - 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, - 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x12, 0x1c, 0x0a, - 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x71, - 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, - 0x70, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, - 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, - 0x4e, 0x64, 0x63, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, - 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, - 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x71, 0x75, 0x65, - 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, - 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x12, - 0x26, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, - 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, - 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, - 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x22, 0x6b, 0x0a, 0x13, 0x55, 0x73, 0x65, - 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8f, 0x06, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x51, - 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, - 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x12, 0x1e, 0x0a, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x12, 0x1e, 0x0a, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x12, 0x1e, 0x0a, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, 0x12, 0x1e, 0x0a, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, - 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2a, - 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, - 0x6f, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, - 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, - 0x65, 0x72, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, 0x6f, 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, 0x6f, 0x62, - 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x70, - 0x75, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x12, 0x24, 0x0a, 0x0d, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x47, - 0x70, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, - 0x4d, 0x6c, 0x75, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x12, 0x26, - 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, - 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x53, - 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, 0x6f, 0x62, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x52, 0x75, - 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x43, - 0x70, 0x75, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x69, - 0x6e, 0x43, 0x70, 0x75, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x4e, - 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, - 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x6c, - 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x78, - 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x32, 0xc1, 0x07, 0x0a, 0x05, 0x68, 0x70, 0x63, - 0x41, 0x43, 0x12, 0x30, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x11, 0x2e, - 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x1a, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x18, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x1a, 0x19, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x53, - 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, - 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, - 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, - 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x68, 0x70, - 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, - 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x68, 0x70, - 0x63, 0x41, 0x43, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, - 0x62, 0x12, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0b, - 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x2e, 0x68, 0x70, - 0x63, 0x41, 0x43, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, - 0x16, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x11, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0f, 0x2e, 0x68, - 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, - 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x3d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0f, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, - 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x0f, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x51, - 0x75, 0x6f, 0x74, 0x61, 0x12, 0x17, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x50, 0x61, 0x72, - 0x61, 0x53, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, - 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x51, 0x75, - 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x08, 0x57, 0x61, 0x6c, 0x6c, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x57, 0x61, 0x6c, 0x6c, - 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, - 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, - 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x14, - 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x07, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x12, - 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x52, - 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x43, 0x70, 0x75, 0x43, 0x6f, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x0e, - 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0f, - 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x4b, 0x0a, 0x10, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, - 0x1b, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, - 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x42, 0x08, 0x5a, 0x06, - 0x2f, 0x68, 0x70, 0x63, 0x41, 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x22, + 0x6b, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2e, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x70, 0x63, + 0x41, 0x43, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8f, 0x06, 0x0a, + 0x13, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, + 0x70, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x44, + 0x63, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x47, + 0x70, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, + 0x6c, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, + 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, + 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x53, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, + 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, + 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, 0x6f, + 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, + 0x52, 0x75, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x12, 0x24, 0x0a, 0x0d, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x44, + 0x63, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, + 0x47, 0x70, 0x75, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, 0x12, 0x24, + 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, + 0x78, 0x4d, 0x65, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, + 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x13, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x4a, 0x6f, 0x62, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2a, + 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, + 0x6f, 0x62, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, + 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, + 0x75, 0x73, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x73, + 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x6d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x32, 0xc1, + 0x07, 0x0a, 0x05, 0x68, 0x70, 0x63, 0x41, 0x43, 0x12, 0x30, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, + 0x4a, 0x6f, 0x62, 0x12, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0e, 0x4c, 0x69, + 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x18, 0x2e, 0x68, + 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x36, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x13, + 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, + 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x53, 0x75, 0x62, 0x6d, + 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0e, 0x4c, 0x69, 0x73, + 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x68, 0x70, + 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x1a, 0x19, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, + 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0c, + 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x13, 0x2e, 0x68, + 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x71, 0x1a, 0x17, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x68, + 0x70, 0x63, 0x41, 0x43, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x46, 0x69, + 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, + 0x11, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x42, 0x79, 0x55, 0x73, + 0x65, 0x72, 0x12, 0x0f, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, + 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x51, 0x75, + 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0f, 0x2e, 0x68, 0x70, 0x63, + 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x68, 0x70, + 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x0f, 0x2e, 0x68, + 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, + 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0d, 0x50, 0x61, 0x72, + 0x61, 0x53, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x17, 0x2e, 0x68, 0x70, 0x63, + 0x41, 0x43, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x50, 0x61, 0x72, 0x61, + 0x53, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x33, 0x0a, + 0x08, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, + 0x43, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, + 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, + 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4a, 0x6f, 0x62, + 0x73, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x07, 0x43, 0x70, + 0x75, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x43, 0x70, + 0x75, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, + 0x2e, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x04, + 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x0e, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, + 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x10, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, + 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x2e, 0x68, 0x70, 0x63, 0x41, + 0x43, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x68, 0x70, 0x63, 0x41, 0x43, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5718,61 +5728,61 @@ func file_hpcAC_proto_rawDescGZIP() []byte { var file_hpcAC_proto_msgTypes = make([]protoimpl.MessageInfo, 48) var file_hpcAC_proto_goTypes = []interface{}{ - (*JobManager)(nil), // 0: hpcAC.JobManager - (*JobManagerReq)(nil), // 1: hpcAC.JobManagerReq - (*ListJobManagerResp)(nil), // 2: hpcAC.ListJobManagerResp - (*JobInitAttr)(nil), // 3: hpcAC.JobInitAttr - (*JobVncSessionInfo)(nil), // 4: hpcAC.JobVncSessionInfo - (*JobDetail)(nil), // 5: hpcAC.JobDetail - (*JobDetailReq)(nil), // 6: hpcAC.JobDetailReq - (*GetJobDetailResp)(nil), // 7: hpcAC.GetJobDetailResp - (*DeleteJobReq)(nil), // 8: hpcAC.DeleteJobReq - (*DeleteJobResp)(nil), // 9: hpcAC.DeleteJobResp - (*Job)(nil), // 10: hpcAC.job - (*ListJobReq)(nil), // 11: hpcAC.ListJobReq - (*ListJobResp)(nil), // 12: hpcAC.ListJobResp - (*HistoryJob)(nil), // 13: hpcAC.historyJob - (*ListHistoryJobReq)(nil), // 14: hpcAC.ListHistoryJobReq - (*ListHistoryJobResp)(nil), // 15: hpcAC.ListHistoryJobResp - (*SubmitJobReq)(nil), // 16: hpcAC.SubmitJobReq - (*SubmitJobResp)(nil), // 17: hpcAC.SubmitJobResp - (*MapAppJobInfo)(nil), // 18: hpcAC.MapAppJobInfo - (*ParaStorQuotaReq)(nil), // 19: hpcAC.ParaStorQuotaReq - (*ParaStorQuotaResp)(nil), // 20: hpcAC.ParaStorQuotaResp - (*QuotaData)(nil), // 21: hpcAC.QuotaData - (*WallTimeReq)(nil), // 22: hpcAC.WallTimeReq - (*WallTimeResp)(nil), // 23: hpcAC.WallTimeResp - (*QueueJobsReq)(nil), // 24: hpcAC.QueueJobsReq - (*QueueJobsResp)(nil), // 25: hpcAC.QueueJobsResp - (*Queue)(nil), // 26: hpcAC.Queue - (*Metric)(nil), // 27: hpcAC.Metric - (*CpuCoreReq)(nil), // 28: hpcAC.CpuCoreReq - (*CpuCoreResp)(nil), // 29: hpcAC.CpuCoreResp - (*CpuCore)(nil), // 30: hpcAC.CpuCore - (*JobsReq)(nil), // 31: hpcAC.JobsReq - (*JobsResp)(nil), // 32: hpcAC.JobsResp - (*JobCore)(nil), // 33: hpcAC.JobCore - (*HistoryJobDetailReq)(nil), // 34: hpcAC.HistoryJobDetailReq - (*HistoryJobDetailResp)(nil), // 35: hpcAC.HistoryJobDetailResp - (*FileContentResp)(nil), // 36: hpcAC.FileContentResp - (*FileDataReq)(nil), // 37: hpcAC.FileDataReq - (*FileDataResp)(nil), // 38: hpcAC.FileDataResp - (*QueueReq)(nil), // 39: hpcAC.QueueReq - (*QueueResp)(nil), // 40: hpcAC.QueueResp - (*QueueData)(nil), // 41: hpcAC.QueueData - (*QueueDetailsResp)(nil), // 42: hpcAC.QueueDetailsResp - (*QueueDetailsData)(nil), // 43: hpcAC.QueueDetailsData - (*UserQuotasLimitResp)(nil), // 44: hpcAC.UserQuotasLimitResp - (*UserQuotasLimitData)(nil), // 45: hpcAC.UserQuotasLimitData - nil, // 46: hpcAC.DeleteJobResp.ResultEntry - (*HistoryJobDetailRespData)(nil), // 47: hpcAC.HistoryJobDetailResp.data + (*JobManager)(nil), // 0: hpcAC.JobManager + (*JobManagerReq)(nil), // 1: hpcAC.JobManagerReq + (*ListJobManagerResp)(nil), // 2: hpcAC.ListJobManagerResp + (*JobInitAttr)(nil), // 3: hpcAC.JobInitAttr + (*JobVncSessionInfo)(nil), // 4: hpcAC.JobVncSessionInfo + (*JobDetail)(nil), // 5: hpcAC.JobDetail + (*JobDetailReq)(nil), // 6: hpcAC.JobDetailReq + (*GetJobDetailResp)(nil), // 7: hpcAC.GetJobDetailResp + (*DeleteJobReq)(nil), // 8: hpcAC.DeleteJobReq + (*DeleteJobResp)(nil), // 9: hpcAC.DeleteJobResp + (*Job)(nil), // 10: hpcAC.job + (*ListJobReq)(nil), // 11: hpcAC.ListJobReq + (*ListJobResp)(nil), // 12: hpcAC.ListJobResp + (*HistoryJob)(nil), // 13: hpcAC.historyJob + (*ListHistoryJobReq)(nil), // 14: hpcAC.ListHistoryJobReq + (*ListHistoryJobResp)(nil), // 15: hpcAC.ListHistoryJobResp + (*SubmitJobReq)(nil), // 16: hpcAC.SubmitJobReq + (*SubmitJobResp)(nil), // 17: hpcAC.SubmitJobResp + (*MapAppJobInfo)(nil), // 18: hpcAC.MapAppJobInfo + (*ParaStorQuotaReq)(nil), // 19: hpcAC.ParaStorQuotaReq + (*ParaStorQuotaResp)(nil), // 20: hpcAC.ParaStorQuotaResp + (*QuotaData)(nil), // 21: hpcAC.QuotaData + (*WallTimeReq)(nil), // 22: hpcAC.WallTimeReq + (*WallTimeResp)(nil), // 23: hpcAC.WallTimeResp + (*QueueJobsReq)(nil), // 24: hpcAC.QueueJobsReq + (*QueueJobsResp)(nil), // 25: hpcAC.QueueJobsResp + (*Queue)(nil), // 26: hpcAC.Queue + (*Metric)(nil), // 27: hpcAC.Metric + (*CpuCoreReq)(nil), // 28: hpcAC.CpuCoreReq + (*CpuCoreResp)(nil), // 29: hpcAC.CpuCoreResp + (*CpuCore)(nil), // 30: hpcAC.CpuCore + (*JobsReq)(nil), // 31: hpcAC.JobsReq + (*JobsResp)(nil), // 32: hpcAC.JobsResp + (*JobCore)(nil), // 33: hpcAC.JobCore + (*HistoryJobDetailReq)(nil), // 34: hpcAC.HistoryJobDetailReq + (*HistoryJobDetail)(nil), // 35: hpcAC.HistoryJobDetail + (*HistoryJobDetailResp)(nil), // 36: hpcAC.HistoryJobDetailResp + (*FileContentResp)(nil), // 37: hpcAC.FileContentResp + (*FileDataReq)(nil), // 38: hpcAC.FileDataReq + (*FileDataResp)(nil), // 39: hpcAC.FileDataResp + (*QueueReq)(nil), // 40: hpcAC.QueueReq + (*QueueResp)(nil), // 41: hpcAC.QueueResp + (*QueueData)(nil), // 42: hpcAC.QueueData + (*QueueDetailsResp)(nil), // 43: hpcAC.QueueDetailsResp + (*QueueDetailsData)(nil), // 44: hpcAC.QueueDetailsData + (*UserQuotasLimitResp)(nil), // 45: hpcAC.UserQuotasLimitResp + (*UserQuotasLimitData)(nil), // 46: hpcAC.UserQuotasLimitData + nil, // 47: hpcAC.DeleteJobResp.DataEntry } var file_hpcAC_proto_depIdxs = []int32{ - 0, // 0: hpcAC.ListJobManagerResp.job_managers:type_name -> hpcAC.JobManager + 0, // 0: hpcAC.ListJobManagerResp.data:type_name -> hpcAC.JobManager 3, // 1: hpcAC.JobDetail.job_init_attr:type_name -> hpcAC.JobInitAttr 4, // 2: hpcAC.JobDetail.job_session_info:type_name -> hpcAC.JobVncSessionInfo - 5, // 3: hpcAC.GetJobDetailResp.job_detail:type_name -> hpcAC.JobDetail - 46, // 4: hpcAC.DeleteJobResp.result:type_name -> hpcAC.DeleteJobResp.ResultEntry + 5, // 3: hpcAC.GetJobDetailResp.data:type_name -> hpcAC.JobDetail + 47, // 4: hpcAC.DeleteJobResp.data:type_name -> hpcAC.DeleteJobResp.DataEntry 10, // 5: hpcAC.ListJobResp.jobs:type_name -> hpcAC.job 13, // 6: hpcAC.ListHistoryJobResp.history_jobs:type_name -> hpcAC.historyJob 18, // 7: hpcAC.SubmitJobReq.mapAppJobInfo:type_name -> hpcAC.MapAppJobInfo @@ -5781,47 +5791,48 @@ var file_hpcAC_proto_depIdxs = []int32{ 27, // 10: hpcAC.Queue.values:type_name -> hpcAC.Metric 30, // 11: hpcAC.CpuCoreResp.data:type_name -> hpcAC.CpuCore 33, // 12: hpcAC.JobsResp.data:type_name -> hpcAC.JobCore - 38, // 13: hpcAC.FileContentResp.data:type_name -> hpcAC.FileDataResp - 41, // 14: hpcAC.QueueResp.data:type_name -> hpcAC.QueueData - 43, // 15: hpcAC.QueueDetailsResp.data:type_name -> hpcAC.QueueDetailsData - 45, // 16: hpcAC.UserQuotasLimitResp.data:type_name -> hpcAC.UserQuotasLimitData - 11, // 17: hpcAC.hpcAC.ListJob:input_type -> hpcAC.ListJobReq - 14, // 18: hpcAC.hpcAC.ListHistoryJob:input_type -> hpcAC.ListHistoryJobReq - 16, // 19: hpcAC.hpcAC.SubmitJob:input_type -> hpcAC.SubmitJobReq - 1, // 20: hpcAC.hpcAC.ListJobManager:input_type -> hpcAC.JobManagerReq - 6, // 21: hpcAC.hpcAC.GetJobDetail:input_type -> hpcAC.JobDetailReq - 8, // 22: hpcAC.hpcAC.DeleteJob:input_type -> hpcAC.DeleteJobReq - 37, // 23: hpcAC.hpcAC.FileContent:input_type -> hpcAC.FileDataReq - 39, // 24: hpcAC.hpcAC.SelectQueueByUser:input_type -> hpcAC.QueueReq - 39, // 25: hpcAC.hpcAC.QueryQueueDetails:input_type -> hpcAC.QueueReq - 39, // 26: hpcAC.hpcAC.QueryUserQuotasLimit:input_type -> hpcAC.QueueReq - 19, // 27: hpcAC.hpcAC.ParaStorQuota:input_type -> hpcAC.ParaStorQuotaReq - 22, // 28: hpcAC.hpcAC.WallTime:input_type -> hpcAC.WallTimeReq - 24, // 29: hpcAC.hpcAC.QueueJobs:input_type -> hpcAC.QueueJobsReq - 28, // 30: hpcAC.hpcAC.CpuCore:input_type -> hpcAC.CpuCoreReq - 31, // 31: hpcAC.hpcAC.jobs:input_type -> hpcAC.JobsReq - 34, // 32: hpcAC.hpcAC.HistoryJobDetail:input_type -> hpcAC.HistoryJobDetailReq - 12, // 33: hpcAC.hpcAC.ListJob:output_type -> hpcAC.ListJobResp - 15, // 34: hpcAC.hpcAC.ListHistoryJob:output_type -> hpcAC.ListHistoryJobResp - 17, // 35: hpcAC.hpcAC.SubmitJob:output_type -> hpcAC.SubmitJobResp - 2, // 36: hpcAC.hpcAC.ListJobManager:output_type -> hpcAC.ListJobManagerResp - 7, // 37: hpcAC.hpcAC.GetJobDetail:output_type -> hpcAC.GetJobDetailResp - 9, // 38: hpcAC.hpcAC.DeleteJob:output_type -> hpcAC.DeleteJobResp - 36, // 39: hpcAC.hpcAC.FileContent:output_type -> hpcAC.FileContentResp - 40, // 40: hpcAC.hpcAC.SelectQueueByUser:output_type -> hpcAC.QueueResp - 42, // 41: hpcAC.hpcAC.QueryQueueDetails:output_type -> hpcAC.QueueDetailsResp - 44, // 42: hpcAC.hpcAC.QueryUserQuotasLimit:output_type -> hpcAC.UserQuotasLimitResp - 20, // 43: hpcAC.hpcAC.ParaStorQuota:output_type -> hpcAC.ParaStorQuotaResp - 23, // 44: hpcAC.hpcAC.WallTime:output_type -> hpcAC.WallTimeResp - 25, // 45: hpcAC.hpcAC.QueueJobs:output_type -> hpcAC.QueueJobsResp - 29, // 46: hpcAC.hpcAC.CpuCore:output_type -> hpcAC.CpuCoreResp - 32, // 47: hpcAC.hpcAC.jobs:output_type -> hpcAC.JobsResp - 35, // 48: hpcAC.hpcAC.HistoryJobDetail:output_type -> hpcAC.HistoryJobDetailResp - 33, // [33:49] is the sub-list for method output_type - 17, // [17:33] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 35, // 13: hpcAC.HistoryJobDetailResp.data:type_name -> hpcAC.HistoryJobDetail + 39, // 14: hpcAC.FileContentResp.data:type_name -> hpcAC.FileDataResp + 42, // 15: hpcAC.QueueResp.data:type_name -> hpcAC.QueueData + 44, // 16: hpcAC.QueueDetailsResp.data:type_name -> hpcAC.QueueDetailsData + 46, // 17: hpcAC.UserQuotasLimitResp.data:type_name -> hpcAC.UserQuotasLimitData + 11, // 18: hpcAC.hpcAC.ListJob:input_type -> hpcAC.ListJobReq + 14, // 19: hpcAC.hpcAC.ListHistoryJob:input_type -> hpcAC.ListHistoryJobReq + 16, // 20: hpcAC.hpcAC.SubmitJob:input_type -> hpcAC.SubmitJobReq + 1, // 21: hpcAC.hpcAC.ListJobManager:input_type -> hpcAC.JobManagerReq + 6, // 22: hpcAC.hpcAC.GetJobDetail:input_type -> hpcAC.JobDetailReq + 8, // 23: hpcAC.hpcAC.DeleteJob:input_type -> hpcAC.DeleteJobReq + 38, // 24: hpcAC.hpcAC.FileContent:input_type -> hpcAC.FileDataReq + 40, // 25: hpcAC.hpcAC.SelectQueueByUser:input_type -> hpcAC.QueueReq + 40, // 26: hpcAC.hpcAC.QueryQueueDetails:input_type -> hpcAC.QueueReq + 40, // 27: hpcAC.hpcAC.QueryUserQuotasLimit:input_type -> hpcAC.QueueReq + 19, // 28: hpcAC.hpcAC.ParaStorQuota:input_type -> hpcAC.ParaStorQuotaReq + 22, // 29: hpcAC.hpcAC.WallTime:input_type -> hpcAC.WallTimeReq + 24, // 30: hpcAC.hpcAC.QueueJobs:input_type -> hpcAC.QueueJobsReq + 28, // 31: hpcAC.hpcAC.CpuCore:input_type -> hpcAC.CpuCoreReq + 31, // 32: hpcAC.hpcAC.jobs:input_type -> hpcAC.JobsReq + 34, // 33: hpcAC.hpcAC.HistoryJobDetail:input_type -> hpcAC.HistoryJobDetailReq + 12, // 34: hpcAC.hpcAC.ListJob:output_type -> hpcAC.ListJobResp + 15, // 35: hpcAC.hpcAC.ListHistoryJob:output_type -> hpcAC.ListHistoryJobResp + 17, // 36: hpcAC.hpcAC.SubmitJob:output_type -> hpcAC.SubmitJobResp + 2, // 37: hpcAC.hpcAC.ListJobManager:output_type -> hpcAC.ListJobManagerResp + 7, // 38: hpcAC.hpcAC.GetJobDetail:output_type -> hpcAC.GetJobDetailResp + 9, // 39: hpcAC.hpcAC.DeleteJob:output_type -> hpcAC.DeleteJobResp + 37, // 40: hpcAC.hpcAC.FileContent:output_type -> hpcAC.FileContentResp + 41, // 41: hpcAC.hpcAC.SelectQueueByUser:output_type -> hpcAC.QueueResp + 43, // 42: hpcAC.hpcAC.QueryQueueDetails:output_type -> hpcAC.QueueDetailsResp + 45, // 43: hpcAC.hpcAC.QueryUserQuotasLimit:output_type -> hpcAC.UserQuotasLimitResp + 20, // 44: hpcAC.hpcAC.ParaStorQuota:output_type -> hpcAC.ParaStorQuotaResp + 23, // 45: hpcAC.hpcAC.WallTime:output_type -> hpcAC.WallTimeResp + 25, // 46: hpcAC.hpcAC.QueueJobs:output_type -> hpcAC.QueueJobsResp + 29, // 47: hpcAC.hpcAC.CpuCore:output_type -> hpcAC.CpuCoreResp + 32, // 48: hpcAC.hpcAC.jobs:output_type -> hpcAC.JobsResp + 36, // 49: hpcAC.hpcAC.HistoryJobDetail:output_type -> hpcAC.HistoryJobDetailResp + 34, // [34:50] is the sub-list for method output_type + 18, // [18:34] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_hpcAC_proto_init() } @@ -6251,7 +6262,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HistoryJobDetailResp); i { + switch v := v.(*HistoryJobDetail); i { case 0: return &v.state case 1: @@ -6263,7 +6274,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FileContentResp); i { + switch v := v.(*HistoryJobDetailResp); i { case 0: return &v.state case 1: @@ -6275,7 +6286,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FileDataReq); i { + switch v := v.(*FileContentResp); i { case 0: return &v.state case 1: @@ -6287,7 +6298,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FileDataResp); i { + switch v := v.(*FileDataReq); i { case 0: return &v.state case 1: @@ -6299,7 +6310,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueReq); i { + switch v := v.(*FileDataResp); i { case 0: return &v.state case 1: @@ -6311,7 +6322,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueResp); i { + switch v := v.(*QueueReq); i { case 0: return &v.state case 1: @@ -6323,7 +6334,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueData); i { + switch v := v.(*QueueResp); i { case 0: return &v.state case 1: @@ -6335,7 +6346,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueDetailsResp); i { + switch v := v.(*QueueData); i { case 0: return &v.state case 1: @@ -6347,7 +6358,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueDetailsData); i { + switch v := v.(*QueueDetailsResp); i { case 0: return &v.state case 1: @@ -6359,7 +6370,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserQuotasLimitResp); i { + switch v := v.(*QueueDetailsData); i { case 0: return &v.state case 1: @@ -6371,7 +6382,7 @@ func file_hpcAC_proto_init() { } } file_hpcAC_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserQuotasLimitData); i { + switch v := v.(*UserQuotasLimitResp); i { case 0: return &v.state case 1: @@ -6382,8 +6393,8 @@ func file_hpcAC_proto_init() { return nil } } - file_hpcAC_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HistoryJobDetailRespData); i { + file_hpcAC_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserQuotasLimitData); i { case 0: return &v.state case 1: diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/hpcAC/hpcAC_grpc.pb.go b/adaptor/PCM-HPC/PCM-AC/rpc/hpcAC/hpcAC_grpc.pb.go index 30edbf16..a56cca0b 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/hpcAC/hpcAC_grpc.pb.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/hpcAC/hpcAC_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.12 +// - protoc v3.12.4 // source: hpcAC.proto package hpcAC diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/hpcacclient/hpcac.go b/adaptor/PCM-HPC/PCM-AC/rpc/hpcacclient/hpcac.go index f5c11e2f..6422d96b 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/hpcacclient/hpcac.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/hpcacclient/hpcac.go @@ -13,53 +13,53 @@ import ( ) type ( - CpuCore = hpcAC.CpuCore - CpuCoreReq = hpcAC.CpuCoreReq - CpuCoreResp = hpcAC.CpuCoreResp - DeleteJobReq = hpcAC.DeleteJobReq - DeleteJobResp = hpcAC.DeleteJobResp - FileContentResp = hpcAC.FileContentResp - FileDataReq = hpcAC.FileDataReq - FileDataResp = hpcAC.FileDataResp - GetJobDetailResp = hpcAC.GetJobDetailResp - HistoryJob = hpcAC.HistoryJob - HistoryJobDetailReq = hpcAC.HistoryJobDetailReq - HistoryJobDetailResp = hpcAC.HistoryJobDetailResp - HistoryJobDetailRespData = hpcAC.HistoryJobDetailRespData - Job = hpcAC.Job - JobCore = hpcAC.JobCore - JobDetail = hpcAC.JobDetail - JobDetailReq = hpcAC.JobDetailReq - JobInitAttr = hpcAC.JobInitAttr - JobManager = hpcAC.JobManager - JobManagerReq = hpcAC.JobManagerReq - JobVncSessionInfo = hpcAC.JobVncSessionInfo - JobsReq = hpcAC.JobsReq - JobsResp = hpcAC.JobsResp - ListHistoryJobReq = hpcAC.ListHistoryJobReq - ListHistoryJobResp = hpcAC.ListHistoryJobResp - ListJobManagerResp = hpcAC.ListJobManagerResp - ListJobReq = hpcAC.ListJobReq - ListJobResp = hpcAC.ListJobResp - MapAppJobInfo = hpcAC.MapAppJobInfo - Metric = hpcAC.Metric - ParaStorQuotaReq = hpcAC.ParaStorQuotaReq - ParaStorQuotaResp = hpcAC.ParaStorQuotaResp - Queue = hpcAC.Queue - QueueData = hpcAC.QueueData - QueueDetailsData = hpcAC.QueueDetailsData - QueueDetailsResp = hpcAC.QueueDetailsResp - QueueJobsReq = hpcAC.QueueJobsReq - QueueJobsResp = hpcAC.QueueJobsResp - QueueReq = hpcAC.QueueReq - QueueResp = hpcAC.QueueResp - QuotaData = hpcAC.QuotaData - SubmitJobReq = hpcAC.SubmitJobReq - SubmitJobResp = hpcAC.SubmitJobResp - UserQuotasLimitData = hpcAC.UserQuotasLimitData - UserQuotasLimitResp = hpcAC.UserQuotasLimitResp - WallTimeReq = hpcAC.WallTimeReq - WallTimeResp = hpcAC.WallTimeResp + CpuCore = hpcAC.CpuCore + CpuCoreReq = hpcAC.CpuCoreReq + CpuCoreResp = hpcAC.CpuCoreResp + DeleteJobReq = hpcAC.DeleteJobReq + DeleteJobResp = hpcAC.DeleteJobResp + FileContentResp = hpcAC.FileContentResp + FileDataReq = hpcAC.FileDataReq + FileDataResp = hpcAC.FileDataResp + GetJobDetailResp = hpcAC.GetJobDetailResp + HistoryJob = hpcAC.HistoryJob + HistoryJobDetail = hpcAC.HistoryJobDetail + HistoryJobDetailReq = hpcAC.HistoryJobDetailReq + HistoryJobDetailResp = hpcAC.HistoryJobDetailResp + Job = hpcAC.Job + JobCore = hpcAC.JobCore + JobDetail = hpcAC.JobDetail + JobDetailReq = hpcAC.JobDetailReq + JobInitAttr = hpcAC.JobInitAttr + JobManager = hpcAC.JobManager + JobManagerReq = hpcAC.JobManagerReq + JobVncSessionInfo = hpcAC.JobVncSessionInfo + JobsReq = hpcAC.JobsReq + JobsResp = hpcAC.JobsResp + ListHistoryJobReq = hpcAC.ListHistoryJobReq + ListHistoryJobResp = hpcAC.ListHistoryJobResp + ListJobManagerResp = hpcAC.ListJobManagerResp + ListJobReq = hpcAC.ListJobReq + ListJobResp = hpcAC.ListJobResp + MapAppJobInfo = hpcAC.MapAppJobInfo + Metric = hpcAC.Metric + ParaStorQuotaReq = hpcAC.ParaStorQuotaReq + ParaStorQuotaResp = hpcAC.ParaStorQuotaResp + Queue = hpcAC.Queue + QueueData = hpcAC.QueueData + QueueDetailsData = hpcAC.QueueDetailsData + QueueDetailsResp = hpcAC.QueueDetailsResp + QueueJobsReq = hpcAC.QueueJobsReq + QueueJobsResp = hpcAC.QueueJobsResp + QueueReq = hpcAC.QueueReq + QueueResp = hpcAC.QueueResp + QuotaData = hpcAC.QuotaData + SubmitJobReq = hpcAC.SubmitJobReq + SubmitJobResp = hpcAC.SubmitJobResp + UserQuotasLimitData = hpcAC.UserQuotasLimitData + UserQuotasLimitResp = hpcAC.UserQuotasLimitResp + WallTimeReq = hpcAC.WallTimeReq + WallTimeResp = hpcAC.WallTimeResp HpcAC interface { // ListJob list all jobs diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/deletejoblogic.go b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/deletejoblogic.go index fdb3c636..21125a9c 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/deletejoblogic.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/deletejoblogic.go @@ -36,7 +36,7 @@ func (l *DeleteJobLogic) DeleteJob(in *hpcAC.DeleteJobReq) (*hpcAC.DeleteJobResp deleteJobUrl := "hpc/openapi/v2/jobs?" - Gtoken := util.GetToken() + token := util.GetToken() c := http.Client{Timeout: time.Duration(3) * time.Second} params := url.Values{} @@ -49,13 +49,6 @@ func (l *DeleteJobLogic) DeleteJob(in *hpcAC.DeleteJobReq) (*hpcAC.DeleteJobResp return nil, err } - var token string - if util.GetTokenState(Gtoken) { - token = Gtoken - } else { - token = util.GetToken() - Gtoken = token - } reqUrl.Header.Add("token", token) respUrl, err := c.Do(reqUrl) @@ -69,7 +62,7 @@ func (l *DeleteJobLogic) DeleteJob(in *hpcAC.DeleteJobReq) (*hpcAC.DeleteJobResp } if err = json.Unmarshal(body, &resp); err != nil { if resp.Code != "0" { - resp.Result = nil + resp.Data = nil } else { return nil, err } diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/getjobdetaillogic.go b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/getjobdetaillogic.go index 4aabd204..450e9dfe 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/getjobdetaillogic.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/getjobdetaillogic.go @@ -37,7 +37,7 @@ func (l *GetJobDetailLogic) GetJobDetail(in *hpcAC.JobDetailReq) (*hpcAC.GetJobD jobId := in.JobId - Gtoken := util.GetToken() + token := util.GetToken() c := http.Client{Timeout: time.Duration(3) * time.Second} reqUrl, err := http.NewRequest("GET", "https://api01.hpccube.com:65106/"+jobDetailUrl+jobId, nil) @@ -46,13 +46,6 @@ func (l *GetJobDetailLogic) GetJobDetail(in *hpcAC.JobDetailReq) (*hpcAC.GetJobD return nil, err } - var token string - if util.GetTokenState(Gtoken) { - token = Gtoken - } else { - token = util.GetToken() - Gtoken = token - } reqUrl.Header.Add("token", token) respUrl, err := c.Do(reqUrl) @@ -67,7 +60,7 @@ func (l *GetJobDetailLogic) GetJobDetail(in *hpcAC.JobDetailReq) (*hpcAC.GetJobD if err = json.Unmarshal(body, &resp); err != nil { if resp.Code != "0" { - resp.JobDetail = nil + resp.Data = nil } else { return nil, err } diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/historyjobdetaillogic.go b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/historyjobdetaillogic.go index 338af63c..176e4506 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/historyjobdetaillogic.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/historyjobdetaillogic.go @@ -27,13 +27,19 @@ func NewHistoryJobDetailLogic(ctx context.Context, svcCtx *svc.ServiceContext) * } func (l *HistoryJobDetailLogic) HistoryJobDetail(in *hpcAC.HistoryJobDetailReq) (*hpcAC.HistoryJobDetailResp, error) { - url := fmt.Sprint("https://api01.hpccube.com:65106//hpc/openapi/v2/historyjobs/%s/%s?acctTime=%s", in.JobmanagerId, in.JobId, in.AcctTime) - var jobsResp *hpcAC.JobsResp + var url string + if in.AcctTime != "" { + url = fmt.Sprintf("https://api01.hpccube.com:65106/hpc/openapi/v2/historyjobs/%s/%s?acctTime=%s", in.JobmanagerId, in.JobId, in.AcctTime) + } else { + url = fmt.Sprintf("https://api01.hpccube.com:65106/hpc/openapi/v2/historyjobs/%s/%s", in.JobmanagerId, in.JobId) + } + + var historyJobDetail *hpcAC.HistoryJobDetailResp acHttpRequest := tool.GetACHttpRequest() acHttpRequest.SetHeader(tool.ContentType, tool.ApplicationJson). - SetResult(&jobsResp). + SetResult(&historyJobDetail). SetHeader("token", util.GetToken()). Get(url) - return &hpcAC.HistoryJobDetailResp{}, nil + return historyJobDetail, nil } diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listhistoryjoblogic.go b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listhistoryjoblogic.go index 7055f6a2..d6522bf1 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listhistoryjoblogic.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listhistoryjoblogic.go @@ -40,7 +40,7 @@ func (l *ListHistoryJobLogic) ListHistoryJob(in *hpcAC.ListHistoryJobReq) (*hpcA jobHistoryUrl := "hpc/openapi/v2/historyjobs?" ClusterId := util.GetClusterId() - Gtoken := util.GetToken() + token := util.GetToken() c := http.Client{Timeout: time.Duration(3) * time.Second} params := url.Values{} @@ -59,14 +59,6 @@ func (l *ListHistoryJobLogic) ListHistoryJob(in *hpcAC.ListHistoryJobReq) (*hpcA log.Fatal(err) } - var token string - if util.GetTokenState(Gtoken) { - token = Gtoken - } else { - token = util.GetToken() - Gtoken = token - } - reqUrl.Header.Add("token", token) respUrl, err := c.Do(reqUrl) diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listjoblogic.go b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listjoblogic.go index da4a4ca0..4e597772 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listjoblogic.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listjoblogic.go @@ -37,7 +37,7 @@ func (l *ListJobLogic) ListJob(in *hpcAC.ListJobReq) (*hpcAC.ListJobResp, error) jobUrl := "hpc/openapi/v2/jobs?" ClusterId := util.GetClusterId() - Gtoken := util.GetToken() + token := util.GetToken() c := http.Client{Timeout: time.Duration(3) * time.Second} params := url.Values{} @@ -49,14 +49,6 @@ func (l *ListJobLogic) ListJob(in *hpcAC.ListJobReq) (*hpcAC.ListJobResp, error) log.Fatal(err) } - var token string - if util.GetTokenState(Gtoken) { - token = Gtoken - } else { - token = util.GetToken() - Gtoken = token - } - reqUrl.Header.Add("token", token) respUrl, err := c.Do(reqUrl) diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listjobmanagerlogic.go b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listjobmanagerlogic.go index 035d01bd..42718f32 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listjobmanagerlogic.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/listjobmanagerlogic.go @@ -35,7 +35,7 @@ func (l *ListJobManagerLogic) ListJobManager(in *hpcAC.JobManagerReq) (*hpcAC.Li var resp hpcAC.ListJobManagerResp jobManagerUrl := "hpc/openapi/v2/cluster" - Gtoken := util.GetToken() + token := util.GetToken() c := http.Client{Timeout: time.Duration(3) * time.Second} reqUrl, err := http.NewRequest("GET", "https://api01.hpccube.com:65106/"+jobManagerUrl, nil) @@ -44,14 +44,6 @@ func (l *ListJobManagerLogic) ListJobManager(in *hpcAC.JobManagerReq) (*hpcAC.Li return nil, err } - var token string - if util.GetTokenState(Gtoken) { - token = Gtoken - } else { - token = util.GetToken() - Gtoken = token - } - reqUrl.Header.Add("token", token) respUrl, err := c.Do(reqUrl) @@ -67,7 +59,7 @@ func (l *ListJobManagerLogic) ListJobManager(in *hpcAC.JobManagerReq) (*hpcAC.Li if err = json.Unmarshal(body, &resp); err != nil { if resp.Code != "0" { - resp.JobManagers = nil + resp.Data = nil } else { return nil, err } diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/submitjoblogic.go b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/submitjoblogic.go index 6600fb92..bbbb5099 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/submitjoblogic.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/internal/logic/submitjoblogic.go @@ -40,13 +40,7 @@ func (l *SubmitJobLogic) SubmitJob(in *hpcAC.SubmitJobReq) (*hpcAC.SubmitJobResp jsonStr, _ := json.Marshal(in) req_url, err := http.NewRequest("POST", "https://api01.hpccube.com:65106/"+jobSubmitUrl, bytes.NewBuffer(jsonStr)) - var token string - if util.GetTokenState(util.Gtoken) { - token = util.Gtoken - } else { - token = util.GetToken() - util.Gtoken = token - } + token := util.GetToken() req_url.Header.Add("content-type", "application/json") req_url.Header.Add("token", token) diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/internal/util/client.go b/adaptor/PCM-HPC/PCM-AC/rpc/internal/util/client.go index 0fe21f02..0bf904ca 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/internal/util/client.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/internal/util/client.go @@ -6,7 +6,6 @@ import ( "PCM/common/tool/httpclient" "context" "errors" - "github.com/go-resty/resty/v2" "github.com/zeromicro/go-zero/core/conf" "github.com/zeromicro/go-zero/core/logx" "runtime" @@ -15,13 +14,7 @@ import ( // NewRequest 构造一个请求 func NewRequest(cli *resty.Client) (*resty.Request, error) { //TODO 获取AC的token - var token string - if GetTokenState(Gtoken) { - token = Gtoken - } else { - token = GetToken() - Gtoken = token - } + token := GetToken() cli.SetHeader("token", token).SetBaseURL(getBaseUrl()) return cli.R(), nil } diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/internal/util/shuguangAuth.go b/adaptor/PCM-HPC/PCM-AC/rpc/internal/util/shuguangAuth.go index dbea3c36..06bcf7b6 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/internal/util/shuguangAuth.go +++ b/adaptor/PCM-HPC/PCM-AC/rpc/internal/util/shuguangAuth.go @@ -33,7 +33,7 @@ var ( "statW": 6, "statX": 7, } - Gtoken = GetToken() + gtoken = getToken() ClusterId = GetClusterId() ) @@ -83,13 +83,7 @@ func GetClusterId() int { log.Fatal(err) } - var token string - if GetTokenState(Gtoken) { - token = Gtoken - } else { - token = GetToken() - Gtoken = token - } + token := GetToken() req.Header.Add("token", token) resp, err := httpClient.Do(req) @@ -116,8 +110,16 @@ func GetClusterId() int { } return id } - func GetToken() string { + if getTokenState(gtoken) { + return gtoken + } else { + gtoken = getToken() + } + return gtoken +} + +func getToken() string { httpClient := http.Client{Timeout: time.Duration(3) * time.Second} var cf config.Config conf.MustLoad(*configFile, &cf) @@ -157,7 +159,7 @@ func GetToken() string { return "" } -func GetTokenState(token string) bool { +func getTokenState(token string) bool { httpClient := http.Client{Timeout: time.Duration(3) * time.Second} var cf config.Config conf.MustLoad(*configFile, &cf) diff --git a/adaptor/PCM-HPC/PCM-AC/rpc/pb/hpcAC.proto b/adaptor/PCM-HPC/PCM-AC/rpc/pb/hpcAC.proto index ffe695c4..7e375b55 100644 --- a/adaptor/PCM-HPC/PCM-AC/rpc/pb/hpcAC.proto +++ b/adaptor/PCM-HPC/PCM-AC/rpc/pb/hpcAC.proto @@ -18,7 +18,7 @@ message JobManagerReq{ message ListJobManagerResp{ string code = 1; // @gotags: copier:"Code", json:"code" string msg = 2; // @gotags: copier:"Msg", json:"msg" - repeated JobManager job_managers = 3; // @gotags: copier:"JobManagers", json:"data" + repeated JobManager data = 3; // @gotags: copier:"JobManagers", json:"data" } /******************Cluster End*************************/ @@ -155,7 +155,7 @@ message JobDetailReq{ message GetJobDetailResp{ string code = 1; // @gotags: copier:"Code", json:"code" string msg = 2; // @gotags: copier:"Msg", json:"msg" - JobDetail job_detail = 3; // @gotags: copier:"JobDetail", json:"data" + JobDetail data = 3; // @gotags: copier:"JobDetail", json:"data" } /******************Job Detail End*************************/ @@ -167,7 +167,7 @@ message DeleteJobReq{ message DeleteJobResp{ string code = 1; // @gotags: copier:"Code", json:"code" string msg = 2; // @gotags: copier:"Msg", json:"msg" - map result = 3; // @gotags: copier:"Result", json:"data" + map data = 3; // @gotags: copier:"Result", json:"data" } /******************Job(Delete) End*************************/ @@ -362,72 +362,74 @@ message HistoryJobDetailReq{ string acctTime = 3; } +message HistoryJobDetail { + string acctTime = 1;// @gotags: copier:"acctTime" + string appType = 2; + string command = 3; + string commandExist = 4; + string cpuNuclearHour = 5; + string cpuNuclearSec = 6; + double cpuUnitPrice = 7; + string dcuCardHour = 8; + string dcuCardSec = 9; + double dcuUnitPrice = 10; + string efficiencyCpu = 11; + int64 exclusiveCputime = 12; + int64 exclusiveMem = 13; + int64 exclusiveWalltime = 14; + string goldenable = 15; + string gpuCardHour = 16; + string gpuCardSec = 17; + double gpuUnitPrice = 18; + string groupName = 19; + string historyAccount = 20; + string historyQueuerate = 21; + string isSinglejob = 22; + int64 jobCpuTime = 23; + int64 jobDcuNum = 24; + string jobEndTime = 25; + string jobExecGpus = 26; + string jobExecHost = 27; + int64 jobExitStatus = 28; + int64 jobGpuNum = 29; + string jobId = 30; + int64 jobMemUsed = 31; + string jobName = 32; + int64 jobProcNum = 33; + string jobQueueTime = 34; + double jobReqCpu = 35; + double jobReqDcu = 36; + double jobReqGpu = 37; + string jobReqMem = 38; + double jobReqNodes = 39; + int64 jobResponseTime = 40; + string jobStartTime = 41; + string jobState = 42; + int64 jobVmemUsed = 43; + int64 jobWaitTime = 44; + int64 jobWalltimeUsed = 45; + int64 jobmanagerId = 46; + string jobmanagerName = 47; + string needNodes = 48; + int64 nodect = 49; + string owner = 50; + string queue = 51; + string scale = 52; + int64 shareCputime = 53; + int64 shareMem = 54; + int64 shareWalltime = 55; + string startCount = 56; + string userName = 57; + int64 walltime = 58; + string workdir = 59; +} + message HistoryJobDetailResp { string code = 1; string msg = 2; - - message data { - string acctTime = 1;// @gotags: copier:"acctTime" - string appType = 2; - string command = 3; - string commandExist = 4; - string cpuNuclearHour = 5; - string cpuNuclearSec = 6; - double cpuUnitPrice = 7; - string dcuCardHour = 8; - string dcuCardSec = 9; - double dcuUnitPrice = 10; - string efficiencyCpu = 11; - int64 exclusiveCputime = 12; - int64 exclusiveMem = 13; - int64 exclusiveWalltime = 14; - string goldenable = 15; - string gpuCardHour = 16; - string gpuCardSec = 17; - double gpuUnitPrice = 18; - string groupName = 19; - string historyAccount = 20; - string historyQueuerate = 21; - string isSinglejob = 22; - int64 jobCpuTime = 23; - int64 jobDcuNum = 24; - string jobEndTime = 25; - string jobExecGpus = 26; - string jobExecHost = 27; - int64 jobExitStatus = 28; - int64 jobGpuNum = 29; - string jobId = 30; - int64 jobMemUsed = 31; - string jobName = 32; - int64 jobProcNum = 33; - string jobQueueTime = 34; - double jobReqCpu = 35; - double jobReqDcu = 36; - double jobReqGpu = 37; - string jobReqMem = 38; - double jobReqNodes = 39; - int64 jobResponseTime = 40; - string jobStartTime = 41; - string jobState = 42; - int64 jobVmemUsed = 43; - int64 jobWaitTime = 44; - int64 jobWalltimeUsed = 45; - int64 jobmanagerId = 46; - string jobmanagerName = 47; - string needNodes = 48; - int64 nodect = 49; - string owner = 50; - string queue = 51; - string scale = 52; - int64 shareCputime = 53; - int64 shareMem = 54; - int64 shareWalltime = 55; - string startCount = 56; - string userName = 57; - int64 walltime = 58; - string workdir = 59; - } + HistoryJobDetail data =3; } + message FileContentResp{ string code = 1; // @gotags: copier:"Code" //状态码 示例:0 string msg = 2; // @gotags: copier:"Msg" //信息 示例:success