From 9b9f2b2ff02543e02d89c186d751fea348d74e66 Mon Sep 17 00:00:00 2001 From: bin liu Date: Tue, 26 May 2020 09:49:25 +0000 Subject: [PATCH] agent: porting https://github.com/kata-containers/agent/pull/616 this PR will port the original PR to kata 2.0. Signed-off-by: bin liu --- src/agent/protocols/protos/agent.proto | 10 + src/agent/protocols/src/agent.rs | 1927 +++++++++++++----------- src/agent/src/rpc.rs | 82 + 3 files changed, 1142 insertions(+), 877 deletions(-) diff --git a/src/agent/protocols/protos/agent.proto b/src/agent/protocols/protos/agent.proto index 565f7c0fdbef..aaedae2f8130 100644 --- a/src/agent/protocols/protos/agent.proto +++ b/src/agent/protocols/protos/agent.proto @@ -271,6 +271,14 @@ message TtyWinResizeRequest { uint32 column = 4; } +message KernelModule { + // This field is the name of the kernel module. + string name = 1; + // This field are the parameters for the kernel module which are + // whitespace-delimited key=value pairs passed to modprobe(8). + repeated string parameters = 2; +} + message CreateSandboxRequest { string hostname = 1; repeated string dns = 2; @@ -288,6 +296,8 @@ message CreateSandboxRequest { // This field, if non-empty, designates an absolute path to a directory // that the agent will search for OCI hooks to run within the guest. string guest_hook_path = 6; + // This field is the list of kernel modules to be loaded in the guest kernel. + repeated KernelModule kernel_modules = 7; } message DestroySandboxRequest { diff --git a/src/agent/protocols/src/agent.rs b/src/agent/protocols/src/agent.rs index 2a9a6faa30f3..758dc5a9abf2 100644 --- a/src/agent/protocols/src/agent.rs +++ b/src/agent/protocols/src/agent.rs @@ -7810,6 +7810,210 @@ impl ::protobuf::reflect::ProtobufValue for TtyWinResizeRequest { } } +#[derive(PartialEq,Clone,Default)] +pub struct KernelModule { + // message fields + pub name: ::std::string::String, + pub parameters: ::protobuf::RepeatedField<::std::string::String>, + // special fields + pub unknown_fields: ::protobuf::UnknownFields, + pub cached_size: ::protobuf::CachedSize, +} + +impl<'a> ::std::default::Default for &'a KernelModule { + fn default() -> &'a KernelModule { + ::default_instance() + } +} + +impl KernelModule { + pub fn new() -> KernelModule { + ::std::default::Default::default() + } + + // string name = 1; + + + pub fn get_name(&self) -> &str { + &self.name + } + pub fn clear_name(&mut self) { + self.name.clear(); + } + + // Param is passed by value, moved + pub fn set_name(&mut self, v: ::std::string::String) { + self.name = v; + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_name(&mut self) -> &mut ::std::string::String { + &mut self.name + } + + // Take field + pub fn take_name(&mut self) -> ::std::string::String { + ::std::mem::replace(&mut self.name, ::std::string::String::new()) + } + + // repeated string parameters = 2; + + + pub fn get_parameters(&self) -> &[::std::string::String] { + &self.parameters + } + pub fn clear_parameters(&mut self) { + self.parameters.clear(); + } + + // Param is passed by value, moved + pub fn set_parameters(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) { + self.parameters = v; + } + + // Mutable pointer to the field. + pub fn mut_parameters(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> { + &mut self.parameters + } + + // Take field + pub fn take_parameters(&mut self) -> ::protobuf::RepeatedField<::std::string::String> { + ::std::mem::replace(&mut self.parameters, ::protobuf::RepeatedField::new()) + } +} + +impl ::protobuf::Message for KernelModule { + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?; + }, + 2 => { + ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.parameters)?; + }, + _ => { + ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + if !self.name.is_empty() { + my_size += ::protobuf::rt::string_size(1, &self.name); + } + for value in &self.parameters { + my_size += ::protobuf::rt::string_size(2, &value); + }; + my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> { + if !self.name.is_empty() { + os.write_string(1, &self.name)?; + } + for v in &self.parameters { + os.write_string(2, &v)?; + }; + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &::protobuf::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) + } + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) + } + fn into_any(self: Box) -> ::std::boxed::Box { + self + } + + fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor { + Self::descriptor_static() + } + + fn new() -> KernelModule { + KernelModule::new() + } + + fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor { + static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT; + unsafe { + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "name", + |m: &KernelModule| { &m.name }, + |m: &mut KernelModule| { &mut m.name }, + )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>( + "parameters", + |m: &KernelModule| { &m.parameters }, + |m: &mut KernelModule| { &mut m.parameters }, + )); + ::protobuf::reflect::MessageDescriptor::new_pb_name::( + "KernelModule", + fields, + file_descriptor_proto() + ) + }) + } + } + + fn default_instance() -> &'static KernelModule { + static mut instance: ::protobuf::lazy::Lazy = ::protobuf::lazy::Lazy::INIT; + unsafe { + instance.get(KernelModule::new) + } + } +} + +impl ::protobuf::Clear for KernelModule { + fn clear(&mut self) { + self.name.clear(); + self.parameters.clear(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for KernelModule { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for KernelModule { + fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef { + ::protobuf::reflect::ReflectValueRef::Message(self) + } +} + #[derive(PartialEq,Clone,Default)] pub struct CreateSandboxRequest { // message fields @@ -7819,6 +8023,7 @@ pub struct CreateSandboxRequest { pub sandbox_pidns: bool, pub sandbox_id: ::std::string::String, pub guest_hook_path: ::std::string::String, + pub kernel_modules: ::protobuf::RepeatedField, // special fields pub unknown_fields: ::protobuf::UnknownFields, pub cached_size: ::protobuf::CachedSize, @@ -7977,6 +8182,31 @@ impl CreateSandboxRequest { pub fn take_guest_hook_path(&mut self) -> ::std::string::String { ::std::mem::replace(&mut self.guest_hook_path, ::std::string::String::new()) } + + // repeated .grpc.KernelModule kernel_modules = 7; + + + pub fn get_kernel_modules(&self) -> &[KernelModule] { + &self.kernel_modules + } + pub fn clear_kernel_modules(&mut self) { + self.kernel_modules.clear(); + } + + // Param is passed by value, moved + pub fn set_kernel_modules(&mut self, v: ::protobuf::RepeatedField) { + self.kernel_modules = v; + } + + // Mutable pointer to the field. + pub fn mut_kernel_modules(&mut self) -> &mut ::protobuf::RepeatedField { + &mut self.kernel_modules + } + + // Take field + pub fn take_kernel_modules(&mut self) -> ::protobuf::RepeatedField { + ::std::mem::replace(&mut self.kernel_modules, ::protobuf::RepeatedField::new()) + } } impl ::protobuf::Message for CreateSandboxRequest { @@ -7986,6 +8216,11 @@ impl ::protobuf::Message for CreateSandboxRequest { return false; } }; + for v in &self.kernel_modules { + if !v.is_initialized() { + return false; + } + }; true } @@ -8015,6 +8250,9 @@ impl ::protobuf::Message for CreateSandboxRequest { 6 => { ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.guest_hook_path)?; }, + 7 => { + ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.kernel_modules)?; + }, _ => { ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -8046,6 +8284,10 @@ impl ::protobuf::Message for CreateSandboxRequest { if !self.guest_hook_path.is_empty() { my_size += ::protobuf::rt::string_size(6, &self.guest_hook_path); } + for value in &self.kernel_modules { + let len = value.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len; + }; my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -8072,6 +8314,11 @@ impl ::protobuf::Message for CreateSandboxRequest { if !self.guest_hook_path.is_empty() { os.write_string(6, &self.guest_hook_path)?; } + for v in &self.kernel_modules { + os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + }; os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -8141,6 +8388,11 @@ impl ::protobuf::Message for CreateSandboxRequest { |m: &CreateSandboxRequest| { &m.guest_hook_path }, |m: &mut CreateSandboxRequest| { &mut m.guest_hook_path }, )); + fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage>( + "kernel_modules", + |m: &CreateSandboxRequest| { &m.kernel_modules }, + |m: &mut CreateSandboxRequest| { &mut m.kernel_modules }, + )); ::protobuf::reflect::MessageDescriptor::new_pb_name::( "CreateSandboxRequest", fields, @@ -8166,6 +8418,7 @@ impl ::protobuf::Clear for CreateSandboxRequest { self.sandbox_pidns = false; self.sandbox_id.clear(); self.guest_hook_path.clear(); + self.kernel_modules.clear(); self.unknown_fields.clear(); } } @@ -12344,7 +12597,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x121\n\x0bstring_user\x18\x03\x20\x01(\x0b2\x10.grpc.StringUserR\nstrin\ gUser\x12&\n\x07devices\x18\x04\x20\x03(\x0b2\x0c.grpc.DeviceR\x07device\ s\x12)\n\x08storages\x18\x05\x20\x03(\x0b2\r.grpc.StorageR\x08storages\ - \x12\x1c\n\x03OCI\x18\x06\x20\x01(\x0b2\n.grpc.SpecR\x03oCI\x12#\n\rsand\ + \x12\x1c\n\x03OCI\x18\x06\x20\x01(\x0b2\n.grpc.SpecR\x03OCI\x12#\n\rsand\ box_pidns\x18\x07\x20\x01(\x08R\x0csandboxPidns\":\n\x15StartContainerRe\ quest\x12!\n\x0ccontainer_id\x18\x01\x20\x01(\tR\x0bcontainerId\"U\n\x16\ RemoveContainerRequest\x12!\n\x0ccontainer_id\x18\x01\x20\x01(\tR\x0bcon\ @@ -12438,164 +12691,167 @@ static file_descriptor_proto_data: &'static [u8] = b"\ (\tR\x06execId\"{\n\x13TtyWinResizeRequest\x12!\n\x0ccontainer_id\x18\ \x01\x20\x01(\tR\x0bcontainerId\x12\x17\n\x07exec_id\x18\x02\x20\x01(\tR\ \x06execId\x12\x10\n\x03row\x18\x03\x20\x01(\rR\x03row\x12\x16\n\x06colu\ - mn\x18\x04\x20\x01(\rR\x06column\"\xdb\x01\n\x14CreateSandboxRequest\x12\ - \x1a\n\x08hostname\x18\x01\x20\x01(\tR\x08hostname\x12\x10\n\x03dns\x18\ - \x02\x20\x03(\tR\x03dns\x12)\n\x08storages\x18\x03\x20\x03(\x0b2\r.grpc.\ - StorageR\x08storages\x12#\n\rsandbox_pidns\x18\x04\x20\x01(\x08R\x0csand\ - boxPidns\x12\x1d\n\nsandbox_id\x18\x05\x20\x01(\tR\tsandboxId\x12&\n\x0f\ - guest_hook_path\x18\x06\x20\x01(\tR\rguestHookPath\"\x17\n\x15DestroySan\ - dboxRequest\">\n\nInterfaces\x120\n\nInterfaces\x18\x01\x20\x03(\x0b2\ - \x10.types.InterfaceR\ninterfaces\".\n\x06Routes\x12$\n\x06Routes\x18\ - \x01\x20\x03(\x0b2\x0c.types.RouteR\x06routes\"H\n\x16UpdateInterfaceReq\ - uest\x12.\n\tinterface\x18\x01\x20\x01(\x0b2\x10.types.InterfaceR\tinter\ - face\";\n\x13UpdateRoutesRequest\x12$\n\x06routes\x18\x01\x20\x01(\x0b2\ - \x0c.grpc.RoutesR\x06routes\"\x17\n\x15ListInterfacesRequest\"\x13\n\x11\ - ListRoutesRequest\"]\n\x13OnlineCPUMemRequest\x12\x12\n\x04wait\x18\x01\ - \x20\x01(\x08R\x04wait\x12\x17\n\x07nb_cpus\x18\x02\x20\x01(\rR\x06nbCpu\ - s\x12\x19\n\x08cpu_only\x18\x03\x20\x01(\x08R\x07cpuOnly\",\n\x16ReseedR\ - andomDevRequest\x12\x12\n\x04data\x18\x02\x20\x01(\x0cR\x04data\"\xc8\ - \x01\n\x0cAgentDetails\x12\x18\n\x07version\x18\x01\x20\x01(\tR\x07versi\ - on\x12\x1f\n\x0binit_daemon\x18\x02\x20\x01(\x08R\ninitDaemon\x12'\n\x0f\ - device_handlers\x18\x03\x20\x03(\tR\x0edeviceHandlers\x12)\n\x10storage_\ - handlers\x18\x04\x20\x03(\tR\x0fstorageHandlers\x12)\n\x10supports_secco\ - mp\x18\x05\x20\x01(\x08R\x0fsupportsSeccomp\"g\n\x13GuestDetailsRequest\ - \x12$\n\x0emem_block_size\x18\x01\x20\x01(\x08R\x0cmemBlockSize\x12*\n\ - \x11mem_hotplug_probe\x18\x02\x20\x01(\x08R\x0fmemHotplugProbe\"\xbb\x01\ - \n\x14GuestDetailsResponse\x12/\n\x14mem_block_size_bytes\x18\x01\x20\ - \x01(\x04R\x11memBlockSizeBytes\x127\n\ragent_details\x18\x02\x20\x01(\ - \x0b2\x12.grpc.AgentDetailsR\x0cagentDetails\x129\n\x19support_mem_hotpl\ - ug_probe\x18\x03\x20\x01(\x08R\x16supportMemHotplugProbe\"L\n\x18MemHotp\ - lugByProbeRequest\x120\n\x13memHotplugProbeAddr\x18\x01\x20\x03(\x04R\ - \x13memHotplugProbeAddr\"?\n\x17SetGuestDateTimeRequest\x12\x10\n\x03Sec\ - \x18\x01\x20\x01(\x03R\x03sec\x12\x12\n\x04Usec\x18\x02\x20\x01(\x03R\ - \x04usec\"\xb3\x01\n\x07Storage\x12\x16\n\x06driver\x18\x01\x20\x01(\tR\ - \x06driver\x12%\n\x0edriver_options\x18\x02\x20\x03(\tR\rdriverOptions\ - \x12\x16\n\x06source\x18\x03\x20\x01(\tR\x06source\x12\x16\n\x06fstype\ - \x18\x04\x20\x01(\tR\x06fstype\x12\x18\n\x07options\x18\x05\x20\x03(\tR\ - \x07options\x12\x1f\n\x0bmount_point\x18\x06\x20\x01(\tR\nmountPoint\"\ - \x86\x01\n\x06Device\x12\x0e\n\x02id\x18\x01\x20\x01(\tR\x02id\x12\x12\n\ - \x04type\x18\x02\x20\x01(\tR\x04type\x12\x17\n\x07vm_path\x18\x03\x20\ - \x01(\tR\x06vmPath\x12%\n\x0econtainer_path\x18\x04\x20\x01(\tR\rcontain\ - erPath\x12\x18\n\x07options\x18\x05\x20\x03(\tR\x07options\"X\n\nStringU\ - ser\x12\x10\n\x03uid\x18\x01\x20\x01(\tR\x03uid\x12\x10\n\x03gid\x18\x02\ - \x20\x01(\tR\x03gid\x12&\n\x0eadditionalGids\x18\x03\x20\x03(\tR\x0eaddi\ - tionalGids\"\xca\x01\n\x0fCopyFileRequest\x12\x12\n\x04path\x18\x01\x20\ - \x01(\tR\x04path\x12\x1b\n\tfile_size\x18\x02\x20\x01(\x03R\x08fileSize\ - \x12\x1b\n\tfile_mode\x18\x03\x20\x01(\rR\x08fileMode\x12\x19\n\x08dir_m\ - ode\x18\x04\x20\x01(\rR\x07dirMode\x12\x10\n\x03uid\x18\x05\x20\x01(\x05\ - R\x03uid\x12\x10\n\x03gid\x18\x06\x20\x01(\x05R\x03gid\x12\x16\n\x06offs\ - et\x18\x07\x20\x01(\x03R\x06offset\x12\x12\n\x04data\x18\x08\x20\x01(\ - \x0cR\x04data\"\x15\n\x13StartTracingRequest\"\x14\n\x12StopTracingReque\ - st2\x93\x10\n\x0cAgentService\x12G\n\x0fCreateContainer\x12\x1c.grpc.Cre\ - ateContainerRequest\x1a\x16.google.protobuf.Empty\x12E\n\x0eStartContain\ - er\x12\x1b.grpc.StartContainerRequest\x1a\x16.google.protobuf.Empty\x12G\ - \n\x0fRemoveContainer\x12\x1c.grpc.RemoveContainerRequest\x1a\x16.google\ - .protobuf.Empty\x12?\n\x0bExecProcess\x12\x18.grpc.ExecProcessRequest\ - \x1a\x16.google.protobuf.Empty\x12C\n\rSignalProcess\x12\x1a.grpc.Signal\ - ProcessRequest\x1a\x16.google.protobuf.Empty\x12B\n\x0bWaitProcess\x12\ - \x18.grpc.WaitProcessRequest\x1a\x19.grpc.WaitProcessResponse\x12H\n\rLi\ - stProcesses\x12\x1a.grpc.ListProcessesRequest\x1a\x1b.grpc.ListProcesses\ - Response\x12G\n\x0fUpdateContainer\x12\x1c.grpc.UpdateContainerRequest\ - \x1a\x16.google.protobuf.Empty\x12K\n\x0eStatsContainer\x12\x1b.grpc.Sta\ - tsContainerRequest\x1a\x1c.grpc.StatsContainerResponse\x12E\n\x0ePauseCo\ - ntainer\x12\x1b.grpc.PauseContainerRequest\x1a\x16.google.protobuf.Empty\ - \x12G\n\x0fResumeContainer\x12\x1c.grpc.ResumeContainerRequest\x1a\x16.g\ - oogle.protobuf.Empty\x12A\n\nWriteStdin\x12\x18.grpc.WriteStreamRequest\ - \x1a\x19.grpc.WriteStreamResponse\x12?\n\nReadStdout\x12\x17.grpc.ReadSt\ - reamRequest\x1a\x18.grpc.ReadStreamResponse\x12?\n\nReadStderr\x12\x17.g\ - rpc.ReadStreamRequest\x1a\x18.grpc.ReadStreamResponse\x12=\n\nCloseStdin\ - \x12\x17.grpc.CloseStdinRequest\x1a\x16.google.protobuf.Empty\x12A\n\x0c\ - TtyWinResize\x12\x19.grpc.TtyWinResizeRequest\x1a\x16.google.protobuf.Em\ - pty\x12A\n\x0fUpdateInterface\x12\x1c.grpc.UpdateInterfaceRequest\x1a\ - \x10.types.Interface\x127\n\x0cUpdateRoutes\x12\x19.grpc.UpdateRoutesReq\ - uest\x1a\x0c.grpc.Routes\x12?\n\x0eListInterfaces\x12\x1b.grpc.ListInter\ - facesRequest\x1a\x10.grpc.Interfaces\x123\n\nListRoutes\x12\x17.grpc.Lis\ - tRoutesRequest\x1a\x0c.grpc.Routes\x12A\n\x0cStartTracing\x12\x19.grpc.S\ - tartTracingRequest\x1a\x16.google.protobuf.Empty\x12?\n\x0bStopTracing\ - \x12\x18.grpc.StopTracingRequest\x1a\x16.google.protobuf.Empty\x12C\n\rC\ - reateSandbox\x12\x1a.grpc.CreateSandboxRequest\x1a\x16.google.protobuf.E\ - mpty\x12E\n\x0eDestroySandbox\x12\x1b.grpc.DestroySandboxRequest\x1a\x16\ - .google.protobuf.Empty\x12A\n\x0cOnlineCPUMem\x12\x19.grpc.OnlineCPUMemR\ - equest\x1a\x16.google.protobuf.Empty\x12G\n\x0fReseedRandomDev\x12\x1c.g\ - rpc.ReseedRandomDevRequest\x1a\x16.google.protobuf.Empty\x12H\n\x0fGetGu\ - estDetails\x12\x19.grpc.GuestDetailsRequest\x1a\x1a.grpc.GuestDetailsRes\ - ponse\x12K\n\x11MemHotplugByProbe\x12\x1e.grpc.MemHotplugByProbeRequest\ - \x1a\x16.google.protobuf.Empty\x12I\n\x10SetGuestDateTime\x12\x1d.grpc.S\ - etGuestDateTimeRequest\x1a\x16.google.protobuf.Empty\x129\n\x08CopyFile\ - \x12\x15.grpc.CopyFileRequest\x1a\x16.google.protobuf.EmptyJ\xff\xa4\x01\ - \n\x07\x12\x05\x07\0\xe6\x03\x01\nm\n\x01\x0c\x12\x03\x07\0\x122c\n\x20C\ - opyright\x202017\x20HyperHQ\x20Inc.\n\x20Copyright\x202019\x20Ant\x20Fin\ - ancial\n\n\x20SPDX-License-Identifier:\x20Apache-2.0\n\n\n\x08\n\x01\x02\ - \x12\x03\t\x08\x0c\n\t\n\x02\x03\0\x12\x03\x0b\x07\x12\n\t\n\x02\x03\x01\ - \x12\x03\x0c\x07?\n\t\n\x02\x03\x02\x12\x03\r\x07$\n\x16\n\x02\x06\0\x12\ - \x04\x10\0?\x01\x1a\n\x20unstable\n\n\n\n\x03\x06\0\x01\x12\x03\x10\x08\ - \x14\n\x18\n\x04\x06\0\x02\0\x12\x03\x12\x08T\x1a\x0b\x20execution\n\n\ - \x0c\n\x05\x06\0\x02\0\x01\x12\x03\x12\x0c\x1b\n\x0c\n\x05\x06\0\x02\0\ - \x02\x12\x03\x12\x1c2\n\x0c\n\x05\x06\0\x02\0\x03\x12\x03\x12=R\n\x0b\n\ - \x04\x06\0\x02\x01\x12\x03\x13\x08R\n\x0c\n\x05\x06\0\x02\x01\x01\x12\ - \x03\x13\x0c\x1a\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\x13\x1b0\n\x0c\n\ - \x05\x06\0\x02\x01\x03\x12\x03\x13;P\n\x9c\x03\n\x04\x06\0\x02\x02\x12\ - \x03\x1b\x08T\x1a\x8e\x03\x20RemoveContainer\x20will\x20tear\x20down\x20\ - an\x20existing\x20container\x20by\x20forcibly\x20terminating\n\x20all\ - \x20processes\x20running\x20inside\x20that\x20container\x20and\x20releas\ - ing\x20all\x20internal\n\x20resources\x20associated\x20with\x20it.\n\x20\ - RemoveContainer\x20will\x20wait\x20for\x20all\x20processes\x20terminatio\ - n\x20before\x20returning.\n\x20If\x20any\x20process\x20can\x20not\x20be\ - \x20killed\x20or\x20if\x20it\x20can\x20not\x20be\x20killed\x20after\n\ - \x20the\x20RemoveContainerRequest\x20timeout,\x20RemoveContainer\x20will\ - \x20return\x20an\x20error.\n\n\x0c\n\x05\x06\0\x02\x02\x01\x12\x03\x1b\ - \x0c\x1b\n\x0c\n\x05\x06\0\x02\x02\x02\x12\x03\x1b\x1c2\n\x0c\n\x05\x06\ - \0\x02\x02\x03\x12\x03\x1b=R\n\x0b\n\x04\x06\0\x02\x03\x12\x03\x1c\x08L\ - \n\x0c\n\x05\x06\0\x02\x03\x01\x12\x03\x1c\x0c\x17\n\x0c\n\x05\x06\0\x02\ - \x03\x02\x12\x03\x1c\x18*\n\x0c\n\x05\x06\0\x02\x03\x03\x12\x03\x1c5J\n\ - \x0b\n\x04\x06\0\x02\x04\x12\x03\x1d\x08P\n\x0c\n\x05\x06\0\x02\x04\x01\ - \x12\x03\x1d\x0c\x19\n\x0c\n\x05\x06\0\x02\x04\x02\x12\x03\x1d\x1a.\n\ - \x0c\n\x05\x06\0\x02\x04\x03\x12\x03\x1d9N\n*\n\x04\x06\0\x02\x05\x12\ - \x03\x1e\x08J\"\x1d\x20wait\x20&\x20reap\x20like\x20waitpid(2)\n\n\x0c\n\ - \x05\x06\0\x02\x05\x01\x12\x03\x1e\x0c\x17\n\x0c\n\x05\x06\0\x02\x05\x02\ - \x12\x03\x1e\x18*\n\x0c\n\x05\x06\0\x02\x05\x03\x12\x03\x1e5H\n\x0b\n\ - \x04\x06\0\x02\x06\x12\x03\x1f\x08P\n\x0c\n\x05\x06\0\x02\x06\x01\x12\ - \x03\x1f\x0c\x19\n\x0c\n\x05\x06\0\x02\x06\x02\x12\x03\x1f\x1a.\n\x0c\n\ - \x05\x06\0\x02\x06\x03\x12\x03\x1f9N\n\x0b\n\x04\x06\0\x02\x07\x12\x03\ - \x20\x08T\n\x0c\n\x05\x06\0\x02\x07\x01\x12\x03\x20\x0c\x1b\n\x0c\n\x05\ - \x06\0\x02\x07\x02\x12\x03\x20\x1c2\n\x0c\n\x05\x06\0\x02\x07\x03\x12\ - \x03\x20=R\n\x0b\n\x04\x06\0\x02\x08\x12\x03!\x08S\n\x0c\n\x05\x06\0\x02\ - \x08\x01\x12\x03!\x0c\x1a\n\x0c\n\x05\x06\0\x02\x08\x02\x12\x03!\x1b0\n\ - \x0c\n\x05\x06\0\x02\x08\x03\x12\x03!;Q\n\x0b\n\x04\x06\0\x02\t\x12\x03\ - \"\x08R\n\x0c\n\x05\x06\0\x02\t\x01\x12\x03\"\x0c\x1a\n\x0c\n\x05\x06\0\ - \x02\t\x02\x12\x03\"\x1b0\n\x0c\n\x05\x06\0\x02\t\x03\x12\x03\";P\n\x0b\ - \n\x04\x06\0\x02\n\x12\x03#\x08T\n\x0c\n\x05\x06\0\x02\n\x01\x12\x03#\ - \x0c\x1b\n\x0c\n\x05\x06\0\x02\n\x02\x12\x03#\x1c2\n\x0c\n\x05\x06\0\x02\ - \n\x03\x12\x03#=R\n\x14\n\x04\x06\0\x02\x0b\x12\x03&\x08I\x1a\x07\x20std\ - io\n\n\x0c\n\x05\x06\0\x02\x0b\x01\x12\x03&\x0c\x16\n\x0c\n\x05\x06\0\ - \x02\x0b\x02\x12\x03&\x17)\n\x0c\n\x05\x06\0\x02\x0b\x03\x12\x03&4G\n\ - \x0b\n\x04\x06\0\x02\x0c\x12\x03'\x08G\n\x0c\n\x05\x06\0\x02\x0c\x01\x12\ - \x03'\x0c\x16\n\x0c\n\x05\x06\0\x02\x0c\x02\x12\x03'\x17(\n\x0c\n\x05\ - \x06\0\x02\x0c\x03\x12\x03'3E\n\x0b\n\x04\x06\0\x02\r\x12\x03(\x08G\n\ - \x0c\n\x05\x06\0\x02\r\x01\x12\x03(\x0c\x16\n\x0c\n\x05\x06\0\x02\r\x02\ - \x12\x03(\x17(\n\x0c\n\x05\x06\0\x02\r\x03\x12\x03(3E\n\x0b\n\x04\x06\0\ - \x02\x0e\x12\x03)\x08J\n\x0c\n\x05\x06\0\x02\x0e\x01\x12\x03)\x0c\x16\n\ - \x0c\n\x05\x06\0\x02\x0e\x02\x12\x03)\x17(\n\x0c\n\x05\x06\0\x02\x0e\x03\ - \x12\x03)3H\n\x0b\n\x04\x06\0\x02\x0f\x12\x03*\x08N\n\x0c\n\x05\x06\0\ - \x02\x0f\x01\x12\x03*\x0c\x18\n\x0c\n\x05\x06\0\x02\x0f\x02\x12\x03*\x19\ - ,\n\x0c\n\x05\x06\0\x02\x0f\x03\x12\x03*7L\n\x19\n\x04\x06\0\x02\x10\x12\ - \x03-\x08N\x1a\x0c\x20networking\n\n\x0c\n\x05\x06\0\x02\x10\x01\x12\x03\ - -\x0c\x1b\n\x0c\n\x05\x06\0\x02\x10\x02\x12\x03-\x1c2\n\x0c\n\x05\x06\0\ - \x02\x10\x03\x12\x03-=L\n\x0b\n\x04\x06\0\x02\x11\x12\x03.\x08?\n\x0c\n\ - \x05\x06\0\x02\x11\x01\x12\x03.\x0c\x18\n\x0c\n\x05\x06\0\x02\x11\x02\ - \x12\x03.\x19,\n\x0c\n\x05\x06\0\x02\x11\x03\x12\x03.7=\n\x0b\n\x04\x06\ - \0\x02\x12\x12\x03/\x08F\n\x0c\n\x05\x06\0\x02\x12\x01\x12\x03/\x0c\x1a\ - \n\x0c\n\x05\x06\0\x02\x12\x02\x12\x03/\x1b0\n\x0c\n\x05\x06\0\x02\x12\ - \x03\x12\x03/:D\n\x0b\n\x04\x06\0\x02\x13\x12\x030\x08;\n\x0c\n\x05\x06\ - \0\x02\x13\x01\x12\x030\x0c\x16\n\x0c\n\x05\x06\0\x02\x13\x02\x12\x030\ - \x17(\n\x0c\n\x05\x06\0\x02\x13\x03\x12\x03039\n\x16\n\x04\x06\0\x02\x14\ - \x12\x033\x08N\x1a\t\x20tracing\n\n\x0c\n\x05\x06\0\x02\x14\x01\x12\x033\ - \x0c\x18\n\x0c\n\x05\x06\0\x02\x14\x02\x12\x033\x19,\n\x0c\n\x05\x06\0\ - \x02\x14\x03\x12\x0337L\n\x0b\n\x04\x06\0\x02\x15\x12\x034\x08L\n\x0c\n\ - \x05\x06\0\x02\x15\x01\x12\x034\x0c\x17\n\x0c\n\x05\x06\0\x02\x15\x02\ - \x12\x034\x18*\n\x0c\n\x05\x06\0\x02\x15\x03\x12\x0345J\nH\n\x04\x06\0\ - \x02\x16\x12\x037\x08P\x1a;\x20misc\x20(TODO:\x20some\x20rpcs\x20can\x20\ - be\x20replaced\x20by\x20hyperstart-exec)\n\n\x0c\n\x05\x06\0\x02\x16\x01\ + mn\x18\x04\x20\x01(\rR\x06column\"B\n\x0cKernelModule\x12\x12\n\x04name\ + \x18\x01\x20\x01(\tR\x04name\x12\x1e\n\nparameters\x18\x02\x20\x03(\tR\n\ + parameters\"\x96\x02\n\x14CreateSandboxRequest\x12\x1a\n\x08hostname\x18\ + \x01\x20\x01(\tR\x08hostname\x12\x10\n\x03dns\x18\x02\x20\x03(\tR\x03dns\ + \x12)\n\x08storages\x18\x03\x20\x03(\x0b2\r.grpc.StorageR\x08storages\ + \x12#\n\rsandbox_pidns\x18\x04\x20\x01(\x08R\x0csandboxPidns\x12\x1d\n\n\ + sandbox_id\x18\x05\x20\x01(\tR\tsandboxId\x12&\n\x0fguest_hook_path\x18\ + \x06\x20\x01(\tR\rguestHookPath\x129\n\x0ekernel_modules\x18\x07\x20\x03\ + (\x0b2\x12.grpc.KernelModuleR\rkernelModules\"\x17\n\x15DestroySandboxRe\ + quest\">\n\nInterfaces\x120\n\nInterfaces\x18\x01\x20\x03(\x0b2\x10.type\ + s.InterfaceR\nInterfaces\".\n\x06Routes\x12$\n\x06Routes\x18\x01\x20\x03\ + (\x0b2\x0c.types.RouteR\x06Routes\"H\n\x16UpdateInterfaceRequest\x12.\n\ + \tinterface\x18\x01\x20\x01(\x0b2\x10.types.InterfaceR\tinterface\";\n\ + \x13UpdateRoutesRequest\x12$\n\x06routes\x18\x01\x20\x01(\x0b2\x0c.grpc.\ + RoutesR\x06routes\"\x17\n\x15ListInterfacesRequest\"\x13\n\x11ListRoutes\ + Request\"]\n\x13OnlineCPUMemRequest\x12\x12\n\x04wait\x18\x01\x20\x01(\ + \x08R\x04wait\x12\x17\n\x07nb_cpus\x18\x02\x20\x01(\rR\x06nbCpus\x12\x19\ + \n\x08cpu_only\x18\x03\x20\x01(\x08R\x07cpuOnly\",\n\x16ReseedRandomDevR\ + equest\x12\x12\n\x04data\x18\x02\x20\x01(\x0cR\x04data\"\xc8\x01\n\x0cAg\ + entDetails\x12\x18\n\x07version\x18\x01\x20\x01(\tR\x07version\x12\x1f\n\ + \x0binit_daemon\x18\x02\x20\x01(\x08R\ninitDaemon\x12'\n\x0fdevice_handl\ + ers\x18\x03\x20\x03(\tR\x0edeviceHandlers\x12)\n\x10storage_handlers\x18\ + \x04\x20\x03(\tR\x0fstorageHandlers\x12)\n\x10supports_seccomp\x18\x05\ + \x20\x01(\x08R\x0fsupportsSeccomp\"g\n\x13GuestDetailsRequest\x12$\n\x0e\ + mem_block_size\x18\x01\x20\x01(\x08R\x0cmemBlockSize\x12*\n\x11mem_hotpl\ + ug_probe\x18\x02\x20\x01(\x08R\x0fmemHotplugProbe\"\xbb\x01\n\x14GuestDe\ + tailsResponse\x12/\n\x14mem_block_size_bytes\x18\x01\x20\x01(\x04R\x11me\ + mBlockSizeBytes\x127\n\ragent_details\x18\x02\x20\x01(\x0b2\x12.grpc.Age\ + ntDetailsR\x0cagentDetails\x129\n\x19support_mem_hotplug_probe\x18\x03\ + \x20\x01(\x08R\x16supportMemHotplugProbe\"L\n\x18MemHotplugByProbeReques\ + t\x120\n\x13memHotplugProbeAddr\x18\x01\x20\x03(\x04R\x13memHotplugProbe\ + Addr\"?\n\x17SetGuestDateTimeRequest\x12\x10\n\x03Sec\x18\x01\x20\x01(\ + \x03R\x03Sec\x12\x12\n\x04Usec\x18\x02\x20\x01(\x03R\x04Usec\"\xb3\x01\n\ + \x07Storage\x12\x16\n\x06driver\x18\x01\x20\x01(\tR\x06driver\x12%\n\x0e\ + driver_options\x18\x02\x20\x03(\tR\rdriverOptions\x12\x16\n\x06source\ + \x18\x03\x20\x01(\tR\x06source\x12\x16\n\x06fstype\x18\x04\x20\x01(\tR\ + \x06fstype\x12\x18\n\x07options\x18\x05\x20\x03(\tR\x07options\x12\x1f\n\ + \x0bmount_point\x18\x06\x20\x01(\tR\nmountPoint\"\x86\x01\n\x06Device\ + \x12\x0e\n\x02id\x18\x01\x20\x01(\tR\x02id\x12\x12\n\x04type\x18\x02\x20\ + \x01(\tR\x04type\x12\x17\n\x07vm_path\x18\x03\x20\x01(\tR\x06vmPath\x12%\ + \n\x0econtainer_path\x18\x04\x20\x01(\tR\rcontainerPath\x12\x18\n\x07opt\ + ions\x18\x05\x20\x03(\tR\x07options\"X\n\nStringUser\x12\x10\n\x03uid\ + \x18\x01\x20\x01(\tR\x03uid\x12\x10\n\x03gid\x18\x02\x20\x01(\tR\x03gid\ + \x12&\n\x0eadditionalGids\x18\x03\x20\x03(\tR\x0eadditionalGids\"\xca\ + \x01\n\x0fCopyFileRequest\x12\x12\n\x04path\x18\x01\x20\x01(\tR\x04path\ + \x12\x1b\n\tfile_size\x18\x02\x20\x01(\x03R\x08fileSize\x12\x1b\n\tfile_\ + mode\x18\x03\x20\x01(\rR\x08fileMode\x12\x19\n\x08dir_mode\x18\x04\x20\ + \x01(\rR\x07dirMode\x12\x10\n\x03uid\x18\x05\x20\x01(\x05R\x03uid\x12\ + \x10\n\x03gid\x18\x06\x20\x01(\x05R\x03gid\x12\x16\n\x06offset\x18\x07\ + \x20\x01(\x03R\x06offset\x12\x12\n\x04data\x18\x08\x20\x01(\x0cR\x04data\ + \"\x15\n\x13StartTracingRequest\"\x14\n\x12StopTracingRequest2\x93\x10\n\ + \x0cAgentService\x12G\n\x0fCreateContainer\x12\x1c.grpc.CreateContainerR\ + equest\x1a\x16.google.protobuf.Empty\x12E\n\x0eStartContainer\x12\x1b.gr\ + pc.StartContainerRequest\x1a\x16.google.protobuf.Empty\x12G\n\x0fRemoveC\ + ontainer\x12\x1c.grpc.RemoveContainerRequest\x1a\x16.google.protobuf.Emp\ + ty\x12?\n\x0bExecProcess\x12\x18.grpc.ExecProcessRequest\x1a\x16.google.\ + protobuf.Empty\x12C\n\rSignalProcess\x12\x1a.grpc.SignalProcessRequest\ + \x1a\x16.google.protobuf.Empty\x12B\n\x0bWaitProcess\x12\x18.grpc.WaitPr\ + ocessRequest\x1a\x19.grpc.WaitProcessResponse\x12H\n\rListProcesses\x12\ + \x1a.grpc.ListProcessesRequest\x1a\x1b.grpc.ListProcessesResponse\x12G\n\ + \x0fUpdateContainer\x12\x1c.grpc.UpdateContainerRequest\x1a\x16.google.p\ + rotobuf.Empty\x12K\n\x0eStatsContainer\x12\x1b.grpc.StatsContainerReques\ + t\x1a\x1c.grpc.StatsContainerResponse\x12E\n\x0ePauseContainer\x12\x1b.g\ + rpc.PauseContainerRequest\x1a\x16.google.protobuf.Empty\x12G\n\x0fResume\ + Container\x12\x1c.grpc.ResumeContainerRequest\x1a\x16.google.protobuf.Em\ + pty\x12A\n\nWriteStdin\x12\x18.grpc.WriteStreamRequest\x1a\x19.grpc.Writ\ + eStreamResponse\x12?\n\nReadStdout\x12\x17.grpc.ReadStreamRequest\x1a\ + \x18.grpc.ReadStreamResponse\x12?\n\nReadStderr\x12\x17.grpc.ReadStreamR\ + equest\x1a\x18.grpc.ReadStreamResponse\x12=\n\nCloseStdin\x12\x17.grpc.C\ + loseStdinRequest\x1a\x16.google.protobuf.Empty\x12A\n\x0cTtyWinResize\ + \x12\x19.grpc.TtyWinResizeRequest\x1a\x16.google.protobuf.Empty\x12A\n\ + \x0fUpdateInterface\x12\x1c.grpc.UpdateInterfaceRequest\x1a\x10.types.In\ + terface\x127\n\x0cUpdateRoutes\x12\x19.grpc.UpdateRoutesRequest\x1a\x0c.\ + grpc.Routes\x12?\n\x0eListInterfaces\x12\x1b.grpc.ListInterfacesRequest\ + \x1a\x10.grpc.Interfaces\x123\n\nListRoutes\x12\x17.grpc.ListRoutesReque\ + st\x1a\x0c.grpc.Routes\x12A\n\x0cStartTracing\x12\x19.grpc.StartTracingR\ + equest\x1a\x16.google.protobuf.Empty\x12?\n\x0bStopTracing\x12\x18.grpc.\ + StopTracingRequest\x1a\x16.google.protobuf.Empty\x12C\n\rCreateSandbox\ + \x12\x1a.grpc.CreateSandboxRequest\x1a\x16.google.protobuf.Empty\x12E\n\ + \x0eDestroySandbox\x12\x1b.grpc.DestroySandboxRequest\x1a\x16.google.pro\ + tobuf.Empty\x12A\n\x0cOnlineCPUMem\x12\x19.grpc.OnlineCPUMemRequest\x1a\ + \x16.google.protobuf.Empty\x12G\n\x0fReseedRandomDev\x12\x1c.grpc.Reseed\ + RandomDevRequest\x1a\x16.google.protobuf.Empty\x12H\n\x0fGetGuestDetails\ + \x12\x19.grpc.GuestDetailsRequest\x1a\x1a.grpc.GuestDetailsResponse\x12K\ + \n\x11MemHotplugByProbe\x12\x1e.grpc.MemHotplugByProbeRequest\x1a\x16.go\ + ogle.protobuf.Empty\x12I\n\x10SetGuestDateTime\x12\x1d.grpc.SetGuestDate\ + TimeRequest\x1a\x16.google.protobuf.Empty\x129\n\x08CopyFile\x12\x15.grp\ + c.CopyFileRequest\x1a\x16.google.protobuf.EmptyJ\x96\x99\x01\n\x07\x12\ + \x05\x07\0\xf0\x03\x01\nm\n\x01\x0c\x12\x03\x07\0\x122c\n\x20Copyright\ + \x202017\x20HyperHQ\x20Inc.\n\x20Copyright\x202019\x20Ant\x20Financial\n\ + \n\x20SPDX-License-Identifier:\x20Apache-2.0\n\n\n\x08\n\x01\x02\x12\x03\ + \t\0\r\n\t\n\x02\x03\0\x12\x03\x0b\0\x13\n\t\n\x02\x03\x01\x12\x03\x0c\0\ + @\n\t\n\x02\x03\x02\x12\x03\r\0%\n\x16\n\x02\x06\0\x12\x04\x10\0?\x01\ + \x1a\n\x20unstable\n\n\n\n\x03\x06\0\x01\x12\x03\x10\x08\x14\n\x18\n\x04\ + \x06\0\x02\0\x12\x03\x12\x08T\x1a\x0b\x20execution\n\n\x0c\n\x05\x06\0\ + \x02\0\x01\x12\x03\x12\x0c\x1b\n\x0c\n\x05\x06\0\x02\0\x02\x12\x03\x12\ + \x1c2\n\x0c\n\x05\x06\0\x02\0\x03\x12\x03\x12=R\n\x0b\n\x04\x06\0\x02\ + \x01\x12\x03\x13\x08R\n\x0c\n\x05\x06\0\x02\x01\x01\x12\x03\x13\x0c\x1a\ + \n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03\x13\x1b0\n\x0c\n\x05\x06\0\x02\ + \x01\x03\x12\x03\x13;P\n\x9c\x03\n\x04\x06\0\x02\x02\x12\x03\x1b\x08T\ + \x1a\x8e\x03\x20RemoveContainer\x20will\x20tear\x20down\x20an\x20existin\ + g\x20container\x20by\x20forcibly\x20terminating\n\x20all\x20processes\ + \x20running\x20inside\x20that\x20container\x20and\x20releasing\x20all\ + \x20internal\n\x20resources\x20associated\x20with\x20it.\n\x20RemoveCont\ + ainer\x20will\x20wait\x20for\x20all\x20processes\x20termination\x20befor\ + e\x20returning.\n\x20If\x20any\x20process\x20can\x20not\x20be\x20killed\ + \x20or\x20if\x20it\x20can\x20not\x20be\x20killed\x20after\n\x20the\x20Re\ + moveContainerRequest\x20timeout,\x20RemoveContainer\x20will\x20return\ + \x20an\x20error.\n\n\x0c\n\x05\x06\0\x02\x02\x01\x12\x03\x1b\x0c\x1b\n\ + \x0c\n\x05\x06\0\x02\x02\x02\x12\x03\x1b\x1c2\n\x0c\n\x05\x06\0\x02\x02\ + \x03\x12\x03\x1b=R\n\x0b\n\x04\x06\0\x02\x03\x12\x03\x1c\x08L\n\x0c\n\ + \x05\x06\0\x02\x03\x01\x12\x03\x1c\x0c\x17\n\x0c\n\x05\x06\0\x02\x03\x02\ + \x12\x03\x1c\x18*\n\x0c\n\x05\x06\0\x02\x03\x03\x12\x03\x1c5J\n\x0b\n\ + \x04\x06\0\x02\x04\x12\x03\x1d\x08P\n\x0c\n\x05\x06\0\x02\x04\x01\x12\ + \x03\x1d\x0c\x19\n\x0c\n\x05\x06\0\x02\x04\x02\x12\x03\x1d\x1a.\n\x0c\n\ + \x05\x06\0\x02\x04\x03\x12\x03\x1d9N\n*\n\x04\x06\0\x02\x05\x12\x03\x1e\ + \x08J\"\x1d\x20wait\x20&\x20reap\x20like\x20waitpid(2)\n\n\x0c\n\x05\x06\ + \0\x02\x05\x01\x12\x03\x1e\x0c\x17\n\x0c\n\x05\x06\0\x02\x05\x02\x12\x03\ + \x1e\x18*\n\x0c\n\x05\x06\0\x02\x05\x03\x12\x03\x1e5H\n\x0b\n\x04\x06\0\ + \x02\x06\x12\x03\x1f\x08P\n\x0c\n\x05\x06\0\x02\x06\x01\x12\x03\x1f\x0c\ + \x19\n\x0c\n\x05\x06\0\x02\x06\x02\x12\x03\x1f\x1a.\n\x0c\n\x05\x06\0\ + \x02\x06\x03\x12\x03\x1f9N\n\x0b\n\x04\x06\0\x02\x07\x12\x03\x20\x08T\n\ + \x0c\n\x05\x06\0\x02\x07\x01\x12\x03\x20\x0c\x1b\n\x0c\n\x05\x06\0\x02\ + \x07\x02\x12\x03\x20\x1c2\n\x0c\n\x05\x06\0\x02\x07\x03\x12\x03\x20=R\n\ + \x0b\n\x04\x06\0\x02\x08\x12\x03!\x08S\n\x0c\n\x05\x06\0\x02\x08\x01\x12\ + \x03!\x0c\x1a\n\x0c\n\x05\x06\0\x02\x08\x02\x12\x03!\x1b0\n\x0c\n\x05\ + \x06\0\x02\x08\x03\x12\x03!;Q\n\x0b\n\x04\x06\0\x02\t\x12\x03\"\x08R\n\ + \x0c\n\x05\x06\0\x02\t\x01\x12\x03\"\x0c\x1a\n\x0c\n\x05\x06\0\x02\t\x02\ + \x12\x03\"\x1b0\n\x0c\n\x05\x06\0\x02\t\x03\x12\x03\";P\n\x0b\n\x04\x06\ + \0\x02\n\x12\x03#\x08T\n\x0c\n\x05\x06\0\x02\n\x01\x12\x03#\x0c\x1b\n\ + \x0c\n\x05\x06\0\x02\n\x02\x12\x03#\x1c2\n\x0c\n\x05\x06\0\x02\n\x03\x12\ + \x03#=R\n\x14\n\x04\x06\0\x02\x0b\x12\x03&\x08I\x1a\x07\x20stdio\n\n\x0c\ + \n\x05\x06\0\x02\x0b\x01\x12\x03&\x0c\x16\n\x0c\n\x05\x06\0\x02\x0b\x02\ + \x12\x03&\x17)\n\x0c\n\x05\x06\0\x02\x0b\x03\x12\x03&4G\n\x0b\n\x04\x06\ + \0\x02\x0c\x12\x03'\x08G\n\x0c\n\x05\x06\0\x02\x0c\x01\x12\x03'\x0c\x16\ + \n\x0c\n\x05\x06\0\x02\x0c\x02\x12\x03'\x17(\n\x0c\n\x05\x06\0\x02\x0c\ + \x03\x12\x03'3E\n\x0b\n\x04\x06\0\x02\r\x12\x03(\x08G\n\x0c\n\x05\x06\0\ + \x02\r\x01\x12\x03(\x0c\x16\n\x0c\n\x05\x06\0\x02\r\x02\x12\x03(\x17(\n\ + \x0c\n\x05\x06\0\x02\r\x03\x12\x03(3E\n\x0b\n\x04\x06\0\x02\x0e\x12\x03)\ + \x08J\n\x0c\n\x05\x06\0\x02\x0e\x01\x12\x03)\x0c\x16\n\x0c\n\x05\x06\0\ + \x02\x0e\x02\x12\x03)\x17(\n\x0c\n\x05\x06\0\x02\x0e\x03\x12\x03)3H\n\ + \x0b\n\x04\x06\0\x02\x0f\x12\x03*\x08N\n\x0c\n\x05\x06\0\x02\x0f\x01\x12\ + \x03*\x0c\x18\n\x0c\n\x05\x06\0\x02\x0f\x02\x12\x03*\x19,\n\x0c\n\x05\ + \x06\0\x02\x0f\x03\x12\x03*7L\n\x19\n\x04\x06\0\x02\x10\x12\x03-\x08N\ + \x1a\x0c\x20networking\n\n\x0c\n\x05\x06\0\x02\x10\x01\x12\x03-\x0c\x1b\ + \n\x0c\n\x05\x06\0\x02\x10\x02\x12\x03-\x1c2\n\x0c\n\x05\x06\0\x02\x10\ + \x03\x12\x03-=L\n\x0b\n\x04\x06\0\x02\x11\x12\x03.\x08?\n\x0c\n\x05\x06\ + \0\x02\x11\x01\x12\x03.\x0c\x18\n\x0c\n\x05\x06\0\x02\x11\x02\x12\x03.\ + \x19,\n\x0c\n\x05\x06\0\x02\x11\x03\x12\x03.7=\n\x0b\n\x04\x06\0\x02\x12\ + \x12\x03/\x08F\n\x0c\n\x05\x06\0\x02\x12\x01\x12\x03/\x0c\x1a\n\x0c\n\ + \x05\x06\0\x02\x12\x02\x12\x03/\x1b0\n\x0c\n\x05\x06\0\x02\x12\x03\x12\ + \x03/:D\n\x0b\n\x04\x06\0\x02\x13\x12\x030\x08;\n\x0c\n\x05\x06\0\x02\ + \x13\x01\x12\x030\x0c\x16\n\x0c\n\x05\x06\0\x02\x13\x02\x12\x030\x17(\n\ + \x0c\n\x05\x06\0\x02\x13\x03\x12\x03039\n\x16\n\x04\x06\0\x02\x14\x12\ + \x033\x08N\x1a\t\x20tracing\n\n\x0c\n\x05\x06\0\x02\x14\x01\x12\x033\x0c\ + \x18\n\x0c\n\x05\x06\0\x02\x14\x02\x12\x033\x19,\n\x0c\n\x05\x06\0\x02\ + \x14\x03\x12\x0337L\n\x0b\n\x04\x06\0\x02\x15\x12\x034\x08L\n\x0c\n\x05\ + \x06\0\x02\x15\x01\x12\x034\x0c\x17\n\x0c\n\x05\x06\0\x02\x15\x02\x12\ + \x034\x18*\n\x0c\n\x05\x06\0\x02\x15\x03\x12\x0345J\nH\n\x04\x06\0\x02\ + \x16\x12\x037\x08P\x1a;\x20misc\x20(TODO:\x20some\x20rpcs\x20can\x20be\ + \x20replaced\x20by\x20hyperstart-exec)\n\n\x0c\n\x05\x06\0\x02\x16\x01\ \x12\x037\x0c\x19\n\x0c\n\x05\x06\0\x02\x16\x02\x12\x037\x1a.\n\x0c\n\ \x05\x06\0\x02\x16\x03\x12\x0379N\n\x0b\n\x04\x06\0\x02\x17\x12\x038\x08\ R\n\x0c\n\x05\x06\0\x02\x17\x01\x12\x038\x0c\x1a\n\x0c\n\x05\x06\0\x02\ @@ -12616,739 +12872,656 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x1d\x01\x12\x03>\x0c\x14\n\x0c\n\x05\x06\0\x02\x1d\x02\x12\x03>\x15$\n\ \x0c\n\x05\x06\0\x02\x1d\x03\x12\x03>/D\n\n\n\x02\x04\0\x12\x04A\0O\x01\ \n\n\n\x03\x04\0\x01\x12\x03A\x08\x1e\n\x0b\n\x04\x04\0\x02\0\x12\x03B\ - \x08\x20\n\r\n\x05\x04\0\x02\0\x04\x12\x04B\x08A\x20\n\x0c\n\x05\x04\0\ - \x02\0\x05\x12\x03B\x08\x0e\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03B\x0f\x1b\ - \n\x0c\n\x05\x04\0\x02\0\x03\x12\x03B\x1e\x1f\n\x0b\n\x04\x04\0\x02\x01\ - \x12\x03C\x08\x1b\n\r\n\x05\x04\0\x02\x01\x04\x12\x04C\x08B\x20\n\x0c\n\ - \x05\x04\0\x02\x01\x05\x12\x03C\x08\x0e\n\x0c\n\x05\x04\0\x02\x01\x01\ - \x12\x03C\x0f\x16\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03C\x19\x1a\n\x0b\n\ - \x04\x04\0\x02\x02\x12\x03D\x08#\n\r\n\x05\x04\0\x02\x02\x04\x12\x04D\ - \x08C\x1b\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03D\x08\x12\n\x0c\n\x05\x04\ - \0\x02\x02\x01\x12\x03D\x13\x1e\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03D!\ - \"\n\x0b\n\x04\x04\0\x02\x03\x12\x03E\x08$\n\x0c\n\x05\x04\0\x02\x03\x04\ - \x12\x03E\x08\x10\n\x0c\n\x05\x04\0\x02\x03\x06\x12\x03E\x11\x17\n\x0c\n\ - \x05\x04\0\x02\x03\x01\x12\x03E\x18\x1f\n\x0c\n\x05\x04\0\x02\x03\x03\ - \x12\x03E\"#\n\x0b\n\x04\x04\0\x02\x04\x12\x03F\x08&\n\x0c\n\x05\x04\0\ - \x02\x04\x04\x12\x03F\x08\x10\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03F\x11\ - \x18\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03F\x19!\n\x0c\n\x05\x04\0\x02\ - \x04\x03\x12\x03F$%\n\x0b\n\x04\x04\0\x02\x05\x12\x03G\x08\x15\n\r\n\x05\ - \x04\0\x02\x05\x04\x12\x04G\x08F&\n\x0c\n\x05\x04\0\x02\x05\x06\x12\x03G\ - \x08\x0c\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03G\r\x10\n\x0c\n\x05\x04\0\ - \x02\x05\x03\x12\x03G\x13\x14\n\xba\x02\n\x04\x04\0\x02\x06\x12\x03N\x08\ - \x1f\x1a\xac\x02\x20This\x20field\x20is\x20used\x20to\x20indicate\x20if\ - \x20the\x20container\x20needs\x20to\x20join\n\x20sandbox\x20shared\x20pi\ - d\x20ns\x20or\x20create\x20a\x20new\x20namespace.\x20This\x20field\x20is\ - \n\x20meant\x20to\x20override\x20the\x20NEWPID\x20config\x20settings\x20\ - in\x20the\x20OCI\x20spec.\n\x20The\x20agent\x20would\x20receive\x20an\ - \x20OCI\x20spec\x20with\x20PID\x20namespace\x20cleared\n\x20out\x20altog\ - ether\x20and\x20not\x20just\x20the\x20pid\x20ns\x20path.\n\n\r\n\x05\x04\ - \0\x02\x06\x04\x12\x04N\x08G\x15\n\x0c\n\x05\x04\0\x02\x06\x05\x12\x03N\ - \x08\x0c\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03N\r\x1a\n\x0c\n\x05\x04\0\ - \x02\x06\x03\x12\x03N\x1d\x1e\n\n\n\x02\x04\x01\x12\x04Q\0S\x01\n\n\n\ - \x03\x04\x01\x01\x12\x03Q\x08\x1d\n\x0b\n\x04\x04\x01\x02\0\x12\x03R\x08\ - \x20\n\r\n\x05\x04\x01\x02\0\x04\x12\x04R\x08Q\x1f\n\x0c\n\x05\x04\x01\ - \x02\0\x05\x12\x03R\x08\x0e\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03R\x0f\ - \x1b\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03R\x1e\x1f\n\n\n\x02\x04\x02\ - \x12\x04U\0^\x01\n\n\n\x03\x04\x02\x01\x12\x03U\x08\x1e\n\x0b\n\x04\x04\ - \x02\x02\0\x12\x03V\x08\x20\n\r\n\x05\x04\x02\x02\0\x04\x12\x04V\x08U\ - \x20\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03V\x08\x0e\n\x0c\n\x05\x04\x02\ - \x02\0\x01\x12\x03V\x0f\x1b\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03V\x1e\ - \x1f\n\xbc\x01\n\x04\x04\x02\x02\x01\x12\x03]\x08\x1b\x1a\xae\x01\x20Rem\ - oveContainer\x20will\x20return\x20an\x20error\x20if\n\x20it\x20could\x20\ - not\x20kill\x20some\x20container\x20processes\n\x20after\x20timeout\x20s\ - econds.\n\x20Setting\x20timeout\x20to\x200\x20means\x20RemoveContainer\ - \x20will\n\x20wait\x20for\x20ever.\n\n\r\n\x05\x04\x02\x02\x01\x04\x12\ - \x04]\x08V\x20\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03]\x08\x0e\n\x0c\n\ - \x05\x04\x02\x02\x01\x01\x12\x03]\x0f\x16\n\x0c\n\x05\x04\x02\x02\x01\ - \x03\x12\x03]\x19\x1a\n\n\n\x02\x04\x03\x12\x04`\0e\x01\n\n\n\x03\x04\ - \x03\x01\x12\x03`\x08\x1a\n\x0b\n\x04\x04\x03\x02\0\x12\x03a\x08\x20\n\r\ - \n\x05\x04\x03\x02\0\x04\x12\x04a\x08`\x1c\n\x0c\n\x05\x04\x03\x02\0\x05\ - \x12\x03a\x08\x0e\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03a\x0f\x1b\n\x0c\n\ - \x05\x04\x03\x02\0\x03\x12\x03a\x1e\x1f\n\x0b\n\x04\x04\x03\x02\x01\x12\ - \x03b\x08\x1b\n\r\n\x05\x04\x03\x02\x01\x04\x12\x04b\x08a\x20\n\x0c\n\ - \x05\x04\x03\x02\x01\x05\x12\x03b\x08\x0e\n\x0c\n\x05\x04\x03\x02\x01\ - \x01\x12\x03b\x0f\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03b\x19\x1a\n\ - \x0b\n\x04\x04\x03\x02\x02\x12\x03c\x08#\n\r\n\x05\x04\x03\x02\x02\x04\ - \x12\x04c\x08b\x1b\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03c\x08\x12\n\ - \x0c\n\x05\x04\x03\x02\x02\x01\x12\x03c\x13\x1e\n\x0c\n\x05\x04\x03\x02\ - \x02\x03\x12\x03c!\"\n\x0b\n\x04\x04\x03\x02\x03\x12\x03d\x08\x1c\n\r\n\ - \x05\x04\x03\x02\x03\x04\x12\x04d\x08c#\n\x0c\n\x05\x04\x03\x02\x03\x06\ - \x12\x03d\x08\x0f\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03d\x10\x17\n\x0c\ - \n\x05\x04\x03\x02\x03\x03\x12\x03d\x1a\x1b\n\n\n\x02\x04\x04\x12\x04g\0\ - o\x01\n\n\n\x03\x04\x04\x01\x12\x03g\x08\x1c\n\x0b\n\x04\x04\x04\x02\0\ - \x12\x03h\x08\x20\n\r\n\x05\x04\x04\x02\0\x04\x12\x04h\x08g\x1e\n\x0c\n\ - \x05\x04\x04\x02\0\x05\x12\x03h\x08\x0e\n\x0c\n\x05\x04\x04\x02\0\x01\ - \x12\x03h\x0f\x1b\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03h\x1e\x1f\n\xe8\ - \x01\n\x04\x04\x04\x02\x01\x12\x03m\x08\x1b\x1a\xda\x01\x20Special\x20ca\ - se\x20for\x20SignalProcess():\x20exec_id\x20can\x20be\x20empty(\"\"),\n\ - \x20which\x20means\x20to\x20send\x20the\x20signal\x20to\x20all\x20the\ - \x20processes\x20including\x20their\x20descendants.\n\x20Other\x20APIs\ - \x20with\x20exec_id\x20should\x20treat\x20empty\x20exec_id\x20as\x20an\ - \x20invalid\x20request.\n\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04m\x08h\ - \x20\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03m\x08\x0e\n\x0c\n\x05\x04\ - \x04\x02\x01\x01\x12\x03m\x0f\x16\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\ - \x03m\x19\x1a\n\x0b\n\x04\x04\x04\x02\x02\x12\x03n\x08\x1a\n\r\n\x05\x04\ - \x04\x02\x02\x04\x12\x04n\x08m\x1b\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\ - \x03n\x08\x0e\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03n\x0f\x15\n\x0c\n\ - \x05\x04\x04\x02\x02\x03\x12\x03n\x18\x19\n\n\n\x02\x04\x05\x12\x04q\0t\ - \x01\n\n\n\x03\x04\x05\x01\x12\x03q\x08\x1a\n\x0b\n\x04\x04\x05\x02\0\ - \x12\x03r\x08\x20\n\r\n\x05\x04\x05\x02\0\x04\x12\x04r\x08q\x1c\n\x0c\n\ - \x05\x04\x05\x02\0\x05\x12\x03r\x08\x0e\n\x0c\n\x05\x04\x05\x02\0\x01\ - \x12\x03r\x0f\x1b\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03r\x1e\x1f\n\x0b\n\ - \x04\x04\x05\x02\x01\x12\x03s\x08\x1b\n\r\n\x05\x04\x05\x02\x01\x04\x12\ - \x04s\x08r\x20\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03s\x08\x0e\n\x0c\n\ - \x05\x04\x05\x02\x01\x01\x12\x03s\x0f\x16\n\x0c\n\x05\x04\x05\x02\x01\ - \x03\x12\x03s\x19\x1a\n\n\n\x02\x04\x06\x12\x04v\0x\x01\n\n\n\x03\x04\ - \x06\x01\x12\x03v\x08\x1b\n\x0b\n\x04\x04\x06\x02\0\x12\x03w\x08\x19\n\r\ - \n\x05\x04\x06\x02\0\x04\x12\x04w\x08v\x1d\n\x0c\n\x05\x04\x06\x02\0\x05\ - \x12\x03w\x08\r\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x03w\x0e\x14\n\x0c\n\ - \x05\x04\x06\x02\0\x03\x12\x03w\x17\x18\nk\n\x02\x04\x07\x12\x04{\0\x7f\ - \x01\x1a_\x20ListProcessesRequest\x20contains\x20the\x20options\x20used\ - \x20to\x20list\x20running\x20processes\x20inside\x20the\x20container\n\n\ - \n\n\x03\x04\x07\x01\x12\x03{\x08\x1c\n\x0b\n\x04\x04\x07\x02\0\x12\x03|\ - \x08\x20\n\r\n\x05\x04\x07\x02\0\x04\x12\x04|\x08{\x1e\n\x0c\n\x05\x04\ - \x07\x02\0\x05\x12\x03|\x08\x0e\n\x0c\n\x05\x04\x07\x02\0\x01\x12\x03|\ - \x0f\x1b\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03|\x1e\x1f\n\x0b\n\x04\x04\ - \x07\x02\x01\x12\x03}\x08\x1a\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04}\x08\ - |\x20\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03}\x08\x0e\n\x0c\n\x05\x04\ - \x07\x02\x01\x01\x12\x03}\x0f\x15\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\ - \x03}\x18\x19\n\x0b\n\x04\x04\x07\x02\x02\x12\x03~\x08!\n\x0c\n\x05\x04\ - \x07\x02\x02\x04\x12\x03~\x08\x10\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\ - \x03~\x11\x17\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03~\x18\x1c\n\x0c\n\ - \x05\x04\x07\x02\x02\x03\x12\x03~\x1f\x20\nc\n\x02\x04\x08\x12\x06\x82\ + \x08\x20\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03B\x08\x0e\n\x0c\n\x05\x04\0\ + \x02\0\x01\x12\x03B\x0f\x1b\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03B\x1e\x1f\ + \n\x0b\n\x04\x04\0\x02\x01\x12\x03C\x08\x1b\n\x0c\n\x05\x04\0\x02\x01\ + \x05\x12\x03C\x08\x0e\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03C\x0f\x16\n\ + \x0c\n\x05\x04\0\x02\x01\x03\x12\x03C\x19\x1a\n\x0b\n\x04\x04\0\x02\x02\ + \x12\x03D\x08#\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03D\x08\x12\n\x0c\n\ + \x05\x04\0\x02\x02\x01\x12\x03D\x13\x1e\n\x0c\n\x05\x04\0\x02\x02\x03\ + \x12\x03D!\"\n\x0b\n\x04\x04\0\x02\x03\x12\x03E\x08$\n\x0c\n\x05\x04\0\ + \x02\x03\x04\x12\x03E\x08\x10\n\x0c\n\x05\x04\0\x02\x03\x06\x12\x03E\x11\ + \x17\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03E\x18\x1f\n\x0c\n\x05\x04\0\ + \x02\x03\x03\x12\x03E\"#\n\x0b\n\x04\x04\0\x02\x04\x12\x03F\x08&\n\x0c\n\ + \x05\x04\0\x02\x04\x04\x12\x03F\x08\x10\n\x0c\n\x05\x04\0\x02\x04\x06\ + \x12\x03F\x11\x18\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03F\x19!\n\x0c\n\ + \x05\x04\0\x02\x04\x03\x12\x03F$%\n\x0b\n\x04\x04\0\x02\x05\x12\x03G\x08\ + \x15\n\x0c\n\x05\x04\0\x02\x05\x06\x12\x03G\x08\x0c\n\x0c\n\x05\x04\0\ + \x02\x05\x01\x12\x03G\r\x10\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03G\x13\ + \x14\n\xba\x02\n\x04\x04\0\x02\x06\x12\x03N\x08\x1f\x1a\xac\x02\x20This\ + \x20field\x20is\x20used\x20to\x20indicate\x20if\x20the\x20container\x20n\ + eeds\x20to\x20join\n\x20sandbox\x20shared\x20pid\x20ns\x20or\x20create\ + \x20a\x20new\x20namespace.\x20This\x20field\x20is\n\x20meant\x20to\x20ov\ + erride\x20the\x20NEWPID\x20config\x20settings\x20in\x20the\x20OCI\x20spe\ + c.\n\x20The\x20agent\x20would\x20receive\x20an\x20OCI\x20spec\x20with\ + \x20PID\x20namespace\x20cleared\n\x20out\x20altogether\x20and\x20not\x20\ + just\x20the\x20pid\x20ns\x20path.\n\n\x0c\n\x05\x04\0\x02\x06\x05\x12\ + \x03N\x08\x0c\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03N\r\x1a\n\x0c\n\x05\ + \x04\0\x02\x06\x03\x12\x03N\x1d\x1e\n\n\n\x02\x04\x01\x12\x04Q\0S\x01\n\ + \n\n\x03\x04\x01\x01\x12\x03Q\x08\x1d\n\x0b\n\x04\x04\x01\x02\0\x12\x03R\ + \x08\x20\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03R\x08\x0e\n\x0c\n\x05\x04\ + \x01\x02\0\x01\x12\x03R\x0f\x1b\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03R\ + \x1e\x1f\n\n\n\x02\x04\x02\x12\x04U\0^\x01\n\n\n\x03\x04\x02\x01\x12\x03\ + U\x08\x1e\n\x0b\n\x04\x04\x02\x02\0\x12\x03V\x08\x20\n\x0c\n\x05\x04\x02\ + \x02\0\x05\x12\x03V\x08\x0e\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03V\x0f\ + \x1b\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03V\x1e\x1f\n\xbc\x01\n\x04\x04\ + \x02\x02\x01\x12\x03]\x08\x1b\x1a\xae\x01\x20RemoveContainer\x20will\x20\ + return\x20an\x20error\x20if\n\x20it\x20could\x20not\x20kill\x20some\x20c\ + ontainer\x20processes\n\x20after\x20timeout\x20seconds.\n\x20Setting\x20\ + timeout\x20to\x200\x20means\x20RemoveContainer\x20will\n\x20wait\x20for\ + \x20ever.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03]\x08\x0e\n\x0c\n\x05\ + \x04\x02\x02\x01\x01\x12\x03]\x0f\x16\n\x0c\n\x05\x04\x02\x02\x01\x03\ + \x12\x03]\x19\x1a\n\n\n\x02\x04\x03\x12\x04`\0e\x01\n\n\n\x03\x04\x03\ + \x01\x12\x03`\x08\x1a\n\x0b\n\x04\x04\x03\x02\0\x12\x03a\x08\x20\n\x0c\n\ + \x05\x04\x03\x02\0\x05\x12\x03a\x08\x0e\n\x0c\n\x05\x04\x03\x02\0\x01\ + \x12\x03a\x0f\x1b\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03a\x1e\x1f\n\x0b\n\ + \x04\x04\x03\x02\x01\x12\x03b\x08\x1b\n\x0c\n\x05\x04\x03\x02\x01\x05\ + \x12\x03b\x08\x0e\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03b\x0f\x16\n\x0c\ + \n\x05\x04\x03\x02\x01\x03\x12\x03b\x19\x1a\n\x0b\n\x04\x04\x03\x02\x02\ + \x12\x03c\x08#\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03c\x08\x12\n\x0c\n\ + \x05\x04\x03\x02\x02\x01\x12\x03c\x13\x1e\n\x0c\n\x05\x04\x03\x02\x02\ + \x03\x12\x03c!\"\n\x0b\n\x04\x04\x03\x02\x03\x12\x03d\x08\x1c\n\x0c\n\ + \x05\x04\x03\x02\x03\x06\x12\x03d\x08\x0f\n\x0c\n\x05\x04\x03\x02\x03\ + \x01\x12\x03d\x10\x17\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03d\x1a\x1b\n\ + \n\n\x02\x04\x04\x12\x04g\0o\x01\n\n\n\x03\x04\x04\x01\x12\x03g\x08\x1c\ + \n\x0b\n\x04\x04\x04\x02\0\x12\x03h\x08\x20\n\x0c\n\x05\x04\x04\x02\0\ + \x05\x12\x03h\x08\x0e\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03h\x0f\x1b\n\ + \x0c\n\x05\x04\x04\x02\0\x03\x12\x03h\x1e\x1f\n\xe8\x01\n\x04\x04\x04\ + \x02\x01\x12\x03m\x08\x1b\x1a\xda\x01\x20Special\x20case\x20for\x20Signa\ + lProcess():\x20exec_id\x20can\x20be\x20empty(\"\"),\n\x20which\x20means\ + \x20to\x20send\x20the\x20signal\x20to\x20all\x20the\x20processes\x20incl\ + uding\x20their\x20descendants.\n\x20Other\x20APIs\x20with\x20exec_id\x20\ + should\x20treat\x20empty\x20exec_id\x20as\x20an\x20invalid\x20request.\n\ + \n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03m\x08\x0e\n\x0c\n\x05\x04\x04\ + \x02\x01\x01\x12\x03m\x0f\x16\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03m\ + \x19\x1a\n\x0b\n\x04\x04\x04\x02\x02\x12\x03n\x08\x1a\n\x0c\n\x05\x04\ + \x04\x02\x02\x05\x12\x03n\x08\x0e\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\ + \x03n\x0f\x15\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03n\x18\x19\n\n\n\x02\ + \x04\x05\x12\x04q\0t\x01\n\n\n\x03\x04\x05\x01\x12\x03q\x08\x1a\n\x0b\n\ + \x04\x04\x05\x02\0\x12\x03r\x08\x20\n\x0c\n\x05\x04\x05\x02\0\x05\x12\ + \x03r\x08\x0e\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03r\x0f\x1b\n\x0c\n\x05\ + \x04\x05\x02\0\x03\x12\x03r\x1e\x1f\n\x0b\n\x04\x04\x05\x02\x01\x12\x03s\ + \x08\x1b\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03s\x08\x0e\n\x0c\n\x05\ + \x04\x05\x02\x01\x01\x12\x03s\x0f\x16\n\x0c\n\x05\x04\x05\x02\x01\x03\ + \x12\x03s\x19\x1a\n\n\n\x02\x04\x06\x12\x04v\0x\x01\n\n\n\x03\x04\x06\ + \x01\x12\x03v\x08\x1b\n\x0b\n\x04\x04\x06\x02\0\x12\x03w\x08\x19\n\x0c\n\ + \x05\x04\x06\x02\0\x05\x12\x03w\x08\r\n\x0c\n\x05\x04\x06\x02\0\x01\x12\ + \x03w\x0e\x14\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03w\x17\x18\nk\n\x02\ + \x04\x07\x12\x04{\0\x7f\x01\x1a_\x20ListProcessesRequest\x20contains\x20\ + the\x20options\x20used\x20to\x20list\x20running\x20processes\x20inside\ + \x20the\x20container\n\n\n\n\x03\x04\x07\x01\x12\x03{\x08\x1c\n\x0b\n\ + \x04\x04\x07\x02\0\x12\x03|\x08\x20\n\x0c\n\x05\x04\x07\x02\0\x05\x12\ + \x03|\x08\x0e\n\x0c\n\x05\x04\x07\x02\0\x01\x12\x03|\x0f\x1b\n\x0c\n\x05\ + \x04\x07\x02\0\x03\x12\x03|\x1e\x1f\n\x0b\n\x04\x04\x07\x02\x01\x12\x03}\ + \x08\x1a\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03}\x08\x0e\n\x0c\n\x05\ + \x04\x07\x02\x01\x01\x12\x03}\x0f\x15\n\x0c\n\x05\x04\x07\x02\x01\x03\ + \x12\x03}\x18\x19\n\x0b\n\x04\x04\x07\x02\x02\x12\x03~\x08!\n\x0c\n\x05\ + \x04\x07\x02\x02\x04\x12\x03~\x08\x10\n\x0c\n\x05\x04\x07\x02\x02\x05\ + \x12\x03~\x11\x17\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03~\x18\x1c\n\x0c\ + \n\x05\x04\x07\x02\x02\x03\x12\x03~\x1f\x20\nc\n\x02\x04\x08\x12\x06\x82\ \x01\0\x84\x01\x01\x1aU\x20ListProcessesResponse\x20represents\x20the\ \x20list\x20of\x20running\x20processes\x20inside\x20the\x20container\n\n\ \x0b\n\x03\x04\x08\x01\x12\x04\x82\x01\x08\x1d\n\x0c\n\x04\x04\x08\x02\0\ - \x12\x04\x83\x01\x08\x1f\n\x0f\n\x05\x04\x08\x02\0\x04\x12\x06\x83\x01\ - \x08\x82\x01\x1f\n\r\n\x05\x04\x08\x02\0\x05\x12\x04\x83\x01\x08\r\n\r\n\ - \x05\x04\x08\x02\0\x01\x12\x04\x83\x01\x0e\x1a\n\r\n\x05\x04\x08\x02\0\ - \x03\x12\x04\x83\x01\x1d\x1e\n\x0c\n\x02\x04\t\x12\x06\x86\x01\0\x89\x01\ - \x01\n\x0b\n\x03\x04\t\x01\x12\x04\x86\x01\x08\x1e\n\x0c\n\x04\x04\t\x02\ - \0\x12\x04\x87\x01\x08\x20\n\x0f\n\x05\x04\t\x02\0\x04\x12\x06\x87\x01\ - \x08\x86\x01\x20\n\r\n\x05\x04\t\x02\0\x05\x12\x04\x87\x01\x08\x0e\n\r\n\ - \x05\x04\t\x02\0\x01\x12\x04\x87\x01\x0f\x1b\n\r\n\x05\x04\t\x02\0\x03\ - \x12\x04\x87\x01\x1e\x1f\n\x0c\n\x04\x04\t\x02\x01\x12\x04\x88\x01\x08%\ - \n\x0f\n\x05\x04\t\x02\x01\x04\x12\x06\x88\x01\x08\x87\x01\x20\n\r\n\x05\ - \x04\t\x02\x01\x06\x12\x04\x88\x01\x08\x16\n\r\n\x05\x04\t\x02\x01\x01\ - \x12\x04\x88\x01\x17\x20\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\x88\x01#$\n\ - \x0c\n\x02\x04\n\x12\x06\x8b\x01\0\x8d\x01\x01\n\x0b\n\x03\x04\n\x01\x12\ - \x04\x8b\x01\x08\x1d\n\x0c\n\x04\x04\n\x02\0\x12\x04\x8c\x01\x04\x1c\n\ - \x0f\n\x05\x04\n\x02\0\x04\x12\x06\x8c\x01\x04\x8b\x01\x1f\n\r\n\x05\x04\ - \n\x02\0\x05\x12\x04\x8c\x01\x04\n\n\r\n\x05\x04\n\x02\0\x01\x12\x04\x8c\ - \x01\x0b\x17\n\r\n\x05\x04\n\x02\0\x03\x12\x04\x8c\x01\x1a\x1b\n\x0c\n\ - \x02\x04\x0b\x12\x06\x8f\x01\0\x91\x01\x01\n\x0b\n\x03\x04\x0b\x01\x12\ - \x04\x8f\x01\x08\x1d\n\x0c\n\x04\x04\x0b\x02\0\x12\x04\x90\x01\x04\x1c\n\ - \x0f\n\x05\x04\x0b\x02\0\x04\x12\x06\x90\x01\x04\x8f\x01\x1f\n\r\n\x05\ - \x04\x0b\x02\0\x05\x12\x04\x90\x01\x04\n\n\r\n\x05\x04\x0b\x02\0\x01\x12\ - \x04\x90\x01\x0b\x17\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\x90\x01\x1a\x1b\ - \n\x0c\n\x02\x04\x0c\x12\x06\x93\x01\0\x95\x01\x01\n\x0b\n\x03\x04\x0c\ - \x01\x12\x04\x93\x01\x08\x1e\n\x0c\n\x04\x04\x0c\x02\0\x12\x04\x94\x01\ - \x04\x1c\n\x0f\n\x05\x04\x0c\x02\0\x04\x12\x06\x94\x01\x04\x93\x01\x20\n\ - \r\n\x05\x04\x0c\x02\0\x05\x12\x04\x94\x01\x04\n\n\r\n\x05\x04\x0c\x02\0\ - \x01\x12\x04\x94\x01\x0b\x17\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\x94\x01\ - \x1a\x1b\n\x0c\n\x02\x04\r\x12\x06\x97\x01\0\x9c\x01\x01\n\x0b\n\x03\x04\ - \r\x01\x12\x04\x97\x01\x08\x10\n\x0c\n\x04\x04\r\x02\0\x12\x04\x98\x01\ - \x08\x1f\n\x0f\n\x05\x04\r\x02\0\x04\x12\x06\x98\x01\x08\x97\x01\x12\n\r\ + \x12\x04\x83\x01\x08\x1f\n\r\n\x05\x04\x08\x02\0\x05\x12\x04\x83\x01\x08\ + \r\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\x83\x01\x0e\x1a\n\r\n\x05\x04\x08\ + \x02\0\x03\x12\x04\x83\x01\x1d\x1e\n\x0c\n\x02\x04\t\x12\x06\x86\x01\0\ + \x89\x01\x01\n\x0b\n\x03\x04\t\x01\x12\x04\x86\x01\x08\x1e\n\x0c\n\x04\ + \x04\t\x02\0\x12\x04\x87\x01\x08\x20\n\r\n\x05\x04\t\x02\0\x05\x12\x04\ + \x87\x01\x08\x0e\n\r\n\x05\x04\t\x02\0\x01\x12\x04\x87\x01\x0f\x1b\n\r\n\ + \x05\x04\t\x02\0\x03\x12\x04\x87\x01\x1e\x1f\n\x0c\n\x04\x04\t\x02\x01\ + \x12\x04\x88\x01\x08%\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\x88\x01\x08\ + \x16\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\x88\x01\x17\x20\n\r\n\x05\x04\t\ + \x02\x01\x03\x12\x04\x88\x01#$\n\x0c\n\x02\x04\n\x12\x06\x8b\x01\0\x8d\ + \x01\x01\n\x0b\n\x03\x04\n\x01\x12\x04\x8b\x01\x08\x1d\n\x0c\n\x04\x04\n\ + \x02\0\x12\x04\x8c\x01\x04\x1c\n\r\n\x05\x04\n\x02\0\x05\x12\x04\x8c\x01\ + \x04\n\n\r\n\x05\x04\n\x02\0\x01\x12\x04\x8c\x01\x0b\x17\n\r\n\x05\x04\n\ + \x02\0\x03\x12\x04\x8c\x01\x1a\x1b\n\x0c\n\x02\x04\x0b\x12\x06\x8f\x01\0\ + \x91\x01\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\x8f\x01\x08\x1d\n\x0c\n\x04\ + \x04\x0b\x02\0\x12\x04\x90\x01\x04\x1c\n\r\n\x05\x04\x0b\x02\0\x05\x12\ + \x04\x90\x01\x04\n\n\r\n\x05\x04\x0b\x02\0\x01\x12\x04\x90\x01\x0b\x17\n\ + \r\n\x05\x04\x0b\x02\0\x03\x12\x04\x90\x01\x1a\x1b\n\x0c\n\x02\x04\x0c\ + \x12\x06\x93\x01\0\x95\x01\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\x93\x01\ + \x08\x1e\n\x0c\n\x04\x04\x0c\x02\0\x12\x04\x94\x01\x04\x1c\n\r\n\x05\x04\ + \x0c\x02\0\x05\x12\x04\x94\x01\x04\n\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\ + \x94\x01\x0b\x17\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\x94\x01\x1a\x1b\n\ + \x0c\n\x02\x04\r\x12\x06\x97\x01\0\x9c\x01\x01\n\x0b\n\x03\x04\r\x01\x12\ + \x04\x97\x01\x08\x10\n\x0c\n\x04\x04\r\x02\0\x12\x04\x98\x01\x08\x1f\n\r\ \n\x05\x04\r\x02\0\x05\x12\x04\x98\x01\x08\x0e\n\r\n\x05\x04\r\x02\0\x01\ \x12\x04\x98\x01\x0f\x1a\n\r\n\x05\x04\r\x02\0\x03\x12\x04\x98\x01\x1d\ \x1e\n\x0c\n\x04\x04\r\x02\x01\x12\x04\x99\x01\x08)\n\r\n\x05\x04\r\x02\ \x01\x04\x12\x04\x99\x01\x08\x10\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\x99\ \x01\x11\x17\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\x99\x01\x18$\n\r\n\x05\ \x04\r\x02\x01\x03\x12\x04\x99\x01'(\n\x0c\n\x04\x04\r\x02\x02\x12\x04\ - \x9a\x01\x08'\n\x0f\n\x05\x04\r\x02\x02\x04\x12\x06\x9a\x01\x08\x99\x01)\ - \n\r\n\x05\x04\r\x02\x02\x05\x12\x04\x9a\x01\x08\x0e\n\r\n\x05\x04\r\x02\ - \x02\x01\x12\x04\x9a\x01\x0f\"\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\x9a\ - \x01%&\n\x0c\n\x04\x04\r\x02\x03\x12\x04\x9b\x01\x08%\n\x0f\n\x05\x04\r\ - \x02\x03\x04\x12\x06\x9b\x01\x08\x9a\x01'\n\r\n\x05\x04\r\x02\x03\x05\ - \x12\x04\x9b\x01\x08\x0e\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\x9b\x01\x0f\ - \x20\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\x9b\x01#$\n\x0c\n\x02\x04\x0e\ - \x12\x06\x9e\x01\0\xa2\x01\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\x9e\x01\ - \x08\x16\n\x0c\n\x04\x04\x0e\x02\0\x12\x04\x9f\x01\x08\x1b\n\x0f\n\x05\ - \x04\x0e\x02\0\x04\x12\x06\x9f\x01\x08\x9e\x01\x18\n\r\n\x05\x04\x0e\x02\ - \0\x05\x12\x04\x9f\x01\x08\x0e\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\x9f\ - \x01\x0f\x16\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\x9f\x01\x19\x1a\n\x0c\n\ - \x04\x04\x0e\x02\x01\x12\x04\xa0\x01\x08%\n\x0f\n\x05\x04\x0e\x02\x01\ - \x04\x12\x06\xa0\x01\x08\x9f\x01\x1b\n\r\n\x05\x04\x0e\x02\x01\x05\x12\ - \x04\xa0\x01\x08\x0e\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xa0\x01\x0f\ - \x20\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xa0\x01#$\n\x0c\n\x04\x04\x0e\ - \x02\x02\x12\x04\xa1\x01\x08\"\n\x0f\n\x05\x04\x0e\x02\x02\x04\x12\x06\ - \xa1\x01\x08\xa0\x01%\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xa1\x01\x08\ - \x0e\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xa1\x01\x0f\x1d\n\r\n\x05\x04\ - \x0e\x02\x02\x03\x12\x04\xa1\x01\x20!\n\x0c\n\x02\x04\x0f\x12\x06\xa4\ - \x01\0\xa7\x01\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\xa4\x01\x08\x10\n\x0c\ - \n\x04\x04\x0f\x02\0\x12\x04\xa5\x01\x08\x1f\n\x0f\n\x05\x04\x0f\x02\0\ - \x04\x12\x06\xa5\x01\x08\xa4\x01\x12\n\r\n\x05\x04\x0f\x02\0\x06\x12\x04\ - \xa5\x01\x08\x10\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\xa5\x01\x11\x1a\n\r\ - \n\x05\x04\x0f\x02\0\x03\x12\x04\xa5\x01\x1d\x1e\n\x0c\n\x04\x04\x0f\x02\ - \x01\x12\x04\xa6\x01\x08+\n\x0f\n\x05\x04\x0f\x02\x01\x04\x12\x06\xa6\ - \x01\x08\xa5\x01\x1f\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xa6\x01\x08\ - \x16\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xa6\x01\x17&\n\r\n\x05\x04\ - \x0f\x02\x01\x03\x12\x04\xa6\x01)*\n\x0c\n\x02\x04\x10\x12\x06\xa9\x01\0\ - \xac\x01\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xa9\x01\x08\x11\n\x0c\n\x04\ - \x04\x10\x02\0\x12\x04\xaa\x01\x08\x1b\n\x0f\n\x05\x04\x10\x02\0\x04\x12\ - \x06\xaa\x01\x08\xa9\x01\x13\n\r\n\x05\x04\x10\x02\0\x05\x12\x04\xaa\x01\ - \x08\x0e\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xaa\x01\x0f\x16\n\r\n\x05\ - \x04\x10\x02\0\x03\x12\x04\xaa\x01\x19\x1a\n\x0c\n\x04\x04\x10\x02\x01\ - \x12\x04\xab\x01\x08\x19\n\x0f\n\x05\x04\x10\x02\x01\x04\x12\x06\xab\x01\ - \x08\xaa\x01\x1b\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xab\x01\x08\x0e\n\ - \r\n\x05\x04\x10\x02\x01\x01\x12\x04\xab\x01\x0f\x14\n\r\n\x05\x04\x10\ - \x02\x01\x03\x12\x04\xab\x01\x17\x18\n\x0c\n\x02\x04\x11\x12\x06\xae\x01\ - \0\xb3\x01\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xae\x01\x08\x12\n\x0c\n\ - \x04\x04\x11\x02\0\x12\x04\xaf\x01\x08\x19\n\x0f\n\x05\x04\x11\x02\0\x04\ - \x12\x06\xaf\x01\x08\xae\x01\x14\n\r\n\x05\x04\x11\x02\0\x05\x12\x04\xaf\ - \x01\x08\x0e\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\xaf\x01\x0f\x14\n\r\n\ - \x05\x04\x11\x02\0\x03\x12\x04\xaf\x01\x17\x18\n\x0c\n\x04\x04\x11\x02\ - \x01\x12\x04\xb0\x01\x08\x1d\n\x0f\n\x05\x04\x11\x02\x01\x04\x12\x06\xb0\ - \x01\x08\xaf\x01\x19\n\r\n\x05\x04\x11\x02\x01\x05\x12\x04\xb0\x01\x08\ - \x0e\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xb0\x01\x0f\x18\n\r\n\x05\x04\ - \x11\x02\x01\x03\x12\x04\xb0\x01\x1b\x1c\n\x0c\n\x04\x04\x11\x02\x02\x12\ - \x04\xb1\x01\x08\x1b\n\x0f\n\x05\x04\x11\x02\x02\x04\x12\x06\xb1\x01\x08\ - \xb0\x01\x1d\n\r\n\x05\x04\x11\x02\x02\x05\x12\x04\xb1\x01\x08\x0e\n\r\n\ - \x05\x04\x11\x02\x02\x01\x12\x04\xb1\x01\x0f\x16\n\r\n\x05\x04\x11\x02\ - \x02\x03\x12\x04\xb1\x01\x19\x1a\n\x0c\n\x04\x04\x11\x02\x03\x12\x04\xb2\ - \x01\x08\x19\n\x0f\n\x05\x04\x11\x02\x03\x04\x12\x06\xb2\x01\x08\xb1\x01\ - \x1b\n\r\n\x05\x04\x11\x02\x03\x05\x12\x04\xb2\x01\x08\x0e\n\r\n\x05\x04\ - \x11\x02\x03\x01\x12\x04\xb2\x01\x0f\x14\n\r\n\x05\x04\x11\x02\x03\x03\ - \x12\x04\xb2\x01\x17\x18\n\x0c\n\x02\x04\x12\x12\x06\xb5\x01\0\xbc\x01\ - \x01\n\x0b\n\x03\x04\x12\x01\x12\x04\xb5\x01\x08\x13\n\x0c\n\x04\x04\x12\ - \x02\0\x12\x04\xb6\x01\x08\x19\n\x0f\n\x05\x04\x12\x02\0\x04\x12\x06\xb6\ - \x01\x08\xb5\x01\x15\n\r\n\x05\x04\x12\x02\0\x05\x12\x04\xb6\x01\x08\x0e\ - \n\r\n\x05\x04\x12\x02\0\x01\x12\x04\xb6\x01\x0f\x14\n\r\n\x05\x04\x12\ - \x02\0\x03\x12\x04\xb6\x01\x17\x18\n\x0c\n\x04\x04\x12\x02\x01\x12\x04\ - \xb7\x01\x08\x1d\n\x0f\n\x05\x04\x12\x02\x01\x04\x12\x06\xb7\x01\x08\xb6\ - \x01\x19\n\r\n\x05\x04\x12\x02\x01\x06\x12\x04\xb7\x01\x08\x12\n\r\n\x05\ - \x04\x12\x02\x01\x01\x12\x04\xb7\x01\x13\x18\n\r\n\x05\x04\x12\x02\x01\ - \x03\x12\x04\xb7\x01\x1b\x1c\n\x0c\n\x04\x04\x12\x02\x02\x12\x04\xb8\x01\ - \x08\"\n\x0f\n\x05\x04\x12\x02\x02\x04\x12\x06\xb8\x01\x08\xb7\x01\x1d\n\ + \x9a\x01\x08'\n\r\n\x05\x04\r\x02\x02\x05\x12\x04\x9a\x01\x08\x0e\n\r\n\ + \x05\x04\r\x02\x02\x01\x12\x04\x9a\x01\x0f\"\n\r\n\x05\x04\r\x02\x02\x03\ + \x12\x04\x9a\x01%&\n\x0c\n\x04\x04\r\x02\x03\x12\x04\x9b\x01\x08%\n\r\n\ + \x05\x04\r\x02\x03\x05\x12\x04\x9b\x01\x08\x0e\n\r\n\x05\x04\r\x02\x03\ + \x01\x12\x04\x9b\x01\x0f\x20\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\x9b\x01\ + #$\n\x0c\n\x02\x04\x0e\x12\x06\x9e\x01\0\xa2\x01\x01\n\x0b\n\x03\x04\x0e\ + \x01\x12\x04\x9e\x01\x08\x16\n\x0c\n\x04\x04\x0e\x02\0\x12\x04\x9f\x01\ + \x08\x1b\n\r\n\x05\x04\x0e\x02\0\x05\x12\x04\x9f\x01\x08\x0e\n\r\n\x05\ + \x04\x0e\x02\0\x01\x12\x04\x9f\x01\x0f\x16\n\r\n\x05\x04\x0e\x02\0\x03\ + \x12\x04\x9f\x01\x19\x1a\n\x0c\n\x04\x04\x0e\x02\x01\x12\x04\xa0\x01\x08\ + %\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\xa0\x01\x08\x0e\n\r\n\x05\x04\ + \x0e\x02\x01\x01\x12\x04\xa0\x01\x0f\x20\n\r\n\x05\x04\x0e\x02\x01\x03\ + \x12\x04\xa0\x01#$\n\x0c\n\x04\x04\x0e\x02\x02\x12\x04\xa1\x01\x08\"\n\r\ + \n\x05\x04\x0e\x02\x02\x05\x12\x04\xa1\x01\x08\x0e\n\r\n\x05\x04\x0e\x02\ + \x02\x01\x12\x04\xa1\x01\x0f\x1d\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\ + \xa1\x01\x20!\n\x0c\n\x02\x04\x0f\x12\x06\xa4\x01\0\xa7\x01\x01\n\x0b\n\ + \x03\x04\x0f\x01\x12\x04\xa4\x01\x08\x10\n\x0c\n\x04\x04\x0f\x02\0\x12\ + \x04\xa5\x01\x08\x1f\n\r\n\x05\x04\x0f\x02\0\x06\x12\x04\xa5\x01\x08\x10\ + \n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\xa5\x01\x11\x1a\n\r\n\x05\x04\x0f\ + \x02\0\x03\x12\x04\xa5\x01\x1d\x1e\n\x0c\n\x04\x04\x0f\x02\x01\x12\x04\ + \xa6\x01\x08+\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xa6\x01\x08\x16\n\r\ + \n\x05\x04\x0f\x02\x01\x01\x12\x04\xa6\x01\x17&\n\r\n\x05\x04\x0f\x02\ + \x01\x03\x12\x04\xa6\x01)*\n\x0c\n\x02\x04\x10\x12\x06\xa9\x01\0\xac\x01\ + \x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xa9\x01\x08\x11\n\x0c\n\x04\x04\x10\ + \x02\0\x12\x04\xaa\x01\x08\x1b\n\r\n\x05\x04\x10\x02\0\x05\x12\x04\xaa\ + \x01\x08\x0e\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xaa\x01\x0f\x16\n\r\n\ + \x05\x04\x10\x02\0\x03\x12\x04\xaa\x01\x19\x1a\n\x0c\n\x04\x04\x10\x02\ + \x01\x12\x04\xab\x01\x08\x19\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xab\ + \x01\x08\x0e\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xab\x01\x0f\x14\n\r\n\ + \x05\x04\x10\x02\x01\x03\x12\x04\xab\x01\x17\x18\n\x0c\n\x02\x04\x11\x12\ + \x06\xae\x01\0\xb3\x01\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xae\x01\x08\ + \x12\n\x0c\n\x04\x04\x11\x02\0\x12\x04\xaf\x01\x08\x19\n\r\n\x05\x04\x11\ + \x02\0\x05\x12\x04\xaf\x01\x08\x0e\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\ + \xaf\x01\x0f\x14\n\r\n\x05\x04\x11\x02\0\x03\x12\x04\xaf\x01\x17\x18\n\ + \x0c\n\x04\x04\x11\x02\x01\x12\x04\xb0\x01\x08\x1d\n\r\n\x05\x04\x11\x02\ + \x01\x05\x12\x04\xb0\x01\x08\x0e\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\ + \xb0\x01\x0f\x18\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xb0\x01\x1b\x1c\n\ + \x0c\n\x04\x04\x11\x02\x02\x12\x04\xb1\x01\x08\x1b\n\r\n\x05\x04\x11\x02\ + \x02\x05\x12\x04\xb1\x01\x08\x0e\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\ + \xb1\x01\x0f\x16\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xb1\x01\x19\x1a\n\ + \x0c\n\x04\x04\x11\x02\x03\x12\x04\xb2\x01\x08\x19\n\r\n\x05\x04\x11\x02\ + \x03\x05\x12\x04\xb2\x01\x08\x0e\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\ + \xb2\x01\x0f\x14\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\xb2\x01\x17\x18\n\ + \x0c\n\x02\x04\x12\x12\x06\xb5\x01\0\xbc\x01\x01\n\x0b\n\x03\x04\x12\x01\ + \x12\x04\xb5\x01\x08\x13\n\x0c\n\x04\x04\x12\x02\0\x12\x04\xb6\x01\x08\ + \x19\n\r\n\x05\x04\x12\x02\0\x05\x12\x04\xb6\x01\x08\x0e\n\r\n\x05\x04\ + \x12\x02\0\x01\x12\x04\xb6\x01\x0f\x14\n\r\n\x05\x04\x12\x02\0\x03\x12\ + \x04\xb6\x01\x17\x18\n\x0c\n\x04\x04\x12\x02\x01\x12\x04\xb7\x01\x08\x1d\ + \n\r\n\x05\x04\x12\x02\x01\x06\x12\x04\xb7\x01\x08\x12\n\r\n\x05\x04\x12\ + \x02\x01\x01\x12\x04\xb7\x01\x13\x18\n\r\n\x05\x04\x12\x02\x01\x03\x12\ + \x04\xb7\x01\x1b\x1c\n\x0c\n\x04\x04\x12\x02\x02\x12\x04\xb8\x01\x08\"\n\ \r\n\x05\x04\x12\x02\x02\x06\x12\x04\xb8\x01\x08\x12\n\r\n\x05\x04\x12\ \x02\x02\x01\x12\x04\xb8\x01\x13\x1d\n\r\n\x05\x04\x12\x02\x02\x03\x12\ - \x04\xb8\x01\x20!\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\xb9\x01\x08$\n\x0f\ - \n\x05\x04\x12\x02\x03\x04\x12\x06\xb9\x01\x08\xb8\x01\"\n\r\n\x05\x04\ - \x12\x02\x03\x06\x12\x04\xb9\x01\x08\x12\n\r\n\x05\x04\x12\x02\x03\x01\ - \x12\x04\xb9\x01\x13\x1f\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\xb9\x01\"\ - #\n\x0c\n\x04\x04\x12\x02\x04\x12\x04\xba\x01\x08\x1f\n\x0f\n\x05\x04\ - \x12\x02\x04\x04\x12\x06\xba\x01\x08\xb9\x01$\n\r\n\x05\x04\x12\x02\x04\ - \x05\x12\x04\xba\x01\x08\x0c\n\r\n\x05\x04\x12\x02\x04\x01\x12\x04\xba\ - \x01\r\x1a\n\r\n\x05\x04\x12\x02\x04\x03\x12\x04\xba\x01\x1d\x1e\n\x0c\n\ - \x04\x04\x12\x02\x05\x12\x04\xbb\x01\x08&\n\x0f\n\x05\x04\x12\x02\x05\ - \x04\x12\x06\xbb\x01\x08\xba\x01\x1f\n\r\n\x05\x04\x12\x02\x05\x06\x12\ - \x04\xbb\x01\x08\x1b\n\r\n\x05\x04\x12\x02\x05\x01\x12\x04\xbb\x01\x1c!\ - \n\r\n\x05\x04\x12\x02\x05\x03\x12\x04\xbb\x01$%\n\x0c\n\x02\x04\x13\x12\ - \x06\xbf\x01\0\xc4\x01\x01\n\x0b\n\x03\x04\x13\x01\x12\x04\xbf\x01\x08\ - \x17\n\x0c\n\x04\x04\x13\x02\0\x12\x04\xc0\x01\x08\x19\n\x0f\n\x05\x04\ - \x13\x02\0\x04\x12\x06\xc0\x01\x08\xbf\x01\x19\n\r\n\x05\x04\x13\x02\0\ - \x05\x12\x04\xc0\x01\x08\x0e\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\xc0\x01\ - \x0f\x14\n\r\n\x05\x04\x13\x02\0\x03\x12\x04\xc0\x01\x17\x18\n\x0c\n\x04\ - \x04\x13\x02\x01\x12\x04\xc1\x01\x08\x19\n\x0f\n\x05\x04\x13\x02\x01\x04\ - \x12\x06\xc1\x01\x08\xc0\x01\x19\n\r\n\x05\x04\x13\x02\x01\x05\x12\x04\ - \xc1\x01\x08\x0e\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xc1\x01\x0f\x14\n\ - \r\n\x05\x04\x13\x02\x01\x03\x12\x04\xc1\x01\x17\x18\n\x0c\n\x04\x04\x13\ - \x02\x02\x12\x04\xc2\x01\x08\x16\n\x0f\n\x05\x04\x13\x02\x02\x04\x12\x06\ - \xc2\x01\x08\xc1\x01\x19\n\r\n\x05\x04\x13\x02\x02\x05\x12\x04\xc2\x01\ - \x08\x0e\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xc2\x01\x0f\x11\n\r\n\x05\ - \x04\x13\x02\x02\x03\x12\x04\xc2\x01\x14\x15\n\x0c\n\x04\x04\x13\x02\x03\ - \x12\x04\xc3\x01\x08\x19\n\x0f\n\x05\x04\x13\x02\x03\x04\x12\x06\xc3\x01\ - \x08\xc2\x01\x16\n\r\n\x05\x04\x13\x02\x03\x05\x12\x04\xc3\x01\x08\x0e\n\ - \r\n\x05\x04\x13\x02\x03\x01\x12\x04\xc3\x01\x0f\x14\n\r\n\x05\x04\x13\ - \x02\x03\x03\x12\x04\xc3\x01\x17\x18\n\x0c\n\x02\x04\x14\x12\x06\xc6\x01\ - \0\xcf\x01\x01\n\x0b\n\x03\x04\x14\x01\x12\x04\xc6\x01\x08\x12\nH\n\x04\ - \x04\x14\x02\0\x12\x04\xc7\x01\x08@\":\x20number\x20of\x20bytes\x20trans\ - ferred\x20to\x20and\x20from\x20the\x20block\x20device\n\n\r\n\x05\x04\ - \x14\x02\0\x04\x12\x04\xc7\x01\x08\x10\n\r\n\x05\x04\x14\x02\0\x06\x12\ - \x04\xc7\x01\x11\x20\n\r\n\x05\x04\x14\x02\0\x01\x12\x04\xc7\x01!;\n\r\n\ - \x05\x04\x14\x02\0\x03\x12\x04\xc7\x01>?\n\x0c\n\x04\x04\x14\x02\x01\x12\ - \x04\xc8\x01\x08;\n\r\n\x05\x04\x14\x02\x01\x04\x12\x04\xc8\x01\x08\x10\ - \n\r\n\x05\x04\x14\x02\x01\x06\x12\x04\xc8\x01\x11\x20\n\r\n\x05\x04\x14\ - \x02\x01\x01\x12\x04\xc8\x01!6\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xc8\ - \x019:\n\x0c\n\x04\x04\x14\x02\x02\x12\x04\xc9\x01\x089\n\r\n\x05\x04\ - \x14\x02\x02\x04\x12\x04\xc9\x01\x08\x10\n\r\n\x05\x04\x14\x02\x02\x06\ - \x12\x04\xc9\x01\x11\x20\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xc9\x01!4\ - \n\r\n\x05\x04\x14\x02\x02\x03\x12\x04\xc9\x0178\n\x0c\n\x04\x04\x14\x02\ - \x03\x12\x04\xca\x01\x08?\n\r\n\x05\x04\x14\x02\x03\x04\x12\x04\xca\x01\ - \x08\x10\n\r\n\x05\x04\x14\x02\x03\x06\x12\x04\xca\x01\x11\x20\n\r\n\x05\ - \x04\x14\x02\x03\x01\x12\x04\xca\x01!:\n\r\n\x05\x04\x14\x02\x03\x03\x12\ - \x04\xca\x01=>\n\x0c\n\x04\x04\x14\x02\x04\x12\x04\xcb\x01\x08<\n\r\n\ - \x05\x04\x14\x02\x04\x04\x12\x04\xcb\x01\x08\x10\n\r\n\x05\x04\x14\x02\ - \x04\x06\x12\x04\xcb\x01\x11\x20\n\r\n\x05\x04\x14\x02\x04\x01\x12\x04\ - \xcb\x01!7\n\r\n\x05\x04\x14\x02\x04\x03\x12\x04\xcb\x01:;\n\x0c\n\x04\ - \x04\x14\x02\x05\x12\x04\xcc\x01\x089\n\r\n\x05\x04\x14\x02\x05\x04\x12\ - \x04\xcc\x01\x08\x10\n\r\n\x05\x04\x14\x02\x05\x06\x12\x04\xcc\x01\x11\ - \x20\n\r\n\x05\x04\x14\x02\x05\x01\x12\x04\xcc\x01!4\n\r\n\x05\x04\x14\ - \x02\x05\x03\x12\x04\xcc\x0178\n\x0c\n\x04\x04\x14\x02\x06\x12\x04\xcd\ - \x01\x087\n\r\n\x05\x04\x14\x02\x06\x04\x12\x04\xcd\x01\x08\x10\n\r\n\ - \x05\x04\x14\x02\x06\x06\x12\x04\xcd\x01\x11\x20\n\r\n\x05\x04\x14\x02\ - \x06\x01\x12\x04\xcd\x01!2\n\r\n\x05\x04\x14\x02\x06\x03\x12\x04\xcd\x01\ - 56\n\x0c\n\x04\x04\x14\x02\x07\x12\x04\xce\x01\x087\n\r\n\x05\x04\x14\ - \x02\x07\x04\x12\x04\xce\x01\x08\x10\n\r\n\x05\x04\x14\x02\x07\x06\x12\ - \x04\xce\x01\x11\x20\n\r\n\x05\x04\x14\x02\x07\x01\x12\x04\xce\x01!2\n\r\ - \n\x05\x04\x14\x02\x07\x03\x12\x04\xce\x0156\n\x0c\n\x02\x04\x15\x12\x06\ - \xd1\x01\0\xd5\x01\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xd1\x01\x08\x14\n\ - \x0c\n\x04\x04\x15\x02\0\x12\x04\xd2\x01\x08\x19\n\x0f\n\x05\x04\x15\x02\ - \0\x04\x12\x06\xd2\x01\x08\xd1\x01\x16\n\r\n\x05\x04\x15\x02\0\x05\x12\ + \x04\xb8\x01\x20!\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\xb9\x01\x08$\n\r\n\ + \x05\x04\x12\x02\x03\x06\x12\x04\xb9\x01\x08\x12\n\r\n\x05\x04\x12\x02\ + \x03\x01\x12\x04\xb9\x01\x13\x1f\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\ + \xb9\x01\"#\n\x0c\n\x04\x04\x12\x02\x04\x12\x04\xba\x01\x08\x1f\n\r\n\ + \x05\x04\x12\x02\x04\x05\x12\x04\xba\x01\x08\x0c\n\r\n\x05\x04\x12\x02\ + \x04\x01\x12\x04\xba\x01\r\x1a\n\r\n\x05\x04\x12\x02\x04\x03\x12\x04\xba\ + \x01\x1d\x1e\n\x0c\n\x04\x04\x12\x02\x05\x12\x04\xbb\x01\x08&\n\r\n\x05\ + \x04\x12\x02\x05\x06\x12\x04\xbb\x01\x08\x1b\n\r\n\x05\x04\x12\x02\x05\ + \x01\x12\x04\xbb\x01\x1c!\n\r\n\x05\x04\x12\x02\x05\x03\x12\x04\xbb\x01$\ + %\n\x0c\n\x02\x04\x13\x12\x06\xbf\x01\0\xc4\x01\x01\n\x0b\n\x03\x04\x13\ + \x01\x12\x04\xbf\x01\x08\x17\n\x0c\n\x04\x04\x13\x02\0\x12\x04\xc0\x01\ + \x08\x19\n\r\n\x05\x04\x13\x02\0\x05\x12\x04\xc0\x01\x08\x0e\n\r\n\x05\ + \x04\x13\x02\0\x01\x12\x04\xc0\x01\x0f\x14\n\r\n\x05\x04\x13\x02\0\x03\ + \x12\x04\xc0\x01\x17\x18\n\x0c\n\x04\x04\x13\x02\x01\x12\x04\xc1\x01\x08\ + \x19\n\r\n\x05\x04\x13\x02\x01\x05\x12\x04\xc1\x01\x08\x0e\n\r\n\x05\x04\ + \x13\x02\x01\x01\x12\x04\xc1\x01\x0f\x14\n\r\n\x05\x04\x13\x02\x01\x03\ + \x12\x04\xc1\x01\x17\x18\n\x0c\n\x04\x04\x13\x02\x02\x12\x04\xc2\x01\x08\ + \x16\n\r\n\x05\x04\x13\x02\x02\x05\x12\x04\xc2\x01\x08\x0e\n\r\n\x05\x04\ + \x13\x02\x02\x01\x12\x04\xc2\x01\x0f\x11\n\r\n\x05\x04\x13\x02\x02\x03\ + \x12\x04\xc2\x01\x14\x15\n\x0c\n\x04\x04\x13\x02\x03\x12\x04\xc3\x01\x08\ + \x19\n\r\n\x05\x04\x13\x02\x03\x05\x12\x04\xc3\x01\x08\x0e\n\r\n\x05\x04\ + \x13\x02\x03\x01\x12\x04\xc3\x01\x0f\x14\n\r\n\x05\x04\x13\x02\x03\x03\ + \x12\x04\xc3\x01\x17\x18\n\x0c\n\x02\x04\x14\x12\x06\xc6\x01\0\xcf\x01\ + \x01\n\x0b\n\x03\x04\x14\x01\x12\x04\xc6\x01\x08\x12\nH\n\x04\x04\x14\ + \x02\0\x12\x04\xc7\x01\x08@\":\x20number\x20of\x20bytes\x20transferred\ + \x20to\x20and\x20from\x20the\x20block\x20device\n\n\r\n\x05\x04\x14\x02\ + \0\x04\x12\x04\xc7\x01\x08\x10\n\r\n\x05\x04\x14\x02\0\x06\x12\x04\xc7\ + \x01\x11\x20\n\r\n\x05\x04\x14\x02\0\x01\x12\x04\xc7\x01!;\n\r\n\x05\x04\ + \x14\x02\0\x03\x12\x04\xc7\x01>?\n\x0c\n\x04\x04\x14\x02\x01\x12\x04\xc8\ + \x01\x08;\n\r\n\x05\x04\x14\x02\x01\x04\x12\x04\xc8\x01\x08\x10\n\r\n\ + \x05\x04\x14\x02\x01\x06\x12\x04\xc8\x01\x11\x20\n\r\n\x05\x04\x14\x02\ + \x01\x01\x12\x04\xc8\x01!6\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xc8\x01\ + 9:\n\x0c\n\x04\x04\x14\x02\x02\x12\x04\xc9\x01\x089\n\r\n\x05\x04\x14\ + \x02\x02\x04\x12\x04\xc9\x01\x08\x10\n\r\n\x05\x04\x14\x02\x02\x06\x12\ + \x04\xc9\x01\x11\x20\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xc9\x01!4\n\r\ + \n\x05\x04\x14\x02\x02\x03\x12\x04\xc9\x0178\n\x0c\n\x04\x04\x14\x02\x03\ + \x12\x04\xca\x01\x08?\n\r\n\x05\x04\x14\x02\x03\x04\x12\x04\xca\x01\x08\ + \x10\n\r\n\x05\x04\x14\x02\x03\x06\x12\x04\xca\x01\x11\x20\n\r\n\x05\x04\ + \x14\x02\x03\x01\x12\x04\xca\x01!:\n\r\n\x05\x04\x14\x02\x03\x03\x12\x04\ + \xca\x01=>\n\x0c\n\x04\x04\x14\x02\x04\x12\x04\xcb\x01\x08<\n\r\n\x05\ + \x04\x14\x02\x04\x04\x12\x04\xcb\x01\x08\x10\n\r\n\x05\x04\x14\x02\x04\ + \x06\x12\x04\xcb\x01\x11\x20\n\r\n\x05\x04\x14\x02\x04\x01\x12\x04\xcb\ + \x01!7\n\r\n\x05\x04\x14\x02\x04\x03\x12\x04\xcb\x01:;\n\x0c\n\x04\x04\ + \x14\x02\x05\x12\x04\xcc\x01\x089\n\r\n\x05\x04\x14\x02\x05\x04\x12\x04\ + \xcc\x01\x08\x10\n\r\n\x05\x04\x14\x02\x05\x06\x12\x04\xcc\x01\x11\x20\n\ + \r\n\x05\x04\x14\x02\x05\x01\x12\x04\xcc\x01!4\n\r\n\x05\x04\x14\x02\x05\ + \x03\x12\x04\xcc\x0178\n\x0c\n\x04\x04\x14\x02\x06\x12\x04\xcd\x01\x087\ + \n\r\n\x05\x04\x14\x02\x06\x04\x12\x04\xcd\x01\x08\x10\n\r\n\x05\x04\x14\ + \x02\x06\x06\x12\x04\xcd\x01\x11\x20\n\r\n\x05\x04\x14\x02\x06\x01\x12\ + \x04\xcd\x01!2\n\r\n\x05\x04\x14\x02\x06\x03\x12\x04\xcd\x0156\n\x0c\n\ + \x04\x04\x14\x02\x07\x12\x04\xce\x01\x087\n\r\n\x05\x04\x14\x02\x07\x04\ + \x12\x04\xce\x01\x08\x10\n\r\n\x05\x04\x14\x02\x07\x06\x12\x04\xce\x01\ + \x11\x20\n\r\n\x05\x04\x14\x02\x07\x01\x12\x04\xce\x01!2\n\r\n\x05\x04\ + \x14\x02\x07\x03\x12\x04\xce\x0156\n\x0c\n\x02\x04\x15\x12\x06\xd1\x01\0\ + \xd5\x01\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xd1\x01\x08\x14\n\x0c\n\x04\ + \x04\x15\x02\0\x12\x04\xd2\x01\x08\x19\n\r\n\x05\x04\x15\x02\0\x05\x12\ \x04\xd2\x01\x08\x0e\n\r\n\x05\x04\x15\x02\0\x01\x12\x04\xd2\x01\x0f\x14\ \n\r\n\x05\x04\x15\x02\0\x03\x12\x04\xd2\x01\x17\x18\n\x0c\n\x04\x04\x15\ - \x02\x01\x12\x04\xd3\x01\x08\x1d\n\x0f\n\x05\x04\x15\x02\x01\x04\x12\x06\ - \xd3\x01\x08\xd2\x01\x19\n\r\n\x05\x04\x15\x02\x01\x05\x12\x04\xd3\x01\ - \x08\x0e\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\xd3\x01\x0f\x18\n\r\n\x05\ - \x04\x15\x02\x01\x03\x12\x04\xd3\x01\x1b\x1c\n\x0c\n\x04\x04\x15\x02\x02\ - \x12\x04\xd4\x01\x08\x1b\n\x0f\n\x05\x04\x15\x02\x02\x04\x12\x06\xd4\x01\ - \x08\xd3\x01\x1d\n\r\n\x05\x04\x15\x02\x02\x05\x12\x04\xd4\x01\x08\x0e\n\ - \r\n\x05\x04\x15\x02\x02\x01\x12\x04\xd4\x01\x0f\x16\n\r\n\x05\x04\x15\ - \x02\x02\x03\x12\x04\xd4\x01\x19\x1a\n\x0c\n\x02\x04\x16\x12\x06\xd7\x01\ - \0\xde\x01\x01\n\x0b\n\x03\x04\x16\x01\x12\x04\xd7\x01\x08\x13\n\x0c\n\ - \x04\x04\x16\x02\0\x12\x04\xd8\x01\x04\x1b\n\x0f\n\x05\x04\x16\x02\0\x04\ - \x12\x06\xd8\x01\x04\xd7\x01\x15\n\r\n\x05\x04\x16\x02\0\x06\x12\x04\xd8\ - \x01\x04\x0c\n\r\n\x05\x04\x16\x02\0\x01\x12\x04\xd8\x01\r\x16\n\r\n\x05\ - \x04\x16\x02\0\x03\x12\x04\xd8\x01\x19\x1a\n\x0c\n\x04\x04\x16\x02\x01\ - \x12\x04\xd9\x01\x04\"\n\x0f\n\x05\x04\x16\x02\x01\x04\x12\x06\xd9\x01\ - \x04\xd8\x01\x1b\n\r\n\x05\x04\x16\x02\x01\x06\x12\x04\xd9\x01\x04\x0f\n\ - \r\n\x05\x04\x16\x02\x01\x01\x12\x04\xd9\x01\x10\x1c\n\r\n\x05\x04\x16\ - \x02\x01\x03\x12\x04\xd9\x01\x20!\n\x0c\n\x04\x04\x16\x02\x02\x12\x04\ - \xda\x01\x04\x1d\n\x0f\n\x05\x04\x16\x02\x02\x04\x12\x06\xda\x01\x04\xd9\ - \x01\"\n\r\n\x05\x04\x16\x02\x02\x06\x12\x04\xda\x01\x04\r\n\r\n\x05\x04\ - \x16\x02\x02\x01\x12\x04\xda\x01\x0e\x18\n\r\n\x05\x04\x16\x02\x02\x03\ - \x12\x04\xda\x01\x1b\x1c\n\x0c\n\x04\x04\x16\x02\x03\x12\x04\xdb\x01\x04\ - \x1f\n\x0f\n\x05\x04\x16\x02\x03\x04\x12\x06\xdb\x01\x04\xda\x01\x1d\n\r\ - \n\x05\x04\x16\x02\x03\x06\x12\x04\xdb\x01\x04\x0e\n\r\n\x05\x04\x16\x02\ - \x03\x01\x12\x04\xdb\x01\x0f\x1a\n\r\n\x05\x04\x16\x02\x03\x03\x12\x04\ - \xdb\x01\x1d\x1e\nR\n\x04\x04\x16\x02\x04\x12\x04\xdc\x01\x040\"D\x20the\ - \x20map\x20is\x20in\x20the\x20format\x20\"size\x20of\x20hugepage:\x20sta\ - ts\x20of\x20the\x20hugepage\"\n\n\x0f\n\x05\x04\x16\x02\x04\x04\x12\x06\ - \xdc\x01\x04\xdb\x01\x1f\n\r\n\x05\x04\x16\x02\x04\x06\x12\x04\xdc\x01\ - \x04\x1d\n\r\n\x05\x04\x16\x02\x04\x01\x12\x04\xdc\x01\x1e+\n\r\n\x05\ - \x04\x16\x02\x04\x03\x12\x04\xdc\x01./\n\x0c\n\x02\x04\x17\x12\x06\xe0\ - \x01\0\xea\x01\x01\n\x0b\n\x03\x04\x17\x01\x12\x04\xe0\x01\x08\x14\n\x0c\ - \n\x04\x04\x17\x02\0\x12\x04\xe1\x01\x08\x18\n\x0f\n\x05\x04\x17\x02\0\ - \x04\x12\x06\xe1\x01\x08\xe0\x01\x16\n\r\n\x05\x04\x17\x02\0\x05\x12\x04\ - \xe1\x01\x08\x0e\n\r\n\x05\x04\x17\x02\0\x01\x12\x04\xe1\x01\x0f\x13\n\r\ - \n\x05\x04\x17\x02\0\x03\x12\x04\xe1\x01\x16\x17\n\x0c\n\x04\x04\x17\x02\ - \x01\x12\x04\xe2\x01\x08\x1c\n\x0f\n\x05\x04\x17\x02\x01\x04\x12\x06\xe2\ - \x01\x08\xe1\x01\x18\n\r\n\x05\x04\x17\x02\x01\x05\x12\x04\xe2\x01\x08\ - \x0e\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\xe2\x01\x0f\x17\n\r\n\x05\x04\ - \x17\x02\x01\x03\x12\x04\xe2\x01\x1a\x1b\n\x0c\n\x04\x04\x17\x02\x02\x12\ - \x04\xe3\x01\x08\x1e\n\x0f\n\x05\x04\x17\x02\x02\x04\x12\x06\xe3\x01\x08\ - \xe2\x01\x1c\n\r\n\x05\x04\x17\x02\x02\x05\x12\x04\xe3\x01\x08\x0e\n\r\n\ - \x05\x04\x17\x02\x02\x01\x12\x04\xe3\x01\x0f\x19\n\r\n\x05\x04\x17\x02\ - \x02\x03\x12\x04\xe3\x01\x1c\x1d\n\x0c\n\x04\x04\x17\x02\x03\x12\x04\xe4\ - \x01\x08\x1e\n\x0f\n\x05\x04\x17\x02\x03\x04\x12\x06\xe4\x01\x08\xe3\x01\ - \x1e\n\r\n\x05\x04\x17\x02\x03\x05\x12\x04\xe4\x01\x08\x0e\n\r\n\x05\x04\ - \x17\x02\x03\x01\x12\x04\xe4\x01\x0f\x18\n\r\n\x05\x04\x17\x02\x03\x03\ - \x12\x04\xe4\x01\x1c\x1d\n\x0c\n\x04\x04\x17\x02\x04\x12\x04\xe5\x01\x08\ - \x1e\n\x0f\n\x05\x04\x17\x02\x04\x04\x12\x06\xe5\x01\x08\xe4\x01\x1e\n\r\ - \n\x05\x04\x17\x02\x04\x05\x12\x04\xe5\x01\x08\x0e\n\r\n\x05\x04\x17\x02\ - \x04\x01\x12\x04\xe5\x01\x0f\x19\n\r\n\x05\x04\x17\x02\x04\x03\x12\x04\ - \xe5\x01\x1c\x1d\n\x0c\n\x04\x04\x17\x02\x05\x12\x04\xe6\x01\x08\x1c\n\ - \x0f\n\x05\x04\x17\x02\x05\x04\x12\x06\xe6\x01\x08\xe5\x01\x1e\n\r\n\x05\ - \x04\x17\x02\x05\x05\x12\x04\xe6\x01\x08\x0e\n\r\n\x05\x04\x17\x02\x05\ - \x01\x12\x04\xe6\x01\x0f\x17\n\r\n\x05\x04\x17\x02\x05\x03\x12\x04\xe6\ - \x01\x1a\x1b\n\x0c\n\x04\x04\x17\x02\x06\x12\x04\xe7\x01\x08\x1e\n\x0f\n\ - \x05\x04\x17\x02\x06\x04\x12\x06\xe7\x01\x08\xe6\x01\x1c\n\r\n\x05\x04\ - \x17\x02\x06\x05\x12\x04\xe7\x01\x08\x0e\n\r\n\x05\x04\x17\x02\x06\x01\ - \x12\x04\xe7\x01\x0f\x19\n\r\n\x05\x04\x17\x02\x06\x03\x12\x04\xe7\x01\ - \x1c\x1d\n\x0c\n\x04\x04\x17\x02\x07\x12\x04\xe8\x01\x08\x1d\n\x0f\n\x05\ - \x04\x17\x02\x07\x04\x12\x06\xe8\x01\x08\xe7\x01\x1e\n\r\n\x05\x04\x17\ - \x02\x07\x05\x12\x04\xe8\x01\x08\x0e\n\r\n\x05\x04\x17\x02\x07\x01\x12\ - \x04\xe8\x01\x0f\x18\n\r\n\x05\x04\x17\x02\x07\x03\x12\x04\xe8\x01\x1b\ - \x1c\n\x0c\n\x04\x04\x17\x02\x08\x12\x04\xe9\x01\x08\x1e\n\x0f\n\x05\x04\ - \x17\x02\x08\x04\x12\x06\xe9\x01\x08\xe8\x01\x1d\n\r\n\x05\x04\x17\x02\ - \x08\x05\x12\x04\xe9\x01\x08\x0e\n\r\n\x05\x04\x17\x02\x08\x01\x12\x04\ - \xe9\x01\x0f\x19\n\r\n\x05\x04\x17\x02\x08\x03\x12\x04\xe9\x01\x1c\x1d\n\ - \x0c\n\x02\x04\x18\x12\x06\xec\x01\0\xef\x01\x01\n\x0b\n\x03\x04\x18\x01\ - \x12\x04\xec\x01\x08\x1e\n\x0c\n\x04\x04\x18\x02\0\x12\x04\xed\x01\x08%\ - \n\x0f\n\x05\x04\x18\x02\0\x04\x12\x06\xed\x01\x08\xec\x01\x20\n\r\n\x05\ - \x04\x18\x02\0\x06\x12\x04\xed\x01\x08\x13\n\r\n\x05\x04\x18\x02\0\x01\ - \x12\x04\xed\x01\x14\x20\n\r\n\x05\x04\x18\x02\0\x03\x12\x04\xed\x01#$\n\ - \x0c\n\x04\x04\x18\x02\x01\x12\x04\xee\x01\x080\n\r\n\x05\x04\x18\x02\ - \x01\x04\x12\x04\xee\x01\x08\x10\n\r\n\x05\x04\x18\x02\x01\x06\x12\x04\ - \xee\x01\x11\x1d\n\r\n\x05\x04\x18\x02\x01\x01\x12\x04\xee\x01\x1e+\n\r\ - \n\x05\x04\x18\x02\x01\x03\x12\x04\xee\x01./\n\x0c\n\x02\x04\x19\x12\x06\ - \xf1\x01\0\xf5\x01\x01\n\x0b\n\x03\x04\x19\x01\x12\x04\xf1\x01\x08\x1a\n\ - \x0c\n\x04\x04\x19\x02\0\x12\x04\xf2\x01\x08\x20\n\x0f\n\x05\x04\x19\x02\ - \0\x04\x12\x06\xf2\x01\x08\xf1\x01\x1c\n\r\n\x05\x04\x19\x02\0\x05\x12\ - \x04\xf2\x01\x08\x0e\n\r\n\x05\x04\x19\x02\0\x01\x12\x04\xf2\x01\x0f\x1b\ - \n\r\n\x05\x04\x19\x02\0\x03\x12\x04\xf2\x01\x1e\x1f\n\x0c\n\x04\x04\x19\ - \x02\x01\x12\x04\xf3\x01\x08\x1b\n\x0f\n\x05\x04\x19\x02\x01\x04\x12\x06\ - \xf3\x01\x08\xf2\x01\x20\n\r\n\x05\x04\x19\x02\x01\x05\x12\x04\xf3\x01\ - \x08\x0e\n\r\n\x05\x04\x19\x02\x01\x01\x12\x04\xf3\x01\x0f\x16\n\r\n\x05\ - \x04\x19\x02\x01\x03\x12\x04\xf3\x01\x19\x1a\n\x0c\n\x04\x04\x19\x02\x02\ - \x12\x04\xf4\x01\x08\x17\n\x0f\n\x05\x04\x19\x02\x02\x04\x12\x06\xf4\x01\ - \x08\xf3\x01\x1b\n\r\n\x05\x04\x19\x02\x02\x05\x12\x04\xf4\x01\x08\r\n\r\ - \n\x05\x04\x19\x02\x02\x01\x12\x04\xf4\x01\x0e\x12\n\r\n\x05\x04\x19\x02\ - \x02\x03\x12\x04\xf4\x01\x15\x16\n\x0c\n\x02\x04\x1a\x12\x06\xf7\x01\0\ - \xf9\x01\x01\n\x0b\n\x03\x04\x1a\x01\x12\x04\xf7\x01\x08\x1b\n\x0c\n\x04\ - \x04\x1a\x02\0\x12\x04\xf8\x01\x08\x17\n\x0f\n\x05\x04\x1a\x02\0\x04\x12\ - \x06\xf8\x01\x08\xf7\x01\x1d\n\r\n\x05\x04\x1a\x02\0\x05\x12\x04\xf8\x01\ - \x08\x0e\n\r\n\x05\x04\x1a\x02\0\x01\x12\x04\xf8\x01\x0f\x12\n\r\n\x05\ - \x04\x1a\x02\0\x03\x12\x04\xf8\x01\x15\x16\n\x0c\n\x02\x04\x1b\x12\x06\ - \xfb\x01\0\xff\x01\x01\n\x0b\n\x03\x04\x1b\x01\x12\x04\xfb\x01\x08\x19\n\ - \x0c\n\x04\x04\x1b\x02\0\x12\x04\xfc\x01\x08\x20\n\x0f\n\x05\x04\x1b\x02\ - \0\x04\x12\x06\xfc\x01\x08\xfb\x01\x1b\n\r\n\x05\x04\x1b\x02\0\x05\x12\ - \x04\xfc\x01\x08\x0e\n\r\n\x05\x04\x1b\x02\0\x01\x12\x04\xfc\x01\x0f\x1b\ - \n\r\n\x05\x04\x1b\x02\0\x03\x12\x04\xfc\x01\x1e\x1f\n\x0c\n\x04\x04\x1b\ - \x02\x01\x12\x04\xfd\x01\x08\x1b\n\x0f\n\x05\x04\x1b\x02\x01\x04\x12\x06\ - \xfd\x01\x08\xfc\x01\x20\n\r\n\x05\x04\x1b\x02\x01\x05\x12\x04\xfd\x01\ - \x08\x0e\n\r\n\x05\x04\x1b\x02\x01\x01\x12\x04\xfd\x01\x0f\x16\n\r\n\x05\ - \x04\x1b\x02\x01\x03\x12\x04\xfd\x01\x19\x1a\n\x0c\n\x04\x04\x1b\x02\x02\ - \x12\x04\xfe\x01\x08\x17\n\x0f\n\x05\x04\x1b\x02\x02\x04\x12\x06\xfe\x01\ - \x08\xfd\x01\x1b\n\r\n\x05\x04\x1b\x02\x02\x05\x12\x04\xfe\x01\x08\x0e\n\ - \r\n\x05\x04\x1b\x02\x02\x01\x12\x04\xfe\x01\x0f\x12\n\r\n\x05\x04\x1b\ - \x02\x02\x03\x12\x04\xfe\x01\x15\x16\n\x0c\n\x02\x04\x1c\x12\x06\x81\x02\ - \0\x83\x02\x01\n\x0b\n\x03\x04\x1c\x01\x12\x04\x81\x02\x08\x1a\n\x0c\n\ - \x04\x04\x1c\x02\0\x12\x04\x82\x02\x08\x17\n\x0f\n\x05\x04\x1c\x02\0\x04\ - \x12\x06\x82\x02\x08\x81\x02\x1c\n\r\n\x05\x04\x1c\x02\0\x05\x12\x04\x82\ - \x02\x08\r\n\r\n\x05\x04\x1c\x02\0\x01\x12\x04\x82\x02\x0e\x12\n\r\n\x05\ - \x04\x1c\x02\0\x03\x12\x04\x82\x02\x15\x16\n\x0c\n\x02\x04\x1d\x12\x06\ - \x85\x02\0\x88\x02\x01\n\x0b\n\x03\x04\x1d\x01\x12\x04\x85\x02\x08\x19\n\ - \x0c\n\x04\x04\x1d\x02\0\x12\x04\x86\x02\x08\x20\n\x0f\n\x05\x04\x1d\x02\ - \0\x04\x12\x06\x86\x02\x08\x85\x02\x1b\n\r\n\x05\x04\x1d\x02\0\x05\x12\ + \x02\x01\x12\x04\xd3\x01\x08\x1d\n\r\n\x05\x04\x15\x02\x01\x05\x12\x04\ + \xd3\x01\x08\x0e\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\xd3\x01\x0f\x18\n\ + \r\n\x05\x04\x15\x02\x01\x03\x12\x04\xd3\x01\x1b\x1c\n\x0c\n\x04\x04\x15\ + \x02\x02\x12\x04\xd4\x01\x08\x1b\n\r\n\x05\x04\x15\x02\x02\x05\x12\x04\ + \xd4\x01\x08\x0e\n\r\n\x05\x04\x15\x02\x02\x01\x12\x04\xd4\x01\x0f\x16\n\ + \r\n\x05\x04\x15\x02\x02\x03\x12\x04\xd4\x01\x19\x1a\n\x0c\n\x02\x04\x16\ + \x12\x06\xd7\x01\0\xde\x01\x01\n\x0b\n\x03\x04\x16\x01\x12\x04\xd7\x01\ + \x08\x13\n\x0c\n\x04\x04\x16\x02\0\x12\x04\xd8\x01\x04\x1b\n\r\n\x05\x04\ + \x16\x02\0\x06\x12\x04\xd8\x01\x04\x0c\n\r\n\x05\x04\x16\x02\0\x01\x12\ + \x04\xd8\x01\r\x16\n\r\n\x05\x04\x16\x02\0\x03\x12\x04\xd8\x01\x19\x1a\n\ + \x0c\n\x04\x04\x16\x02\x01\x12\x04\xd9\x01\x04\"\n\r\n\x05\x04\x16\x02\ + \x01\x06\x12\x04\xd9\x01\x04\x0f\n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\ + \xd9\x01\x10\x1c\n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\xd9\x01\x20!\n\ + \x0c\n\x04\x04\x16\x02\x02\x12\x04\xda\x01\x04\x1d\n\r\n\x05\x04\x16\x02\ + \x02\x06\x12\x04\xda\x01\x04\r\n\r\n\x05\x04\x16\x02\x02\x01\x12\x04\xda\ + \x01\x0e\x18\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\xda\x01\x1b\x1c\n\x0c\ + \n\x04\x04\x16\x02\x03\x12\x04\xdb\x01\x04\x1f\n\r\n\x05\x04\x16\x02\x03\ + \x06\x12\x04\xdb\x01\x04\x0e\n\r\n\x05\x04\x16\x02\x03\x01\x12\x04\xdb\ + \x01\x0f\x1a\n\r\n\x05\x04\x16\x02\x03\x03\x12\x04\xdb\x01\x1d\x1e\nR\n\ + \x04\x04\x16\x02\x04\x12\x04\xdc\x01\x040\"D\x20the\x20map\x20is\x20in\ + \x20the\x20format\x20\"size\x20of\x20hugepage:\x20stats\x20of\x20the\x20\ + hugepage\"\n\n\r\n\x05\x04\x16\x02\x04\x06\x12\x04\xdc\x01\x04\x1d\n\r\n\ + \x05\x04\x16\x02\x04\x01\x12\x04\xdc\x01\x1e+\n\r\n\x05\x04\x16\x02\x04\ + \x03\x12\x04\xdc\x01./\n\x0c\n\x02\x04\x17\x12\x06\xe0\x01\0\xea\x01\x01\ + \n\x0b\n\x03\x04\x17\x01\x12\x04\xe0\x01\x08\x14\n\x0c\n\x04\x04\x17\x02\ + \0\x12\x04\xe1\x01\x08\x18\n\r\n\x05\x04\x17\x02\0\x05\x12\x04\xe1\x01\ + \x08\x0e\n\r\n\x05\x04\x17\x02\0\x01\x12\x04\xe1\x01\x0f\x13\n\r\n\x05\ + \x04\x17\x02\0\x03\x12\x04\xe1\x01\x16\x17\n\x0c\n\x04\x04\x17\x02\x01\ + \x12\x04\xe2\x01\x08\x1c\n\r\n\x05\x04\x17\x02\x01\x05\x12\x04\xe2\x01\ + \x08\x0e\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\xe2\x01\x0f\x17\n\r\n\x05\ + \x04\x17\x02\x01\x03\x12\x04\xe2\x01\x1a\x1b\n\x0c\n\x04\x04\x17\x02\x02\ + \x12\x04\xe3\x01\x08\x1e\n\r\n\x05\x04\x17\x02\x02\x05\x12\x04\xe3\x01\ + \x08\x0e\n\r\n\x05\x04\x17\x02\x02\x01\x12\x04\xe3\x01\x0f\x19\n\r\n\x05\ + \x04\x17\x02\x02\x03\x12\x04\xe3\x01\x1c\x1d\n\x0c\n\x04\x04\x17\x02\x03\ + \x12\x04\xe4\x01\x08\x1e\n\r\n\x05\x04\x17\x02\x03\x05\x12\x04\xe4\x01\ + \x08\x0e\n\r\n\x05\x04\x17\x02\x03\x01\x12\x04\xe4\x01\x0f\x18\n\r\n\x05\ + \x04\x17\x02\x03\x03\x12\x04\xe4\x01\x1c\x1d\n\x0c\n\x04\x04\x17\x02\x04\ + \x12\x04\xe5\x01\x08\x1e\n\r\n\x05\x04\x17\x02\x04\x05\x12\x04\xe5\x01\ + \x08\x0e\n\r\n\x05\x04\x17\x02\x04\x01\x12\x04\xe5\x01\x0f\x19\n\r\n\x05\ + \x04\x17\x02\x04\x03\x12\x04\xe5\x01\x1c\x1d\n\x0c\n\x04\x04\x17\x02\x05\ + \x12\x04\xe6\x01\x08\x1c\n\r\n\x05\x04\x17\x02\x05\x05\x12\x04\xe6\x01\ + \x08\x0e\n\r\n\x05\x04\x17\x02\x05\x01\x12\x04\xe6\x01\x0f\x17\n\r\n\x05\ + \x04\x17\x02\x05\x03\x12\x04\xe6\x01\x1a\x1b\n\x0c\n\x04\x04\x17\x02\x06\ + \x12\x04\xe7\x01\x08\x1e\n\r\n\x05\x04\x17\x02\x06\x05\x12\x04\xe7\x01\ + \x08\x0e\n\r\n\x05\x04\x17\x02\x06\x01\x12\x04\xe7\x01\x0f\x19\n\r\n\x05\ + \x04\x17\x02\x06\x03\x12\x04\xe7\x01\x1c\x1d\n\x0c\n\x04\x04\x17\x02\x07\ + \x12\x04\xe8\x01\x08\x1d\n\r\n\x05\x04\x17\x02\x07\x05\x12\x04\xe8\x01\ + \x08\x0e\n\r\n\x05\x04\x17\x02\x07\x01\x12\x04\xe8\x01\x0f\x18\n\r\n\x05\ + \x04\x17\x02\x07\x03\x12\x04\xe8\x01\x1b\x1c\n\x0c\n\x04\x04\x17\x02\x08\ + \x12\x04\xe9\x01\x08\x1e\n\r\n\x05\x04\x17\x02\x08\x05\x12\x04\xe9\x01\ + \x08\x0e\n\r\n\x05\x04\x17\x02\x08\x01\x12\x04\xe9\x01\x0f\x19\n\r\n\x05\ + \x04\x17\x02\x08\x03\x12\x04\xe9\x01\x1c\x1d\n\x0c\n\x02\x04\x18\x12\x06\ + \xec\x01\0\xef\x01\x01\n\x0b\n\x03\x04\x18\x01\x12\x04\xec\x01\x08\x1e\n\ + \x0c\n\x04\x04\x18\x02\0\x12\x04\xed\x01\x08%\n\r\n\x05\x04\x18\x02\0\ + \x06\x12\x04\xed\x01\x08\x13\n\r\n\x05\x04\x18\x02\0\x01\x12\x04\xed\x01\ + \x14\x20\n\r\n\x05\x04\x18\x02\0\x03\x12\x04\xed\x01#$\n\x0c\n\x04\x04\ + \x18\x02\x01\x12\x04\xee\x01\x080\n\r\n\x05\x04\x18\x02\x01\x04\x12\x04\ + \xee\x01\x08\x10\n\r\n\x05\x04\x18\x02\x01\x06\x12\x04\xee\x01\x11\x1d\n\ + \r\n\x05\x04\x18\x02\x01\x01\x12\x04\xee\x01\x1e+\n\r\n\x05\x04\x18\x02\ + \x01\x03\x12\x04\xee\x01./\n\x0c\n\x02\x04\x19\x12\x06\xf1\x01\0\xf5\x01\ + \x01\n\x0b\n\x03\x04\x19\x01\x12\x04\xf1\x01\x08\x1a\n\x0c\n\x04\x04\x19\ + \x02\0\x12\x04\xf2\x01\x08\x20\n\r\n\x05\x04\x19\x02\0\x05\x12\x04\xf2\ + \x01\x08\x0e\n\r\n\x05\x04\x19\x02\0\x01\x12\x04\xf2\x01\x0f\x1b\n\r\n\ + \x05\x04\x19\x02\0\x03\x12\x04\xf2\x01\x1e\x1f\n\x0c\n\x04\x04\x19\x02\ + \x01\x12\x04\xf3\x01\x08\x1b\n\r\n\x05\x04\x19\x02\x01\x05\x12\x04\xf3\ + \x01\x08\x0e\n\r\n\x05\x04\x19\x02\x01\x01\x12\x04\xf3\x01\x0f\x16\n\r\n\ + \x05\x04\x19\x02\x01\x03\x12\x04\xf3\x01\x19\x1a\n\x0c\n\x04\x04\x19\x02\ + \x02\x12\x04\xf4\x01\x08\x17\n\r\n\x05\x04\x19\x02\x02\x05\x12\x04\xf4\ + \x01\x08\r\n\r\n\x05\x04\x19\x02\x02\x01\x12\x04\xf4\x01\x0e\x12\n\r\n\ + \x05\x04\x19\x02\x02\x03\x12\x04\xf4\x01\x15\x16\n\x0c\n\x02\x04\x1a\x12\ + \x06\xf7\x01\0\xf9\x01\x01\n\x0b\n\x03\x04\x1a\x01\x12\x04\xf7\x01\x08\ + \x1b\n\x0c\n\x04\x04\x1a\x02\0\x12\x04\xf8\x01\x08\x17\n\r\n\x05\x04\x1a\ + \x02\0\x05\x12\x04\xf8\x01\x08\x0e\n\r\n\x05\x04\x1a\x02\0\x01\x12\x04\ + \xf8\x01\x0f\x12\n\r\n\x05\x04\x1a\x02\0\x03\x12\x04\xf8\x01\x15\x16\n\ + \x0c\n\x02\x04\x1b\x12\x06\xfb\x01\0\xff\x01\x01\n\x0b\n\x03\x04\x1b\x01\ + \x12\x04\xfb\x01\x08\x19\n\x0c\n\x04\x04\x1b\x02\0\x12\x04\xfc\x01\x08\ + \x20\n\r\n\x05\x04\x1b\x02\0\x05\x12\x04\xfc\x01\x08\x0e\n\r\n\x05\x04\ + \x1b\x02\0\x01\x12\x04\xfc\x01\x0f\x1b\n\r\n\x05\x04\x1b\x02\0\x03\x12\ + \x04\xfc\x01\x1e\x1f\n\x0c\n\x04\x04\x1b\x02\x01\x12\x04\xfd\x01\x08\x1b\ + \n\r\n\x05\x04\x1b\x02\x01\x05\x12\x04\xfd\x01\x08\x0e\n\r\n\x05\x04\x1b\ + \x02\x01\x01\x12\x04\xfd\x01\x0f\x16\n\r\n\x05\x04\x1b\x02\x01\x03\x12\ + \x04\xfd\x01\x19\x1a\n\x0c\n\x04\x04\x1b\x02\x02\x12\x04\xfe\x01\x08\x17\ + \n\r\n\x05\x04\x1b\x02\x02\x05\x12\x04\xfe\x01\x08\x0e\n\r\n\x05\x04\x1b\ + \x02\x02\x01\x12\x04\xfe\x01\x0f\x12\n\r\n\x05\x04\x1b\x02\x02\x03\x12\ + \x04\xfe\x01\x15\x16\n\x0c\n\x02\x04\x1c\x12\x06\x81\x02\0\x83\x02\x01\n\ + \x0b\n\x03\x04\x1c\x01\x12\x04\x81\x02\x08\x1a\n\x0c\n\x04\x04\x1c\x02\0\ + \x12\x04\x82\x02\x08\x17\n\r\n\x05\x04\x1c\x02\0\x05\x12\x04\x82\x02\x08\ + \r\n\r\n\x05\x04\x1c\x02\0\x01\x12\x04\x82\x02\x0e\x12\n\r\n\x05\x04\x1c\ + \x02\0\x03\x12\x04\x82\x02\x15\x16\n\x0c\n\x02\x04\x1d\x12\x06\x85\x02\0\ + \x88\x02\x01\n\x0b\n\x03\x04\x1d\x01\x12\x04\x85\x02\x08\x19\n\x0c\n\x04\ + \x04\x1d\x02\0\x12\x04\x86\x02\x08\x20\n\r\n\x05\x04\x1d\x02\0\x05\x12\ \x04\x86\x02\x08\x0e\n\r\n\x05\x04\x1d\x02\0\x01\x12\x04\x86\x02\x0f\x1b\ \n\r\n\x05\x04\x1d\x02\0\x03\x12\x04\x86\x02\x1e\x1f\n\x0c\n\x04\x04\x1d\ - \x02\x01\x12\x04\x87\x02\x08\x1b\n\x0f\n\x05\x04\x1d\x02\x01\x04\x12\x06\ - \x87\x02\x08\x86\x02\x20\n\r\n\x05\x04\x1d\x02\x01\x05\x12\x04\x87\x02\ - \x08\x0e\n\r\n\x05\x04\x1d\x02\x01\x01\x12\x04\x87\x02\x0f\x16\n\r\n\x05\ - \x04\x1d\x02\x01\x03\x12\x04\x87\x02\x19\x1a\n\x0c\n\x02\x04\x1e\x12\x06\ - \x8a\x02\0\x8f\x02\x01\n\x0b\n\x03\x04\x1e\x01\x12\x04\x8a\x02\x08\x1b\n\ - \x0c\n\x04\x04\x1e\x02\0\x12\x04\x8b\x02\x08\x20\n\x0f\n\x05\x04\x1e\x02\ - \0\x04\x12\x06\x8b\x02\x08\x8a\x02\x1d\n\r\n\x05\x04\x1e\x02\0\x05\x12\ - \x04\x8b\x02\x08\x0e\n\r\n\x05\x04\x1e\x02\0\x01\x12\x04\x8b\x02\x0f\x1b\ - \n\r\n\x05\x04\x1e\x02\0\x03\x12\x04\x8b\x02\x1e\x1f\n\x0c\n\x04\x04\x1e\ - \x02\x01\x12\x04\x8c\x02\x08\x1b\n\x0f\n\x05\x04\x1e\x02\x01\x04\x12\x06\ - \x8c\x02\x08\x8b\x02\x20\n\r\n\x05\x04\x1e\x02\x01\x05\x12\x04\x8c\x02\ - \x08\x0e\n\r\n\x05\x04\x1e\x02\x01\x01\x12\x04\x8c\x02\x0f\x16\n\r\n\x05\ - \x04\x1e\x02\x01\x03\x12\x04\x8c\x02\x19\x1a\n\x0c\n\x04\x04\x1e\x02\x02\ - \x12\x04\x8d\x02\x08\x17\n\x0f\n\x05\x04\x1e\x02\x02\x04\x12\x06\x8d\x02\ - \x08\x8c\x02\x1b\n\r\n\x05\x04\x1e\x02\x02\x05\x12\x04\x8d\x02\x08\x0e\n\ - \r\n\x05\x04\x1e\x02\x02\x01\x12\x04\x8d\x02\x0f\x12\n\r\n\x05\x04\x1e\ - \x02\x02\x03\x12\x04\x8d\x02\x15\x16\n\x0c\n\x04\x04\x1e\x02\x03\x12\x04\ - \x8e\x02\x08\x1a\n\x0f\n\x05\x04\x1e\x02\x03\x04\x12\x06\x8e\x02\x08\x8d\ - \x02\x17\n\r\n\x05\x04\x1e\x02\x03\x05\x12\x04\x8e\x02\x08\x0e\n\r\n\x05\ - \x04\x1e\x02\x03\x01\x12\x04\x8e\x02\x0f\x15\n\r\n\x05\x04\x1e\x02\x03\ - \x03\x12\x04\x8e\x02\x18\x19\n\x0c\n\x02\x04\x1f\x12\x06\x91\x02\0\xa2\ - \x02\x01\n\x0b\n\x03\x04\x1f\x01\x12\x04\x91\x02\x08\x1c\n\x0c\n\x04\x04\ - \x1f\x02\0\x12\x04\x92\x02\x08\x1c\n\x0f\n\x05\x04\x1f\x02\0\x04\x12\x06\ - \x92\x02\x08\x91\x02\x1e\n\r\n\x05\x04\x1f\x02\0\x05\x12\x04\x92\x02\x08\ - \x0e\n\r\n\x05\x04\x1f\x02\0\x01\x12\x04\x92\x02\x0f\x17\n\r\n\x05\x04\ - \x1f\x02\0\x03\x12\x04\x92\x02\x1a\x1b\n\x0c\n\x04\x04\x1f\x02\x01\x12\ - \x04\x93\x02\x08\x20\n\r\n\x05\x04\x1f\x02\x01\x04\x12\x04\x93\x02\x08\ - \x10\n\r\n\x05\x04\x1f\x02\x01\x05\x12\x04\x93\x02\x11\x17\n\r\n\x05\x04\ - \x1f\x02\x01\x01\x12\x04\x93\x02\x18\x1b\n\r\n\x05\x04\x1f\x02\x01\x03\ - \x12\x04\x93\x02\x1e\x1f\n\x0c\n\x04\x04\x1f\x02\x02\x12\x04\x94\x02\x08\ - &\n\r\n\x05\x04\x1f\x02\x02\x04\x12\x04\x94\x02\x08\x10\n\r\n\x05\x04\ - \x1f\x02\x02\x06\x12\x04\x94\x02\x11\x18\n\r\n\x05\x04\x1f\x02\x02\x01\ - \x12\x04\x94\x02\x19!\n\r\n\x05\x04\x1f\x02\x02\x03\x12\x04\x94\x02$%\n\ - \xea\x01\n\x04\x04\x1f\x02\x03\x12\x04\x9a\x02\x08\x1f\x1a\xdb\x01\x20Th\ - is\x20field\x20means\x20that\x20a\x20pause\x20process\x20needs\x20to\x20\ - be\x20created\x20by\x20the\n\x20agent.\x20This\x20pid\x20namespace\x20of\ - \x20the\x20pause\x20process\x20will\x20be\x20treated\x20as\n\x20a\x20sha\ - red\x20pid\x20namespace.\x20All\x20containers\x20created\x20will\x20join\ - \x20this\x20shared\n\x20pid\x20namespace.\n\n\x0f\n\x05\x04\x1f\x02\x03\ - \x04\x12\x06\x9a\x02\x08\x94\x02&\n\r\n\x05\x04\x1f\x02\x03\x05\x12\x04\ - \x9a\x02\x08\x0c\n\r\n\x05\x04\x1f\x02\x03\x01\x12\x04\x9a\x02\r\x1a\n\r\ - \n\x05\x04\x1f\x02\x03\x03\x12\x04\x9a\x02\x1d\x1e\n\xc5\x01\n\x04\x04\ - \x1f\x02\x04\x12\x04\x9e\x02\x08\x1e\x1a\xb6\x01\x20SandboxId\x20identif\ - ies\x20which\x20sandbox\x20is\x20using\x20the\x20agent.\x20We\x20allow\ - \x20only\n\x20one\x20sandbox\x20per\x20agent\x20and\x20implicitly\x20req\ - uire\x20that\x20CreateSandbox\x20is\n\x20called\x20before\x20other\x20sa\ - ndbox/network\x20calls.\n\n\x0f\n\x05\x04\x1f\x02\x04\x04\x12\x06\x9e\ - \x02\x08\x9a\x02\x1f\n\r\n\x05\x04\x1f\x02\x04\x05\x12\x04\x9e\x02\x08\ - \x0e\n\r\n\x05\x04\x1f\x02\x04\x01\x12\x04\x9e\x02\x0f\x19\n\r\n\x05\x04\ - \x1f\x02\x04\x03\x12\x04\x9e\x02\x1c\x1d\n\x98\x01\n\x04\x04\x1f\x02\x05\ - \x12\x04\xa1\x02\x08#\x1a\x89\x01\x20This\x20field,\x20if\x20non-empty,\ - \x20designates\x20an\x20absolute\x20path\x20to\x20a\x20directory\n\x20th\ - at\x20the\x20agent\x20will\x20search\x20for\x20OCI\x20hooks\x20to\x20run\ - \x20within\x20the\x20guest.\n\n\x0f\n\x05\x04\x1f\x02\x05\x04\x12\x06\ - \xa1\x02\x08\x9e\x02\x1e\n\r\n\x05\x04\x1f\x02\x05\x05\x12\x04\xa1\x02\ - \x08\x0e\n\r\n\x05\x04\x1f\x02\x05\x01\x12\x04\xa1\x02\x0f\x1e\n\r\n\x05\ - \x04\x1f\x02\x05\x03\x12\x04\xa1\x02!\"\n\x0c\n\x02\x04\x20\x12\x06\xa4\ - \x02\0\xa5\x02\x01\n\x0b\n\x03\x04\x20\x01\x12\x04\xa4\x02\x08\x1d\n\x0c\ - \n\x02\x04!\x12\x06\xa7\x02\0\xa9\x02\x01\n\x0b\n\x03\x04!\x01\x12\x04\ - \xa7\x02\x08\x12\n\x0c\n\x04\x04!\x02\0\x12\x04\xa8\x02\x080\n\r\n\x05\ - \x04!\x02\0\x04\x12\x04\xa8\x02\x08\x10\n\r\n\x05\x04!\x02\0\x06\x12\x04\ - \xa8\x02\x11\x20\n\r\n\x05\x04!\x02\0\x01\x12\x04\xa8\x02!+\n\r\n\x05\ - \x04!\x02\0\x03\x12\x04\xa8\x02./\n\x0c\n\x02\x04\"\x12\x06\xab\x02\0\ - \xad\x02\x01\n\x0b\n\x03\x04\"\x01\x12\x04\xab\x02\x08\x0e\n\x0c\n\x04\ - \x04\"\x02\0\x12\x04\xac\x02\x08(\n\r\n\x05\x04\"\x02\0\x04\x12\x04\xac\ - \x02\x08\x10\n\r\n\x05\x04\"\x02\0\x06\x12\x04\xac\x02\x11\x1c\n\r\n\x05\ - \x04\"\x02\0\x01\x12\x04\xac\x02\x1d#\n\r\n\x05\x04\"\x02\0\x03\x12\x04\ - \xac\x02&'\n\x0c\n\x02\x04#\x12\x06\xaf\x02\0\xb1\x02\x01\n\x0b\n\x03\ - \x04#\x01\x12\x04\xaf\x02\x08\x1e\n\x0c\n\x04\x04#\x02\0\x12\x04\xb0\x02\ - \x08&\n\x0f\n\x05\x04#\x02\0\x04\x12\x06\xb0\x02\x08\xaf\x02\x20\n\r\n\ - \x05\x04#\x02\0\x06\x12\x04\xb0\x02\x08\x17\n\r\n\x05\x04#\x02\0\x01\x12\ - \x04\xb0\x02\x18!\n\r\n\x05\x04#\x02\0\x03\x12\x04\xb0\x02$%\n\x0c\n\x02\ - \x04$\x12\x06\xb3\x02\0\xb5\x02\x01\n\x0b\n\x03\x04$\x01\x12\x04\xb3\x02\ - \x08\x1b\n\x0c\n\x04\x04$\x02\0\x12\x04\xb4\x02\x08\x1a\n\x0f\n\x05\x04$\ - \x02\0\x04\x12\x06\xb4\x02\x08\xb3\x02\x1d\n\r\n\x05\x04$\x02\0\x06\x12\ - \x04\xb4\x02\x08\x0e\n\r\n\x05\x04$\x02\0\x01\x12\x04\xb4\x02\x0f\x15\n\ - \r\n\x05\x04$\x02\0\x03\x12\x04\xb4\x02\x18\x19\n\x0c\n\x02\x04%\x12\x06\ - \xb7\x02\0\xb8\x02\x01\n\x0b\n\x03\x04%\x01\x12\x04\xb7\x02\x08\x1d\n\ - \x0c\n\x02\x04&\x12\x06\xba\x02\0\xbb\x02\x01\n\x0b\n\x03\x04&\x01\x12\ - \x04\xba\x02\x08\x19\n\x0c\n\x02\x04'\x12\x06\xbd\x02\0\xc8\x02\x01\n\ - \x0b\n\x03\x04'\x01\x12\x04\xbd\x02\x08\x1b\n\xf6\x01\n\x04\x04'\x02\0\ - \x12\x04\xc1\x02\x08\x16\x1a\xe7\x01\x20Wait\x20specifies\x20if\x20the\ - \x20caller\x20waits\x20for\x20the\x20agent\x20to\x20online\x20all\x20res\ - ources.\n\x20If\x20true\x20the\x20agent\x20returns\x20once\x20all\x20res\ - ources\x20have\x20been\x20connected,\x20otherwise\x20all\n\x20resources\ - \x20are\x20connected\x20asynchronously\x20and\x20the\x20agent\x20returns\ - \x20immediately.\n\n\x0f\n\x05\x04'\x02\0\x04\x12\x06\xc1\x02\x08\xbd\ - \x02\x1d\n\r\n\x05\x04'\x02\0\x05\x12\x04\xc1\x02\x08\x0c\n\r\n\x05\x04'\ - \x02\0\x01\x12\x04\xc1\x02\r\x11\n\r\n\x05\x04'\x02\0\x03\x12\x04\xc1\ - \x02\x14\x15\n`\n\x04\x04'\x02\x01\x12\x04\xc4\x02\x08\x1b\x1aR\x20NbCpu\ - s\x20specifies\x20the\x20number\x20of\x20CPUs\x20that\x20were\x20added\ - \x20and\x20the\x20agent\x20has\x20to\x20online.\n\n\x0f\n\x05\x04'\x02\ - \x01\x04\x12\x06\xc4\x02\x08\xc1\x02\x16\n\r\n\x05\x04'\x02\x01\x05\x12\ - \x04\xc4\x02\x08\x0e\n\r\n\x05\x04'\x02\x01\x01\x12\x04\xc4\x02\x0f\x16\ - \n\r\n\x05\x04'\x02\x01\x03\x12\x04\xc4\x02\x19\x1a\nA\n\x04\x04'\x02\ - \x02\x12\x04\xc7\x02\x08\x1a\x1a3\x20CpuOnly\x20specifies\x20whether\x20\ - only\x20online\x20CPU\x20or\x20not.\n\n\x0f\n\x05\x04'\x02\x02\x04\x12\ - \x06\xc7\x02\x08\xc4\x02\x1b\n\r\n\x05\x04'\x02\x02\x05\x12\x04\xc7\x02\ - \x08\x0c\n\r\n\x05\x04'\x02\x02\x01\x12\x04\xc7\x02\r\x15\n\r\n\x05\x04'\ - \x02\x02\x03\x12\x04\xc7\x02\x18\x19\n\x0c\n\x02\x04(\x12\x06\xca\x02\0\ - \xcd\x02\x01\n\x0b\n\x03\x04(\x01\x12\x04\xca\x02\x08\x1e\nM\n\x04\x04(\ - \x02\0\x12\x04\xcc\x02\x08\x17\x1a?\x20Data\x20specifies\x20the\x20rando\ - m\x20data\x20used\x20to\x20reseed\x20the\x20guest\x20crng.\n\n\x0f\n\x05\ - \x04(\x02\0\x04\x12\x06\xcc\x02\x08\xca\x02\x20\n\r\n\x05\x04(\x02\0\x05\ - \x12\x04\xcc\x02\x08\r\n\r\n\x05\x04(\x02\0\x01\x12\x04\xcc\x02\x0e\x12\ - \n\r\n\x05\x04(\x02\0\x03\x12\x04\xcc\x02\x15\x16\nX\n\x02\x04)\x12\x06\ - \xd0\x02\0\xe0\x02\x01\x1aJ\x20AgentDetails\x20provides\x20information\ - \x20to\x20the\x20client\x20about\x20the\x20running\x20agent.\n\n\x0b\n\ - \x03\x04)\x01\x12\x04\xd0\x02\x08\x14\nC\n\x04\x04)\x02\0\x12\x04\xd2\ - \x02\x08\x1b\x1a5\x20Semantic\x20version\x20of\x20agent\x20(see\x20https\ - ://semver.org).\n\n\x0f\n\x05\x04)\x02\0\x04\x12\x06\xd2\x02\x08\xd0\x02\ - \x16\n\r\n\x05\x04)\x02\0\x05\x12\x04\xd2\x02\x08\x0e\n\r\n\x05\x04)\x02\ - \0\x01\x12\x04\xd2\x02\x0f\x16\n\r\n\x05\x04)\x02\0\x03\x12\x04\xd2\x02\ - \x19\x1a\n5\n\x04\x04)\x02\x01\x12\x04\xd5\x02\x08\x1d\x1a'\x20Set\x20if\ - \x20the\x20agent\x20is\x20running\x20as\x20PID\x201.\n\n\x0f\n\x05\x04)\ - \x02\x01\x04\x12\x06\xd5\x02\x08\xd2\x02\x1b\n\r\n\x05\x04)\x02\x01\x05\ - \x12\x04\xd5\x02\x08\x0c\n\r\n\x05\x04)\x02\x01\x01\x12\x04\xd5\x02\r\ - \x18\n\r\n\x05\x04)\x02\x01\x03\x12\x04\xd5\x02\x1b\x1c\n2\n\x04\x04)\ - \x02\x02\x12\x04\xd8\x02\x08,\x1a$\x20List\x20of\x20available\x20device\ - \x20handlers.\n\n\r\n\x05\x04)\x02\x02\x04\x12\x04\xd8\x02\x08\x10\n\r\n\ - \x05\x04)\x02\x02\x05\x12\x04\xd8\x02\x11\x17\n\r\n\x05\x04)\x02\x02\x01\ - \x12\x04\xd8\x02\x18'\n\r\n\x05\x04)\x02\x02\x03\x12\x04\xd8\x02*+\n3\n\ - \x04\x04)\x02\x03\x12\x04\xdb\x02\x08-\x1a%\x20List\x20of\x20available\ - \x20storage\x20handlers.\n\n\r\n\x05\x04)\x02\x03\x04\x12\x04\xdb\x02\ - \x08\x10\n\r\n\x05\x04)\x02\x03\x05\x12\x04\xdb\x02\x11\x17\n\r\n\x05\ - \x04)\x02\x03\x01\x12\x04\xdb\x02\x18(\n\r\n\x05\x04)\x02\x03\x03\x12\ - \x04\xdb\x02+,\np\n\x04\x04)\x02\x04\x12\x04\xdf\x02\x08\"\x1ab\x20Set\ - \x20only\x20if\x20the\x20agent\x20is\x20built\x20with\x20seccomp\x20supp\ - ort\x20and\x20the\x20guest\n\x20environment\x20supports\x20seccomp.\n\n\ - \x0f\n\x05\x04)\x02\x04\x04\x12\x06\xdf\x02\x08\xdb\x02-\n\r\n\x05\x04)\ - \x02\x04\x05\x12\x04\xdf\x02\x08\x0c\n\r\n\x05\x04)\x02\x04\x01\x12\x04\ - \xdf\x02\r\x1d\n\r\n\x05\x04)\x02\x04\x03\x12\x04\xdf\x02\x20!\n\x0c\n\ - \x02\x04*\x12\x06\xe2\x02\0\xec\x02\x01\n\x0b\n\x03\x04*\x01\x12\x04\xe2\ - \x02\x08\x1b\n\xd5\x01\n\x04\x04*\x02\0\x12\x04\xe6\x02\x08\x20\x1a\xc6\ - \x01\x20MemBlockSize\x20asks\x20server\x20to\x20return\x20the\x20system\ - \x20memory\x20block\x20size\x20that\x20can\x20be\x20used\n\x20for\x20mem\ - ory\x20hotplug\x20alignment.\x20Typically\x20the\x20server\x20returns\ - \x20what's\x20in\n\x20/sys/devices/system/memory/block_size_bytes.\n\n\ - \x0f\n\x05\x04*\x02\0\x04\x12\x06\xe6\x02\x08\xe2\x02\x1d\n\r\n\x05\x04*\ - \x02\0\x05\x12\x04\xe6\x02\x08\x0c\n\r\n\x05\x04*\x02\0\x01\x12\x04\xe6\ - \x02\r\x1b\n\r\n\x05\x04*\x02\0\x03\x12\x04\xe6\x02\x1e\x1f\n\xd1\x01\n\ - \x04\x04*\x02\x01\x12\x04\xeb\x02\x08#\x1a\xc2\x01\x20MemoryHotplugProbe\ - \x20asks\x20server\x20to\x20return\x20whether\x20guest\x20kernel\x20supp\ - orts\x20memory\x20hotplug\n\x20via\x20probeinterface.\x20Typically\x20th\ - e\x20server\x20will\x20check\x20if\x20the\x20path\n\x20/sys/devices/syst\ - em/memory/probe\x20exists.\n\n\x0f\n\x05\x04*\x02\x01\x04\x12\x06\xeb\ - \x02\x08\xe6\x02\x20\n\r\n\x05\x04*\x02\x01\x05\x12\x04\xeb\x02\x08\x0c\ - \n\r\n\x05\x04*\x02\x01\x01\x12\x04\xeb\x02\r\x1e\n\r\n\x05\x04*\x02\x01\ - \x03\x12\x04\xeb\x02!\"\n\x0c\n\x02\x04+\x12\x06\xee\x02\0\xf5\x02\x01\n\ - \x0b\n\x03\x04+\x01\x12\x04\xee\x02\x08\x1c\nP\n\x04\x04+\x02\0\x12\x04\ - \xf0\x02\x08(\x1aB\x20MemBlockSizeBytes\x20returns\x20the\x20system\x20m\ - emory\x20block\x20size\x20in\x20bytes.\n\n\x0f\n\x05\x04+\x02\0\x04\x12\ - \x06\xf0\x02\x08\xee\x02\x1e\n\r\n\x05\x04+\x02\0\x05\x12\x04\xf0\x02\ - \x08\x0e\n\r\n\x05\x04+\x02\0\x01\x12\x04\xf0\x02\x0f#\n\r\n\x05\x04+\ - \x02\0\x03\x12\x04\xf0\x02&'\n\x0c\n\x04\x04+\x02\x01\x12\x04\xf2\x02\ - \x08'\n\x0f\n\x05\x04+\x02\x01\x04\x12\x06\xf2\x02\x08\xf0\x02(\n\r\n\ - \x05\x04+\x02\x01\x06\x12\x04\xf2\x02\x08\x14\n\r\n\x05\x04+\x02\x01\x01\ - \x12\x04\xf2\x02\x15\"\n\r\n\x05\x04+\x02\x01\x03\x12\x04\xf2\x02%&\n\ - \x0c\n\x04\x04+\x02\x02\x12\x04\xf4\x02\x08+\n\x0f\n\x05\x04+\x02\x02\ - \x04\x12\x06\xf4\x02\x08\xf2\x02'\n\r\n\x05\x04+\x02\x02\x05\x12\x04\xf4\ - \x02\x08\x0c\n\r\n\x05\x04+\x02\x02\x01\x12\x04\xf4\x02\r&\n\r\n\x05\x04\ - +\x02\x02\x03\x12\x04\xf4\x02)*\n\x0c\n\x02\x04,\x12\x06\xf7\x02\0\xfb\ - \x02\x01\n\x0b\n\x03\x04,\x01\x12\x04\xf7\x02\x08\x20\n\xb2\x01\n\x04\ - \x04,\x02\0\x12\x04\xfa\x02\x080\x1a\xa3\x01\x20server\x20needs\x20to\ - \x20send\x20the\x20value\x20of\x20memHotplugProbeAddr\x20into\x20file\ - \x20/sys/devices/system/memory/probe,\n\x20in\x20order\x20to\x20notify\ - \x20the\x20guest\x20kernel\x20about\x20hot-add\x20memory\x20event\n\n\r\ - \n\x05\x04,\x02\0\x04\x12\x04\xfa\x02\x08\x10\n\r\n\x05\x04,\x02\0\x05\ - \x12\x04\xfa\x02\x11\x17\n\r\n\x05\x04,\x02\0\x01\x12\x04\xfa\x02\x18+\n\ - \r\n\x05\x04,\x02\0\x03\x12\x04\xfa\x02./\n\x0c\n\x02\x04-\x12\x06\xfd\ - \x02\0\x82\x03\x01\n\x0b\n\x03\x04-\x01\x12\x04\xfd\x02\x08\x1f\n/\n\x04\ - \x04-\x02\0\x12\x04\xff\x02\x08\x16\x1a!\x20Sec\x20the\x20second\x20sinc\ - e\x20the\x20Epoch.\n\n\x0f\n\x05\x04-\x02\0\x04\x12\x06\xff\x02\x08\xfd\ - \x02!\n\r\n\x05\x04-\x02\0\x05\x12\x04\xff\x02\x08\r\n\r\n\x05\x04-\x02\ - \0\x01\x12\x04\xff\x02\x0e\x11\n\r\n\x05\x04-\x02\0\x03\x12\x04\xff\x02\ - \x14\x15\nF\n\x04\x04-\x02\x01\x12\x04\x81\x03\x08\x17\x1a8\x20Usec\x20t\ - he\x20microseconds\x20portion\x20of\x20time\x20since\x20the\x20Epoch.\n\ - \n\x0f\n\x05\x04-\x02\x01\x04\x12\x06\x81\x03\x08\xff\x02\x16\n\r\n\x05\ - \x04-\x02\x01\x05\x12\x04\x81\x03\x08\r\n\r\n\x05\x04-\x02\x01\x01\x12\ - \x04\x81\x03\x0e\x12\n\r\n\x05\x04-\x02\x01\x03\x12\x04\x81\x03\x15\x16\ - \n\xa3\x01\n\x02\x04.\x12\x06\x86\x03\0\xa0\x03\x01\x1a\x94\x01\x20Stora\ - ge\x20represents\x20both\x20the\x20rootfs\x20of\x20the\x20container,\x20\ - and\x20any\x20volume\x20that\n\x20could\x20have\x20been\x20defined\x20th\ - rough\x20the\x20Mount\x20list\x20of\x20the\x20OCI\x20specification.\n\n\ - \x0b\n\x03\x04.\x01\x12\x04\x86\x03\x08\x0f\n\x8b\x02\n\x04\x04.\x02\0\ - \x12\x04\x8b\x03\x08\x1a\x1a\xfc\x01\x20Driver\x20is\x20used\x20to\x20de\ - fine\x20the\x20way\x20the\x20storage\x20is\x20passed\x20through\x20the\n\ - \x20virtual\x20machine.\x20It\x20can\x20be\x20\"9p\",\x20\"blk\",\x20or\ - \x20something\x20else,\x20but\x20for\n\x20all\x20cases,\x20this\x20will\ - \x20define\x20if\x20some\x20extra\x20steps\x20are\x20required\x20before\ - \n\x20this\x20storage\x20gets\x20mounted\x20into\x20the\x20container.\n\ - \n\x0f\n\x05\x04.\x02\0\x04\x12\x06\x8b\x03\x08\x86\x03\x11\n\r\n\x05\ - \x04.\x02\0\x05\x12\x04\x8b\x03\x08\x0e\n\r\n\x05\x04.\x02\0\x01\x12\x04\ - \x8b\x03\x0f\x15\n\r\n\x05\x04.\x02\0\x03\x12\x04\x8b\x03\x18\x19\n\xd0\ - \x01\n\x04\x04.\x02\x01\x12\x04\x8f\x03\x08+\x1a\xc1\x01\x20DriverOption\ - s\x20allows\x20the\x20caller\x20to\x20define\x20a\x20list\x20of\x20optio\ - ns\x20such\n\x20as\x20block\x20sizes,\x20numbers\x20of\x20luns,\x20...\ - \x20which\x20are\x20very\x20specific\x20to\n\x20every\x20device\x20and\ - \x20cannot\x20be\x20generalized\x20through\x20extra\x20fields.\n\n\r\n\ - \x05\x04.\x02\x01\x04\x12\x04\x8f\x03\x08\x10\n\r\n\x05\x04.\x02\x01\x05\ - \x12\x04\x8f\x03\x11\x17\n\r\n\x05\x04.\x02\x01\x01\x12\x04\x8f\x03\x18&\ - \n\r\n\x05\x04.\x02\x01\x03\x12\x04\x8f\x03)*\n\xce\x02\n\x04\x04.\x02\ - \x02\x12\x04\x95\x03\x08\x1a\x1a\xbf\x02\x20Source\x20can\x20be\x20anyth\ - ing\x20representing\x20the\x20source\x20of\x20the\x20storage.\x20This\n\ - \x20will\x20be\x20handled\x20by\x20the\x20proper\x20handler\x20based\x20\ - on\x20the\x20Driver\x20used.\n\x20For\x20instance,\x20it\x20can\x20be\ - \x20a\x20very\x20simple\x20path\x20if\x20the\x20caller\x20knows\x20the\n\ - \x20name\x20of\x20device\x20inside\x20the\x20VM,\x20or\x20it\x20can\x20b\ - e\x20some\x20sort\x20of\x20identifier\n\x20to\x20let\x20the\x20agent\x20\ - find\x20the\x20device\x20inside\x20the\x20VM.\n\n\x0f\n\x05\x04.\x02\x02\ - \x04\x12\x06\x95\x03\x08\x8f\x03+\n\r\n\x05\x04.\x02\x02\x05\x12\x04\x95\ - \x03\x08\x0e\n\r\n\x05\x04.\x02\x02\x01\x12\x04\x95\x03\x0f\x15\n\r\n\ - \x05\x04.\x02\x02\x03\x12\x04\x95\x03\x18\x19\n\xdb\x01\n\x04\x04.\x02\ - \x03\x12\x04\x99\x03\x08\x1a\x1a\xcc\x01\x20Fstype\x20represents\x20the\ - \x20filesystem\x20that\x20needs\x20to\x20be\x20used\x20to\x20mount\x20th\ - e\n\x20storage\x20inside\x20the\x20VM.\x20For\x20instance,\x20it\x20coul\ - d\x20be\x20\"xfs\"\x20for\x20block\n\x20device,\x20\"9p\"\x20for\x20shar\ - ed\x20filesystem,\x20or\x20\"tmpfs\"\x20for\x20shared\x20/dev/shm.\n\n\ - \x0f\n\x05\x04.\x02\x03\x04\x12\x06\x99\x03\x08\x95\x03\x1a\n\r\n\x05\ - \x04.\x02\x03\x05\x12\x04\x99\x03\x08\x0e\n\r\n\x05\x04.\x02\x03\x01\x12\ - \x04\x99\x03\x0f\x15\n\r\n\x05\x04.\x02\x03\x03\x12\x04\x99\x03\x18\x19\ - \nw\n\x04\x04.\x02\x04\x12\x04\x9c\x03\x08$\x1ai\x20Options\x20describes\ - \x20the\x20additional\x20options\x20that\x20might\x20be\x20needed\x20to\ - \n\x20mount\x20properly\x20the\x20storage\x20filesytem.\n\n\r\n\x05\x04.\ - \x02\x04\x04\x12\x04\x9c\x03\x08\x10\n\r\n\x05\x04.\x02\x04\x05\x12\x04\ - \x9c\x03\x11\x17\n\r\n\x05\x04.\x02\x04\x01\x12\x04\x9c\x03\x18\x1f\n\r\ - \n\x05\x04.\x02\x04\x03\x12\x04\x9c\x03\"#\na\n\x04\x04.\x02\x05\x12\x04\ - \x9f\x03\x08\x1f\x1aS\x20MountPoint\x20refers\x20to\x20the\x20path\x20wh\ - ere\x20the\x20storage\x20should\x20be\x20mounted\n\x20inside\x20the\x20V\ - M.\n\n\x0f\n\x05\x04.\x02\x05\x04\x12\x06\x9f\x03\x08\x9c\x03$\n\r\n\x05\ - \x04.\x02\x05\x05\x12\x04\x9f\x03\x08\x0e\n\r\n\x05\x04.\x02\x05\x01\x12\ - \x04\x9f\x03\x0f\x1a\n\r\n\x05\x04.\x02\x05\x03\x12\x04\x9f\x03\x1d\x1e\ - \n\x88\x01\n\x02\x04/\x12\x06\xa4\x03\0\xc4\x03\x01\x1az\x20Device\x20re\ - presents\x20only\x20the\x20devices\x20that\x20could\x20have\x20been\x20d\ - efined\x20through\x20the\n\x20Linux\x20Device\x20list\x20of\x20the\x20OC\ - I\x20specification.\n\n\x0b\n\x03\x04/\x01\x12\x04\xa4\x03\x08\x0e\n\xb0\ - \x01\n\x04\x04/\x02\0\x12\x04\xa8\x03\x08\x16\x1a\xa1\x01\x20Id\x20can\ - \x20be\x20used\x20to\x20identify\x20the\x20device\x20inside\x20the\x20VM\ - .\x20Some\x20devices\n\x20might\x20not\x20need\x20it\x20to\x20be\x20iden\ - tified\x20on\x20the\x20VM,\x20and\x20will\x20rely\x20on\x20the\n\x20prov\ - ided\x20VmPath\x20instead.\n\n\x0f\n\x05\x04/\x02\0\x04\x12\x06\xa8\x03\ - \x08\xa4\x03\x10\n\r\n\x05\x04/\x02\0\x05\x12\x04\xa8\x03\x08\x0e\n\r\n\ - \x05\x04/\x02\0\x01\x12\x04\xa8\x03\x0f\x11\n\r\n\x05\x04/\x02\0\x03\x12\ - \x04\xa8\x03\x14\x15\n\xbd\x01\n\x04\x04/\x02\x01\x12\x04\xad\x03\x08\ - \x18\x1a\xae\x01\x20Type\x20defines\x20the\x20type\x20of\x20device\x20de\ - scribed.\x20This\x20can\x20be\x20\"blk\",\n\x20\"scsi\",\x20\"vfio\",\ - \x20...\n\x20Particularly,\x20this\x20should\x20be\x20used\x20to\x20trig\ - ger\x20the\x20use\x20of\x20the\n\x20appropriate\x20device\x20handler.\n\ - \n\x0f\n\x05\x04/\x02\x01\x04\x12\x06\xad\x03\x08\xa8\x03\x16\n\r\n\x05\ - \x04/\x02\x01\x05\x12\x04\xad\x03\x08\x0e\n\r\n\x05\x04/\x02\x01\x01\x12\ - \x04\xad\x03\x0f\x13\n\r\n\x05\x04/\x02\x01\x03\x12\x04\xad\x03\x16\x17\ - \n\xab\x02\n\x04\x04/\x02\x02\x12\x04\xb3\x03\x08\x1b\x1a\x9c\x02\x20VmP\ - ath\x20can\x20be\x20used\x20by\x20the\x20caller\x20to\x20provide\x20dire\ - ctly\x20the\x20path\x20of\n\x20the\x20device\x20as\x20it\x20will\x20appe\ - ar\x20inside\x20the\x20VM.\x20For\x20some\x20devices,\x20the\n\x20device\ - \x20id\x20or\x20the\x20list\x20of\x20options\x20passed\x20might\x20not\ - \x20be\x20enough\x20to\x20find\n\x20the\x20device.\x20In\x20those\x20cas\ - es,\x20the\x20caller\x20should\x20predict\x20and\x20provide\n\x20this\ - \x20vm_path.\n\n\x0f\n\x05\x04/\x02\x02\x04\x12\x06\xb3\x03\x08\xad\x03\ - \x18\n\r\n\x05\x04/\x02\x02\x05\x12\x04\xb3\x03\x08\x0e\n\r\n\x05\x04/\ - \x02\x02\x01\x12\x04\xb3\x03\x0f\x16\n\r\n\x05\x04/\x02\x02\x03\x12\x04\ - \xb3\x03\x19\x1a\n\xd4\x05\n\x04\x04/\x02\x03\x12\x04\xbf\x03\x08\"\x1a\ - \xc5\x05\x20ContainerPath\x20defines\x20the\x20path\x20where\x20the\x20d\ - evice\x20should\x20be\x20found\x20inside\n\x20the\x20container.\x20This\ - \x20path\x20should\x20match\x20the\x20path\x20of\x20the\x20device\x20fro\ - m\n\x20the\x20device\x20list\x20listed\x20inside\x20the\x20OCI\x20spec.\ - \x20This\x20is\x20used\x20in\x20order\n\x20to\x20identify\x20the\x20righ\ - t\x20device\x20in\x20the\x20spec\x20and\x20update\x20it\x20with\x20the\n\ - \x20right\x20options\x20such\x20as\x20major/minor\x20numbers\x20as\x20th\ - ey\x20appear\x20inside\n\x20the\x20VM\x20for\x20instance.\x20Note\x20tha\ - t\x20an\x20empty\x20ctr_path\x20should\x20be\x20used\n\x20to\x20make\x20\ - sure\x20the\x20device\x20handler\x20inside\x20the\x20agent\x20is\x20call\ - ed,\x20but\n\x20no\x20spec\x20update\x20needs\x20to\x20be\x20performed.\ - \x20This\x20has\x20to\x20happen\x20for\x20the\n\x20case\x20of\x20rootfs,\ - \x20when\x20a\x20device\x20has\x20to\x20be\x20waited\x20for\x20after\x20\ - it\x20has\n\x20been\x20hotplugged.\x20An\x20equivalent\x20Storage\x20ent\ - ry\x20should\x20be\x20defined\x20if\n\x20any\x20mount\x20needs\x20to\x20\ - be\x20performed\x20afterwards.\n\n\x0f\n\x05\x04/\x02\x03\x04\x12\x06\ - \xbf\x03\x08\xb3\x03\x1b\n\r\n\x05\x04/\x02\x03\x05\x12\x04\xbf\x03\x08\ - \x0e\n\r\n\x05\x04/\x02\x03\x01\x12\x04\xbf\x03\x0f\x1d\n\r\n\x05\x04/\ - \x02\x03\x03\x12\x04\xbf\x03\x20!\n\xca\x01\n\x04\x04/\x02\x04\x12\x04\ - \xc3\x03\x08$\x1a\xbb\x01\x20Options\x20allows\x20the\x20caller\x20to\ - \x20define\x20a\x20list\x20of\x20options\x20such\x20as\x20block\n\x20siz\ - es,\x20numbers\x20of\x20luns,\x20...\x20which\x20are\x20very\x20specific\ - \x20to\x20every\x20device\n\x20and\x20cannot\x20be\x20generalized\x20thr\ - ough\x20extra\x20fields.\n\n\r\n\x05\x04/\x02\x04\x04\x12\x04\xc3\x03\ - \x08\x10\n\r\n\x05\x04/\x02\x04\x05\x12\x04\xc3\x03\x11\x17\n\r\n\x05\ - \x04/\x02\x04\x01\x12\x04\xc3\x03\x18\x1f\n\r\n\x05\x04/\x02\x04\x03\x12\ - \x04\xc3\x03\"#\n\x0c\n\x02\x040\x12\x06\xc6\x03\0\xca\x03\x01\n\x0b\n\ - \x03\x040\x01\x12\x04\xc6\x03\x08\x12\n\x0c\n\x04\x040\x02\0\x12\x04\xc7\ - \x03\x08\x17\n\x0f\n\x05\x040\x02\0\x04\x12\x06\xc7\x03\x08\xc6\x03\x14\ - \n\r\n\x05\x040\x02\0\x05\x12\x04\xc7\x03\x08\x0e\n\r\n\x05\x040\x02\0\ - \x01\x12\x04\xc7\x03\x0f\x12\n\r\n\x05\x040\x02\0\x03\x12\x04\xc7\x03\ - \x15\x16\n\x0c\n\x04\x040\x02\x01\x12\x04\xc8\x03\x08\x17\n\x0f\n\x05\ - \x040\x02\x01\x04\x12\x06\xc8\x03\x08\xc7\x03\x17\n\r\n\x05\x040\x02\x01\ - \x05\x12\x04\xc8\x03\x08\x0e\n\r\n\x05\x040\x02\x01\x01\x12\x04\xc8\x03\ - \x0f\x12\n\r\n\x05\x040\x02\x01\x03\x12\x04\xc8\x03\x15\x16\n\x0c\n\x04\ - \x040\x02\x02\x12\x04\xc9\x03\x08+\n\r\n\x05\x040\x02\x02\x04\x12\x04\ - \xc9\x03\x08\x10\n\r\n\x05\x040\x02\x02\x05\x12\x04\xc9\x03\x11\x17\n\r\ - \n\x05\x040\x02\x02\x01\x12\x04\xc9\x03\x18&\n\r\n\x05\x040\x02\x02\x03\ - \x12\x04\xc9\x03)*\n\x0c\n\x02\x041\x12\x06\xcc\x03\0\xe0\x03\x01\n\x0b\ - \n\x03\x041\x01\x12\x04\xcc\x03\x08\x17\nj\n\x04\x041\x02\0\x12\x04\xcf\ - \x03\x08\x18\x1a\\\x20Path\x20is\x20the\x20destination\x20file\x20in\x20\ - the\x20guest.\x20It\x20must\x20be\x20absolute,\n\x20canonical\x20and\x20\ - below\x20/run.\n\n\x0f\n\x05\x041\x02\0\x04\x12\x06\xcf\x03\x08\xcc\x03\ - \x19\n\r\n\x05\x041\x02\0\x05\x12\x04\xcf\x03\x08\x0e\n\r\n\x05\x041\x02\ - \0\x01\x12\x04\xcf\x03\x0f\x13\n\r\n\x05\x041\x02\0\x03\x12\x04\xcf\x03\ - \x16\x17\n\xbd\x01\n\x04\x041\x02\x01\x12\x04\xd3\x03\x08\x1c\x1a\xae\ - \x01\x20FileSize\x20is\x20the\x20expected\x20file\x20size,\x20for\x20sec\ - urity\x20reasons\x20write\x20operations\n\x20are\x20made\x20in\x20a\x20t\ - emporary\x20file,\x20once\x20it\x20has\x20the\x20expected\x20size,\x20it\ - 's\x20moved\n\x20to\x20the\x20destination\x20path.\n\n\x0f\n\x05\x041\ - \x02\x01\x04\x12\x06\xd3\x03\x08\xcf\x03\x18\n\r\n\x05\x041\x02\x01\x05\ - \x12\x04\xd3\x03\x08\r\n\r\n\x05\x041\x02\x01\x01\x12\x04\xd3\x03\x0e\ - \x17\n\r\n\x05\x041\x02\x01\x03\x12\x04\xd3\x03\x1a\x1b\n*\n\x04\x041\ - \x02\x02\x12\x04\xd5\x03\x08\x1d\x1a\x1c\x20FileMode\x20is\x20the\x20fil\ - e\x20mode.\n\n\x0f\n\x05\x041\x02\x02\x04\x12\x06\xd5\x03\x08\xd3\x03\ - \x1c\n\r\n\x05\x041\x02\x02\x05\x12\x04\xd5\x03\x08\x0e\n\r\n\x05\x041\ - \x02\x02\x01\x12\x04\xd5\x03\x0f\x18\n\r\n\x05\x041\x02\x02\x03\x12\x04\ - \xd5\x03\x1b\x1c\nS\n\x04\x041\x02\x03\x12\x04\xd7\x03\x08\x1c\x1aE\x20D\ - irMode\x20is\x20the\x20mode\x20for\x20the\x20parent\x20directories\x20of\ - \x20destination\x20path.\n\n\x0f\n\x05\x041\x02\x03\x04\x12\x06\xd7\x03\ - \x08\xd5\x03\x1d\n\r\n\x05\x041\x02\x03\x05\x12\x04\xd7\x03\x08\x0e\n\r\ - \n\x05\x041\x02\x03\x01\x12\x04\xd7\x03\x0f\x17\n\r\n\x05\x041\x02\x03\ - \x03\x12\x04\xd7\x03\x1a\x1b\n+\n\x04\x041\x02\x04\x12\x04\xd9\x03\x08\ - \x16\x1a\x1d\x20Uid\x20is\x20the\x20numeric\x20user\x20id.\n\n\x0f\n\x05\ - \x041\x02\x04\x04\x12\x06\xd9\x03\x08\xd7\x03\x1c\n\r\n\x05\x041\x02\x04\ - \x05\x12\x04\xd9\x03\x08\r\n\r\n\x05\x041\x02\x04\x01\x12\x04\xd9\x03\ - \x0e\x11\n\r\n\x05\x041\x02\x04\x03\x12\x04\xd9\x03\x14\x15\n,\n\x04\x04\ - 1\x02\x05\x12\x04\xdb\x03\x08\x16\x1a\x1e\x20Gid\x20is\x20the\x20numeric\ - \x20group\x20id.\n\n\x0f\n\x05\x041\x02\x05\x04\x12\x06\xdb\x03\x08\xd9\ - \x03\x16\n\r\n\x05\x041\x02\x05\x05\x12\x04\xdb\x03\x08\r\n\r\n\x05\x041\ - \x02\x05\x01\x12\x04\xdb\x03\x0e\x11\n\r\n\x05\x041\x02\x05\x03\x12\x04\ - \xdb\x03\x14\x15\n4\n\x04\x041\x02\x06\x12\x04\xdd\x03\x08\x19\x1a&\x20O\ - ffset\x20for\x20the\x20next\x20write\x20operation.\n\n\x0f\n\x05\x041\ - \x02\x06\x04\x12\x06\xdd\x03\x08\xdb\x03\x16\n\r\n\x05\x041\x02\x06\x05\ - \x12\x04\xdd\x03\x08\r\n\r\n\x05\x041\x02\x06\x01\x12\x04\xdd\x03\x0e\ - \x14\n\r\n\x05\x041\x02\x06\x03\x12\x04\xdd\x03\x17\x18\n6\n\x04\x041\ - \x02\x07\x12\x04\xdf\x03\x08\x17\x1a(\x20Data\x20to\x20write\x20in\x20th\ - e\x20destination\x20file.\n\n\x0f\n\x05\x041\x02\x07\x04\x12\x06\xdf\x03\ - \x08\xdd\x03\x19\n\r\n\x05\x041\x02\x07\x05\x12\x04\xdf\x03\x08\r\n\r\n\ - \x05\x041\x02\x07\x01\x12\x04\xdf\x03\x0e\x12\n\r\n\x05\x041\x02\x07\x03\ - \x12\x04\xdf\x03\x15\x16\n\x0c\n\x02\x042\x12\x06\xe2\x03\0\xe3\x03\x01\ - \n\x0b\n\x03\x042\x01\x12\x04\xe2\x03\x08\x1b\n\x0c\n\x02\x043\x12\x06\ - \xe5\x03\0\xe6\x03\x01\n\x0b\n\x03\x043\x01\x12\x04\xe5\x03\x08\x1ab\x06\ - proto3\ + \x02\x01\x12\x04\x87\x02\x08\x1b\n\r\n\x05\x04\x1d\x02\x01\x05\x12\x04\ + \x87\x02\x08\x0e\n\r\n\x05\x04\x1d\x02\x01\x01\x12\x04\x87\x02\x0f\x16\n\ + \r\n\x05\x04\x1d\x02\x01\x03\x12\x04\x87\x02\x19\x1a\n\x0c\n\x02\x04\x1e\ + \x12\x06\x8a\x02\0\x8f\x02\x01\n\x0b\n\x03\x04\x1e\x01\x12\x04\x8a\x02\ + \x08\x1b\n\x0c\n\x04\x04\x1e\x02\0\x12\x04\x8b\x02\x08\x20\n\r\n\x05\x04\ + \x1e\x02\0\x05\x12\x04\x8b\x02\x08\x0e\n\r\n\x05\x04\x1e\x02\0\x01\x12\ + \x04\x8b\x02\x0f\x1b\n\r\n\x05\x04\x1e\x02\0\x03\x12\x04\x8b\x02\x1e\x1f\ + \n\x0c\n\x04\x04\x1e\x02\x01\x12\x04\x8c\x02\x08\x1b\n\r\n\x05\x04\x1e\ + \x02\x01\x05\x12\x04\x8c\x02\x08\x0e\n\r\n\x05\x04\x1e\x02\x01\x01\x12\ + \x04\x8c\x02\x0f\x16\n\r\n\x05\x04\x1e\x02\x01\x03\x12\x04\x8c\x02\x19\ + \x1a\n\x0c\n\x04\x04\x1e\x02\x02\x12\x04\x8d\x02\x08\x17\n\r\n\x05\x04\ + \x1e\x02\x02\x05\x12\x04\x8d\x02\x08\x0e\n\r\n\x05\x04\x1e\x02\x02\x01\ + \x12\x04\x8d\x02\x0f\x12\n\r\n\x05\x04\x1e\x02\x02\x03\x12\x04\x8d\x02\ + \x15\x16\n\x0c\n\x04\x04\x1e\x02\x03\x12\x04\x8e\x02\x08\x1a\n\r\n\x05\ + \x04\x1e\x02\x03\x05\x12\x04\x8e\x02\x08\x0e\n\r\n\x05\x04\x1e\x02\x03\ + \x01\x12\x04\x8e\x02\x0f\x15\n\r\n\x05\x04\x1e\x02\x03\x03\x12\x04\x8e\ + \x02\x18\x19\n\x0c\n\x02\x04\x1f\x12\x06\x91\x02\0\x97\x02\x01\n\x0b\n\ + \x03\x04\x1f\x01\x12\x04\x91\x02\x08\x14\n<\n\x04\x04\x1f\x02\0\x12\x04\ + \x93\x02\x08\x18\x1a.\x20This\x20field\x20is\x20the\x20name\x20of\x20the\ + \x20kernel\x20module.\n\n\r\n\x05\x04\x1f\x02\0\x05\x12\x04\x93\x02\x08\ + \x0e\n\r\n\x05\x04\x1f\x02\0\x01\x12\x04\x93\x02\x0f\x13\n\r\n\x05\x04\ + \x1f\x02\0\x03\x12\x04\x93\x02\x16\x17\n\x8a\x01\n\x04\x04\x1f\x02\x01\ + \x12\x04\x96\x02\x08'\x1a|\x20This\x20field\x20are\x20the\x20parameters\ + \x20for\x20the\x20kernel\x20module\x20which\x20are\n\x20whitespace-delim\ + ited\x20key=value\x20pairs\x20passed\x20to\x20modprobe(8).\n\n\r\n\x05\ + \x04\x1f\x02\x01\x04\x12\x04\x96\x02\x08\x10\n\r\n\x05\x04\x1f\x02\x01\ + \x05\x12\x04\x96\x02\x11\x17\n\r\n\x05\x04\x1f\x02\x01\x01\x12\x04\x96\ + \x02\x18\"\n\r\n\x05\x04\x1f\x02\x01\x03\x12\x04\x96\x02%&\n\x0c\n\x02\ + \x04\x20\x12\x06\x99\x02\0\xac\x02\x01\n\x0b\n\x03\x04\x20\x01\x12\x04\ + \x99\x02\x08\x1c\n\x0c\n\x04\x04\x20\x02\0\x12\x04\x9a\x02\x08\x1c\n\r\n\ + \x05\x04\x20\x02\0\x05\x12\x04\x9a\x02\x08\x0e\n\r\n\x05\x04\x20\x02\0\ + \x01\x12\x04\x9a\x02\x0f\x17\n\r\n\x05\x04\x20\x02\0\x03\x12\x04\x9a\x02\ + \x1a\x1b\n\x0c\n\x04\x04\x20\x02\x01\x12\x04\x9b\x02\x08\x20\n\r\n\x05\ + \x04\x20\x02\x01\x04\x12\x04\x9b\x02\x08\x10\n\r\n\x05\x04\x20\x02\x01\ + \x05\x12\x04\x9b\x02\x11\x17\n\r\n\x05\x04\x20\x02\x01\x01\x12\x04\x9b\ + \x02\x18\x1b\n\r\n\x05\x04\x20\x02\x01\x03\x12\x04\x9b\x02\x1e\x1f\n\x0c\ + \n\x04\x04\x20\x02\x02\x12\x04\x9c\x02\x08&\n\r\n\x05\x04\x20\x02\x02\ + \x04\x12\x04\x9c\x02\x08\x10\n\r\n\x05\x04\x20\x02\x02\x06\x12\x04\x9c\ + \x02\x11\x18\n\r\n\x05\x04\x20\x02\x02\x01\x12\x04\x9c\x02\x19!\n\r\n\ + \x05\x04\x20\x02\x02\x03\x12\x04\x9c\x02$%\n\xea\x01\n\x04\x04\x20\x02\ + \x03\x12\x04\xa2\x02\x08\x1f\x1a\xdb\x01\x20This\x20field\x20means\x20th\ + at\x20a\x20pause\x20process\x20needs\x20to\x20be\x20created\x20by\x20the\ + \n\x20agent.\x20This\x20pid\x20namespace\x20of\x20the\x20pause\x20proces\ + s\x20will\x20be\x20treated\x20as\n\x20a\x20shared\x20pid\x20namespace.\ + \x20All\x20containers\x20created\x20will\x20join\x20this\x20shared\n\x20\ + pid\x20namespace.\n\n\r\n\x05\x04\x20\x02\x03\x05\x12\x04\xa2\x02\x08\ + \x0c\n\r\n\x05\x04\x20\x02\x03\x01\x12\x04\xa2\x02\r\x1a\n\r\n\x05\x04\ + \x20\x02\x03\x03\x12\x04\xa2\x02\x1d\x1e\n\xc5\x01\n\x04\x04\x20\x02\x04\ + \x12\x04\xa6\x02\x08\x1e\x1a\xb6\x01\x20SandboxId\x20identifies\x20which\ + \x20sandbox\x20is\x20using\x20the\x20agent.\x20We\x20allow\x20only\n\x20\ + one\x20sandbox\x20per\x20agent\x20and\x20implicitly\x20require\x20that\ + \x20CreateSandbox\x20is\n\x20called\x20before\x20other\x20sandbox/networ\ + k\x20calls.\n\n\r\n\x05\x04\x20\x02\x04\x05\x12\x04\xa6\x02\x08\x0e\n\r\ + \n\x05\x04\x20\x02\x04\x01\x12\x04\xa6\x02\x0f\x19\n\r\n\x05\x04\x20\x02\ + \x04\x03\x12\x04\xa6\x02\x1c\x1d\n\x98\x01\n\x04\x04\x20\x02\x05\x12\x04\ + \xa9\x02\x08#\x1a\x89\x01\x20This\x20field,\x20if\x20non-empty,\x20desig\ + nates\x20an\x20absolute\x20path\x20to\x20a\x20directory\n\x20that\x20the\ + \x20agent\x20will\x20search\x20for\x20OCI\x20hooks\x20to\x20run\x20withi\ + n\x20the\x20guest.\n\n\r\n\x05\x04\x20\x02\x05\x05\x12\x04\xa9\x02\x08\ + \x0e\n\r\n\x05\x04\x20\x02\x05\x01\x12\x04\xa9\x02\x0f\x1e\n\r\n\x05\x04\ + \x20\x02\x05\x03\x12\x04\xa9\x02!\"\nZ\n\x04\x04\x20\x02\x06\x12\x04\xab\ + \x02\x081\x1aL\x20This\x20field\x20is\x20the\x20list\x20of\x20kernel\x20\ + modules\x20to\x20be\x20loaded\x20in\x20the\x20guest\x20kernel.\n\n\r\n\ + \x05\x04\x20\x02\x06\x04\x12\x04\xab\x02\x08\x10\n\r\n\x05\x04\x20\x02\ + \x06\x06\x12\x04\xab\x02\x11\x1d\n\r\n\x05\x04\x20\x02\x06\x01\x12\x04\ + \xab\x02\x1e,\n\r\n\x05\x04\x20\x02\x06\x03\x12\x04\xab\x02/0\n\x0c\n\ + \x02\x04!\x12\x06\xae\x02\0\xaf\x02\x01\n\x0b\n\x03\x04!\x01\x12\x04\xae\ + \x02\x08\x1d\n\x0c\n\x02\x04\"\x12\x06\xb1\x02\0\xb3\x02\x01\n\x0b\n\x03\ + \x04\"\x01\x12\x04\xb1\x02\x08\x12\n\x0c\n\x04\x04\"\x02\0\x12\x04\xb2\ + \x02\x080\n\r\n\x05\x04\"\x02\0\x04\x12\x04\xb2\x02\x08\x10\n\r\n\x05\ + \x04\"\x02\0\x06\x12\x04\xb2\x02\x11\x20\n\r\n\x05\x04\"\x02\0\x01\x12\ + \x04\xb2\x02!+\n\r\n\x05\x04\"\x02\0\x03\x12\x04\xb2\x02./\n\x0c\n\x02\ + \x04#\x12\x06\xb5\x02\0\xb7\x02\x01\n\x0b\n\x03\x04#\x01\x12\x04\xb5\x02\ + \x08\x0e\n\x0c\n\x04\x04#\x02\0\x12\x04\xb6\x02\x08(\n\r\n\x05\x04#\x02\ + \0\x04\x12\x04\xb6\x02\x08\x10\n\r\n\x05\x04#\x02\0\x06\x12\x04\xb6\x02\ + \x11\x1c\n\r\n\x05\x04#\x02\0\x01\x12\x04\xb6\x02\x1d#\n\r\n\x05\x04#\ + \x02\0\x03\x12\x04\xb6\x02&'\n\x0c\n\x02\x04$\x12\x06\xb9\x02\0\xbb\x02\ + \x01\n\x0b\n\x03\x04$\x01\x12\x04\xb9\x02\x08\x1e\n\x0c\n\x04\x04$\x02\0\ + \x12\x04\xba\x02\x08&\n\r\n\x05\x04$\x02\0\x06\x12\x04\xba\x02\x08\x17\n\ + \r\n\x05\x04$\x02\0\x01\x12\x04\xba\x02\x18!\n\r\n\x05\x04$\x02\0\x03\ + \x12\x04\xba\x02$%\n\x0c\n\x02\x04%\x12\x06\xbd\x02\0\xbf\x02\x01\n\x0b\ + \n\x03\x04%\x01\x12\x04\xbd\x02\x08\x1b\n\x0c\n\x04\x04%\x02\0\x12\x04\ + \xbe\x02\x08\x1a\n\r\n\x05\x04%\x02\0\x06\x12\x04\xbe\x02\x08\x0e\n\r\n\ + \x05\x04%\x02\0\x01\x12\x04\xbe\x02\x0f\x15\n\r\n\x05\x04%\x02\0\x03\x12\ + \x04\xbe\x02\x18\x19\n\x0c\n\x02\x04&\x12\x06\xc1\x02\0\xc2\x02\x01\n\ + \x0b\n\x03\x04&\x01\x12\x04\xc1\x02\x08\x1d\n\x0c\n\x02\x04'\x12\x06\xc4\ + \x02\0\xc5\x02\x01\n\x0b\n\x03\x04'\x01\x12\x04\xc4\x02\x08\x19\n\x0c\n\ + \x02\x04(\x12\x06\xc7\x02\0\xd2\x02\x01\n\x0b\n\x03\x04(\x01\x12\x04\xc7\ + \x02\x08\x1b\n\xf6\x01\n\x04\x04(\x02\0\x12\x04\xcb\x02\x08\x16\x1a\xe7\ + \x01\x20Wait\x20specifies\x20if\x20the\x20caller\x20waits\x20for\x20the\ + \x20agent\x20to\x20online\x20all\x20resources.\n\x20If\x20true\x20the\ + \x20agent\x20returns\x20once\x20all\x20resources\x20have\x20been\x20conn\ + ected,\x20otherwise\x20all\n\x20resources\x20are\x20connected\x20asynchr\ + onously\x20and\x20the\x20agent\x20returns\x20immediately.\n\n\r\n\x05\ + \x04(\x02\0\x05\x12\x04\xcb\x02\x08\x0c\n\r\n\x05\x04(\x02\0\x01\x12\x04\ + \xcb\x02\r\x11\n\r\n\x05\x04(\x02\0\x03\x12\x04\xcb\x02\x14\x15\n`\n\x04\ + \x04(\x02\x01\x12\x04\xce\x02\x08\x1b\x1aR\x20NbCpus\x20specifies\x20the\ + \x20number\x20of\x20CPUs\x20that\x20were\x20added\x20and\x20the\x20agent\ + \x20has\x20to\x20online.\n\n\r\n\x05\x04(\x02\x01\x05\x12\x04\xce\x02\ + \x08\x0e\n\r\n\x05\x04(\x02\x01\x01\x12\x04\xce\x02\x0f\x16\n\r\n\x05\ + \x04(\x02\x01\x03\x12\x04\xce\x02\x19\x1a\nA\n\x04\x04(\x02\x02\x12\x04\ + \xd1\x02\x08\x1a\x1a3\x20CpuOnly\x20specifies\x20whether\x20only\x20onli\ + ne\x20CPU\x20or\x20not.\n\n\r\n\x05\x04(\x02\x02\x05\x12\x04\xd1\x02\x08\ + \x0c\n\r\n\x05\x04(\x02\x02\x01\x12\x04\xd1\x02\r\x15\n\r\n\x05\x04(\x02\ + \x02\x03\x12\x04\xd1\x02\x18\x19\n\x0c\n\x02\x04)\x12\x06\xd4\x02\0\xd7\ + \x02\x01\n\x0b\n\x03\x04)\x01\x12\x04\xd4\x02\x08\x1e\nM\n\x04\x04)\x02\ + \0\x12\x04\xd6\x02\x08\x17\x1a?\x20Data\x20specifies\x20the\x20random\ + \x20data\x20used\x20to\x20reseed\x20the\x20guest\x20crng.\n\n\r\n\x05\ + \x04)\x02\0\x05\x12\x04\xd6\x02\x08\r\n\r\n\x05\x04)\x02\0\x01\x12\x04\ + \xd6\x02\x0e\x12\n\r\n\x05\x04)\x02\0\x03\x12\x04\xd6\x02\x15\x16\nX\n\ + \x02\x04*\x12\x06\xda\x02\0\xea\x02\x01\x1aJ\x20AgentDetails\x20provides\ + \x20information\x20to\x20the\x20client\x20about\x20the\x20running\x20age\ + nt.\n\n\x0b\n\x03\x04*\x01\x12\x04\xda\x02\x08\x14\nC\n\x04\x04*\x02\0\ + \x12\x04\xdc\x02\x08\x1b\x1a5\x20Semantic\x20version\x20of\x20agent\x20(\ + see\x20https://semver.org).\n\n\r\n\x05\x04*\x02\0\x05\x12\x04\xdc\x02\ + \x08\x0e\n\r\n\x05\x04*\x02\0\x01\x12\x04\xdc\x02\x0f\x16\n\r\n\x05\x04*\ + \x02\0\x03\x12\x04\xdc\x02\x19\x1a\n5\n\x04\x04*\x02\x01\x12\x04\xdf\x02\ + \x08\x1d\x1a'\x20Set\x20if\x20the\x20agent\x20is\x20running\x20as\x20PID\ + \x201.\n\n\r\n\x05\x04*\x02\x01\x05\x12\x04\xdf\x02\x08\x0c\n\r\n\x05\ + \x04*\x02\x01\x01\x12\x04\xdf\x02\r\x18\n\r\n\x05\x04*\x02\x01\x03\x12\ + \x04\xdf\x02\x1b\x1c\n2\n\x04\x04*\x02\x02\x12\x04\xe2\x02\x08,\x1a$\x20\ + List\x20of\x20available\x20device\x20handlers.\n\n\r\n\x05\x04*\x02\x02\ + \x04\x12\x04\xe2\x02\x08\x10\n\r\n\x05\x04*\x02\x02\x05\x12\x04\xe2\x02\ + \x11\x17\n\r\n\x05\x04*\x02\x02\x01\x12\x04\xe2\x02\x18'\n\r\n\x05\x04*\ + \x02\x02\x03\x12\x04\xe2\x02*+\n3\n\x04\x04*\x02\x03\x12\x04\xe5\x02\x08\ + -\x1a%\x20List\x20of\x20available\x20storage\x20handlers.\n\n\r\n\x05\ + \x04*\x02\x03\x04\x12\x04\xe5\x02\x08\x10\n\r\n\x05\x04*\x02\x03\x05\x12\ + \x04\xe5\x02\x11\x17\n\r\n\x05\x04*\x02\x03\x01\x12\x04\xe5\x02\x18(\n\r\ + \n\x05\x04*\x02\x03\x03\x12\x04\xe5\x02+,\np\n\x04\x04*\x02\x04\x12\x04\ + \xe9\x02\x08\"\x1ab\x20Set\x20only\x20if\x20the\x20agent\x20is\x20built\ + \x20with\x20seccomp\x20support\x20and\x20the\x20guest\n\x20environment\ + \x20supports\x20seccomp.\n\n\r\n\x05\x04*\x02\x04\x05\x12\x04\xe9\x02\ + \x08\x0c\n\r\n\x05\x04*\x02\x04\x01\x12\x04\xe9\x02\r\x1d\n\r\n\x05\x04*\ + \x02\x04\x03\x12\x04\xe9\x02\x20!\n\x0c\n\x02\x04+\x12\x06\xec\x02\0\xf6\ + \x02\x01\n\x0b\n\x03\x04+\x01\x12\x04\xec\x02\x08\x1b\n\xd5\x01\n\x04\ + \x04+\x02\0\x12\x04\xf0\x02\x08\x20\x1a\xc6\x01\x20MemBlockSize\x20asks\ + \x20server\x20to\x20return\x20the\x20system\x20memory\x20block\x20size\ + \x20that\x20can\x20be\x20used\n\x20for\x20memory\x20hotplug\x20alignment\ + .\x20Typically\x20the\x20server\x20returns\x20what's\x20in\n\x20/sys/dev\ + ices/system/memory/block_size_bytes.\n\n\r\n\x05\x04+\x02\0\x05\x12\x04\ + \xf0\x02\x08\x0c\n\r\n\x05\x04+\x02\0\x01\x12\x04\xf0\x02\r\x1b\n\r\n\ + \x05\x04+\x02\0\x03\x12\x04\xf0\x02\x1e\x1f\n\xd1\x01\n\x04\x04+\x02\x01\ + \x12\x04\xf5\x02\x08#\x1a\xc2\x01\x20MemoryHotplugProbe\x20asks\x20serve\ + r\x20to\x20return\x20whether\x20guest\x20kernel\x20supports\x20memory\ + \x20hotplug\n\x20via\x20probeinterface.\x20Typically\x20the\x20server\ + \x20will\x20check\x20if\x20the\x20path\n\x20/sys/devices/system/memory/p\ + robe\x20exists.\n\n\r\n\x05\x04+\x02\x01\x05\x12\x04\xf5\x02\x08\x0c\n\r\ + \n\x05\x04+\x02\x01\x01\x12\x04\xf5\x02\r\x1e\n\r\n\x05\x04+\x02\x01\x03\ + \x12\x04\xf5\x02!\"\n\x0c\n\x02\x04,\x12\x06\xf8\x02\0\xff\x02\x01\n\x0b\ + \n\x03\x04,\x01\x12\x04\xf8\x02\x08\x1c\nP\n\x04\x04,\x02\0\x12\x04\xfa\ + \x02\x08(\x1aB\x20MemBlockSizeBytes\x20returns\x20the\x20system\x20memor\ + y\x20block\x20size\x20in\x20bytes.\n\n\r\n\x05\x04,\x02\0\x05\x12\x04\ + \xfa\x02\x08\x0e\n\r\n\x05\x04,\x02\0\x01\x12\x04\xfa\x02\x0f#\n\r\n\x05\ + \x04,\x02\0\x03\x12\x04\xfa\x02&'\n\x0c\n\x04\x04,\x02\x01\x12\x04\xfc\ + \x02\x08'\n\r\n\x05\x04,\x02\x01\x06\x12\x04\xfc\x02\x08\x14\n\r\n\x05\ + \x04,\x02\x01\x01\x12\x04\xfc\x02\x15\"\n\r\n\x05\x04,\x02\x01\x03\x12\ + \x04\xfc\x02%&\n\x0c\n\x04\x04,\x02\x02\x12\x04\xfe\x02\x08+\n\r\n\x05\ + \x04,\x02\x02\x05\x12\x04\xfe\x02\x08\x0c\n\r\n\x05\x04,\x02\x02\x01\x12\ + \x04\xfe\x02\r&\n\r\n\x05\x04,\x02\x02\x03\x12\x04\xfe\x02)*\n\x0c\n\x02\ + \x04-\x12\x06\x81\x03\0\x85\x03\x01\n\x0b\n\x03\x04-\x01\x12\x04\x81\x03\ + \x08\x20\n\xb2\x01\n\x04\x04-\x02\0\x12\x04\x84\x03\x080\x1a\xa3\x01\x20\ + server\x20needs\x20to\x20send\x20the\x20value\x20of\x20memHotplugProbeAd\ + dr\x20into\x20file\x20/sys/devices/system/memory/probe,\n\x20in\x20order\ + \x20to\x20notify\x20the\x20guest\x20kernel\x20about\x20hot-add\x20memory\ + \x20event\n\n\r\n\x05\x04-\x02\0\x04\x12\x04\x84\x03\x08\x10\n\r\n\x05\ + \x04-\x02\0\x05\x12\x04\x84\x03\x11\x17\n\r\n\x05\x04-\x02\0\x01\x12\x04\ + \x84\x03\x18+\n\r\n\x05\x04-\x02\0\x03\x12\x04\x84\x03./\n\x0c\n\x02\x04\ + .\x12\x06\x87\x03\0\x8c\x03\x01\n\x0b\n\x03\x04.\x01\x12\x04\x87\x03\x08\ + \x1f\n/\n\x04\x04.\x02\0\x12\x04\x89\x03\x08\x16\x1a!\x20Sec\x20the\x20s\ + econd\x20since\x20the\x20Epoch.\n\n\r\n\x05\x04.\x02\0\x05\x12\x04\x89\ + \x03\x08\r\n\r\n\x05\x04.\x02\0\x01\x12\x04\x89\x03\x0e\x11\n\r\n\x05\ + \x04.\x02\0\x03\x12\x04\x89\x03\x14\x15\nF\n\x04\x04.\x02\x01\x12\x04\ + \x8b\x03\x08\x17\x1a8\x20Usec\x20the\x20microseconds\x20portion\x20of\ + \x20time\x20since\x20the\x20Epoch.\n\n\r\n\x05\x04.\x02\x01\x05\x12\x04\ + \x8b\x03\x08\r\n\r\n\x05\x04.\x02\x01\x01\x12\x04\x8b\x03\x0e\x12\n\r\n\ + \x05\x04.\x02\x01\x03\x12\x04\x8b\x03\x15\x16\n\xa3\x01\n\x02\x04/\x12\ + \x06\x90\x03\0\xaa\x03\x01\x1a\x94\x01\x20Storage\x20represents\x20both\ + \x20the\x20rootfs\x20of\x20the\x20container,\x20and\x20any\x20volume\x20\ + that\n\x20could\x20have\x20been\x20defined\x20through\x20the\x20Mount\ + \x20list\x20of\x20the\x20OCI\x20specification.\n\n\x0b\n\x03\x04/\x01\ + \x12\x04\x90\x03\x08\x0f\n\x8b\x02\n\x04\x04/\x02\0\x12\x04\x95\x03\x08\ + \x1a\x1a\xfc\x01\x20Driver\x20is\x20used\x20to\x20define\x20the\x20way\ + \x20the\x20storage\x20is\x20passed\x20through\x20the\n\x20virtual\x20mac\ + hine.\x20It\x20can\x20be\x20\"9p\",\x20\"blk\",\x20or\x20something\x20el\ + se,\x20but\x20for\n\x20all\x20cases,\x20this\x20will\x20define\x20if\x20\ + some\x20extra\x20steps\x20are\x20required\x20before\n\x20this\x20storage\ + \x20gets\x20mounted\x20into\x20the\x20container.\n\n\r\n\x05\x04/\x02\0\ + \x05\x12\x04\x95\x03\x08\x0e\n\r\n\x05\x04/\x02\0\x01\x12\x04\x95\x03\ + \x0f\x15\n\r\n\x05\x04/\x02\0\x03\x12\x04\x95\x03\x18\x19\n\xd0\x01\n\ + \x04\x04/\x02\x01\x12\x04\x99\x03\x08+\x1a\xc1\x01\x20DriverOptions\x20a\ + llows\x20the\x20caller\x20to\x20define\x20a\x20list\x20of\x20options\x20\ + such\n\x20as\x20block\x20sizes,\x20numbers\x20of\x20luns,\x20...\x20whic\ + h\x20are\x20very\x20specific\x20to\n\x20every\x20device\x20and\x20cannot\ + \x20be\x20generalized\x20through\x20extra\x20fields.\n\n\r\n\x05\x04/\ + \x02\x01\x04\x12\x04\x99\x03\x08\x10\n\r\n\x05\x04/\x02\x01\x05\x12\x04\ + \x99\x03\x11\x17\n\r\n\x05\x04/\x02\x01\x01\x12\x04\x99\x03\x18&\n\r\n\ + \x05\x04/\x02\x01\x03\x12\x04\x99\x03)*\n\xce\x02\n\x04\x04/\x02\x02\x12\ + \x04\x9f\x03\x08\x1a\x1a\xbf\x02\x20Source\x20can\x20be\x20anything\x20r\ + epresenting\x20the\x20source\x20of\x20the\x20storage.\x20This\n\x20will\ + \x20be\x20handled\x20by\x20the\x20proper\x20handler\x20based\x20on\x20th\ + e\x20Driver\x20used.\n\x20For\x20instance,\x20it\x20can\x20be\x20a\x20ve\ + ry\x20simple\x20path\x20if\x20the\x20caller\x20knows\x20the\n\x20name\ + \x20of\x20device\x20inside\x20the\x20VM,\x20or\x20it\x20can\x20be\x20som\ + e\x20sort\x20of\x20identifier\n\x20to\x20let\x20the\x20agent\x20find\x20\ + the\x20device\x20inside\x20the\x20VM.\n\n\r\n\x05\x04/\x02\x02\x05\x12\ + \x04\x9f\x03\x08\x0e\n\r\n\x05\x04/\x02\x02\x01\x12\x04\x9f\x03\x0f\x15\ + \n\r\n\x05\x04/\x02\x02\x03\x12\x04\x9f\x03\x18\x19\n\xdb\x01\n\x04\x04/\ + \x02\x03\x12\x04\xa3\x03\x08\x1a\x1a\xcc\x01\x20Fstype\x20represents\x20\ + the\x20filesystem\x20that\x20needs\x20to\x20be\x20used\x20to\x20mount\ + \x20the\n\x20storage\x20inside\x20the\x20VM.\x20For\x20instance,\x20it\ + \x20could\x20be\x20\"xfs\"\x20for\x20block\n\x20device,\x20\"9p\"\x20for\ + \x20shared\x20filesystem,\x20or\x20\"tmpfs\"\x20for\x20shared\x20/dev/sh\ + m.\n\n\r\n\x05\x04/\x02\x03\x05\x12\x04\xa3\x03\x08\x0e\n\r\n\x05\x04/\ + \x02\x03\x01\x12\x04\xa3\x03\x0f\x15\n\r\n\x05\x04/\x02\x03\x03\x12\x04\ + \xa3\x03\x18\x19\nw\n\x04\x04/\x02\x04\x12\x04\xa6\x03\x08$\x1ai\x20Opti\ + ons\x20describes\x20the\x20additional\x20options\x20that\x20might\x20be\ + \x20needed\x20to\n\x20mount\x20properly\x20the\x20storage\x20filesytem.\ + \n\n\r\n\x05\x04/\x02\x04\x04\x12\x04\xa6\x03\x08\x10\n\r\n\x05\x04/\x02\ + \x04\x05\x12\x04\xa6\x03\x11\x17\n\r\n\x05\x04/\x02\x04\x01\x12\x04\xa6\ + \x03\x18\x1f\n\r\n\x05\x04/\x02\x04\x03\x12\x04\xa6\x03\"#\na\n\x04\x04/\ + \x02\x05\x12\x04\xa9\x03\x08\x1f\x1aS\x20MountPoint\x20refers\x20to\x20t\ + he\x20path\x20where\x20the\x20storage\x20should\x20be\x20mounted\n\x20in\ + side\x20the\x20VM.\n\n\r\n\x05\x04/\x02\x05\x05\x12\x04\xa9\x03\x08\x0e\ + \n\r\n\x05\x04/\x02\x05\x01\x12\x04\xa9\x03\x0f\x1a\n\r\n\x05\x04/\x02\ + \x05\x03\x12\x04\xa9\x03\x1d\x1e\n\x88\x01\n\x02\x040\x12\x06\xae\x03\0\ + \xce\x03\x01\x1az\x20Device\x20represents\x20only\x20the\x20devices\x20t\ + hat\x20could\x20have\x20been\x20defined\x20through\x20the\n\x20Linux\x20\ + Device\x20list\x20of\x20the\x20OCI\x20specification.\n\n\x0b\n\x03\x040\ + \x01\x12\x04\xae\x03\x08\x0e\n\xb0\x01\n\x04\x040\x02\0\x12\x04\xb2\x03\ + \x08\x16\x1a\xa1\x01\x20Id\x20can\x20be\x20used\x20to\x20identify\x20the\ + \x20device\x20inside\x20the\x20VM.\x20Some\x20devices\n\x20might\x20not\ + \x20need\x20it\x20to\x20be\x20identified\x20on\x20the\x20VM,\x20and\x20w\ + ill\x20rely\x20on\x20the\n\x20provided\x20VmPath\x20instead.\n\n\r\n\x05\ + \x040\x02\0\x05\x12\x04\xb2\x03\x08\x0e\n\r\n\x05\x040\x02\0\x01\x12\x04\ + \xb2\x03\x0f\x11\n\r\n\x05\x040\x02\0\x03\x12\x04\xb2\x03\x14\x15\n\xbd\ + \x01\n\x04\x040\x02\x01\x12\x04\xb7\x03\x08\x18\x1a\xae\x01\x20Type\x20d\ + efines\x20the\x20type\x20of\x20device\x20described.\x20This\x20can\x20be\ + \x20\"blk\",\n\x20\"scsi\",\x20\"vfio\",\x20...\n\x20Particularly,\x20th\ + is\x20should\x20be\x20used\x20to\x20trigger\x20the\x20use\x20of\x20the\n\ + \x20appropriate\x20device\x20handler.\n\n\r\n\x05\x040\x02\x01\x05\x12\ + \x04\xb7\x03\x08\x0e\n\r\n\x05\x040\x02\x01\x01\x12\x04\xb7\x03\x0f\x13\ + \n\r\n\x05\x040\x02\x01\x03\x12\x04\xb7\x03\x16\x17\n\xab\x02\n\x04\x040\ + \x02\x02\x12\x04\xbd\x03\x08\x1b\x1a\x9c\x02\x20VmPath\x20can\x20be\x20u\ + sed\x20by\x20the\x20caller\x20to\x20provide\x20directly\x20the\x20path\ + \x20of\n\x20the\x20device\x20as\x20it\x20will\x20appear\x20inside\x20the\ + \x20VM.\x20For\x20some\x20devices,\x20the\n\x20device\x20id\x20or\x20the\ + \x20list\x20of\x20options\x20passed\x20might\x20not\x20be\x20enough\x20t\ + o\x20find\n\x20the\x20device.\x20In\x20those\x20cases,\x20the\x20caller\ + \x20should\x20predict\x20and\x20provide\n\x20this\x20vm_path.\n\n\r\n\ + \x05\x040\x02\x02\x05\x12\x04\xbd\x03\x08\x0e\n\r\n\x05\x040\x02\x02\x01\ + \x12\x04\xbd\x03\x0f\x16\n\r\n\x05\x040\x02\x02\x03\x12\x04\xbd\x03\x19\ + \x1a\n\xd4\x05\n\x04\x040\x02\x03\x12\x04\xc9\x03\x08\"\x1a\xc5\x05\x20C\ + ontainerPath\x20defines\x20the\x20path\x20where\x20the\x20device\x20shou\ + ld\x20be\x20found\x20inside\n\x20the\x20container.\x20This\x20path\x20sh\ + ould\x20match\x20the\x20path\x20of\x20the\x20device\x20from\n\x20the\x20\ + device\x20list\x20listed\x20inside\x20the\x20OCI\x20spec.\x20This\x20is\ + \x20used\x20in\x20order\n\x20to\x20identify\x20the\x20right\x20device\ + \x20in\x20the\x20spec\x20and\x20update\x20it\x20with\x20the\n\x20right\ + \x20options\x20such\x20as\x20major/minor\x20numbers\x20as\x20they\x20app\ + ear\x20inside\n\x20the\x20VM\x20for\x20instance.\x20Note\x20that\x20an\ + \x20empty\x20ctr_path\x20should\x20be\x20used\n\x20to\x20make\x20sure\ + \x20the\x20device\x20handler\x20inside\x20the\x20agent\x20is\x20called,\ + \x20but\n\x20no\x20spec\x20update\x20needs\x20to\x20be\x20performed.\x20\ + This\x20has\x20to\x20happen\x20for\x20the\n\x20case\x20of\x20rootfs,\x20\ + when\x20a\x20device\x20has\x20to\x20be\x20waited\x20for\x20after\x20it\ + \x20has\n\x20been\x20hotplugged.\x20An\x20equivalent\x20Storage\x20entry\ + \x20should\x20be\x20defined\x20if\n\x20any\x20mount\x20needs\x20to\x20be\ + \x20performed\x20afterwards.\n\n\r\n\x05\x040\x02\x03\x05\x12\x04\xc9\ + \x03\x08\x0e\n\r\n\x05\x040\x02\x03\x01\x12\x04\xc9\x03\x0f\x1d\n\r\n\ + \x05\x040\x02\x03\x03\x12\x04\xc9\x03\x20!\n\xca\x01\n\x04\x040\x02\x04\ + \x12\x04\xcd\x03\x08$\x1a\xbb\x01\x20Options\x20allows\x20the\x20caller\ + \x20to\x20define\x20a\x20list\x20of\x20options\x20such\x20as\x20block\n\ + \x20sizes,\x20numbers\x20of\x20luns,\x20...\x20which\x20are\x20very\x20s\ + pecific\x20to\x20every\x20device\n\x20and\x20cannot\x20be\x20generalized\ + \x20through\x20extra\x20fields.\n\n\r\n\x05\x040\x02\x04\x04\x12\x04\xcd\ + \x03\x08\x10\n\r\n\x05\x040\x02\x04\x05\x12\x04\xcd\x03\x11\x17\n\r\n\ + \x05\x040\x02\x04\x01\x12\x04\xcd\x03\x18\x1f\n\r\n\x05\x040\x02\x04\x03\ + \x12\x04\xcd\x03\"#\n\x0c\n\x02\x041\x12\x06\xd0\x03\0\xd4\x03\x01\n\x0b\ + \n\x03\x041\x01\x12\x04\xd0\x03\x08\x12\n\x0c\n\x04\x041\x02\0\x12\x04\ + \xd1\x03\x08\x17\n\r\n\x05\x041\x02\0\x05\x12\x04\xd1\x03\x08\x0e\n\r\n\ + \x05\x041\x02\0\x01\x12\x04\xd1\x03\x0f\x12\n\r\n\x05\x041\x02\0\x03\x12\ + \x04\xd1\x03\x15\x16\n\x0c\n\x04\x041\x02\x01\x12\x04\xd2\x03\x08\x17\n\ + \r\n\x05\x041\x02\x01\x05\x12\x04\xd2\x03\x08\x0e\n\r\n\x05\x041\x02\x01\ + \x01\x12\x04\xd2\x03\x0f\x12\n\r\n\x05\x041\x02\x01\x03\x12\x04\xd2\x03\ + \x15\x16\n\x0c\n\x04\x041\x02\x02\x12\x04\xd3\x03\x08+\n\r\n\x05\x041\ + \x02\x02\x04\x12\x04\xd3\x03\x08\x10\n\r\n\x05\x041\x02\x02\x05\x12\x04\ + \xd3\x03\x11\x17\n\r\n\x05\x041\x02\x02\x01\x12\x04\xd3\x03\x18&\n\r\n\ + \x05\x041\x02\x02\x03\x12\x04\xd3\x03)*\n\x0c\n\x02\x042\x12\x06\xd6\x03\ + \0\xea\x03\x01\n\x0b\n\x03\x042\x01\x12\x04\xd6\x03\x08\x17\nj\n\x04\x04\ + 2\x02\0\x12\x04\xd9\x03\x08\x18\x1a\\\x20Path\x20is\x20the\x20destinatio\ + n\x20file\x20in\x20the\x20guest.\x20It\x20must\x20be\x20absolute,\n\x20c\ + anonical\x20and\x20below\x20/run.\n\n\r\n\x05\x042\x02\0\x05\x12\x04\xd9\ + \x03\x08\x0e\n\r\n\x05\x042\x02\0\x01\x12\x04\xd9\x03\x0f\x13\n\r\n\x05\ + \x042\x02\0\x03\x12\x04\xd9\x03\x16\x17\n\xbd\x01\n\x04\x042\x02\x01\x12\ + \x04\xdd\x03\x08\x1c\x1a\xae\x01\x20FileSize\x20is\x20the\x20expected\ + \x20file\x20size,\x20for\x20security\x20reasons\x20write\x20operations\n\ + \x20are\x20made\x20in\x20a\x20temporary\x20file,\x20once\x20it\x20has\ + \x20the\x20expected\x20size,\x20it's\x20moved\n\x20to\x20the\x20destinat\ + ion\x20path.\n\n\r\n\x05\x042\x02\x01\x05\x12\x04\xdd\x03\x08\r\n\r\n\ + \x05\x042\x02\x01\x01\x12\x04\xdd\x03\x0e\x17\n\r\n\x05\x042\x02\x01\x03\ + \x12\x04\xdd\x03\x1a\x1b\n*\n\x04\x042\x02\x02\x12\x04\xdf\x03\x08\x1d\ + \x1a\x1c\x20FileMode\x20is\x20the\x20file\x20mode.\n\n\r\n\x05\x042\x02\ + \x02\x05\x12\x04\xdf\x03\x08\x0e\n\r\n\x05\x042\x02\x02\x01\x12\x04\xdf\ + \x03\x0f\x18\n\r\n\x05\x042\x02\x02\x03\x12\x04\xdf\x03\x1b\x1c\nS\n\x04\ + \x042\x02\x03\x12\x04\xe1\x03\x08\x1c\x1aE\x20DirMode\x20is\x20the\x20mo\ + de\x20for\x20the\x20parent\x20directories\x20of\x20destination\x20path.\ + \n\n\r\n\x05\x042\x02\x03\x05\x12\x04\xe1\x03\x08\x0e\n\r\n\x05\x042\x02\ + \x03\x01\x12\x04\xe1\x03\x0f\x17\n\r\n\x05\x042\x02\x03\x03\x12\x04\xe1\ + \x03\x1a\x1b\n+\n\x04\x042\x02\x04\x12\x04\xe3\x03\x08\x16\x1a\x1d\x20Ui\ + d\x20is\x20the\x20numeric\x20user\x20id.\n\n\r\n\x05\x042\x02\x04\x05\ + \x12\x04\xe3\x03\x08\r\n\r\n\x05\x042\x02\x04\x01\x12\x04\xe3\x03\x0e\ + \x11\n\r\n\x05\x042\x02\x04\x03\x12\x04\xe3\x03\x14\x15\n,\n\x04\x042\ + \x02\x05\x12\x04\xe5\x03\x08\x16\x1a\x1e\x20Gid\x20is\x20the\x20numeric\ + \x20group\x20id.\n\n\r\n\x05\x042\x02\x05\x05\x12\x04\xe5\x03\x08\r\n\r\ + \n\x05\x042\x02\x05\x01\x12\x04\xe5\x03\x0e\x11\n\r\n\x05\x042\x02\x05\ + \x03\x12\x04\xe5\x03\x14\x15\n4\n\x04\x042\x02\x06\x12\x04\xe7\x03\x08\ + \x19\x1a&\x20Offset\x20for\x20the\x20next\x20write\x20operation.\n\n\r\n\ + \x05\x042\x02\x06\x05\x12\x04\xe7\x03\x08\r\n\r\n\x05\x042\x02\x06\x01\ + \x12\x04\xe7\x03\x0e\x14\n\r\n\x05\x042\x02\x06\x03\x12\x04\xe7\x03\x17\ + \x18\n6\n\x04\x042\x02\x07\x12\x04\xe9\x03\x08\x17\x1a(\x20Data\x20to\ + \x20write\x20in\x20the\x20destination\x20file.\n\n\r\n\x05\x042\x02\x07\ + \x05\x12\x04\xe9\x03\x08\r\n\r\n\x05\x042\x02\x07\x01\x12\x04\xe9\x03\ + \x0e\x12\n\r\n\x05\x042\x02\x07\x03\x12\x04\xe9\x03\x15\x16\n\x0c\n\x02\ + \x043\x12\x06\xec\x03\0\xed\x03\x01\n\x0b\n\x03\x043\x01\x12\x04\xec\x03\ + \x08\x1b\n\x0c\n\x02\x044\x12\x06\xef\x03\0\xf0\x03\x01\n\x0b\n\x03\x044\ + \x01\x12\x04\xef\x03\x08\x1ab\x06proto3\ "; static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT; diff --git a/src/agent/src/rpc.rs b/src/agent/src/rpc.rs index ace2370498c2..f696908e400b 100644 --- a/src/agent/src/rpc.rs +++ b/src/agent/src/rpc.rs @@ -57,6 +57,7 @@ use std::os::unix::fs::FileExt; use std::path::PathBuf; const CONTAINER_BASE: &str = "/run/kata-containers"; +const MODPROBE_PATH: &str = "/sbin/modprobe"; // Convenience macro to obtain the scope logger macro_rules! sl { @@ -871,6 +872,7 @@ impl protocols::agent_ttrpc::AgentService for agentService { Ok(Empty::new()) } + fn update_interface( &self, _ctx: &ttrpc::TtrpcContext, @@ -1024,6 +1026,18 @@ impl protocols::agent_ttrpc::AgentService for agentService { s.id = req.sandbox_id.clone(); } + for m in req.kernel_modules.iter() { + match load_kernel_module(m) { + Ok(_) => (), + Err(e) => { + return Err(ttrpc::Error::RpcStatus(ttrpc::get_status( + ttrpc::Code::INTERNAL, + e.to_string(), + ))) + } + } + } + match s.setup_shared_namespaces() { Ok(_) => (), Err(e) => { @@ -1546,3 +1560,71 @@ fn setup_bundle(spec: &Spec) -> Result { Ok(olddir) } + +fn load_kernel_module(module: &protocols::agent::KernelModule) -> Result<()> { + if module.name == "" { + return Err(ErrorKind::ErrorCode("Kernel module name is empty".to_string()).into()); + } + + info!( + sl!(), + "load_kernel_module {}: {:?}", module.name, module.parameters + ); + + let mut args = vec!["-v".to_string(), module.name.clone()]; + + if module.parameters.len() > 0 { + args.extend(module.parameters.to_vec()) + } + + let output = Command::new(MODPROBE_PATH) + .args(args.as_slice()) + .stdout(Stdio::piped()) + .output()?; + + let status = output.status; + if status.success() { + return Ok(()); + } + + match status.code() { + Some(code) => { + let std_out: String = String::from_utf8(output.stdout).unwrap(); + let std_err: String = String::from_utf8(output.stderr).unwrap(); + let msg = format!( + "load_kernel_module return code: {} stdout:{} stderr:{}", + code, std_out, std_err + ); + return Err(ErrorKind::ErrorCode(msg).into()); + } + None => { + return Err(ErrorKind::ErrorCode("Process terminated by signal".to_string()).into()) + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_load_kernel_module() { + let mut m = protocols::agent::KernelModule::default(); + + // case 1: module not exists + m.name = "module_not_exists".to_string(); + let result = load_kernel_module(&m); + assert!(result.is_err(), "load module should failed"); + + // case 2: module name is empty + m.name = "".to_string(); + let result = load_kernel_module(&m); + assert!(result.is_err(), "load module should failed"); + + // case 3: normal module. + // normally this module should eixsts... + m.name = "bridge".to_string(); + let result = load_kernel_module(&m); + assert!(result.is_ok(), "load module should success"); + } +}