diff --git a/api/machine/machine.proto b/api/machine/machine.proto index 073f1e71aa..5fc0960436 100644 --- a/api/machine/machine.proto +++ b/api/machine/machine.proto @@ -21,6 +21,7 @@ service MachineService { rpc Bootstrap(BootstrapRequest) returns (BootstrapResponse); rpc Containers(ContainersRequest) returns (ContainersResponse); rpc Copy(CopyRequest) returns (stream common.Data); + rpc CPUFreqStats(google.protobuf.Empty) returns (CPUFreqStatsResponse); rpc CPUInfo(google.protobuf.Empty) returns (CPUInfoResponse); rpc DiskStats(google.protobuf.Empty) returns (DiskStatsResponse); rpc Dmesg(DmesgRequest) returns (stream common.Data); @@ -841,6 +842,24 @@ message SoftIRQStat { uint64 rcu = 10; } +// rpc CPUFreqStats + +message CPUFreqStatsResponse { + repeated CPUsFreqStats messages = 1; +} + +message CPUsFreqStats { + common.Metadata metadata = 1; + repeated CPUFreqStats cpu_freq_stats = 2; +} + +message CPUFreqStats { + uint64 current_frequency = 1; + uint64 minimum_frequency = 2; + uint64 maximum_frequency = 3; + string governor = 4; +} + // rpc CPUInfo message CPUInfoResponse { diff --git a/api/machine/machine.proto.orig b/api/machine/machine.proto.orig new file mode 100644 index 0000000000..073f1e71aa --- /dev/null +++ b/api/machine/machine.proto.orig @@ -0,0 +1,1354 @@ +syntax = "proto3"; + +package machine; + +option go_package = "github.com/siderolabs/talos/pkg/machinery/api/machine"; +option java_package = "dev.talos.api.machine"; + +import "common/common.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +// The machine service definition. +service MachineService { + rpc ApplyConfiguration(ApplyConfigurationRequest) returns (ApplyConfigurationResponse); + // Bootstrap method makes control plane node enter etcd bootstrap mode. + // Node aborts etcd join sequence and creates single-node etcd cluster. + // If recover_etcd argument is specified, etcd is recovered from a snapshot + // uploaded with EtcdRecover. + rpc Bootstrap(BootstrapRequest) returns (BootstrapResponse); + rpc Containers(ContainersRequest) returns (ContainersResponse); + rpc Copy(CopyRequest) returns (stream common.Data); + rpc CPUInfo(google.protobuf.Empty) returns (CPUInfoResponse); + rpc DiskStats(google.protobuf.Empty) returns (DiskStatsResponse); + rpc Dmesg(DmesgRequest) returns (stream common.Data); + rpc Events(EventsRequest) returns (stream Event); + rpc EtcdMemberList(EtcdMemberListRequest) returns (EtcdMemberListResponse); + // EtcdRemoveMemberByID removes a member from the etcd cluster identified by member ID. + // This API should be used to remove members which don't have an associated Talos node anymore. + // To remove a member with a running Talos node, use EtcdLeaveCluster API on the node to be removed. + rpc EtcdRemoveMemberByID(EtcdRemoveMemberByIDRequest) returns (EtcdRemoveMemberByIDResponse); + rpc EtcdLeaveCluster(EtcdLeaveClusterRequest) returns (EtcdLeaveClusterResponse); + rpc EtcdForfeitLeadership(EtcdForfeitLeadershipRequest) returns (EtcdForfeitLeadershipResponse); + // EtcdRecover method uploads etcd data snapshot created with EtcdSnapshot + // to the node. + // Snapshot can be later used to recover the cluster via Bootstrap method. + rpc EtcdRecover(stream common.Data) returns (EtcdRecoverResponse); + // EtcdSnapshot method creates etcd data snapshot (backup) from the local etcd instance + // and streams it back to the client. + // This method is available only on control plane nodes (which run etcd). + rpc EtcdSnapshot(EtcdSnapshotRequest) returns (stream common.Data); + // EtcdAlarmList lists etcd alarms for the current node. + // This method is available only on control plane nodes (which run etcd). + rpc EtcdAlarmList(google.protobuf.Empty) returns (EtcdAlarmListResponse); + // EtcdAlarmDisarm disarms etcd alarms for the current node. + // This method is available only on control plane nodes (which run etcd). + rpc EtcdAlarmDisarm(google.protobuf.Empty) returns (EtcdAlarmDisarmResponse); + // EtcdDefragment defragments etcd data directory for the current node. + // Defragmentation is a resource-heavy operation, so it should only run on a specific + // node. + // This method is available only on control plane nodes (which run etcd). + rpc EtcdDefragment(google.protobuf.Empty) returns (EtcdDefragmentResponse); + // EtcdStatus returns etcd status for the current member. + // This method is available only on control plane nodes (which run etcd). + rpc EtcdStatus(google.protobuf.Empty) returns (EtcdStatusResponse); + rpc GenerateConfiguration(GenerateConfigurationRequest) returns (GenerateConfigurationResponse); + rpc Hostname(google.protobuf.Empty) returns (HostnameResponse); + rpc Kubeconfig(google.protobuf.Empty) returns (stream common.Data); + rpc List(ListRequest) returns (stream FileInfo); + rpc DiskUsage(DiskUsageRequest) returns (stream DiskUsageInfo); + rpc LoadAvg(google.protobuf.Empty) returns (LoadAvgResponse); + rpc Logs(LogsRequest) returns (stream common.Data); + rpc LogsContainers(google.protobuf.Empty) returns (LogsContainersResponse); + rpc Memory(google.protobuf.Empty) returns (MemoryResponse); + rpc Mounts(google.protobuf.Empty) returns (MountsResponse); + rpc NetworkDeviceStats(google.protobuf.Empty) returns (NetworkDeviceStatsResponse); + rpc Processes(google.protobuf.Empty) returns (ProcessesResponse); + rpc Read(ReadRequest) returns (stream common.Data); + rpc Reboot(RebootRequest) returns (RebootResponse); + rpc Restart(RestartRequest) returns (RestartResponse); + rpc Rollback(RollbackRequest) returns (RollbackResponse); + rpc Reset(ResetRequest) returns (ResetResponse); + rpc ServiceList(google.protobuf.Empty) returns (ServiceListResponse); + rpc ServiceRestart(ServiceRestartRequest) returns (ServiceRestartResponse); + rpc ServiceStart(ServiceStartRequest) returns (ServiceStartResponse); + rpc ServiceStop(ServiceStopRequest) returns (ServiceStopResponse); + rpc Shutdown(ShutdownRequest) returns (ShutdownResponse); + rpc Stats(StatsRequest) returns (StatsResponse); + rpc SystemStat(google.protobuf.Empty) returns (SystemStatResponse); + rpc Upgrade(UpgradeRequest) returns (UpgradeResponse); + rpc Version(google.protobuf.Empty) returns (VersionResponse); + // GenerateClientConfiguration generates talosctl client configuration (talosconfig). + rpc GenerateClientConfiguration(GenerateClientConfigurationRequest) returns (GenerateClientConfigurationResponse); + // PacketCapture performs packet capture and streams back pcap file. + rpc PacketCapture(PacketCaptureRequest) returns (stream common.Data); + // Netstat provides information about network connections. + rpc Netstat(NetstatRequest) returns (NetstatResponse); + // MetaWrite writes a META key-value pair. + rpc MetaWrite(MetaWriteRequest) returns (MetaWriteResponse); + // MetaDelete deletes a META key. + rpc MetaDelete(MetaDeleteRequest) returns (MetaDeleteResponse); + // ImageList lists images in the CRI. + rpc ImageList(ImageListRequest) returns (stream ImageListResponse); + // ImagePull pulls an image into the CRI. + rpc ImagePull(ImagePullRequest) returns (ImagePullResponse); +} + +// rpc applyConfiguration +// ApplyConfiguration describes a request to assert a new configuration upon a +// node. +message ApplyConfigurationRequest { + enum Mode { + REBOOT = 0; + AUTO = 1; + NO_REBOOT = 2; + STAGED = 3; + TRY = 4; + } + bytes data = 1; + Mode mode = 4; + bool dry_run = 5; + google.protobuf.Duration try_mode_timeout = 6; +} + +// ApplyConfigurationResponse describes the response to a configuration request. +message ApplyConfiguration { + common.Metadata metadata = 1; + // Configuration validation warnings. + repeated string warnings = 2; + // States which mode was actually chosen. + ApplyConfigurationRequest.Mode mode = 3; + // Human-readable message explaining the result of the apply configuration call. + string mode_details = 4; +} + +message ApplyConfigurationResponse { + repeated ApplyConfiguration messages = 1; +} + +// rpc reboot +message RebootRequest { + enum Mode { + DEFAULT = 0; + POWERCYCLE = 1; + } + Mode mode = 1; +} + +// The reboot message containing the reboot status. +message Reboot { + common.Metadata metadata = 1; + string actor_id = 2; +} + +message RebootResponse { + repeated Reboot messages = 1; +} + +// rpc Bootstrap +message BootstrapRequest { + // Enable etcd recovery from the snapshot. + // Snapshot should be uploaded before this call via EtcdRecover RPC. + bool recover_etcd = 1; + // Skip hash check on the snapshot (etcd). + // Enable this when recovering from data directory copy to skip integrity check. + bool recover_skip_hash_check = 2; +} + +// The bootstrap message containing the bootstrap status. +message Bootstrap { + common.Metadata metadata = 1; +} + +message BootstrapResponse { + repeated Bootstrap messages = 1; +} + +// rpc events +message SequenceEvent { + string sequence = 1; + enum Action { + NOOP = 0; + START = 1; + STOP = 2; + } + Action action = 2; + common.Error error = 3; +} + +message PhaseEvent { + string phase = 1; + enum Action { + START = 0; + STOP = 1; + } + Action action = 2; +} + +message TaskEvent { + string task = 1; + enum Action { + START = 0; + STOP = 1; + } + Action action = 2; +} + +message ServiceStateEvent { + string service = 1; + enum Action { + INITIALIZED = 0; + PREPARING = 1; + WAITING = 2; + RUNNING = 3; + STOPPING = 4; + FINISHED = 5; + FAILED = 6; + SKIPPED = 7; + STARTING = 8; + } + Action action = 2; + string message = 3; + ServiceHealth health = 4; +} + +message RestartEvent { + int64 cmd = 1; +} + +// ConfigLoadErrorEvent is reported when the config loading has failed. +message ConfigLoadErrorEvent { + string error = 1; +} + +// ConfigValidationErrorEvent is reported when config validation has failed. +message ConfigValidationErrorEvent { + string error = 1; +} + +// AddressEvent reports node endpoints aggregated from k8s.Endpoints and network.Hostname. +message AddressEvent { + string hostname = 1; + repeated string addresses = 2; +} + +// MachineStatusEvent reports changes to the MachineStatus resource. +message MachineStatusEvent { + message MachineStatus { + message UnmetCondition { + string name = 1; + string reason = 2; + } + bool ready = 1; + repeated UnmetCondition unmet_conditions = 2; + } + enum MachineStage { + UNKNOWN = 0; + BOOTING = 1; + INSTALLING = 2; + MAINTENANCE = 3; + RUNNING = 4; + REBOOTING = 5; + SHUTTING_DOWN = 6; + RESETTING = 7; + UPGRADING = 8; + } + MachineStage stage = 1; + MachineStatus status = 2; +} + +message EventsRequest { + int32 tail_events = 1; + string tail_id = 2; + int32 tail_seconds = 3; + string with_actor_id = 4; +} + +message Event { + common.Metadata metadata = 1; + google.protobuf.Any data = 2; + string id = 3; + string actor_id = 4; +} + +// rpc reset +message ResetPartitionSpec { + string label = 1; + bool wipe = 2; +} + +message ResetRequest { + enum WipeMode { + ALL = 0; + SYSTEM_DISK = 1; + USER_DISKS = 2; + } + // Graceful indicates whether node should leave etcd before the upgrade, it also + // enforces etcd checks before leaving. + bool graceful = 1; + // Reboot indicates whether node should reboot or halt after resetting. + bool reboot = 2; + // System_partitions_to_wipe lists specific system disk partitions to be reset (wiped). + // If system_partitions_to_wipe is empty, all the partitions are erased. + repeated ResetPartitionSpec system_partitions_to_wipe = 3; + // UserDisksToWipe lists specific connected block devices to be reset (wiped). + repeated string user_disks_to_wipe = 4; + // WipeMode defines which devices should be wiped. + WipeMode mode = 5; +} + +// The reset message containing the restart status. +message Reset { + common.Metadata metadata = 1; + string actor_id = 2; +} + +message ResetResponse { + repeated Reset messages = 1; +} + +// rpc shutdown +// The messages message containing the shutdown status. +message Shutdown { + common.Metadata metadata = 1; + string actor_id = 2; +} + +message ShutdownRequest { + // Force indicates whether node should shutdown without first cordening and draining + bool force = 1; +} + +message ShutdownResponse { + repeated Shutdown messages = 1; +} + +// rpc upgrade +message UpgradeRequest { + enum RebootMode { + DEFAULT = 0; + POWERCYCLE = 1; + } + string image = 1; + bool preserve = 2; + bool stage = 3; + bool force = 4; + RebootMode reboot_mode = 5; +} + +message Upgrade { + common.Metadata metadata = 1; + string ack = 2; + string actor_id = 3; +} + +message UpgradeResponse { + repeated Upgrade messages = 1; +} + +// rpc servicelist +message ServiceList { + common.Metadata metadata = 1; + repeated ServiceInfo services = 2; +} + +message ServiceListResponse { + repeated ServiceList messages = 1; +} + +message ServiceInfo { + string id = 1; + string state = 2; + ServiceEvents events = 3; + ServiceHealth health = 4; +} + +message ServiceEvents { + repeated ServiceEvent events = 1; +} + +message ServiceEvent { + string msg = 1; + string state = 2; + google.protobuf.Timestamp ts = 3; +} + +message ServiceHealth { + bool unknown = 1; + bool healthy = 2; + string last_message = 3; + google.protobuf.Timestamp last_change = 4; +} + +// rpc servicestart +message ServiceStartRequest { + string id = 1; +} + +message ServiceStart { + common.Metadata metadata = 1; + string resp = 2; +} + +message ServiceStartResponse { + repeated ServiceStart messages = 1; +} + +message ServiceStopRequest { + string id = 1; +} + +message ServiceStop { + common.Metadata metadata = 1; + string resp = 2; +} + +message ServiceStopResponse { + repeated ServiceStop messages = 1; +} + +message ServiceRestartRequest { + string id = 1; +} + +message ServiceRestart { + common.Metadata metadata = 1; + string resp = 2; +} + +message ServiceRestartResponse { + repeated ServiceRestart messages = 1; +} + +// CopyRequest describes a request to copy data out of Talos node +// +// Copy produces .tar.gz archive which is streamed back to the caller +message CopyRequest { + // Root path to start copying data out, it might be either a file or directory + string root_path = 1; +} + +// ListRequest describes a request to list the contents of a directory. +message ListRequest { + // Root indicates the root directory for the list. If not indicated, '/' is + // presumed. + string root = 1; + // Recurse indicates that subdirectories should be recursed. + bool recurse = 2; + // RecursionDepth indicates how many levels of subdirectories should be + // recursed. The default (0) indicates that no limit should be enforced. + int32 recursion_depth = 3; + // File type. + enum Type { + // Regular file (not directory, symlink, etc). + REGULAR = 0; + // Directory. + DIRECTORY = 1; + // Symbolic link. + SYMLINK = 2; + } + // Types indicates what file type should be returned. If not indicated, + // all files will be returned. + repeated Type types = 4; + // Report xattrs + bool report_xattrs = 5; +} + +// DiskUsageRequest describes a request to list disk usage of directories and regular files +message DiskUsageRequest { + // RecursionDepth indicates how many levels of subdirectories should be + // recursed. The default (0) indicates that no limit should be enforced. + int32 recursion_depth = 1; + // All write sizes for all files, not just directories. + bool all = 2; + // Threshold exclude entries smaller than SIZE if positive, + // or entries greater than SIZE if negative. + int64 threshold = 3; + // DiskUsagePaths is the list of directories to calculate disk usage for. + repeated string paths = 4; +} + +// FileInfo describes a file or directory's information +message FileInfo { + common.Metadata metadata = 1; + // Name is the name (including prefixed path) of the file or directory + string name = 2; + // Size indicates the number of bytes contained within the file + int64 size = 3; + // Mode is the bitmap of UNIX mode/permission flags of the file + uint32 mode = 4; + // Modified indicates the UNIX timestamp at which the file was last modified + int64 modified = 5; + // IsDir indicates that the file is a directory + bool is_dir = 6; + // Error describes any error encountered while trying to read the file + // information. + string error = 7; + // Link is filled with symlink target + string link = 8; + // RelativeName is the name of the file or directory relative to the RootPath + string relative_name = 9; + // Owner uid + uint32 uid = 10; + // Owner gid + uint32 gid = 11; + // Extended attributes (if present and requested) + repeated Xattr xattrs = 12; +} + +message Xattr { + string name = 1; + bytes data = 2; +} + +// DiskUsageInfo describes a file or directory's information for du command +message DiskUsageInfo { + common.Metadata metadata = 1; + // Name is the name (including prefixed path) of the file or directory + string name = 2; + // Size indicates the number of bytes contained within the file + int64 size = 3; + // Error describes any error encountered while trying to read the file + // information. + string error = 4; + // RelativeName is the name of the file or directory relative to the RootPath + string relative_name = 5; +} + +// The messages message containing the requested df stats. +message Mounts { + common.Metadata metadata = 1; + repeated MountStat stats = 2; +} + +message MountsResponse { + repeated Mounts messages = 1; +} + +// The messages message containing the requested processes. +message MountStat { + string filesystem = 1; + uint64 size = 2; + uint64 available = 3; + string mounted_on = 4; +} + +message Version { + common.Metadata metadata = 1; + VersionInfo version = 2; + PlatformInfo platform = 3; + // Features describe individual Talos features that can be switched on or off. + FeaturesInfo features = 4; +} + +message VersionResponse { + repeated Version messages = 1; +} + +message VersionInfo { + string tag = 1; + string sha = 2; + string built = 3; + string go_version = 4; + string os = 5; + string arch = 6; +} + +message PlatformInfo { + string name = 1; + string mode = 2; +} + +// FeaturesInfo describes individual Talos features that can be switched on or off. +message FeaturesInfo { + // RBAC is true if role-based access control is enabled. + bool rbac = 1; +} + +// rpc logs +// The request message containing the process name. +message LogsRequest { + string namespace = 1; + string id = 2; + // driver might be default "containerd" or "cri" + common.ContainerDriver driver = 3; + bool follow = 4; + int32 tail_lines = 5; +} + +message ReadRequest { + string path = 1; +} + +// LogsContainer desribes all avalaible registered log containers. +message LogsContainer { + common.Metadata metadata = 1; + repeated string ids = 2; +} + +message LogsContainersResponse { + repeated LogsContainer messages = 1; +} + +// rpc rollback +message RollbackRequest {} + +message Rollback { + common.Metadata metadata = 1; +} + +message RollbackResponse { + repeated Rollback messages = 1; +} + +// rpc Containers + +message ContainersRequest { + string namespace = 1; + // driver might be default "containerd" or "cri" + common.ContainerDriver driver = 2; +} + +// The messages message containing the requested containers. +message ContainerInfo { + string namespace = 1; + string id = 2; + string image = 3; + uint32 pid = 4; + string status = 5; + string pod_id = 6; + string name = 7; + string network_namespace = 8; +} + +// The messages message containing the requested containers. +message Container { + common.Metadata metadata = 1; + repeated ContainerInfo containers = 2; +} + +message ContainersResponse { + repeated Container messages = 1; +} + +// dmesg +message DmesgRequest { + bool follow = 1; + bool tail = 2; +} + +// rpc processes +message ProcessesResponse { + repeated Process messages = 1; +} + +message Process { + common.Metadata metadata = 1; + repeated ProcessInfo processes = 2; +} + +message ProcessInfo { + int32 pid = 1; + int32 ppid = 2; + string state = 3; + int32 threads = 4; + double cpu_time = 5; + uint64 virtual_memory = 6; + uint64 resident_memory = 7; + string command = 8; + string executable = 9; + string args = 10; + string label = 11; +} + +// rpc restart +// The request message containing the process to restart. +message RestartRequest { + string namespace = 1; + string id = 2; + // driver might be default "containerd" or "cri" + common.ContainerDriver driver = 3; +} + +message Restart { + common.Metadata metadata = 1; +} + +// The messages message containing the restart status. +message RestartResponse { + repeated Restart messages = 1; +} + +// rpc stats + +// The request message containing the containerd namespace. +message StatsRequest { + string namespace = 1; + // driver might be default "containerd" or "cri" + common.ContainerDriver driver = 2; +} + +// The messages message containing the requested stats. +message Stats { + common.Metadata metadata = 1; + repeated Stat stats = 2; +} + +message StatsResponse { + repeated Stats messages = 1; +} + +// The messages message containing the requested stat. +message Stat { + string namespace = 1; + string id = 2; + uint64 memory_usage = 4; + uint64 cpu_usage = 5; + string pod_id = 6; + string name = 7; +} + +message Memory { + common.Metadata metadata = 1; + MemInfo meminfo = 2; +} + +message MemoryResponse { + repeated Memory messages = 1; +} + +message MemInfo { + uint64 memtotal = 1; + uint64 memfree = 2; + uint64 memavailable = 3; + uint64 buffers = 4; + uint64 cached = 5; + uint64 swapcached = 6; + uint64 active = 7; + uint64 inactive = 8; + uint64 activeanon = 9; + uint64 inactiveanon = 10; + uint64 activefile = 11; + uint64 inactivefile = 12; + uint64 unevictable = 13; + uint64 mlocked = 14; + uint64 swaptotal = 15; + uint64 swapfree = 16; + uint64 dirty = 17; + uint64 writeback = 18; + uint64 anonpages = 19; + uint64 mapped = 20; + uint64 shmem = 21; + uint64 slab = 22; + uint64 sreclaimable = 23; + uint64 sunreclaim = 24; + uint64 kernelstack = 25; + uint64 pagetables = 26; + uint64 nfsunstable = 27; + uint64 bounce = 28; + uint64 writebacktmp = 29; + uint64 commitlimit = 30; + uint64 committedas = 31; + uint64 vmalloctotal = 32; + uint64 vmallocused = 33; + uint64 vmallocchunk = 34; + uint64 hardwarecorrupted = 35; + uint64 anonhugepages = 36; + uint64 shmemhugepages = 37; + uint64 shmempmdmapped = 38; + uint64 cmatotal = 39; + uint64 cmafree = 40; + uint64 hugepagestotal = 41; + uint64 hugepagesfree = 42; + uint64 hugepagesrsvd = 43; + uint64 hugepagessurp = 44; + uint64 hugepagesize = 45; + uint64 directmap4k = 46; + uint64 directmap2m = 47; + uint64 directmap1g = 48; +} + +// rpc Hostname + +message HostnameResponse { + repeated Hostname messages = 1; +} + +message Hostname { + common.Metadata metadata = 1; + string hostname = 2; +} + +// rpc LoadAvg + +message LoadAvgResponse { + repeated LoadAvg messages = 1; +} + +message LoadAvg { + common.Metadata metadata = 1; + double load1 = 2; + double load5 = 3; + double load15 = 4; +} + +// rpc SystemStat + +message SystemStatResponse { + repeated SystemStat messages = 1; +} + +message SystemStat { + common.Metadata metadata = 1; + uint64 boot_time = 2; + CPUStat cpu_total = 3; + repeated CPUStat cpu = 4; + uint64 irq_total = 5; + repeated uint64 irq = 6; + uint64 context_switches = 7; + uint64 process_created = 8; + uint64 process_running = 9; + uint64 process_blocked = 10; + uint64 soft_irq_total = 11; + SoftIRQStat soft_irq = 12; +} + +message CPUStat { + double user = 1; + double nice = 2; + double system = 3; + double idle = 4; + double iowait = 5; + double irq = 6; + double soft_irq = 7; + double steal = 8; + double guest = 9; + double guest_nice = 10; +} + +message SoftIRQStat { + uint64 hi = 1; + uint64 timer = 2; + uint64 net_tx = 3; + uint64 net_rx = 4; + uint64 block = 5; + uint64 block_io_poll = 6; + uint64 tasklet = 7; + uint64 sched = 8; + uint64 hrtimer = 9; + uint64 rcu = 10; +} + +// rpc CPUInfo + +message CPUInfoResponse { + repeated CPUsInfo messages = 1; +} + +message CPUsInfo { + common.Metadata metadata = 1; + repeated CPUInfo cpu_info = 2; +} + +message CPUInfo { + uint32 processor = 1; + string vendor_id = 2; + string cpu_family = 3; + string model = 4; + string model_name = 5; + string stepping = 6; + string microcode = 7; + double cpu_mhz = 8; + string cache_size = 9; + string physical_id = 10; + uint32 siblings = 11; + string core_id = 12; + uint32 cpu_cores = 13; + string apic_id = 14; + string initial_apic_id = 15; + string fpu = 16; + string fpu_exception = 17; + uint32 cpu_id_level = 18; + string wp = 19; + repeated string flags = 20; + repeated string bugs = 21; + double bogo_mips = 22; + uint32 cl_flush_size = 23; + uint32 cache_alignment = 24; + string address_sizes = 25; + string power_management = 26; +} + +// rpc NetworkDeviceStats + +message NetworkDeviceStatsResponse { + repeated NetworkDeviceStats messages = 1; +} + +message NetworkDeviceStats { + common.Metadata metadata = 1; + NetDev total = 2; + repeated NetDev devices = 3; +} + +message NetDev { + string name = 1; + uint64 rx_bytes = 2; + uint64 rx_packets = 3; + uint64 rx_errors = 4; + uint64 rx_dropped = 5; + uint64 rx_fifo = 6; + uint64 rx_frame = 7; + uint64 rx_compressed = 8; + uint64 rx_multicast = 9; + uint64 tx_bytes = 10; + uint64 tx_packets = 11; + uint64 tx_errors = 12; + uint64 tx_dropped = 13; + uint64 tx_fifo = 14; + uint64 tx_collisions = 15; + uint64 tx_carrier = 16; + uint64 tx_compressed = 17; +} + +// rpc DiskStats + +message DiskStatsResponse { + repeated DiskStats messages = 1; +} + +message DiskStats { + common.Metadata metadata = 1; + DiskStat total = 2; + repeated DiskStat devices = 3; +} + +message DiskStat { + string name = 1; + uint64 read_completed = 2; + uint64 read_merged = 3; + uint64 read_sectors = 4; + uint64 read_time_ms = 5; + uint64 write_completed = 6; + uint64 write_merged = 7; + uint64 write_sectors = 8; + uint64 write_time_ms = 9; + uint64 io_in_progress = 10; + uint64 io_time_ms = 11; + uint64 io_time_weighted_ms = 12; + uint64 discard_completed = 13; + uint64 discard_merged = 14; + uint64 discard_sectors = 15; + uint64 discard_time_ms = 16; +} + +message EtcdLeaveClusterRequest {} + +message EtcdLeaveCluster { + common.Metadata metadata = 1; +} + +message EtcdLeaveClusterResponse { + repeated EtcdLeaveCluster messages = 1; +} + +message EtcdRemoveMemberRequest { + string member = 1; +} + +message EtcdRemoveMember { + common.Metadata metadata = 1; +} + +message EtcdRemoveMemberResponse { + repeated EtcdRemoveMember messages = 1; +} + +message EtcdRemoveMemberByIDRequest { + uint64 member_id = 1; +} + +message EtcdRemoveMemberByID { + common.Metadata metadata = 1; +} + +message EtcdRemoveMemberByIDResponse { + repeated EtcdRemoveMemberByID messages = 1; +} + +message EtcdForfeitLeadershipRequest {} + +message EtcdForfeitLeadership { + common.Metadata metadata = 1; + string member = 2; +} + +message EtcdForfeitLeadershipResponse { + repeated EtcdForfeitLeadership messages = 1; +} + +message EtcdMemberListRequest { + bool query_local = 1; +} + +// EtcdMember describes a single etcd member. +message EtcdMember { + // member ID. + uint64 id = 2; + // human-readable name of the member. + string hostname = 3; + // the list of URLs the member exposes to clients for communication. + repeated string peer_urls = 4; + // the list of URLs the member exposes to the cluster for communication. + repeated string client_urls = 5; + // learner flag + bool is_learner = 6; +} + +// EtcdMembers contains the list of members registered on the host. +message EtcdMembers { + common.Metadata metadata = 1; + // list of member hostnames. + repeated string legacy_members = 2; + // the list of etcd members registered on the node. + repeated EtcdMember members = 3; +} + +message EtcdMemberListResponse { + repeated EtcdMembers messages = 1; +} + +message EtcdSnapshotRequest {} + +message EtcdRecover { + common.Metadata metadata = 1; +} + +message EtcdRecoverResponse { + repeated EtcdRecover messages = 1; +} + +message EtcdAlarmListResponse { + repeated EtcdAlarm messages = 1; +} + +message EtcdAlarm { + common.Metadata metadata = 1; + repeated EtcdMemberAlarm member_alarms = 2; +} + +message EtcdMemberAlarm { + enum AlarmType { + NONE = 0; + NOSPACE = 1; + CORRUPT = 2; + } + uint64 member_id = 1; + AlarmType alarm = 2; +} + +message EtcdAlarmDisarmResponse { + repeated EtcdAlarmDisarm messages = 1; +} + +message EtcdAlarmDisarm { + common.Metadata metadata = 1; + repeated EtcdMemberAlarm member_alarms = 2; +} + +message EtcdDefragmentResponse { + repeated EtcdDefragment messages = 1; +} + +message EtcdDefragment { + common.Metadata metadata = 1; +} + +message EtcdStatusResponse { + repeated EtcdStatus messages = 1; +} + +message EtcdStatus { + common.Metadata metadata = 1; + EtcdMemberStatus member_status = 2; +} + +message EtcdMemberStatus { + uint64 member_id = 10; + string protocol_version = 1; + int64 db_size = 2; + int64 db_size_in_use = 3; + uint64 leader = 4; + uint64 raft_index = 5; + uint64 raft_term = 6; + uint64 raft_applied_index = 7; + repeated string errors = 8; + bool is_learner = 9; +} + +// rpc generateConfiguration + +message RouteConfig { + string network = 1; + string gateway = 2; + uint32 metric = 3; +} + +message DHCPOptionsConfig { + uint32 route_metric = 1; +} + +message NetworkDeviceConfig { + string interface = 1; + string cidr = 2; + int32 mtu = 3; + bool dhcp = 4; + bool ignore = 5; + DHCPOptionsConfig dhcp_options = 6; + repeated RouteConfig routes = 7; +} + +message NetworkConfig { + string hostname = 1; + repeated NetworkDeviceConfig interfaces = 2; +} + +message InstallConfig { + string install_disk = 1; + string install_image = 2; +} + +message MachineConfig { + enum MachineType { + TYPE_UNKNOWN = 0; + TYPE_INIT = 1; + TYPE_CONTROL_PLANE = 2; + TYPE_WORKER = 3; + } + MachineType type = 1; + InstallConfig install_config = 2; + NetworkConfig network_config = 3; + string kubernetes_version = 4; +} + +message ControlPlaneConfig { + string endpoint = 1; +} + +message CNIConfig { + string name = 1; + repeated string urls = 2; +} + +message ClusterNetworkConfig { + string dns_domain = 1; + CNIConfig cni_config = 2; +} + +message ClusterConfig { + string name = 1; + ControlPlaneConfig control_plane = 2; + ClusterNetworkConfig cluster_network = 3; + bool allow_scheduling_on_control_planes = 4; +} + +// GenerateConfigurationRequest describes a request to generate a new configuration +// on a node. +message GenerateConfigurationRequest { + string config_version = 1; + ClusterConfig cluster_config = 2; + MachineConfig machine_config = 3; + google.protobuf.Timestamp override_time = 4; +} + +// GenerateConfiguration describes the response to a generate configuration request. +message GenerateConfiguration { + common.Metadata metadata = 1; + repeated bytes data = 2; + bytes talosconfig = 3; +} + +message GenerateConfigurationResponse { + repeated GenerateConfiguration messages = 1; +} + +message GenerateClientConfigurationRequest { + // Roles in the generated client certificate. + repeated string roles = 1; + // Client certificate TTL. + google.protobuf.Duration crt_ttl = 2; +} + +message GenerateClientConfiguration { + common.Metadata metadata = 1; + // PEM-encoded CA certificate. + bytes ca = 2; + // PEM-encoded generated client certificate. + bytes crt = 3; + // PEM-encoded generated client key. + bytes key = 4; + // Client configuration (talosconfig) file content. + bytes talosconfig = 5; +} + +message GenerateClientConfigurationResponse { + repeated GenerateClientConfiguration messages = 1; +} + +message PacketCaptureRequest { + // Interface name to perform packet capture on. + string interface = 1; + // Enable promiscuous mode. + bool promiscuous = 2; + // Snap length in bytes. + uint32 snap_len = 3; + // BPF filter. + repeated BPFInstruction bpf_filter = 4; +} + +message BPFInstruction { + uint32 op = 1; + uint32 jt = 2; + uint32 jf = 3; + uint32 k = 4; +} + +message NetstatRequest { + enum Filter { + ALL = 0; + CONNECTED = 1; + LISTENING = 2; + } + Filter filter = 1; + message Feature { + bool pid = 1; + } + Feature feature = 2; + message L4proto { + bool tcp = 1; + bool tcp6 = 2; + bool udp = 3; + bool udp6 = 4; + bool udplite = 5; + bool udplite6 = 6; + bool raw = 7; + bool raw6 = 8; + } + L4proto l4proto = 3; + message NetNS { + bool hostnetwork = 1; + repeated string netns = 2; + bool allnetns = 3; + } + NetNS netns = 4; +} + +message ConnectRecord { + string l4proto = 1; + string localip = 2; + uint32 localport = 3; + string remoteip = 4; + uint32 remoteport = 5; + enum State { + RESERVED = 0; + ESTABLISHED = 1; + SYN_SENT = 2; + SYN_RECV = 3; + FIN_WAIT1 = 4; + FIN_WAIT2 = 5; + TIME_WAIT = 6; + CLOSE = 7; + CLOSEWAIT = 8; + LASTACK = 9; + LISTEN = 10; + CLOSING = 11; + } + State state = 6; + uint64 txqueue = 7; + uint64 rxqueue = 8; + enum TimerActive { + OFF = 0; + ON = 1; + KEEPALIVE = 2; + TIMEWAIT = 3; + PROBE = 4; + } + TimerActive tr = 9; + uint64 timerwhen = 10; + uint64 retrnsmt = 11; + uint32 uid = 12; + uint64 timeout = 13; + uint64 inode = 14; + uint64 ref = 15; + uint64 pointer = 16; + message Process { + uint32 pid = 1; + string name = 2; + } + Process process = 17; + string netns = 18; +} + +message Netstat { + common.Metadata metadata = 1; + repeated ConnectRecord connectrecord = 2; +} + +message NetstatResponse { + repeated Netstat messages = 1; +} + +message MetaWriteRequest { + uint32 key = 1; + bytes value = 2; +} + +message MetaWrite { + common.Metadata metadata = 1; +} + +message MetaWriteResponse { + repeated MetaWrite messages = 1; +} + +message MetaDeleteRequest { + uint32 key = 1; +} + +message MetaDelete { + common.Metadata metadata = 1; +} + +message MetaDeleteResponse { + repeated MetaDelete messages = 1; +} + +message ImageListRequest { + // Containerd namespace to use. + common.ContainerdNamespace namespace = 1; +} + +message ImageListResponse { + common.Metadata metadata = 1; + string name = 2; + string digest = 3; + int64 size = 4; + google.protobuf.Timestamp created_at = 5; +} + +message ImagePullRequest { + // Containerd namespace to use. + common.ContainerdNamespace namespace = 1; + // Image reference to pull. + string reference = 2; +} + +message ImagePull { + common.Metadata metadata = 1; +} + +message ImagePullResponse { + repeated ImagePull messages = 1; +} diff --git a/internal/app/machined/internal/server/v1alpha1/v1alpha1_monitoring.go b/internal/app/machined/internal/server/v1alpha1/v1alpha1_monitoring.go index 9adec22860..ab0d4f5a37 100644 --- a/internal/app/machined/internal/server/v1alpha1/v1alpha1_monitoring.go +++ b/internal/app/machined/internal/server/v1alpha1/v1alpha1_monitoring.go @@ -12,6 +12,7 @@ import ( "strings" "github.com/prometheus/procfs" + "github.com/prometheus/procfs/sysfs" "github.com/siderolabs/gen/maps" "github.com/siderolabs/gen/xslices" "google.golang.org/protobuf/types/known/emptypb" @@ -141,6 +142,41 @@ func (s *Server) SystemStat(ctx context.Context, in *emptypb.Empty) (*machine.Sy return reply, nil } +// CPUFreqStats implements the machine.MachineServer interface. +func (s *Server) CPUFreqStats(ctx context.Context, in *emptypb.Empty) (*machine.CPUFreqStatsResponse, error) { + fs, err := sysfs.NewDefaultFS() + if err != nil { + return nil, err + } + + systemCpufreqStats, err := fs.SystemCpufreq() + if err != nil { + return nil, err + } + + translateCPUFreqStats := func(in sysfs.SystemCPUCpufreqStats) *machine.CPUFreqStats { + if in.CpuinfoCurrentFrequency == nil || in.CpuinfoMinimumFrequency == nil || in.CpuinfoMaximumFrequency == nil { + return &machine.CPUFreqStats{} + } + return &machine.CPUFreqStats{ + CurrentFrequency: *in.CpuinfoCurrentFrequency, + MinimumFrequency: *in.CpuinfoMinimumFrequency, + MaximumFrequency: *in.CpuinfoMaximumFrequency, + Governor: in.Governor, + } + } + + reply := &machine.CPUFreqStatsResponse{ + Messages: []*machine.CPUsFreqStats{ + { + CpuFreqStats: xslices.Map(systemCpufreqStats, translateCPUFreqStats), + }, + }, + } + + return reply, nil +} + // CPUInfo implements the machine.MachineServer interface. func (s *Server) CPUInfo(ctx context.Context, in *emptypb.Empty) (*machine.CPUInfoResponse, error) { fs, err := procfs.NewDefaultFS() diff --git a/internal/app/machined/pkg/system/services/machined.go b/internal/app/machined/pkg/system/services/machined.go index b6a52219f7..f3ddfb3893 100644 --- a/internal/app/machined/pkg/system/services/machined.go +++ b/internal/app/machined/pkg/system/services/machined.go @@ -40,6 +40,7 @@ var rules = map[string]role.Set{ "/machine.MachineService/ApplyConfiguration": role.MakeSet(role.Admin), "/machine.MachineService/Bootstrap": role.MakeSet(role.Admin), "/machine.MachineService/CPUInfo": role.MakeSet(role.Admin, role.Operator, role.Reader), + "/machine.MachineService/CPUFreqStats": role.MakeSet(role.Admin, role.Operator, role.Reader), "/machine.MachineService/Containers": role.MakeSet(role.Admin, role.Operator, role.Reader), "/machine.MachineService/Copy": role.MakeSet(role.Admin), "/machine.MachineService/DiskStats": role.MakeSet(role.Admin, role.Operator, role.Reader), diff --git a/internal/pkg/dashboard/apidata/node.go b/internal/pkg/dashboard/apidata/node.go index 373cfa85e4..b8da10fd16 100644 --- a/internal/pkg/dashboard/apidata/node.go +++ b/internal/pkg/dashboard/apidata/node.go @@ -13,16 +13,17 @@ import ( // Node represents data gathered from a single node. type Node struct { // These fields are directly API responses. - Hostname *machine.Hostname - LoadAvg *machine.LoadAvg - Version *machine.Version - Memory *machine.Memory - SystemStat *machine.SystemStat - CPUsInfo *machine.CPUsInfo - NetDevStats *machine.NetworkDeviceStats - DiskStats *machine.DiskStats - Processes *machine.Process - ServiceList *machine.ServiceList + Hostname *machine.Hostname + LoadAvg *machine.LoadAvg + Version *machine.Version + Memory *machine.Memory + SystemStat *machine.SystemStat + CPUsFreqStats *machine.CPUsFreqStats + CPUsInfo *machine.CPUsInfo + NetDevStats *machine.NetworkDeviceStats + DiskStats *machine.DiskStats + Processes *machine.Process + ServiceList *machine.ServiceList // These fields are calculated as diff with Node data from previous pol. SystemStatDiff *machine.SystemStat diff --git a/internal/pkg/dashboard/apidata/source.go b/internal/pkg/dashboard/apidata/source.go index e8646339b2..465565ed3b 100644 --- a/internal/pkg/dashboard/apidata/source.go +++ b/internal/pkg/dashboard/apidata/source.go @@ -179,6 +179,27 @@ func (source *Source) gather() *Data { return nil }, + func() error { + resp, err := source.MachineClient.CPUFreqStats(source.ctx, &emptypb.Empty{}) + if err != nil { + return err + } + + resultLock.Lock() + defer resultLock.Unlock() + + for _, msg := range resp.GetMessages() { + node := source.node(msg) + + if _, ok := result.Nodes[node]; !ok { + result.Nodes[node] = &Node{} + } + + result.Nodes[node].CPUsFreqStats = msg + } + + return nil + }, func() error { resp, err := source.MachineClient.CPUInfo(source.ctx, &emptypb.Empty{}) if err != nil { diff --git a/internal/pkg/dashboard/components/header.go b/internal/pkg/dashboard/components/header.go index 392ae71c14..00d52aaadb 100644 --- a/internal/pkg/dashboard/components/header.go +++ b/internal/pkg/dashboard/components/header.go @@ -7,6 +7,7 @@ package components import ( "fmt" "math" + "sort" "strconv" "time" @@ -107,11 +108,10 @@ func (widget *Header) redraw() { data := widget.getOrCreateNodeData(widget.selectedNode) text := fmt.Sprintf( - "[yellow::b]%s[-:-:-] (%s): uptime %s, %sx%s, %s RAM, PROCS %s, CPU %s, RAM %s", + "[yellow::b]%s[-:-:-] (%s): uptime %s, %s, %s RAM, PROCS %s, CPU %s, RAM %s", data.hostname, data.version, data.uptime, - data.numCPUs, data.cpuFreq, data.totalMem, data.numProcesses, @@ -122,6 +122,7 @@ func (widget *Header) redraw() { widget.SetText(text) } +//nolint:gocyclo func (widget *Header) updateNodeAPIData(node string, data *apidata.Node) { nodeData := widget.getOrCreateNodeData(node) @@ -147,13 +148,45 @@ func (widget *Header) updateNodeAPIData(node string, data *apidata.Node) { if data.CPUsInfo != nil { numCPUs := len(data.CPUsInfo.GetCpuInfo()) - nodeData.numCPUs = strconv.Itoa(numCPUs) - if numCPUs > 0 { + nodeData.cpuFreq = fmt.Sprintf("%dx%s", numCPUs, widget.humanizeCPUFrequency(data.CPUsInfo.GetCpuInfo()[0].GetCpuMhz())) + } else { nodeData.cpuFreq = widget.humanizeCPUFrequency(data.CPUsInfo.GetCpuInfo()[0].GetCpuMhz()) } } + if data.CPUsFreqStats != nil && data.CPUsFreqStats.CpuFreqStats != nil { + numCPUs := len(data.CPUsFreqStats.CpuFreqStats) + uniqMhz := make(map[uint64]int, numCPUs) + + for _, cpuFreqStat := range data.CPUsFreqStats.CpuFreqStats { + uniqMhz[cpuFreqStat.CurrentFrequency]++ + } + + keys := make([]uint64, 0, len(uniqMhz)) + for mhz := range uniqMhz { + if mhz == 0 { + continue + } + + keys = append(keys, mhz) + } + + if len(keys) > 0 { + sort.Slice(keys, func(i, j int) bool { return keys[i] > keys[j] }) + + nodeData.cpuFreq = "" + } + + for i, mhz := range keys { + if i > 0 { + nodeData.cpuFreq += " " + } + + nodeData.cpuFreq += fmt.Sprintf("%dx%s", uniqMhz[mhz], widget.humanizeCPUFrequency(float64(mhz)/1000.0)) + } + } + if data.Processes != nil { nodeData.numProcesses = strconv.Itoa(len(data.Processes.GetProcesses())) } diff --git a/pkg/machinery/api/machine/machine.pb.go b/pkg/machinery/api/machine/machine.pb.go index 140caab9ee..336edf5619 100644 --- a/pkg/machinery/api/machine/machine.pb.go +++ b/pkg/machinery/api/machine/machine.pb.go @@ -597,7 +597,7 @@ func (x EtcdMemberAlarm_AlarmType) Number() protoreflect.EnumNumber { // Deprecated: Use EtcdMemberAlarm_AlarmType.Descriptor instead. func (EtcdMemberAlarm_AlarmType) EnumDescriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{122, 0} + return file_machine_machine_proto_rawDescGZIP(), []int{125, 0} } type MachineConfig_MachineType int32 @@ -649,7 +649,7 @@ func (x MachineConfig_MachineType) Number() protoreflect.EnumNumber { // Deprecated: Use MachineConfig_MachineType.Descriptor instead. func (MachineConfig_MachineType) EnumDescriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{135, 0} + return file_machine_machine_proto_rawDescGZIP(), []int{138, 0} } type NetstatRequest_Filter int32 @@ -698,7 +698,7 @@ func (x NetstatRequest_Filter) Number() protoreflect.EnumNumber { // Deprecated: Use NetstatRequest_Filter.Descriptor instead. func (NetstatRequest_Filter) EnumDescriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{148, 0} + return file_machine_machine_proto_rawDescGZIP(), []int{151, 0} } type ConnectRecord_State int32 @@ -774,7 +774,7 @@ func (x ConnectRecord_State) Number() protoreflect.EnumNumber { // Deprecated: Use ConnectRecord_State.Descriptor instead. func (ConnectRecord_State) EnumDescriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{149, 0} + return file_machine_machine_proto_rawDescGZIP(), []int{152, 0} } type ConnectRecord_TimerActive int32 @@ -829,7 +829,7 @@ func (x ConnectRecord_TimerActive) Number() protoreflect.EnumNumber { // Deprecated: Use ConnectRecord_TimerActive.Descriptor instead. func (ConnectRecord_TimerActive) EnumDescriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{149, 1} + return file_machine_machine_proto_rawDescGZIP(), []int{152, 1} } // rpc applyConfiguration @@ -6844,6 +6844,179 @@ func (x *SoftIRQStat) GetRcu() uint64 { return 0 } +type CPUFreqStatsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Messages []*CPUsFreqStats `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` +} + +func (x *CPUFreqStatsResponse) Reset() { + *x = CPUFreqStatsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_machine_machine_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CPUFreqStatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CPUFreqStatsResponse) ProtoMessage() {} + +func (x *CPUFreqStatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_machine_machine_proto_msgTypes[92] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CPUFreqStatsResponse.ProtoReflect.Descriptor instead. +func (*CPUFreqStatsResponse) Descriptor() ([]byte, []int) { + return file_machine_machine_proto_rawDescGZIP(), []int{92} +} + +func (x *CPUFreqStatsResponse) GetMessages() []*CPUsFreqStats { + if x != nil { + return x.Messages + } + return nil +} + +type CPUsFreqStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metadata *common.Metadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + CpuFreqStats []*CPUFreqStats `protobuf:"bytes,2,rep,name=cpu_freq_stats,json=cpuFreqStats,proto3" json:"cpu_freq_stats,omitempty"` +} + +func (x *CPUsFreqStats) Reset() { + *x = CPUsFreqStats{} + if protoimpl.UnsafeEnabled { + mi := &file_machine_machine_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CPUsFreqStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CPUsFreqStats) ProtoMessage() {} + +func (x *CPUsFreqStats) ProtoReflect() protoreflect.Message { + mi := &file_machine_machine_proto_msgTypes[93] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CPUsFreqStats.ProtoReflect.Descriptor instead. +func (*CPUsFreqStats) Descriptor() ([]byte, []int) { + return file_machine_machine_proto_rawDescGZIP(), []int{93} +} + +func (x *CPUsFreqStats) GetMetadata() *common.Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *CPUsFreqStats) GetCpuFreqStats() []*CPUFreqStats { + if x != nil { + return x.CpuFreqStats + } + return nil +} + +type CPUFreqStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CurrentFrequency uint64 `protobuf:"varint,1,opt,name=current_frequency,json=currentFrequency,proto3" json:"current_frequency,omitempty"` + MinimumFrequency uint64 `protobuf:"varint,2,opt,name=minimum_frequency,json=minimumFrequency,proto3" json:"minimum_frequency,omitempty"` + MaximumFrequency uint64 `protobuf:"varint,3,opt,name=maximum_frequency,json=maximumFrequency,proto3" json:"maximum_frequency,omitempty"` + Governor string `protobuf:"bytes,4,opt,name=governor,proto3" json:"governor,omitempty"` +} + +func (x *CPUFreqStats) Reset() { + *x = CPUFreqStats{} + if protoimpl.UnsafeEnabled { + mi := &file_machine_machine_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CPUFreqStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CPUFreqStats) ProtoMessage() {} + +func (x *CPUFreqStats) ProtoReflect() protoreflect.Message { + mi := &file_machine_machine_proto_msgTypes[94] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CPUFreqStats.ProtoReflect.Descriptor instead. +func (*CPUFreqStats) Descriptor() ([]byte, []int) { + return file_machine_machine_proto_rawDescGZIP(), []int{94} +} + +func (x *CPUFreqStats) GetCurrentFrequency() uint64 { + if x != nil { + return x.CurrentFrequency + } + return 0 +} + +func (x *CPUFreqStats) GetMinimumFrequency() uint64 { + if x != nil { + return x.MinimumFrequency + } + return 0 +} + +func (x *CPUFreqStats) GetMaximumFrequency() uint64 { + if x != nil { + return x.MaximumFrequency + } + return 0 +} + +func (x *CPUFreqStats) GetGovernor() string { + if x != nil { + return x.Governor + } + return "" +} + type CPUInfoResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -6855,7 +7028,7 @@ type CPUInfoResponse struct { func (x *CPUInfoResponse) Reset() { *x = CPUInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[92] + mi := &file_machine_machine_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6868,7 +7041,7 @@ func (x *CPUInfoResponse) String() string { func (*CPUInfoResponse) ProtoMessage() {} func (x *CPUInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[92] + mi := &file_machine_machine_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6881,7 +7054,7 @@ func (x *CPUInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CPUInfoResponse.ProtoReflect.Descriptor instead. func (*CPUInfoResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{92} + return file_machine_machine_proto_rawDescGZIP(), []int{95} } func (x *CPUInfoResponse) GetMessages() []*CPUsInfo { @@ -6903,7 +7076,7 @@ type CPUsInfo struct { func (x *CPUsInfo) Reset() { *x = CPUsInfo{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[93] + mi := &file_machine_machine_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6916,7 +7089,7 @@ func (x *CPUsInfo) String() string { func (*CPUsInfo) ProtoMessage() {} func (x *CPUsInfo) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[93] + mi := &file_machine_machine_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6929,7 +7102,7 @@ func (x *CPUsInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CPUsInfo.ProtoReflect.Descriptor instead. func (*CPUsInfo) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{93} + return file_machine_machine_proto_rawDescGZIP(), []int{96} } func (x *CPUsInfo) GetMetadata() *common.Metadata { @@ -6982,7 +7155,7 @@ type CPUInfo struct { func (x *CPUInfo) Reset() { *x = CPUInfo{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[94] + mi := &file_machine_machine_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6995,7 +7168,7 @@ func (x *CPUInfo) String() string { func (*CPUInfo) ProtoMessage() {} func (x *CPUInfo) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[94] + mi := &file_machine_machine_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7008,7 +7181,7 @@ func (x *CPUInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CPUInfo.ProtoReflect.Descriptor instead. func (*CPUInfo) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{94} + return file_machine_machine_proto_rawDescGZIP(), []int{97} } func (x *CPUInfo) GetProcessor() uint32 { @@ -7204,7 +7377,7 @@ type NetworkDeviceStatsResponse struct { func (x *NetworkDeviceStatsResponse) Reset() { *x = NetworkDeviceStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[95] + mi := &file_machine_machine_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7217,7 +7390,7 @@ func (x *NetworkDeviceStatsResponse) String() string { func (*NetworkDeviceStatsResponse) ProtoMessage() {} func (x *NetworkDeviceStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[95] + mi := &file_machine_machine_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7230,7 +7403,7 @@ func (x *NetworkDeviceStatsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkDeviceStatsResponse.ProtoReflect.Descriptor instead. func (*NetworkDeviceStatsResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{95} + return file_machine_machine_proto_rawDescGZIP(), []int{98} } func (x *NetworkDeviceStatsResponse) GetMessages() []*NetworkDeviceStats { @@ -7253,7 +7426,7 @@ type NetworkDeviceStats struct { func (x *NetworkDeviceStats) Reset() { *x = NetworkDeviceStats{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[96] + mi := &file_machine_machine_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7266,7 +7439,7 @@ func (x *NetworkDeviceStats) String() string { func (*NetworkDeviceStats) ProtoMessage() {} func (x *NetworkDeviceStats) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[96] + mi := &file_machine_machine_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7279,7 +7452,7 @@ func (x *NetworkDeviceStats) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkDeviceStats.ProtoReflect.Descriptor instead. func (*NetworkDeviceStats) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{96} + return file_machine_machine_proto_rawDescGZIP(), []int{99} } func (x *NetworkDeviceStats) GetMetadata() *common.Metadata { @@ -7330,7 +7503,7 @@ type NetDev struct { func (x *NetDev) Reset() { *x = NetDev{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[97] + mi := &file_machine_machine_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7343,7 +7516,7 @@ func (x *NetDev) String() string { func (*NetDev) ProtoMessage() {} func (x *NetDev) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[97] + mi := &file_machine_machine_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7356,7 +7529,7 @@ func (x *NetDev) ProtoReflect() protoreflect.Message { // Deprecated: Use NetDev.ProtoReflect.Descriptor instead. func (*NetDev) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{97} + return file_machine_machine_proto_rawDescGZIP(), []int{100} } func (x *NetDev) GetName() string { @@ -7489,7 +7662,7 @@ type DiskStatsResponse struct { func (x *DiskStatsResponse) Reset() { *x = DiskStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[98] + mi := &file_machine_machine_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7502,7 +7675,7 @@ func (x *DiskStatsResponse) String() string { func (*DiskStatsResponse) ProtoMessage() {} func (x *DiskStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[98] + mi := &file_machine_machine_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7515,7 +7688,7 @@ func (x *DiskStatsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskStatsResponse.ProtoReflect.Descriptor instead. func (*DiskStatsResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{98} + return file_machine_machine_proto_rawDescGZIP(), []int{101} } func (x *DiskStatsResponse) GetMessages() []*DiskStats { @@ -7538,7 +7711,7 @@ type DiskStats struct { func (x *DiskStats) Reset() { *x = DiskStats{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[99] + mi := &file_machine_machine_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7551,7 +7724,7 @@ func (x *DiskStats) String() string { func (*DiskStats) ProtoMessage() {} func (x *DiskStats) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[99] + mi := &file_machine_machine_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7564,7 +7737,7 @@ func (x *DiskStats) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskStats.ProtoReflect.Descriptor instead. func (*DiskStats) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{99} + return file_machine_machine_proto_rawDescGZIP(), []int{102} } func (x *DiskStats) GetMetadata() *common.Metadata { @@ -7614,7 +7787,7 @@ type DiskStat struct { func (x *DiskStat) Reset() { *x = DiskStat{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[100] + mi := &file_machine_machine_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7627,7 +7800,7 @@ func (x *DiskStat) String() string { func (*DiskStat) ProtoMessage() {} func (x *DiskStat) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[100] + mi := &file_machine_machine_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7640,7 +7813,7 @@ func (x *DiskStat) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskStat.ProtoReflect.Descriptor instead. func (*DiskStat) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{100} + return file_machine_machine_proto_rawDescGZIP(), []int{103} } func (x *DiskStat) GetName() string { @@ -7764,7 +7937,7 @@ type EtcdLeaveClusterRequest struct { func (x *EtcdLeaveClusterRequest) Reset() { *x = EtcdLeaveClusterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[101] + mi := &file_machine_machine_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7777,7 +7950,7 @@ func (x *EtcdLeaveClusterRequest) String() string { func (*EtcdLeaveClusterRequest) ProtoMessage() {} func (x *EtcdLeaveClusterRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[101] + mi := &file_machine_machine_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7790,7 +7963,7 @@ func (x *EtcdLeaveClusterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdLeaveClusterRequest.ProtoReflect.Descriptor instead. func (*EtcdLeaveClusterRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{101} + return file_machine_machine_proto_rawDescGZIP(), []int{104} } type EtcdLeaveCluster struct { @@ -7804,7 +7977,7 @@ type EtcdLeaveCluster struct { func (x *EtcdLeaveCluster) Reset() { *x = EtcdLeaveCluster{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[102] + mi := &file_machine_machine_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7817,7 +7990,7 @@ func (x *EtcdLeaveCluster) String() string { func (*EtcdLeaveCluster) ProtoMessage() {} func (x *EtcdLeaveCluster) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[102] + mi := &file_machine_machine_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7830,7 +8003,7 @@ func (x *EtcdLeaveCluster) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdLeaveCluster.ProtoReflect.Descriptor instead. func (*EtcdLeaveCluster) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{102} + return file_machine_machine_proto_rawDescGZIP(), []int{105} } func (x *EtcdLeaveCluster) GetMetadata() *common.Metadata { @@ -7851,7 +8024,7 @@ type EtcdLeaveClusterResponse struct { func (x *EtcdLeaveClusterResponse) Reset() { *x = EtcdLeaveClusterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[103] + mi := &file_machine_machine_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7864,7 +8037,7 @@ func (x *EtcdLeaveClusterResponse) String() string { func (*EtcdLeaveClusterResponse) ProtoMessage() {} func (x *EtcdLeaveClusterResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[103] + mi := &file_machine_machine_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7877,7 +8050,7 @@ func (x *EtcdLeaveClusterResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdLeaveClusterResponse.ProtoReflect.Descriptor instead. func (*EtcdLeaveClusterResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{103} + return file_machine_machine_proto_rawDescGZIP(), []int{106} } func (x *EtcdLeaveClusterResponse) GetMessages() []*EtcdLeaveCluster { @@ -7898,7 +8071,7 @@ type EtcdRemoveMemberRequest struct { func (x *EtcdRemoveMemberRequest) Reset() { *x = EtcdRemoveMemberRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[104] + mi := &file_machine_machine_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7911,7 +8084,7 @@ func (x *EtcdRemoveMemberRequest) String() string { func (*EtcdRemoveMemberRequest) ProtoMessage() {} func (x *EtcdRemoveMemberRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[104] + mi := &file_machine_machine_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7924,7 +8097,7 @@ func (x *EtcdRemoveMemberRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdRemoveMemberRequest.ProtoReflect.Descriptor instead. func (*EtcdRemoveMemberRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{104} + return file_machine_machine_proto_rawDescGZIP(), []int{107} } func (x *EtcdRemoveMemberRequest) GetMember() string { @@ -7945,7 +8118,7 @@ type EtcdRemoveMember struct { func (x *EtcdRemoveMember) Reset() { *x = EtcdRemoveMember{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[105] + mi := &file_machine_machine_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7958,7 +8131,7 @@ func (x *EtcdRemoveMember) String() string { func (*EtcdRemoveMember) ProtoMessage() {} func (x *EtcdRemoveMember) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[105] + mi := &file_machine_machine_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7971,7 +8144,7 @@ func (x *EtcdRemoveMember) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdRemoveMember.ProtoReflect.Descriptor instead. func (*EtcdRemoveMember) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{105} + return file_machine_machine_proto_rawDescGZIP(), []int{108} } func (x *EtcdRemoveMember) GetMetadata() *common.Metadata { @@ -7992,7 +8165,7 @@ type EtcdRemoveMemberResponse struct { func (x *EtcdRemoveMemberResponse) Reset() { *x = EtcdRemoveMemberResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[106] + mi := &file_machine_machine_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8005,7 +8178,7 @@ func (x *EtcdRemoveMemberResponse) String() string { func (*EtcdRemoveMemberResponse) ProtoMessage() {} func (x *EtcdRemoveMemberResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[106] + mi := &file_machine_machine_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8018,7 +8191,7 @@ func (x *EtcdRemoveMemberResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdRemoveMemberResponse.ProtoReflect.Descriptor instead. func (*EtcdRemoveMemberResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{106} + return file_machine_machine_proto_rawDescGZIP(), []int{109} } func (x *EtcdRemoveMemberResponse) GetMessages() []*EtcdRemoveMember { @@ -8039,7 +8212,7 @@ type EtcdRemoveMemberByIDRequest struct { func (x *EtcdRemoveMemberByIDRequest) Reset() { *x = EtcdRemoveMemberByIDRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[107] + mi := &file_machine_machine_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8052,7 +8225,7 @@ func (x *EtcdRemoveMemberByIDRequest) String() string { func (*EtcdRemoveMemberByIDRequest) ProtoMessage() {} func (x *EtcdRemoveMemberByIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[107] + mi := &file_machine_machine_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8065,7 +8238,7 @@ func (x *EtcdRemoveMemberByIDRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdRemoveMemberByIDRequest.ProtoReflect.Descriptor instead. func (*EtcdRemoveMemberByIDRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{107} + return file_machine_machine_proto_rawDescGZIP(), []int{110} } func (x *EtcdRemoveMemberByIDRequest) GetMemberId() uint64 { @@ -8086,7 +8259,7 @@ type EtcdRemoveMemberByID struct { func (x *EtcdRemoveMemberByID) Reset() { *x = EtcdRemoveMemberByID{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[108] + mi := &file_machine_machine_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8099,7 +8272,7 @@ func (x *EtcdRemoveMemberByID) String() string { func (*EtcdRemoveMemberByID) ProtoMessage() {} func (x *EtcdRemoveMemberByID) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[108] + mi := &file_machine_machine_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8112,7 +8285,7 @@ func (x *EtcdRemoveMemberByID) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdRemoveMemberByID.ProtoReflect.Descriptor instead. func (*EtcdRemoveMemberByID) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{108} + return file_machine_machine_proto_rawDescGZIP(), []int{111} } func (x *EtcdRemoveMemberByID) GetMetadata() *common.Metadata { @@ -8133,7 +8306,7 @@ type EtcdRemoveMemberByIDResponse struct { func (x *EtcdRemoveMemberByIDResponse) Reset() { *x = EtcdRemoveMemberByIDResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[109] + mi := &file_machine_machine_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8146,7 +8319,7 @@ func (x *EtcdRemoveMemberByIDResponse) String() string { func (*EtcdRemoveMemberByIDResponse) ProtoMessage() {} func (x *EtcdRemoveMemberByIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[109] + mi := &file_machine_machine_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8159,7 +8332,7 @@ func (x *EtcdRemoveMemberByIDResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdRemoveMemberByIDResponse.ProtoReflect.Descriptor instead. func (*EtcdRemoveMemberByIDResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{109} + return file_machine_machine_proto_rawDescGZIP(), []int{112} } func (x *EtcdRemoveMemberByIDResponse) GetMessages() []*EtcdRemoveMemberByID { @@ -8178,7 +8351,7 @@ type EtcdForfeitLeadershipRequest struct { func (x *EtcdForfeitLeadershipRequest) Reset() { *x = EtcdForfeitLeadershipRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[110] + mi := &file_machine_machine_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8191,7 +8364,7 @@ func (x *EtcdForfeitLeadershipRequest) String() string { func (*EtcdForfeitLeadershipRequest) ProtoMessage() {} func (x *EtcdForfeitLeadershipRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[110] + mi := &file_machine_machine_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8204,7 +8377,7 @@ func (x *EtcdForfeitLeadershipRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdForfeitLeadershipRequest.ProtoReflect.Descriptor instead. func (*EtcdForfeitLeadershipRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{110} + return file_machine_machine_proto_rawDescGZIP(), []int{113} } type EtcdForfeitLeadership struct { @@ -8219,7 +8392,7 @@ type EtcdForfeitLeadership struct { func (x *EtcdForfeitLeadership) Reset() { *x = EtcdForfeitLeadership{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[111] + mi := &file_machine_machine_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8232,7 +8405,7 @@ func (x *EtcdForfeitLeadership) String() string { func (*EtcdForfeitLeadership) ProtoMessage() {} func (x *EtcdForfeitLeadership) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[111] + mi := &file_machine_machine_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8245,7 +8418,7 @@ func (x *EtcdForfeitLeadership) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdForfeitLeadership.ProtoReflect.Descriptor instead. func (*EtcdForfeitLeadership) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{111} + return file_machine_machine_proto_rawDescGZIP(), []int{114} } func (x *EtcdForfeitLeadership) GetMetadata() *common.Metadata { @@ -8273,7 +8446,7 @@ type EtcdForfeitLeadershipResponse struct { func (x *EtcdForfeitLeadershipResponse) Reset() { *x = EtcdForfeitLeadershipResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[112] + mi := &file_machine_machine_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8286,7 +8459,7 @@ func (x *EtcdForfeitLeadershipResponse) String() string { func (*EtcdForfeitLeadershipResponse) ProtoMessage() {} func (x *EtcdForfeitLeadershipResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[112] + mi := &file_machine_machine_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8299,7 +8472,7 @@ func (x *EtcdForfeitLeadershipResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdForfeitLeadershipResponse.ProtoReflect.Descriptor instead. func (*EtcdForfeitLeadershipResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{112} + return file_machine_machine_proto_rawDescGZIP(), []int{115} } func (x *EtcdForfeitLeadershipResponse) GetMessages() []*EtcdForfeitLeadership { @@ -8320,7 +8493,7 @@ type EtcdMemberListRequest struct { func (x *EtcdMemberListRequest) Reset() { *x = EtcdMemberListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[113] + mi := &file_machine_machine_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8333,7 +8506,7 @@ func (x *EtcdMemberListRequest) String() string { func (*EtcdMemberListRequest) ProtoMessage() {} func (x *EtcdMemberListRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[113] + mi := &file_machine_machine_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8346,7 +8519,7 @@ func (x *EtcdMemberListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdMemberListRequest.ProtoReflect.Descriptor instead. func (*EtcdMemberListRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{113} + return file_machine_machine_proto_rawDescGZIP(), []int{116} } func (x *EtcdMemberListRequest) GetQueryLocal() bool { @@ -8377,7 +8550,7 @@ type EtcdMember struct { func (x *EtcdMember) Reset() { *x = EtcdMember{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[114] + mi := &file_machine_machine_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8390,7 +8563,7 @@ func (x *EtcdMember) String() string { func (*EtcdMember) ProtoMessage() {} func (x *EtcdMember) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[114] + mi := &file_machine_machine_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8403,7 +8576,7 @@ func (x *EtcdMember) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdMember.ProtoReflect.Descriptor instead. func (*EtcdMember) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{114} + return file_machine_machine_proto_rawDescGZIP(), []int{117} } func (x *EtcdMember) GetId() uint64 { @@ -8457,7 +8630,7 @@ type EtcdMembers struct { func (x *EtcdMembers) Reset() { *x = EtcdMembers{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[115] + mi := &file_machine_machine_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8470,7 +8643,7 @@ func (x *EtcdMembers) String() string { func (*EtcdMembers) ProtoMessage() {} func (x *EtcdMembers) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[115] + mi := &file_machine_machine_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8483,7 +8656,7 @@ func (x *EtcdMembers) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdMembers.ProtoReflect.Descriptor instead. func (*EtcdMembers) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{115} + return file_machine_machine_proto_rawDescGZIP(), []int{118} } func (x *EtcdMembers) GetMetadata() *common.Metadata { @@ -8518,7 +8691,7 @@ type EtcdMemberListResponse struct { func (x *EtcdMemberListResponse) Reset() { *x = EtcdMemberListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[116] + mi := &file_machine_machine_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8531,7 +8704,7 @@ func (x *EtcdMemberListResponse) String() string { func (*EtcdMemberListResponse) ProtoMessage() {} func (x *EtcdMemberListResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[116] + mi := &file_machine_machine_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8544,7 +8717,7 @@ func (x *EtcdMemberListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdMemberListResponse.ProtoReflect.Descriptor instead. func (*EtcdMemberListResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{116} + return file_machine_machine_proto_rawDescGZIP(), []int{119} } func (x *EtcdMemberListResponse) GetMessages() []*EtcdMembers { @@ -8563,7 +8736,7 @@ type EtcdSnapshotRequest struct { func (x *EtcdSnapshotRequest) Reset() { *x = EtcdSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[117] + mi := &file_machine_machine_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8576,7 +8749,7 @@ func (x *EtcdSnapshotRequest) String() string { func (*EtcdSnapshotRequest) ProtoMessage() {} func (x *EtcdSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[117] + mi := &file_machine_machine_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8589,7 +8762,7 @@ func (x *EtcdSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdSnapshotRequest.ProtoReflect.Descriptor instead. func (*EtcdSnapshotRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{117} + return file_machine_machine_proto_rawDescGZIP(), []int{120} } type EtcdRecover struct { @@ -8603,7 +8776,7 @@ type EtcdRecover struct { func (x *EtcdRecover) Reset() { *x = EtcdRecover{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[118] + mi := &file_machine_machine_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8616,7 +8789,7 @@ func (x *EtcdRecover) String() string { func (*EtcdRecover) ProtoMessage() {} func (x *EtcdRecover) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[118] + mi := &file_machine_machine_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8629,7 +8802,7 @@ func (x *EtcdRecover) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdRecover.ProtoReflect.Descriptor instead. func (*EtcdRecover) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{118} + return file_machine_machine_proto_rawDescGZIP(), []int{121} } func (x *EtcdRecover) GetMetadata() *common.Metadata { @@ -8650,7 +8823,7 @@ type EtcdRecoverResponse struct { func (x *EtcdRecoverResponse) Reset() { *x = EtcdRecoverResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[119] + mi := &file_machine_machine_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8663,7 +8836,7 @@ func (x *EtcdRecoverResponse) String() string { func (*EtcdRecoverResponse) ProtoMessage() {} func (x *EtcdRecoverResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[119] + mi := &file_machine_machine_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8676,7 +8849,7 @@ func (x *EtcdRecoverResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdRecoverResponse.ProtoReflect.Descriptor instead. func (*EtcdRecoverResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{119} + return file_machine_machine_proto_rawDescGZIP(), []int{122} } func (x *EtcdRecoverResponse) GetMessages() []*EtcdRecover { @@ -8697,7 +8870,7 @@ type EtcdAlarmListResponse struct { func (x *EtcdAlarmListResponse) Reset() { *x = EtcdAlarmListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[120] + mi := &file_machine_machine_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8710,7 +8883,7 @@ func (x *EtcdAlarmListResponse) String() string { func (*EtcdAlarmListResponse) ProtoMessage() {} func (x *EtcdAlarmListResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[120] + mi := &file_machine_machine_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8723,7 +8896,7 @@ func (x *EtcdAlarmListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdAlarmListResponse.ProtoReflect.Descriptor instead. func (*EtcdAlarmListResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{120} + return file_machine_machine_proto_rawDescGZIP(), []int{123} } func (x *EtcdAlarmListResponse) GetMessages() []*EtcdAlarm { @@ -8745,7 +8918,7 @@ type EtcdAlarm struct { func (x *EtcdAlarm) Reset() { *x = EtcdAlarm{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[121] + mi := &file_machine_machine_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8758,7 +8931,7 @@ func (x *EtcdAlarm) String() string { func (*EtcdAlarm) ProtoMessage() {} func (x *EtcdAlarm) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[121] + mi := &file_machine_machine_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8771,7 +8944,7 @@ func (x *EtcdAlarm) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdAlarm.ProtoReflect.Descriptor instead. func (*EtcdAlarm) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{121} + return file_machine_machine_proto_rawDescGZIP(), []int{124} } func (x *EtcdAlarm) GetMetadata() *common.Metadata { @@ -8800,7 +8973,7 @@ type EtcdMemberAlarm struct { func (x *EtcdMemberAlarm) Reset() { *x = EtcdMemberAlarm{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[122] + mi := &file_machine_machine_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8813,7 +8986,7 @@ func (x *EtcdMemberAlarm) String() string { func (*EtcdMemberAlarm) ProtoMessage() {} func (x *EtcdMemberAlarm) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[122] + mi := &file_machine_machine_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8826,7 +8999,7 @@ func (x *EtcdMemberAlarm) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdMemberAlarm.ProtoReflect.Descriptor instead. func (*EtcdMemberAlarm) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{122} + return file_machine_machine_proto_rawDescGZIP(), []int{125} } func (x *EtcdMemberAlarm) GetMemberId() uint64 { @@ -8854,7 +9027,7 @@ type EtcdAlarmDisarmResponse struct { func (x *EtcdAlarmDisarmResponse) Reset() { *x = EtcdAlarmDisarmResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[123] + mi := &file_machine_machine_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8867,7 +9040,7 @@ func (x *EtcdAlarmDisarmResponse) String() string { func (*EtcdAlarmDisarmResponse) ProtoMessage() {} func (x *EtcdAlarmDisarmResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[123] + mi := &file_machine_machine_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8880,7 +9053,7 @@ func (x *EtcdAlarmDisarmResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdAlarmDisarmResponse.ProtoReflect.Descriptor instead. func (*EtcdAlarmDisarmResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{123} + return file_machine_machine_proto_rawDescGZIP(), []int{126} } func (x *EtcdAlarmDisarmResponse) GetMessages() []*EtcdAlarmDisarm { @@ -8902,7 +9075,7 @@ type EtcdAlarmDisarm struct { func (x *EtcdAlarmDisarm) Reset() { *x = EtcdAlarmDisarm{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[124] + mi := &file_machine_machine_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8915,7 +9088,7 @@ func (x *EtcdAlarmDisarm) String() string { func (*EtcdAlarmDisarm) ProtoMessage() {} func (x *EtcdAlarmDisarm) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[124] + mi := &file_machine_machine_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8928,7 +9101,7 @@ func (x *EtcdAlarmDisarm) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdAlarmDisarm.ProtoReflect.Descriptor instead. func (*EtcdAlarmDisarm) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{124} + return file_machine_machine_proto_rawDescGZIP(), []int{127} } func (x *EtcdAlarmDisarm) GetMetadata() *common.Metadata { @@ -8956,7 +9129,7 @@ type EtcdDefragmentResponse struct { func (x *EtcdDefragmentResponse) Reset() { *x = EtcdDefragmentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[125] + mi := &file_machine_machine_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8969,7 +9142,7 @@ func (x *EtcdDefragmentResponse) String() string { func (*EtcdDefragmentResponse) ProtoMessage() {} func (x *EtcdDefragmentResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[125] + mi := &file_machine_machine_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8982,7 +9155,7 @@ func (x *EtcdDefragmentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdDefragmentResponse.ProtoReflect.Descriptor instead. func (*EtcdDefragmentResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{125} + return file_machine_machine_proto_rawDescGZIP(), []int{128} } func (x *EtcdDefragmentResponse) GetMessages() []*EtcdDefragment { @@ -9003,7 +9176,7 @@ type EtcdDefragment struct { func (x *EtcdDefragment) Reset() { *x = EtcdDefragment{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[126] + mi := &file_machine_machine_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9016,7 +9189,7 @@ func (x *EtcdDefragment) String() string { func (*EtcdDefragment) ProtoMessage() {} func (x *EtcdDefragment) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[126] + mi := &file_machine_machine_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9029,7 +9202,7 @@ func (x *EtcdDefragment) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdDefragment.ProtoReflect.Descriptor instead. func (*EtcdDefragment) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{126} + return file_machine_machine_proto_rawDescGZIP(), []int{129} } func (x *EtcdDefragment) GetMetadata() *common.Metadata { @@ -9050,7 +9223,7 @@ type EtcdStatusResponse struct { func (x *EtcdStatusResponse) Reset() { *x = EtcdStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[127] + mi := &file_machine_machine_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9063,7 +9236,7 @@ func (x *EtcdStatusResponse) String() string { func (*EtcdStatusResponse) ProtoMessage() {} func (x *EtcdStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[127] + mi := &file_machine_machine_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9076,7 +9249,7 @@ func (x *EtcdStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdStatusResponse.ProtoReflect.Descriptor instead. func (*EtcdStatusResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{127} + return file_machine_machine_proto_rawDescGZIP(), []int{130} } func (x *EtcdStatusResponse) GetMessages() []*EtcdStatus { @@ -9098,7 +9271,7 @@ type EtcdStatus struct { func (x *EtcdStatus) Reset() { *x = EtcdStatus{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[128] + mi := &file_machine_machine_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9111,7 +9284,7 @@ func (x *EtcdStatus) String() string { func (*EtcdStatus) ProtoMessage() {} func (x *EtcdStatus) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[128] + mi := &file_machine_machine_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9124,7 +9297,7 @@ func (x *EtcdStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdStatus.ProtoReflect.Descriptor instead. func (*EtcdStatus) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{128} + return file_machine_machine_proto_rawDescGZIP(), []int{131} } func (x *EtcdStatus) GetMetadata() *common.Metadata { @@ -9161,7 +9334,7 @@ type EtcdMemberStatus struct { func (x *EtcdMemberStatus) Reset() { *x = EtcdMemberStatus{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[129] + mi := &file_machine_machine_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9174,7 +9347,7 @@ func (x *EtcdMemberStatus) String() string { func (*EtcdMemberStatus) ProtoMessage() {} func (x *EtcdMemberStatus) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[129] + mi := &file_machine_machine_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9187,7 +9360,7 @@ func (x *EtcdMemberStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use EtcdMemberStatus.ProtoReflect.Descriptor instead. func (*EtcdMemberStatus) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{129} + return file_machine_machine_proto_rawDescGZIP(), []int{132} } func (x *EtcdMemberStatus) GetMemberId() uint64 { @@ -9273,7 +9446,7 @@ type RouteConfig struct { func (x *RouteConfig) Reset() { *x = RouteConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[130] + mi := &file_machine_machine_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9286,7 +9459,7 @@ func (x *RouteConfig) String() string { func (*RouteConfig) ProtoMessage() {} func (x *RouteConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[130] + mi := &file_machine_machine_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9299,7 +9472,7 @@ func (x *RouteConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use RouteConfig.ProtoReflect.Descriptor instead. func (*RouteConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{130} + return file_machine_machine_proto_rawDescGZIP(), []int{133} } func (x *RouteConfig) GetNetwork() string { @@ -9334,7 +9507,7 @@ type DHCPOptionsConfig struct { func (x *DHCPOptionsConfig) Reset() { *x = DHCPOptionsConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[131] + mi := &file_machine_machine_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9347,7 +9520,7 @@ func (x *DHCPOptionsConfig) String() string { func (*DHCPOptionsConfig) ProtoMessage() {} func (x *DHCPOptionsConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[131] + mi := &file_machine_machine_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9360,7 +9533,7 @@ func (x *DHCPOptionsConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use DHCPOptionsConfig.ProtoReflect.Descriptor instead. func (*DHCPOptionsConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{131} + return file_machine_machine_proto_rawDescGZIP(), []int{134} } func (x *DHCPOptionsConfig) GetRouteMetric() uint32 { @@ -9387,7 +9560,7 @@ type NetworkDeviceConfig struct { func (x *NetworkDeviceConfig) Reset() { *x = NetworkDeviceConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[132] + mi := &file_machine_machine_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9400,7 +9573,7 @@ func (x *NetworkDeviceConfig) String() string { func (*NetworkDeviceConfig) ProtoMessage() {} func (x *NetworkDeviceConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[132] + mi := &file_machine_machine_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9413,7 +9586,7 @@ func (x *NetworkDeviceConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkDeviceConfig.ProtoReflect.Descriptor instead. func (*NetworkDeviceConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{132} + return file_machine_machine_proto_rawDescGZIP(), []int{135} } func (x *NetworkDeviceConfig) GetInterface() string { @@ -9477,7 +9650,7 @@ type NetworkConfig struct { func (x *NetworkConfig) Reset() { *x = NetworkConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[133] + mi := &file_machine_machine_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9490,7 +9663,7 @@ func (x *NetworkConfig) String() string { func (*NetworkConfig) ProtoMessage() {} func (x *NetworkConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[133] + mi := &file_machine_machine_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9503,7 +9676,7 @@ func (x *NetworkConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkConfig.ProtoReflect.Descriptor instead. func (*NetworkConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{133} + return file_machine_machine_proto_rawDescGZIP(), []int{136} } func (x *NetworkConfig) GetHostname() string { @@ -9532,7 +9705,7 @@ type InstallConfig struct { func (x *InstallConfig) Reset() { *x = InstallConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[134] + mi := &file_machine_machine_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9545,7 +9718,7 @@ func (x *InstallConfig) String() string { func (*InstallConfig) ProtoMessage() {} func (x *InstallConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[134] + mi := &file_machine_machine_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9558,7 +9731,7 @@ func (x *InstallConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use InstallConfig.ProtoReflect.Descriptor instead. func (*InstallConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{134} + return file_machine_machine_proto_rawDescGZIP(), []int{137} } func (x *InstallConfig) GetInstallDisk() string { @@ -9589,7 +9762,7 @@ type MachineConfig struct { func (x *MachineConfig) Reset() { *x = MachineConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[135] + mi := &file_machine_machine_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9602,7 +9775,7 @@ func (x *MachineConfig) String() string { func (*MachineConfig) ProtoMessage() {} func (x *MachineConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[135] + mi := &file_machine_machine_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9615,7 +9788,7 @@ func (x *MachineConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineConfig.ProtoReflect.Descriptor instead. func (*MachineConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{135} + return file_machine_machine_proto_rawDescGZIP(), []int{138} } func (x *MachineConfig) GetType() MachineConfig_MachineType { @@ -9657,7 +9830,7 @@ type ControlPlaneConfig struct { func (x *ControlPlaneConfig) Reset() { *x = ControlPlaneConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[136] + mi := &file_machine_machine_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9670,7 +9843,7 @@ func (x *ControlPlaneConfig) String() string { func (*ControlPlaneConfig) ProtoMessage() {} func (x *ControlPlaneConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[136] + mi := &file_machine_machine_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9683,7 +9856,7 @@ func (x *ControlPlaneConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ControlPlaneConfig.ProtoReflect.Descriptor instead. func (*ControlPlaneConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{136} + return file_machine_machine_proto_rawDescGZIP(), []int{139} } func (x *ControlPlaneConfig) GetEndpoint() string { @@ -9705,7 +9878,7 @@ type CNIConfig struct { func (x *CNIConfig) Reset() { *x = CNIConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[137] + mi := &file_machine_machine_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9718,7 +9891,7 @@ func (x *CNIConfig) String() string { func (*CNIConfig) ProtoMessage() {} func (x *CNIConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[137] + mi := &file_machine_machine_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9731,7 +9904,7 @@ func (x *CNIConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use CNIConfig.ProtoReflect.Descriptor instead. func (*CNIConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{137} + return file_machine_machine_proto_rawDescGZIP(), []int{140} } func (x *CNIConfig) GetName() string { @@ -9760,7 +9933,7 @@ type ClusterNetworkConfig struct { func (x *ClusterNetworkConfig) Reset() { *x = ClusterNetworkConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[138] + mi := &file_machine_machine_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9773,7 +9946,7 @@ func (x *ClusterNetworkConfig) String() string { func (*ClusterNetworkConfig) ProtoMessage() {} func (x *ClusterNetworkConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[138] + mi := &file_machine_machine_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9786,7 +9959,7 @@ func (x *ClusterNetworkConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ClusterNetworkConfig.ProtoReflect.Descriptor instead. func (*ClusterNetworkConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{138} + return file_machine_machine_proto_rawDescGZIP(), []int{141} } func (x *ClusterNetworkConfig) GetDnsDomain() string { @@ -9817,7 +9990,7 @@ type ClusterConfig struct { func (x *ClusterConfig) Reset() { *x = ClusterConfig{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[139] + mi := &file_machine_machine_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9830,7 +10003,7 @@ func (x *ClusterConfig) String() string { func (*ClusterConfig) ProtoMessage() {} func (x *ClusterConfig) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[139] + mi := &file_machine_machine_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9843,7 +10016,7 @@ func (x *ClusterConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ClusterConfig.ProtoReflect.Descriptor instead. func (*ClusterConfig) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{139} + return file_machine_machine_proto_rawDescGZIP(), []int{142} } func (x *ClusterConfig) GetName() string { @@ -9890,7 +10063,7 @@ type GenerateConfigurationRequest struct { func (x *GenerateConfigurationRequest) Reset() { *x = GenerateConfigurationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[140] + mi := &file_machine_machine_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9903,7 +10076,7 @@ func (x *GenerateConfigurationRequest) String() string { func (*GenerateConfigurationRequest) ProtoMessage() {} func (x *GenerateConfigurationRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[140] + mi := &file_machine_machine_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9916,7 +10089,7 @@ func (x *GenerateConfigurationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateConfigurationRequest.ProtoReflect.Descriptor instead. func (*GenerateConfigurationRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{140} + return file_machine_machine_proto_rawDescGZIP(), []int{143} } func (x *GenerateConfigurationRequest) GetConfigVersion() string { @@ -9961,7 +10134,7 @@ type GenerateConfiguration struct { func (x *GenerateConfiguration) Reset() { *x = GenerateConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[141] + mi := &file_machine_machine_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9974,7 +10147,7 @@ func (x *GenerateConfiguration) String() string { func (*GenerateConfiguration) ProtoMessage() {} func (x *GenerateConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[141] + mi := &file_machine_machine_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9987,7 +10160,7 @@ func (x *GenerateConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateConfiguration.ProtoReflect.Descriptor instead. func (*GenerateConfiguration) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{141} + return file_machine_machine_proto_rawDescGZIP(), []int{144} } func (x *GenerateConfiguration) GetMetadata() *common.Metadata { @@ -10022,7 +10195,7 @@ type GenerateConfigurationResponse struct { func (x *GenerateConfigurationResponse) Reset() { *x = GenerateConfigurationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[142] + mi := &file_machine_machine_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10035,7 +10208,7 @@ func (x *GenerateConfigurationResponse) String() string { func (*GenerateConfigurationResponse) ProtoMessage() {} func (x *GenerateConfigurationResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[142] + mi := &file_machine_machine_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10048,7 +10221,7 @@ func (x *GenerateConfigurationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateConfigurationResponse.ProtoReflect.Descriptor instead. func (*GenerateConfigurationResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{142} + return file_machine_machine_proto_rawDescGZIP(), []int{145} } func (x *GenerateConfigurationResponse) GetMessages() []*GenerateConfiguration { @@ -10072,7 +10245,7 @@ type GenerateClientConfigurationRequest struct { func (x *GenerateClientConfigurationRequest) Reset() { *x = GenerateClientConfigurationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[143] + mi := &file_machine_machine_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10085,7 +10258,7 @@ func (x *GenerateClientConfigurationRequest) String() string { func (*GenerateClientConfigurationRequest) ProtoMessage() {} func (x *GenerateClientConfigurationRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[143] + mi := &file_machine_machine_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10098,7 +10271,7 @@ func (x *GenerateClientConfigurationRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GenerateClientConfigurationRequest.ProtoReflect.Descriptor instead. func (*GenerateClientConfigurationRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{143} + return file_machine_machine_proto_rawDescGZIP(), []int{146} } func (x *GenerateClientConfigurationRequest) GetRoles() []string { @@ -10134,7 +10307,7 @@ type GenerateClientConfiguration struct { func (x *GenerateClientConfiguration) Reset() { *x = GenerateClientConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[144] + mi := &file_machine_machine_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10147,7 +10320,7 @@ func (x *GenerateClientConfiguration) String() string { func (*GenerateClientConfiguration) ProtoMessage() {} func (x *GenerateClientConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[144] + mi := &file_machine_machine_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10160,7 +10333,7 @@ func (x *GenerateClientConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateClientConfiguration.ProtoReflect.Descriptor instead. func (*GenerateClientConfiguration) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{144} + return file_machine_machine_proto_rawDescGZIP(), []int{147} } func (x *GenerateClientConfiguration) GetMetadata() *common.Metadata { @@ -10209,7 +10382,7 @@ type GenerateClientConfigurationResponse struct { func (x *GenerateClientConfigurationResponse) Reset() { *x = GenerateClientConfigurationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[145] + mi := &file_machine_machine_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10222,7 +10395,7 @@ func (x *GenerateClientConfigurationResponse) String() string { func (*GenerateClientConfigurationResponse) ProtoMessage() {} func (x *GenerateClientConfigurationResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[145] + mi := &file_machine_machine_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10235,7 +10408,7 @@ func (x *GenerateClientConfigurationResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use GenerateClientConfigurationResponse.ProtoReflect.Descriptor instead. func (*GenerateClientConfigurationResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{145} + return file_machine_machine_proto_rawDescGZIP(), []int{148} } func (x *GenerateClientConfigurationResponse) GetMessages() []*GenerateClientConfiguration { @@ -10263,7 +10436,7 @@ type PacketCaptureRequest struct { func (x *PacketCaptureRequest) Reset() { *x = PacketCaptureRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[146] + mi := &file_machine_machine_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10276,7 +10449,7 @@ func (x *PacketCaptureRequest) String() string { func (*PacketCaptureRequest) ProtoMessage() {} func (x *PacketCaptureRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[146] + mi := &file_machine_machine_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10289,7 +10462,7 @@ func (x *PacketCaptureRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PacketCaptureRequest.ProtoReflect.Descriptor instead. func (*PacketCaptureRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{146} + return file_machine_machine_proto_rawDescGZIP(), []int{149} } func (x *PacketCaptureRequest) GetInterface() string { @@ -10334,7 +10507,7 @@ type BPFInstruction struct { func (x *BPFInstruction) Reset() { *x = BPFInstruction{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[147] + mi := &file_machine_machine_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10347,7 +10520,7 @@ func (x *BPFInstruction) String() string { func (*BPFInstruction) ProtoMessage() {} func (x *BPFInstruction) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[147] + mi := &file_machine_machine_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10360,7 +10533,7 @@ func (x *BPFInstruction) ProtoReflect() protoreflect.Message { // Deprecated: Use BPFInstruction.ProtoReflect.Descriptor instead. func (*BPFInstruction) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{147} + return file_machine_machine_proto_rawDescGZIP(), []int{150} } func (x *BPFInstruction) GetOp() uint32 { @@ -10405,7 +10578,7 @@ type NetstatRequest struct { func (x *NetstatRequest) Reset() { *x = NetstatRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[148] + mi := &file_machine_machine_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10418,7 +10591,7 @@ func (x *NetstatRequest) String() string { func (*NetstatRequest) ProtoMessage() {} func (x *NetstatRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[148] + mi := &file_machine_machine_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10431,7 +10604,7 @@ func (x *NetstatRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NetstatRequest.ProtoReflect.Descriptor instead. func (*NetstatRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{148} + return file_machine_machine_proto_rawDescGZIP(), []int{151} } func (x *NetstatRequest) GetFilter() NetstatRequest_Filter { @@ -10490,7 +10663,7 @@ type ConnectRecord struct { func (x *ConnectRecord) Reset() { *x = ConnectRecord{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[149] + mi := &file_machine_machine_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10503,7 +10676,7 @@ func (x *ConnectRecord) String() string { func (*ConnectRecord) ProtoMessage() {} func (x *ConnectRecord) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[149] + mi := &file_machine_machine_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10516,7 +10689,7 @@ func (x *ConnectRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectRecord.ProtoReflect.Descriptor instead. func (*ConnectRecord) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{149} + return file_machine_machine_proto_rawDescGZIP(), []int{152} } func (x *ConnectRecord) GetL4Proto() string { @@ -10657,7 +10830,7 @@ type Netstat struct { func (x *Netstat) Reset() { *x = Netstat{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[150] + mi := &file_machine_machine_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10670,7 +10843,7 @@ func (x *Netstat) String() string { func (*Netstat) ProtoMessage() {} func (x *Netstat) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[150] + mi := &file_machine_machine_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10683,7 +10856,7 @@ func (x *Netstat) ProtoReflect() protoreflect.Message { // Deprecated: Use Netstat.ProtoReflect.Descriptor instead. func (*Netstat) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{150} + return file_machine_machine_proto_rawDescGZIP(), []int{153} } func (x *Netstat) GetMetadata() *common.Metadata { @@ -10711,7 +10884,7 @@ type NetstatResponse struct { func (x *NetstatResponse) Reset() { *x = NetstatResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[151] + mi := &file_machine_machine_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10724,7 +10897,7 @@ func (x *NetstatResponse) String() string { func (*NetstatResponse) ProtoMessage() {} func (x *NetstatResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[151] + mi := &file_machine_machine_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10737,7 +10910,7 @@ func (x *NetstatResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NetstatResponse.ProtoReflect.Descriptor instead. func (*NetstatResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{151} + return file_machine_machine_proto_rawDescGZIP(), []int{154} } func (x *NetstatResponse) GetMessages() []*Netstat { @@ -10759,7 +10932,7 @@ type MetaWriteRequest struct { func (x *MetaWriteRequest) Reset() { *x = MetaWriteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[152] + mi := &file_machine_machine_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10772,7 +10945,7 @@ func (x *MetaWriteRequest) String() string { func (*MetaWriteRequest) ProtoMessage() {} func (x *MetaWriteRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[152] + mi := &file_machine_machine_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10785,7 +10958,7 @@ func (x *MetaWriteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaWriteRequest.ProtoReflect.Descriptor instead. func (*MetaWriteRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{152} + return file_machine_machine_proto_rawDescGZIP(), []int{155} } func (x *MetaWriteRequest) GetKey() uint32 { @@ -10813,7 +10986,7 @@ type MetaWrite struct { func (x *MetaWrite) Reset() { *x = MetaWrite{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[153] + mi := &file_machine_machine_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10826,7 +10999,7 @@ func (x *MetaWrite) String() string { func (*MetaWrite) ProtoMessage() {} func (x *MetaWrite) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[153] + mi := &file_machine_machine_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10839,7 +11012,7 @@ func (x *MetaWrite) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaWrite.ProtoReflect.Descriptor instead. func (*MetaWrite) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{153} + return file_machine_machine_proto_rawDescGZIP(), []int{156} } func (x *MetaWrite) GetMetadata() *common.Metadata { @@ -10860,7 +11033,7 @@ type MetaWriteResponse struct { func (x *MetaWriteResponse) Reset() { *x = MetaWriteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[154] + mi := &file_machine_machine_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10873,7 +11046,7 @@ func (x *MetaWriteResponse) String() string { func (*MetaWriteResponse) ProtoMessage() {} func (x *MetaWriteResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[154] + mi := &file_machine_machine_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10886,7 +11059,7 @@ func (x *MetaWriteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaWriteResponse.ProtoReflect.Descriptor instead. func (*MetaWriteResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{154} + return file_machine_machine_proto_rawDescGZIP(), []int{157} } func (x *MetaWriteResponse) GetMessages() []*MetaWrite { @@ -10907,7 +11080,7 @@ type MetaDeleteRequest struct { func (x *MetaDeleteRequest) Reset() { *x = MetaDeleteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[155] + mi := &file_machine_machine_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10920,7 +11093,7 @@ func (x *MetaDeleteRequest) String() string { func (*MetaDeleteRequest) ProtoMessage() {} func (x *MetaDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[155] + mi := &file_machine_machine_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10933,7 +11106,7 @@ func (x *MetaDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaDeleteRequest.ProtoReflect.Descriptor instead. func (*MetaDeleteRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{155} + return file_machine_machine_proto_rawDescGZIP(), []int{158} } func (x *MetaDeleteRequest) GetKey() uint32 { @@ -10954,7 +11127,7 @@ type MetaDelete struct { func (x *MetaDelete) Reset() { *x = MetaDelete{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[156] + mi := &file_machine_machine_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10967,7 +11140,7 @@ func (x *MetaDelete) String() string { func (*MetaDelete) ProtoMessage() {} func (x *MetaDelete) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[156] + mi := &file_machine_machine_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10980,7 +11153,7 @@ func (x *MetaDelete) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaDelete.ProtoReflect.Descriptor instead. func (*MetaDelete) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{156} + return file_machine_machine_proto_rawDescGZIP(), []int{159} } func (x *MetaDelete) GetMetadata() *common.Metadata { @@ -11001,7 +11174,7 @@ type MetaDeleteResponse struct { func (x *MetaDeleteResponse) Reset() { *x = MetaDeleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[157] + mi := &file_machine_machine_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11014,7 +11187,7 @@ func (x *MetaDeleteResponse) String() string { func (*MetaDeleteResponse) ProtoMessage() {} func (x *MetaDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[157] + mi := &file_machine_machine_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11027,7 +11200,7 @@ func (x *MetaDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MetaDeleteResponse.ProtoReflect.Descriptor instead. func (*MetaDeleteResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{157} + return file_machine_machine_proto_rawDescGZIP(), []int{160} } func (x *MetaDeleteResponse) GetMessages() []*MetaDelete { @@ -11049,7 +11222,7 @@ type ImageListRequest struct { func (x *ImageListRequest) Reset() { *x = ImageListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[158] + mi := &file_machine_machine_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11062,7 +11235,7 @@ func (x *ImageListRequest) String() string { func (*ImageListRequest) ProtoMessage() {} func (x *ImageListRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[158] + mi := &file_machine_machine_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11075,7 +11248,7 @@ func (x *ImageListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ImageListRequest.ProtoReflect.Descriptor instead. func (*ImageListRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{158} + return file_machine_machine_proto_rawDescGZIP(), []int{161} } func (x *ImageListRequest) GetNamespace() common.ContainerdNamespace { @@ -11100,7 +11273,7 @@ type ImageListResponse struct { func (x *ImageListResponse) Reset() { *x = ImageListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[159] + mi := &file_machine_machine_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11113,7 +11286,7 @@ func (x *ImageListResponse) String() string { func (*ImageListResponse) ProtoMessage() {} func (x *ImageListResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[159] + mi := &file_machine_machine_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11126,7 +11299,7 @@ func (x *ImageListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ImageListResponse.ProtoReflect.Descriptor instead. func (*ImageListResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{159} + return file_machine_machine_proto_rawDescGZIP(), []int{162} } func (x *ImageListResponse) GetMetadata() *common.Metadata { @@ -11178,7 +11351,7 @@ type ImagePullRequest struct { func (x *ImagePullRequest) Reset() { *x = ImagePullRequest{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[160] + mi := &file_machine_machine_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11191,7 +11364,7 @@ func (x *ImagePullRequest) String() string { func (*ImagePullRequest) ProtoMessage() {} func (x *ImagePullRequest) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[160] + mi := &file_machine_machine_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11204,7 +11377,7 @@ func (x *ImagePullRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ImagePullRequest.ProtoReflect.Descriptor instead. func (*ImagePullRequest) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{160} + return file_machine_machine_proto_rawDescGZIP(), []int{163} } func (x *ImagePullRequest) GetNamespace() common.ContainerdNamespace { @@ -11232,7 +11405,7 @@ type ImagePull struct { func (x *ImagePull) Reset() { *x = ImagePull{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[161] + mi := &file_machine_machine_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11245,7 +11418,7 @@ func (x *ImagePull) String() string { func (*ImagePull) ProtoMessage() {} func (x *ImagePull) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[161] + mi := &file_machine_machine_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11258,7 +11431,7 @@ func (x *ImagePull) ProtoReflect() protoreflect.Message { // Deprecated: Use ImagePull.ProtoReflect.Descriptor instead. func (*ImagePull) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{161} + return file_machine_machine_proto_rawDescGZIP(), []int{164} } func (x *ImagePull) GetMetadata() *common.Metadata { @@ -11279,7 +11452,7 @@ type ImagePullResponse struct { func (x *ImagePullResponse) Reset() { *x = ImagePullResponse{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[162] + mi := &file_machine_machine_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11292,7 +11465,7 @@ func (x *ImagePullResponse) String() string { func (*ImagePullResponse) ProtoMessage() {} func (x *ImagePullResponse) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[162] + mi := &file_machine_machine_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11305,7 +11478,7 @@ func (x *ImagePullResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ImagePullResponse.ProtoReflect.Descriptor instead. func (*ImagePullResponse) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{162} + return file_machine_machine_proto_rawDescGZIP(), []int{165} } func (x *ImagePullResponse) GetMessages() []*ImagePull { @@ -11327,7 +11500,7 @@ type MachineStatusEvent_MachineStatus struct { func (x *MachineStatusEvent_MachineStatus) Reset() { *x = MachineStatusEvent_MachineStatus{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[163] + mi := &file_machine_machine_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11340,7 +11513,7 @@ func (x *MachineStatusEvent_MachineStatus) String() string { func (*MachineStatusEvent_MachineStatus) ProtoMessage() {} func (x *MachineStatusEvent_MachineStatus) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[163] + mi := &file_machine_machine_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11382,7 +11555,7 @@ type MachineStatusEvent_MachineStatus_UnmetCondition struct { func (x *MachineStatusEvent_MachineStatus_UnmetCondition) Reset() { *x = MachineStatusEvent_MachineStatus_UnmetCondition{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[164] + mi := &file_machine_machine_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11395,7 +11568,7 @@ func (x *MachineStatusEvent_MachineStatus_UnmetCondition) String() string { func (*MachineStatusEvent_MachineStatus_UnmetCondition) ProtoMessage() {} func (x *MachineStatusEvent_MachineStatus_UnmetCondition) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[164] + mi := &file_machine_machine_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11436,7 +11609,7 @@ type NetstatRequest_Feature struct { func (x *NetstatRequest_Feature) Reset() { *x = NetstatRequest_Feature{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[165] + mi := &file_machine_machine_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11449,7 +11622,7 @@ func (x *NetstatRequest_Feature) String() string { func (*NetstatRequest_Feature) ProtoMessage() {} func (x *NetstatRequest_Feature) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[165] + mi := &file_machine_machine_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11462,7 +11635,7 @@ func (x *NetstatRequest_Feature) ProtoReflect() protoreflect.Message { // Deprecated: Use NetstatRequest_Feature.ProtoReflect.Descriptor instead. func (*NetstatRequest_Feature) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{148, 0} + return file_machine_machine_proto_rawDescGZIP(), []int{151, 0} } func (x *NetstatRequest_Feature) GetPid() bool { @@ -11490,7 +11663,7 @@ type NetstatRequest_L4Proto struct { func (x *NetstatRequest_L4Proto) Reset() { *x = NetstatRequest_L4Proto{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[166] + mi := &file_machine_machine_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11503,7 +11676,7 @@ func (x *NetstatRequest_L4Proto) String() string { func (*NetstatRequest_L4Proto) ProtoMessage() {} func (x *NetstatRequest_L4Proto) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[166] + mi := &file_machine_machine_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11516,7 +11689,7 @@ func (x *NetstatRequest_L4Proto) ProtoReflect() protoreflect.Message { // Deprecated: Use NetstatRequest_L4Proto.ProtoReflect.Descriptor instead. func (*NetstatRequest_L4Proto) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{148, 1} + return file_machine_machine_proto_rawDescGZIP(), []int{151, 1} } func (x *NetstatRequest_L4Proto) GetTcp() bool { @@ -11588,7 +11761,7 @@ type NetstatRequest_NetNS struct { func (x *NetstatRequest_NetNS) Reset() { *x = NetstatRequest_NetNS{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[167] + mi := &file_machine_machine_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11601,7 +11774,7 @@ func (x *NetstatRequest_NetNS) String() string { func (*NetstatRequest_NetNS) ProtoMessage() {} func (x *NetstatRequest_NetNS) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[167] + mi := &file_machine_machine_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11614,7 +11787,7 @@ func (x *NetstatRequest_NetNS) ProtoReflect() protoreflect.Message { // Deprecated: Use NetstatRequest_NetNS.ProtoReflect.Descriptor instead. func (*NetstatRequest_NetNS) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{148, 2} + return file_machine_machine_proto_rawDescGZIP(), []int{151, 2} } func (x *NetstatRequest_NetNS) GetHostnetwork() bool { @@ -11650,7 +11823,7 @@ type ConnectRecord_Process struct { func (x *ConnectRecord_Process) Reset() { *x = ConnectRecord_Process{} if protoimpl.UnsafeEnabled { - mi := &file_machine_machine_proto_msgTypes[168] + mi := &file_machine_machine_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11663,7 +11836,7 @@ func (x *ConnectRecord_Process) String() string { func (*ConnectRecord_Process) ProtoMessage() {} func (x *ConnectRecord_Process) ProtoReflect() protoreflect.Message { - mi := &file_machine_machine_proto_msgTypes[168] + mi := &file_machine_machine_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11676,7 +11849,7 @@ func (x *ConnectRecord_Process) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectRecord_Process.ProtoReflect.Descriptor instead. func (*ConnectRecord_Process) Descriptor() ([]byte, []int) { - return file_machine_machine_proto_rawDescGZIP(), []int{149, 0} + return file_machine_machine_proto_rawDescGZIP(), []int{152, 0} } func (x *ConnectRecord_Process) GetPid() uint32 { @@ -12466,870 +12639,898 @@ var file_machine_machine_proto_rawDesc = []byte{ 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x63, 0x68, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x68, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x63, 0x75, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x72, 0x63, 0x75, 0x22, 0x40, 0x0a, 0x0f, 0x43, - 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, - 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x50, 0x55, 0x73, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x65, 0x0a, - 0x08, 0x43, 0x50, 0x55, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x63, 0x70, 0x75, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x8b, 0x06, 0x0a, 0x07, 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x1b, - 0x0a, 0x09, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x70, 0x75, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x70, 0x75, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x73, 0x74, 0x65, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, - 0x69, 0x63, 0x72, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x75, - 0x5f, 0x6d, 0x68, 0x7a, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x63, 0x70, 0x75, 0x4d, - 0x68, 0x7a, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, - 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x63, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, 0x63, - 0x6f, 0x72, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x70, 0x75, 0x43, - 0x6f, 0x72, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x26, 0x0a, - 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, - 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x70, 0x75, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x66, 0x70, 0x75, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x70, 0x75, 0x5f, 0x65, - 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x66, 0x70, 0x75, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, - 0x63, 0x70, 0x75, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x70, 0x75, 0x49, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, - 0x0a, 0x02, 0x77, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x77, 0x70, 0x12, 0x14, - 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x75, 0x67, 0x73, 0x18, 0x15, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x04, 0x62, 0x75, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6f, 0x67, 0x6f, - 0x5f, 0x6d, 0x69, 0x70, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x62, 0x6f, 0x67, - 0x6f, 0x4d, 0x69, 0x70, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x6c, 0x5f, 0x66, 0x6c, 0x75, 0x73, - 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, - 0x46, 0x6c, 0x75, 0x73, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x1a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, - 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x52, 0x05, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x22, 0x86, 0x04, 0x0a, 0x06, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x72, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x78, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x72, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78, 0x5f, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x78, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x78, 0x5f, 0x64, 0x72, 0x6f, - 0x70, 0x70, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x78, 0x44, 0x72, - 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x66, 0x69, 0x66, 0x6f, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x72, 0x78, 0x46, 0x69, 0x66, 0x6f, 0x12, 0x19, - 0x0a, 0x08, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x78, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x72, 0x78, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x72, 0x78, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x78, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x74, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x74, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x64, - 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x78, - 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x66, 0x69, - 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x78, 0x46, 0x69, 0x66, 0x6f, - 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x78, 0x43, 0x6f, 0x6c, 0x6c, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x63, 0x61, 0x72, 0x72, - 0x69, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x78, 0x43, 0x61, 0x72, - 0x72, 0x69, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x78, 0x43, - 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x44, 0x69, 0x73, - 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, - 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x8f, - 0x01, 0x0a, 0x09, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x08, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x72, 0x63, 0x75, 0x22, 0x4a, 0x0a, 0x14, 0x43, + 0x50, 0x55, 0x46, 0x72, 0x65, 0x71, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, + 0x43, 0x50, 0x55, 0x73, 0x46, 0x72, 0x65, 0x71, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x7a, 0x0a, 0x0d, 0x43, 0x50, 0x55, 0x73, 0x46, + 0x72, 0x65, 0x71, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0e, 0x63, 0x70, 0x75, 0x5f, 0x66, 0x72, + 0x65, 0x71, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x50, 0x55, 0x46, 0x72, 0x65, 0x71, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, 0x63, 0x70, 0x75, 0x46, 0x72, 0x65, 0x71, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x0c, 0x43, 0x50, 0x55, 0x46, 0x72, 0x65, 0x71, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x66, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2b, + 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x67, + 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, + 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x22, 0x40, 0x0a, 0x0f, 0x43, 0x50, 0x55, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x50, 0x55, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x08, 0x43, 0x50, 0x55, + 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, + 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x63, 0x70, 0x75, 0x49, 0x6e, 0x66, 0x6f, + 0x22, 0x8b, 0x06, 0x0a, 0x07, 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x65, + 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, + 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x70, 0x75, 0x5f, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x70, 0x75, + 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, + 0x74, 0x65, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x74, 0x65, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x69, 0x63, 0x72, 0x6f, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x69, 0x63, 0x72, + 0x6f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x75, 0x5f, 0x6d, 0x68, 0x7a, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x63, 0x70, 0x75, 0x4d, 0x68, 0x7a, 0x12, 0x1d, + 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, + 0x0b, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, + 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x72, + 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x73, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x70, 0x75, 0x43, 0x6f, 0x72, 0x65, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x70, 0x69, 0x63, 0x49, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x70, 0x75, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x66, 0x70, 0x75, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x70, 0x75, 0x45, + 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x70, 0x75, 0x5f, + 0x69, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x63, 0x70, 0x75, 0x49, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x77, 0x70, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x77, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x62, 0x75, 0x67, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x62, 0x75, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6f, 0x67, 0x6f, 0x5f, 0x6d, 0x69, 0x70, + 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x62, 0x6f, 0x67, 0x6f, 0x4d, 0x69, 0x70, + 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x6c, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x46, 0x6c, 0x75, 0x73, + 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x73, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x69, + 0x7a, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, + 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x55, + 0x0a, 0x1a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x08, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x08, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x05, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, - 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x22, 0xd8, 0x04, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, - 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, - 0x65, 0x61, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x72, 0x65, 0x61, 0x64, 0x53, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0c, - 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x27, - 0x0a, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, - 0x22, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x4d, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6f, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6f, 0x49, - 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x0a, 0x69, 0x6f, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, - 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x6f, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x69, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x65, 0x64, 0x4d, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x10, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6d, - 0x65, 0x72, 0x67, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x53, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x45, - 0x74, 0x63, 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x40, 0x0a, 0x10, 0x45, 0x74, 0x63, 0x64, 0x4c, 0x65, - 0x61, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x18, 0x45, 0x74, 0x63, 0x64, - 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x17, 0x45, - 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x40, - 0x0a, 0x10, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x51, 0x0a, 0x18, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x1b, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, - 0x44, 0x0a, 0x14, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x59, 0x0a, 0x1c, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x22, 0x1e, 0x0a, 0x1c, 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x5d, 0x0a, 0x15, 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, - 0x5b, 0x0a, 0x1d, 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, - 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x15, - 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x95, 0x01, 0x0a, 0x0a, 0x45, 0x74, 0x63, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x73, 0x12, - 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x22, 0x91, - 0x01, 0x0a, 0x0b, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2c, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, - 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, - 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x22, 0x4a, 0x0a, 0x16, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x08, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x15, - 0x0a, 0x13, 0x45, 0x74, 0x63, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x0b, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x63, - 0x6f, 0x76, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x22, 0x47, 0x0a, 0x13, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x15, 0x45, - 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x09, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, - 0x6d, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x3d, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, - 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x73, 0x22, 0x99, - 0x01, 0x0a, 0x0f, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, - 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x38, 0x0a, 0x05, 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x2e, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x05, 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x22, 0x2f, 0x0a, 0x09, 0x41, 0x6c, 0x61, - 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, - 0x07, 0x43, 0x4f, 0x52, 0x52, 0x55, 0x50, 0x54, 0x10, 0x02, 0x22, 0x4f, 0x0a, 0x17, 0x45, 0x74, - 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x72, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x72, - 0x6d, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x7e, 0x0a, 0x0f, 0x45, - 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x72, 0x6d, 0x12, 0x2c, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x12, 0x29, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, + 0x44, 0x65, 0x76, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0x86, 0x04, 0x0a, + 0x06, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, + 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, + 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x78, 0x50, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x78, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x78, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x78, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, + 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x66, 0x69, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x72, 0x78, 0x46, 0x69, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x78, + 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x78, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x78, + 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x78, + 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0b, 0x72, 0x78, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x78, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x78, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, + 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x78, 0x44, 0x72, 0x6f, 0x70, + 0x70, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x66, 0x69, 0x66, 0x6f, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x78, 0x46, 0x69, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, + 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x78, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x78, 0x43, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, + 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x78, 0x43, 0x6f, 0x6d, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x09, 0x44, + 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, + 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, + 0x2b, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0xd8, 0x04, 0x0a, + 0x08, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x72, + 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4d, + 0x65, 0x72, 0x67, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x61, + 0x64, 0x53, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, + 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x72, + 0x67, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, + 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x53, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, + 0x24, 0x0a, 0x0e, 0x69, 0x6f, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6f, 0x49, 0x6e, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x0a, 0x69, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6f, 0x54, 0x69, 0x6d, + 0x65, 0x4d, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x10, 0x69, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, + 0x4d, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x64, + 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, + 0x25, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, + 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x53, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x45, 0x74, 0x63, 0x64, 0x4c, + 0x65, 0x61, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0x40, 0x0a, 0x10, 0x45, 0x74, 0x63, 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x18, 0x45, 0x74, 0x63, 0x64, 0x4c, 0x65, 0x61, 0x76, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, + 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x17, 0x45, 0x74, 0x63, 0x64, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x40, 0x0a, 0x10, 0x45, 0x74, + 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x0d, - 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x18, + 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, + 0x3a, 0x0a, 0x1b, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x14, 0x45, + 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, + 0x79, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x59, 0x0a, 0x1c, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, + 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, + 0x49, 0x44, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x1e, 0x0a, 0x1c, + 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5d, 0x0a, 0x15, + 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x5b, 0x0a, 0x1d, 0x45, + 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, + 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x08, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x15, 0x45, 0x74, 0x63, 0x64, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x22, 0x95, 0x01, 0x0a, 0x0a, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, + 0x73, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x69, 0x73, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x45, + 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61, + 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0d, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, + 0x2d, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x4a, + 0x0a, 0x16, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x45, 0x74, + 0x63, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x3b, 0x0a, 0x0b, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x47, + 0x0a, 0x13, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x15, 0x45, 0x74, 0x63, 0x64, 0x41, + 0x6c, 0x61, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, + 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x22, 0x78, 0x0a, 0x09, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x12, 0x2c, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x0d, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, + 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x52, 0x0c, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x45, + 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x61, + 0x6c, 0x61, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, + 0x6c, 0x61, 0x72, 0x6d, 0x2e, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, + 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x22, 0x2f, 0x0a, 0x09, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x4e, 0x4f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x52, + 0x52, 0x55, 0x50, 0x54, 0x10, 0x02, 0x22, 0x4f, 0x0a, 0x17, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, + 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, - 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x52, 0x0c, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x73, 0x22, 0x4d, 0x0a, 0x16, 0x45, - 0x74, 0x63, 0x64, 0x44, 0x65, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x44, 0x65, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x0e, 0x45, 0x74, - 0x63, 0x64, 0x44, 0x65, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x45, 0x0a, 0x12, 0x45, 0x74, - 0x63, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2f, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x22, 0x7a, 0x0a, 0x0a, 0x45, 0x74, 0x63, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, - 0x0d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, - 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd1, 0x02, - 0x0a, 0x10, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x62, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0e, 0x64, 0x62, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x69, - 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x62, 0x53, - 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x55, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x1b, 0x0a, 0x09, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x72, 0x61, 0x66, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x12, 0x2c, 0x0a, 0x12, - 0x72, 0x61, 0x66, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x61, 0x66, 0x74, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, - 0x72, 0x22, 0x59, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x36, 0x0a, 0x11, - 0x44, 0x48, 0x43, 0x50, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x22, 0xf2, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, - 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x10, - 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x68, 0x63, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, - 0x64, 0x68, 0x63, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x3d, 0x0a, 0x0c, - 0x64, 0x68, 0x63, 0x70, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x48, 0x43, - 0x50, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, - 0x64, 0x68, 0x63, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x0d, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, - 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, - 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x73, 0x22, 0x57, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xcd, 0x02, - 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x36, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, - 0x74, 0x65, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x45, 0x52, 0x10, 0x03, 0x22, 0x30, 0x0a, - 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, - 0x33, 0x0a, 0x09, 0x43, 0x4e, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x75, 0x72, 0x6c, 0x73, 0x22, 0x68, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, - 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x64, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x0a, 0x63, - 0x6e, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x4e, 0x49, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x09, 0x63, 0x6e, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf9, - 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, - 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x4a, - 0x0a, 0x22, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, - 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x1c, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x3d, 0x0a, 0x0e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0d, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x3f, 0x0a, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x22, 0x7b, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, + 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x72, 0x6d, 0x52, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x7e, 0x0a, 0x0f, 0x45, 0x74, 0x63, 0x64, 0x41, + 0x6c, 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x72, 0x6d, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, - 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0b, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x5b, - 0x0a, 0x1d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x6e, 0x0a, 0x22, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x63, 0x72, 0x74, 0x5f, 0x74, - 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x63, 0x72, 0x74, 0x54, 0x74, 0x6c, 0x22, 0xa1, 0x01, 0x0a, 0x1b, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08, 0x6d, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x73, 0x22, 0x4d, 0x0a, 0x16, 0x45, 0x74, 0x63, 0x64, 0x44, + 0x65, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, + 0x63, 0x64, 0x44, 0x65, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x0e, 0x45, 0x74, 0x63, 0x64, 0x44, 0x65, + 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x45, 0x0a, 0x12, 0x45, 0x74, 0x63, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x7a, 0x0a, + 0x0a, 0x45, 0x74, 0x63, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x63, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x63, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, - 0x0b, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0b, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, - 0x67, 0x0a, 0x23, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x14, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x63, 0x75, 0x6f, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x63, 0x75, 0x6f, 0x75, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6e, 0x61, 0x70, 0x4c, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x0a, - 0x62, 0x70, 0x66, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x42, 0x50, 0x46, 0x49, 0x6e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x62, 0x70, 0x66, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x22, 0x4e, 0x0a, 0x0e, 0x42, 0x50, 0x46, 0x49, 0x6e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6a, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x02, 0x6a, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6a, 0x66, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x02, 0x6a, 0x66, 0x12, 0x0c, 0x0a, 0x01, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x01, 0x6b, 0x22, 0xd2, 0x04, 0x0a, 0x0e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x10, 0x45, 0x74, + 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x62, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x62, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x23, 0x0a, 0x0e, 0x64, 0x62, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x75, 0x73, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x62, 0x53, 0x69, 0x7a, 0x65, 0x49, + 0x6e, 0x55, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, + 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x61, 0x66, 0x74, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x72, 0x61, 0x66, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x61, 0x66, 0x74, + 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x61, 0x66, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x72, 0x22, 0x59, 0x0a, + 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x36, 0x0a, 0x11, 0x44, 0x48, 0x43, 0x50, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, + 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x22, 0xf2, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, + 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x68, 0x63, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x68, 0x63, 0x70, + 0x12, 0x16, 0x0a, 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x68, 0x63, 0x70, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x48, 0x43, 0x50, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x64, 0x68, 0x63, 0x70, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, + 0x22, 0x57, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x73, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x44, 0x69, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xcd, 0x02, 0x0a, 0x0d, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6b, + 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0x57, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, + 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x01, + 0x12, 0x16, 0x0a, 0x12, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, + 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x45, 0x52, 0x10, 0x03, 0x22, 0x30, 0x0a, 0x12, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x33, 0x0a, 0x09, 0x43, + 0x4e, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x75, 0x72, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, + 0x22, 0x68, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x6e, 0x73, 0x5f, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x6e, + 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6e, 0x69, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x4e, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x09, 0x63, 0x6e, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf9, 0x01, 0x0a, 0x0d, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, + 0x6e, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x4a, 0x0a, 0x22, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, + 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, + 0x0e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x0d, + 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x7b, 0x0a, + 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x61, 0x6c, 0x6f, + 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x74, + 0x61, 0x6c, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x5b, 0x0a, 0x1d, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x6e, 0x0a, 0x22, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, + 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x63, 0x72, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x06, 0x63, 0x72, 0x74, 0x54, 0x74, 0x6c, 0x22, 0xa1, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x02, 0x63, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x03, 0x63, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x61, 0x6c, + 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, + 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x67, 0x0a, 0x23, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x14, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, + 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, + 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x63, 0x75, 0x6f, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x63, 0x75, 0x6f, 0x75, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x73, 0x6e, 0x61, 0x70, 0x4c, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x0a, 0x62, 0x70, 0x66, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x42, 0x50, 0x46, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x62, 0x70, 0x66, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x22, 0x4e, 0x0a, 0x0e, 0x42, 0x50, 0x46, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, + 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x6a, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, + 0x6a, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6a, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, + 0x6a, 0x66, 0x12, 0x0c, 0x0a, 0x01, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x01, 0x6b, + 0x22, 0xd2, 0x04, 0x0a, 0x0e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, + 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x07, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x07, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x6c, 0x34, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, - 0x39, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, - 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x6c, 0x34, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x34, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x6c, 0x34, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x0a, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, - 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x65, - 0x74, 0x4e, 0x53, 0x52, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x1a, 0x1b, 0x0a, 0x07, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x03, 0x70, 0x69, 0x64, 0x1a, 0xb1, 0x01, 0x0a, 0x07, 0x4c, 0x34, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x63, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x03, 0x74, 0x63, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x63, 0x70, 0x36, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x04, 0x74, 0x63, 0x70, 0x36, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x64, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x75, 0x64, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, - 0x64, 0x70, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x64, 0x70, 0x36, 0x12, - 0x18, 0x0a, 0x07, 0x75, 0x64, 0x70, 0x6c, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x75, 0x64, 0x70, 0x6c, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x64, 0x70, - 0x6c, 0x69, 0x74, 0x65, 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x75, 0x64, 0x70, - 0x6c, 0x69, 0x74, 0x65, 0x36, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x77, 0x36, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x72, 0x61, 0x77, 0x36, 0x1a, 0x5b, 0x0a, 0x05, 0x4e, - 0x65, 0x74, 0x4e, 0x53, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x61, 0x6c, 0x6c, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x61, 0x6c, 0x6c, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x22, 0x2f, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, - 0x53, 0x54, 0x45, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0xdc, 0x06, 0x0a, 0x0d, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6c, - 0x34, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x34, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x70, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x70, 0x12, - 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x74, 0x78, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x74, 0x78, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x78, 0x71, 0x75, 0x65, - 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x78, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x12, 0x32, 0x0a, 0x02, 0x74, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x52, 0x02, 0x74, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x77, 0x68, - 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x77, - 0x68, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x74, 0x72, 0x6e, 0x73, 0x6d, 0x74, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x74, 0x72, 0x6e, 0x73, 0x6d, 0x74, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, - 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, - 0x72, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x1a, 0x2f, 0x0a, - 0x07, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xaf, - 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x45, - 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, - 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x59, 0x4e, 0x5f, 0x53, - 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x59, 0x4e, 0x5f, 0x52, 0x45, 0x43, - 0x56, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x31, - 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x32, 0x10, - 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x06, - 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x43, - 0x4c, 0x4f, 0x53, 0x45, 0x57, 0x41, 0x49, 0x54, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x41, - 0x53, 0x54, 0x41, 0x43, 0x4b, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x53, 0x54, 0x45, - 0x4e, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x0b, - 0x22, 0x46, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, - 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0x01, - 0x12, 0x0d, 0x0a, 0x09, 0x4b, 0x45, 0x45, 0x50, 0x41, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, - 0x0c, 0x0a, 0x08, 0x54, 0x49, 0x4d, 0x45, 0x57, 0x41, 0x49, 0x54, 0x10, 0x03, 0x12, 0x09, 0x0a, - 0x05, 0x50, 0x52, 0x4f, 0x42, 0x45, 0x10, 0x04, 0x22, 0x75, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x73, - 0x74, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x72, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, - 0x3f, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, - 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x22, 0x3a, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x39, 0x0a, 0x09, - 0x4d, 0x65, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x61, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x25, 0x0a, 0x11, - 0x4d, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x22, 0x3a, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, - 0x45, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x08, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x10, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x11, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, - 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x22, 0x6b, 0x0a, 0x10, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x22, 0x39, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x2c, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a, 0x11, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x32, 0xc7, 0x1b, 0x0a, 0x0e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x63, + 0x2e, 0x4c, 0x34, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x6c, 0x34, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x33, 0x0a, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, + 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x4e, 0x53, 0x52, + 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x1a, 0x1b, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, + 0x70, 0x69, 0x64, 0x1a, 0xb1, 0x01, 0x0a, 0x07, 0x4c, 0x34, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x10, 0x0a, 0x03, 0x74, 0x63, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x74, 0x63, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x63, 0x70, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x04, 0x74, 0x63, 0x70, 0x36, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x64, 0x70, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x03, 0x75, 0x64, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x64, 0x70, 0x36, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x64, 0x70, 0x36, 0x12, 0x18, 0x0a, 0x07, 0x75, + 0x64, 0x70, 0x6c, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x64, + 0x70, 0x6c, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x64, 0x70, 0x6c, 0x69, 0x74, 0x65, + 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x75, 0x64, 0x70, 0x6c, 0x69, 0x74, 0x65, + 0x36, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, + 0x72, 0x61, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x77, 0x36, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x72, 0x61, 0x77, 0x36, 0x1a, 0x5b, 0x0a, 0x05, 0x4e, 0x65, 0x74, 0x4e, 0x53, + 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x6e, + 0x65, 0x74, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x6e, + 0x65, 0x74, 0x6e, 0x73, 0x22, 0x2f, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x07, + 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x4e, + 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0xdc, 0x06, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x34, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x34, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x78, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x78, 0x71, 0x75, + 0x65, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x78, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x78, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x32, 0x0a, + 0x02, 0x74, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x02, 0x74, + 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x77, 0x68, 0x65, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x74, 0x72, 0x6e, 0x73, 0x6d, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x72, 0x65, 0x74, 0x72, 0x6e, 0x73, 0x6d, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x6f, 0x64, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x72, 0x65, 0x66, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, + 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6e, 0x65, 0x74, 0x6e, 0x73, 0x1a, 0x2f, 0x0a, 0x07, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, + 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x59, 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, + 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x59, 0x4e, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x10, 0x03, 0x12, + 0x0d, 0x0a, 0x09, 0x46, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x31, 0x10, 0x04, 0x12, 0x0d, + 0x0a, 0x09, 0x46, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x32, 0x10, 0x05, 0x12, 0x0d, 0x0a, + 0x09, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, + 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4c, 0x4f, 0x53, 0x45, + 0x57, 0x41, 0x49, 0x54, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x41, 0x53, 0x54, 0x41, 0x43, + 0x4b, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x10, 0x0a, 0x12, + 0x0b, 0x0a, 0x07, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x0b, 0x22, 0x46, 0x0a, 0x0b, + 0x54, 0x69, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x4f, + 0x46, 0x46, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, + 0x4b, 0x45, 0x45, 0x50, 0x41, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x54, + 0x49, 0x4d, 0x45, 0x57, 0x41, 0x49, 0x54, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, + 0x42, 0x45, 0x10, 0x04, 0x22, 0x75, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x12, + 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, + 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0d, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x3f, 0x0a, 0x0f, 0x4e, + 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, + 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, + 0x61, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x10, + 0x4d, 0x65, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x39, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x08, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x25, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x61, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, + 0x3a, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2c, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x45, 0x0a, 0x12, 0x4d, + 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x10, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x11, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, + 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x22, 0x6b, 0x0a, 0x10, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x39, 0x0a, + 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x43, 0x0a, 0x11, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, + 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, + 0x75, 0x6c, 0x6c, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x32, 0x8e, 0x1c, + 0x0a, 0x0e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x5d, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, - 0x74, 0x72, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, - 0x0a, 0x04, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x14, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x07, - 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x44, 0x69, 0x73, - 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x44, 0x6d, - 0x65, 0x73, 0x67, 0x12, 0x15, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x6d, - 0x65, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x32, 0x0a, 0x06, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x51, - 0x0a, 0x0e, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x63, 0x0a, 0x14, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x12, 0x24, 0x2e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x45, 0x74, 0x63, 0x64, 0x4c, 0x65, - 0x61, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x66, 0x0a, 0x15, 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x25, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, - 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x45, 0x74, 0x63, 0x64, 0x52, - 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, - 0x74, 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x28, 0x01, 0x12, 0x3c, 0x0a, 0x0c, 0x45, 0x74, 0x63, 0x64, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, - 0x74, 0x63, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, - 0x30, 0x01, 0x12, 0x47, 0x0a, 0x0d, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0f, 0x45, - 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x72, 0x6d, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x72, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x74, 0x63, 0x64, - 0x44, 0x65, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, - 0x64, 0x44, 0x65, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x45, 0x74, 0x63, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, - 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x48, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, - 0x0a, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x30, 0x01, 0x12, 0x31, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x11, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x30, 0x01, 0x12, 0x40, 0x0a, 0x09, 0x44, 0x69, 0x73, 0x6b, 0x55, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x69, - 0x73, 0x6b, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x55, 0x73, 0x61, - 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x07, 0x4c, 0x6f, 0x61, 0x64, - 0x41, 0x76, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x14, 0x2e, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x30, 0x01, 0x12, 0x49, 0x0a, 0x0e, 0x4c, 0x6f, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, - 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x42, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x19, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x73, 0x12, 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x43, 0x6f, + 0x70, 0x79, 0x12, 0x14, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x6f, 0x70, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x45, 0x0a, 0x0c, 0x43, 0x50, 0x55, 0x46, + 0x72, 0x65, 0x71, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x4d, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x1a, 0x1d, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x50, 0x55, 0x46, 0x72, + 0x65, 0x71, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3b, 0x0a, 0x07, 0x43, 0x50, 0x55, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, - 0x12, 0x14, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, + 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x43, 0x50, 0x55, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, + 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, + 0x05, 0x44, 0x6d, 0x65, 0x73, 0x67, 0x12, 0x15, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x44, 0x6d, 0x65, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x32, 0x0a, + 0x06, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0e, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, + 0x01, 0x12, 0x51, 0x0a, 0x0e, 0x45, 0x74, 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, + 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, + 0x63, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x14, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x12, 0x24, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, + 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x79, 0x49, + 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x45, 0x74, 0x63, + 0x64, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4c, 0x65, 0x61, 0x76, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x4c, 0x65, + 0x61, 0x76, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x66, 0x0a, 0x15, 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, + 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x25, 0x2e, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, + 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, + 0x64, 0x46, 0x6f, 0x72, 0x66, 0x65, 0x69, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x45, 0x74, + 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x3c, 0x0a, 0x0c, 0x45, 0x74, 0x63, 0x64, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x47, 0x0a, 0x0d, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, + 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, + 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, + 0x0a, 0x0f, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x72, + 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x41, 0x6c, 0x61, 0x72, 0x6d, 0x44, 0x69, 0x73, + 0x61, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x45, + 0x74, 0x63, 0x64, 0x44, 0x65, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, + 0x45, 0x74, 0x63, 0x64, 0x44, 0x65, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x45, 0x74, 0x63, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x45, 0x74, 0x63, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x15, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, + 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x34, 0x0a, 0x0a, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x31, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x46, + 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x30, 0x01, 0x12, 0x40, 0x0a, 0x09, 0x44, 0x69, 0x73, + 0x6b, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x55, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x07, 0x4c, + 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, + 0x12, 0x14, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x39, 0x0a, 0x06, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, - 0x12, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x17, 0x2e, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3f, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x2e, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, - 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x36, 0x0a, 0x05, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x49, 0x0a, 0x0e, 0x4c, 0x6f, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x39, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, + 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, - 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, - 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, - 0x1e, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4b, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, - 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x1b, 0x2e, 0x6d, + 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x52, + 0x65, 0x61, 0x64, 0x12, 0x14, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, + 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x39, 0x0a, 0x06, 0x52, 0x65, 0x62, + 0x6f, 0x6f, 0x74, 0x12, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, + 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, + 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x18, + 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x51, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x48, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x12, + 0x1b, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, - 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x68, 0x75, 0x74, 0x64, - 0x6f, 0x77, 0x6e, 0x12, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x68, - 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x12, 0x15, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x41, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x17, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, - 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, + 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x53, 0x68, + 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x68, 0x75, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x12, 0x15, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, + 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x12, 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x78, 0x0a, 0x1b, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2b, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x3c, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x73, - 0x74, 0x61, 0x74, 0x12, 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, - 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x4d, 0x65, - 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x44, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, - 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, - 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x4e, 0x0a, 0x15, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x73, 0x69, 0x64, 0x65, 0x72, 0x6f, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x74, 0x61, 0x6c, 0x6f, - 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1d, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x61, 0x70, + 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 0x12, 0x3c, 0x0a, 0x07, 0x4e, + 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x12, 0x17, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x18, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x73, 0x74, 0x61, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x4d, 0x65, 0x74, + 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, + 0x0a, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x09, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x4e, + 0x0a, 0x15, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x64, 0x65, 0x72, 0x6f, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x74, + 0x61, 0x6c, 0x6f, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x72, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -13345,7 +13546,7 @@ func file_machine_machine_proto_rawDescGZIP() []byte { } var file_machine_machine_proto_enumTypes = make([]protoimpl.EnumInfo, 15) -var file_machine_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 169) +var file_machine_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 172) var file_machine_machine_proto_goTypes = []any{ (ApplyConfigurationRequest_Mode)(0), // 0: machine.ApplyConfigurationRequest.Mode (RebootRequest_Mode)(0), // 1: machine.RebootRequest.Mode @@ -13454,362 +13655,370 @@ var file_machine_machine_proto_goTypes = []any{ (*SystemStat)(nil), // 104: machine.SystemStat (*CPUStat)(nil), // 105: machine.CPUStat (*SoftIRQStat)(nil), // 106: machine.SoftIRQStat - (*CPUInfoResponse)(nil), // 107: machine.CPUInfoResponse - (*CPUsInfo)(nil), // 108: machine.CPUsInfo - (*CPUInfo)(nil), // 109: machine.CPUInfo - (*NetworkDeviceStatsResponse)(nil), // 110: machine.NetworkDeviceStatsResponse - (*NetworkDeviceStats)(nil), // 111: machine.NetworkDeviceStats - (*NetDev)(nil), // 112: machine.NetDev - (*DiskStatsResponse)(nil), // 113: machine.DiskStatsResponse - (*DiskStats)(nil), // 114: machine.DiskStats - (*DiskStat)(nil), // 115: machine.DiskStat - (*EtcdLeaveClusterRequest)(nil), // 116: machine.EtcdLeaveClusterRequest - (*EtcdLeaveCluster)(nil), // 117: machine.EtcdLeaveCluster - (*EtcdLeaveClusterResponse)(nil), // 118: machine.EtcdLeaveClusterResponse - (*EtcdRemoveMemberRequest)(nil), // 119: machine.EtcdRemoveMemberRequest - (*EtcdRemoveMember)(nil), // 120: machine.EtcdRemoveMember - (*EtcdRemoveMemberResponse)(nil), // 121: machine.EtcdRemoveMemberResponse - (*EtcdRemoveMemberByIDRequest)(nil), // 122: machine.EtcdRemoveMemberByIDRequest - (*EtcdRemoveMemberByID)(nil), // 123: machine.EtcdRemoveMemberByID - (*EtcdRemoveMemberByIDResponse)(nil), // 124: machine.EtcdRemoveMemberByIDResponse - (*EtcdForfeitLeadershipRequest)(nil), // 125: machine.EtcdForfeitLeadershipRequest - (*EtcdForfeitLeadership)(nil), // 126: machine.EtcdForfeitLeadership - (*EtcdForfeitLeadershipResponse)(nil), // 127: machine.EtcdForfeitLeadershipResponse - (*EtcdMemberListRequest)(nil), // 128: machine.EtcdMemberListRequest - (*EtcdMember)(nil), // 129: machine.EtcdMember - (*EtcdMembers)(nil), // 130: machine.EtcdMembers - (*EtcdMemberListResponse)(nil), // 131: machine.EtcdMemberListResponse - (*EtcdSnapshotRequest)(nil), // 132: machine.EtcdSnapshotRequest - (*EtcdRecover)(nil), // 133: machine.EtcdRecover - (*EtcdRecoverResponse)(nil), // 134: machine.EtcdRecoverResponse - (*EtcdAlarmListResponse)(nil), // 135: machine.EtcdAlarmListResponse - (*EtcdAlarm)(nil), // 136: machine.EtcdAlarm - (*EtcdMemberAlarm)(nil), // 137: machine.EtcdMemberAlarm - (*EtcdAlarmDisarmResponse)(nil), // 138: machine.EtcdAlarmDisarmResponse - (*EtcdAlarmDisarm)(nil), // 139: machine.EtcdAlarmDisarm - (*EtcdDefragmentResponse)(nil), // 140: machine.EtcdDefragmentResponse - (*EtcdDefragment)(nil), // 141: machine.EtcdDefragment - (*EtcdStatusResponse)(nil), // 142: machine.EtcdStatusResponse - (*EtcdStatus)(nil), // 143: machine.EtcdStatus - (*EtcdMemberStatus)(nil), // 144: machine.EtcdMemberStatus - (*RouteConfig)(nil), // 145: machine.RouteConfig - (*DHCPOptionsConfig)(nil), // 146: machine.DHCPOptionsConfig - (*NetworkDeviceConfig)(nil), // 147: machine.NetworkDeviceConfig - (*NetworkConfig)(nil), // 148: machine.NetworkConfig - (*InstallConfig)(nil), // 149: machine.InstallConfig - (*MachineConfig)(nil), // 150: machine.MachineConfig - (*ControlPlaneConfig)(nil), // 151: machine.ControlPlaneConfig - (*CNIConfig)(nil), // 152: machine.CNIConfig - (*ClusterNetworkConfig)(nil), // 153: machine.ClusterNetworkConfig - (*ClusterConfig)(nil), // 154: machine.ClusterConfig - (*GenerateConfigurationRequest)(nil), // 155: machine.GenerateConfigurationRequest - (*GenerateConfiguration)(nil), // 156: machine.GenerateConfiguration - (*GenerateConfigurationResponse)(nil), // 157: machine.GenerateConfigurationResponse - (*GenerateClientConfigurationRequest)(nil), // 158: machine.GenerateClientConfigurationRequest - (*GenerateClientConfiguration)(nil), // 159: machine.GenerateClientConfiguration - (*GenerateClientConfigurationResponse)(nil), // 160: machine.GenerateClientConfigurationResponse - (*PacketCaptureRequest)(nil), // 161: machine.PacketCaptureRequest - (*BPFInstruction)(nil), // 162: machine.BPFInstruction - (*NetstatRequest)(nil), // 163: machine.NetstatRequest - (*ConnectRecord)(nil), // 164: machine.ConnectRecord - (*Netstat)(nil), // 165: machine.Netstat - (*NetstatResponse)(nil), // 166: machine.NetstatResponse - (*MetaWriteRequest)(nil), // 167: machine.MetaWriteRequest - (*MetaWrite)(nil), // 168: machine.MetaWrite - (*MetaWriteResponse)(nil), // 169: machine.MetaWriteResponse - (*MetaDeleteRequest)(nil), // 170: machine.MetaDeleteRequest - (*MetaDelete)(nil), // 171: machine.MetaDelete - (*MetaDeleteResponse)(nil), // 172: machine.MetaDeleteResponse - (*ImageListRequest)(nil), // 173: machine.ImageListRequest - (*ImageListResponse)(nil), // 174: machine.ImageListResponse - (*ImagePullRequest)(nil), // 175: machine.ImagePullRequest - (*ImagePull)(nil), // 176: machine.ImagePull - (*ImagePullResponse)(nil), // 177: machine.ImagePullResponse - (*MachineStatusEvent_MachineStatus)(nil), // 178: machine.MachineStatusEvent.MachineStatus - (*MachineStatusEvent_MachineStatus_UnmetCondition)(nil), // 179: machine.MachineStatusEvent.MachineStatus.UnmetCondition - (*NetstatRequest_Feature)(nil), // 180: machine.NetstatRequest.Feature - (*NetstatRequest_L4Proto)(nil), // 181: machine.NetstatRequest.L4proto - (*NetstatRequest_NetNS)(nil), // 182: machine.NetstatRequest.NetNS - (*ConnectRecord_Process)(nil), // 183: machine.ConnectRecord.Process - (*durationpb.Duration)(nil), // 184: google.protobuf.Duration - (*common.Metadata)(nil), // 185: common.Metadata - (*common.Error)(nil), // 186: common.Error - (*anypb.Any)(nil), // 187: google.protobuf.Any - (*timestamppb.Timestamp)(nil), // 188: google.protobuf.Timestamp - (common.ContainerDriver)(0), // 189: common.ContainerDriver - (common.ContainerdNamespace)(0), // 190: common.ContainerdNamespace - (*emptypb.Empty)(nil), // 191: google.protobuf.Empty - (*common.Data)(nil), // 192: common.Data + (*CPUFreqStatsResponse)(nil), // 107: machine.CPUFreqStatsResponse + (*CPUsFreqStats)(nil), // 108: machine.CPUsFreqStats + (*CPUFreqStats)(nil), // 109: machine.CPUFreqStats + (*CPUInfoResponse)(nil), // 110: machine.CPUInfoResponse + (*CPUsInfo)(nil), // 111: machine.CPUsInfo + (*CPUInfo)(nil), // 112: machine.CPUInfo + (*NetworkDeviceStatsResponse)(nil), // 113: machine.NetworkDeviceStatsResponse + (*NetworkDeviceStats)(nil), // 114: machine.NetworkDeviceStats + (*NetDev)(nil), // 115: machine.NetDev + (*DiskStatsResponse)(nil), // 116: machine.DiskStatsResponse + (*DiskStats)(nil), // 117: machine.DiskStats + (*DiskStat)(nil), // 118: machine.DiskStat + (*EtcdLeaveClusterRequest)(nil), // 119: machine.EtcdLeaveClusterRequest + (*EtcdLeaveCluster)(nil), // 120: machine.EtcdLeaveCluster + (*EtcdLeaveClusterResponse)(nil), // 121: machine.EtcdLeaveClusterResponse + (*EtcdRemoveMemberRequest)(nil), // 122: machine.EtcdRemoveMemberRequest + (*EtcdRemoveMember)(nil), // 123: machine.EtcdRemoveMember + (*EtcdRemoveMemberResponse)(nil), // 124: machine.EtcdRemoveMemberResponse + (*EtcdRemoveMemberByIDRequest)(nil), // 125: machine.EtcdRemoveMemberByIDRequest + (*EtcdRemoveMemberByID)(nil), // 126: machine.EtcdRemoveMemberByID + (*EtcdRemoveMemberByIDResponse)(nil), // 127: machine.EtcdRemoveMemberByIDResponse + (*EtcdForfeitLeadershipRequest)(nil), // 128: machine.EtcdForfeitLeadershipRequest + (*EtcdForfeitLeadership)(nil), // 129: machine.EtcdForfeitLeadership + (*EtcdForfeitLeadershipResponse)(nil), // 130: machine.EtcdForfeitLeadershipResponse + (*EtcdMemberListRequest)(nil), // 131: machine.EtcdMemberListRequest + (*EtcdMember)(nil), // 132: machine.EtcdMember + (*EtcdMembers)(nil), // 133: machine.EtcdMembers + (*EtcdMemberListResponse)(nil), // 134: machine.EtcdMemberListResponse + (*EtcdSnapshotRequest)(nil), // 135: machine.EtcdSnapshotRequest + (*EtcdRecover)(nil), // 136: machine.EtcdRecover + (*EtcdRecoverResponse)(nil), // 137: machine.EtcdRecoverResponse + (*EtcdAlarmListResponse)(nil), // 138: machine.EtcdAlarmListResponse + (*EtcdAlarm)(nil), // 139: machine.EtcdAlarm + (*EtcdMemberAlarm)(nil), // 140: machine.EtcdMemberAlarm + (*EtcdAlarmDisarmResponse)(nil), // 141: machine.EtcdAlarmDisarmResponse + (*EtcdAlarmDisarm)(nil), // 142: machine.EtcdAlarmDisarm + (*EtcdDefragmentResponse)(nil), // 143: machine.EtcdDefragmentResponse + (*EtcdDefragment)(nil), // 144: machine.EtcdDefragment + (*EtcdStatusResponse)(nil), // 145: machine.EtcdStatusResponse + (*EtcdStatus)(nil), // 146: machine.EtcdStatus + (*EtcdMemberStatus)(nil), // 147: machine.EtcdMemberStatus + (*RouteConfig)(nil), // 148: machine.RouteConfig + (*DHCPOptionsConfig)(nil), // 149: machine.DHCPOptionsConfig + (*NetworkDeviceConfig)(nil), // 150: machine.NetworkDeviceConfig + (*NetworkConfig)(nil), // 151: machine.NetworkConfig + (*InstallConfig)(nil), // 152: machine.InstallConfig + (*MachineConfig)(nil), // 153: machine.MachineConfig + (*ControlPlaneConfig)(nil), // 154: machine.ControlPlaneConfig + (*CNIConfig)(nil), // 155: machine.CNIConfig + (*ClusterNetworkConfig)(nil), // 156: machine.ClusterNetworkConfig + (*ClusterConfig)(nil), // 157: machine.ClusterConfig + (*GenerateConfigurationRequest)(nil), // 158: machine.GenerateConfigurationRequest + (*GenerateConfiguration)(nil), // 159: machine.GenerateConfiguration + (*GenerateConfigurationResponse)(nil), // 160: machine.GenerateConfigurationResponse + (*GenerateClientConfigurationRequest)(nil), // 161: machine.GenerateClientConfigurationRequest + (*GenerateClientConfiguration)(nil), // 162: machine.GenerateClientConfiguration + (*GenerateClientConfigurationResponse)(nil), // 163: machine.GenerateClientConfigurationResponse + (*PacketCaptureRequest)(nil), // 164: machine.PacketCaptureRequest + (*BPFInstruction)(nil), // 165: machine.BPFInstruction + (*NetstatRequest)(nil), // 166: machine.NetstatRequest + (*ConnectRecord)(nil), // 167: machine.ConnectRecord + (*Netstat)(nil), // 168: machine.Netstat + (*NetstatResponse)(nil), // 169: machine.NetstatResponse + (*MetaWriteRequest)(nil), // 170: machine.MetaWriteRequest + (*MetaWrite)(nil), // 171: machine.MetaWrite + (*MetaWriteResponse)(nil), // 172: machine.MetaWriteResponse + (*MetaDeleteRequest)(nil), // 173: machine.MetaDeleteRequest + (*MetaDelete)(nil), // 174: machine.MetaDelete + (*MetaDeleteResponse)(nil), // 175: machine.MetaDeleteResponse + (*ImageListRequest)(nil), // 176: machine.ImageListRequest + (*ImageListResponse)(nil), // 177: machine.ImageListResponse + (*ImagePullRequest)(nil), // 178: machine.ImagePullRequest + (*ImagePull)(nil), // 179: machine.ImagePull + (*ImagePullResponse)(nil), // 180: machine.ImagePullResponse + (*MachineStatusEvent_MachineStatus)(nil), // 181: machine.MachineStatusEvent.MachineStatus + (*MachineStatusEvent_MachineStatus_UnmetCondition)(nil), // 182: machine.MachineStatusEvent.MachineStatus.UnmetCondition + (*NetstatRequest_Feature)(nil), // 183: machine.NetstatRequest.Feature + (*NetstatRequest_L4Proto)(nil), // 184: machine.NetstatRequest.L4proto + (*NetstatRequest_NetNS)(nil), // 185: machine.NetstatRequest.NetNS + (*ConnectRecord_Process)(nil), // 186: machine.ConnectRecord.Process + (*durationpb.Duration)(nil), // 187: google.protobuf.Duration + (*common.Metadata)(nil), // 188: common.Metadata + (*common.Error)(nil), // 189: common.Error + (*anypb.Any)(nil), // 190: google.protobuf.Any + (*timestamppb.Timestamp)(nil), // 191: google.protobuf.Timestamp + (common.ContainerDriver)(0), // 192: common.ContainerDriver + (common.ContainerdNamespace)(0), // 193: common.ContainerdNamespace + (*emptypb.Empty)(nil), // 194: google.protobuf.Empty + (*common.Data)(nil), // 195: common.Data } var file_machine_machine_proto_depIdxs = []int32{ 0, // 0: machine.ApplyConfigurationRequest.mode:type_name -> machine.ApplyConfigurationRequest.Mode - 184, // 1: machine.ApplyConfigurationRequest.try_mode_timeout:type_name -> google.protobuf.Duration - 185, // 2: machine.ApplyConfiguration.metadata:type_name -> common.Metadata + 187, // 1: machine.ApplyConfigurationRequest.try_mode_timeout:type_name -> google.protobuf.Duration + 188, // 2: machine.ApplyConfiguration.metadata:type_name -> common.Metadata 0, // 3: machine.ApplyConfiguration.mode:type_name -> machine.ApplyConfigurationRequest.Mode 16, // 4: machine.ApplyConfigurationResponse.messages:type_name -> machine.ApplyConfiguration 1, // 5: machine.RebootRequest.mode:type_name -> machine.RebootRequest.Mode - 185, // 6: machine.Reboot.metadata:type_name -> common.Metadata + 188, // 6: machine.Reboot.metadata:type_name -> common.Metadata 19, // 7: machine.RebootResponse.messages:type_name -> machine.Reboot - 185, // 8: machine.Bootstrap.metadata:type_name -> common.Metadata + 188, // 8: machine.Bootstrap.metadata:type_name -> common.Metadata 22, // 9: machine.BootstrapResponse.messages:type_name -> machine.Bootstrap 2, // 10: machine.SequenceEvent.action:type_name -> machine.SequenceEvent.Action - 186, // 11: machine.SequenceEvent.error:type_name -> common.Error + 189, // 11: machine.SequenceEvent.error:type_name -> common.Error 3, // 12: machine.PhaseEvent.action:type_name -> machine.PhaseEvent.Action 4, // 13: machine.TaskEvent.action:type_name -> machine.TaskEvent.Action 5, // 14: machine.ServiceStateEvent.action:type_name -> machine.ServiceStateEvent.Action 50, // 15: machine.ServiceStateEvent.health:type_name -> machine.ServiceHealth 6, // 16: machine.MachineStatusEvent.stage:type_name -> machine.MachineStatusEvent.MachineStage - 178, // 17: machine.MachineStatusEvent.status:type_name -> machine.MachineStatusEvent.MachineStatus - 185, // 18: machine.Event.metadata:type_name -> common.Metadata - 187, // 19: machine.Event.data:type_name -> google.protobuf.Any + 181, // 17: machine.MachineStatusEvent.status:type_name -> machine.MachineStatusEvent.MachineStatus + 188, // 18: machine.Event.metadata:type_name -> common.Metadata + 190, // 19: machine.Event.data:type_name -> google.protobuf.Any 35, // 20: machine.ResetRequest.system_partitions_to_wipe:type_name -> machine.ResetPartitionSpec 7, // 21: machine.ResetRequest.mode:type_name -> machine.ResetRequest.WipeMode - 185, // 22: machine.Reset.metadata:type_name -> common.Metadata + 188, // 22: machine.Reset.metadata:type_name -> common.Metadata 37, // 23: machine.ResetResponse.messages:type_name -> machine.Reset - 185, // 24: machine.Shutdown.metadata:type_name -> common.Metadata + 188, // 24: machine.Shutdown.metadata:type_name -> common.Metadata 39, // 25: machine.ShutdownResponse.messages:type_name -> machine.Shutdown 8, // 26: machine.UpgradeRequest.reboot_mode:type_name -> machine.UpgradeRequest.RebootMode - 185, // 27: machine.Upgrade.metadata:type_name -> common.Metadata + 188, // 27: machine.Upgrade.metadata:type_name -> common.Metadata 43, // 28: machine.UpgradeResponse.messages:type_name -> machine.Upgrade - 185, // 29: machine.ServiceList.metadata:type_name -> common.Metadata + 188, // 29: machine.ServiceList.metadata:type_name -> common.Metadata 47, // 30: machine.ServiceList.services:type_name -> machine.ServiceInfo 45, // 31: machine.ServiceListResponse.messages:type_name -> machine.ServiceList 48, // 32: machine.ServiceInfo.events:type_name -> machine.ServiceEvents 50, // 33: machine.ServiceInfo.health:type_name -> machine.ServiceHealth 49, // 34: machine.ServiceEvents.events:type_name -> machine.ServiceEvent - 188, // 35: machine.ServiceEvent.ts:type_name -> google.protobuf.Timestamp - 188, // 36: machine.ServiceHealth.last_change:type_name -> google.protobuf.Timestamp - 185, // 37: machine.ServiceStart.metadata:type_name -> common.Metadata + 191, // 35: machine.ServiceEvent.ts:type_name -> google.protobuf.Timestamp + 191, // 36: machine.ServiceHealth.last_change:type_name -> google.protobuf.Timestamp + 188, // 37: machine.ServiceStart.metadata:type_name -> common.Metadata 52, // 38: machine.ServiceStartResponse.messages:type_name -> machine.ServiceStart - 185, // 39: machine.ServiceStop.metadata:type_name -> common.Metadata + 188, // 39: machine.ServiceStop.metadata:type_name -> common.Metadata 55, // 40: machine.ServiceStopResponse.messages:type_name -> machine.ServiceStop - 185, // 41: machine.ServiceRestart.metadata:type_name -> common.Metadata + 188, // 41: machine.ServiceRestart.metadata:type_name -> common.Metadata 58, // 42: machine.ServiceRestartResponse.messages:type_name -> machine.ServiceRestart 9, // 43: machine.ListRequest.types:type_name -> machine.ListRequest.Type - 185, // 44: machine.FileInfo.metadata:type_name -> common.Metadata + 188, // 44: machine.FileInfo.metadata:type_name -> common.Metadata 64, // 45: machine.FileInfo.xattrs:type_name -> machine.Xattr - 185, // 46: machine.DiskUsageInfo.metadata:type_name -> common.Metadata - 185, // 47: machine.Mounts.metadata:type_name -> common.Metadata + 188, // 46: machine.DiskUsageInfo.metadata:type_name -> common.Metadata + 188, // 47: machine.Mounts.metadata:type_name -> common.Metadata 68, // 48: machine.Mounts.stats:type_name -> machine.MountStat 66, // 49: machine.MountsResponse.messages:type_name -> machine.Mounts - 185, // 50: machine.Version.metadata:type_name -> common.Metadata + 188, // 50: machine.Version.metadata:type_name -> common.Metadata 71, // 51: machine.Version.version:type_name -> machine.VersionInfo 72, // 52: machine.Version.platform:type_name -> machine.PlatformInfo 73, // 53: machine.Version.features:type_name -> machine.FeaturesInfo 69, // 54: machine.VersionResponse.messages:type_name -> machine.Version - 189, // 55: machine.LogsRequest.driver:type_name -> common.ContainerDriver - 185, // 56: machine.LogsContainer.metadata:type_name -> common.Metadata + 192, // 55: machine.LogsRequest.driver:type_name -> common.ContainerDriver + 188, // 56: machine.LogsContainer.metadata:type_name -> common.Metadata 76, // 57: machine.LogsContainersResponse.messages:type_name -> machine.LogsContainer - 185, // 58: machine.Rollback.metadata:type_name -> common.Metadata + 188, // 58: machine.Rollback.metadata:type_name -> common.Metadata 79, // 59: machine.RollbackResponse.messages:type_name -> machine.Rollback - 189, // 60: machine.ContainersRequest.driver:type_name -> common.ContainerDriver - 185, // 61: machine.Container.metadata:type_name -> common.Metadata + 192, // 60: machine.ContainersRequest.driver:type_name -> common.ContainerDriver + 188, // 61: machine.Container.metadata:type_name -> common.Metadata 82, // 62: machine.Container.containers:type_name -> machine.ContainerInfo 83, // 63: machine.ContainersResponse.messages:type_name -> machine.Container 87, // 64: machine.ProcessesResponse.messages:type_name -> machine.Process - 185, // 65: machine.Process.metadata:type_name -> common.Metadata + 188, // 65: machine.Process.metadata:type_name -> common.Metadata 88, // 66: machine.Process.processes:type_name -> machine.ProcessInfo - 189, // 67: machine.RestartRequest.driver:type_name -> common.ContainerDriver - 185, // 68: machine.Restart.metadata:type_name -> common.Metadata + 192, // 67: machine.RestartRequest.driver:type_name -> common.ContainerDriver + 188, // 68: machine.Restart.metadata:type_name -> common.Metadata 90, // 69: machine.RestartResponse.messages:type_name -> machine.Restart - 189, // 70: machine.StatsRequest.driver:type_name -> common.ContainerDriver - 185, // 71: machine.Stats.metadata:type_name -> common.Metadata + 192, // 70: machine.StatsRequest.driver:type_name -> common.ContainerDriver + 188, // 71: machine.Stats.metadata:type_name -> common.Metadata 95, // 72: machine.Stats.stats:type_name -> machine.Stat 93, // 73: machine.StatsResponse.messages:type_name -> machine.Stats - 185, // 74: machine.Memory.metadata:type_name -> common.Metadata + 188, // 74: machine.Memory.metadata:type_name -> common.Metadata 98, // 75: machine.Memory.meminfo:type_name -> machine.MemInfo 96, // 76: machine.MemoryResponse.messages:type_name -> machine.Memory 100, // 77: machine.HostnameResponse.messages:type_name -> machine.Hostname - 185, // 78: machine.Hostname.metadata:type_name -> common.Metadata + 188, // 78: machine.Hostname.metadata:type_name -> common.Metadata 102, // 79: machine.LoadAvgResponse.messages:type_name -> machine.LoadAvg - 185, // 80: machine.LoadAvg.metadata:type_name -> common.Metadata + 188, // 80: machine.LoadAvg.metadata:type_name -> common.Metadata 104, // 81: machine.SystemStatResponse.messages:type_name -> machine.SystemStat - 185, // 82: machine.SystemStat.metadata:type_name -> common.Metadata + 188, // 82: machine.SystemStat.metadata:type_name -> common.Metadata 105, // 83: machine.SystemStat.cpu_total:type_name -> machine.CPUStat 105, // 84: machine.SystemStat.cpu:type_name -> machine.CPUStat 106, // 85: machine.SystemStat.soft_irq:type_name -> machine.SoftIRQStat - 108, // 86: machine.CPUInfoResponse.messages:type_name -> machine.CPUsInfo - 185, // 87: machine.CPUsInfo.metadata:type_name -> common.Metadata - 109, // 88: machine.CPUsInfo.cpu_info:type_name -> machine.CPUInfo - 111, // 89: machine.NetworkDeviceStatsResponse.messages:type_name -> machine.NetworkDeviceStats - 185, // 90: machine.NetworkDeviceStats.metadata:type_name -> common.Metadata - 112, // 91: machine.NetworkDeviceStats.total:type_name -> machine.NetDev - 112, // 92: machine.NetworkDeviceStats.devices:type_name -> machine.NetDev - 114, // 93: machine.DiskStatsResponse.messages:type_name -> machine.DiskStats - 185, // 94: machine.DiskStats.metadata:type_name -> common.Metadata - 115, // 95: machine.DiskStats.total:type_name -> machine.DiskStat - 115, // 96: machine.DiskStats.devices:type_name -> machine.DiskStat - 185, // 97: machine.EtcdLeaveCluster.metadata:type_name -> common.Metadata - 117, // 98: machine.EtcdLeaveClusterResponse.messages:type_name -> machine.EtcdLeaveCluster - 185, // 99: machine.EtcdRemoveMember.metadata:type_name -> common.Metadata - 120, // 100: machine.EtcdRemoveMemberResponse.messages:type_name -> machine.EtcdRemoveMember - 185, // 101: machine.EtcdRemoveMemberByID.metadata:type_name -> common.Metadata - 123, // 102: machine.EtcdRemoveMemberByIDResponse.messages:type_name -> machine.EtcdRemoveMemberByID - 185, // 103: machine.EtcdForfeitLeadership.metadata:type_name -> common.Metadata - 126, // 104: machine.EtcdForfeitLeadershipResponse.messages:type_name -> machine.EtcdForfeitLeadership - 185, // 105: machine.EtcdMembers.metadata:type_name -> common.Metadata - 129, // 106: machine.EtcdMembers.members:type_name -> machine.EtcdMember - 130, // 107: machine.EtcdMemberListResponse.messages:type_name -> machine.EtcdMembers - 185, // 108: machine.EtcdRecover.metadata:type_name -> common.Metadata - 133, // 109: machine.EtcdRecoverResponse.messages:type_name -> machine.EtcdRecover - 136, // 110: machine.EtcdAlarmListResponse.messages:type_name -> machine.EtcdAlarm - 185, // 111: machine.EtcdAlarm.metadata:type_name -> common.Metadata - 137, // 112: machine.EtcdAlarm.member_alarms:type_name -> machine.EtcdMemberAlarm - 10, // 113: machine.EtcdMemberAlarm.alarm:type_name -> machine.EtcdMemberAlarm.AlarmType - 139, // 114: machine.EtcdAlarmDisarmResponse.messages:type_name -> machine.EtcdAlarmDisarm - 185, // 115: machine.EtcdAlarmDisarm.metadata:type_name -> common.Metadata - 137, // 116: machine.EtcdAlarmDisarm.member_alarms:type_name -> machine.EtcdMemberAlarm - 141, // 117: machine.EtcdDefragmentResponse.messages:type_name -> machine.EtcdDefragment - 185, // 118: machine.EtcdDefragment.metadata:type_name -> common.Metadata - 143, // 119: machine.EtcdStatusResponse.messages:type_name -> machine.EtcdStatus - 185, // 120: machine.EtcdStatus.metadata:type_name -> common.Metadata - 144, // 121: machine.EtcdStatus.member_status:type_name -> machine.EtcdMemberStatus - 146, // 122: machine.NetworkDeviceConfig.dhcp_options:type_name -> machine.DHCPOptionsConfig - 145, // 123: machine.NetworkDeviceConfig.routes:type_name -> machine.RouteConfig - 147, // 124: machine.NetworkConfig.interfaces:type_name -> machine.NetworkDeviceConfig - 11, // 125: machine.MachineConfig.type:type_name -> machine.MachineConfig.MachineType - 149, // 126: machine.MachineConfig.install_config:type_name -> machine.InstallConfig - 148, // 127: machine.MachineConfig.network_config:type_name -> machine.NetworkConfig - 152, // 128: machine.ClusterNetworkConfig.cni_config:type_name -> machine.CNIConfig - 151, // 129: machine.ClusterConfig.control_plane:type_name -> machine.ControlPlaneConfig - 153, // 130: machine.ClusterConfig.cluster_network:type_name -> machine.ClusterNetworkConfig - 154, // 131: machine.GenerateConfigurationRequest.cluster_config:type_name -> machine.ClusterConfig - 150, // 132: machine.GenerateConfigurationRequest.machine_config:type_name -> machine.MachineConfig - 188, // 133: machine.GenerateConfigurationRequest.override_time:type_name -> google.protobuf.Timestamp - 185, // 134: machine.GenerateConfiguration.metadata:type_name -> common.Metadata - 156, // 135: machine.GenerateConfigurationResponse.messages:type_name -> machine.GenerateConfiguration - 184, // 136: machine.GenerateClientConfigurationRequest.crt_ttl:type_name -> google.protobuf.Duration - 185, // 137: machine.GenerateClientConfiguration.metadata:type_name -> common.Metadata - 159, // 138: machine.GenerateClientConfigurationResponse.messages:type_name -> machine.GenerateClientConfiguration - 162, // 139: machine.PacketCaptureRequest.bpf_filter:type_name -> machine.BPFInstruction - 12, // 140: machine.NetstatRequest.filter:type_name -> machine.NetstatRequest.Filter - 180, // 141: machine.NetstatRequest.feature:type_name -> machine.NetstatRequest.Feature - 181, // 142: machine.NetstatRequest.l4proto:type_name -> machine.NetstatRequest.L4proto - 182, // 143: machine.NetstatRequest.netns:type_name -> machine.NetstatRequest.NetNS - 13, // 144: machine.ConnectRecord.state:type_name -> machine.ConnectRecord.State - 14, // 145: machine.ConnectRecord.tr:type_name -> machine.ConnectRecord.TimerActive - 183, // 146: machine.ConnectRecord.process:type_name -> machine.ConnectRecord.Process - 185, // 147: machine.Netstat.metadata:type_name -> common.Metadata - 164, // 148: machine.Netstat.connectrecord:type_name -> machine.ConnectRecord - 165, // 149: machine.NetstatResponse.messages:type_name -> machine.Netstat - 185, // 150: machine.MetaWrite.metadata:type_name -> common.Metadata - 168, // 151: machine.MetaWriteResponse.messages:type_name -> machine.MetaWrite - 185, // 152: machine.MetaDelete.metadata:type_name -> common.Metadata - 171, // 153: machine.MetaDeleteResponse.messages:type_name -> machine.MetaDelete - 190, // 154: machine.ImageListRequest.namespace:type_name -> common.ContainerdNamespace - 185, // 155: machine.ImageListResponse.metadata:type_name -> common.Metadata - 188, // 156: machine.ImageListResponse.created_at:type_name -> google.protobuf.Timestamp - 190, // 157: machine.ImagePullRequest.namespace:type_name -> common.ContainerdNamespace - 185, // 158: machine.ImagePull.metadata:type_name -> common.Metadata - 176, // 159: machine.ImagePullResponse.messages:type_name -> machine.ImagePull - 179, // 160: machine.MachineStatusEvent.MachineStatus.unmet_conditions:type_name -> machine.MachineStatusEvent.MachineStatus.UnmetCondition - 15, // 161: machine.MachineService.ApplyConfiguration:input_type -> machine.ApplyConfigurationRequest - 21, // 162: machine.MachineService.Bootstrap:input_type -> machine.BootstrapRequest - 81, // 163: machine.MachineService.Containers:input_type -> machine.ContainersRequest - 60, // 164: machine.MachineService.Copy:input_type -> machine.CopyRequest - 191, // 165: machine.MachineService.CPUInfo:input_type -> google.protobuf.Empty - 191, // 166: machine.MachineService.DiskStats:input_type -> google.protobuf.Empty - 85, // 167: machine.MachineService.Dmesg:input_type -> machine.DmesgRequest - 33, // 168: machine.MachineService.Events:input_type -> machine.EventsRequest - 128, // 169: machine.MachineService.EtcdMemberList:input_type -> machine.EtcdMemberListRequest - 122, // 170: machine.MachineService.EtcdRemoveMemberByID:input_type -> machine.EtcdRemoveMemberByIDRequest - 116, // 171: machine.MachineService.EtcdLeaveCluster:input_type -> machine.EtcdLeaveClusterRequest - 125, // 172: machine.MachineService.EtcdForfeitLeadership:input_type -> machine.EtcdForfeitLeadershipRequest - 192, // 173: machine.MachineService.EtcdRecover:input_type -> common.Data - 132, // 174: machine.MachineService.EtcdSnapshot:input_type -> machine.EtcdSnapshotRequest - 191, // 175: machine.MachineService.EtcdAlarmList:input_type -> google.protobuf.Empty - 191, // 176: machine.MachineService.EtcdAlarmDisarm:input_type -> google.protobuf.Empty - 191, // 177: machine.MachineService.EtcdDefragment:input_type -> google.protobuf.Empty - 191, // 178: machine.MachineService.EtcdStatus:input_type -> google.protobuf.Empty - 155, // 179: machine.MachineService.GenerateConfiguration:input_type -> machine.GenerateConfigurationRequest - 191, // 180: machine.MachineService.Hostname:input_type -> google.protobuf.Empty - 191, // 181: machine.MachineService.Kubeconfig:input_type -> google.protobuf.Empty - 61, // 182: machine.MachineService.List:input_type -> machine.ListRequest - 62, // 183: machine.MachineService.DiskUsage:input_type -> machine.DiskUsageRequest - 191, // 184: machine.MachineService.LoadAvg:input_type -> google.protobuf.Empty - 74, // 185: machine.MachineService.Logs:input_type -> machine.LogsRequest - 191, // 186: machine.MachineService.LogsContainers:input_type -> google.protobuf.Empty - 191, // 187: machine.MachineService.Memory:input_type -> google.protobuf.Empty - 191, // 188: machine.MachineService.Mounts:input_type -> google.protobuf.Empty - 191, // 189: machine.MachineService.NetworkDeviceStats:input_type -> google.protobuf.Empty - 191, // 190: machine.MachineService.Processes:input_type -> google.protobuf.Empty - 75, // 191: machine.MachineService.Read:input_type -> machine.ReadRequest - 18, // 192: machine.MachineService.Reboot:input_type -> machine.RebootRequest - 89, // 193: machine.MachineService.Restart:input_type -> machine.RestartRequest - 78, // 194: machine.MachineService.Rollback:input_type -> machine.RollbackRequest - 36, // 195: machine.MachineService.Reset:input_type -> machine.ResetRequest - 191, // 196: machine.MachineService.ServiceList:input_type -> google.protobuf.Empty - 57, // 197: machine.MachineService.ServiceRestart:input_type -> machine.ServiceRestartRequest - 51, // 198: machine.MachineService.ServiceStart:input_type -> machine.ServiceStartRequest - 54, // 199: machine.MachineService.ServiceStop:input_type -> machine.ServiceStopRequest - 40, // 200: machine.MachineService.Shutdown:input_type -> machine.ShutdownRequest - 92, // 201: machine.MachineService.Stats:input_type -> machine.StatsRequest - 191, // 202: machine.MachineService.SystemStat:input_type -> google.protobuf.Empty - 42, // 203: machine.MachineService.Upgrade:input_type -> machine.UpgradeRequest - 191, // 204: machine.MachineService.Version:input_type -> google.protobuf.Empty - 158, // 205: machine.MachineService.GenerateClientConfiguration:input_type -> machine.GenerateClientConfigurationRequest - 161, // 206: machine.MachineService.PacketCapture:input_type -> machine.PacketCaptureRequest - 163, // 207: machine.MachineService.Netstat:input_type -> machine.NetstatRequest - 167, // 208: machine.MachineService.MetaWrite:input_type -> machine.MetaWriteRequest - 170, // 209: machine.MachineService.MetaDelete:input_type -> machine.MetaDeleteRequest - 173, // 210: machine.MachineService.ImageList:input_type -> machine.ImageListRequest - 175, // 211: machine.MachineService.ImagePull:input_type -> machine.ImagePullRequest - 17, // 212: machine.MachineService.ApplyConfiguration:output_type -> machine.ApplyConfigurationResponse - 23, // 213: machine.MachineService.Bootstrap:output_type -> machine.BootstrapResponse - 84, // 214: machine.MachineService.Containers:output_type -> machine.ContainersResponse - 192, // 215: machine.MachineService.Copy:output_type -> common.Data - 107, // 216: machine.MachineService.CPUInfo:output_type -> machine.CPUInfoResponse - 113, // 217: machine.MachineService.DiskStats:output_type -> machine.DiskStatsResponse - 192, // 218: machine.MachineService.Dmesg:output_type -> common.Data - 34, // 219: machine.MachineService.Events:output_type -> machine.Event - 131, // 220: machine.MachineService.EtcdMemberList:output_type -> machine.EtcdMemberListResponse - 124, // 221: machine.MachineService.EtcdRemoveMemberByID:output_type -> machine.EtcdRemoveMemberByIDResponse - 118, // 222: machine.MachineService.EtcdLeaveCluster:output_type -> machine.EtcdLeaveClusterResponse - 127, // 223: machine.MachineService.EtcdForfeitLeadership:output_type -> machine.EtcdForfeitLeadershipResponse - 134, // 224: machine.MachineService.EtcdRecover:output_type -> machine.EtcdRecoverResponse - 192, // 225: machine.MachineService.EtcdSnapshot:output_type -> common.Data - 135, // 226: machine.MachineService.EtcdAlarmList:output_type -> machine.EtcdAlarmListResponse - 138, // 227: machine.MachineService.EtcdAlarmDisarm:output_type -> machine.EtcdAlarmDisarmResponse - 140, // 228: machine.MachineService.EtcdDefragment:output_type -> machine.EtcdDefragmentResponse - 142, // 229: machine.MachineService.EtcdStatus:output_type -> machine.EtcdStatusResponse - 157, // 230: machine.MachineService.GenerateConfiguration:output_type -> machine.GenerateConfigurationResponse - 99, // 231: machine.MachineService.Hostname:output_type -> machine.HostnameResponse - 192, // 232: machine.MachineService.Kubeconfig:output_type -> common.Data - 63, // 233: machine.MachineService.List:output_type -> machine.FileInfo - 65, // 234: machine.MachineService.DiskUsage:output_type -> machine.DiskUsageInfo - 101, // 235: machine.MachineService.LoadAvg:output_type -> machine.LoadAvgResponse - 192, // 236: machine.MachineService.Logs:output_type -> common.Data - 77, // 237: machine.MachineService.LogsContainers:output_type -> machine.LogsContainersResponse - 97, // 238: machine.MachineService.Memory:output_type -> machine.MemoryResponse - 67, // 239: machine.MachineService.Mounts:output_type -> machine.MountsResponse - 110, // 240: machine.MachineService.NetworkDeviceStats:output_type -> machine.NetworkDeviceStatsResponse - 86, // 241: machine.MachineService.Processes:output_type -> machine.ProcessesResponse - 192, // 242: machine.MachineService.Read:output_type -> common.Data - 20, // 243: machine.MachineService.Reboot:output_type -> machine.RebootResponse - 91, // 244: machine.MachineService.Restart:output_type -> machine.RestartResponse - 80, // 245: machine.MachineService.Rollback:output_type -> machine.RollbackResponse - 38, // 246: machine.MachineService.Reset:output_type -> machine.ResetResponse - 46, // 247: machine.MachineService.ServiceList:output_type -> machine.ServiceListResponse - 59, // 248: machine.MachineService.ServiceRestart:output_type -> machine.ServiceRestartResponse - 53, // 249: machine.MachineService.ServiceStart:output_type -> machine.ServiceStartResponse - 56, // 250: machine.MachineService.ServiceStop:output_type -> machine.ServiceStopResponse - 41, // 251: machine.MachineService.Shutdown:output_type -> machine.ShutdownResponse - 94, // 252: machine.MachineService.Stats:output_type -> machine.StatsResponse - 103, // 253: machine.MachineService.SystemStat:output_type -> machine.SystemStatResponse - 44, // 254: machine.MachineService.Upgrade:output_type -> machine.UpgradeResponse - 70, // 255: machine.MachineService.Version:output_type -> machine.VersionResponse - 160, // 256: machine.MachineService.GenerateClientConfiguration:output_type -> machine.GenerateClientConfigurationResponse - 192, // 257: machine.MachineService.PacketCapture:output_type -> common.Data - 166, // 258: machine.MachineService.Netstat:output_type -> machine.NetstatResponse - 169, // 259: machine.MachineService.MetaWrite:output_type -> machine.MetaWriteResponse - 172, // 260: machine.MachineService.MetaDelete:output_type -> machine.MetaDeleteResponse - 174, // 261: machine.MachineService.ImageList:output_type -> machine.ImageListResponse - 177, // 262: machine.MachineService.ImagePull:output_type -> machine.ImagePullResponse - 212, // [212:263] is the sub-list for method output_type - 161, // [161:212] is the sub-list for method input_type - 161, // [161:161] is the sub-list for extension type_name - 161, // [161:161] is the sub-list for extension extendee - 0, // [0:161] is the sub-list for field type_name + 108, // 86: machine.CPUFreqStatsResponse.messages:type_name -> machine.CPUsFreqStats + 188, // 87: machine.CPUsFreqStats.metadata:type_name -> common.Metadata + 109, // 88: machine.CPUsFreqStats.cpu_freq_stats:type_name -> machine.CPUFreqStats + 111, // 89: machine.CPUInfoResponse.messages:type_name -> machine.CPUsInfo + 188, // 90: machine.CPUsInfo.metadata:type_name -> common.Metadata + 112, // 91: machine.CPUsInfo.cpu_info:type_name -> machine.CPUInfo + 114, // 92: machine.NetworkDeviceStatsResponse.messages:type_name -> machine.NetworkDeviceStats + 188, // 93: machine.NetworkDeviceStats.metadata:type_name -> common.Metadata + 115, // 94: machine.NetworkDeviceStats.total:type_name -> machine.NetDev + 115, // 95: machine.NetworkDeviceStats.devices:type_name -> machine.NetDev + 117, // 96: machine.DiskStatsResponse.messages:type_name -> machine.DiskStats + 188, // 97: machine.DiskStats.metadata:type_name -> common.Metadata + 118, // 98: machine.DiskStats.total:type_name -> machine.DiskStat + 118, // 99: machine.DiskStats.devices:type_name -> machine.DiskStat + 188, // 100: machine.EtcdLeaveCluster.metadata:type_name -> common.Metadata + 120, // 101: machine.EtcdLeaveClusterResponse.messages:type_name -> machine.EtcdLeaveCluster + 188, // 102: machine.EtcdRemoveMember.metadata:type_name -> common.Metadata + 123, // 103: machine.EtcdRemoveMemberResponse.messages:type_name -> machine.EtcdRemoveMember + 188, // 104: machine.EtcdRemoveMemberByID.metadata:type_name -> common.Metadata + 126, // 105: machine.EtcdRemoveMemberByIDResponse.messages:type_name -> machine.EtcdRemoveMemberByID + 188, // 106: machine.EtcdForfeitLeadership.metadata:type_name -> common.Metadata + 129, // 107: machine.EtcdForfeitLeadershipResponse.messages:type_name -> machine.EtcdForfeitLeadership + 188, // 108: machine.EtcdMembers.metadata:type_name -> common.Metadata + 132, // 109: machine.EtcdMembers.members:type_name -> machine.EtcdMember + 133, // 110: machine.EtcdMemberListResponse.messages:type_name -> machine.EtcdMembers + 188, // 111: machine.EtcdRecover.metadata:type_name -> common.Metadata + 136, // 112: machine.EtcdRecoverResponse.messages:type_name -> machine.EtcdRecover + 139, // 113: machine.EtcdAlarmListResponse.messages:type_name -> machine.EtcdAlarm + 188, // 114: machine.EtcdAlarm.metadata:type_name -> common.Metadata + 140, // 115: machine.EtcdAlarm.member_alarms:type_name -> machine.EtcdMemberAlarm + 10, // 116: machine.EtcdMemberAlarm.alarm:type_name -> machine.EtcdMemberAlarm.AlarmType + 142, // 117: machine.EtcdAlarmDisarmResponse.messages:type_name -> machine.EtcdAlarmDisarm + 188, // 118: machine.EtcdAlarmDisarm.metadata:type_name -> common.Metadata + 140, // 119: machine.EtcdAlarmDisarm.member_alarms:type_name -> machine.EtcdMemberAlarm + 144, // 120: machine.EtcdDefragmentResponse.messages:type_name -> machine.EtcdDefragment + 188, // 121: machine.EtcdDefragment.metadata:type_name -> common.Metadata + 146, // 122: machine.EtcdStatusResponse.messages:type_name -> machine.EtcdStatus + 188, // 123: machine.EtcdStatus.metadata:type_name -> common.Metadata + 147, // 124: machine.EtcdStatus.member_status:type_name -> machine.EtcdMemberStatus + 149, // 125: machine.NetworkDeviceConfig.dhcp_options:type_name -> machine.DHCPOptionsConfig + 148, // 126: machine.NetworkDeviceConfig.routes:type_name -> machine.RouteConfig + 150, // 127: machine.NetworkConfig.interfaces:type_name -> machine.NetworkDeviceConfig + 11, // 128: machine.MachineConfig.type:type_name -> machine.MachineConfig.MachineType + 152, // 129: machine.MachineConfig.install_config:type_name -> machine.InstallConfig + 151, // 130: machine.MachineConfig.network_config:type_name -> machine.NetworkConfig + 155, // 131: machine.ClusterNetworkConfig.cni_config:type_name -> machine.CNIConfig + 154, // 132: machine.ClusterConfig.control_plane:type_name -> machine.ControlPlaneConfig + 156, // 133: machine.ClusterConfig.cluster_network:type_name -> machine.ClusterNetworkConfig + 157, // 134: machine.GenerateConfigurationRequest.cluster_config:type_name -> machine.ClusterConfig + 153, // 135: machine.GenerateConfigurationRequest.machine_config:type_name -> machine.MachineConfig + 191, // 136: machine.GenerateConfigurationRequest.override_time:type_name -> google.protobuf.Timestamp + 188, // 137: machine.GenerateConfiguration.metadata:type_name -> common.Metadata + 159, // 138: machine.GenerateConfigurationResponse.messages:type_name -> machine.GenerateConfiguration + 187, // 139: machine.GenerateClientConfigurationRequest.crt_ttl:type_name -> google.protobuf.Duration + 188, // 140: machine.GenerateClientConfiguration.metadata:type_name -> common.Metadata + 162, // 141: machine.GenerateClientConfigurationResponse.messages:type_name -> machine.GenerateClientConfiguration + 165, // 142: machine.PacketCaptureRequest.bpf_filter:type_name -> machine.BPFInstruction + 12, // 143: machine.NetstatRequest.filter:type_name -> machine.NetstatRequest.Filter + 183, // 144: machine.NetstatRequest.feature:type_name -> machine.NetstatRequest.Feature + 184, // 145: machine.NetstatRequest.l4proto:type_name -> machine.NetstatRequest.L4proto + 185, // 146: machine.NetstatRequest.netns:type_name -> machine.NetstatRequest.NetNS + 13, // 147: machine.ConnectRecord.state:type_name -> machine.ConnectRecord.State + 14, // 148: machine.ConnectRecord.tr:type_name -> machine.ConnectRecord.TimerActive + 186, // 149: machine.ConnectRecord.process:type_name -> machine.ConnectRecord.Process + 188, // 150: machine.Netstat.metadata:type_name -> common.Metadata + 167, // 151: machine.Netstat.connectrecord:type_name -> machine.ConnectRecord + 168, // 152: machine.NetstatResponse.messages:type_name -> machine.Netstat + 188, // 153: machine.MetaWrite.metadata:type_name -> common.Metadata + 171, // 154: machine.MetaWriteResponse.messages:type_name -> machine.MetaWrite + 188, // 155: machine.MetaDelete.metadata:type_name -> common.Metadata + 174, // 156: machine.MetaDeleteResponse.messages:type_name -> machine.MetaDelete + 193, // 157: machine.ImageListRequest.namespace:type_name -> common.ContainerdNamespace + 188, // 158: machine.ImageListResponse.metadata:type_name -> common.Metadata + 191, // 159: machine.ImageListResponse.created_at:type_name -> google.protobuf.Timestamp + 193, // 160: machine.ImagePullRequest.namespace:type_name -> common.ContainerdNamespace + 188, // 161: machine.ImagePull.metadata:type_name -> common.Metadata + 179, // 162: machine.ImagePullResponse.messages:type_name -> machine.ImagePull + 182, // 163: machine.MachineStatusEvent.MachineStatus.unmet_conditions:type_name -> machine.MachineStatusEvent.MachineStatus.UnmetCondition + 15, // 164: machine.MachineService.ApplyConfiguration:input_type -> machine.ApplyConfigurationRequest + 21, // 165: machine.MachineService.Bootstrap:input_type -> machine.BootstrapRequest + 81, // 166: machine.MachineService.Containers:input_type -> machine.ContainersRequest + 60, // 167: machine.MachineService.Copy:input_type -> machine.CopyRequest + 194, // 168: machine.MachineService.CPUFreqStats:input_type -> google.protobuf.Empty + 194, // 169: machine.MachineService.CPUInfo:input_type -> google.protobuf.Empty + 194, // 170: machine.MachineService.DiskStats:input_type -> google.protobuf.Empty + 85, // 171: machine.MachineService.Dmesg:input_type -> machine.DmesgRequest + 33, // 172: machine.MachineService.Events:input_type -> machine.EventsRequest + 131, // 173: machine.MachineService.EtcdMemberList:input_type -> machine.EtcdMemberListRequest + 125, // 174: machine.MachineService.EtcdRemoveMemberByID:input_type -> machine.EtcdRemoveMemberByIDRequest + 119, // 175: machine.MachineService.EtcdLeaveCluster:input_type -> machine.EtcdLeaveClusterRequest + 128, // 176: machine.MachineService.EtcdForfeitLeadership:input_type -> machine.EtcdForfeitLeadershipRequest + 195, // 177: machine.MachineService.EtcdRecover:input_type -> common.Data + 135, // 178: machine.MachineService.EtcdSnapshot:input_type -> machine.EtcdSnapshotRequest + 194, // 179: machine.MachineService.EtcdAlarmList:input_type -> google.protobuf.Empty + 194, // 180: machine.MachineService.EtcdAlarmDisarm:input_type -> google.protobuf.Empty + 194, // 181: machine.MachineService.EtcdDefragment:input_type -> google.protobuf.Empty + 194, // 182: machine.MachineService.EtcdStatus:input_type -> google.protobuf.Empty + 158, // 183: machine.MachineService.GenerateConfiguration:input_type -> machine.GenerateConfigurationRequest + 194, // 184: machine.MachineService.Hostname:input_type -> google.protobuf.Empty + 194, // 185: machine.MachineService.Kubeconfig:input_type -> google.protobuf.Empty + 61, // 186: machine.MachineService.List:input_type -> machine.ListRequest + 62, // 187: machine.MachineService.DiskUsage:input_type -> machine.DiskUsageRequest + 194, // 188: machine.MachineService.LoadAvg:input_type -> google.protobuf.Empty + 74, // 189: machine.MachineService.Logs:input_type -> machine.LogsRequest + 194, // 190: machine.MachineService.LogsContainers:input_type -> google.protobuf.Empty + 194, // 191: machine.MachineService.Memory:input_type -> google.protobuf.Empty + 194, // 192: machine.MachineService.Mounts:input_type -> google.protobuf.Empty + 194, // 193: machine.MachineService.NetworkDeviceStats:input_type -> google.protobuf.Empty + 194, // 194: machine.MachineService.Processes:input_type -> google.protobuf.Empty + 75, // 195: machine.MachineService.Read:input_type -> machine.ReadRequest + 18, // 196: machine.MachineService.Reboot:input_type -> machine.RebootRequest + 89, // 197: machine.MachineService.Restart:input_type -> machine.RestartRequest + 78, // 198: machine.MachineService.Rollback:input_type -> machine.RollbackRequest + 36, // 199: machine.MachineService.Reset:input_type -> machine.ResetRequest + 194, // 200: machine.MachineService.ServiceList:input_type -> google.protobuf.Empty + 57, // 201: machine.MachineService.ServiceRestart:input_type -> machine.ServiceRestartRequest + 51, // 202: machine.MachineService.ServiceStart:input_type -> machine.ServiceStartRequest + 54, // 203: machine.MachineService.ServiceStop:input_type -> machine.ServiceStopRequest + 40, // 204: machine.MachineService.Shutdown:input_type -> machine.ShutdownRequest + 92, // 205: machine.MachineService.Stats:input_type -> machine.StatsRequest + 194, // 206: machine.MachineService.SystemStat:input_type -> google.protobuf.Empty + 42, // 207: machine.MachineService.Upgrade:input_type -> machine.UpgradeRequest + 194, // 208: machine.MachineService.Version:input_type -> google.protobuf.Empty + 161, // 209: machine.MachineService.GenerateClientConfiguration:input_type -> machine.GenerateClientConfigurationRequest + 164, // 210: machine.MachineService.PacketCapture:input_type -> machine.PacketCaptureRequest + 166, // 211: machine.MachineService.Netstat:input_type -> machine.NetstatRequest + 170, // 212: machine.MachineService.MetaWrite:input_type -> machine.MetaWriteRequest + 173, // 213: machine.MachineService.MetaDelete:input_type -> machine.MetaDeleteRequest + 176, // 214: machine.MachineService.ImageList:input_type -> machine.ImageListRequest + 178, // 215: machine.MachineService.ImagePull:input_type -> machine.ImagePullRequest + 17, // 216: machine.MachineService.ApplyConfiguration:output_type -> machine.ApplyConfigurationResponse + 23, // 217: machine.MachineService.Bootstrap:output_type -> machine.BootstrapResponse + 84, // 218: machine.MachineService.Containers:output_type -> machine.ContainersResponse + 195, // 219: machine.MachineService.Copy:output_type -> common.Data + 107, // 220: machine.MachineService.CPUFreqStats:output_type -> machine.CPUFreqStatsResponse + 110, // 221: machine.MachineService.CPUInfo:output_type -> machine.CPUInfoResponse + 116, // 222: machine.MachineService.DiskStats:output_type -> machine.DiskStatsResponse + 195, // 223: machine.MachineService.Dmesg:output_type -> common.Data + 34, // 224: machine.MachineService.Events:output_type -> machine.Event + 134, // 225: machine.MachineService.EtcdMemberList:output_type -> machine.EtcdMemberListResponse + 127, // 226: machine.MachineService.EtcdRemoveMemberByID:output_type -> machine.EtcdRemoveMemberByIDResponse + 121, // 227: machine.MachineService.EtcdLeaveCluster:output_type -> machine.EtcdLeaveClusterResponse + 130, // 228: machine.MachineService.EtcdForfeitLeadership:output_type -> machine.EtcdForfeitLeadershipResponse + 137, // 229: machine.MachineService.EtcdRecover:output_type -> machine.EtcdRecoverResponse + 195, // 230: machine.MachineService.EtcdSnapshot:output_type -> common.Data + 138, // 231: machine.MachineService.EtcdAlarmList:output_type -> machine.EtcdAlarmListResponse + 141, // 232: machine.MachineService.EtcdAlarmDisarm:output_type -> machine.EtcdAlarmDisarmResponse + 143, // 233: machine.MachineService.EtcdDefragment:output_type -> machine.EtcdDefragmentResponse + 145, // 234: machine.MachineService.EtcdStatus:output_type -> machine.EtcdStatusResponse + 160, // 235: machine.MachineService.GenerateConfiguration:output_type -> machine.GenerateConfigurationResponse + 99, // 236: machine.MachineService.Hostname:output_type -> machine.HostnameResponse + 195, // 237: machine.MachineService.Kubeconfig:output_type -> common.Data + 63, // 238: machine.MachineService.List:output_type -> machine.FileInfo + 65, // 239: machine.MachineService.DiskUsage:output_type -> machine.DiskUsageInfo + 101, // 240: machine.MachineService.LoadAvg:output_type -> machine.LoadAvgResponse + 195, // 241: machine.MachineService.Logs:output_type -> common.Data + 77, // 242: machine.MachineService.LogsContainers:output_type -> machine.LogsContainersResponse + 97, // 243: machine.MachineService.Memory:output_type -> machine.MemoryResponse + 67, // 244: machine.MachineService.Mounts:output_type -> machine.MountsResponse + 113, // 245: machine.MachineService.NetworkDeviceStats:output_type -> machine.NetworkDeviceStatsResponse + 86, // 246: machine.MachineService.Processes:output_type -> machine.ProcessesResponse + 195, // 247: machine.MachineService.Read:output_type -> common.Data + 20, // 248: machine.MachineService.Reboot:output_type -> machine.RebootResponse + 91, // 249: machine.MachineService.Restart:output_type -> machine.RestartResponse + 80, // 250: machine.MachineService.Rollback:output_type -> machine.RollbackResponse + 38, // 251: machine.MachineService.Reset:output_type -> machine.ResetResponse + 46, // 252: machine.MachineService.ServiceList:output_type -> machine.ServiceListResponse + 59, // 253: machine.MachineService.ServiceRestart:output_type -> machine.ServiceRestartResponse + 53, // 254: machine.MachineService.ServiceStart:output_type -> machine.ServiceStartResponse + 56, // 255: machine.MachineService.ServiceStop:output_type -> machine.ServiceStopResponse + 41, // 256: machine.MachineService.Shutdown:output_type -> machine.ShutdownResponse + 94, // 257: machine.MachineService.Stats:output_type -> machine.StatsResponse + 103, // 258: machine.MachineService.SystemStat:output_type -> machine.SystemStatResponse + 44, // 259: machine.MachineService.Upgrade:output_type -> machine.UpgradeResponse + 70, // 260: machine.MachineService.Version:output_type -> machine.VersionResponse + 163, // 261: machine.MachineService.GenerateClientConfiguration:output_type -> machine.GenerateClientConfigurationResponse + 195, // 262: machine.MachineService.PacketCapture:output_type -> common.Data + 169, // 263: machine.MachineService.Netstat:output_type -> machine.NetstatResponse + 172, // 264: machine.MachineService.MetaWrite:output_type -> machine.MetaWriteResponse + 175, // 265: machine.MachineService.MetaDelete:output_type -> machine.MetaDeleteResponse + 177, // 266: machine.MachineService.ImageList:output_type -> machine.ImageListResponse + 180, // 267: machine.MachineService.ImagePull:output_type -> machine.ImagePullResponse + 216, // [216:268] is the sub-list for method output_type + 164, // [164:216] is the sub-list for method input_type + 164, // [164:164] is the sub-list for extension type_name + 164, // [164:164] is the sub-list for extension extendee + 0, // [0:164] is the sub-list for field type_name } func init() { file_machine_machine_proto_init() } @@ -14923,7 +15132,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[92].Exporter = func(v any, i int) any { - switch v := v.(*CPUInfoResponse); i { + switch v := v.(*CPUFreqStatsResponse); i { case 0: return &v.state case 1: @@ -14935,7 +15144,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[93].Exporter = func(v any, i int) any { - switch v := v.(*CPUsInfo); i { + switch v := v.(*CPUsFreqStats); i { case 0: return &v.state case 1: @@ -14947,7 +15156,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[94].Exporter = func(v any, i int) any { - switch v := v.(*CPUInfo); i { + switch v := v.(*CPUFreqStats); i { case 0: return &v.state case 1: @@ -14959,7 +15168,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[95].Exporter = func(v any, i int) any { - switch v := v.(*NetworkDeviceStatsResponse); i { + switch v := v.(*CPUInfoResponse); i { case 0: return &v.state case 1: @@ -14971,7 +15180,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[96].Exporter = func(v any, i int) any { - switch v := v.(*NetworkDeviceStats); i { + switch v := v.(*CPUsInfo); i { case 0: return &v.state case 1: @@ -14983,7 +15192,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[97].Exporter = func(v any, i int) any { - switch v := v.(*NetDev); i { + switch v := v.(*CPUInfo); i { case 0: return &v.state case 1: @@ -14995,7 +15204,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[98].Exporter = func(v any, i int) any { - switch v := v.(*DiskStatsResponse); i { + switch v := v.(*NetworkDeviceStatsResponse); i { case 0: return &v.state case 1: @@ -15007,7 +15216,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[99].Exporter = func(v any, i int) any { - switch v := v.(*DiskStats); i { + switch v := v.(*NetworkDeviceStats); i { case 0: return &v.state case 1: @@ -15019,7 +15228,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[100].Exporter = func(v any, i int) any { - switch v := v.(*DiskStat); i { + switch v := v.(*NetDev); i { case 0: return &v.state case 1: @@ -15031,7 +15240,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[101].Exporter = func(v any, i int) any { - switch v := v.(*EtcdLeaveClusterRequest); i { + switch v := v.(*DiskStatsResponse); i { case 0: return &v.state case 1: @@ -15043,7 +15252,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[102].Exporter = func(v any, i int) any { - switch v := v.(*EtcdLeaveCluster); i { + switch v := v.(*DiskStats); i { case 0: return &v.state case 1: @@ -15055,7 +15264,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[103].Exporter = func(v any, i int) any { - switch v := v.(*EtcdLeaveClusterResponse); i { + switch v := v.(*DiskStat); i { case 0: return &v.state case 1: @@ -15067,7 +15276,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[104].Exporter = func(v any, i int) any { - switch v := v.(*EtcdRemoveMemberRequest); i { + switch v := v.(*EtcdLeaveClusterRequest); i { case 0: return &v.state case 1: @@ -15079,7 +15288,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[105].Exporter = func(v any, i int) any { - switch v := v.(*EtcdRemoveMember); i { + switch v := v.(*EtcdLeaveCluster); i { case 0: return &v.state case 1: @@ -15091,7 +15300,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[106].Exporter = func(v any, i int) any { - switch v := v.(*EtcdRemoveMemberResponse); i { + switch v := v.(*EtcdLeaveClusterResponse); i { case 0: return &v.state case 1: @@ -15103,7 +15312,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[107].Exporter = func(v any, i int) any { - switch v := v.(*EtcdRemoveMemberByIDRequest); i { + switch v := v.(*EtcdRemoveMemberRequest); i { case 0: return &v.state case 1: @@ -15115,7 +15324,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[108].Exporter = func(v any, i int) any { - switch v := v.(*EtcdRemoveMemberByID); i { + switch v := v.(*EtcdRemoveMember); i { case 0: return &v.state case 1: @@ -15127,7 +15336,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[109].Exporter = func(v any, i int) any { - switch v := v.(*EtcdRemoveMemberByIDResponse); i { + switch v := v.(*EtcdRemoveMemberResponse); i { case 0: return &v.state case 1: @@ -15139,7 +15348,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[110].Exporter = func(v any, i int) any { - switch v := v.(*EtcdForfeitLeadershipRequest); i { + switch v := v.(*EtcdRemoveMemberByIDRequest); i { case 0: return &v.state case 1: @@ -15151,7 +15360,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[111].Exporter = func(v any, i int) any { - switch v := v.(*EtcdForfeitLeadership); i { + switch v := v.(*EtcdRemoveMemberByID); i { case 0: return &v.state case 1: @@ -15163,7 +15372,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[112].Exporter = func(v any, i int) any { - switch v := v.(*EtcdForfeitLeadershipResponse); i { + switch v := v.(*EtcdRemoveMemberByIDResponse); i { case 0: return &v.state case 1: @@ -15175,7 +15384,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[113].Exporter = func(v any, i int) any { - switch v := v.(*EtcdMemberListRequest); i { + switch v := v.(*EtcdForfeitLeadershipRequest); i { case 0: return &v.state case 1: @@ -15187,7 +15396,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[114].Exporter = func(v any, i int) any { - switch v := v.(*EtcdMember); i { + switch v := v.(*EtcdForfeitLeadership); i { case 0: return &v.state case 1: @@ -15199,7 +15408,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[115].Exporter = func(v any, i int) any { - switch v := v.(*EtcdMembers); i { + switch v := v.(*EtcdForfeitLeadershipResponse); i { case 0: return &v.state case 1: @@ -15211,7 +15420,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[116].Exporter = func(v any, i int) any { - switch v := v.(*EtcdMemberListResponse); i { + switch v := v.(*EtcdMemberListRequest); i { case 0: return &v.state case 1: @@ -15223,7 +15432,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[117].Exporter = func(v any, i int) any { - switch v := v.(*EtcdSnapshotRequest); i { + switch v := v.(*EtcdMember); i { case 0: return &v.state case 1: @@ -15235,7 +15444,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[118].Exporter = func(v any, i int) any { - switch v := v.(*EtcdRecover); i { + switch v := v.(*EtcdMembers); i { case 0: return &v.state case 1: @@ -15247,7 +15456,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[119].Exporter = func(v any, i int) any { - switch v := v.(*EtcdRecoverResponse); i { + switch v := v.(*EtcdMemberListResponse); i { case 0: return &v.state case 1: @@ -15259,7 +15468,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[120].Exporter = func(v any, i int) any { - switch v := v.(*EtcdAlarmListResponse); i { + switch v := v.(*EtcdSnapshotRequest); i { case 0: return &v.state case 1: @@ -15271,7 +15480,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[121].Exporter = func(v any, i int) any { - switch v := v.(*EtcdAlarm); i { + switch v := v.(*EtcdRecover); i { case 0: return &v.state case 1: @@ -15283,7 +15492,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[122].Exporter = func(v any, i int) any { - switch v := v.(*EtcdMemberAlarm); i { + switch v := v.(*EtcdRecoverResponse); i { case 0: return &v.state case 1: @@ -15295,7 +15504,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[123].Exporter = func(v any, i int) any { - switch v := v.(*EtcdAlarmDisarmResponse); i { + switch v := v.(*EtcdAlarmListResponse); i { case 0: return &v.state case 1: @@ -15307,7 +15516,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[124].Exporter = func(v any, i int) any { - switch v := v.(*EtcdAlarmDisarm); i { + switch v := v.(*EtcdAlarm); i { case 0: return &v.state case 1: @@ -15319,7 +15528,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[125].Exporter = func(v any, i int) any { - switch v := v.(*EtcdDefragmentResponse); i { + switch v := v.(*EtcdMemberAlarm); i { case 0: return &v.state case 1: @@ -15331,7 +15540,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[126].Exporter = func(v any, i int) any { - switch v := v.(*EtcdDefragment); i { + switch v := v.(*EtcdAlarmDisarmResponse); i { case 0: return &v.state case 1: @@ -15343,7 +15552,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[127].Exporter = func(v any, i int) any { - switch v := v.(*EtcdStatusResponse); i { + switch v := v.(*EtcdAlarmDisarm); i { case 0: return &v.state case 1: @@ -15355,7 +15564,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[128].Exporter = func(v any, i int) any { - switch v := v.(*EtcdStatus); i { + switch v := v.(*EtcdDefragmentResponse); i { case 0: return &v.state case 1: @@ -15367,7 +15576,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[129].Exporter = func(v any, i int) any { - switch v := v.(*EtcdMemberStatus); i { + switch v := v.(*EtcdDefragment); i { case 0: return &v.state case 1: @@ -15379,7 +15588,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[130].Exporter = func(v any, i int) any { - switch v := v.(*RouteConfig); i { + switch v := v.(*EtcdStatusResponse); i { case 0: return &v.state case 1: @@ -15391,7 +15600,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[131].Exporter = func(v any, i int) any { - switch v := v.(*DHCPOptionsConfig); i { + switch v := v.(*EtcdStatus); i { case 0: return &v.state case 1: @@ -15403,7 +15612,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[132].Exporter = func(v any, i int) any { - switch v := v.(*NetworkDeviceConfig); i { + switch v := v.(*EtcdMemberStatus); i { case 0: return &v.state case 1: @@ -15415,7 +15624,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[133].Exporter = func(v any, i int) any { - switch v := v.(*NetworkConfig); i { + switch v := v.(*RouteConfig); i { case 0: return &v.state case 1: @@ -15427,7 +15636,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[134].Exporter = func(v any, i int) any { - switch v := v.(*InstallConfig); i { + switch v := v.(*DHCPOptionsConfig); i { case 0: return &v.state case 1: @@ -15439,7 +15648,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[135].Exporter = func(v any, i int) any { - switch v := v.(*MachineConfig); i { + switch v := v.(*NetworkDeviceConfig); i { case 0: return &v.state case 1: @@ -15451,7 +15660,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[136].Exporter = func(v any, i int) any { - switch v := v.(*ControlPlaneConfig); i { + switch v := v.(*NetworkConfig); i { case 0: return &v.state case 1: @@ -15463,7 +15672,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[137].Exporter = func(v any, i int) any { - switch v := v.(*CNIConfig); i { + switch v := v.(*InstallConfig); i { case 0: return &v.state case 1: @@ -15475,7 +15684,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[138].Exporter = func(v any, i int) any { - switch v := v.(*ClusterNetworkConfig); i { + switch v := v.(*MachineConfig); i { case 0: return &v.state case 1: @@ -15487,7 +15696,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[139].Exporter = func(v any, i int) any { - switch v := v.(*ClusterConfig); i { + switch v := v.(*ControlPlaneConfig); i { case 0: return &v.state case 1: @@ -15499,7 +15708,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[140].Exporter = func(v any, i int) any { - switch v := v.(*GenerateConfigurationRequest); i { + switch v := v.(*CNIConfig); i { case 0: return &v.state case 1: @@ -15511,7 +15720,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[141].Exporter = func(v any, i int) any { - switch v := v.(*GenerateConfiguration); i { + switch v := v.(*ClusterNetworkConfig); i { case 0: return &v.state case 1: @@ -15523,7 +15732,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[142].Exporter = func(v any, i int) any { - switch v := v.(*GenerateConfigurationResponse); i { + switch v := v.(*ClusterConfig); i { case 0: return &v.state case 1: @@ -15535,7 +15744,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[143].Exporter = func(v any, i int) any { - switch v := v.(*GenerateClientConfigurationRequest); i { + switch v := v.(*GenerateConfigurationRequest); i { case 0: return &v.state case 1: @@ -15547,7 +15756,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[144].Exporter = func(v any, i int) any { - switch v := v.(*GenerateClientConfiguration); i { + switch v := v.(*GenerateConfiguration); i { case 0: return &v.state case 1: @@ -15559,7 +15768,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[145].Exporter = func(v any, i int) any { - switch v := v.(*GenerateClientConfigurationResponse); i { + switch v := v.(*GenerateConfigurationResponse); i { case 0: return &v.state case 1: @@ -15571,7 +15780,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[146].Exporter = func(v any, i int) any { - switch v := v.(*PacketCaptureRequest); i { + switch v := v.(*GenerateClientConfigurationRequest); i { case 0: return &v.state case 1: @@ -15583,7 +15792,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[147].Exporter = func(v any, i int) any { - switch v := v.(*BPFInstruction); i { + switch v := v.(*GenerateClientConfiguration); i { case 0: return &v.state case 1: @@ -15595,7 +15804,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[148].Exporter = func(v any, i int) any { - switch v := v.(*NetstatRequest); i { + switch v := v.(*GenerateClientConfigurationResponse); i { case 0: return &v.state case 1: @@ -15607,7 +15816,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[149].Exporter = func(v any, i int) any { - switch v := v.(*ConnectRecord); i { + switch v := v.(*PacketCaptureRequest); i { case 0: return &v.state case 1: @@ -15619,7 +15828,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[150].Exporter = func(v any, i int) any { - switch v := v.(*Netstat); i { + switch v := v.(*BPFInstruction); i { case 0: return &v.state case 1: @@ -15631,7 +15840,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[151].Exporter = func(v any, i int) any { - switch v := v.(*NetstatResponse); i { + switch v := v.(*NetstatRequest); i { case 0: return &v.state case 1: @@ -15643,7 +15852,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[152].Exporter = func(v any, i int) any { - switch v := v.(*MetaWriteRequest); i { + switch v := v.(*ConnectRecord); i { case 0: return &v.state case 1: @@ -15655,7 +15864,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[153].Exporter = func(v any, i int) any { - switch v := v.(*MetaWrite); i { + switch v := v.(*Netstat); i { case 0: return &v.state case 1: @@ -15667,7 +15876,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[154].Exporter = func(v any, i int) any { - switch v := v.(*MetaWriteResponse); i { + switch v := v.(*NetstatResponse); i { case 0: return &v.state case 1: @@ -15679,7 +15888,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[155].Exporter = func(v any, i int) any { - switch v := v.(*MetaDeleteRequest); i { + switch v := v.(*MetaWriteRequest); i { case 0: return &v.state case 1: @@ -15691,7 +15900,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[156].Exporter = func(v any, i int) any { - switch v := v.(*MetaDelete); i { + switch v := v.(*MetaWrite); i { case 0: return &v.state case 1: @@ -15703,7 +15912,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[157].Exporter = func(v any, i int) any { - switch v := v.(*MetaDeleteResponse); i { + switch v := v.(*MetaWriteResponse); i { case 0: return &v.state case 1: @@ -15715,7 +15924,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[158].Exporter = func(v any, i int) any { - switch v := v.(*ImageListRequest); i { + switch v := v.(*MetaDeleteRequest); i { case 0: return &v.state case 1: @@ -15727,7 +15936,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[159].Exporter = func(v any, i int) any { - switch v := v.(*ImageListResponse); i { + switch v := v.(*MetaDelete); i { case 0: return &v.state case 1: @@ -15739,7 +15948,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[160].Exporter = func(v any, i int) any { - switch v := v.(*ImagePullRequest); i { + switch v := v.(*MetaDeleteResponse); i { case 0: return &v.state case 1: @@ -15751,7 +15960,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[161].Exporter = func(v any, i int) any { - switch v := v.(*ImagePull); i { + switch v := v.(*ImageListRequest); i { case 0: return &v.state case 1: @@ -15763,7 +15972,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[162].Exporter = func(v any, i int) any { - switch v := v.(*ImagePullResponse); i { + switch v := v.(*ImageListResponse); i { case 0: return &v.state case 1: @@ -15775,7 +15984,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[163].Exporter = func(v any, i int) any { - switch v := v.(*MachineStatusEvent_MachineStatus); i { + switch v := v.(*ImagePullRequest); i { case 0: return &v.state case 1: @@ -15787,7 +15996,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[164].Exporter = func(v any, i int) any { - switch v := v.(*MachineStatusEvent_MachineStatus_UnmetCondition); i { + switch v := v.(*ImagePull); i { case 0: return &v.state case 1: @@ -15799,7 +16008,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[165].Exporter = func(v any, i int) any { - switch v := v.(*NetstatRequest_Feature); i { + switch v := v.(*ImagePullResponse); i { case 0: return &v.state case 1: @@ -15811,7 +16020,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[166].Exporter = func(v any, i int) any { - switch v := v.(*NetstatRequest_L4Proto); i { + switch v := v.(*MachineStatusEvent_MachineStatus); i { case 0: return &v.state case 1: @@ -15823,7 +16032,7 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[167].Exporter = func(v any, i int) any { - switch v := v.(*NetstatRequest_NetNS); i { + switch v := v.(*MachineStatusEvent_MachineStatus_UnmetCondition); i { case 0: return &v.state case 1: @@ -15835,6 +16044,42 @@ func file_machine_machine_proto_init() { } } file_machine_machine_proto_msgTypes[168].Exporter = func(v any, i int) any { + switch v := v.(*NetstatRequest_Feature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_machine_machine_proto_msgTypes[169].Exporter = func(v any, i int) any { + switch v := v.(*NetstatRequest_L4Proto); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_machine_machine_proto_msgTypes[170].Exporter = func(v any, i int) any { + switch v := v.(*NetstatRequest_NetNS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_machine_machine_proto_msgTypes[171].Exporter = func(v any, i int) any { switch v := v.(*ConnectRecord_Process); i { case 0: return &v.state @@ -15853,7 +16098,7 @@ func file_machine_machine_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_machine_machine_proto_rawDesc, NumEnums: 15, - NumMessages: 169, + NumMessages: 172, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/machinery/api/machine/machine_grpc.pb.go b/pkg/machinery/api/machine/machine_grpc.pb.go index 6c4b6a69bb..51d84de2b2 100644 --- a/pkg/machinery/api/machine/machine_grpc.pb.go +++ b/pkg/machinery/api/machine/machine_grpc.pb.go @@ -27,6 +27,7 @@ const ( MachineService_Bootstrap_FullMethodName = "/machine.MachineService/Bootstrap" MachineService_Containers_FullMethodName = "/machine.MachineService/Containers" MachineService_Copy_FullMethodName = "/machine.MachineService/Copy" + MachineService_CPUFreqStats_FullMethodName = "/machine.MachineService/CPUFreqStats" MachineService_CPUInfo_FullMethodName = "/machine.MachineService/CPUInfo" MachineService_DiskStats_FullMethodName = "/machine.MachineService/DiskStats" MachineService_Dmesg_FullMethodName = "/machine.MachineService/Dmesg" @@ -90,6 +91,7 @@ type MachineServiceClient interface { Bootstrap(ctx context.Context, in *BootstrapRequest, opts ...grpc.CallOption) (*BootstrapResponse, error) Containers(ctx context.Context, in *ContainersRequest, opts ...grpc.CallOption) (*ContainersResponse, error) Copy(ctx context.Context, in *CopyRequest, opts ...grpc.CallOption) (MachineService_CopyClient, error) + CPUFreqStats(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*CPUFreqStatsResponse, error) CPUInfo(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*CPUInfoResponse, error) DiskStats(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DiskStatsResponse, error) Dmesg(ctx context.Context, in *DmesgRequest, opts ...grpc.CallOption) (MachineService_DmesgClient, error) @@ -236,6 +238,16 @@ func (x *machineServiceCopyClient) Recv() (*common.Data, error) { return m, nil } +func (c *machineServiceClient) CPUFreqStats(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*CPUFreqStatsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CPUFreqStatsResponse) + err := c.cc.Invoke(ctx, MachineService_CPUFreqStats_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *machineServiceClient) CPUInfo(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*CPUInfoResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(CPUInfoResponse) @@ -975,6 +987,7 @@ type MachineServiceServer interface { Bootstrap(context.Context, *BootstrapRequest) (*BootstrapResponse, error) Containers(context.Context, *ContainersRequest) (*ContainersResponse, error) Copy(*CopyRequest, MachineService_CopyServer) error + CPUFreqStats(context.Context, *emptypb.Empty) (*CPUFreqStatsResponse, error) CPUInfo(context.Context, *emptypb.Empty) (*CPUInfoResponse, error) DiskStats(context.Context, *emptypb.Empty) (*DiskStatsResponse, error) Dmesg(*DmesgRequest, MachineService_DmesgServer) error @@ -1067,6 +1080,9 @@ func (UnimplementedMachineServiceServer) Containers(context.Context, *Containers func (UnimplementedMachineServiceServer) Copy(*CopyRequest, MachineService_CopyServer) error { return status.Errorf(codes.Unimplemented, "method Copy not implemented") } +func (UnimplementedMachineServiceServer) CPUFreqStats(context.Context, *emptypb.Empty) (*CPUFreqStatsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CPUFreqStats not implemented") +} func (UnimplementedMachineServiceServer) CPUInfo(context.Context, *emptypb.Empty) (*CPUInfoResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CPUInfo not implemented") } @@ -1296,6 +1312,24 @@ func (x *machineServiceCopyServer) Send(m *common.Data) error { return x.ServerStream.SendMsg(m) } +func _MachineService_CPUFreqStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MachineServiceServer).CPUFreqStats(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: MachineService_CPUFreqStats_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MachineServiceServer).CPUFreqStats(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + func _MachineService_CPUInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { @@ -2199,6 +2233,10 @@ var MachineService_ServiceDesc = grpc.ServiceDesc{ MethodName: "Containers", Handler: _MachineService_Containers_Handler, }, + { + MethodName: "CPUFreqStats", + Handler: _MachineService_CPUFreqStats_Handler, + }, { MethodName: "CPUInfo", Handler: _MachineService_CPUInfo_Handler, diff --git a/pkg/machinery/api/machine/machine_vtproto.pb.go b/pkg/machinery/api/machine/machine_vtproto.pb.go index d59367b77a..99fe26f06e 100644 --- a/pkg/machinery/api/machine/machine_vtproto.pb.go +++ b/pkg/machinery/api/machine/machine_vtproto.pb.go @@ -5737,6 +5737,173 @@ func (m *SoftIRQStat) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *CPUFreqStatsResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CPUFreqStatsResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CPUFreqStatsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Messages) > 0 { + for iNdEx := len(m.Messages) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Messages[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *CPUsFreqStats) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CPUsFreqStats) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CPUsFreqStats) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.CpuFreqStats) > 0 { + for iNdEx := len(m.CpuFreqStats) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CpuFreqStats[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if m.Metadata != nil { + if vtmsg, ok := interface{}(m.Metadata).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CPUFreqStats) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CPUFreqStats) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CPUFreqStats) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Governor) > 0 { + i -= len(m.Governor) + copy(dAtA[i:], m.Governor) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Governor))) + i-- + dAtA[i] = 0x22 + } + if m.MaximumFrequency != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MaximumFrequency)) + i-- + dAtA[i] = 0x18 + } + if m.MinimumFrequency != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinimumFrequency)) + i-- + dAtA[i] = 0x10 + } + if m.CurrentFrequency != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.CurrentFrequency)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *CPUInfoResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -12450,6 +12617,71 @@ func (m *SoftIRQStat) SizeVT() (n int) { return n } +func (m *CPUFreqStatsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Messages) > 0 { + for _, e := range m.Messages { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *CPUsFreqStats) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Metadata != nil { + if size, ok := interface{}(m.Metadata).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Metadata) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.CpuFreqStats) > 0 { + for _, e := range m.CpuFreqStats { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *CPUFreqStats) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CurrentFrequency != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.CurrentFrequency)) + } + if m.MinimumFrequency != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MinimumFrequency)) + } + if m.MaximumFrequency != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MaximumFrequency)) + } + l = len(m.Governor) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *CPUInfoResponse) SizeVT() (n int) { if m == nil { return 0 @@ -27076,6 +27308,360 @@ func (m *SoftIRQStat) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *CPUFreqStatsResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CPUFreqStatsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CPUFreqStatsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Messages = append(m.Messages, &CPUsFreqStats{}) + if err := m.Messages[len(m.Messages)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CPUsFreqStats) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CPUsFreqStats: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CPUsFreqStats: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Metadata == nil { + m.Metadata = &common.Metadata{} + } + if unmarshal, ok := interface{}(m.Metadata).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata); err != nil { + return err + } + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CpuFreqStats", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CpuFreqStats = append(m.CpuFreqStats, &CPUFreqStats{}) + if err := m.CpuFreqStats[len(m.CpuFreqStats)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CPUFreqStats) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CPUFreqStats: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CPUFreqStats: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CurrentFrequency", wireType) + } + m.CurrentFrequency = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CurrentFrequency |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinimumFrequency", wireType) + } + m.MinimumFrequency = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinimumFrequency |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaximumFrequency", wireType) + } + m.MaximumFrequency = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MaximumFrequency |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Governor", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Governor = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *CPUInfoResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0