// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.34.2
// 	protoc        v3.21.12
// source: spacex_api/device/device.proto

package device

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	service "github.com/clarkzjw/starlink-grpc-golang/pkg/spacex.com/api/device/services/unlock/service"
	status "github.com/clarkzjw/starlink-grpc-golang/pkg/spacex.com/api/status"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type WifiClientSandboxAlert int32

const (
	WifiClientSandboxAlert_SANDBOX_ALERT_UNKNOWN      WifiClientSandboxAlert = 0
	WifiClientSandboxAlert_SANDBOX_ALERT_PORTAL       WifiClientSandboxAlert = 1
	WifiClientSandboxAlert_SANDBOX_ALERT_GROUND_API   WifiClientSandboxAlert = 2
	WifiClientSandboxAlert_SANDBOX_ALERT_STARLINK_API WifiClientSandboxAlert = 3
)

// Enum value maps for WifiClientSandboxAlert.
var (
	WifiClientSandboxAlert_name = map[int32]string{
		0: "SANDBOX_ALERT_UNKNOWN",
		1: "SANDBOX_ALERT_PORTAL",
		2: "SANDBOX_ALERT_GROUND_API",
		3: "SANDBOX_ALERT_STARLINK_API",
	}
	WifiClientSandboxAlert_value = map[string]int32{
		"SANDBOX_ALERT_UNKNOWN":      0,
		"SANDBOX_ALERT_PORTAL":       1,
		"SANDBOX_ALERT_GROUND_API":   2,
		"SANDBOX_ALERT_STARLINK_API": 3,
	}
)

func (x WifiClientSandboxAlert) Enum() *WifiClientSandboxAlert {
	p := new(WifiClientSandboxAlert)
	*p = x
	return p
}

func (x WifiClientSandboxAlert) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WifiClientSandboxAlert) Descriptor() protoreflect.EnumDescriptor {
	return file_spacex_api_device_device_proto_enumTypes[0].Descriptor()
}

func (WifiClientSandboxAlert) Type() protoreflect.EnumType {
	return &file_spacex_api_device_device_proto_enumTypes[0]
}

func (x WifiClientSandboxAlert) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WifiClientSandboxAlert.Descriptor instead.
func (WifiClientSandboxAlert) EnumDescriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{0}
}

type PositionSource int32

const (
	PositionSource_AUTO         PositionSource = 0
	PositionSource_NONE         PositionSource = 1
	PositionSource_UT_INFO      PositionSource = 2
	PositionSource_EXTERNAL     PositionSource = 3
	PositionSource_GPS          PositionSource = 4
	PositionSource_STARLINK     PositionSource = 5
	PositionSource_GNC_FUSED    PositionSource = 6
	PositionSource_GNC_BAD_SAT  PositionSource = 7
	PositionSource_GNC_NO_ACCEL PositionSource = 8
	PositionSource_GNC_PNT      PositionSource = 9
	PositionSource_GNC_STATIC   PositionSource = 10
)

// Enum value maps for PositionSource.
var (
	PositionSource_name = map[int32]string{
		0:  "AUTO",
		1:  "NONE",
		2:  "UT_INFO",
		3:  "EXTERNAL",
		4:  "GPS",
		5:  "STARLINK",
		6:  "GNC_FUSED",
		7:  "GNC_BAD_SAT",
		8:  "GNC_NO_ACCEL",
		9:  "GNC_PNT",
		10: "GNC_STATIC",
	}
	PositionSource_value = map[string]int32{
		"AUTO":         0,
		"NONE":         1,
		"UT_INFO":      2,
		"EXTERNAL":     3,
		"GPS":          4,
		"STARLINK":     5,
		"GNC_FUSED":    6,
		"GNC_BAD_SAT":  7,
		"GNC_NO_ACCEL": 8,
		"GNC_PNT":      9,
		"GNC_STATIC":   10,
	}
)

func (x PositionSource) Enum() *PositionSource {
	p := new(PositionSource)
	*p = x
	return p
}

func (x PositionSource) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PositionSource) Descriptor() protoreflect.EnumDescriptor {
	return file_spacex_api_device_device_proto_enumTypes[1].Descriptor()
}

func (PositionSource) Type() protoreflect.EnumType {
	return &file_spacex_api_device_device_proto_enumTypes[1]
}

func (x PositionSource) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PositionSource.Descriptor instead.
func (PositionSource) EnumDescriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{1}
}

type SpeedtestError int32

const (
	SpeedtestError_SPEEDTEST_ERROR_NONE      SpeedtestError = 0
	SpeedtestError_SPEEDTEST_ERROR_UNKNOWN   SpeedtestError = 1
	SpeedtestError_SPEEDTEST_ERROR_TOKEN     SpeedtestError = 2
	SpeedtestError_SPEEDTEST_ERROR_API       SpeedtestError = 3
	SpeedtestError_SPEEDTEST_ERROR_NO_RESULT SpeedtestError = 4
	SpeedtestError_SPEEDTEST_ERROR_OFFLINE   SpeedtestError = 5
)

// Enum value maps for SpeedtestError.
var (
	SpeedtestError_name = map[int32]string{
		0: "SPEEDTEST_ERROR_NONE",
		1: "SPEEDTEST_ERROR_UNKNOWN",
		2: "SPEEDTEST_ERROR_TOKEN",
		3: "SPEEDTEST_ERROR_API",
		4: "SPEEDTEST_ERROR_NO_RESULT",
		5: "SPEEDTEST_ERROR_OFFLINE",
	}
	SpeedtestError_value = map[string]int32{
		"SPEEDTEST_ERROR_NONE":      0,
		"SPEEDTEST_ERROR_UNKNOWN":   1,
		"SPEEDTEST_ERROR_TOKEN":     2,
		"SPEEDTEST_ERROR_API":       3,
		"SPEEDTEST_ERROR_NO_RESULT": 4,
		"SPEEDTEST_ERROR_OFFLINE":   5,
	}
)

func (x SpeedtestError) Enum() *SpeedtestError {
	p := new(SpeedtestError)
	*p = x
	return p
}

func (x SpeedtestError) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SpeedtestError) Descriptor() protoreflect.EnumDescriptor {
	return file_spacex_api_device_device_proto_enumTypes[2].Descriptor()
}

func (SpeedtestError) Type() protoreflect.EnumType {
	return &file_spacex_api_device_device_proto_enumTypes[2]
}

func (x SpeedtestError) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SpeedtestError.Descriptor instead.
func (SpeedtestError) EnumDescriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{2}
}

type SpeedTestStats_Target int32

const (
	SpeedTestStats_UNKNOWN    SpeedTestStats_Target = 0
	SpeedTestStats_FASTCOM    SpeedTestStats_Target = 1
	SpeedTestStats_CLOUDFLARE SpeedTestStats_Target = 2
)

// Enum value maps for SpeedTestStats_Target.
var (
	SpeedTestStats_Target_name = map[int32]string{
		0: "UNKNOWN",
		1: "FASTCOM",
		2: "CLOUDFLARE",
	}
	SpeedTestStats_Target_value = map[string]int32{
		"UNKNOWN":    0,
		"FASTCOM":    1,
		"CLOUDFLARE": 2,
	}
)

func (x SpeedTestStats_Target) Enum() *SpeedTestStats_Target {
	p := new(SpeedTestStats_Target)
	*p = x
	return p
}

func (x SpeedTestStats_Target) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SpeedTestStats_Target) Descriptor() protoreflect.EnumDescriptor {
	return file_spacex_api_device_device_proto_enumTypes[3].Descriptor()
}

func (SpeedTestStats_Target) Type() protoreflect.EnumType {
	return &file_spacex_api_device_device_proto_enumTypes[3]
}

func (x SpeedTestStats_Target) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SpeedTestStats_Target.Descriptor instead.
func (SpeedTestStats_Target) EnumDescriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{30, 0}
}

type ClientPlatform_Platform int32

const (
	ClientPlatform_UNKNOWN ClientPlatform_Platform = 0
	ClientPlatform_IOS     ClientPlatform_Platform = 1
	ClientPlatform_ANDROID ClientPlatform_Platform = 2
	ClientPlatform_WEB     ClientPlatform_Platform = 3
)

// Enum value maps for ClientPlatform_Platform.
var (
	ClientPlatform_Platform_name = map[int32]string{
		0: "UNKNOWN",
		1: "IOS",
		2: "ANDROID",
		3: "WEB",
	}
	ClientPlatform_Platform_value = map[string]int32{
		"UNKNOWN": 0,
		"IOS":     1,
		"ANDROID": 2,
		"WEB":     3,
	}
)

func (x ClientPlatform_Platform) Enum() *ClientPlatform_Platform {
	p := new(ClientPlatform_Platform)
	*p = x
	return p
}

func (x ClientPlatform_Platform) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ClientPlatform_Platform) Descriptor() protoreflect.EnumDescriptor {
	return file_spacex_api_device_device_proto_enumTypes[4].Descriptor()
}

func (ClientPlatform_Platform) Type() protoreflect.EnumType {
	return &file_spacex_api_device_device_proto_enumTypes[4]
}

func (x ClientPlatform_Platform) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ClientPlatform_Platform.Descriptor instead.
func (ClientPlatform_Platform) EnumDescriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{31, 0}
}

type DishGetDiagnosticsResponse_TestResult int32

const (
	DishGetDiagnosticsResponse_NO_RESULT DishGetDiagnosticsResponse_TestResult = 0
	DishGetDiagnosticsResponse_PASSED    DishGetDiagnosticsResponse_TestResult = 1
	DishGetDiagnosticsResponse_FAILED    DishGetDiagnosticsResponse_TestResult = 2
)

// Enum value maps for DishGetDiagnosticsResponse_TestResult.
var (
	DishGetDiagnosticsResponse_TestResult_name = map[int32]string{
		0: "NO_RESULT",
		1: "PASSED",
		2: "FAILED",
	}
	DishGetDiagnosticsResponse_TestResult_value = map[string]int32{
		"NO_RESULT": 0,
		"PASSED":    1,
		"FAILED":    2,
	}
)

func (x DishGetDiagnosticsResponse_TestResult) Enum() *DishGetDiagnosticsResponse_TestResult {
	p := new(DishGetDiagnosticsResponse_TestResult)
	*p = x
	return p
}

func (x DishGetDiagnosticsResponse_TestResult) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DishGetDiagnosticsResponse_TestResult) Descriptor() protoreflect.EnumDescriptor {
	return file_spacex_api_device_device_proto_enumTypes[5].Descriptor()
}

func (DishGetDiagnosticsResponse_TestResult) Type() protoreflect.EnumType {
	return &file_spacex_api_device_device_proto_enumTypes[5]
}

func (x DishGetDiagnosticsResponse_TestResult) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DishGetDiagnosticsResponse_TestResult.Descriptor instead.
func (DishGetDiagnosticsResponse_TestResult) EnumDescriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{75, 0}
}

type DishGetDiagnosticsResponse_TestResultCode int32

const (
	DishGetDiagnosticsResponse_GENERAL           DishGetDiagnosticsResponse_TestResultCode = 0
	DishGetDiagnosticsResponse_BOOT_UP           DishGetDiagnosticsResponse_TestResultCode = 1
	DishGetDiagnosticsResponse_CPU_VOLTAGE       DishGetDiagnosticsResponse_TestResultCode = 2
	DishGetDiagnosticsResponse_DBF_AAP_CS        DishGetDiagnosticsResponse_TestResultCode = 3
	DishGetDiagnosticsResponse_DBF_NUM_FEMS      DishGetDiagnosticsResponse_TestResultCode = 4
	DishGetDiagnosticsResponse_DBF_READ_ERRORS   DishGetDiagnosticsResponse_TestResultCode = 5
	DishGetDiagnosticsResponse_DBF_T_DIE_0       DishGetDiagnosticsResponse_TestResultCode = 6
	DishGetDiagnosticsResponse_DBF_T_DIE_1       DishGetDiagnosticsResponse_TestResultCode = 7
	DishGetDiagnosticsResponse_DBF_T_DIE_0_VALID DishGetDiagnosticsResponse_TestResultCode = 8
	DishGetDiagnosticsResponse_DBF_T_DIE_1_VALID DishGetDiagnosticsResponse_TestResultCode = 9
	DishGetDiagnosticsResponse_ETH_PRIME         DishGetDiagnosticsResponse_TestResultCode = 10
	DishGetDiagnosticsResponse_EIRP              DishGetDiagnosticsResponse_TestResultCode = 11
	DishGetDiagnosticsResponse_FEM_CUT           DishGetDiagnosticsResponse_TestResultCode = 12
	DishGetDiagnosticsResponse_FUSE_AVS          DishGetDiagnosticsResponse_TestResultCode = 13
	DishGetDiagnosticsResponse_GPS               DishGetDiagnosticsResponse_TestResultCode = 14
	DishGetDiagnosticsResponse_IMU               DishGetDiagnosticsResponse_TestResultCode = 15
	DishGetDiagnosticsResponse_PHY               DishGetDiagnosticsResponse_TestResultCode = 16
	DishGetDiagnosticsResponse_SCP_ERROR         DishGetDiagnosticsResponse_TestResultCode = 17
	DishGetDiagnosticsResponse_TEMPERATURE       DishGetDiagnosticsResponse_TestResultCode = 18
	DishGetDiagnosticsResponse_VTSENS            DishGetDiagnosticsResponse_TestResultCode = 19
)

// Enum value maps for DishGetDiagnosticsResponse_TestResultCode.
var (
	DishGetDiagnosticsResponse_TestResultCode_name = map[int32]string{
		0:  "GENERAL",
		1:  "BOOT_UP",
		2:  "CPU_VOLTAGE",
		3:  "DBF_AAP_CS",
		4:  "DBF_NUM_FEMS",
		5:  "DBF_READ_ERRORS",
		6:  "DBF_T_DIE_0",
		7:  "DBF_T_DIE_1",
		8:  "DBF_T_DIE_0_VALID",
		9:  "DBF_T_DIE_1_VALID",
		10: "ETH_PRIME",
		11: "EIRP",
		12: "FEM_CUT",
		13: "FUSE_AVS",
		14: "GPS",
		15: "IMU",
		16: "PHY",
		17: "SCP_ERROR",
		18: "TEMPERATURE",
		19: "VTSENS",
	}
	DishGetDiagnosticsResponse_TestResultCode_value = map[string]int32{
		"GENERAL":           0,
		"BOOT_UP":           1,
		"CPU_VOLTAGE":       2,
		"DBF_AAP_CS":        3,
		"DBF_NUM_FEMS":      4,
		"DBF_READ_ERRORS":   5,
		"DBF_T_DIE_0":       6,
		"DBF_T_DIE_1":       7,
		"DBF_T_DIE_0_VALID": 8,
		"DBF_T_DIE_1_VALID": 9,
		"ETH_PRIME":         10,
		"EIRP":              11,
		"FEM_CUT":           12,
		"FUSE_AVS":          13,
		"GPS":               14,
		"IMU":               15,
		"PHY":               16,
		"SCP_ERROR":         17,
		"TEMPERATURE":       18,
		"VTSENS":            19,
	}
)

func (x DishGetDiagnosticsResponse_TestResultCode) Enum() *DishGetDiagnosticsResponse_TestResultCode {
	p := new(DishGetDiagnosticsResponse_TestResultCode)
	*p = x
	return p
}

func (x DishGetDiagnosticsResponse_TestResultCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DishGetDiagnosticsResponse_TestResultCode) Descriptor() protoreflect.EnumDescriptor {
	return file_spacex_api_device_device_proto_enumTypes[6].Descriptor()
}

func (DishGetDiagnosticsResponse_TestResultCode) Type() protoreflect.EnumType {
	return &file_spacex_api_device_device_proto_enumTypes[6]
}

func (x DishGetDiagnosticsResponse_TestResultCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DishGetDiagnosticsResponse_TestResultCode.Descriptor instead.
func (DishGetDiagnosticsResponse_TestResultCode) EnumDescriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{75, 1}
}

type DishGetDiagnosticsResponse_DisablementCode int32

const (
	DishGetDiagnosticsResponse_UNKNOWN                       DishGetDiagnosticsResponse_DisablementCode = 0
	DishGetDiagnosticsResponse_OKAY                          DishGetDiagnosticsResponse_DisablementCode = 1
	DishGetDiagnosticsResponse_NO_ACTIVE_ACCOUNT             DishGetDiagnosticsResponse_DisablementCode = 2
	DishGetDiagnosticsResponse_TOO_FAR_FROM_SERVICE_ADDRESS  DishGetDiagnosticsResponse_DisablementCode = 3
	DishGetDiagnosticsResponse_IN_OCEAN                      DishGetDiagnosticsResponse_DisablementCode = 4
	DishGetDiagnosticsResponse_BLOCKED_COUNTRY               DishGetDiagnosticsResponse_DisablementCode = 6
	DishGetDiagnosticsResponse_DATA_OVERAGE_SANDBOX_POLICY   DishGetDiagnosticsResponse_DisablementCode = 7
	DishGetDiagnosticsResponse_CELL_IS_DISABLED              DishGetDiagnosticsResponse_DisablementCode = 8
	DishGetDiagnosticsResponse_ROAM_RESTRICTED               DishGetDiagnosticsResponse_DisablementCode = 10
	DishGetDiagnosticsResponse_UNKNOWN_LOCATION              DishGetDiagnosticsResponse_DisablementCode = 11
	DishGetDiagnosticsResponse_ACCOUNT_DISABLED              DishGetDiagnosticsResponse_DisablementCode = 12
	DishGetDiagnosticsResponse_UNSUPPORTED_VERSION           DishGetDiagnosticsResponse_DisablementCode = 13
	DishGetDiagnosticsResponse_MOVING_TOO_FAST_FOR_POLICY    DishGetDiagnosticsResponse_DisablementCode = 14
	DishGetDiagnosticsResponse_UNDER_AVIATION_FLYOVER_LIMITS DishGetDiagnosticsResponse_DisablementCode = 15
	DishGetDiagnosticsResponse_BLOCKED_AREA                  DishGetDiagnosticsResponse_DisablementCode = 16
)

// Enum value maps for DishGetDiagnosticsResponse_DisablementCode.
var (
	DishGetDiagnosticsResponse_DisablementCode_name = map[int32]string{
		0:  "UNKNOWN",
		1:  "OKAY",
		2:  "NO_ACTIVE_ACCOUNT",
		3:  "TOO_FAR_FROM_SERVICE_ADDRESS",
		4:  "IN_OCEAN",
		6:  "BLOCKED_COUNTRY",
		7:  "DATA_OVERAGE_SANDBOX_POLICY",
		8:  "CELL_IS_DISABLED",
		10: "ROAM_RESTRICTED",
		11: "UNKNOWN_LOCATION",
		12: "ACCOUNT_DISABLED",
		13: "UNSUPPORTED_VERSION",
		14: "MOVING_TOO_FAST_FOR_POLICY",
		15: "UNDER_AVIATION_FLYOVER_LIMITS",
		16: "BLOCKED_AREA",
	}
	DishGetDiagnosticsResponse_DisablementCode_value = map[string]int32{
		"UNKNOWN":                       0,
		"OKAY":                          1,
		"NO_ACTIVE_ACCOUNT":             2,
		"TOO_FAR_FROM_SERVICE_ADDRESS":  3,
		"IN_OCEAN":                      4,
		"BLOCKED_COUNTRY":               6,
		"DATA_OVERAGE_SANDBOX_POLICY":   7,
		"CELL_IS_DISABLED":              8,
		"ROAM_RESTRICTED":               10,
		"UNKNOWN_LOCATION":              11,
		"ACCOUNT_DISABLED":              12,
		"UNSUPPORTED_VERSION":           13,
		"MOVING_TOO_FAST_FOR_POLICY":    14,
		"UNDER_AVIATION_FLYOVER_LIMITS": 15,
		"BLOCKED_AREA":                  16,
	}
)

func (x DishGetDiagnosticsResponse_DisablementCode) Enum() *DishGetDiagnosticsResponse_DisablementCode {
	p := new(DishGetDiagnosticsResponse_DisablementCode)
	*p = x
	return p
}

func (x DishGetDiagnosticsResponse_DisablementCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DishGetDiagnosticsResponse_DisablementCode) Descriptor() protoreflect.EnumDescriptor {
	return file_spacex_api_device_device_proto_enumTypes[7].Descriptor()
}

func (DishGetDiagnosticsResponse_DisablementCode) Type() protoreflect.EnumType {
	return &file_spacex_api_device_device_proto_enumTypes[7]
}

func (x DishGetDiagnosticsResponse_DisablementCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DishGetDiagnosticsResponse_DisablementCode.Descriptor instead.
func (DishGetDiagnosticsResponse_DisablementCode) EnumDescriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{75, 2}
}

type UdpConnectivityTestRequest_UDPProbeDataType int32

const (
	UdpConnectivityTestRequest_EMPTY                UdpConnectivityTestRequest_UDPProbeDataType = 0
	UdpConnectivityTestRequest_DNS_STATUS_REQUEST   UdpConnectivityTestRequest_UDPProbeDataType = 1
	UdpConnectivityTestRequest_DTLS_CLIENT_HELLO    UdpConnectivityTestRequest_UDPProbeDataType = 2
	UdpConnectivityTestRequest_DNS_VERSION_BIND_REQ UdpConnectivityTestRequest_UDPProbeDataType = 3
	UdpConnectivityTestRequest_RPC_CHECK            UdpConnectivityTestRequest_UDPProbeDataType = 4
	UdpConnectivityTestRequest_DNS_SD               UdpConnectivityTestRequest_UDPProbeDataType = 5
	UdpConnectivityTestRequest_SNMP_V1_PUBLIC       UdpConnectivityTestRequest_UDPProbeDataType = 6
	UdpConnectivityTestRequest_SNMP_V3_GET_REQUEST  UdpConnectivityTestRequest_UDPProbeDataType = 7
	UdpConnectivityTestRequest_NTP_MESSAGE          UdpConnectivityTestRequest_UDPProbeDataType = 8
	UdpConnectivityTestRequest_XDMCP                UdpConnectivityTestRequest_UDPProbeDataType = 9
	UdpConnectivityTestRequest_KERBEROS             UdpConnectivityTestRequest_UDPProbeDataType = 10
	UdpConnectivityTestRequest_SIP_OPTIONS          UdpConnectivityTestRequest_UDPProbeDataType = 11
	UdpConnectivityTestRequest_LDAP_SEARCH_REQ      UdpConnectivityTestRequest_UDPProbeDataType = 12
	UdpConnectivityTestRequest_MEMCACHED_STATS      UdpConnectivityTestRequest_UDPProbeDataType = 13
	UdpConnectivityTestRequest_OPENVPN              UdpConnectivityTestRequest_UDPProbeDataType = 14
	UdpConnectivityTestRequest_CIFS_NS_UC           UdpConnectivityTestRequest_UDPProbeDataType = 15
	UdpConnectivityTestRequest_TFTP_GET             UdpConnectivityTestRequest_UDPProbeDataType = 16
	UdpConnectivityTestRequest_DHCP_INFORM          UdpConnectivityTestRequest_UDPProbeDataType = 17
	UdpConnectivityTestRequest_QUIC                 UdpConnectivityTestRequest_UDPProbeDataType = 18
	UdpConnectivityTestRequest_RIPV1                UdpConnectivityTestRequest_UDPProbeDataType = 19
	UdpConnectivityTestRequest_NFS_PROC_NULL        UdpConnectivityTestRequest_UDPProbeDataType = 20
	UdpConnectivityTestRequest_COAP_REQUEST         UdpConnectivityTestRequest_UDPProbeDataType = 21
)

// Enum value maps for UdpConnectivityTestRequest_UDPProbeDataType.
var (
	UdpConnectivityTestRequest_UDPProbeDataType_name = map[int32]string{
		0:  "EMPTY",
		1:  "DNS_STATUS_REQUEST",
		2:  "DTLS_CLIENT_HELLO",
		3:  "DNS_VERSION_BIND_REQ",
		4:  "RPC_CHECK",
		5:  "DNS_SD",
		6:  "SNMP_V1_PUBLIC",
		7:  "SNMP_V3_GET_REQUEST",
		8:  "NTP_MESSAGE",
		9:  "XDMCP",
		10: "KERBEROS",
		11: "SIP_OPTIONS",
		12: "LDAP_SEARCH_REQ",
		13: "MEMCACHED_STATS",
		14: "OPENVPN",
		15: "CIFS_NS_UC",
		16: "TFTP_GET",
		17: "DHCP_INFORM",
		18: "QUIC",
		19: "RIPV1",
		20: "NFS_PROC_NULL",
		21: "COAP_REQUEST",
	}
	UdpConnectivityTestRequest_UDPProbeDataType_value = map[string]int32{
		"EMPTY":                0,
		"DNS_STATUS_REQUEST":   1,
		"DTLS_CLIENT_HELLO":    2,
		"DNS_VERSION_BIND_REQ": 3,
		"RPC_CHECK":            4,
		"DNS_SD":               5,
		"SNMP_V1_PUBLIC":       6,
		"SNMP_V3_GET_REQUEST":  7,
		"NTP_MESSAGE":          8,
		"XDMCP":                9,
		"KERBEROS":             10,
		"SIP_OPTIONS":          11,
		"LDAP_SEARCH_REQ":      12,
		"MEMCACHED_STATS":      13,
		"OPENVPN":              14,
		"CIFS_NS_UC":           15,
		"TFTP_GET":             16,
		"DHCP_INFORM":          17,
		"QUIC":                 18,
		"RIPV1":                19,
		"NFS_PROC_NULL":        20,
		"COAP_REQUEST":         21,
	}
)

func (x UdpConnectivityTestRequest_UDPProbeDataType) Enum() *UdpConnectivityTestRequest_UDPProbeDataType {
	p := new(UdpConnectivityTestRequest_UDPProbeDataType)
	*p = x
	return p
}

func (x UdpConnectivityTestRequest_UDPProbeDataType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (UdpConnectivityTestRequest_UDPProbeDataType) Descriptor() protoreflect.EnumDescriptor {
	return file_spacex_api_device_device_proto_enumTypes[8].Descriptor()
}

func (UdpConnectivityTestRequest_UDPProbeDataType) Type() protoreflect.EnumType {
	return &file_spacex_api_device_device_proto_enumTypes[8]
}

func (x UdpConnectivityTestRequest_UDPProbeDataType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use UdpConnectivityTestRequest_UDPProbeDataType.Descriptor instead.
func (UdpConnectivityTestRequest_UDPProbeDataType) EnumDescriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{77, 0}
}

type ToDevice struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Message:
	//
	//	*ToDevice_Request
	//	*ToDevice_HealthCheck
	Message isToDevice_Message `protobuf_oneof:"message"`
}

func (x *ToDevice) Reset() {
	*x = ToDevice{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ToDevice) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ToDevice) ProtoMessage() {}

func (x *ToDevice) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ToDevice.ProtoReflect.Descriptor instead.
func (*ToDevice) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{0}
}

func (m *ToDevice) GetMessage() isToDevice_Message {
	if m != nil {
		return m.Message
	}
	return nil
}

func (x *ToDevice) GetRequest() *Request {
	if x, ok := x.GetMessage().(*ToDevice_Request); ok {
		return x.Request
	}
	return nil
}

func (x *ToDevice) GetHealthCheck() *HealthCheck {
	if x, ok := x.GetMessage().(*ToDevice_HealthCheck); ok {
		return x.HealthCheck
	}
	return nil
}

type isToDevice_Message interface {
	isToDevice_Message()
}

type ToDevice_Request struct {
	Request *Request `protobuf:"bytes,1,opt,name=request,proto3,oneof"`
}

type ToDevice_HealthCheck struct {
	HealthCheck *HealthCheck `protobuf:"bytes,2,opt,name=health_check,json=healthCheck,proto3,oneof"`
}

func (*ToDevice_Request) isToDevice_Message() {}

func (*ToDevice_HealthCheck) isToDevice_Message() {}

type FromDevice struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Message:
	//
	//	*FromDevice_Response
	//	*FromDevice_Event
	//	*FromDevice_HealthCheck
	Message isFromDevice_Message `protobuf_oneof:"message"`
}

func (x *FromDevice) Reset() {
	*x = FromDevice{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FromDevice) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FromDevice) ProtoMessage() {}

func (x *FromDevice) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FromDevice.ProtoReflect.Descriptor instead.
func (*FromDevice) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{1}
}

func (m *FromDevice) GetMessage() isFromDevice_Message {
	if m != nil {
		return m.Message
	}
	return nil
}

func (x *FromDevice) GetResponse() *Response {
	if x, ok := x.GetMessage().(*FromDevice_Response); ok {
		return x.Response
	}
	return nil
}

func (x *FromDevice) GetEvent() *Event {
	if x, ok := x.GetMessage().(*FromDevice_Event); ok {
		return x.Event
	}
	return nil
}

func (x *FromDevice) GetHealthCheck() *HealthCheck {
	if x, ok := x.GetMessage().(*FromDevice_HealthCheck); ok {
		return x.HealthCheck
	}
	return nil
}

type isFromDevice_Message interface {
	isFromDevice_Message()
}

type FromDevice_Response struct {
	Response *Response `protobuf:"bytes,1,opt,name=response,proto3,oneof"`
}

type FromDevice_Event struct {
	Event *Event `protobuf:"bytes,2,opt,name=event,proto3,oneof"`
}

type FromDevice_HealthCheck struct {
	HealthCheck *HealthCheck `protobuf:"bytes,3,opt,name=health_check,json=healthCheck,proto3,oneof"`
}

func (*FromDevice_Response) isFromDevice_Message() {}

func (*FromDevice_Event) isFromDevice_Message() {}

func (*FromDevice_HealthCheck) isFromDevice_Message() {}

type SensitiveCommand struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	TargetId  string                 `protobuf:"bytes,2,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
	// Types that are assignable to Request:
	//
	//	*SensitiveCommand_GetLocation
	Request isSensitiveCommand_Request `protobuf_oneof:"request"`
}

func (x *SensitiveCommand) Reset() {
	*x = SensitiveCommand{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SensitiveCommand) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SensitiveCommand) ProtoMessage() {}

func (x *SensitiveCommand) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SensitiveCommand.ProtoReflect.Descriptor instead.
func (*SensitiveCommand) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{2}
}

func (x *SensitiveCommand) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (x *SensitiveCommand) GetTargetId() string {
	if x != nil {
		return x.TargetId
	}
	return ""
}

func (m *SensitiveCommand) GetRequest() isSensitiveCommand_Request {
	if m != nil {
		return m.Request
	}
	return nil
}

func (x *SensitiveCommand) GetGetLocation() *GetLocationRequest {
	if x, ok := x.GetRequest().(*SensitiveCommand_GetLocation); ok {
		return x.GetLocation
	}
	return nil
}

type isSensitiveCommand_Request interface {
	isSensitiveCommand_Request()
}

type SensitiveCommand_GetLocation struct {
	GetLocation *GetLocationRequest `protobuf:"bytes,3,opt,name=get_location,json=getLocation,proto3,oneof"`
}

func (*SensitiveCommand_GetLocation) isSensitiveCommand_Request() {}

type HealthCheck struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *HealthCheck) Reset() {
	*x = HealthCheck{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HealthCheck) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HealthCheck) ProtoMessage() {}

func (x *HealthCheck) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead.
func (*HealthCheck) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{3}
}

type Request struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id       uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	EpochId  uint64 `protobuf:"varint,14,opt,name=epoch_id,json=epochId,proto3" json:"epoch_id,omitempty"`
	TargetId string `protobuf:"bytes,13,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
	// Types that are assignable to Request:
	//
	//	*Request_SignedRequest
	//	*Request_GetNextId
	//	*Request_SensitiveRequest
	//	*Request_Authenticate
	//	*Request_EnableDebugTelem
	//	*Request_FactoryReset
	//	*Request_GetDeviceInfo
	//	*Request_GetHistory
	//	*Request_GetLog
	//	*Request_GetNetworkInterfaces
	//	*Request_GetPing
	//	*Request_PingHost
	//	*Request_GetStatus
	//	*Request_Reboot
	//	*Request_SetSku
	//	*Request_SetTrustedKeys
	//	*Request_SpeedTest
	//	*Request_Update
	//	*Request_GetLocation
	//	*Request_GetHeapDump
	//	*Request_RestartControl
	//	*Request_Fuse
	//	*Request_GetPersistentStats
	//	*Request_GetConnections
	//	*Request_StartSpeedtest
	//	*Request_GetSpeedtestStatus
	//	*Request_ReportClientSpeedtest
	//	*Request_InitiateRemoteSsh
	//	*Request_SelfTest
	//	*Request_SetTestMode
	//	*Request_SoftwareUpdate
	//	*Request_IqCapture
	//	*Request_GetRadioStats
	//	*Request_Time
	//	*Request_RunIperfServer
	//	*Request_TcpConnectivityTest
	//	*Request_UdpConnectivityTest
	//	*Request_GetGoroutineStackTraces
	//	*Request_DishStow
	//	*Request_DishGetContext
	//	*Request_DishGetObstructionMap
	//	*Request_DishSetEmc
	//	*Request_DishGetEmc
	//	*Request_DishSetConfig
	//	*Request_DishGetConfig
	//	*Request_DishPowerSave
	//	*Request_DishInhibitGps
	//	*Request_DishGetData
	//	*Request_DishClearObstructionMap
	//	*Request_DishSetMaxPowerTestMode
	//	*Request_DishActivateRssiScan
	//	*Request_DishGetRssiScanResult
	//	*Request_DishFactoryReset
	//	*Request_ResetButton
	//	*Request_SetPerVehicleConfig
	//	*Request_DishAviationTest
	//	*Request_DishInhibitRf
	//	*Request_WifiGetClients
	//	*Request_WifiGetPingMetrics
	//	*Request_WifiSetConfig
	//	*Request_WifiGetConfig
	//	*Request_WifiSetup
	//	*Request_WifiSetMeshDeviceTrust
	//	*Request_WifiSetMeshConfig
	//	*Request_WifiGetClientHistory
	//	*Request_WifiSetClientGivenName
	//	*Request_WifiSetAviationConformed
	//	*Request_WifiSelfTest
	//	*Request_WifiRunSelfTest
	//	*Request_WifiCalibrationMode
	//	*Request_WifiGuestInfo
	//	*Request_WifiRfTest
	//	*Request_WifiGetFirewall
	//	*Request_WifiTogglePoeNegotiation
	//	*Request_WifiFactoryTestCommand
	//	*Request_WifiStartLocalTelemProxy
	//	*Request_WifiBackhaulStats
	//	*Request_WifiToggleUmbilicalMode
	//	*Request_WifiClientSandbox
	//	*Request_WifiRunDebugNetsys
	//	*Request_WifiResetEthPhy
	//	*Request_WifiFlushHardwareNat
	//	*Request_WifiWriteCalibration
	//	*Request_TransceiverIfLoopbackTest
	//	*Request_TransceiverGetStatus
	//	*Request_TransceiverGetTelemetry
	//	*Request_StartUnlock
	//	*Request_FinishUnlock
	//	*Request_GetDiagnostics
	Request isRequest_Request `protobuf_oneof:"request"`
}

func (x *Request) Reset() {
	*x = Request{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Request) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Request) ProtoMessage() {}

func (x *Request) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Request.ProtoReflect.Descriptor instead.
func (*Request) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{4}
}

func (x *Request) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Request) GetEpochId() uint64 {
	if x != nil {
		return x.EpochId
	}
	return 0
}

func (x *Request) GetTargetId() string {
	if x != nil {
		return x.TargetId
	}
	return ""
}

func (m *Request) GetRequest() isRequest_Request {
	if m != nil {
		return m.Request
	}
	return nil
}

func (x *Request) GetSignedRequest() *SignedData {
	if x, ok := x.GetRequest().(*Request_SignedRequest); ok {
		return x.SignedRequest
	}
	return nil
}

func (x *Request) GetGetNextId() *GetNextIdRequest {
	if x, ok := x.GetRequest().(*Request_GetNextId); ok {
		return x.GetNextId
	}
	return nil
}

func (x *Request) GetSensitiveRequest() *SignedData {
	if x, ok := x.GetRequest().(*Request_SensitiveRequest); ok {
		return x.SensitiveRequest
	}
	return nil
}

func (x *Request) GetAuthenticate() *AuthenticateRequest {
	if x, ok := x.GetRequest().(*Request_Authenticate); ok {
		return x.Authenticate
	}
	return nil
}

func (x *Request) GetEnableDebugTelem() *EnableDebugTelemRequest {
	if x, ok := x.GetRequest().(*Request_EnableDebugTelem); ok {
		return x.EnableDebugTelem
	}
	return nil
}

func (x *Request) GetFactoryReset() *FactoryResetRequest {
	if x, ok := x.GetRequest().(*Request_FactoryReset); ok {
		return x.FactoryReset
	}
	return nil
}

func (x *Request) GetGetDeviceInfo() *GetDeviceInfoRequest {
	if x, ok := x.GetRequest().(*Request_GetDeviceInfo); ok {
		return x.GetDeviceInfo
	}
	return nil
}

func (x *Request) GetGetHistory() *GetHistoryRequest {
	if x, ok := x.GetRequest().(*Request_GetHistory); ok {
		return x.GetHistory
	}
	return nil
}

func (x *Request) GetGetLog() *GetLogRequest {
	if x, ok := x.GetRequest().(*Request_GetLog); ok {
		return x.GetLog
	}
	return nil
}

func (x *Request) GetGetNetworkInterfaces() *GetNetworkInterfacesRequest {
	if x, ok := x.GetRequest().(*Request_GetNetworkInterfaces); ok {
		return x.GetNetworkInterfaces
	}
	return nil
}

func (x *Request) GetGetPing() *GetPingRequest {
	if x, ok := x.GetRequest().(*Request_GetPing); ok {
		return x.GetPing
	}
	return nil
}

func (x *Request) GetPingHost() *PingHostRequest {
	if x, ok := x.GetRequest().(*Request_PingHost); ok {
		return x.PingHost
	}
	return nil
}

func (x *Request) GetGetStatus() *GetStatusRequest {
	if x, ok := x.GetRequest().(*Request_GetStatus); ok {
		return x.GetStatus
	}
	return nil
}

func (x *Request) GetReboot() *RebootRequest {
	if x, ok := x.GetRequest().(*Request_Reboot); ok {
		return x.Reboot
	}
	return nil
}

func (x *Request) GetSetSku() *SetSkuRequest {
	if x, ok := x.GetRequest().(*Request_SetSku); ok {
		return x.SetSku
	}
	return nil
}

func (x *Request) GetSetTrustedKeys() *SetTrustedKeysRequest {
	if x, ok := x.GetRequest().(*Request_SetTrustedKeys); ok {
		return x.SetTrustedKeys
	}
	return nil
}

func (x *Request) GetSpeedTest() *SpeedTestRequest {
	if x, ok := x.GetRequest().(*Request_SpeedTest); ok {
		return x.SpeedTest
	}
	return nil
}

func (x *Request) GetUpdate() *UpdateRequest {
	if x, ok := x.GetRequest().(*Request_Update); ok {
		return x.Update
	}
	return nil
}

func (x *Request) GetGetLocation() *GetLocationRequest {
	if x, ok := x.GetRequest().(*Request_GetLocation); ok {
		return x.GetLocation
	}
	return nil
}

func (x *Request) GetGetHeapDump() *GetHeapDumpRequest {
	if x, ok := x.GetRequest().(*Request_GetHeapDump); ok {
		return x.GetHeapDump
	}
	return nil
}

func (x *Request) GetRestartControl() *RestartControlRequest {
	if x, ok := x.GetRequest().(*Request_RestartControl); ok {
		return x.RestartControl
	}
	return nil
}

func (x *Request) GetFuse() *FuseRequest {
	if x, ok := x.GetRequest().(*Request_Fuse); ok {
		return x.Fuse
	}
	return nil
}

func (x *Request) GetGetPersistentStats() *GetPersistentStatsRequest {
	if x, ok := x.GetRequest().(*Request_GetPersistentStats); ok {
		return x.GetPersistentStats
	}
	return nil
}

func (x *Request) GetGetConnections() *GetConnectionsRequest {
	if x, ok := x.GetRequest().(*Request_GetConnections); ok {
		return x.GetConnections
	}
	return nil
}

func (x *Request) GetStartSpeedtest() *StartSpeedtestRequest {
	if x, ok := x.GetRequest().(*Request_StartSpeedtest); ok {
		return x.StartSpeedtest
	}
	return nil
}

func (x *Request) GetGetSpeedtestStatus() *GetSpeedtestStatusRequest {
	if x, ok := x.GetRequest().(*Request_GetSpeedtestStatus); ok {
		return x.GetSpeedtestStatus
	}
	return nil
}

func (x *Request) GetReportClientSpeedtest() *ReportClientSpeedtestRequest {
	if x, ok := x.GetRequest().(*Request_ReportClientSpeedtest); ok {
		return x.ReportClientSpeedtest
	}
	return nil
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *Request) GetInitiateRemoteSsh() *InitiateRemoteSshRequest {
	if x, ok := x.GetRequest().(*Request_InitiateRemoteSsh); ok {
		return x.InitiateRemoteSsh
	}
	return nil
}

func (x *Request) GetSelfTest() *SelfTestRequest {
	if x, ok := x.GetRequest().(*Request_SelfTest); ok {
		return x.SelfTest
	}
	return nil
}

func (x *Request) GetSetTestMode() *SetTestModeRequest {
	if x, ok := x.GetRequest().(*Request_SetTestMode); ok {
		return x.SetTestMode
	}
	return nil
}

func (x *Request) GetSoftwareUpdate() *SoftwareUpdateRequest {
	if x, ok := x.GetRequest().(*Request_SoftwareUpdate); ok {
		return x.SoftwareUpdate
	}
	return nil
}

func (x *Request) GetIqCapture() *IQCaptureRequest {
	if x, ok := x.GetRequest().(*Request_IqCapture); ok {
		return x.IqCapture
	}
	return nil
}

func (x *Request) GetGetRadioStats() *GetRadioStatsRequest {
	if x, ok := x.GetRequest().(*Request_GetRadioStats); ok {
		return x.GetRadioStats
	}
	return nil
}

func (x *Request) GetTime() *GetTimeRequest {
	if x, ok := x.GetRequest().(*Request_Time); ok {
		return x.Time
	}
	return nil
}

func (x *Request) GetRunIperfServer() *RunIperfServerRequest {
	if x, ok := x.GetRequest().(*Request_RunIperfServer); ok {
		return x.RunIperfServer
	}
	return nil
}

func (x *Request) GetTcpConnectivityTest() *TcpConnectivityTestRequest {
	if x, ok := x.GetRequest().(*Request_TcpConnectivityTest); ok {
		return x.TcpConnectivityTest
	}
	return nil
}

func (x *Request) GetUdpConnectivityTest() *UdpConnectivityTestRequest {
	if x, ok := x.GetRequest().(*Request_UdpConnectivityTest); ok {
		return x.UdpConnectivityTest
	}
	return nil
}

func (x *Request) GetGetGoroutineStackTraces() *GetGoroutineStackTracesRequest {
	if x, ok := x.GetRequest().(*Request_GetGoroutineStackTraces); ok {
		return x.GetGoroutineStackTraces
	}
	return nil
}

func (x *Request) GetDishStow() *DishStowRequest {
	if x, ok := x.GetRequest().(*Request_DishStow); ok {
		return x.DishStow
	}
	return nil
}

func (x *Request) GetDishGetContext() *DishGetContextRequest {
	if x, ok := x.GetRequest().(*Request_DishGetContext); ok {
		return x.DishGetContext
	}
	return nil
}

func (x *Request) GetDishGetObstructionMap() *DishGetObstructionMapRequest {
	if x, ok := x.GetRequest().(*Request_DishGetObstructionMap); ok {
		return x.DishGetObstructionMap
	}
	return nil
}

func (x *Request) GetDishSetEmc() *DishSetEmcRequest {
	if x, ok := x.GetRequest().(*Request_DishSetEmc); ok {
		return x.DishSetEmc
	}
	return nil
}

func (x *Request) GetDishGetEmc() *DishGetEmcRequest {
	if x, ok := x.GetRequest().(*Request_DishGetEmc); ok {
		return x.DishGetEmc
	}
	return nil
}

func (x *Request) GetDishSetConfig() *DishSetConfigRequest {
	if x, ok := x.GetRequest().(*Request_DishSetConfig); ok {
		return x.DishSetConfig
	}
	return nil
}

func (x *Request) GetDishGetConfig() *DishGetConfigRequest {
	if x, ok := x.GetRequest().(*Request_DishGetConfig); ok {
		return x.DishGetConfig
	}
	return nil
}

func (x *Request) GetDishPowerSave() *DishPowerSaveRequest {
	if x, ok := x.GetRequest().(*Request_DishPowerSave); ok {
		return x.DishPowerSave
	}
	return nil
}

func (x *Request) GetDishInhibitGps() *DishInhibitGpsRequest {
	if x, ok := x.GetRequest().(*Request_DishInhibitGps); ok {
		return x.DishInhibitGps
	}
	return nil
}

func (x *Request) GetDishGetData() *DishGetDataRequest {
	if x, ok := x.GetRequest().(*Request_DishGetData); ok {
		return x.DishGetData
	}
	return nil
}

func (x *Request) GetDishClearObstructionMap() *DishClearObstructionMapRequest {
	if x, ok := x.GetRequest().(*Request_DishClearObstructionMap); ok {
		return x.DishClearObstructionMap
	}
	return nil
}

func (x *Request) GetDishSetMaxPowerTestMode() *DishSetMaxPowerTestModeRequest {
	if x, ok := x.GetRequest().(*Request_DishSetMaxPowerTestMode); ok {
		return x.DishSetMaxPowerTestMode
	}
	return nil
}

func (x *Request) GetDishActivateRssiScan() *DishActivateRssiScanRequest {
	if x, ok := x.GetRequest().(*Request_DishActivateRssiScan); ok {
		return x.DishActivateRssiScan
	}
	return nil
}

func (x *Request) GetDishGetRssiScanResult() *DishGetRssiScanResultRequest {
	if x, ok := x.GetRequest().(*Request_DishGetRssiScanResult); ok {
		return x.DishGetRssiScanResult
	}
	return nil
}

func (x *Request) GetDishFactoryReset() *DishFactoryResetRequest {
	if x, ok := x.GetRequest().(*Request_DishFactoryReset); ok {
		return x.DishFactoryReset
	}
	return nil
}

func (x *Request) GetResetButton() *ResetButtonRequest {
	if x, ok := x.GetRequest().(*Request_ResetButton); ok {
		return x.ResetButton
	}
	return nil
}

func (x *Request) GetSetPerVehicleConfig() *SoftwareUpdateRequest {
	if x, ok := x.GetRequest().(*Request_SetPerVehicleConfig); ok {
		return x.SetPerVehicleConfig
	}
	return nil
}

func (x *Request) GetDishAviationTest() *DishAviationTestRequest {
	if x, ok := x.GetRequest().(*Request_DishAviationTest); ok {
		return x.DishAviationTest
	}
	return nil
}

func (x *Request) GetDishInhibitRf() *DishInhibitRfRequest {
	if x, ok := x.GetRequest().(*Request_DishInhibitRf); ok {
		return x.DishInhibitRf
	}
	return nil
}

func (x *Request) GetWifiGetClients() *WifiGetClientsRequest {
	if x, ok := x.GetRequest().(*Request_WifiGetClients); ok {
		return x.WifiGetClients
	}
	return nil
}

func (x *Request) GetWifiGetPingMetrics() *WifiGetPingMetricsRequest {
	if x, ok := x.GetRequest().(*Request_WifiGetPingMetrics); ok {
		return x.WifiGetPingMetrics
	}
	return nil
}

func (x *Request) GetWifiSetConfig() *WifiSetConfigRequest {
	if x, ok := x.GetRequest().(*Request_WifiSetConfig); ok {
		return x.WifiSetConfig
	}
	return nil
}

func (x *Request) GetWifiGetConfig() *WifiGetConfigRequest {
	if x, ok := x.GetRequest().(*Request_WifiGetConfig); ok {
		return x.WifiGetConfig
	}
	return nil
}

func (x *Request) GetWifiSetup() *WifiSetupRequest {
	if x, ok := x.GetRequest().(*Request_WifiSetup); ok {
		return x.WifiSetup
	}
	return nil
}

func (x *Request) GetWifiSetMeshDeviceTrust() *WifiSetMeshDeviceTrustRequest {
	if x, ok := x.GetRequest().(*Request_WifiSetMeshDeviceTrust); ok {
		return x.WifiSetMeshDeviceTrust
	}
	return nil
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *Request) GetWifiSetMeshConfig() *WifiSetMeshConfigRequest {
	if x, ok := x.GetRequest().(*Request_WifiSetMeshConfig); ok {
		return x.WifiSetMeshConfig
	}
	return nil
}

func (x *Request) GetWifiGetClientHistory() *WifiGetClientHistoryRequest {
	if x, ok := x.GetRequest().(*Request_WifiGetClientHistory); ok {
		return x.WifiGetClientHistory
	}
	return nil
}

func (x *Request) GetWifiSetClientGivenName() *WifiSetClientGivenNameRequest {
	if x, ok := x.GetRequest().(*Request_WifiSetClientGivenName); ok {
		return x.WifiSetClientGivenName
	}
	return nil
}

func (x *Request) GetWifiSetAviationConformed() *WifiSetAviationConformedRequest {
	if x, ok := x.GetRequest().(*Request_WifiSetAviationConformed); ok {
		return x.WifiSetAviationConformed
	}
	return nil
}

func (x *Request) GetWifiSelfTest() *WifiSelfTestRequest {
	if x, ok := x.GetRequest().(*Request_WifiSelfTest); ok {
		return x.WifiSelfTest
	}
	return nil
}

func (x *Request) GetWifiRunSelfTest() *WifiRunSelfTestRequest {
	if x, ok := x.GetRequest().(*Request_WifiRunSelfTest); ok {
		return x.WifiRunSelfTest
	}
	return nil
}

func (x *Request) GetWifiCalibrationMode() *WifiCalibrationModeRequest {
	if x, ok := x.GetRequest().(*Request_WifiCalibrationMode); ok {
		return x.WifiCalibrationMode
	}
	return nil
}

func (x *Request) GetWifiGuestInfo() *WifiGuestInfoRequest {
	if x, ok := x.GetRequest().(*Request_WifiGuestInfo); ok {
		return x.WifiGuestInfo
	}
	return nil
}

func (x *Request) GetWifiRfTest() *WifiRfTestRequest {
	if x, ok := x.GetRequest().(*Request_WifiRfTest); ok {
		return x.WifiRfTest
	}
	return nil
}

func (x *Request) GetWifiGetFirewall() *WifiGetFirewallRequest {
	if x, ok := x.GetRequest().(*Request_WifiGetFirewall); ok {
		return x.WifiGetFirewall
	}
	return nil
}

func (x *Request) GetWifiTogglePoeNegotiation() *WifiTogglePoeNegotiationRequest {
	if x, ok := x.GetRequest().(*Request_WifiTogglePoeNegotiation); ok {
		return x.WifiTogglePoeNegotiation
	}
	return nil
}

func (x *Request) GetWifiFactoryTestCommand() *WifiFactoryTestCommandRequest {
	if x, ok := x.GetRequest().(*Request_WifiFactoryTestCommand); ok {
		return x.WifiFactoryTestCommand
	}
	return nil
}

func (x *Request) GetWifiStartLocalTelemProxy() *WifiStartLocalTelemProxyRequest {
	if x, ok := x.GetRequest().(*Request_WifiStartLocalTelemProxy); ok {
		return x.WifiStartLocalTelemProxy
	}
	return nil
}

func (x *Request) GetWifiBackhaulStats() *WifiBackhaulStatsRequest {
	if x, ok := x.GetRequest().(*Request_WifiBackhaulStats); ok {
		return x.WifiBackhaulStats
	}
	return nil
}

func (x *Request) GetWifiToggleUmbilicalMode() *WifiToggleUmbilicalModeRequest {
	if x, ok := x.GetRequest().(*Request_WifiToggleUmbilicalMode); ok {
		return x.WifiToggleUmbilicalMode
	}
	return nil
}

func (x *Request) GetWifiClientSandbox() *WifiClientSandboxRequest {
	if x, ok := x.GetRequest().(*Request_WifiClientSandbox); ok {
		return x.WifiClientSandbox
	}
	return nil
}

func (x *Request) GetWifiRunDebugNetsys() *WifiRunDebugNetsysRequest {
	if x, ok := x.GetRequest().(*Request_WifiRunDebugNetsys); ok {
		return x.WifiRunDebugNetsys
	}
	return nil
}

func (x *Request) GetWifiResetEthPhy() *WifiResetEthPhyRequest {
	if x, ok := x.GetRequest().(*Request_WifiResetEthPhy); ok {
		return x.WifiResetEthPhy
	}
	return nil
}

func (x *Request) GetWifiFlushHardwareNat() *WifiFlushHardwareNatRequest {
	if x, ok := x.GetRequest().(*Request_WifiFlushHardwareNat); ok {
		return x.WifiFlushHardwareNat
	}
	return nil
}

func (x *Request) GetWifiWriteCalibration() *WifiWriteCalibrationRequest {
	if x, ok := x.GetRequest().(*Request_WifiWriteCalibration); ok {
		return x.WifiWriteCalibration
	}
	return nil
}

func (x *Request) GetTransceiverIfLoopbackTest() *TransceiverIFLoopbackTestRequest {
	if x, ok := x.GetRequest().(*Request_TransceiverIfLoopbackTest); ok {
		return x.TransceiverIfLoopbackTest
	}
	return nil
}

func (x *Request) GetTransceiverGetStatus() *TransceiverGetStatusRequest {
	if x, ok := x.GetRequest().(*Request_TransceiverGetStatus); ok {
		return x.TransceiverGetStatus
	}
	return nil
}

func (x *Request) GetTransceiverGetTelemetry() *TransceiverGetTelemetryRequest {
	if x, ok := x.GetRequest().(*Request_TransceiverGetTelemetry); ok {
		return x.TransceiverGetTelemetry
	}
	return nil
}

func (x *Request) GetStartUnlock() *service.StartUnlockRequest {
	if x, ok := x.GetRequest().(*Request_StartUnlock); ok {
		return x.StartUnlock
	}
	return nil
}

func (x *Request) GetFinishUnlock() *service.FinishUnlockRequest {
	if x, ok := x.GetRequest().(*Request_FinishUnlock); ok {
		return x.FinishUnlock
	}
	return nil
}

func (x *Request) GetGetDiagnostics() *GetDiagnosticsRequest {
	if x, ok := x.GetRequest().(*Request_GetDiagnostics); ok {
		return x.GetDiagnostics
	}
	return nil
}

type isRequest_Request interface {
	isRequest_Request()
}

type Request_SignedRequest struct {
	SignedRequest *SignedData `protobuf:"bytes,15,opt,name=signed_request,json=signedRequest,proto3,oneof"`
}

type Request_GetNextId struct {
	GetNextId *GetNextIdRequest `protobuf:"bytes,1006,opt,name=get_next_id,json=getNextId,proto3,oneof"`
}

type Request_SensitiveRequest struct {
	SensitiveRequest *SignedData `protobuf:"bytes,1078,opt,name=sensitive_request,json=sensitiveRequest,proto3,oneof"`
}

type Request_Authenticate struct {
	Authenticate *AuthenticateRequest `protobuf:"bytes,1005,opt,name=authenticate,proto3,oneof"`
}

type Request_EnableDebugTelem struct {
	EnableDebugTelem *EnableDebugTelemRequest `protobuf:"bytes,1034,opt,name=enable_debug_telem,json=enableDebugTelem,proto3,oneof"`
}

type Request_FactoryReset struct {
	FactoryReset *FactoryResetRequest `protobuf:"bytes,1011,opt,name=factory_reset,json=factoryReset,proto3,oneof"`
}

type Request_GetDeviceInfo struct {
	GetDeviceInfo *GetDeviceInfoRequest `protobuf:"bytes,1008,opt,name=get_device_info,json=getDeviceInfo,proto3,oneof"`
}

type Request_GetHistory struct {
	GetHistory *GetHistoryRequest `protobuf:"bytes,1007,opt,name=get_history,json=getHistory,proto3,oneof"`
}

type Request_GetLog struct {
	GetLog *GetLogRequest `protobuf:"bytes,1012,opt,name=get_log,json=getLog,proto3,oneof"`
}

type Request_GetNetworkInterfaces struct {
	GetNetworkInterfaces *GetNetworkInterfacesRequest `protobuf:"bytes,1015,opt,name=get_network_interfaces,json=getNetworkInterfaces,proto3,oneof"`
}

type Request_GetPing struct {
	GetPing *GetPingRequest `protobuf:"bytes,1009,opt,name=get_ping,json=getPing,proto3,oneof"`
}

type Request_PingHost struct {
	PingHost *PingHostRequest `protobuf:"bytes,1016,opt,name=ping_host,json=pingHost,proto3,oneof"`
}

type Request_GetStatus struct {
	GetStatus *GetStatusRequest `protobuf:"bytes,1004,opt,name=get_status,json=getStatus,proto3,oneof"`
}

type Request_Reboot struct {
	Reboot *RebootRequest `protobuf:"bytes,1001,opt,name=reboot,proto3,oneof"`
}

type Request_SetSku struct {
	SetSku *SetSkuRequest `protobuf:"bytes,1013,opt,name=set_sku,json=setSku,proto3,oneof"`
}

type Request_SetTrustedKeys struct {
	SetTrustedKeys *SetTrustedKeysRequest `protobuf:"bytes,1010,opt,name=set_trusted_keys,json=setTrustedKeys,proto3,oneof"`
}

type Request_SpeedTest struct {
	SpeedTest *SpeedTestRequest `protobuf:"bytes,1003,opt,name=speed_test,json=speedTest,proto3,oneof"`
}

type Request_Update struct {
	Update *UpdateRequest `protobuf:"bytes,1014,opt,name=update,proto3,oneof"`
}

type Request_GetLocation struct {
	GetLocation *GetLocationRequest `protobuf:"bytes,1017,opt,name=get_location,json=getLocation,proto3,oneof"`
}

type Request_GetHeapDump struct {
	GetHeapDump *GetHeapDumpRequest `protobuf:"bytes,1019,opt,name=get_heap_dump,json=getHeapDump,proto3,oneof"`
}

type Request_RestartControl struct {
	RestartControl *RestartControlRequest `protobuf:"bytes,1020,opt,name=restart_control,json=restartControl,proto3,oneof"`
}

type Request_Fuse struct {
	Fuse *FuseRequest `protobuf:"bytes,1021,opt,name=fuse,proto3,oneof"`
}

type Request_GetPersistentStats struct {
	GetPersistentStats *GetPersistentStatsRequest `protobuf:"bytes,1022,opt,name=get_persistent_stats,json=getPersistentStats,proto3,oneof"`
}

type Request_GetConnections struct {
	GetConnections *GetConnectionsRequest `protobuf:"bytes,1023,opt,name=get_connections,json=getConnections,proto3,oneof"`
}

type Request_StartSpeedtest struct {
	StartSpeedtest *StartSpeedtestRequest `protobuf:"bytes,1027,opt,name=start_speedtest,json=startSpeedtest,proto3,oneof"`
}

type Request_GetSpeedtestStatus struct {
	GetSpeedtestStatus *GetSpeedtestStatusRequest `protobuf:"bytes,1028,opt,name=get_speedtest_status,json=getSpeedtestStatus,proto3,oneof"`
}

type Request_ReportClientSpeedtest struct {
	ReportClientSpeedtest *ReportClientSpeedtestRequest `protobuf:"bytes,1029,opt,name=report_client_speedtest,json=reportClientSpeedtest,proto3,oneof"`
}

type Request_InitiateRemoteSsh struct {
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	InitiateRemoteSsh *InitiateRemoteSshRequest `protobuf:"bytes,1030,opt,name=initiate_remote_ssh,json=initiateRemoteSsh,proto3,oneof"`
}

type Request_SelfTest struct {
	SelfTest *SelfTestRequest `protobuf:"bytes,1031,opt,name=self_test,json=selfTest,proto3,oneof"`
}

type Request_SetTestMode struct {
	SetTestMode *SetTestModeRequest `protobuf:"bytes,1032,opt,name=set_test_mode,json=setTestMode,proto3,oneof"`
}

type Request_SoftwareUpdate struct {
	SoftwareUpdate *SoftwareUpdateRequest `protobuf:"bytes,1033,opt,name=software_update,json=softwareUpdate,proto3,oneof"`
}

type Request_IqCapture struct {
	IqCapture *IQCaptureRequest `protobuf:"bytes,1035,opt,name=iq_capture,json=iqCapture,proto3,oneof"`
}

type Request_GetRadioStats struct {
	GetRadioStats *GetRadioStatsRequest `protobuf:"bytes,1036,opt,name=get_radio_stats,json=getRadioStats,proto3,oneof"`
}

type Request_Time struct {
	Time *GetTimeRequest `protobuf:"bytes,1037,opt,name=time,proto3,oneof"`
}

type Request_RunIperfServer struct {
	RunIperfServer *RunIperfServerRequest `protobuf:"bytes,1038,opt,name=run_iperf_server,json=runIperfServer,proto3,oneof"`
}

type Request_TcpConnectivityTest struct {
	TcpConnectivityTest *TcpConnectivityTestRequest `protobuf:"bytes,1039,opt,name=tcp_connectivity_test,json=tcpConnectivityTest,proto3,oneof"`
}

type Request_UdpConnectivityTest struct {
	UdpConnectivityTest *UdpConnectivityTestRequest `protobuf:"bytes,1040,opt,name=udp_connectivity_test,json=udpConnectivityTest,proto3,oneof"`
}

type Request_GetGoroutineStackTraces struct {
	GetGoroutineStackTraces *GetGoroutineStackTracesRequest `protobuf:"bytes,1041,opt,name=get_goroutine_stack_traces,json=getGoroutineStackTraces,proto3,oneof"`
}

type Request_DishStow struct {
	DishStow *DishStowRequest `protobuf:"bytes,2002,opt,name=dish_stow,json=dishStow,proto3,oneof"`
}

type Request_DishGetContext struct {
	DishGetContext *DishGetContextRequest `protobuf:"bytes,2003,opt,name=dish_get_context,json=dishGetContext,proto3,oneof"`
}

type Request_DishGetObstructionMap struct {
	DishGetObstructionMap *DishGetObstructionMapRequest `protobuf:"bytes,2008,opt,name=dish_get_obstruction_map,json=dishGetObstructionMap,proto3,oneof"`
}

type Request_DishSetEmc struct {
	DishSetEmc *DishSetEmcRequest `protobuf:"bytes,2007,opt,name=dish_set_emc,json=dishSetEmc,proto3,oneof"`
}

type Request_DishGetEmc struct {
	DishGetEmc *DishGetEmcRequest `protobuf:"bytes,2009,opt,name=dish_get_emc,json=dishGetEmc,proto3,oneof"`
}

type Request_DishSetConfig struct {
	DishSetConfig *DishSetConfigRequest `protobuf:"bytes,2010,opt,name=dish_set_config,json=dishSetConfig,proto3,oneof"`
}

type Request_DishGetConfig struct {
	DishGetConfig *DishGetConfigRequest `protobuf:"bytes,2011,opt,name=dish_get_config,json=dishGetConfig,proto3,oneof"`
}

type Request_DishPowerSave struct {
	DishPowerSave *DishPowerSaveRequest `protobuf:"bytes,2013,opt,name=dish_power_save,json=dishPowerSave,proto3,oneof"`
}

type Request_DishInhibitGps struct {
	DishInhibitGps *DishInhibitGpsRequest `protobuf:"bytes,2014,opt,name=dish_inhibit_gps,json=dishInhibitGps,proto3,oneof"`
}

type Request_DishGetData struct {
	DishGetData *DishGetDataRequest `protobuf:"bytes,2015,opt,name=dish_get_data,json=dishGetData,proto3,oneof"`
}

type Request_DishClearObstructionMap struct {
	DishClearObstructionMap *DishClearObstructionMapRequest `protobuf:"bytes,2017,opt,name=dish_clear_obstruction_map,json=dishClearObstructionMap,proto3,oneof"`
}

type Request_DishSetMaxPowerTestMode struct {
	DishSetMaxPowerTestMode *DishSetMaxPowerTestModeRequest `protobuf:"bytes,2018,opt,name=dish_set_max_power_test_mode,json=dishSetMaxPowerTestMode,proto3,oneof"`
}

type Request_DishActivateRssiScan struct {
	DishActivateRssiScan *DishActivateRssiScanRequest `protobuf:"bytes,2019,opt,name=dish_activate_rssi_scan,json=dishActivateRssiScan,proto3,oneof"`
}

type Request_DishGetRssiScanResult struct {
	DishGetRssiScanResult *DishGetRssiScanResultRequest `protobuf:"bytes,2020,opt,name=dish_get_rssi_scan_result,json=dishGetRssiScanResult,proto3,oneof"`
}

type Request_DishFactoryReset struct {
	DishFactoryReset *DishFactoryResetRequest `protobuf:"bytes,2021,opt,name=dish_factory_reset,json=dishFactoryReset,proto3,oneof"`
}

type Request_ResetButton struct {
	ResetButton *ResetButtonRequest `protobuf:"bytes,2022,opt,name=reset_button,json=resetButton,proto3,oneof"`
}

type Request_SetPerVehicleConfig struct {
	SetPerVehicleConfig *SoftwareUpdateRequest `protobuf:"bytes,2023,opt,name=set_per_vehicle_config,json=setPerVehicleConfig,proto3,oneof"`
}

type Request_DishAviationTest struct {
	DishAviationTest *DishAviationTestRequest `protobuf:"bytes,2024,opt,name=dish_aviation_test,json=dishAviationTest,proto3,oneof"`
}

type Request_DishInhibitRf struct {
	DishInhibitRf *DishInhibitRfRequest `protobuf:"bytes,2026,opt,name=dish_inhibit_rf,json=dishInhibitRf,proto3,oneof"`
}

type Request_WifiGetClients struct {
	WifiGetClients *WifiGetClientsRequest `protobuf:"bytes,3002,opt,name=wifi_get_clients,json=wifiGetClients,proto3,oneof"`
}

type Request_WifiGetPingMetrics struct {
	WifiGetPingMetrics *WifiGetPingMetricsRequest `protobuf:"bytes,3007,opt,name=wifi_get_ping_metrics,json=wifiGetPingMetrics,proto3,oneof"`
}

type Request_WifiSetConfig struct {
	WifiSetConfig *WifiSetConfigRequest `protobuf:"bytes,3001,opt,name=wifi_set_config,json=wifiSetConfig,proto3,oneof"`
}

type Request_WifiGetConfig struct {
	WifiGetConfig *WifiGetConfigRequest `protobuf:"bytes,3009,opt,name=wifi_get_config,json=wifiGetConfig,proto3,oneof"`
}

type Request_WifiSetup struct {
	WifiSetup *WifiSetupRequest `protobuf:"bytes,3003,opt,name=wifi_setup,json=wifiSetup,proto3,oneof"`
}

type Request_WifiSetMeshDeviceTrust struct {
	WifiSetMeshDeviceTrust *WifiSetMeshDeviceTrustRequest `protobuf:"bytes,3012,opt,name=wifi_set_mesh_device_trust,json=wifiSetMeshDeviceTrust,proto3,oneof"`
}

type Request_WifiSetMeshConfig struct {
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	WifiSetMeshConfig *WifiSetMeshConfigRequest `protobuf:"bytes,3013,opt,name=wifi_set_mesh_config,json=wifiSetMeshConfig,proto3,oneof"`
}

type Request_WifiGetClientHistory struct {
	WifiGetClientHistory *WifiGetClientHistoryRequest `protobuf:"bytes,3015,opt,name=wifi_get_client_history,json=wifiGetClientHistory,proto3,oneof"`
}

type Request_WifiSetClientGivenName struct {
	WifiSetClientGivenName *WifiSetClientGivenNameRequest `protobuf:"bytes,3017,opt,name=wifi_set_client_given_name,json=wifiSetClientGivenName,proto3,oneof"`
}

type Request_WifiSetAviationConformed struct {
	WifiSetAviationConformed *WifiSetAviationConformedRequest `protobuf:"bytes,3016,opt,name=wifi_set_aviation_conformed,json=wifiSetAviationConformed,proto3,oneof"`
}

type Request_WifiSelfTest struct {
	WifiSelfTest *WifiSelfTestRequest `protobuf:"bytes,3018,opt,name=wifi_self_test,json=wifiSelfTest,proto3,oneof"`
}

type Request_WifiRunSelfTest struct {
	WifiRunSelfTest *WifiRunSelfTestRequest `protobuf:"bytes,3028,opt,name=wifi_run_self_test,json=wifiRunSelfTest,proto3,oneof"`
}

type Request_WifiCalibrationMode struct {
	WifiCalibrationMode *WifiCalibrationModeRequest `protobuf:"bytes,3019,opt,name=wifi_calibration_mode,json=wifiCalibrationMode,proto3,oneof"`
}

type Request_WifiGuestInfo struct {
	WifiGuestInfo *WifiGuestInfoRequest `protobuf:"bytes,3020,opt,name=wifi_guest_info,json=wifiGuestInfo,proto3,oneof"`
}

type Request_WifiRfTest struct {
	WifiRfTest *WifiRfTestRequest `protobuf:"bytes,3021,opt,name=wifi_rf_test,json=wifiRfTest,proto3,oneof"`
}

type Request_WifiGetFirewall struct {
	WifiGetFirewall *WifiGetFirewallRequest `protobuf:"bytes,3024,opt,name=wifi_get_firewall,json=wifiGetFirewall,proto3,oneof"`
}

type Request_WifiTogglePoeNegotiation struct {
	WifiTogglePoeNegotiation *WifiTogglePoeNegotiationRequest `protobuf:"bytes,3025,opt,name=wifi_toggle_poe_negotiation,json=wifiTogglePoeNegotiation,proto3,oneof"`
}

type Request_WifiFactoryTestCommand struct {
	WifiFactoryTestCommand *WifiFactoryTestCommandRequest `protobuf:"bytes,3026,opt,name=wifi_factory_test_command,json=wifiFactoryTestCommand,proto3,oneof"`
}

type Request_WifiStartLocalTelemProxy struct {
	WifiStartLocalTelemProxy *WifiStartLocalTelemProxyRequest `protobuf:"bytes,3027,opt,name=wifi_start_local_telem_proxy,json=wifiStartLocalTelemProxy,proto3,oneof"`
}

type Request_WifiBackhaulStats struct {
	WifiBackhaulStats *WifiBackhaulStatsRequest `protobuf:"bytes,3029,opt,name=wifi_backhaul_stats,json=wifiBackhaulStats,proto3,oneof"`
}

type Request_WifiToggleUmbilicalMode struct {
	WifiToggleUmbilicalMode *WifiToggleUmbilicalModeRequest `protobuf:"bytes,3030,opt,name=wifi_toggle_umbilical_mode,json=wifiToggleUmbilicalMode,proto3,oneof"`
}

type Request_WifiClientSandbox struct {
	WifiClientSandbox *WifiClientSandboxRequest `protobuf:"bytes,3031,opt,name=wifi_client_sandbox,json=wifiClientSandbox,proto3,oneof"`
}

type Request_WifiRunDebugNetsys struct {
	WifiRunDebugNetsys *WifiRunDebugNetsysRequest `protobuf:"bytes,3032,opt,name=wifi_run_debug_netsys,json=wifiRunDebugNetsys,proto3,oneof"`
}

type Request_WifiResetEthPhy struct {
	WifiResetEthPhy *WifiResetEthPhyRequest `protobuf:"bytes,3033,opt,name=wifi_reset_eth_phy,json=wifiResetEthPhy,proto3,oneof"`
}

type Request_WifiFlushHardwareNat struct {
	WifiFlushHardwareNat *WifiFlushHardwareNatRequest `protobuf:"bytes,3034,opt,name=wifi_flush_hardware_nat,json=wifiFlushHardwareNat,proto3,oneof"`
}

type Request_WifiWriteCalibration struct {
	WifiWriteCalibration *WifiWriteCalibrationRequest `protobuf:"bytes,3035,opt,name=wifi_write_calibration,json=wifiWriteCalibration,proto3,oneof"`
}

type Request_TransceiverIfLoopbackTest struct {
	TransceiverIfLoopbackTest *TransceiverIFLoopbackTestRequest `protobuf:"bytes,4001,opt,name=transceiver_if_loopback_test,json=transceiverIfLoopbackTest,proto3,oneof"`
}

type Request_TransceiverGetStatus struct {
	TransceiverGetStatus *TransceiverGetStatusRequest `protobuf:"bytes,4003,opt,name=transceiver_get_status,json=transceiverGetStatus,proto3,oneof"`
}

type Request_TransceiverGetTelemetry struct {
	TransceiverGetTelemetry *TransceiverGetTelemetryRequest `protobuf:"bytes,4004,opt,name=transceiver_get_telemetry,json=transceiverGetTelemetry,proto3,oneof"`
}

type Request_StartUnlock struct {
	StartUnlock *service.StartUnlockRequest `protobuf:"bytes,5000,opt,name=start_unlock,json=startUnlock,proto3,oneof"`
}

type Request_FinishUnlock struct {
	FinishUnlock *service.FinishUnlockRequest `protobuf:"bytes,5001,opt,name=finish_unlock,json=finishUnlock,proto3,oneof"`
}

type Request_GetDiagnostics struct {
	GetDiagnostics *GetDiagnosticsRequest `protobuf:"bytes,6000,opt,name=get_diagnostics,json=getDiagnostics,proto3,oneof"`
}

func (*Request_SignedRequest) isRequest_Request() {}

func (*Request_GetNextId) isRequest_Request() {}

func (*Request_SensitiveRequest) isRequest_Request() {}

func (*Request_Authenticate) isRequest_Request() {}

func (*Request_EnableDebugTelem) isRequest_Request() {}

func (*Request_FactoryReset) isRequest_Request() {}

func (*Request_GetDeviceInfo) isRequest_Request() {}

func (*Request_GetHistory) isRequest_Request() {}

func (*Request_GetLog) isRequest_Request() {}

func (*Request_GetNetworkInterfaces) isRequest_Request() {}

func (*Request_GetPing) isRequest_Request() {}

func (*Request_PingHost) isRequest_Request() {}

func (*Request_GetStatus) isRequest_Request() {}

func (*Request_Reboot) isRequest_Request() {}

func (*Request_SetSku) isRequest_Request() {}

func (*Request_SetTrustedKeys) isRequest_Request() {}

func (*Request_SpeedTest) isRequest_Request() {}

func (*Request_Update) isRequest_Request() {}

func (*Request_GetLocation) isRequest_Request() {}

func (*Request_GetHeapDump) isRequest_Request() {}

func (*Request_RestartControl) isRequest_Request() {}

func (*Request_Fuse) isRequest_Request() {}

func (*Request_GetPersistentStats) isRequest_Request() {}

func (*Request_GetConnections) isRequest_Request() {}

func (*Request_StartSpeedtest) isRequest_Request() {}

func (*Request_GetSpeedtestStatus) isRequest_Request() {}

func (*Request_ReportClientSpeedtest) isRequest_Request() {}

func (*Request_InitiateRemoteSsh) isRequest_Request() {}

func (*Request_SelfTest) isRequest_Request() {}

func (*Request_SetTestMode) isRequest_Request() {}

func (*Request_SoftwareUpdate) isRequest_Request() {}

func (*Request_IqCapture) isRequest_Request() {}

func (*Request_GetRadioStats) isRequest_Request() {}

func (*Request_Time) isRequest_Request() {}

func (*Request_RunIperfServer) isRequest_Request() {}

func (*Request_TcpConnectivityTest) isRequest_Request() {}

func (*Request_UdpConnectivityTest) isRequest_Request() {}

func (*Request_GetGoroutineStackTraces) isRequest_Request() {}

func (*Request_DishStow) isRequest_Request() {}

func (*Request_DishGetContext) isRequest_Request() {}

func (*Request_DishGetObstructionMap) isRequest_Request() {}

func (*Request_DishSetEmc) isRequest_Request() {}

func (*Request_DishGetEmc) isRequest_Request() {}

func (*Request_DishSetConfig) isRequest_Request() {}

func (*Request_DishGetConfig) isRequest_Request() {}

func (*Request_DishPowerSave) isRequest_Request() {}

func (*Request_DishInhibitGps) isRequest_Request() {}

func (*Request_DishGetData) isRequest_Request() {}

func (*Request_DishClearObstructionMap) isRequest_Request() {}

func (*Request_DishSetMaxPowerTestMode) isRequest_Request() {}

func (*Request_DishActivateRssiScan) isRequest_Request() {}

func (*Request_DishGetRssiScanResult) isRequest_Request() {}

func (*Request_DishFactoryReset) isRequest_Request() {}

func (*Request_ResetButton) isRequest_Request() {}

func (*Request_SetPerVehicleConfig) isRequest_Request() {}

func (*Request_DishAviationTest) isRequest_Request() {}

func (*Request_DishInhibitRf) isRequest_Request() {}

func (*Request_WifiGetClients) isRequest_Request() {}

func (*Request_WifiGetPingMetrics) isRequest_Request() {}

func (*Request_WifiSetConfig) isRequest_Request() {}

func (*Request_WifiGetConfig) isRequest_Request() {}

func (*Request_WifiSetup) isRequest_Request() {}

func (*Request_WifiSetMeshDeviceTrust) isRequest_Request() {}

func (*Request_WifiSetMeshConfig) isRequest_Request() {}

func (*Request_WifiGetClientHistory) isRequest_Request() {}

func (*Request_WifiSetClientGivenName) isRequest_Request() {}

func (*Request_WifiSetAviationConformed) isRequest_Request() {}

func (*Request_WifiSelfTest) isRequest_Request() {}

func (*Request_WifiRunSelfTest) isRequest_Request() {}

func (*Request_WifiCalibrationMode) isRequest_Request() {}

func (*Request_WifiGuestInfo) isRequest_Request() {}

func (*Request_WifiRfTest) isRequest_Request() {}

func (*Request_WifiGetFirewall) isRequest_Request() {}

func (*Request_WifiTogglePoeNegotiation) isRequest_Request() {}

func (*Request_WifiFactoryTestCommand) isRequest_Request() {}

func (*Request_WifiStartLocalTelemProxy) isRequest_Request() {}

func (*Request_WifiBackhaulStats) isRequest_Request() {}

func (*Request_WifiToggleUmbilicalMode) isRequest_Request() {}

func (*Request_WifiClientSandbox) isRequest_Request() {}

func (*Request_WifiRunDebugNetsys) isRequest_Request() {}

func (*Request_WifiResetEthPhy) isRequest_Request() {}

func (*Request_WifiFlushHardwareNat) isRequest_Request() {}

func (*Request_WifiWriteCalibration) isRequest_Request() {}

func (*Request_TransceiverIfLoopbackTest) isRequest_Request() {}

func (*Request_TransceiverGetStatus) isRequest_Request() {}

func (*Request_TransceiverGetTelemetry) isRequest_Request() {}

func (*Request_StartUnlock) isRequest_Request() {}

func (*Request_FinishUnlock) isRequest_Request() {}

func (*Request_GetDiagnostics) isRequest_Request() {}

type Response struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id         uint64         `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Status     *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	ApiVersion uint64         `protobuf:"varint,3,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
	// Types that are assignable to Response:
	//
	//	*Response_GetNextId
	//	*Response_EnableDebugTelem
	//	*Response_FactoryReset
	//	*Response_GetDeviceInfo
	//	*Response_GetLog
	//	*Response_GetNetworkInterfaces
	//	*Response_GetPing
	//	*Response_PingHost
	//	*Response_Reboot
	//	*Response_SpeedTest
	//	*Response_SetSku
	//	*Response_SetTrustedKeys
	//	*Response_Update
	//	*Response_GetLocation
	//	*Response_GetHeapDump
	//	*Response_RestartControl
	//	*Response_Fuse
	//	*Response_GetConnections
	//	*Response_StartSpeedtest
	//	*Response_GetSpeedtestStatus
	//	*Response_ReportClientSpeedtest
	//	*Response_InitiateRemoteSsh
	//	*Response_SelfTest
	//	*Response_SetTestMode
	//	*Response_SoftwareUpdate
	//	*Response_GetRadioStats
	//	*Response_Time
	//	*Response_RunIperfServer
	//	*Response_GetGoroutineStackTraces
	//	*Response_DishAuthenticate
	//	*Response_DishGetContext
	//	*Response_DishGetHistory
	//	*Response_DishGetStatus
	//	*Response_DishGetObstructionMap
	//	*Response_DishStow
	//	*Response_DishSetEmc
	//	*Response_DishGetEmc
	//	*Response_DishSetConfig
	//	*Response_DishGetConfig
	//	*Response_DishInhibitGps
	//	*Response_DishClearObstructionMap
	//	*Response_DishSetMaxPowerTestMode
	//	*Response_DishActivateRssiScan
	//	*Response_DishGetRssiScanResult
	//	*Response_DishFactoryReset
	//	*Response_ResetButton
	//	*Response_SetPerVehicleConfig
	//	*Response_DishAviationTest
	//	*Response_DishInhibitRf
	//	*Response_WifiAuthenticate
	//	*Response_WifiGetClients
	//	*Response_WifiGetHistory
	//	*Response_WifiGetPingMetrics
	//	*Response_WifiGetStatus
	//	*Response_WifiSetConfig
	//	*Response_WifiGetConfig
	//	*Response_WifiSetup
	//	*Response_WifiGetPersistentStats
	//	*Response_WifiSetMeshDeviceTrust
	//	*Response_WifiSetMeshConfig
	//	*Response_WifiGetClientHistory
	//	*Response_WifiSelfTest
	//	*Response_WifiGuestInfo
	//	*Response_WifiRfTest
	//	*Response_WifiGetFirewall
	//	*Response_WifiFactoryTestCommand
	//	*Response_WifiBackhaulStats
	//	*Response_WifiClientSandbox
	//	*Response_WifiUpdate
	//	*Response_WifiRunDebugNetsys
	//	*Response_WifiResetEthPhy
	//	*Response_WifiFlushHardwareNat
	//	*Response_TransceiverIfLoopbackTest
	//	*Response_TransceiverGetStatus
	//	*Response_TransceiverGetTelemetry
	//	*Response_StartUnlock
	//	*Response_FinishUnlock
	//	*Response_WifiGetDiagnostics
	//	*Response_DishGetDiagnostics
	Response isResponse_Response `protobuf_oneof:"response"`
}

func (x *Response) Reset() {
	*x = Response{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Response) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Response) ProtoMessage() {}

func (x *Response) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Response.ProtoReflect.Descriptor instead.
func (*Response) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{5}
}

func (x *Response) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Response) GetStatus() *status.Status {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *Response) GetApiVersion() uint64 {
	if x != nil {
		return x.ApiVersion
	}
	return 0
}

func (m *Response) GetResponse() isResponse_Response {
	if m != nil {
		return m.Response
	}
	return nil
}

func (x *Response) GetGetNextId() *GetNextIdResponse {
	if x, ok := x.GetResponse().(*Response_GetNextId); ok {
		return x.GetNextId
	}
	return nil
}

func (x *Response) GetEnableDebugTelem() *EnableDebugTelemResponse {
	if x, ok := x.GetResponse().(*Response_EnableDebugTelem); ok {
		return x.EnableDebugTelem
	}
	return nil
}

func (x *Response) GetFactoryReset() *FactoryResetResponse {
	if x, ok := x.GetResponse().(*Response_FactoryReset); ok {
		return x.FactoryReset
	}
	return nil
}

func (x *Response) GetGetDeviceInfo() *GetDeviceInfoResponse {
	if x, ok := x.GetResponse().(*Response_GetDeviceInfo); ok {
		return x.GetDeviceInfo
	}
	return nil
}

func (x *Response) GetGetLog() *GetLogResponse {
	if x, ok := x.GetResponse().(*Response_GetLog); ok {
		return x.GetLog
	}
	return nil
}

func (x *Response) GetGetNetworkInterfaces() *GetNetworkInterfacesResponse {
	if x, ok := x.GetResponse().(*Response_GetNetworkInterfaces); ok {
		return x.GetNetworkInterfaces
	}
	return nil
}

func (x *Response) GetGetPing() *GetPingResponse {
	if x, ok := x.GetResponse().(*Response_GetPing); ok {
		return x.GetPing
	}
	return nil
}

func (x *Response) GetPingHost() *PingHostResponse {
	if x, ok := x.GetResponse().(*Response_PingHost); ok {
		return x.PingHost
	}
	return nil
}

func (x *Response) GetReboot() *RebootResponse {
	if x, ok := x.GetResponse().(*Response_Reboot); ok {
		return x.Reboot
	}
	return nil
}

func (x *Response) GetSpeedTest() *SpeedTestResponse {
	if x, ok := x.GetResponse().(*Response_SpeedTest); ok {
		return x.SpeedTest
	}
	return nil
}

func (x *Response) GetSetSku() *SetSkuResponse {
	if x, ok := x.GetResponse().(*Response_SetSku); ok {
		return x.SetSku
	}
	return nil
}

func (x *Response) GetSetTrustedKeys() *SetTrustedKeysResponse {
	if x, ok := x.GetResponse().(*Response_SetTrustedKeys); ok {
		return x.SetTrustedKeys
	}
	return nil
}

func (x *Response) GetUpdate() *UpdateResponse {
	if x, ok := x.GetResponse().(*Response_Update); ok {
		return x.Update
	}
	return nil
}

func (x *Response) GetGetLocation() *GetLocationResponse {
	if x, ok := x.GetResponse().(*Response_GetLocation); ok {
		return x.GetLocation
	}
	return nil
}

func (x *Response) GetGetHeapDump() *GetHeapDumpResponse {
	if x, ok := x.GetResponse().(*Response_GetHeapDump); ok {
		return x.GetHeapDump
	}
	return nil
}

func (x *Response) GetRestartControl() *RestartControlResponse {
	if x, ok := x.GetResponse().(*Response_RestartControl); ok {
		return x.RestartControl
	}
	return nil
}

func (x *Response) GetFuse() *FuseResponse {
	if x, ok := x.GetResponse().(*Response_Fuse); ok {
		return x.Fuse
	}
	return nil
}

func (x *Response) GetGetConnections() *GetConnectionsResponse {
	if x, ok := x.GetResponse().(*Response_GetConnections); ok {
		return x.GetConnections
	}
	return nil
}

func (x *Response) GetStartSpeedtest() *StartSpeedtestResponse {
	if x, ok := x.GetResponse().(*Response_StartSpeedtest); ok {
		return x.StartSpeedtest
	}
	return nil
}

func (x *Response) GetGetSpeedtestStatus() *GetSpeedtestStatusResponse {
	if x, ok := x.GetResponse().(*Response_GetSpeedtestStatus); ok {
		return x.GetSpeedtestStatus
	}
	return nil
}

func (x *Response) GetReportClientSpeedtest() *ReportClientSpeedtestResponse {
	if x, ok := x.GetResponse().(*Response_ReportClientSpeedtest); ok {
		return x.ReportClientSpeedtest
	}
	return nil
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *Response) GetInitiateRemoteSsh() *InitiateRemoteSshResponse {
	if x, ok := x.GetResponse().(*Response_InitiateRemoteSsh); ok {
		return x.InitiateRemoteSsh
	}
	return nil
}

func (x *Response) GetSelfTest() *SelfTestResponse {
	if x, ok := x.GetResponse().(*Response_SelfTest); ok {
		return x.SelfTest
	}
	return nil
}

func (x *Response) GetSetTestMode() *SetTestModeResponse {
	if x, ok := x.GetResponse().(*Response_SetTestMode); ok {
		return x.SetTestMode
	}
	return nil
}

func (x *Response) GetSoftwareUpdate() *SoftwareUpdateResponse {
	if x, ok := x.GetResponse().(*Response_SoftwareUpdate); ok {
		return x.SoftwareUpdate
	}
	return nil
}

func (x *Response) GetGetRadioStats() *GetRadioStatsResponse {
	if x, ok := x.GetResponse().(*Response_GetRadioStats); ok {
		return x.GetRadioStats
	}
	return nil
}

func (x *Response) GetTime() *GetTimeResponse {
	if x, ok := x.GetResponse().(*Response_Time); ok {
		return x.Time
	}
	return nil
}

func (x *Response) GetRunIperfServer() *RunIperfServerResponse {
	if x, ok := x.GetResponse().(*Response_RunIperfServer); ok {
		return x.RunIperfServer
	}
	return nil
}

func (x *Response) GetGetGoroutineStackTraces() *GetGoroutineStackTracesResponse {
	if x, ok := x.GetResponse().(*Response_GetGoroutineStackTraces); ok {
		return x.GetGoroutineStackTraces
	}
	return nil
}

func (x *Response) GetDishAuthenticate() *DishAuthenticateResponse {
	if x, ok := x.GetResponse().(*Response_DishAuthenticate); ok {
		return x.DishAuthenticate
	}
	return nil
}

func (x *Response) GetDishGetContext() *DishGetContextResponse {
	if x, ok := x.GetResponse().(*Response_DishGetContext); ok {
		return x.DishGetContext
	}
	return nil
}

func (x *Response) GetDishGetHistory() *DishGetHistoryResponse {
	if x, ok := x.GetResponse().(*Response_DishGetHistory); ok {
		return x.DishGetHistory
	}
	return nil
}

func (x *Response) GetDishGetStatus() *DishGetStatusResponse {
	if x, ok := x.GetResponse().(*Response_DishGetStatus); ok {
		return x.DishGetStatus
	}
	return nil
}

func (x *Response) GetDishGetObstructionMap() *DishGetObstructionMapResponse {
	if x, ok := x.GetResponse().(*Response_DishGetObstructionMap); ok {
		return x.DishGetObstructionMap
	}
	return nil
}

func (x *Response) GetDishStow() *DishStowResponse {
	if x, ok := x.GetResponse().(*Response_DishStow); ok {
		return x.DishStow
	}
	return nil
}

func (x *Response) GetDishSetEmc() *DishSetEmcResponse {
	if x, ok := x.GetResponse().(*Response_DishSetEmc); ok {
		return x.DishSetEmc
	}
	return nil
}

func (x *Response) GetDishGetEmc() *DishGetEmcResponse {
	if x, ok := x.GetResponse().(*Response_DishGetEmc); ok {
		return x.DishGetEmc
	}
	return nil
}

func (x *Response) GetDishSetConfig() *DishSetConfigResponse {
	if x, ok := x.GetResponse().(*Response_DishSetConfig); ok {
		return x.DishSetConfig
	}
	return nil
}

func (x *Response) GetDishGetConfig() *DishGetConfigResponse {
	if x, ok := x.GetResponse().(*Response_DishGetConfig); ok {
		return x.DishGetConfig
	}
	return nil
}

func (x *Response) GetDishInhibitGps() *DishInhibitGpsResponse {
	if x, ok := x.GetResponse().(*Response_DishInhibitGps); ok {
		return x.DishInhibitGps
	}
	return nil
}

func (x *Response) GetDishClearObstructionMap() *DishClearObstructionMapResponse {
	if x, ok := x.GetResponse().(*Response_DishClearObstructionMap); ok {
		return x.DishClearObstructionMap
	}
	return nil
}

func (x *Response) GetDishSetMaxPowerTestMode() *DishSetMaxPowerTestModeResponse {
	if x, ok := x.GetResponse().(*Response_DishSetMaxPowerTestMode); ok {
		return x.DishSetMaxPowerTestMode
	}
	return nil
}

func (x *Response) GetDishActivateRssiScan() *DishActivateRssiScanResponse {
	if x, ok := x.GetResponse().(*Response_DishActivateRssiScan); ok {
		return x.DishActivateRssiScan
	}
	return nil
}

func (x *Response) GetDishGetRssiScanResult() *DishGetRssiScanResultResponse {
	if x, ok := x.GetResponse().(*Response_DishGetRssiScanResult); ok {
		return x.DishGetRssiScanResult
	}
	return nil
}

func (x *Response) GetDishFactoryReset() *DishFactoryResetResponse {
	if x, ok := x.GetResponse().(*Response_DishFactoryReset); ok {
		return x.DishFactoryReset
	}
	return nil
}

func (x *Response) GetResetButton() *ResetButtonResponse {
	if x, ok := x.GetResponse().(*Response_ResetButton); ok {
		return x.ResetButton
	}
	return nil
}

func (x *Response) GetSetPerVehicleConfig() *SetPerVehicleConfigResponse {
	if x, ok := x.GetResponse().(*Response_SetPerVehicleConfig); ok {
		return x.SetPerVehicleConfig
	}
	return nil
}

func (x *Response) GetDishAviationTest() *DishAviationTestResponse {
	if x, ok := x.GetResponse().(*Response_DishAviationTest); ok {
		return x.DishAviationTest
	}
	return nil
}

func (x *Response) GetDishInhibitRf() *DishInhibitRfResponse {
	if x, ok := x.GetResponse().(*Response_DishInhibitRf); ok {
		return x.DishInhibitRf
	}
	return nil
}

func (x *Response) GetWifiAuthenticate() *WifiAuthenticateResponse {
	if x, ok := x.GetResponse().(*Response_WifiAuthenticate); ok {
		return x.WifiAuthenticate
	}
	return nil
}

func (x *Response) GetWifiGetClients() *WifiGetClientsResponse {
	if x, ok := x.GetResponse().(*Response_WifiGetClients); ok {
		return x.WifiGetClients
	}
	return nil
}

func (x *Response) GetWifiGetHistory() *WifiGetHistoryResponse {
	if x, ok := x.GetResponse().(*Response_WifiGetHistory); ok {
		return x.WifiGetHistory
	}
	return nil
}

func (x *Response) GetWifiGetPingMetrics() *WifiGetPingMetricsResponse {
	if x, ok := x.GetResponse().(*Response_WifiGetPingMetrics); ok {
		return x.WifiGetPingMetrics
	}
	return nil
}

func (x *Response) GetWifiGetStatus() *WifiGetStatusResponse {
	if x, ok := x.GetResponse().(*Response_WifiGetStatus); ok {
		return x.WifiGetStatus
	}
	return nil
}

func (x *Response) GetWifiSetConfig() *WifiSetConfigResponse {
	if x, ok := x.GetResponse().(*Response_WifiSetConfig); ok {
		return x.WifiSetConfig
	}
	return nil
}

func (x *Response) GetWifiGetConfig() *WifiGetConfigResponse {
	if x, ok := x.GetResponse().(*Response_WifiGetConfig); ok {
		return x.WifiGetConfig
	}
	return nil
}

func (x *Response) GetWifiSetup() *WifiSetupResponse {
	if x, ok := x.GetResponse().(*Response_WifiSetup); ok {
		return x.WifiSetup
	}
	return nil
}

func (x *Response) GetWifiGetPersistentStats() *WifiGetPersistentStatsResponse {
	if x, ok := x.GetResponse().(*Response_WifiGetPersistentStats); ok {
		return x.WifiGetPersistentStats
	}
	return nil
}

func (x *Response) GetWifiSetMeshDeviceTrust() *WifiSetMeshDeviceTrustResponse {
	if x, ok := x.GetResponse().(*Response_WifiSetMeshDeviceTrust); ok {
		return x.WifiSetMeshDeviceTrust
	}
	return nil
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *Response) GetWifiSetMeshConfig() *WifiSetMeshConfigResponse {
	if x, ok := x.GetResponse().(*Response_WifiSetMeshConfig); ok {
		return x.WifiSetMeshConfig
	}
	return nil
}

func (x *Response) GetWifiGetClientHistory() *WifiGetClientHistoryResponse {
	if x, ok := x.GetResponse().(*Response_WifiGetClientHistory); ok {
		return x.WifiGetClientHistory
	}
	return nil
}

func (x *Response) GetWifiSelfTest() *WifiSelfTestResponse {
	if x, ok := x.GetResponse().(*Response_WifiSelfTest); ok {
		return x.WifiSelfTest
	}
	return nil
}

func (x *Response) GetWifiGuestInfo() *WifiGuestInfoResponse {
	if x, ok := x.GetResponse().(*Response_WifiGuestInfo); ok {
		return x.WifiGuestInfo
	}
	return nil
}

func (x *Response) GetWifiRfTest() *WifiRfTestResponse {
	if x, ok := x.GetResponse().(*Response_WifiRfTest); ok {
		return x.WifiRfTest
	}
	return nil
}

func (x *Response) GetWifiGetFirewall() *WifiGetFirewallResponse {
	if x, ok := x.GetResponse().(*Response_WifiGetFirewall); ok {
		return x.WifiGetFirewall
	}
	return nil
}

func (x *Response) GetWifiFactoryTestCommand() *WifiFactoryTestCommandResponse {
	if x, ok := x.GetResponse().(*Response_WifiFactoryTestCommand); ok {
		return x.WifiFactoryTestCommand
	}
	return nil
}

func (x *Response) GetWifiBackhaulStats() *WifiBackhaulStatsResponse {
	if x, ok := x.GetResponse().(*Response_WifiBackhaulStats); ok {
		return x.WifiBackhaulStats
	}
	return nil
}

func (x *Response) GetWifiClientSandbox() *WifiClientSandboxResponse {
	if x, ok := x.GetResponse().(*Response_WifiClientSandbox); ok {
		return x.WifiClientSandbox
	}
	return nil
}

func (x *Response) GetWifiUpdate() *WifiUpdateResponse {
	if x, ok := x.GetResponse().(*Response_WifiUpdate); ok {
		return x.WifiUpdate
	}
	return nil
}

func (x *Response) GetWifiRunDebugNetsys() *WifiRunDebugNetsysResponse {
	if x, ok := x.GetResponse().(*Response_WifiRunDebugNetsys); ok {
		return x.WifiRunDebugNetsys
	}
	return nil
}

func (x *Response) GetWifiResetEthPhy() *WifiResetEthPhyResponse {
	if x, ok := x.GetResponse().(*Response_WifiResetEthPhy); ok {
		return x.WifiResetEthPhy
	}
	return nil
}

func (x *Response) GetWifiFlushHardwareNat() *WifiFlushHardwareNatResponse {
	if x, ok := x.GetResponse().(*Response_WifiFlushHardwareNat); ok {
		return x.WifiFlushHardwareNat
	}
	return nil
}

func (x *Response) GetTransceiverIfLoopbackTest() *TransceiverIFLoopbackTestResponse {
	if x, ok := x.GetResponse().(*Response_TransceiverIfLoopbackTest); ok {
		return x.TransceiverIfLoopbackTest
	}
	return nil
}

func (x *Response) GetTransceiverGetStatus() *TransceiverGetStatusResponse {
	if x, ok := x.GetResponse().(*Response_TransceiverGetStatus); ok {
		return x.TransceiverGetStatus
	}
	return nil
}

func (x *Response) GetTransceiverGetTelemetry() *TransceiverGetTelemetryResponse {
	if x, ok := x.GetResponse().(*Response_TransceiverGetTelemetry); ok {
		return x.TransceiverGetTelemetry
	}
	return nil
}

func (x *Response) GetStartUnlock() *service.StartUnlockResponse {
	if x, ok := x.GetResponse().(*Response_StartUnlock); ok {
		return x.StartUnlock
	}
	return nil
}

func (x *Response) GetFinishUnlock() *service.FinishUnlockResponse {
	if x, ok := x.GetResponse().(*Response_FinishUnlock); ok {
		return x.FinishUnlock
	}
	return nil
}

func (x *Response) GetWifiGetDiagnostics() *WifiGetDiagnosticsResponse {
	if x, ok := x.GetResponse().(*Response_WifiGetDiagnostics); ok {
		return x.WifiGetDiagnostics
	}
	return nil
}

func (x *Response) GetDishGetDiagnostics() *DishGetDiagnosticsResponse {
	if x, ok := x.GetResponse().(*Response_DishGetDiagnostics); ok {
		return x.DishGetDiagnostics
	}
	return nil
}

type isResponse_Response interface {
	isResponse_Response()
}

type Response_GetNextId struct {
	GetNextId *GetNextIdResponse `protobuf:"bytes,1006,opt,name=get_next_id,json=getNextId,proto3,oneof"`
}

type Response_EnableDebugTelem struct {
	EnableDebugTelem *EnableDebugTelemResponse `protobuf:"bytes,1034,opt,name=enable_debug_telem,json=enableDebugTelem,proto3,oneof"`
}

type Response_FactoryReset struct {
	FactoryReset *FactoryResetResponse `protobuf:"bytes,1011,opt,name=factory_reset,json=factoryReset,proto3,oneof"`
}

type Response_GetDeviceInfo struct {
	GetDeviceInfo *GetDeviceInfoResponse `protobuf:"bytes,1004,opt,name=get_device_info,json=getDeviceInfo,proto3,oneof"`
}

type Response_GetLog struct {
	GetLog *GetLogResponse `protobuf:"bytes,1012,opt,name=get_log,json=getLog,proto3,oneof"`
}

type Response_GetNetworkInterfaces struct {
	GetNetworkInterfaces *GetNetworkInterfacesResponse `protobuf:"bytes,1015,opt,name=get_network_interfaces,json=getNetworkInterfaces,proto3,oneof"`
}

type Response_GetPing struct {
	GetPing *GetPingResponse `protobuf:"bytes,1009,opt,name=get_ping,json=getPing,proto3,oneof"`
}

type Response_PingHost struct {
	PingHost *PingHostResponse `protobuf:"bytes,1016,opt,name=ping_host,json=pingHost,proto3,oneof"`
}

type Response_Reboot struct {
	Reboot *RebootResponse `protobuf:"bytes,1001,opt,name=reboot,proto3,oneof"`
}

type Response_SpeedTest struct {
	SpeedTest *SpeedTestResponse `protobuf:"bytes,1003,opt,name=speed_test,json=speedTest,proto3,oneof"`
}

type Response_SetSku struct {
	SetSku *SetSkuResponse `protobuf:"bytes,1013,opt,name=set_sku,json=setSku,proto3,oneof"`
}

type Response_SetTrustedKeys struct {
	SetTrustedKeys *SetTrustedKeysResponse `protobuf:"bytes,1010,opt,name=set_trusted_keys,json=setTrustedKeys,proto3,oneof"`
}

type Response_Update struct {
	Update *UpdateResponse `protobuf:"bytes,1014,opt,name=update,proto3,oneof"`
}

type Response_GetLocation struct {
	GetLocation *GetLocationResponse `protobuf:"bytes,1017,opt,name=get_location,json=getLocation,proto3,oneof"`
}

type Response_GetHeapDump struct {
	GetHeapDump *GetHeapDumpResponse `protobuf:"bytes,1019,opt,name=get_heap_dump,json=getHeapDump,proto3,oneof"`
}

type Response_RestartControl struct {
	RestartControl *RestartControlResponse `protobuf:"bytes,1020,opt,name=restart_control,json=restartControl,proto3,oneof"`
}

type Response_Fuse struct {
	Fuse *FuseResponse `protobuf:"bytes,1021,opt,name=fuse,proto3,oneof"`
}

type Response_GetConnections struct {
	GetConnections *GetConnectionsResponse `protobuf:"bytes,1023,opt,name=get_connections,json=getConnections,proto3,oneof"`
}

type Response_StartSpeedtest struct {
	StartSpeedtest *StartSpeedtestResponse `protobuf:"bytes,1027,opt,name=start_speedtest,json=startSpeedtest,proto3,oneof"`
}

type Response_GetSpeedtestStatus struct {
	GetSpeedtestStatus *GetSpeedtestStatusResponse `protobuf:"bytes,1028,opt,name=get_speedtest_status,json=getSpeedtestStatus,proto3,oneof"`
}

type Response_ReportClientSpeedtest struct {
	ReportClientSpeedtest *ReportClientSpeedtestResponse `protobuf:"bytes,1029,opt,name=report_client_speedtest,json=reportClientSpeedtest,proto3,oneof"`
}

type Response_InitiateRemoteSsh struct {
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	InitiateRemoteSsh *InitiateRemoteSshResponse `protobuf:"bytes,1030,opt,name=initiate_remote_ssh,json=initiateRemoteSsh,proto3,oneof"`
}

type Response_SelfTest struct {
	SelfTest *SelfTestResponse `protobuf:"bytes,1031,opt,name=self_test,json=selfTest,proto3,oneof"`
}

type Response_SetTestMode struct {
	SetTestMode *SetTestModeResponse `protobuf:"bytes,1032,opt,name=set_test_mode,json=setTestMode,proto3,oneof"`
}

type Response_SoftwareUpdate struct {
	SoftwareUpdate *SoftwareUpdateResponse `protobuf:"bytes,1033,opt,name=software_update,json=softwareUpdate,proto3,oneof"`
}

type Response_GetRadioStats struct {
	GetRadioStats *GetRadioStatsResponse `protobuf:"bytes,1035,opt,name=get_radio_stats,json=getRadioStats,proto3,oneof"`
}

type Response_Time struct {
	Time *GetTimeResponse `protobuf:"bytes,1037,opt,name=time,proto3,oneof"`
}

type Response_RunIperfServer struct {
	RunIperfServer *RunIperfServerResponse `protobuf:"bytes,1038,opt,name=run_iperf_server,json=runIperfServer,proto3,oneof"`
}

type Response_GetGoroutineStackTraces struct {
	GetGoroutineStackTraces *GetGoroutineStackTracesResponse `protobuf:"bytes,1041,opt,name=get_goroutine_stack_traces,json=getGoroutineStackTraces,proto3,oneof"`
}

type Response_DishAuthenticate struct {
	DishAuthenticate *DishAuthenticateResponse `protobuf:"bytes,2005,opt,name=dish_authenticate,json=dishAuthenticate,proto3,oneof"`
}

type Response_DishGetContext struct {
	DishGetContext *DishGetContextResponse `protobuf:"bytes,2003,opt,name=dish_get_context,json=dishGetContext,proto3,oneof"`
}

type Response_DishGetHistory struct {
	DishGetHistory *DishGetHistoryResponse `protobuf:"bytes,2006,opt,name=dish_get_history,json=dishGetHistory,proto3,oneof"`
}

type Response_DishGetStatus struct {
	DishGetStatus *DishGetStatusResponse `protobuf:"bytes,2004,opt,name=dish_get_status,json=dishGetStatus,proto3,oneof"`
}

type Response_DishGetObstructionMap struct {
	DishGetObstructionMap *DishGetObstructionMapResponse `protobuf:"bytes,2008,opt,name=dish_get_obstruction_map,json=dishGetObstructionMap,proto3,oneof"`
}

type Response_DishStow struct {
	DishStow *DishStowResponse `protobuf:"bytes,2002,opt,name=dish_stow,json=dishStow,proto3,oneof"`
}

type Response_DishSetEmc struct {
	DishSetEmc *DishSetEmcResponse `protobuf:"bytes,2007,opt,name=dish_set_emc,json=dishSetEmc,proto3,oneof"`
}

type Response_DishGetEmc struct {
	DishGetEmc *DishGetEmcResponse `protobuf:"bytes,2009,opt,name=dish_get_emc,json=dishGetEmc,proto3,oneof"`
}

type Response_DishSetConfig struct {
	DishSetConfig *DishSetConfigResponse `protobuf:"bytes,2010,opt,name=dish_set_config,json=dishSetConfig,proto3,oneof"`
}

type Response_DishGetConfig struct {
	DishGetConfig *DishGetConfigResponse `protobuf:"bytes,2011,opt,name=dish_get_config,json=dishGetConfig,proto3,oneof"`
}

type Response_DishInhibitGps struct {
	DishInhibitGps *DishInhibitGpsResponse `protobuf:"bytes,2013,opt,name=dish_inhibit_gps,json=dishInhibitGps,proto3,oneof"`
}

type Response_DishClearObstructionMap struct {
	DishClearObstructionMap *DishClearObstructionMapResponse `protobuf:"bytes,2015,opt,name=dish_clear_obstruction_map,json=dishClearObstructionMap,proto3,oneof"`
}

type Response_DishSetMaxPowerTestMode struct {
	DishSetMaxPowerTestMode *DishSetMaxPowerTestModeResponse `protobuf:"bytes,2018,opt,name=dish_set_max_power_test_mode,json=dishSetMaxPowerTestMode,proto3,oneof"`
}

type Response_DishActivateRssiScan struct {
	DishActivateRssiScan *DishActivateRssiScanResponse `protobuf:"bytes,2019,opt,name=dish_activate_rssi_scan,json=dishActivateRssiScan,proto3,oneof"`
}

type Response_DishGetRssiScanResult struct {
	DishGetRssiScanResult *DishGetRssiScanResultResponse `protobuf:"bytes,2020,opt,name=dish_get_rssi_scan_result,json=dishGetRssiScanResult,proto3,oneof"`
}

type Response_DishFactoryReset struct {
	DishFactoryReset *DishFactoryResetResponse `protobuf:"bytes,2021,opt,name=dish_factory_reset,json=dishFactoryReset,proto3,oneof"`
}

type Response_ResetButton struct {
	ResetButton *ResetButtonResponse `protobuf:"bytes,2022,opt,name=reset_button,json=resetButton,proto3,oneof"`
}

type Response_SetPerVehicleConfig struct {
	SetPerVehicleConfig *SetPerVehicleConfigResponse `protobuf:"bytes,2023,opt,name=set_per_vehicle_config,json=setPerVehicleConfig,proto3,oneof"`
}

type Response_DishAviationTest struct {
	DishAviationTest *DishAviationTestResponse `protobuf:"bytes,2024,opt,name=dish_aviation_test,json=dishAviationTest,proto3,oneof"`
}

type Response_DishInhibitRf struct {
	DishInhibitRf *DishInhibitRfResponse `protobuf:"bytes,2026,opt,name=dish_inhibit_rf,json=dishInhibitRf,proto3,oneof"`
}

type Response_WifiAuthenticate struct {
	WifiAuthenticate *WifiAuthenticateResponse `protobuf:"bytes,3005,opt,name=wifi_authenticate,json=wifiAuthenticate,proto3,oneof"`
}

type Response_WifiGetClients struct {
	WifiGetClients *WifiGetClientsResponse `protobuf:"bytes,3002,opt,name=wifi_get_clients,json=wifiGetClients,proto3,oneof"`
}

type Response_WifiGetHistory struct {
	WifiGetHistory *WifiGetHistoryResponse `protobuf:"bytes,3006,opt,name=wifi_get_history,json=wifiGetHistory,proto3,oneof"`
}

type Response_WifiGetPingMetrics struct {
	WifiGetPingMetrics *WifiGetPingMetricsResponse `protobuf:"bytes,3007,opt,name=wifi_get_ping_metrics,json=wifiGetPingMetrics,proto3,oneof"`
}

type Response_WifiGetStatus struct {
	WifiGetStatus *WifiGetStatusResponse `protobuf:"bytes,3004,opt,name=wifi_get_status,json=wifiGetStatus,proto3,oneof"`
}

type Response_WifiSetConfig struct {
	WifiSetConfig *WifiSetConfigResponse `protobuf:"bytes,3001,opt,name=wifi_set_config,json=wifiSetConfig,proto3,oneof"`
}

type Response_WifiGetConfig struct {
	WifiGetConfig *WifiGetConfigResponse `protobuf:"bytes,3009,opt,name=wifi_get_config,json=wifiGetConfig,proto3,oneof"`
}

type Response_WifiSetup struct {
	WifiSetup *WifiSetupResponse `protobuf:"bytes,3003,opt,name=wifi_setup,json=wifiSetup,proto3,oneof"`
}

type Response_WifiGetPersistentStats struct {
	WifiGetPersistentStats *WifiGetPersistentStatsResponse `protobuf:"bytes,3022,opt,name=wifi_get_persistent_stats,json=wifiGetPersistentStats,proto3,oneof"`
}

type Response_WifiSetMeshDeviceTrust struct {
	WifiSetMeshDeviceTrust *WifiSetMeshDeviceTrustResponse `protobuf:"bytes,3012,opt,name=wifi_set_mesh_device_trust,json=wifiSetMeshDeviceTrust,proto3,oneof"`
}

type Response_WifiSetMeshConfig struct {
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	WifiSetMeshConfig *WifiSetMeshConfigResponse `protobuf:"bytes,3013,opt,name=wifi_set_mesh_config,json=wifiSetMeshConfig,proto3,oneof"`
}

type Response_WifiGetClientHistory struct {
	WifiGetClientHistory *WifiGetClientHistoryResponse `protobuf:"bytes,3015,opt,name=wifi_get_client_history,json=wifiGetClientHistory,proto3,oneof"`
}

type Response_WifiSelfTest struct {
	WifiSelfTest *WifiSelfTestResponse `protobuf:"bytes,3016,opt,name=wifi_self_test,json=wifiSelfTest,proto3,oneof"`
}

type Response_WifiGuestInfo struct {
	WifiGuestInfo *WifiGuestInfoResponse `protobuf:"bytes,3020,opt,name=wifi_guest_info,json=wifiGuestInfo,proto3,oneof"`
}

type Response_WifiRfTest struct {
	WifiRfTest *WifiRfTestResponse `protobuf:"bytes,3021,opt,name=wifi_rf_test,json=wifiRfTest,proto3,oneof"`
}

type Response_WifiGetFirewall struct {
	WifiGetFirewall *WifiGetFirewallResponse `protobuf:"bytes,3024,opt,name=wifi_get_firewall,json=wifiGetFirewall,proto3,oneof"`
}

type Response_WifiFactoryTestCommand struct {
	WifiFactoryTestCommand *WifiFactoryTestCommandResponse `protobuf:"bytes,3025,opt,name=wifi_factory_test_command,json=wifiFactoryTestCommand,proto3,oneof"`
}

type Response_WifiBackhaulStats struct {
	WifiBackhaulStats *WifiBackhaulStatsResponse `protobuf:"bytes,3026,opt,name=wifi_backhaul_stats,json=wifiBackhaulStats,proto3,oneof"`
}

type Response_WifiClientSandbox struct {
	WifiClientSandbox *WifiClientSandboxResponse `protobuf:"bytes,3027,opt,name=wifi_client_sandbox,json=wifiClientSandbox,proto3,oneof"`
}

type Response_WifiUpdate struct {
	WifiUpdate *WifiUpdateResponse `protobuf:"bytes,3028,opt,name=wifi_update,json=wifiUpdate,proto3,oneof"`
}

type Response_WifiRunDebugNetsys struct {
	WifiRunDebugNetsys *WifiRunDebugNetsysResponse `protobuf:"bytes,3029,opt,name=wifi_run_debug_netsys,json=wifiRunDebugNetsys,proto3,oneof"`
}

type Response_WifiResetEthPhy struct {
	WifiResetEthPhy *WifiResetEthPhyResponse `protobuf:"bytes,3030,opt,name=wifi_reset_eth_phy,json=wifiResetEthPhy,proto3,oneof"`
}

type Response_WifiFlushHardwareNat struct {
	WifiFlushHardwareNat *WifiFlushHardwareNatResponse `protobuf:"bytes,3031,opt,name=wifi_flush_hardware_nat,json=wifiFlushHardwareNat,proto3,oneof"`
}

type Response_TransceiverIfLoopbackTest struct {
	TransceiverIfLoopbackTest *TransceiverIFLoopbackTestResponse `protobuf:"bytes,4001,opt,name=transceiver_if_loopback_test,json=transceiverIfLoopbackTest,proto3,oneof"`
}

type Response_TransceiverGetStatus struct {
	TransceiverGetStatus *TransceiverGetStatusResponse `protobuf:"bytes,4003,opt,name=transceiver_get_status,json=transceiverGetStatus,proto3,oneof"`
}

type Response_TransceiverGetTelemetry struct {
	TransceiverGetTelemetry *TransceiverGetTelemetryResponse `protobuf:"bytes,4004,opt,name=transceiver_get_telemetry,json=transceiverGetTelemetry,proto3,oneof"`
}

type Response_StartUnlock struct {
	StartUnlock *service.StartUnlockResponse `protobuf:"bytes,5000,opt,name=start_unlock,json=startUnlock,proto3,oneof"`
}

type Response_FinishUnlock struct {
	FinishUnlock *service.FinishUnlockResponse `protobuf:"bytes,5001,opt,name=finish_unlock,json=finishUnlock,proto3,oneof"`
}

type Response_WifiGetDiagnostics struct {
	WifiGetDiagnostics *WifiGetDiagnosticsResponse `protobuf:"bytes,6000,opt,name=wifi_get_diagnostics,json=wifiGetDiagnostics,proto3,oneof"`
}

type Response_DishGetDiagnostics struct {
	DishGetDiagnostics *DishGetDiagnosticsResponse `protobuf:"bytes,6001,opt,name=dish_get_diagnostics,json=dishGetDiagnostics,proto3,oneof"`
}

func (*Response_GetNextId) isResponse_Response() {}

func (*Response_EnableDebugTelem) isResponse_Response() {}

func (*Response_FactoryReset) isResponse_Response() {}

func (*Response_GetDeviceInfo) isResponse_Response() {}

func (*Response_GetLog) isResponse_Response() {}

func (*Response_GetNetworkInterfaces) isResponse_Response() {}

func (*Response_GetPing) isResponse_Response() {}

func (*Response_PingHost) isResponse_Response() {}

func (*Response_Reboot) isResponse_Response() {}

func (*Response_SpeedTest) isResponse_Response() {}

func (*Response_SetSku) isResponse_Response() {}

func (*Response_SetTrustedKeys) isResponse_Response() {}

func (*Response_Update) isResponse_Response() {}

func (*Response_GetLocation) isResponse_Response() {}

func (*Response_GetHeapDump) isResponse_Response() {}

func (*Response_RestartControl) isResponse_Response() {}

func (*Response_Fuse) isResponse_Response() {}

func (*Response_GetConnections) isResponse_Response() {}

func (*Response_StartSpeedtest) isResponse_Response() {}

func (*Response_GetSpeedtestStatus) isResponse_Response() {}

func (*Response_ReportClientSpeedtest) isResponse_Response() {}

func (*Response_InitiateRemoteSsh) isResponse_Response() {}

func (*Response_SelfTest) isResponse_Response() {}

func (*Response_SetTestMode) isResponse_Response() {}

func (*Response_SoftwareUpdate) isResponse_Response() {}

func (*Response_GetRadioStats) isResponse_Response() {}

func (*Response_Time) isResponse_Response() {}

func (*Response_RunIperfServer) isResponse_Response() {}

func (*Response_GetGoroutineStackTraces) isResponse_Response() {}

func (*Response_DishAuthenticate) isResponse_Response() {}

func (*Response_DishGetContext) isResponse_Response() {}

func (*Response_DishGetHistory) isResponse_Response() {}

func (*Response_DishGetStatus) isResponse_Response() {}

func (*Response_DishGetObstructionMap) isResponse_Response() {}

func (*Response_DishStow) isResponse_Response() {}

func (*Response_DishSetEmc) isResponse_Response() {}

func (*Response_DishGetEmc) isResponse_Response() {}

func (*Response_DishSetConfig) isResponse_Response() {}

func (*Response_DishGetConfig) isResponse_Response() {}

func (*Response_DishInhibitGps) isResponse_Response() {}

func (*Response_DishClearObstructionMap) isResponse_Response() {}

func (*Response_DishSetMaxPowerTestMode) isResponse_Response() {}

func (*Response_DishActivateRssiScan) isResponse_Response() {}

func (*Response_DishGetRssiScanResult) isResponse_Response() {}

func (*Response_DishFactoryReset) isResponse_Response() {}

func (*Response_ResetButton) isResponse_Response() {}

func (*Response_SetPerVehicleConfig) isResponse_Response() {}

func (*Response_DishAviationTest) isResponse_Response() {}

func (*Response_DishInhibitRf) isResponse_Response() {}

func (*Response_WifiAuthenticate) isResponse_Response() {}

func (*Response_WifiGetClients) isResponse_Response() {}

func (*Response_WifiGetHistory) isResponse_Response() {}

func (*Response_WifiGetPingMetrics) isResponse_Response() {}

func (*Response_WifiGetStatus) isResponse_Response() {}

func (*Response_WifiSetConfig) isResponse_Response() {}

func (*Response_WifiGetConfig) isResponse_Response() {}

func (*Response_WifiSetup) isResponse_Response() {}

func (*Response_WifiGetPersistentStats) isResponse_Response() {}

func (*Response_WifiSetMeshDeviceTrust) isResponse_Response() {}

func (*Response_WifiSetMeshConfig) isResponse_Response() {}

func (*Response_WifiGetClientHistory) isResponse_Response() {}

func (*Response_WifiSelfTest) isResponse_Response() {}

func (*Response_WifiGuestInfo) isResponse_Response() {}

func (*Response_WifiRfTest) isResponse_Response() {}

func (*Response_WifiGetFirewall) isResponse_Response() {}

func (*Response_WifiFactoryTestCommand) isResponse_Response() {}

func (*Response_WifiBackhaulStats) isResponse_Response() {}

func (*Response_WifiClientSandbox) isResponse_Response() {}

func (*Response_WifiUpdate) isResponse_Response() {}

func (*Response_WifiRunDebugNetsys) isResponse_Response() {}

func (*Response_WifiResetEthPhy) isResponse_Response() {}

func (*Response_WifiFlushHardwareNat) isResponse_Response() {}

func (*Response_TransceiverIfLoopbackTest) isResponse_Response() {}

func (*Response_TransceiverGetStatus) isResponse_Response() {}

func (*Response_TransceiverGetTelemetry) isResponse_Response() {}

func (*Response_StartUnlock) isResponse_Response() {}

func (*Response_FinishUnlock) isResponse_Response() {}

func (*Response_WifiGetDiagnostics) isResponse_Response() {}

func (*Response_DishGetDiagnostics) isResponse_Response() {}

type Event struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Event:
	//
	//	*Event_WifiNewClientConnected
	//	*Event_WifiAccountBonding
	//	*Event_WifiNewPeer
	//	*Event_WifiCloudStatus
	//	*Event_WifiClientSandbox
	Event isEvent_Event `protobuf_oneof:"event"`
}

func (x *Event) Reset() {
	*x = Event{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Event) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Event) ProtoMessage() {}

func (x *Event) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Event.ProtoReflect.Descriptor instead.
func (*Event) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{6}
}

func (m *Event) GetEvent() isEvent_Event {
	if m != nil {
		return m.Event
	}
	return nil
}

func (x *Event) GetWifiNewClientConnected() *WifiNewClientConnectedEvent {
	if x, ok := x.GetEvent().(*Event_WifiNewClientConnected); ok {
		return x.WifiNewClientConnected
	}
	return nil
}

func (x *Event) GetWifiAccountBonding() *WifiAccountBondingEvent {
	if x, ok := x.GetEvent().(*Event_WifiAccountBonding); ok {
		return x.WifiAccountBonding
	}
	return nil
}

func (x *Event) GetWifiNewPeer() *WifiNewPeerEvent {
	if x, ok := x.GetEvent().(*Event_WifiNewPeer); ok {
		return x.WifiNewPeer
	}
	return nil
}

func (x *Event) GetWifiCloudStatus() *WifiCloudStatusEvent {
	if x, ok := x.GetEvent().(*Event_WifiCloudStatus); ok {
		return x.WifiCloudStatus
	}
	return nil
}

func (x *Event) GetWifiClientSandbox() *WifiClientSandboxRequest {
	if x, ok := x.GetEvent().(*Event_WifiClientSandbox); ok {
		return x.WifiClientSandbox
	}
	return nil
}

type isEvent_Event interface {
	isEvent_Event()
}

type Event_WifiNewClientConnected struct {
	WifiNewClientConnected *WifiNewClientConnectedEvent `protobuf:"bytes,3001,opt,name=wifi_new_client_connected,json=wifiNewClientConnected,proto3,oneof"`
}

type Event_WifiAccountBonding struct {
	WifiAccountBonding *WifiAccountBondingEvent `protobuf:"bytes,3002,opt,name=wifi_account_bonding,json=wifiAccountBonding,proto3,oneof"`
}

type Event_WifiNewPeer struct {
	WifiNewPeer *WifiNewPeerEvent `protobuf:"bytes,3003,opt,name=wifi_new_peer,json=wifiNewPeer,proto3,oneof"`
}

type Event_WifiCloudStatus struct {
	WifiCloudStatus *WifiCloudStatusEvent `protobuf:"bytes,3004,opt,name=wifi_cloud_status,json=wifiCloudStatus,proto3,oneof"`
}

type Event_WifiClientSandbox struct {
	WifiClientSandbox *WifiClientSandboxRequest `protobuf:"bytes,3005,opt,name=wifi_client_sandbox,json=wifiClientSandbox,proto3,oneof"`
}

func (*Event_WifiNewClientConnected) isEvent_Event() {}

func (*Event_WifiAccountBonding) isEvent_Event() {}

func (*Event_WifiNewPeer) isEvent_Event() {}

func (*Event_WifiCloudStatus) isEvent_Event() {}

func (*Event_WifiClientSandbox) isEvent_Event() {}

type WifiCloudStatusEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ApiVersion       uint32 `protobuf:"varint,4,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
	DirectLinkToDish bool   `protobuf:"varint,1,opt,name=direct_link_to_dish,json=directLinkToDish,proto3" json:"direct_link_to_dish,omitempty"`
	HardwareVersion  string `protobuf:"bytes,2,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
	IsBypassed       bool   `protobuf:"varint,3,opt,name=is_bypassed,json=isBypassed,proto3" json:"is_bypassed,omitempty"`
}

func (x *WifiCloudStatusEvent) Reset() {
	*x = WifiCloudStatusEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WifiCloudStatusEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WifiCloudStatusEvent) ProtoMessage() {}

func (x *WifiCloudStatusEvent) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WifiCloudStatusEvent.ProtoReflect.Descriptor instead.
func (*WifiCloudStatusEvent) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{7}
}

func (x *WifiCloudStatusEvent) GetApiVersion() uint32 {
	if x != nil {
		return x.ApiVersion
	}
	return 0
}

func (x *WifiCloudStatusEvent) GetDirectLinkToDish() bool {
	if x != nil {
		return x.DirectLinkToDish
	}
	return false
}

func (x *WifiCloudStatusEvent) GetHardwareVersion() string {
	if x != nil {
		return x.HardwareVersion
	}
	return ""
}

func (x *WifiCloudStatusEvent) GetIsBypassed() bool {
	if x != nil {
		return x.IsBypassed
	}
	return false
}

type WifiClientSandboxRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ClientSandboxStatus []*WifiClientSandboxStatus `protobuf:"bytes,1,rep,name=client_sandbox_status,json=clientSandboxStatus,proto3" json:"client_sandbox_status,omitempty"`
	Alerts              []WifiClientSandboxAlert   `protobuf:"varint,2,rep,packed,name=alerts,proto3,enum=SpaceX.API.Device.WifiClientSandboxAlert" json:"alerts,omitempty"`
	UnixTimestampNs     uint64                     `protobuf:"varint,3,opt,name=unix_timestamp_ns,json=unixTimestampNs,proto3" json:"unix_timestamp_ns,omitempty"`
}

func (x *WifiClientSandboxRequest) Reset() {
	*x = WifiClientSandboxRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WifiClientSandboxRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WifiClientSandboxRequest) ProtoMessage() {}

func (x *WifiClientSandboxRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WifiClientSandboxRequest.ProtoReflect.Descriptor instead.
func (*WifiClientSandboxRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{8}
}

func (x *WifiClientSandboxRequest) GetClientSandboxStatus() []*WifiClientSandboxStatus {
	if x != nil {
		return x.ClientSandboxStatus
	}
	return nil
}

func (x *WifiClientSandboxRequest) GetAlerts() []WifiClientSandboxAlert {
	if x != nil {
		return x.Alerts
	}
	return nil
}

func (x *WifiClientSandboxRequest) GetUnixTimestampNs() uint64 {
	if x != nil {
		return x.UnixTimestampNs
	}
	return 0
}

type WifiClientSandboxResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *WifiClientSandboxResponse) Reset() {
	*x = WifiClientSandboxResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WifiClientSandboxResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WifiClientSandboxResponse) ProtoMessage() {}

func (x *WifiClientSandboxResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WifiClientSandboxResponse.ProtoReflect.Descriptor instead.
func (*WifiClientSandboxResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{9}
}

type WifiWriteCalibrationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	CalibrationImage []byte `protobuf:"bytes,1,opt,name=calibration_image,json=calibrationImage,proto3" json:"calibration_image,omitempty"`
}

func (x *WifiWriteCalibrationRequest) Reset() {
	*x = WifiWriteCalibrationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WifiWriteCalibrationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WifiWriteCalibrationRequest) ProtoMessage() {}

func (x *WifiWriteCalibrationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WifiWriteCalibrationRequest.ProtoReflect.Descriptor instead.
func (*WifiWriteCalibrationRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{10}
}

func (x *WifiWriteCalibrationRequest) GetCalibrationImage() []byte {
	if x != nil {
		return x.CalibrationImage
	}
	return nil
}

type WifiClientSandboxStatus struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Client    string `protobuf:"bytes,1,opt,name=client,proto3" json:"client,omitempty"`
	Sandbox   uint32 `protobuf:"varint,2,opt,name=sandbox,proto3" json:"sandbox,omitempty"`
	Sandboxed bool   `protobuf:"varint,3,opt,name=sandboxed,proto3" json:"sandboxed,omitempty"`
}

func (x *WifiClientSandboxStatus) Reset() {
	*x = WifiClientSandboxStatus{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WifiClientSandboxStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WifiClientSandboxStatus) ProtoMessage() {}

func (x *WifiClientSandboxStatus) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WifiClientSandboxStatus.ProtoReflect.Descriptor instead.
func (*WifiClientSandboxStatus) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{11}
}

func (x *WifiClientSandboxStatus) GetClient() string {
	if x != nil {
		return x.Client
	}
	return ""
}

func (x *WifiClientSandboxStatus) GetSandbox() uint32 {
	if x != nil {
		return x.Sandbox
	}
	return 0
}

func (x *WifiClientSandboxStatus) GetSandboxed() bool {
	if x != nil {
		return x.Sandboxed
	}
	return false
}

type EnableDebugTelemRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DurationM uint32 `protobuf:"varint,1,opt,name=duration_m,json=durationM,proto3" json:"duration_m,omitempty"`
}

func (x *EnableDebugTelemRequest) Reset() {
	*x = EnableDebugTelemRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EnableDebugTelemRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnableDebugTelemRequest) ProtoMessage() {}

func (x *EnableDebugTelemRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnableDebugTelemRequest.ProtoReflect.Descriptor instead.
func (*EnableDebugTelemRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{12}
}

func (x *EnableDebugTelemRequest) GetDurationM() uint32 {
	if x != nil {
		return x.DurationM
	}
	return 0
}

type EnableDebugTelemResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *EnableDebugTelemResponse) Reset() {
	*x = EnableDebugTelemResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EnableDebugTelemResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnableDebugTelemResponse) ProtoMessage() {}

func (x *EnableDebugTelemResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnableDebugTelemResponse.ProtoReflect.Descriptor instead.
func (*EnableDebugTelemResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{13}
}

type FactoryResetRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *FactoryResetRequest) Reset() {
	*x = FactoryResetRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FactoryResetRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FactoryResetRequest) ProtoMessage() {}

func (x *FactoryResetRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FactoryResetRequest.ProtoReflect.Descriptor instead.
func (*FactoryResetRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{14}
}

type FactoryResetResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *FactoryResetResponse) Reset() {
	*x = FactoryResetResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FactoryResetResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FactoryResetResponse) ProtoMessage() {}

func (x *FactoryResetResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FactoryResetResponse.ProtoReflect.Descriptor instead.
func (*FactoryResetResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{15}
}

type GetTimeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetTimeRequest) Reset() {
	*x = GetTimeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetTimeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTimeRequest) ProtoMessage() {}

func (x *GetTimeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTimeRequest.ProtoReflect.Descriptor instead.
func (*GetTimeRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{16}
}

type GetTimeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UnixNano int64 `protobuf:"varint,1,opt,name=unix_nano,json=unixNano,proto3" json:"unix_nano,omitempty"`
}

func (x *GetTimeResponse) Reset() {
	*x = GetTimeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetTimeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTimeResponse) ProtoMessage() {}

func (x *GetTimeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTimeResponse.ProtoReflect.Descriptor instead.
func (*GetTimeResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{17}
}

func (x *GetTimeResponse) GetUnixNano() int64 {
	if x != nil {
		return x.UnixNano
	}
	return 0
}

type FuseRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PreventReboot bool `protobuf:"varint,1,opt,name=prevent_reboot,json=preventReboot,proto3" json:"prevent_reboot,omitempty"`
}

func (x *FuseRequest) Reset() {
	*x = FuseRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FuseRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FuseRequest) ProtoMessage() {}

func (x *FuseRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FuseRequest.ProtoReflect.Descriptor instead.
func (*FuseRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{18}
}

func (x *FuseRequest) GetPreventReboot() bool {
	if x != nil {
		return x.PreventReboot
	}
	return false
}

type FuseResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *FuseResponse) Reset() {
	*x = FuseResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FuseResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FuseResponse) ProtoMessage() {}

func (x *FuseResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[19]
	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 FuseResponse.ProtoReflect.Descriptor instead.
func (*FuseResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{19}
}

type GetHistoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetHistoryRequest) Reset() {
	*x = GetHistoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetHistoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetHistoryRequest) ProtoMessage() {}

func (x *GetHistoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[20]
	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 GetHistoryRequest.ProtoReflect.Descriptor instead.
func (*GetHistoryRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{20}
}

type GetLogRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetLogRequest) Reset() {
	*x = GetLogRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetLogRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetLogRequest) ProtoMessage() {}

func (x *GetLogRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetLogRequest.ProtoReflect.Descriptor instead.
func (*GetLogRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{21}
}

type GetLogResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Current *GetLogResponse_Logs `protobuf:"bytes,4,opt,name=current,proto3" json:"current,omitempty"`
	Saved   *GetLogResponse_Logs `protobuf:"bytes,5,opt,name=saved,proto3" json:"saved,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	Syslog string `protobuf:"bytes,1,opt,name=syslog,proto3" json:"syslog,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	OfflineLog string `protobuf:"bytes,2,opt,name=offline_log,json=offlineLog,proto3" json:"offline_log,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	PersistentLog string `protobuf:"bytes,3,opt,name=persistent_log,json=persistentLog,proto3" json:"persistent_log,omitempty"`
}

func (x *GetLogResponse) Reset() {
	*x = GetLogResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetLogResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetLogResponse) ProtoMessage() {}

func (x *GetLogResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetLogResponse.ProtoReflect.Descriptor instead.
func (*GetLogResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{22}
}

func (x *GetLogResponse) GetCurrent() *GetLogResponse_Logs {
	if x != nil {
		return x.Current
	}
	return nil
}

func (x *GetLogResponse) GetSaved() *GetLogResponse_Logs {
	if x != nil {
		return x.Saved
	}
	return nil
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *GetLogResponse) GetSyslog() string {
	if x != nil {
		return x.Syslog
	}
	return ""
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *GetLogResponse) GetOfflineLog() string {
	if x != nil {
		return x.OfflineLog
	}
	return ""
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *GetLogResponse) GetPersistentLog() string {
	if x != nil {
		return x.PersistentLog
	}
	return ""
}

type GetPingRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetPingRequest) Reset() {
	*x = GetPingRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPingRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPingRequest) ProtoMessage() {}

func (x *GetPingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetPingRequest.ProtoReflect.Descriptor instead.
func (*GetPingRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{23}
}

type GetPingResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Results map[string]*PingResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *GetPingResponse) Reset() {
	*x = GetPingResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPingResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPingResponse) ProtoMessage() {}

func (x *GetPingResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[24]
	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 GetPingResponse.ProtoReflect.Descriptor instead.
func (*GetPingResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{24}
}

func (x *GetPingResponse) GetResults() map[string]*PingResult {
	if x != nil {
		return x.Results
	}
	return nil
}

type PingHostRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	Size    uint32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
}

func (x *PingHostRequest) Reset() {
	*x = PingHostRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PingHostRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PingHostRequest) ProtoMessage() {}

func (x *PingHostRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[25]
	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 PingHostRequest.ProtoReflect.Descriptor instead.
func (*PingHostRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{25}
}

func (x *PingHostRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *PingHostRequest) GetSize() uint32 {
	if x != nil {
		return x.Size
	}
	return 0
}

type PingHostResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result *PingResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
}

func (x *PingHostResponse) Reset() {
	*x = PingHostResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PingHostResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PingHostResponse) ProtoMessage() {}

func (x *PingHostResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[26]
	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 PingHostResponse.ProtoReflect.Descriptor instead.
func (*PingHostResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{26}
}

func (x *PingHostResponse) GetResult() *PingResult {
	if x != nil {
		return x.Result
	}
	return nil
}

type GetStatusRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RouterRole RouterRole `protobuf:"varint,1,opt,name=router_role,json=routerRole,proto3,enum=SpaceX.API.Device.RouterRole" json:"router_role,omitempty"`
}

func (x *GetStatusRequest) Reset() {
	*x = GetStatusRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetStatusRequest) ProtoMessage() {}

func (x *GetStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[27]
	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 GetStatusRequest.ProtoReflect.Descriptor instead.
func (*GetStatusRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{27}
}

func (x *GetStatusRequest) GetRouterRole() RouterRole {
	if x != nil {
		return x.RouterRole
	}
	return RouterRole_UNSPECIFIED
}

type RebootRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *RebootRequest) Reset() {
	*x = RebootRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RebootRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RebootRequest) ProtoMessage() {}

func (x *RebootRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[28]
	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 RebootRequest.ProtoReflect.Descriptor instead.
func (*RebootRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{28}
}

type RebootResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *RebootResponse) Reset() {
	*x = RebootResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RebootResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RebootResponse) ProtoMessage() {}

func (x *RebootResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[29]
	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 RebootResponse.ProtoReflect.Descriptor instead.
func (*RebootResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{29}
}

type SpeedTestStats struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	LatencyMs float32 `protobuf:"fixed32,3,opt,name=latency_ms,json=latencyMs,proto3" json:"latency_ms,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	StartTime         uint64                `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	UploadStartTime   int64                 `protobuf:"varint,5,opt,name=upload_start_time,json=uploadStartTime,proto3" json:"upload_start_time,omitempty"`
	DownloadStartTime int64                 `protobuf:"varint,6,opt,name=download_start_time,json=downloadStartTime,proto3" json:"download_start_time,omitempty"`
	UploadMbps        float32               `protobuf:"fixed32,1,opt,name=upload_mbps,json=uploadMbps,proto3" json:"upload_mbps,omitempty"`
	DownloadMbps      float32               `protobuf:"fixed32,2,opt,name=download_mbps,json=downloadMbps,proto3" json:"download_mbps,omitempty"`
	Target            SpeedTestStats_Target `protobuf:"varint,7,opt,name=target,proto3,enum=SpaceX.API.Device.SpeedTestStats_Target" json:"target,omitempty"`
	TcpStreams        uint32                `protobuf:"varint,8,opt,name=tcp_streams,json=tcpStreams,proto3" json:"tcp_streams,omitempty"`
}

func (x *SpeedTestStats) Reset() {
	*x = SpeedTestStats{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpeedTestStats) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpeedTestStats) ProtoMessage() {}

func (x *SpeedTestStats) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[30]
	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 SpeedTestStats.ProtoReflect.Descriptor instead.
func (*SpeedTestStats) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{30}
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *SpeedTestStats) GetLatencyMs() float32 {
	if x != nil {
		return x.LatencyMs
	}
	return 0
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *SpeedTestStats) GetStartTime() uint64 {
	if x != nil {
		return x.StartTime
	}
	return 0
}

func (x *SpeedTestStats) GetUploadStartTime() int64 {
	if x != nil {
		return x.UploadStartTime
	}
	return 0
}

func (x *SpeedTestStats) GetDownloadStartTime() int64 {
	if x != nil {
		return x.DownloadStartTime
	}
	return 0
}

func (x *SpeedTestStats) GetUploadMbps() float32 {
	if x != nil {
		return x.UploadMbps
	}
	return 0
}

func (x *SpeedTestStats) GetDownloadMbps() float32 {
	if x != nil {
		return x.DownloadMbps
	}
	return 0
}

func (x *SpeedTestStats) GetTarget() SpeedTestStats_Target {
	if x != nil {
		return x.Target
	}
	return SpeedTestStats_UNKNOWN
}

func (x *SpeedTestStats) GetTcpStreams() uint32 {
	if x != nil {
		return x.TcpStreams
	}
	return 0
}

type ClientPlatform struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform     ClientPlatform_Platform `protobuf:"varint,1,opt,name=platform,proto3,enum=SpaceX.API.Device.ClientPlatform_Platform" json:"platform,omitempty"`
	MajorVersion float32                 `protobuf:"fixed32,2,opt,name=major_version,json=majorVersion,proto3" json:"major_version,omitempty"`
	MinorVersion float32                 `protobuf:"fixed32,3,opt,name=minor_version,json=minorVersion,proto3" json:"minor_version,omitempty"`
}

func (x *ClientPlatform) Reset() {
	*x = ClientPlatform{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ClientPlatform) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ClientPlatform) ProtoMessage() {}

func (x *ClientPlatform) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[31]
	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 ClientPlatform.ProtoReflect.Descriptor instead.
func (*ClientPlatform) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{31}
}

func (x *ClientPlatform) GetPlatform() ClientPlatform_Platform {
	if x != nil {
		return x.Platform
	}
	return ClientPlatform_UNKNOWN
}

func (x *ClientPlatform) GetMajorVersion() float32 {
	if x != nil {
		return x.MajorVersion
	}
	return 0
}

func (x *ClientPlatform) GetMinorVersion() float32 {
	if x != nil {
		return x.MinorVersion
	}
	return 0
}

type SpeedTestRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id              uint32          `protobuf:"varint,4,opt,name=id,proto3" json:"id,omitempty"`
	ClientSpeedtest *SpeedTestStats `protobuf:"bytes,1,opt,name=client_speedtest,json=clientSpeedtest,proto3" json:"client_speedtest,omitempty"`
	ClientRssi      float32         `protobuf:"fixed32,2,opt,name=client_rssi,json=clientRssi,proto3" json:"client_rssi,omitempty"`
	ClientPlatform  *ClientPlatform `protobuf:"bytes,3,opt,name=client_platform,json=clientPlatform,proto3" json:"client_platform,omitempty"`
}

func (x *SpeedTestRequest) Reset() {
	*x = SpeedTestRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpeedTestRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpeedTestRequest) ProtoMessage() {}

func (x *SpeedTestRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[32]
	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 SpeedTestRequest.ProtoReflect.Descriptor instead.
func (*SpeedTestRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{32}
}

func (x *SpeedTestRequest) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *SpeedTestRequest) GetClientSpeedtest() *SpeedTestStats {
	if x != nil {
		return x.ClientSpeedtest
	}
	return nil
}

func (x *SpeedTestRequest) GetClientRssi() float32 {
	if x != nil {
		return x.ClientRssi
	}
	return 0
}

func (x *SpeedTestRequest) GetClientPlatform() *ClientPlatform {
	if x != nil {
		return x.ClientPlatform
	}
	return nil
}

type SpeedTestResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	DownloadBps float32 `protobuf:"fixed32,1,opt,name=download_bps,json=downloadBps,proto3" json:"download_bps,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	UploadBps float32 `protobuf:"fixed32,2,opt,name=upload_bps,json=uploadBps,proto3" json:"upload_bps,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	LatencyS float32 `protobuf:"fixed32,3,opt,name=latency_s,json=latencyS,proto3" json:"latency_s,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	DownloadMbps float32 `protobuf:"fixed32,4,opt,name=download_mbps,json=downloadMbps,proto3" json:"download_mbps,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	UploadMbps float32 `protobuf:"fixed32,5,opt,name=upload_mbps,json=uploadMbps,proto3" json:"upload_mbps,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	LatencyMs              float32         `protobuf:"fixed32,6,opt,name=latency_ms,json=latencyMs,proto3" json:"latency_ms,omitempty"`
	RouterSpeedtest        *SpeedTestStats `protobuf:"bytes,15,opt,name=router_speedtest,json=routerSpeedtest,proto3" json:"router_speedtest,omitempty"`
	DownloadMbps_1TcpConn  float32         `protobuf:"fixed32,7,opt,name=download_mbps_1_tcp_conn,json=downloadMbps1TcpConn,proto3" json:"download_mbps_1_tcp_conn,omitempty"`
	UploadMbps_1TcpConn    float32         `protobuf:"fixed32,8,opt,name=upload_mbps_1_tcp_conn,json=uploadMbps1TcpConn,proto3" json:"upload_mbps_1_tcp_conn,omitempty"`
	DownloadMbps_4TcpConn  float32         `protobuf:"fixed32,9,opt,name=download_mbps_4_tcp_conn,json=downloadMbps4TcpConn,proto3" json:"download_mbps_4_tcp_conn,omitempty"`
	UploadMbps_4TcpConn    float32         `protobuf:"fixed32,10,opt,name=upload_mbps_4_tcp_conn,json=uploadMbps4TcpConn,proto3" json:"upload_mbps_4_tcp_conn,omitempty"`
	DownloadMbps_16TcpConn float32         `protobuf:"fixed32,11,opt,name=download_mbps_16_tcp_conn,json=downloadMbps16TcpConn,proto3" json:"download_mbps_16_tcp_conn,omitempty"`
	UploadMbps_16TcpConn   float32         `protobuf:"fixed32,12,opt,name=upload_mbps_16_tcp_conn,json=uploadMbps16TcpConn,proto3" json:"upload_mbps_16_tcp_conn,omitempty"`
	DownloadMbps_64TcpConn float32         `protobuf:"fixed32,13,opt,name=download_mbps_64_tcp_conn,json=downloadMbps64TcpConn,proto3" json:"download_mbps_64_tcp_conn,omitempty"`
	UploadMbps_64TcpConn   float32         `protobuf:"fixed32,14,opt,name=upload_mbps_64_tcp_conn,json=uploadMbps64TcpConn,proto3" json:"upload_mbps_64_tcp_conn,omitempty"`
}

func (x *SpeedTestResponse) Reset() {
	*x = SpeedTestResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpeedTestResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpeedTestResponse) ProtoMessage() {}

func (x *SpeedTestResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[33]
	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 SpeedTestResponse.ProtoReflect.Descriptor instead.
func (*SpeedTestResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{33}
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *SpeedTestResponse) GetDownloadBps() float32 {
	if x != nil {
		return x.DownloadBps
	}
	return 0
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *SpeedTestResponse) GetUploadBps() float32 {
	if x != nil {
		return x.UploadBps
	}
	return 0
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *SpeedTestResponse) GetLatencyS() float32 {
	if x != nil {
		return x.LatencyS
	}
	return 0
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *SpeedTestResponse) GetDownloadMbps() float32 {
	if x != nil {
		return x.DownloadMbps
	}
	return 0
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *SpeedTestResponse) GetUploadMbps() float32 {
	if x != nil {
		return x.UploadMbps
	}
	return 0
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *SpeedTestResponse) GetLatencyMs() float32 {
	if x != nil {
		return x.LatencyMs
	}
	return 0
}

func (x *SpeedTestResponse) GetRouterSpeedtest() *SpeedTestStats {
	if x != nil {
		return x.RouterSpeedtest
	}
	return nil
}

func (x *SpeedTestResponse) GetDownloadMbps_1TcpConn() float32 {
	if x != nil {
		return x.DownloadMbps_1TcpConn
	}
	return 0
}

func (x *SpeedTestResponse) GetUploadMbps_1TcpConn() float32 {
	if x != nil {
		return x.UploadMbps_1TcpConn
	}
	return 0
}

func (x *SpeedTestResponse) GetDownloadMbps_4TcpConn() float32 {
	if x != nil {
		return x.DownloadMbps_4TcpConn
	}
	return 0
}

func (x *SpeedTestResponse) GetUploadMbps_4TcpConn() float32 {
	if x != nil {
		return x.UploadMbps_4TcpConn
	}
	return 0
}

func (x *SpeedTestResponse) GetDownloadMbps_16TcpConn() float32 {
	if x != nil {
		return x.DownloadMbps_16TcpConn
	}
	return 0
}

func (x *SpeedTestResponse) GetUploadMbps_16TcpConn() float32 {
	if x != nil {
		return x.UploadMbps_16TcpConn
	}
	return 0
}

func (x *SpeedTestResponse) GetDownloadMbps_64TcpConn() float32 {
	if x != nil {
		return x.DownloadMbps_64TcpConn
	}
	return 0
}

func (x *SpeedTestResponse) GetUploadMbps_64TcpConn() float32 {
	if x != nil {
		return x.UploadMbps_64TcpConn
	}
	return 0
}

type RunIperfServerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DurationS uint32 `protobuf:"varint,1,opt,name=duration_s,json=durationS,proto3" json:"duration_s,omitempty"`
}

func (x *RunIperfServerRequest) Reset() {
	*x = RunIperfServerRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RunIperfServerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RunIperfServerRequest) ProtoMessage() {}

func (x *RunIperfServerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[34]
	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 RunIperfServerRequest.ProtoReflect.Descriptor instead.
func (*RunIperfServerRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{34}
}

func (x *RunIperfServerRequest) GetDurationS() uint32 {
	if x != nil {
		return x.DurationS
	}
	return 0
}

type RunIperfServerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
}

func (x *RunIperfServerResponse) Reset() {
	*x = RunIperfServerResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RunIperfServerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RunIperfServerResponse) ProtoMessage() {}

func (x *RunIperfServerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[35]
	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 RunIperfServerResponse.ProtoReflect.Descriptor instead.
func (*RunIperfServerResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{35}
}

func (x *RunIperfServerResponse) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

type GetConnectionsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetConnectionsRequest) Reset() {
	*x = GetConnectionsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetConnectionsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetConnectionsRequest) ProtoMessage() {}

func (x *GetConnectionsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[36]
	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 GetConnectionsRequest.ProtoReflect.Descriptor instead.
func (*GetConnectionsRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{36}
}

type GetConnectionsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Services map[string]*GetConnectionsResponse_ServiceConnection `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *GetConnectionsResponse) Reset() {
	*x = GetConnectionsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetConnectionsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetConnectionsResponse) ProtoMessage() {}

func (x *GetConnectionsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[37]
	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 GetConnectionsResponse.ProtoReflect.Descriptor instead.
func (*GetConnectionsResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{37}
}

func (x *GetConnectionsResponse) GetServices() map[string]*GetConnectionsResponse_ServiceConnection {
	if x != nil {
		return x.Services
	}
	return nil
}

type GetDeviceInfoRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetDeviceInfoRequest) Reset() {
	*x = GetDeviceInfoRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetDeviceInfoRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetDeviceInfoRequest) ProtoMessage() {}

func (x *GetDeviceInfoRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[38]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetDeviceInfoRequest.ProtoReflect.Descriptor instead.
func (*GetDeviceInfoRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{38}
}

type GetDeviceInfoResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DeviceInfo *DeviceInfo `protobuf:"bytes,1,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
}

func (x *GetDeviceInfoResponse) Reset() {
	*x = GetDeviceInfoResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetDeviceInfoResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetDeviceInfoResponse) ProtoMessage() {}

func (x *GetDeviceInfoResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[39]
	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 GetDeviceInfoResponse.ProtoReflect.Descriptor instead.
func (*GetDeviceInfoResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{39}
}

func (x *GetDeviceInfoResponse) GetDeviceInfo() *DeviceInfo {
	if x != nil {
		return x.DeviceInfo
	}
	return nil
}

type SetTrustedKeysRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Keys []*PublicKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
}

func (x *SetTrustedKeysRequest) Reset() {
	*x = SetTrustedKeysRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetTrustedKeysRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetTrustedKeysRequest) ProtoMessage() {}

func (x *SetTrustedKeysRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[40]
	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 SetTrustedKeysRequest.ProtoReflect.Descriptor instead.
func (*SetTrustedKeysRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{40}
}

func (x *SetTrustedKeysRequest) GetKeys() []*PublicKey {
	if x != nil {
		return x.Keys
	}
	return nil
}

type SetTrustedKeysResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *SetTrustedKeysResponse) Reset() {
	*x = SetTrustedKeysResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetTrustedKeysResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetTrustedKeysResponse) ProtoMessage() {}

func (x *SetTrustedKeysResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[41]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetTrustedKeysResponse.ProtoReflect.Descriptor instead.
func (*SetTrustedKeysResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{41}
}

type SetSkuRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sku              string `protobuf:"bytes,1,opt,name=sku,proto3" json:"sku,omitempty"`
	CountryCode      string `protobuf:"bytes,2,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
	ApplyCountryCode bool   `protobuf:"varint,4,opt,name=apply_country_code,json=applyCountryCode,proto3" json:"apply_country_code,omitempty"`
	PinCountryCode   bool   `protobuf:"varint,5,opt,name=pin_country_code,json=pinCountryCode,proto3" json:"pin_country_code,omitempty"`
	CustomPowerTable bool   `protobuf:"varint,6,opt,name=custom_power_table,json=customPowerTable,proto3" json:"custom_power_table,omitempty"`
}

func (x *SetSkuRequest) Reset() {
	*x = SetSkuRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetSkuRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetSkuRequest) ProtoMessage() {}

func (x *SetSkuRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[42]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetSkuRequest.ProtoReflect.Descriptor instead.
func (*SetSkuRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{42}
}

func (x *SetSkuRequest) GetSku() string {
	if x != nil {
		return x.Sku
	}
	return ""
}

func (x *SetSkuRequest) GetCountryCode() string {
	if x != nil {
		return x.CountryCode
	}
	return ""
}

func (x *SetSkuRequest) GetApplyCountryCode() bool {
	if x != nil {
		return x.ApplyCountryCode
	}
	return false
}

func (x *SetSkuRequest) GetPinCountryCode() bool {
	if x != nil {
		return x.PinCountryCode
	}
	return false
}

func (x *SetSkuRequest) GetCustomPowerTable() bool {
	if x != nil {
		return x.CustomPowerTable
	}
	return false
}

type SetSkuResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *SetSkuResponse) Reset() {
	*x = SetSkuResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetSkuResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetSkuResponse) ProtoMessage() {}

func (x *SetSkuResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[43]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetSkuResponse.ProtoReflect.Descriptor instead.
func (*SetSkuResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{43}
}

type UpdateRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ScheduleReboot *bool `protobuf:"varint,1,opt,name=schedule_reboot,json=scheduleReboot,proto3,oneof" json:"schedule_reboot,omitempty"`
}

func (x *UpdateRequest) Reset() {
	*x = UpdateRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateRequest) ProtoMessage() {}

func (x *UpdateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[44]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead.
func (*UpdateRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{44}
}

func (x *UpdateRequest) GetScheduleReboot() bool {
	if x != nil && x.ScheduleReboot != nil {
		return *x.ScheduleReboot
	}
	return false
}

type UpdateResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *UpdateResponse) Reset() {
	*x = UpdateResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateResponse) ProtoMessage() {}

func (x *UpdateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[45]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead.
func (*UpdateResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{45}
}

type RestartControlRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *RestartControlRequest) Reset() {
	*x = RestartControlRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RestartControlRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RestartControlRequest) ProtoMessage() {}

func (x *RestartControlRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[46]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RestartControlRequest.ProtoReflect.Descriptor instead.
func (*RestartControlRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{46}
}

type RestartControlResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *RestartControlResponse) Reset() {
	*x = RestartControlResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RestartControlResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RestartControlResponse) ProtoMessage() {}

func (x *RestartControlResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[47]
	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 RestartControlResponse.ProtoReflect.Descriptor instead.
func (*RestartControlResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{47}
}

type GetNetworkInterfacesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetNetworkInterfacesRequest) Reset() {
	*x = GetNetworkInterfacesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetNetworkInterfacesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetNetworkInterfacesRequest) ProtoMessage() {}

func (x *GetNetworkInterfacesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[48]
	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 GetNetworkInterfacesRequest.ProtoReflect.Descriptor instead.
func (*GetNetworkInterfacesRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{48}
}

type GetNetworkInterfacesResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NetworkInterfaces []*NetworkInterface `protobuf:"bytes,1006,rep,name=network_interfaces,json=networkInterfaces,proto3" json:"network_interfaces,omitempty"`
}

func (x *GetNetworkInterfacesResponse) Reset() {
	*x = GetNetworkInterfacesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetNetworkInterfacesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetNetworkInterfacesResponse) ProtoMessage() {}

func (x *GetNetworkInterfacesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[49]
	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 GetNetworkInterfacesResponse.ProtoReflect.Descriptor instead.
func (*GetNetworkInterfacesResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{49}
}

func (x *GetNetworkInterfacesResponse) GetNetworkInterfaces() []*NetworkInterface {
	if x != nil {
		return x.NetworkInterfaces
	}
	return nil
}

type GetRadioStatsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetRadioStatsRequest) Reset() {
	*x = GetRadioStatsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetRadioStatsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetRadioStatsRequest) ProtoMessage() {}

func (x *GetRadioStatsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[50]
	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 GetRadioStatsRequest.ProtoReflect.Descriptor instead.
func (*GetRadioStatsRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{50}
}

type GetRadioStatsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RadioStats []*RadioStats `protobuf:"bytes,1,rep,name=radio_stats,json=radioStats,proto3" json:"radio_stats,omitempty"`
}

func (x *GetRadioStatsResponse) Reset() {
	*x = GetRadioStatsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetRadioStatsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetRadioStatsResponse) ProtoMessage() {}

func (x *GetRadioStatsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[51]
	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 GetRadioStatsResponse.ProtoReflect.Descriptor instead.
func (*GetRadioStatsResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{51}
}

func (x *GetRadioStatsResponse) GetRadioStats() []*RadioStats {
	if x != nil {
		return x.RadioStats
	}
	return nil
}

type GetHeapDumpRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetHeapDumpRequest) Reset() {
	*x = GetHeapDumpRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetHeapDumpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetHeapDumpRequest) ProtoMessage() {}

func (x *GetHeapDumpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[52]
	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 GetHeapDumpRequest.ProtoReflect.Descriptor instead.
func (*GetHeapDumpRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{52}
}

type GetHeapDumpResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	HeapDump string `protobuf:"bytes,1,opt,name=heap_dump,json=heapDump,proto3" json:"heap_dump,omitempty"`
}

func (x *GetHeapDumpResponse) Reset() {
	*x = GetHeapDumpResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetHeapDumpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetHeapDumpResponse) ProtoMessage() {}

func (x *GetHeapDumpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[53]
	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 GetHeapDumpResponse.ProtoReflect.Descriptor instead.
func (*GetHeapDumpResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{53}
}

func (x *GetHeapDumpResponse) GetHeapDump() string {
	if x != nil {
		return x.HeapDump
	}
	return ""
}

type GetLocationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Source PositionSource `protobuf:"varint,1,opt,name=source,proto3,enum=SpaceX.API.Device.PositionSource" json:"source,omitempty"`
}

func (x *GetLocationRequest) Reset() {
	*x = GetLocationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetLocationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetLocationRequest) ProtoMessage() {}

func (x *GetLocationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[54]
	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 GetLocationRequest.ProtoReflect.Descriptor instead.
func (*GetLocationRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{54}
}

func (x *GetLocationRequest) GetSource() PositionSource {
	if x != nil {
		return x.Source
	}
	return PositionSource_AUTO
}

type GetLocationResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Lla                *LLAPosition   `protobuf:"bytes,1,opt,name=lla,proto3" json:"lla,omitempty"`
	SigmaM             float64        `protobuf:"fixed64,4,opt,name=sigma_m,json=sigmaM,proto3" json:"sigma_m,omitempty"`
	Source             PositionSource `protobuf:"varint,3,opt,name=source,proto3,enum=SpaceX.API.Device.PositionSource" json:"source,omitempty"`
	HorizontalSpeedMps float64        `protobuf:"fixed64,5,opt,name=horizontal_speed_mps,json=horizontalSpeedMps,proto3" json:"horizontal_speed_mps,omitempty"`
	VerticalSpeedMps   float64        `protobuf:"fixed64,6,opt,name=vertical_speed_mps,json=verticalSpeedMps,proto3" json:"vertical_speed_mps,omitempty"`
}

func (x *GetLocationResponse) Reset() {
	*x = GetLocationResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetLocationResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetLocationResponse) ProtoMessage() {}

func (x *GetLocationResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[55]
	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 GetLocationResponse.ProtoReflect.Descriptor instead.
func (*GetLocationResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{55}
}

func (x *GetLocationResponse) GetLla() *LLAPosition {
	if x != nil {
		return x.Lla
	}
	return nil
}

func (x *GetLocationResponse) GetSigmaM() float64 {
	if x != nil {
		return x.SigmaM
	}
	return 0
}

func (x *GetLocationResponse) GetSource() PositionSource {
	if x != nil {
		return x.Source
	}
	return PositionSource_AUTO
}

func (x *GetLocationResponse) GetHorizontalSpeedMps() float64 {
	if x != nil {
		return x.HorizontalSpeedMps
	}
	return 0
}

func (x *GetLocationResponse) GetVerticalSpeedMps() float64 {
	if x != nil {
		return x.VerticalSpeedMps
	}
	return 0
}

type DishSetEmcRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Theta                     float64 `protobuf:"fixed64,1,opt,name=theta,proto3" json:"theta,omitempty"`
	Phi                       float64 `protobuf:"fixed64,2,opt,name=phi,proto3" json:"phi,omitempty"`
	RxChan                    uint32  `protobuf:"varint,3,opt,name=rx_chan,json=rxChan,proto3" json:"rx_chan,omitempty"`
	TxChan                    uint32  `protobuf:"varint,4,opt,name=tx_chan,json=txChan,proto3" json:"tx_chan,omitempty"`
	Modulation                uint32  `protobuf:"varint,5,opt,name=modulation,proto3" json:"modulation,omitempty"`
	DesiredTiltAngle          float64 `protobuf:"fixed64,7,opt,name=desired_tilt_angle,json=desiredTiltAngle,proto3" json:"desired_tilt_angle,omitempty"`
	ChanOverride              bool    `protobuf:"varint,8,opt,name=chan_override,json=chanOverride,proto3" json:"chan_override,omitempty"`
	ThetaEnabled              bool    `protobuf:"varint,9,opt,name=theta_enabled,json=thetaEnabled,proto3" json:"theta_enabled,omitempty"`
	PhiEnabled                bool    `protobuf:"varint,10,opt,name=phi_enabled,json=phiEnabled,proto3" json:"phi_enabled,omitempty"`
	Idle                      bool    `protobuf:"varint,11,opt,name=idle,proto3" json:"idle,omitempty"`
	FastSwitching             bool    `protobuf:"varint,12,opt,name=fast_switching,json=fastSwitching,proto3" json:"fast_switching,omitempty"`
	SkySearch                 bool    `protobuf:"varint,13,opt,name=sky_search,json=skySearch,proto3" json:"sky_search,omitempty"`
	ForcePllUnlock            bool    `protobuf:"varint,14,opt,name=force_pll_unlock,json=forcePllUnlock,proto3" json:"force_pll_unlock,omitempty"`
	ForceEirpFailure          bool    `protobuf:"varint,15,opt,name=force_eirp_failure,json=forceEirpFailure,proto3" json:"force_eirp_failure,omitempty"`
	SnowActiveOverride        bool    `protobuf:"varint,16,opt,name=snow_active_override,json=snowActiveOverride,proto3" json:"snow_active_override,omitempty"`
	ManualTilting             bool    `protobuf:"varint,18,opt,name=manual_tilting,json=manualTilting,proto3" json:"manual_tilting,omitempty"`
	TiltToStowed              bool    `protobuf:"varint,19,opt,name=tilt_to_stowed,json=tiltToStowed,proto3" json:"tilt_to_stowed,omitempty"`
	Reboot                    bool    `protobuf:"varint,20,opt,name=reboot,proto3" json:"reboot,omitempty"`
	ContinuousMotorTest       bool    `protobuf:"varint,21,opt,name=continuous_motor_test,json=continuousMotorTest,proto3" json:"continuous_motor_test,omitempty"`
	DistanceOverrideMeters    float64 `protobuf:"fixed64,22,opt,name=distance_override_meters,json=distanceOverrideMeters,proto3" json:"distance_override_meters,omitempty"`
	CountryCodeOverride       uint32  `protobuf:"varint,24,opt,name=country_code_override,json=countryCodeOverride,proto3" json:"country_code_override,omitempty"`
	TxDutyCycleOverride       int32   `protobuf:"varint,25,opt,name=tx_duty_cycle_override,json=txDutyCycleOverride,proto3" json:"tx_duty_cycle_override,omitempty"`
	RxDutyCycleOverride       int32   `protobuf:"varint,26,opt,name=rx_duty_cycle_override,json=rxDutyCycleOverride,proto3" json:"rx_duty_cycle_override,omitempty"`
	EirpLegalLimitDbwOverride float64 `protobuf:"fixed64,27,opt,name=eirp_legal_limit_dbw_override,json=eirpLegalLimitDbwOverride,proto3" json:"eirp_legal_limit_dbw_override,omitempty"`
	EirpAdjustmentDb          float64 `protobuf:"fixed64,28,opt,name=eirp_adjustment_db,json=eirpAdjustmentDb,proto3" json:"eirp_adjustment_db,omitempty"`
}

func (x *DishSetEmcRequest) Reset() {
	*x = DishSetEmcRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishSetEmcRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishSetEmcRequest) ProtoMessage() {}

func (x *DishSetEmcRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[56]
	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 DishSetEmcRequest.ProtoReflect.Descriptor instead.
func (*DishSetEmcRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{56}
}

func (x *DishSetEmcRequest) GetTheta() float64 {
	if x != nil {
		return x.Theta
	}
	return 0
}

func (x *DishSetEmcRequest) GetPhi() float64 {
	if x != nil {
		return x.Phi
	}
	return 0
}

func (x *DishSetEmcRequest) GetRxChan() uint32 {
	if x != nil {
		return x.RxChan
	}
	return 0
}

func (x *DishSetEmcRequest) GetTxChan() uint32 {
	if x != nil {
		return x.TxChan
	}
	return 0
}

func (x *DishSetEmcRequest) GetModulation() uint32 {
	if x != nil {
		return x.Modulation
	}
	return 0
}

func (x *DishSetEmcRequest) GetDesiredTiltAngle() float64 {
	if x != nil {
		return x.DesiredTiltAngle
	}
	return 0
}

func (x *DishSetEmcRequest) GetChanOverride() bool {
	if x != nil {
		return x.ChanOverride
	}
	return false
}

func (x *DishSetEmcRequest) GetThetaEnabled() bool {
	if x != nil {
		return x.ThetaEnabled
	}
	return false
}

func (x *DishSetEmcRequest) GetPhiEnabled() bool {
	if x != nil {
		return x.PhiEnabled
	}
	return false
}

func (x *DishSetEmcRequest) GetIdle() bool {
	if x != nil {
		return x.Idle
	}
	return false
}

func (x *DishSetEmcRequest) GetFastSwitching() bool {
	if x != nil {
		return x.FastSwitching
	}
	return false
}

func (x *DishSetEmcRequest) GetSkySearch() bool {
	if x != nil {
		return x.SkySearch
	}
	return false
}

func (x *DishSetEmcRequest) GetForcePllUnlock() bool {
	if x != nil {
		return x.ForcePllUnlock
	}
	return false
}

func (x *DishSetEmcRequest) GetForceEirpFailure() bool {
	if x != nil {
		return x.ForceEirpFailure
	}
	return false
}

func (x *DishSetEmcRequest) GetSnowActiveOverride() bool {
	if x != nil {
		return x.SnowActiveOverride
	}
	return false
}

func (x *DishSetEmcRequest) GetManualTilting() bool {
	if x != nil {
		return x.ManualTilting
	}
	return false
}

func (x *DishSetEmcRequest) GetTiltToStowed() bool {
	if x != nil {
		return x.TiltToStowed
	}
	return false
}

func (x *DishSetEmcRequest) GetReboot() bool {
	if x != nil {
		return x.Reboot
	}
	return false
}

func (x *DishSetEmcRequest) GetContinuousMotorTest() bool {
	if x != nil {
		return x.ContinuousMotorTest
	}
	return false
}

func (x *DishSetEmcRequest) GetDistanceOverrideMeters() float64 {
	if x != nil {
		return x.DistanceOverrideMeters
	}
	return 0
}

func (x *DishSetEmcRequest) GetCountryCodeOverride() uint32 {
	if x != nil {
		return x.CountryCodeOverride
	}
	return 0
}

func (x *DishSetEmcRequest) GetTxDutyCycleOverride() int32 {
	if x != nil {
		return x.TxDutyCycleOverride
	}
	return 0
}

func (x *DishSetEmcRequest) GetRxDutyCycleOverride() int32 {
	if x != nil {
		return x.RxDutyCycleOverride
	}
	return 0
}

func (x *DishSetEmcRequest) GetEirpLegalLimitDbwOverride() float64 {
	if x != nil {
		return x.EirpLegalLimitDbwOverride
	}
	return 0
}

func (x *DishSetEmcRequest) GetEirpAdjustmentDb() float64 {
	if x != nil {
		return x.EirpAdjustmentDb
	}
	return 0
}

type DishSetEmcResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *DishSetEmcResponse) Reset() {
	*x = DishSetEmcResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[57]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishSetEmcResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishSetEmcResponse) ProtoMessage() {}

func (x *DishSetEmcResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[57]
	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 DishSetEmcResponse.ProtoReflect.Descriptor instead.
func (*DishSetEmcResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{57}
}

type DishSetMaxPowerTestModeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
}

func (x *DishSetMaxPowerTestModeRequest) Reset() {
	*x = DishSetMaxPowerTestModeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishSetMaxPowerTestModeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishSetMaxPowerTestModeRequest) ProtoMessage() {}

func (x *DishSetMaxPowerTestModeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[58]
	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 DishSetMaxPowerTestModeRequest.ProtoReflect.Descriptor instead.
func (*DishSetMaxPowerTestModeRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{58}
}

func (x *DishSetMaxPowerTestModeRequest) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

type DishSetMaxPowerTestModeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
}

func (x *DishSetMaxPowerTestModeResponse) Reset() {
	*x = DishSetMaxPowerTestModeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishSetMaxPowerTestModeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishSetMaxPowerTestModeResponse) ProtoMessage() {}

func (x *DishSetMaxPowerTestModeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[59]
	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 DishSetMaxPowerTestModeResponse.ProtoReflect.Descriptor instead.
func (*DishSetMaxPowerTestModeResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{59}
}

func (x *DishSetMaxPowerTestModeResponse) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

type DishGetEmcRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *DishGetEmcRequest) Reset() {
	*x = DishGetEmcRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishGetEmcRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishGetEmcRequest) ProtoMessage() {}

func (x *DishGetEmcRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[60]
	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 DishGetEmcRequest.ProtoReflect.Descriptor instead.
func (*DishGetEmcRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{60}
}

type DishGetEmcResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uuid                      string  `protobuf:"bytes,2,opt,name=uuid,proto3" json:"uuid,omitempty"`
	Timestamp                 uint64  `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	CplaneUpdates             uint32  `protobuf:"varint,11,opt,name=cplane_updates,json=cplaneUpdates,proto3" json:"cplane_updates,omitempty"`
	GpsLatitude               float64 `protobuf:"fixed64,16,opt,name=gps_latitude,json=gpsLatitude,proto3" json:"gps_latitude,omitempty"`
	GpsLongitude              float64 `protobuf:"fixed64,17,opt,name=gps_longitude,json=gpsLongitude,proto3" json:"gps_longitude,omitempty"`
	GpsPdop                   float64 `protobuf:"fixed64,18,opt,name=gps_pdop,json=gpsPdop,proto3" json:"gps_pdop,omitempty"`
	RfMode                    uint32  `protobuf:"varint,19,opt,name=rf_mode,json=rfMode,proto3" json:"rf_mode,omitempty"`
	Phi                       float64 `protobuf:"fixed64,20,opt,name=phi,proto3" json:"phi,omitempty"`
	Theta                     float64 `protobuf:"fixed64,21,opt,name=theta,proto3" json:"theta,omitempty"`
	RxChannel                 uint32  `protobuf:"varint,22,opt,name=rx_channel,json=rxChannel,proto3" json:"rx_channel,omitempty"`
	TxChannel                 uint32  `protobuf:"varint,23,opt,name=tx_channel,json=txChannel,proto3" json:"tx_channel,omitempty"`
	TDbfMax                   float32 `protobuf:"fixed32,24,opt,name=t_dbf_max,json=tDbfMax,proto3" json:"t_dbf_max,omitempty"`
	TCenter                   float64 `protobuf:"fixed64,25,opt,name=t_center,json=tCenter,proto3" json:"t_center,omitempty"`
	AutoPowerSnowMeltEnabled  bool    `protobuf:"varint,30,opt,name=auto_power_snow_melt_enabled,json=autoPowerSnowMeltEnabled,proto3" json:"auto_power_snow_melt_enabled,omitempty"`
	Voltage                   float64 `protobuf:"fixed64,32,opt,name=voltage,proto3" json:"voltage,omitempty"`
	RxBeamState               uint32  `protobuf:"varint,33,opt,name=rx_beam_state,json=rxBeamState,proto3" json:"rx_beam_state,omitempty"`
	TxBeamState               uint32  `protobuf:"varint,34,opt,name=tx_beam_state,json=txBeamState,proto3" json:"tx_beam_state,omitempty"`
	HalfDuplexState           uint32  `protobuf:"varint,35,opt,name=half_duplex_state,json=halfDuplexState,proto3" json:"half_duplex_state,omitempty"`
	ManualTiltEnabled         bool    `protobuf:"varint,36,opt,name=manual_tilt_enabled,json=manualTiltEnabled,proto3" json:"manual_tilt_enabled,omitempty"`
	TiltAngle                 float64 `protobuf:"fixed64,37,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
	PllTxLockDetected         uint32  `protobuf:"varint,38,opt,name=pll_tx_lock_detected,json=pllTxLockDetected,proto3" json:"pll_tx_lock_detected,omitempty"`
	EirpExceededThreshold     bool    `protobuf:"varint,39,opt,name=eirp_exceeded_threshold,json=eirpExceededThreshold,proto3" json:"eirp_exceeded_threshold,omitempty"`
	IdleOverrideEnabled       bool    `protobuf:"varint,41,opt,name=idle_override_enabled,json=idleOverrideEnabled,proto3" json:"idle_override_enabled,omitempty"`
	ThetaOverrideEnabled      bool    `protobuf:"varint,42,opt,name=theta_override_enabled,json=thetaOverrideEnabled,proto3" json:"theta_override_enabled,omitempty"`
	ThetaOverrideValue        float64 `protobuf:"fixed64,43,opt,name=theta_override_value,json=thetaOverrideValue,proto3" json:"theta_override_value,omitempty"`
	PhiOverrideEnabled        bool    `protobuf:"varint,44,opt,name=phi_override_enabled,json=phiOverrideEnabled,proto3" json:"phi_override_enabled,omitempty"`
	PhiOverrideValue          float64 `protobuf:"fixed64,45,opt,name=phi_override_value,json=phiOverrideValue,proto3" json:"phi_override_value,omitempty"`
	RxChanOverrideValue       uint32  `protobuf:"varint,46,opt,name=rx_chan_override_value,json=rxChanOverrideValue,proto3" json:"rx_chan_override_value,omitempty"`
	TxChanOverrideValue       uint32  `protobuf:"varint,47,opt,name=tx_chan_override_value,json=txChanOverrideValue,proto3" json:"tx_chan_override_value,omitempty"`
	SkySearchOverrideEnabled  bool    `protobuf:"varint,48,opt,name=sky_search_override_enabled,json=skySearchOverrideEnabled,proto3" json:"sky_search_override_enabled,omitempty"`
	FastSwitchingEnabled      bool    `protobuf:"varint,49,opt,name=fast_switching_enabled,json=fastSwitchingEnabled,proto3" json:"fast_switching_enabled,omitempty"`
	ModulationOverrideValue   uint32  `protobuf:"varint,50,opt,name=modulation_override_value,json=modulationOverrideValue,proto3" json:"modulation_override_value,omitempty"`
	ForceEirpFailure          bool    `protobuf:"varint,51,opt,name=force_eirp_failure,json=forceEirpFailure,proto3" json:"force_eirp_failure,omitempty"`
	ForcePllUnlock            bool    `protobuf:"varint,52,opt,name=force_pll_unlock,json=forcePllUnlock,proto3" json:"force_pll_unlock,omitempty"`
	UtIneSuccess              uint32  `protobuf:"varint,53,opt,name=ut_ine_success,json=utIneSuccess,proto3" json:"ut_ine_success,omitempty"`
	RfReady                   bool    `protobuf:"varint,54,opt,name=rf_ready,json=rfReady,proto3" json:"rf_ready,omitempty"`
	TiltToStowed              bool    `protobuf:"varint,55,opt,name=tilt_to_stowed,json=tiltToStowed,proto3" json:"tilt_to_stowed,omitempty"`
	Reboot                    bool    `protobuf:"varint,56,opt,name=reboot,proto3" json:"reboot,omitempty"`
	ContinuousMotorTest       bool    `protobuf:"varint,57,opt,name=continuous_motor_test,json=continuousMotorTest,proto3" json:"continuous_motor_test,omitempty"`
	DistanceOverrideMeters    float64 `protobuf:"fixed64,58,opt,name=distance_override_meters,json=distanceOverrideMeters,proto3" json:"distance_override_meters,omitempty"`
	CountryCodeOverride       uint32  `protobuf:"varint,62,opt,name=country_code_override,json=countryCodeOverride,proto3" json:"country_code_override,omitempty"`
	MaxPointingDistance       float64 `protobuf:"fixed64,63,opt,name=max_pointing_distance,json=maxPointingDistance,proto3" json:"max_pointing_distance,omitempty"`
	DistanceScalingFactor     float64 `protobuf:"fixed64,64,opt,name=distance_scaling_factor,json=distanceScalingFactor,proto3" json:"distance_scaling_factor,omitempty"`
	TxDutyCycleOverride       int32   `protobuf:"varint,65,opt,name=tx_duty_cycle_override,json=txDutyCycleOverride,proto3" json:"tx_duty_cycle_override,omitempty"`
	RxDutyCycleOverride       int32   `protobuf:"varint,66,opt,name=rx_duty_cycle_override,json=rxDutyCycleOverride,proto3" json:"rx_duty_cycle_override,omitempty"`
	TxTimeMs                  float32 `protobuf:"fixed32,67,opt,name=tx_time_ms,json=txTimeMs,proto3" json:"tx_time_ms,omitempty"`
	RxTimeMs                  float32 `protobuf:"fixed32,68,opt,name=rx_time_ms,json=rxTimeMs,proto3" json:"rx_time_ms,omitempty"`
	EirpLegalLimitDbw         float64 `protobuf:"fixed64,69,opt,name=eirp_legal_limit_dbw,json=eirpLegalLimitDbw,proto3" json:"eirp_legal_limit_dbw,omitempty"`
	EirpLegalLimitDbwOverride float64 `protobuf:"fixed64,70,opt,name=eirp_legal_limit_dbw_override,json=eirpLegalLimitDbwOverride,proto3" json:"eirp_legal_limit_dbw_override,omitempty"`
	EirpAdjustmentDb          float64 `protobuf:"fixed64,71,opt,name=eirp_adjustment_db,json=eirpAdjustmentDb,proto3" json:"eirp_adjustment_db,omitempty"`
	EirpPredictedDbw          float64 `protobuf:"fixed64,72,opt,name=eirp_predicted_dbw,json=eirpPredictedDbw,proto3" json:"eirp_predicted_dbw,omitempty"`
}

func (x *DishGetEmcResponse) Reset() {
	*x = DishGetEmcResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[61]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishGetEmcResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishGetEmcResponse) ProtoMessage() {}

func (x *DishGetEmcResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[61]
	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 DishGetEmcResponse.ProtoReflect.Descriptor instead.
func (*DishGetEmcResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{61}
}

func (x *DishGetEmcResponse) GetUuid() string {
	if x != nil {
		return x.Uuid
	}
	return ""
}

func (x *DishGetEmcResponse) GetTimestamp() uint64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *DishGetEmcResponse) GetCplaneUpdates() uint32 {
	if x != nil {
		return x.CplaneUpdates
	}
	return 0
}

func (x *DishGetEmcResponse) GetGpsLatitude() float64 {
	if x != nil {
		return x.GpsLatitude
	}
	return 0
}

func (x *DishGetEmcResponse) GetGpsLongitude() float64 {
	if x != nil {
		return x.GpsLongitude
	}
	return 0
}

func (x *DishGetEmcResponse) GetGpsPdop() float64 {
	if x != nil {
		return x.GpsPdop
	}
	return 0
}

func (x *DishGetEmcResponse) GetRfMode() uint32 {
	if x != nil {
		return x.RfMode
	}
	return 0
}

func (x *DishGetEmcResponse) GetPhi() float64 {
	if x != nil {
		return x.Phi
	}
	return 0
}

func (x *DishGetEmcResponse) GetTheta() float64 {
	if x != nil {
		return x.Theta
	}
	return 0
}

func (x *DishGetEmcResponse) GetRxChannel() uint32 {
	if x != nil {
		return x.RxChannel
	}
	return 0
}

func (x *DishGetEmcResponse) GetTxChannel() uint32 {
	if x != nil {
		return x.TxChannel
	}
	return 0
}

func (x *DishGetEmcResponse) GetTDbfMax() float32 {
	if x != nil {
		return x.TDbfMax
	}
	return 0
}

func (x *DishGetEmcResponse) GetTCenter() float64 {
	if x != nil {
		return x.TCenter
	}
	return 0
}

func (x *DishGetEmcResponse) GetAutoPowerSnowMeltEnabled() bool {
	if x != nil {
		return x.AutoPowerSnowMeltEnabled
	}
	return false
}

func (x *DishGetEmcResponse) GetVoltage() float64 {
	if x != nil {
		return x.Voltage
	}
	return 0
}

func (x *DishGetEmcResponse) GetRxBeamState() uint32 {
	if x != nil {
		return x.RxBeamState
	}
	return 0
}

func (x *DishGetEmcResponse) GetTxBeamState() uint32 {
	if x != nil {
		return x.TxBeamState
	}
	return 0
}

func (x *DishGetEmcResponse) GetHalfDuplexState() uint32 {
	if x != nil {
		return x.HalfDuplexState
	}
	return 0
}

func (x *DishGetEmcResponse) GetManualTiltEnabled() bool {
	if x != nil {
		return x.ManualTiltEnabled
	}
	return false
}

func (x *DishGetEmcResponse) GetTiltAngle() float64 {
	if x != nil {
		return x.TiltAngle
	}
	return 0
}

func (x *DishGetEmcResponse) GetPllTxLockDetected() uint32 {
	if x != nil {
		return x.PllTxLockDetected
	}
	return 0
}

func (x *DishGetEmcResponse) GetEirpExceededThreshold() bool {
	if x != nil {
		return x.EirpExceededThreshold
	}
	return false
}

func (x *DishGetEmcResponse) GetIdleOverrideEnabled() bool {
	if x != nil {
		return x.IdleOverrideEnabled
	}
	return false
}

func (x *DishGetEmcResponse) GetThetaOverrideEnabled() bool {
	if x != nil {
		return x.ThetaOverrideEnabled
	}
	return false
}

func (x *DishGetEmcResponse) GetThetaOverrideValue() float64 {
	if x != nil {
		return x.ThetaOverrideValue
	}
	return 0
}

func (x *DishGetEmcResponse) GetPhiOverrideEnabled() bool {
	if x != nil {
		return x.PhiOverrideEnabled
	}
	return false
}

func (x *DishGetEmcResponse) GetPhiOverrideValue() float64 {
	if x != nil {
		return x.PhiOverrideValue
	}
	return 0
}

func (x *DishGetEmcResponse) GetRxChanOverrideValue() uint32 {
	if x != nil {
		return x.RxChanOverrideValue
	}
	return 0
}

func (x *DishGetEmcResponse) GetTxChanOverrideValue() uint32 {
	if x != nil {
		return x.TxChanOverrideValue
	}
	return 0
}

func (x *DishGetEmcResponse) GetSkySearchOverrideEnabled() bool {
	if x != nil {
		return x.SkySearchOverrideEnabled
	}
	return false
}

func (x *DishGetEmcResponse) GetFastSwitchingEnabled() bool {
	if x != nil {
		return x.FastSwitchingEnabled
	}
	return false
}

func (x *DishGetEmcResponse) GetModulationOverrideValue() uint32 {
	if x != nil {
		return x.ModulationOverrideValue
	}
	return 0
}

func (x *DishGetEmcResponse) GetForceEirpFailure() bool {
	if x != nil {
		return x.ForceEirpFailure
	}
	return false
}

func (x *DishGetEmcResponse) GetForcePllUnlock() bool {
	if x != nil {
		return x.ForcePllUnlock
	}
	return false
}

func (x *DishGetEmcResponse) GetUtIneSuccess() uint32 {
	if x != nil {
		return x.UtIneSuccess
	}
	return 0
}

func (x *DishGetEmcResponse) GetRfReady() bool {
	if x != nil {
		return x.RfReady
	}
	return false
}

func (x *DishGetEmcResponse) GetTiltToStowed() bool {
	if x != nil {
		return x.TiltToStowed
	}
	return false
}

func (x *DishGetEmcResponse) GetReboot() bool {
	if x != nil {
		return x.Reboot
	}
	return false
}

func (x *DishGetEmcResponse) GetContinuousMotorTest() bool {
	if x != nil {
		return x.ContinuousMotorTest
	}
	return false
}

func (x *DishGetEmcResponse) GetDistanceOverrideMeters() float64 {
	if x != nil {
		return x.DistanceOverrideMeters
	}
	return 0
}

func (x *DishGetEmcResponse) GetCountryCodeOverride() uint32 {
	if x != nil {
		return x.CountryCodeOverride
	}
	return 0
}

func (x *DishGetEmcResponse) GetMaxPointingDistance() float64 {
	if x != nil {
		return x.MaxPointingDistance
	}
	return 0
}

func (x *DishGetEmcResponse) GetDistanceScalingFactor() float64 {
	if x != nil {
		return x.DistanceScalingFactor
	}
	return 0
}

func (x *DishGetEmcResponse) GetTxDutyCycleOverride() int32 {
	if x != nil {
		return x.TxDutyCycleOverride
	}
	return 0
}

func (x *DishGetEmcResponse) GetRxDutyCycleOverride() int32 {
	if x != nil {
		return x.RxDutyCycleOverride
	}
	return 0
}

func (x *DishGetEmcResponse) GetTxTimeMs() float32 {
	if x != nil {
		return x.TxTimeMs
	}
	return 0
}

func (x *DishGetEmcResponse) GetRxTimeMs() float32 {
	if x != nil {
		return x.RxTimeMs
	}
	return 0
}

func (x *DishGetEmcResponse) GetEirpLegalLimitDbw() float64 {
	if x != nil {
		return x.EirpLegalLimitDbw
	}
	return 0
}

func (x *DishGetEmcResponse) GetEirpLegalLimitDbwOverride() float64 {
	if x != nil {
		return x.EirpLegalLimitDbwOverride
	}
	return 0
}

func (x *DishGetEmcResponse) GetEirpAdjustmentDb() float64 {
	if x != nil {
		return x.EirpAdjustmentDb
	}
	return 0
}

func (x *DishGetEmcResponse) GetEirpPredictedDbw() float64 {
	if x != nil {
		return x.EirpPredictedDbw
	}
	return 0
}

type GetPersistentStatsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetPersistentStatsRequest) Reset() {
	*x = GetPersistentStatsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetPersistentStatsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetPersistentStatsRequest) ProtoMessage() {}

func (x *GetPersistentStatsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[62]
	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 GetPersistentStatsRequest.ProtoReflect.Descriptor instead.
func (*GetPersistentStatsRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{62}
}

type StartSpeedtestRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *StartSpeedtestRequest) Reset() {
	*x = StartSpeedtestRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[63]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StartSpeedtestRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StartSpeedtestRequest) ProtoMessage() {}

func (x *StartSpeedtestRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[63]
	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 StartSpeedtestRequest.ProtoReflect.Descriptor instead.
func (*StartSpeedtestRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{63}
}

type StartSpeedtestResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *StartSpeedtestResponse) Reset() {
	*x = StartSpeedtestResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[64]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StartSpeedtestResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StartSpeedtestResponse) ProtoMessage() {}

func (x *StartSpeedtestResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[64]
	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 StartSpeedtestResponse.ProtoReflect.Descriptor instead.
func (*StartSpeedtestResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{64}
}

type SpeedtestStatus struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Running bool                       `protobuf:"varint,1,opt,name=running,proto3" json:"running,omitempty"`
	Id      uint32                     `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
	Up      *SpeedtestStatus_Direction `protobuf:"bytes,1000,opt,name=up,proto3" json:"up,omitempty"`
	Down    *SpeedtestStatus_Direction `protobuf:"bytes,1001,opt,name=down,proto3" json:"down,omitempty"`
}

func (x *SpeedtestStatus) Reset() {
	*x = SpeedtestStatus{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[65]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpeedtestStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpeedtestStatus) ProtoMessage() {}

func (x *SpeedtestStatus) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[65]
	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 SpeedtestStatus.ProtoReflect.Descriptor instead.
func (*SpeedtestStatus) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{65}
}

func (x *SpeedtestStatus) GetRunning() bool {
	if x != nil {
		return x.Running
	}
	return false
}

func (x *SpeedtestStatus) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *SpeedtestStatus) GetUp() *SpeedtestStatus_Direction {
	if x != nil {
		return x.Up
	}
	return nil
}

func (x *SpeedtestStatus) GetDown() *SpeedtestStatus_Direction {
	if x != nil {
		return x.Down
	}
	return nil
}

type GetSpeedtestStatusRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetSpeedtestStatusRequest) Reset() {
	*x = GetSpeedtestStatusRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[66]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetSpeedtestStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSpeedtestStatusRequest) ProtoMessage() {}

func (x *GetSpeedtestStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[66]
	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 GetSpeedtestStatusRequest.ProtoReflect.Descriptor instead.
func (*GetSpeedtestStatusRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{66}
}

type GetSpeedtestStatusResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Status *SpeedtestStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
}

func (x *GetSpeedtestStatusResponse) Reset() {
	*x = GetSpeedtestStatusResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetSpeedtestStatusResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSpeedtestStatusResponse) ProtoMessage() {}

func (x *GetSpeedtestStatusResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[67]
	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 GetSpeedtestStatusResponse.ProtoReflect.Descriptor instead.
func (*GetSpeedtestStatusResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{67}
}

func (x *GetSpeedtestStatusResponse) GetStatus() *SpeedtestStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

type ReportClientSpeedtestRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id              uint32          `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	ClientSpeedtest *SpeedTestStats `protobuf:"bytes,2,opt,name=client_speedtest,json=clientSpeedtest,proto3" json:"client_speedtest,omitempty"`
	WifiSpeedtest   *SpeedTestStats `protobuf:"bytes,5,opt,name=wifi_speedtest,json=wifiSpeedtest,proto3" json:"wifi_speedtest,omitempty"`
	ClientRssi      float32         `protobuf:"fixed32,3,opt,name=client_rssi,json=clientRssi,proto3" json:"client_rssi,omitempty"`
	ClientPlatform  *ClientPlatform `protobuf:"bytes,4,opt,name=client_platform,json=clientPlatform,proto3" json:"client_platform,omitempty"`
	AppVersion      string          `protobuf:"bytes,6,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
	AppBuild        uint32          `protobuf:"varint,7,opt,name=app_build,json=appBuild,proto3" json:"app_build,omitempty"`
}

func (x *ReportClientSpeedtestRequest) Reset() {
	*x = ReportClientSpeedtestRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[68]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReportClientSpeedtestRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportClientSpeedtestRequest) ProtoMessage() {}

func (x *ReportClientSpeedtestRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[68]
	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 ReportClientSpeedtestRequest.ProtoReflect.Descriptor instead.
func (*ReportClientSpeedtestRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{68}
}

func (x *ReportClientSpeedtestRequest) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ReportClientSpeedtestRequest) GetClientSpeedtest() *SpeedTestStats {
	if x != nil {
		return x.ClientSpeedtest
	}
	return nil
}

func (x *ReportClientSpeedtestRequest) GetWifiSpeedtest() *SpeedTestStats {
	if x != nil {
		return x.WifiSpeedtest
	}
	return nil
}

func (x *ReportClientSpeedtestRequest) GetClientRssi() float32 {
	if x != nil {
		return x.ClientRssi
	}
	return 0
}

func (x *ReportClientSpeedtestRequest) GetClientPlatform() *ClientPlatform {
	if x != nil {
		return x.ClientPlatform
	}
	return nil
}

func (x *ReportClientSpeedtestRequest) GetAppVersion() string {
	if x != nil {
		return x.AppVersion
	}
	return ""
}

func (x *ReportClientSpeedtestRequest) GetAppBuild() uint32 {
	if x != nil {
		return x.AppBuild
	}
	return 0
}

type ReportClientSpeedtestResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ReportClientSpeedtestResponse) Reset() {
	*x = ReportClientSpeedtestResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReportClientSpeedtestResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReportClientSpeedtestResponse) ProtoMessage() {}

func (x *ReportClientSpeedtestResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[69]
	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 ReportClientSpeedtestResponse.ProtoReflect.Descriptor instead.
func (*ReportClientSpeedtestResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{69}
}

type SetPerVehicleConfigResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *SetPerVehicleConfigResponse) Reset() {
	*x = SetPerVehicleConfigResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetPerVehicleConfigResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetPerVehicleConfigResponse) ProtoMessage() {}

func (x *SetPerVehicleConfigResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[70]
	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 SetPerVehicleConfigResponse.ProtoReflect.Descriptor instead.
func (*SetPerVehicleConfigResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{70}
}

type DishPowerSaveRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PowerSaveStartMinutes    uint32 `protobuf:"varint,1,opt,name=power_save_start_minutes,json=powerSaveStartMinutes,proto3" json:"power_save_start_minutes,omitempty"`
	PowerSaveDurationMinutes uint32 `protobuf:"varint,2,opt,name=power_save_duration_minutes,json=powerSaveDurationMinutes,proto3" json:"power_save_duration_minutes,omitempty"`
	EnablePowerSave          bool   `protobuf:"varint,3,opt,name=enable_power_save,json=enablePowerSave,proto3" json:"enable_power_save,omitempty"`
}

func (x *DishPowerSaveRequest) Reset() {
	*x = DishPowerSaveRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[71]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishPowerSaveRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishPowerSaveRequest) ProtoMessage() {}

func (x *DishPowerSaveRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[71]
	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 DishPowerSaveRequest.ProtoReflect.Descriptor instead.
func (*DishPowerSaveRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{71}
}

func (x *DishPowerSaveRequest) GetPowerSaveStartMinutes() uint32 {
	if x != nil {
		return x.PowerSaveStartMinutes
	}
	return 0
}

func (x *DishPowerSaveRequest) GetPowerSaveDurationMinutes() uint32 {
	if x != nil {
		return x.PowerSaveDurationMinutes
	}
	return 0
}

func (x *DishPowerSaveRequest) GetEnablePowerSave() bool {
	if x != nil {
		return x.EnablePowerSave
	}
	return false
}

type IQCaptureRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *IQCaptureRequest) Reset() {
	*x = IQCaptureRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *IQCaptureRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*IQCaptureRequest) ProtoMessage() {}

func (x *IQCaptureRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[72]
	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 IQCaptureRequest.ProtoReflect.Descriptor instead.
func (*IQCaptureRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{72}
}

type GetDiagnosticsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetDiagnosticsRequest) Reset() {
	*x = GetDiagnosticsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetDiagnosticsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetDiagnosticsRequest) ProtoMessage() {}

func (x *GetDiagnosticsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[73]
	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 GetDiagnosticsRequest.ProtoReflect.Descriptor instead.
func (*GetDiagnosticsRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{73}
}

type WifiGetDiagnosticsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id              string                                `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	HardwareVersion string                                `protobuf:"bytes,2,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
	SoftwareVersion string                                `protobuf:"bytes,3,opt,name=software_version,json=softwareVersion,proto3" json:"software_version,omitempty"`
	Networks        []*WifiGetDiagnosticsResponse_Network `protobuf:"bytes,4,rep,name=networks,proto3" json:"networks,omitempty"`
}

func (x *WifiGetDiagnosticsResponse) Reset() {
	*x = WifiGetDiagnosticsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WifiGetDiagnosticsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WifiGetDiagnosticsResponse) ProtoMessage() {}

func (x *WifiGetDiagnosticsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[74]
	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 WifiGetDiagnosticsResponse.ProtoReflect.Descriptor instead.
func (*WifiGetDiagnosticsResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{74}
}

func (x *WifiGetDiagnosticsResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *WifiGetDiagnosticsResponse) GetHardwareVersion() string {
	if x != nil {
		return x.HardwareVersion
	}
	return ""
}

func (x *WifiGetDiagnosticsResponse) GetSoftwareVersion() string {
	if x != nil {
		return x.SoftwareVersion
	}
	return ""
}

func (x *WifiGetDiagnosticsResponse) GetNetworks() []*WifiGetDiagnosticsResponse_Network {
	if x != nil {
		return x.Networks
	}
	return nil
}

type DishGetDiagnosticsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id                    string                                      `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	HardwareVersion       string                                      `protobuf:"bytes,2,opt,name=hardware_version,json=hardwareVersion,proto3" json:"hardware_version,omitempty"`
	SoftwareVersion       string                                      `protobuf:"bytes,3,opt,name=software_version,json=softwareVersion,proto3" json:"software_version,omitempty"`
	UtcOffsetS            int32                                       `protobuf:"varint,4,opt,name=utc_offset_s,json=utcOffsetS,proto3" json:"utc_offset_s,omitempty"`
	HardwareSelfTest      DishGetDiagnosticsResponse_TestResult       `protobuf:"varint,7,opt,name=hardware_self_test,json=hardwareSelfTest,proto3,enum=SpaceX.API.Device.DishGetDiagnosticsResponse_TestResult" json:"hardware_self_test,omitempty"`
	HardwareSelfTestCodes []DishGetDiagnosticsResponse_TestResultCode `protobuf:"varint,11,rep,packed,name=hardware_self_test_codes,json=hardwareSelfTestCodes,proto3,enum=SpaceX.API.Device.DishGetDiagnosticsResponse_TestResultCode" json:"hardware_self_test_codes,omitempty"`
	Alerts                *DishGetDiagnosticsResponse_Alerts          `protobuf:"bytes,5,opt,name=alerts,proto3" json:"alerts,omitempty"`
	DisablementCode       DishGetDiagnosticsResponse_DisablementCode  `protobuf:"varint,6,opt,name=disablement_code,json=disablementCode,proto3,enum=SpaceX.API.Device.DishGetDiagnosticsResponse_DisablementCode" json:"disablement_code,omitempty"`
	Location              *DishGetDiagnosticsResponse_Location        `protobuf:"bytes,8,opt,name=location,proto3" json:"location,omitempty"`
	AlignmentStats        *DishGetDiagnosticsResponse_AlignmentStats  `protobuf:"bytes,9,opt,name=alignment_stats,json=alignmentStats,proto3" json:"alignment_stats,omitempty"`
	Stowed                bool                                        `protobuf:"varint,10,opt,name=stowed,proto3" json:"stowed,omitempty"`
	OverageRateLimited    bool                                        `protobuf:"varint,14,opt,name=overage_rate_limited,json=overageRateLimited,proto3" json:"overage_rate_limited,omitempty"`
}

func (x *DishGetDiagnosticsResponse) Reset() {
	*x = DishGetDiagnosticsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[75]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishGetDiagnosticsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishGetDiagnosticsResponse) ProtoMessage() {}

func (x *DishGetDiagnosticsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[75]
	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 DishGetDiagnosticsResponse.ProtoReflect.Descriptor instead.
func (*DishGetDiagnosticsResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{75}
}

func (x *DishGetDiagnosticsResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *DishGetDiagnosticsResponse) GetHardwareVersion() string {
	if x != nil {
		return x.HardwareVersion
	}
	return ""
}

func (x *DishGetDiagnosticsResponse) GetSoftwareVersion() string {
	if x != nil {
		return x.SoftwareVersion
	}
	return ""
}

func (x *DishGetDiagnosticsResponse) GetUtcOffsetS() int32 {
	if x != nil {
		return x.UtcOffsetS
	}
	return 0
}

func (x *DishGetDiagnosticsResponse) GetHardwareSelfTest() DishGetDiagnosticsResponse_TestResult {
	if x != nil {
		return x.HardwareSelfTest
	}
	return DishGetDiagnosticsResponse_NO_RESULT
}

func (x *DishGetDiagnosticsResponse) GetHardwareSelfTestCodes() []DishGetDiagnosticsResponse_TestResultCode {
	if x != nil {
		return x.HardwareSelfTestCodes
	}
	return nil
}

func (x *DishGetDiagnosticsResponse) GetAlerts() *DishGetDiagnosticsResponse_Alerts {
	if x != nil {
		return x.Alerts
	}
	return nil
}

func (x *DishGetDiagnosticsResponse) GetDisablementCode() DishGetDiagnosticsResponse_DisablementCode {
	if x != nil {
		return x.DisablementCode
	}
	return DishGetDiagnosticsResponse_UNKNOWN
}

func (x *DishGetDiagnosticsResponse) GetLocation() *DishGetDiagnosticsResponse_Location {
	if x != nil {
		return x.Location
	}
	return nil
}

func (x *DishGetDiagnosticsResponse) GetAlignmentStats() *DishGetDiagnosticsResponse_AlignmentStats {
	if x != nil {
		return x.AlignmentStats
	}
	return nil
}

func (x *DishGetDiagnosticsResponse) GetStowed() bool {
	if x != nil {
		return x.Stowed
	}
	return false
}

func (x *DishGetDiagnosticsResponse) GetOverageRateLimited() bool {
	if x != nil {
		return x.OverageRateLimited
	}
	return false
}

type TcpConnectivityTestRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	Port   uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
}

func (x *TcpConnectivityTestRequest) Reset() {
	*x = TcpConnectivityTestRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[76]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TcpConnectivityTestRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TcpConnectivityTestRequest) ProtoMessage() {}

func (x *TcpConnectivityTestRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[76]
	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 TcpConnectivityTestRequest.ProtoReflect.Descriptor instead.
func (*TcpConnectivityTestRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{76}
}

func (x *TcpConnectivityTestRequest) GetTarget() string {
	if x != nil {
		return x.Target
	}
	return ""
}

func (x *TcpConnectivityTestRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

type UdpConnectivityTestRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Target    string                                      `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	Port      uint32                                      `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	ProbeData UdpConnectivityTestRequest_UDPProbeDataType `protobuf:"varint,3,opt,name=probe_data,json=probeData,proto3,enum=SpaceX.API.Device.UdpConnectivityTestRequest_UDPProbeDataType" json:"probe_data,omitempty"`
}

func (x *UdpConnectivityTestRequest) Reset() {
	*x = UdpConnectivityTestRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[77]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UdpConnectivityTestRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UdpConnectivityTestRequest) ProtoMessage() {}

func (x *UdpConnectivityTestRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[77]
	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 UdpConnectivityTestRequest.ProtoReflect.Descriptor instead.
func (*UdpConnectivityTestRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{77}
}

func (x *UdpConnectivityTestRequest) GetTarget() string {
	if x != nil {
		return x.Target
	}
	return ""
}

func (x *UdpConnectivityTestRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *UdpConnectivityTestRequest) GetProbeData() UdpConnectivityTestRequest_UDPProbeDataType {
	if x != nil {
		return x.ProbeData
	}
	return UdpConnectivityTestRequest_EMPTY
}

type GetGoroutineStackTracesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetGoroutineStackTracesRequest) Reset() {
	*x = GetGoroutineStackTracesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[78]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetGoroutineStackTracesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetGoroutineStackTracesRequest) ProtoMessage() {}

func (x *GetGoroutineStackTracesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[78]
	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 GetGoroutineStackTracesRequest.ProtoReflect.Descriptor instead.
func (*GetGoroutineStackTracesRequest) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{78}
}

type GetGoroutineStackTracesResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	StackTraces string `protobuf:"bytes,1,opt,name=stack_traces,json=stackTraces,proto3" json:"stack_traces,omitempty"`
}

func (x *GetGoroutineStackTracesResponse) Reset() {
	*x = GetGoroutineStackTracesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[79]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetGoroutineStackTracesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetGoroutineStackTracesResponse) ProtoMessage() {}

func (x *GetGoroutineStackTracesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[79]
	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 GetGoroutineStackTracesResponse.ProtoReflect.Descriptor instead.
func (*GetGoroutineStackTracesResponse) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{79}
}

func (x *GetGoroutineStackTracesResponse) GetStackTraces() string {
	if x != nil {
		return x.StackTraces
	}
	return ""
}

type GetLogResponse_Logs struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Syslog      string `protobuf:"bytes,1,opt,name=syslog,proto3" json:"syslog,omitempty"`
	Dmesg       string `protobuf:"bytes,2,opt,name=dmesg,proto3" json:"dmesg,omitempty"`
	KernelPanic string `protobuf:"bytes,3,opt,name=kernel_panic,json=kernelPanic,proto3" json:"kernel_panic,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	MtkEthProcs      string `protobuf:"bytes,4,opt,name=mtk_eth_procs,json=mtkEthProcs,proto3" json:"mtk_eth_procs,omitempty"`
	DebugNetsys_0Sec string `protobuf:"bytes,5,opt,name=debug_netsys_0sec,json=debugNetsys0sec,proto3" json:"debug_netsys_0sec,omitempty"`
	// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
	DebugNetsys_2Sec string `protobuf:"bytes,6,opt,name=debug_netsys_2sec,json=debugNetsys2sec,proto3" json:"debug_netsys_2sec,omitempty"`
}

func (x *GetLogResponse_Logs) Reset() {
	*x = GetLogResponse_Logs{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[80]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetLogResponse_Logs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetLogResponse_Logs) ProtoMessage() {}

func (x *GetLogResponse_Logs) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[80]
	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 GetLogResponse_Logs.ProtoReflect.Descriptor instead.
func (*GetLogResponse_Logs) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{22, 0}
}

func (x *GetLogResponse_Logs) GetSyslog() string {
	if x != nil {
		return x.Syslog
	}
	return ""
}

func (x *GetLogResponse_Logs) GetDmesg() string {
	if x != nil {
		return x.Dmesg
	}
	return ""
}

func (x *GetLogResponse_Logs) GetKernelPanic() string {
	if x != nil {
		return x.KernelPanic
	}
	return ""
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *GetLogResponse_Logs) GetMtkEthProcs() string {
	if x != nil {
		return x.MtkEthProcs
	}
	return ""
}

func (x *GetLogResponse_Logs) GetDebugNetsys_0Sec() string {
	if x != nil {
		return x.DebugNetsys_0Sec
	}
	return ""
}

// Deprecated: Marked as deprecated in spacex_api/device/device.proto.
func (x *GetLogResponse_Logs) GetDebugNetsys_2Sec() string {
	if x != nil {
		return x.DebugNetsys_2Sec
	}
	return ""
}

type GetConnectionsResponse_ServiceConnection struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Address             string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	SecondsSinceSuccess int32  `protobuf:"varint,2,opt,name=seconds_since_success,json=secondsSinceSuccess,proto3" json:"seconds_since_success,omitempty"`
}

func (x *GetConnectionsResponse_ServiceConnection) Reset() {
	*x = GetConnectionsResponse_ServiceConnection{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[82]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetConnectionsResponse_ServiceConnection) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetConnectionsResponse_ServiceConnection) ProtoMessage() {}

func (x *GetConnectionsResponse_ServiceConnection) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[82]
	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 GetConnectionsResponse_ServiceConnection.ProtoReflect.Descriptor instead.
func (*GetConnectionsResponse_ServiceConnection) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{37, 0}
}

func (x *GetConnectionsResponse_ServiceConnection) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *GetConnectionsResponse_ServiceConnection) GetSecondsSinceSuccess() int32 {
	if x != nil {
		return x.SecondsSinceSuccess
	}
	return 0
}

type SpeedtestStatus_Direction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ThroughputsMbps []float32      `protobuf:"fixed32,1,rep,packed,name=throughputs_mbps,json=throughputsMbps,proto3" json:"throughputs_mbps,omitempty"`
	Err             SpeedtestError `protobuf:"varint,2,opt,name=err,proto3,enum=SpaceX.API.Device.SpeedtestError" json:"err,omitempty"`
}

func (x *SpeedtestStatus_Direction) Reset() {
	*x = SpeedtestStatus_Direction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[84]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpeedtestStatus_Direction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpeedtestStatus_Direction) ProtoMessage() {}

func (x *SpeedtestStatus_Direction) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[84]
	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 SpeedtestStatus_Direction.ProtoReflect.Descriptor instead.
func (*SpeedtestStatus_Direction) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{65, 0}
}

func (x *SpeedtestStatus_Direction) GetThroughputsMbps() []float32 {
	if x != nil {
		return x.ThroughputsMbps
	}
	return nil
}

func (x *SpeedtestStatus_Direction) GetErr() SpeedtestError {
	if x != nil {
		return x.Err
	}
	return SpeedtestError_SPEEDTEST_ERROR_NONE
}

type WifiGetDiagnosticsResponse_Network struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Domain          string   `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	Ipv4            string   `protobuf:"bytes,2,opt,name=ipv4,proto3" json:"ipv4,omitempty"`
	Ipv6            []string `protobuf:"bytes,3,rep,name=ipv6,proto3" json:"ipv6,omitempty"`
	ClientsEthernet uint32   `protobuf:"varint,10,opt,name=clients_ethernet,json=clientsEthernet,proto3" json:"clients_ethernet,omitempty"`
	Clients_2Ghz    uint32   `protobuf:"varint,11,opt,name=clients_2ghz,json=clients2ghz,proto3" json:"clients_2ghz,omitempty"`
	Clients_5Ghz    uint32   `protobuf:"varint,12,opt,name=clients_5ghz,json=clients5ghz,proto3" json:"clients_5ghz,omitempty"`
}

func (x *WifiGetDiagnosticsResponse_Network) Reset() {
	*x = WifiGetDiagnosticsResponse_Network{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[85]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WifiGetDiagnosticsResponse_Network) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WifiGetDiagnosticsResponse_Network) ProtoMessage() {}

func (x *WifiGetDiagnosticsResponse_Network) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[85]
	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 WifiGetDiagnosticsResponse_Network.ProtoReflect.Descriptor instead.
func (*WifiGetDiagnosticsResponse_Network) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{74, 0}
}

func (x *WifiGetDiagnosticsResponse_Network) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *WifiGetDiagnosticsResponse_Network) GetIpv4() string {
	if x != nil {
		return x.Ipv4
	}
	return ""
}

func (x *WifiGetDiagnosticsResponse_Network) GetIpv6() []string {
	if x != nil {
		return x.Ipv6
	}
	return nil
}

func (x *WifiGetDiagnosticsResponse_Network) GetClientsEthernet() uint32 {
	if x != nil {
		return x.ClientsEthernet
	}
	return 0
}

func (x *WifiGetDiagnosticsResponse_Network) GetClients_2Ghz() uint32 {
	if x != nil {
		return x.Clients_2Ghz
	}
	return 0
}

func (x *WifiGetDiagnosticsResponse_Network) GetClients_5Ghz() uint32 {
	if x != nil {
		return x.Clients_5Ghz
	}
	return 0
}

type DishGetDiagnosticsResponse_Alerts struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DishIsHeating              bool `protobuf:"varint,1,opt,name=dish_is_heating,json=dishIsHeating,proto3" json:"dish_is_heating,omitempty"`
	DishThermalThrottle        bool `protobuf:"varint,2,opt,name=dish_thermal_throttle,json=dishThermalThrottle,proto3" json:"dish_thermal_throttle,omitempty"`
	DishThermalShutdown        bool `protobuf:"varint,3,opt,name=dish_thermal_shutdown,json=dishThermalShutdown,proto3" json:"dish_thermal_shutdown,omitempty"`
	PowerSupplyThermalThrottle bool `protobuf:"varint,4,opt,name=power_supply_thermal_throttle,json=powerSupplyThermalThrottle,proto3" json:"power_supply_thermal_throttle,omitempty"`
	MotorsStuck                bool `protobuf:"varint,5,opt,name=motors_stuck,json=motorsStuck,proto3" json:"motors_stuck,omitempty"`
	MastNotNearVertical        bool `protobuf:"varint,6,opt,name=mast_not_near_vertical,json=mastNotNearVertical,proto3" json:"mast_not_near_vertical,omitempty"`
	SlowEthernetSpeeds         bool `protobuf:"varint,7,opt,name=slow_ethernet_speeds,json=slowEthernetSpeeds,proto3" json:"slow_ethernet_speeds,omitempty"`
	SoftwareInstallPending     bool `protobuf:"varint,8,opt,name=software_install_pending,json=softwareInstallPending,proto3" json:"software_install_pending,omitempty"`
	Obstructed                 bool `protobuf:"varint,10,opt,name=obstructed,proto3" json:"obstructed,omitempty"`
}

func (x *DishGetDiagnosticsResponse_Alerts) Reset() {
	*x = DishGetDiagnosticsResponse_Alerts{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[86]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishGetDiagnosticsResponse_Alerts) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishGetDiagnosticsResponse_Alerts) ProtoMessage() {}

func (x *DishGetDiagnosticsResponse_Alerts) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[86]
	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 DishGetDiagnosticsResponse_Alerts.ProtoReflect.Descriptor instead.
func (*DishGetDiagnosticsResponse_Alerts) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{75, 0}
}

func (x *DishGetDiagnosticsResponse_Alerts) GetDishIsHeating() bool {
	if x != nil {
		return x.DishIsHeating
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Alerts) GetDishThermalThrottle() bool {
	if x != nil {
		return x.DishThermalThrottle
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Alerts) GetDishThermalShutdown() bool {
	if x != nil {
		return x.DishThermalShutdown
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Alerts) GetPowerSupplyThermalThrottle() bool {
	if x != nil {
		return x.PowerSupplyThermalThrottle
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Alerts) GetMotorsStuck() bool {
	if x != nil {
		return x.MotorsStuck
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Alerts) GetMastNotNearVertical() bool {
	if x != nil {
		return x.MastNotNearVertical
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Alerts) GetSlowEthernetSpeeds() bool {
	if x != nil {
		return x.SlowEthernetSpeeds
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Alerts) GetSoftwareInstallPending() bool {
	if x != nil {
		return x.SoftwareInstallPending
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Alerts) GetObstructed() bool {
	if x != nil {
		return x.Obstructed
	}
	return false
}

type DishGetDiagnosticsResponse_Location struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Enabled                bool    `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Latitude               float64 `protobuf:"fixed64,2,opt,name=latitude,proto3" json:"latitude,omitempty"`
	Longitude              float64 `protobuf:"fixed64,3,opt,name=longitude,proto3" json:"longitude,omitempty"`
	AltitudeMeters         float64 `protobuf:"fixed64,4,opt,name=altitude_meters,json=altitudeMeters,proto3" json:"altitude_meters,omitempty"`
	UncertaintyMetersValid bool    `protobuf:"varint,5,opt,name=uncertainty_meters_valid,json=uncertaintyMetersValid,proto3" json:"uncertainty_meters_valid,omitempty"`
	UncertaintyMeters      float64 `protobuf:"fixed64,6,opt,name=uncertainty_meters,json=uncertaintyMeters,proto3" json:"uncertainty_meters,omitempty"`
	GpsTimeS               float64 `protobuf:"fixed64,7,opt,name=gps_time_s,json=gpsTimeS,proto3" json:"gps_time_s,omitempty"`
}

func (x *DishGetDiagnosticsResponse_Location) Reset() {
	*x = DishGetDiagnosticsResponse_Location{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[87]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishGetDiagnosticsResponse_Location) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishGetDiagnosticsResponse_Location) ProtoMessage() {}

func (x *DishGetDiagnosticsResponse_Location) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[87]
	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 DishGetDiagnosticsResponse_Location.ProtoReflect.Descriptor instead.
func (*DishGetDiagnosticsResponse_Location) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{75, 1}
}

func (x *DishGetDiagnosticsResponse_Location) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Location) GetLatitude() float64 {
	if x != nil {
		return x.Latitude
	}
	return 0
}

func (x *DishGetDiagnosticsResponse_Location) GetLongitude() float64 {
	if x != nil {
		return x.Longitude
	}
	return 0
}

func (x *DishGetDiagnosticsResponse_Location) GetAltitudeMeters() float64 {
	if x != nil {
		return x.AltitudeMeters
	}
	return 0
}

func (x *DishGetDiagnosticsResponse_Location) GetUncertaintyMetersValid() bool {
	if x != nil {
		return x.UncertaintyMetersValid
	}
	return false
}

func (x *DishGetDiagnosticsResponse_Location) GetUncertaintyMeters() float64 {
	if x != nil {
		return x.UncertaintyMeters
	}
	return 0
}

func (x *DishGetDiagnosticsResponse_Location) GetGpsTimeS() float64 {
	if x != nil {
		return x.GpsTimeS
	}
	return 0
}

type DishGetDiagnosticsResponse_AlignmentStats struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BoresightAzimuthDeg          float32 `protobuf:"fixed32,1,opt,name=boresight_azimuth_deg,json=boresightAzimuthDeg,proto3" json:"boresight_azimuth_deg,omitempty"`
	BoresightElevationDeg        float32 `protobuf:"fixed32,2,opt,name=boresight_elevation_deg,json=boresightElevationDeg,proto3" json:"boresight_elevation_deg,omitempty"`
	DesiredBoresightAzimuthDeg   float32 `protobuf:"fixed32,3,opt,name=desired_boresight_azimuth_deg,json=desiredBoresightAzimuthDeg,proto3" json:"desired_boresight_azimuth_deg,omitempty"`
	DesiredBoresightElevationDeg float32 `protobuf:"fixed32,4,opt,name=desired_boresight_elevation_deg,json=desiredBoresightElevationDeg,proto3" json:"desired_boresight_elevation_deg,omitempty"`
}

func (x *DishGetDiagnosticsResponse_AlignmentStats) Reset() {
	*x = DishGetDiagnosticsResponse_AlignmentStats{}
	if protoimpl.UnsafeEnabled {
		mi := &file_spacex_api_device_device_proto_msgTypes[88]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DishGetDiagnosticsResponse_AlignmentStats) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DishGetDiagnosticsResponse_AlignmentStats) ProtoMessage() {}

func (x *DishGetDiagnosticsResponse_AlignmentStats) ProtoReflect() protoreflect.Message {
	mi := &file_spacex_api_device_device_proto_msgTypes[88]
	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 DishGetDiagnosticsResponse_AlignmentStats.ProtoReflect.Descriptor instead.
func (*DishGetDiagnosticsResponse_AlignmentStats) Descriptor() ([]byte, []int) {
	return file_spacex_api_device_device_proto_rawDescGZIP(), []int{75, 2}
}

func (x *DishGetDiagnosticsResponse_AlignmentStats) GetBoresightAzimuthDeg() float32 {
	if x != nil {
		return x.BoresightAzimuthDeg
	}
	return 0
}

func (x *DishGetDiagnosticsResponse_AlignmentStats) GetBoresightElevationDeg() float32 {
	if x != nil {
		return x.BoresightElevationDeg
	}
	return 0
}

func (x *DishGetDiagnosticsResponse_AlignmentStats) GetDesiredBoresightAzimuthDeg() float32 {
	if x != nil {
		return x.DesiredBoresightAzimuthDeg
	}
	return 0
}

func (x *DishGetDiagnosticsResponse_AlignmentStats) GetDesiredBoresightElevationDeg() float32 {
	if x != nil {
		return x.DesiredBoresightElevationDeg
	}
	return 0
}

var File_spacex_api_device_device_proto protoreflect.FileDescriptor

var file_spacex_api_device_device_proto_rawDesc = []byte{
	0x0a, 0x1e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x12, 0x11, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x1a, 0x25, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x5f, 0x61, 0x70, 0x69, 0x2f,
	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x70, 0x61, 0x63,
	0x65, 0x78, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x73, 0x70, 0x61,
	0x63, 0x65, 0x78, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x63,
	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x73, 0x70, 0x61,
	0x63, 0x65, 0x78, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64,
	0x69, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x73, 0x70, 0x61, 0x63, 0x65,
	0x78, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x74, 0x72, 0x61,
	0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
	0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2f, 0x77, 0x69, 0x66, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x73, 0x70,
	0x61, 0x63, 0x65, 0x78, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2f,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x2f,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92,
	0x01, 0x0a, 0x08, 0x54, 0x6f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68,
	0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x48, 0x65,
	0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61,
	0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x0a, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a,
	0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12,
	0x43, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
	0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
	0x68, 0x65, 0x63, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
	0xc0, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b,
	0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0c, 0x67,
	0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x4c,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x22, 0x0d, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
	0x6b, 0x22, 0xd2, 0x3f, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a,
	0x08, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x07, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0d,
	0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a,
	0x0b, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xee, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x49,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x74, 0x4e,
	0x65, 0x78, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
	0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xb6, 0x08, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61,
	0x48, 0x00, 0x52, 0x10, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
	0x63, 0x61, 0x74, 0x65, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65,
	0x62, 0x75, 0x67, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x8a, 0x08, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67,
	0x54, 0x65, 0x6c, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10,
	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x65, 0x6c, 0x65, 0x6d,
	0x12, 0x4e, 0x0a, 0x0d, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65,
	0x74, 0x18, 0xf3, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x61, 0x63,
	0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x48, 0x00, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74,
	0x12, 0x52, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69,
	0x6e, 0x66, 0x6f, 0x18, 0xf0, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47,
	0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74,
	0x6f, 0x72, 0x79, 0x18, 0xef, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47,
	0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3c,
	0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0xf4, 0x07, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x67, 0x0a, 0x16,
	0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65,
	0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65,
	0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x14, 0x67, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72,
	0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e,
	0x67, 0x18, 0xf1, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74,
	0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x67,
	0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x42, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x68,
	0x6f, 0x73, 0x74, 0x18, 0xf8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50,
	0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
	0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x67, 0x65,
	0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xec, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0xe9, 0x07, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x3c,
	0x0a, 0x07, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x6b, 0x75, 0x18, 0xf5, 0x07, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x20, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x55, 0x0a, 0x10,
	0x73, 0x65, 0x74, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73,
	0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
	0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x54,
	0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b,
	0x65, 0x79, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x73,
	0x74, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65,
	0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x09, 0x73, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x5f, 0x6c,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0d, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x70,
	0x5f, 0x64, 0x75, 0x6d, 0x70, 0x18, 0xfb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x44, 0x75,
	0x6d, 0x70, 0x12, 0x54, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0xfc, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x35, 0x0a, 0x04, 0x66, 0x75, 0x73, 0x65,
	0x18, 0xfd, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
	0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x75, 0x73, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x66, 0x75, 0x73, 0x65, 0x12,
	0x61, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0xfe, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
	0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12,
	0x67, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61,
	0x74, 0x73, 0x12, 0x54, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xff, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x83, 0x08, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65,
	0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12, 0x61,
	0x0a, 0x14, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x84, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x67,
	0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x6a, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x85, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12, 0x62, 0x0a,
	0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
	0x5f, 0x73, 0x73, 0x68, 0x18, 0x86, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73,
	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x11,
	0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73,
	0x68, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x87,
	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65,
	0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x6c,
	0x66, 0x54, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x73,
	0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x88, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d,
	0x6f, 0x64, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x89, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x6f, 0x66, 0x74, 0x77,
	0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x69, 0x71, 0x5f,
	0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x18, 0x8b, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x49, 0x51, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x69, 0x71, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65,
	0x12, 0x52, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x74,
	0x61, 0x74, 0x73, 0x18, 0x8c, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47,
	0x65, 0x74, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x74, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x53,
	0x74, 0x61, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8d, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x55,
	0x0a, 0x10, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x70, 0x65, 0x72, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x18, 0x8e, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x75,
	0x6e, 0x49, 0x70, 0x65, 0x72, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x49, 0x70, 0x65, 0x72, 0x66, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x15, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x8f,
	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x74, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x65, 0x73, 0x74, 0x12, 0x64, 0x0a, 0x15, 0x75,
	0x64, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f,
	0x74, 0x65, 0x73, 0x74, 0x18, 0x90, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x55, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54,
	0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x75, 0x64,
	0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x65, 0x73,
	0x74, 0x12, 0x71, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69,
	0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x18,
	0x91, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6f,
	0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63,
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x17, 0x67, 0x65, 0x74,
	0x47, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72,
	0x61, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x6f,
	0x77, 0x18, 0xd2, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73,
	0x68, 0x53, 0x74, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08,
	0x64, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x12, 0x55, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x68,
	0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0xd3, 0x0f, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x0e, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
	0x6b, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x62, 0x73, 0x74,
	0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xd8, 0x0f, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x4f, 0x62,
	0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x4f, 0x62,
	0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x12, 0x49, 0x0a, 0x0c,
	0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x6d, 0x63, 0x18, 0xd7, 0x0f, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x45,
	0x6d, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x73,
	0x68, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x12, 0x49, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x68, 0x5f,
	0x67, 0x65, 0x74, 0x5f, 0x65, 0x6d, 0x63, 0x18, 0xd9, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x45,
	0x6d, 0x63, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xda, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67,
	0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdb, 0x0f, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73,
	0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x69,
	0x73, 0x68, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x18, 0xdd, 0x0f,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x77,
	0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x0d, 0x64, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x12, 0x55,
	0x0a, 0x10, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x68, 0x69, 0x62, 0x69, 0x74, 0x5f, 0x67,
	0x70, 0x73, 0x18, 0xde, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69,
	0x73, 0x68, 0x49, 0x6e, 0x68, 0x69, 0x62, 0x69, 0x74, 0x47, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x68, 0x69, 0x62,
	0x69, 0x74, 0x47, 0x70, 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65,
	0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0xdf, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x44,
	0x61, 0x74, 0x61, 0x12, 0x71, 0x0a, 0x1a, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x6c, 0x65, 0x61,
	0x72, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61,
	0x70, 0x18, 0xe1, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73,
	0x68, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x17, 0x64,
	0x69, 0x73, 0x68, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x12, 0x73, 0x0a, 0x1c, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73,
	0x65, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x73,
	0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xe2, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x50, 0x6f, 0x77, 0x65,
	0x72, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x48, 0x00, 0x52, 0x17, 0x64, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x50, 0x6f,
	0x77, 0x65, 0x72, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x68, 0x0a, 0x17, 0x64,
	0x69, 0x73, 0x68, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x73, 0x73,
	0x69, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0xe3, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x73,
	0x73, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x14, 0x64, 0x69, 0x73, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x73, 0x73,
	0x69, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x6c, 0x0a, 0x19, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65,
	0x74, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x18, 0xe4, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69,
	0x73, 0x68, 0x47, 0x65, 0x74, 0x52, 0x73, 0x73, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x64, 0x69,
	0x73, 0x68, 0x47, 0x65, 0x74, 0x52, 0x73, 0x73, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x12, 0x5b, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x61, 0x63, 0x74,
	0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0xe5, 0x0f, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79,
	0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10,
	0x64, 0x69, 0x73, 0x68, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74,
	0x12, 0x4b, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,
	0x18, 0xe6, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
	0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x65,
	0x74, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
	0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x60, 0x0a,
	0x16, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xe7, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x73, 0x65, 0x74, 0x50,
	0x65, 0x72, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
	0x5b, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xe8, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x44, 0x69, 0x73, 0x68, 0x41, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x73,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x64, 0x69, 0x73, 0x68,
	0x41, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x0f,
	0x64, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x68, 0x69, 0x62, 0x69, 0x74, 0x5f, 0x72, 0x66, 0x18,
	0xea, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x49,
	0x6e, 0x68, 0x69, 0x62, 0x69, 0x74, 0x52, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
	0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x68, 0x69, 0x62, 0x69, 0x74, 0x52, 0x66,
	0x12, 0x55, 0x0a, 0x10, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x73, 0x18, 0xba, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x15, 0x77, 0x69, 0x66, 0x69, 0x5f,
	0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
	0x18, 0xbf, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
	0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69,
	0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74,
	0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x77,
	0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xb9,
	0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65,
	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
	0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
	0x52, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x18, 0xc1, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69,
	0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x75,
	0x70, 0x18, 0xbb, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
	0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x09, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x6f, 0x0a, 0x1a, 0x77, 0x69,
	0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x18, 0xc4, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x30, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x48, 0x00, 0x52, 0x16, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x14, 0x77,
	0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x18, 0xc5, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57,
	0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x11, 0x77,
	0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x12, 0x68, 0x0a, 0x17, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xc7, 0x17, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x6f, 0x0a, 0x1a, 0x77, 0x69,
	0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x69,
	0x76, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xc9, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x30, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x48, 0x00, 0x52, 0x16, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x47, 0x69, 0x76, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x74, 0x0a, 0x1b, 0x77,
	0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x61, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0xc8, 0x17, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x41, 0x76, 0x69,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x18, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74,
	0x41, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x65,
	0x64, 0x12, 0x4f, 0x0a, 0x0e, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74,
	0x65, 0x73, 0x74, 0x18, 0xca, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57,
	0x69, 0x66, 0x69, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65,
	0x73, 0x74, 0x12, 0x59, 0x0a, 0x12, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73,
	0x65, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xd4, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x54,
	0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x69,
	0x66, 0x69, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74, 0x12, 0x64, 0x0a,
	0x15, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xcb, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13,
	0x77, 0x69, 0x66, 0x69, 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
	0x6f, 0x64, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x75, 0x65, 0x73,
	0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xcc, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x47, 0x75,
	0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0c, 0x77, 0x69, 0x66, 0x69, 0x5f,
	0x72, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xcd, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x52, 0x66, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x52, 0x66, 0x54, 0x65,
	0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66,
	0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, 0xd0, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
	0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x69, 0x66,
	0x69, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x74, 0x0a, 0x1b,
	0x77, 0x69, 0x66, 0x69, 0x5f, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x65, 0x5f,
	0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xd1, 0x17, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x54, 0x6f, 0x67, 0x67, 0x6c,
	0x65, 0x50, 0x6f, 0x65, 0x4e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x18, 0x77, 0x69, 0x66, 0x69, 0x54, 0x6f,
	0x67, 0x67, 0x6c, 0x65, 0x50, 0x6f, 0x65, 0x4e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x19, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f,
	0x72, 0x79, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18,
	0xd2, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x46,
	0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x16, 0x77, 0x69, 0x66, 0x69,
	0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x12, 0x75, 0x0a, 0x1c, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x5f, 0x70, 0x72, 0x6f,
	0x78, 0x79, 0x18, 0xd3, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69,
	0x66, 0x69, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x65, 0x6c, 0x65,
	0x6d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x18, 0x77, 0x69, 0x66, 0x69, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x54,
	0x65, 0x6c, 0x65, 0x6d, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x5e, 0x0a, 0x13, 0x77, 0x69, 0x66,
	0x69, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x68, 0x61, 0x75, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73,
	0x18, 0xd5, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
	0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69,
	0x42, 0x61, 0x63, 0x6b, 0x68, 0x61, 0x75, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x77, 0x69, 0x66, 0x69, 0x42, 0x61, 0x63, 0x6b,
	0x68, 0x61, 0x75, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x71, 0x0a, 0x1a, 0x77, 0x69, 0x66,
	0x69, 0x5f, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x63,
	0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xd6, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x55, 0x6d, 0x62,
	0x69, 0x6c, 0x69, 0x63, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x48, 0x00, 0x52, 0x17, 0x77, 0x69, 0x66, 0x69, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x55,
	0x6d, 0x62, 0x69, 0x6c, 0x69, 0x63, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x5e, 0x0a, 0x13,
	0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6e, 0x64,
	0x62, 0x6f, 0x78, 0x18, 0xd7, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57,
	0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x77, 0x69, 0x66, 0x69, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x62, 0x0a, 0x15,
	0x77, 0x69, 0x66, 0x69, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6e,
	0x65, 0x74, 0x73, 0x79, 0x73, 0x18, 0xd8, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x57, 0x69, 0x66, 0x69, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4e, 0x65, 0x74,
	0x73, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69,
	0x66, 0x69, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4e, 0x65, 0x74, 0x73, 0x79, 0x73,
	0x12, 0x59, 0x0a, 0x12, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x65,
	0x74, 0x68, 0x5f, 0x70, 0x68, 0x79, 0x18, 0xd9, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x74, 0x68, 0x50, 0x68,
	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x69, 0x66, 0x69,
	0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x74, 0x68, 0x50, 0x68, 0x79, 0x12, 0x68, 0x0a, 0x17, 0x77,
	0x69, 0x66, 0x69, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61,
	0x72, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x18, 0xda, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x48, 0x61, 0x72, 0x64, 0x77,
	0x61, 0x72, 0x65, 0x4e, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
	0x14, 0x77, 0x69, 0x66, 0x69, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61,
	0x72, 0x65, 0x4e, 0x61, 0x74, 0x12, 0x67, 0x0a, 0x16, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x77, 0x72,
	0x69, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0xdb, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x57,
	0x72, 0x69, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x77, 0x69, 0x66, 0x69, 0x57, 0x72,
	0x69, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x77,
	0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x66,
	0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xa1,
	0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63,
	0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x46, 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x54,
	0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x19, 0x74, 0x72,
	0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x66, 0x4c, 0x6f, 0x6f, 0x70, 0x62,
	0x61, 0x63, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73,
	0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x18, 0xa3, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61,
	0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e,
	0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x12, 0x70, 0x0a, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f,
	0x67, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0xa4, 0x1f,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65,
	0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73,
	0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
	0x72, 0x79, 0x12, 0x5b, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x75, 0x6e, 0x6c, 0x6f,
	0x63, 0x6b, 0x18, 0x88, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x53, 0x74,
	0x61, 0x72, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12,
	0x5e, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
	0x18, 0x89, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
	0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x46, 0x69, 0x6e, 0x69,
	0x73, 0x68, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
	0x00, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12,
	0x54, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69,
	0x63, 0x73, 0x18, 0xf0, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65,
	0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f,
	0x73, 0x74, 0x69, 0x63, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x4a, 0x06, 0x08, 0xfa, 0x07, 0x10, 0xfb, 0x07, 0x4a, 0x06, 0x08, 0x81, 0x08, 0x10, 0x82, 0x08,
	0x4a, 0x06, 0x08, 0x82, 0x08, 0x10, 0x83, 0x08, 0x4a, 0x06, 0x08, 0xdc, 0x0f, 0x10, 0xdd, 0x0f,
	0x4a, 0x06, 0x08, 0xe0, 0x0f, 0x10, 0xe1, 0x0f, 0x4a, 0x06, 0x08, 0xc3, 0x17, 0x10, 0xc4, 0x17,
	0x4a, 0x06, 0x08, 0xc6, 0x17, 0x10, 0xc7, 0x17, 0x4a, 0x06, 0x08, 0x82, 0x19, 0x10, 0x83, 0x19,
	0x52, 0x14, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x6c,
	0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x22, 0x84, 0x39, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x70, 0x69,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x6e,
	0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xee, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x49, 0x64,
	0x12, 0x5c, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67,
	0x5f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x8a, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x65, 0x6c,
	0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x12, 0x4f,
	0x0a, 0x0d, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18,
	0xf3, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x6f,
	0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12,
	0x53, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e,
	0x66, 0x6f, 0x18, 0xec, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65,
	0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x18,
	0xf4, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f,
	0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x74,
	0x4c, 0x6f, 0x67, 0x12, 0x68, 0x0a, 0x16, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xf7, 0x07,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x14, 0x67, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a,
	0x08, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x18, 0xf1, 0x07, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x67, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x12,
	0x43, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xf8, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67,
	0x48, 0x6f, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0xe9,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x62, 0x6f,
	0x6f, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74,
	0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
	0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65,
	0x64, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
	0x09, 0x73, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x65,
	0x74, 0x5f, 0x73, 0x6b, 0x75, 0x18, 0xf5, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x06, 0x73, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x65, 0x74,
	0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0xf2, 0x07,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73,
	0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79,
	0x73, 0x12, 0x3c, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0xf6, 0x07, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12,
	0x4c, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0xf9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
	0x52, 0x0b, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a,
	0x0d, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x18, 0xfb,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61,
	0x70, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
	0x0b, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x55, 0x0a, 0x0f,
	0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18,
	0xfc, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74,
	0x72, 0x6f, 0x6c, 0x12, 0x36, 0x0a, 0x04, 0x66, 0x75, 0x73, 0x65, 0x18, 0xfd, 0x07, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x04, 0x66, 0x75, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x67,
	0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xff,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65,
	0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x83, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12, 0x62, 0x0a, 0x14, 0x67, 0x65, 0x74,
	0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x18, 0x84, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74,
	0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x74, 0x53, 0x70,
	0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x6b, 0x0a,
	0x17, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
	0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x85, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x30, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x13, 0x69, 0x6e,
	0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x73,
	0x68, 0x18, 0x86, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x49, 0x6e, 0x69,
	0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73, 0x68, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e,
	0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x73, 0x68, 0x12,
	0x43, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x87, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66,
	0x54, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x73, 0x74,
	0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x88, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x53, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4d,
	0x6f, 0x64, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x89, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x6f, 0x66, 0x74,
	0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x67, 0x65,
	0x74, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x8b, 0x08,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x64, 0x69,
	0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
	0x52, 0x0d, 0x67, 0x65, 0x74, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
	0x39, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8d, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x48, 0x00, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x72, 0x75,
	0x6e, 0x5f, 0x69, 0x70, 0x65, 0x72, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x8e,
	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x49, 0x70, 0x65,
	0x72, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x48, 0x00, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x49, 0x70, 0x65, 0x72, 0x66, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x12, 0x72, 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6f, 0x72, 0x6f, 0x75, 0x74,
	0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73,
	0x18, 0x91, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
	0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x47,
	0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61,
	0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x17, 0x67,
	0x65, 0x74, 0x47, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b,
	0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x61,
	0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0xd5, 0x0f, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x41, 0x75, 0x74, 0x68, 0x65,
	0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x10, 0x64, 0x69, 0x73, 0x68, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
	0x61, 0x74, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0xd3, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x73,
	0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x64,
	0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18,
	0xd6, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47,
	0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74,
	0x6f, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xd4, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x47,
	0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x6c, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x68,
	0x5f, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x6d, 0x61, 0x70, 0x18, 0xd8, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
	0x15, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x12, 0x43, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73,
	0x74, 0x6f, 0x77, 0x18, 0xd2, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44,
	0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x08, 0x64, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x77, 0x12, 0x4a, 0x0a, 0x0c, 0x64,
	0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x6d, 0x63, 0x18, 0xd7, 0x0f, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x45, 0x6d,
	0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x73,
	0x68, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x12, 0x4a, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x68, 0x5f,
	0x67, 0x65, 0x74, 0x5f, 0x65, 0x6d, 0x63, 0x18, 0xd9, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74,
	0x45, 0x6d, 0x63, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x74, 0x5f,
	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xda, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x53,
	0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x68,
	0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdb, 0x0f, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d,
	0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a,
	0x10, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x68, 0x69, 0x62, 0x69, 0x74, 0x5f, 0x67, 0x70,
	0x73, 0x18, 0xdd, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73,
	0x68, 0x49, 0x6e, 0x68, 0x69, 0x62, 0x69, 0x74, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x68, 0x69, 0x62,
	0x69, 0x74, 0x47, 0x70, 0x73, 0x12, 0x72, 0x0a, 0x1a, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x6c,
	0x65, 0x61, 0x72, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x6d, 0x61, 0x70, 0x18, 0xdf, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44,
	0x69, 0x73, 0x68, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
	0x52, 0x17, 0x64, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x73, 0x74, 0x72,
	0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x12, 0x74, 0x0a, 0x1c, 0x64, 0x69, 0x73,
	0x68, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f,
	0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xe2, 0x0f, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x32, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x50,
	0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x17, 0x64, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x4d,
	0x61, 0x78, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12,
	0x69, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65,
	0x5f, 0x72, 0x73, 0x73, 0x69, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0xe3, 0x0f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
	0x74, 0x65, 0x52, 0x73, 0x73, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x48, 0x00, 0x52, 0x14, 0x64, 0x69, 0x73, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
	0x74, 0x65, 0x52, 0x73, 0x73, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x6d, 0x0a, 0x19, 0x64, 0x69,
	0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x5f, 0x73, 0x63, 0x61, 0x6e,
	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0xe4, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x52, 0x73, 0x73, 0x69, 0x53, 0x63,
	0x61, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x48, 0x00, 0x52, 0x15, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x52, 0x73, 0x73, 0x69, 0x53,
	0x63, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5c, 0x0a, 0x12, 0x64, 0x69, 0x73,
	0x68, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18,
	0xe5, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x46,
	0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x64, 0x69, 0x73, 0x68, 0x46, 0x61, 0x63, 0x74, 0x6f,
	0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x74,
	0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0xe6, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x42,
	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x16, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x72,
	0x5f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
	0xe7, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x65,
	0x72, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x13, 0x73, 0x65, 0x74, 0x50, 0x65, 0x72,
	0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a,
	0x12, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
	0x65, 0x73, 0x74, 0x18, 0xe8, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44,
	0x69, 0x73, 0x68, 0x41, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x64, 0x69, 0x73, 0x68, 0x41,
	0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x64,
	0x69, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x68, 0x69, 0x62, 0x69, 0x74, 0x5f, 0x72, 0x66, 0x18, 0xea,
	0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x49, 0x6e,
	0x68, 0x69, 0x62, 0x69, 0x74, 0x52, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x68, 0x69, 0x62, 0x69, 0x74, 0x52, 0x66,
	0x12, 0x5b, 0x0a, 0x11, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74,
	0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0xbd, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x57, 0x69, 0x66, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x77, 0x69, 0x66,
	0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x56, 0x0a,
	0x10, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x73, 0x18, 0xba, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
	0x69, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65,
	0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xbe, 0x17, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74,
	0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x77,
	0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x63, 0x0a,
	0x15, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0xbf, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x12,
	0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69,
	0x63, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xbc, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65,
	0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f,
	0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xb9, 0x17, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x77,
	0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0f,
	0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
	0xc1, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47,
	0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x12, 0x46, 0x0a, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x18,
	0xbb, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53,
	0x65, 0x74, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x09,
	0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x6f, 0x0a, 0x19, 0x77, 0x69, 0x66,
	0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
	0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0xce, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x48, 0x00, 0x52, 0x16, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69,
	0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x70, 0x0a, 0x1a, 0x77, 0x69,
	0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x18, 0xc4, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x48, 0x00, 0x52, 0x16, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73,
	0x68, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x12, 0x64, 0x0a, 0x14,
	0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x18, 0xc5, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52,
	0x11, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x12, 0x69, 0x0a, 0x17, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x63,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0xc7, 0x17,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x14, 0x77, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x50, 0x0a,
	0x0e, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18,
	0xc8, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53,
	0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x0c, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73, 0x74, 0x12,
	0x53, 0x0a, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e,
	0x66, 0x6f, 0x18, 0xcc, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69,
	0x66, 0x69, 0x47, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x47, 0x75, 0x65, 0x73, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x0c, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x72, 0x66, 0x5f,
	0x74, 0x65, 0x73, 0x74, 0x18, 0xcd, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x57, 0x69, 0x66, 0x69, 0x52, 0x66, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x52, 0x66, 0x54, 0x65, 0x73, 0x74,
	0x12, 0x59, 0x0a, 0x11, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x72,
	0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, 0xd0, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x69, 0x66, 0x69,
	0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x6f, 0x0a, 0x19, 0x77,
	0x69, 0x66, 0x69, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x73, 0x74,
	0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0xd1, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x31, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x54,
	0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x48, 0x00, 0x52, 0x16, 0x77, 0x69, 0x66, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72,
	0x79, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x5f, 0x0a, 0x13,
	0x77, 0x69, 0x66, 0x69, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x68, 0x61, 0x75, 0x6c, 0x5f, 0x73, 0x74,
	0x61, 0x74, 0x73, 0x18, 0xd2, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57,
	0x69, 0x66, 0x69, 0x42, 0x61, 0x63, 0x6b, 0x68, 0x61, 0x75, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x77, 0x69, 0x66, 0x69,
	0x42, 0x61, 0x63, 0x6b, 0x68, 0x61, 0x75, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x5f, 0x0a,
	0x13, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6e,
	0x64, 0x62, 0x6f, 0x78, 0x18, 0xd3, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f,
	0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x77, 0x69, 0x66,
	0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x49,
	0x0a, 0x0b, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0xd4, 0x17,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x77,
	0x69, 0x66, 0x69, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x15, 0x77, 0x69, 0x66,
	0x69, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6e, 0x65, 0x74, 0x73,
	0x79, 0x73, 0x18, 0xd5, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69,
	0x66, 0x69, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4e, 0x65, 0x74, 0x73, 0x79, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69, 0x66, 0x69,
	0x52, 0x75, 0x6e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4e, 0x65, 0x74, 0x73, 0x79, 0x73, 0x12, 0x5a,
	0x0a, 0x12, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x74, 0x68,
	0x5f, 0x70, 0x68, 0x79, 0x18, 0xd6, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x57, 0x69, 0x66, 0x69, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x74, 0x68, 0x50, 0x68, 0x79, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x52,
	0x65, 0x73, 0x65, 0x74, 0x45, 0x74, 0x68, 0x50, 0x68, 0x79, 0x12, 0x69, 0x0a, 0x17, 0x77, 0x69,
	0x66, 0x69, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72,
	0x65, 0x5f, 0x6e, 0x61, 0x74, 0x18, 0xd7, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x57, 0x69, 0x66, 0x69, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61,
	0x72, 0x65, 0x4e, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
	0x14, 0x77, 0x69, 0x66, 0x69, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61,
	0x72, 0x65, 0x4e, 0x61, 0x74, 0x12, 0x78, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65,
	0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x66, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b,
	0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0xa1, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x46, 0x4c, 0x6f,
	0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x48, 0x00, 0x52, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65,
	0x72, 0x49, 0x66, 0x4c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x65, 0x73, 0x74, 0x12,
	0x68, 0x0a, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x67,
	0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xa3, 0x1f, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72,
	0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x00, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72,
	0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x71, 0x0a, 0x19, 0x74, 0x72, 0x61,
	0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x6c,
	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0xa4, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x47, 0x65, 0x74,
	0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x00, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72,
	0x47, 0x65, 0x74, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, 0x5c, 0x0a, 0x0c,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x88, 0x27, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
	0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x55, 0x6e, 0x6c,
	0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x5f, 0x0a, 0x0d, 0x66, 0x69,
	0x6e, 0x69, 0x73, 0x68, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x89, 0x27, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x37, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e,
	0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x55, 0x6e, 0x6c,
	0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x66,
	0x69, 0x6e, 0x69, 0x73, 0x68, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x62, 0x0a, 0x14, 0x77,
	0x69, 0x66, 0x69, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74,
	0x69, 0x63, 0x73, 0x18, 0xf0, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57,
	0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x12, 0x77, 0x69, 0x66,
	0x69, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12,
	0x62, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x61, 0x67,
	0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0xf1, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f,
	0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
	0x12, 0x64, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74,
	0x69, 0x63, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4a,
	0x06, 0x08, 0xfa, 0x07, 0x10, 0xfb, 0x07, 0x4a, 0x06, 0x08, 0x82, 0x08, 0x10, 0x83, 0x08, 0x4a,
	0x06, 0x08, 0xde, 0x0f, 0x10, 0xdf, 0x0f, 0x4a, 0x06, 0x08, 0xdc, 0x0f, 0x10, 0xdd, 0x0f, 0x4a,
	0x06, 0x08, 0xe9, 0x0f, 0x10, 0xea, 0x0f, 0x4a, 0x06, 0x08, 0xc0, 0x17, 0x10, 0xc1, 0x17, 0x4a,
	0x06, 0x08, 0xc3, 0x17, 0x10, 0xc4, 0x17, 0x4a, 0x06, 0x08, 0xc6, 0x17, 0x10, 0xc7, 0x17, 0x4a,
	0x06, 0x08, 0x83, 0x19, 0x10, 0x84, 0x19, 0x52, 0x14, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64,
	0x69, 0x73, 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x22, 0xe3, 0x03,
	0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x19, 0x77, 0x69, 0x66, 0x69, 0x5f,
	0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x65, 0x64, 0x18, 0xb9, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x16, 0x77,
	0x69, 0x66, 0x69, 0x4e, 0x65, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e,
	0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x14, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x61, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0xba, 0x17,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x48, 0x00, 0x52, 0x12, 0x77, 0x69, 0x66, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42,
	0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x6e,
	0x65, 0x77, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x18, 0xbb, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x77, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76,
	0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x69, 0x66, 0x69, 0x4e, 0x65, 0x77, 0x50, 0x65,
	0x65, 0x72, 0x12, 0x56, 0x0a, 0x11, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xbc, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x69, 0x66, 0x69, 0x43,
	0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5e, 0x0a, 0x13, 0x77, 0x69,
	0x66, 0x69, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f,
	0x78, 0x18, 0xbd, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66,
	0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x77, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76,
	0x65, 0x6e, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x14, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x6f, 0x75,
	0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
	0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a,
	0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x6f, 0x5f,
	0x64, 0x69, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x64, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x68, 0x12, 0x29, 0x0a, 0x10,
	0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x62, 0x79,
	0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73,
	0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x22, 0xe9, 0x01, 0x0a, 0x18, 0x57, 0x69, 0x66,
	0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5e, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
	0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x41, 0x6c, 0x65, 0x72, 0x74,
	0x52, 0x06, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x6e, 0x69, 0x78,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x0f, 0x75, 0x6e, 0x69, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x4e, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x4a, 0x0a, 0x1b, 0x57, 0x69, 0x66, 0x69, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x61,
	0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x2b, 0x0a, 0x11, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x63, 0x61, 0x6c,
	0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x69, 0x0a,
	0x17, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62,
	0x6f, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x12, 0x18, 0x0a, 0x07, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x07, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x61,
	0x6e, 0x64, 0x62, 0x6f, 0x78, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73,
	0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x65, 0x64, 0x22, 0x38, 0x0a, 0x17, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x4d, 0x22, 0x1a, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x62, 0x75,
	0x67, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15,
	0x0a, 0x13, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79,
	0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, 0x0a,
	0x0e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
	0x2e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x78, 0x4e, 0x61, 0x6e, 0x6f, 0x22,
	0x34, 0x0a, 0x0b, 0x46, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25,
	0x0a, 0x0e, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52,
	0x65, 0x62, 0x6f, 0x6f, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x46, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x48, 0x69, 0x73, 0x74,
	0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x47, 0x65,
	0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xda, 0x03, 0x0a, 0x0e,
	0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40,
	0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x26, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
	0x12, 0x3c, 0x0a, 0x05, 0x73, 0x61, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x26, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x05, 0x73, 0x61, 0x76, 0x65, 0x64, 0x12, 0x1a,
	0x0a, 0x06, 0x73, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x06, 0x73, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x12, 0x23, 0x0a, 0x0b, 0x6f, 0x66,
	0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x02, 0x18, 0x01, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x12,
	0x29, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f,
	0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x70, 0x65, 0x72,
	0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x1a, 0xdb, 0x01, 0x0a, 0x04, 0x4c,
	0x6f, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x64,
	0x6d, 0x65, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x6d, 0x65, 0x73,
	0x67, 0x12, 0x21, 0x0a, 0x0c, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x61, 0x6e, 0x69,
	0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x50,
	0x61, 0x6e, 0x69, 0x63, 0x12, 0x26, 0x0a, 0x0d, 0x6d, 0x74, 0x6b, 0x5f, 0x65, 0x74, 0x68, 0x5f,
	0x70, 0x72, 0x6f, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x0b, 0x6d, 0x74, 0x6b, 0x45, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x63, 0x73, 0x12, 0x2a, 0x0a, 0x11,
	0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6e, 0x65, 0x74, 0x73, 0x79, 0x73, 0x5f, 0x30, 0x73, 0x65,
	0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4e, 0x65,
	0x74, 0x73, 0x79, 0x73, 0x30, 0x73, 0x65, 0x63, 0x12, 0x2e, 0x0a, 0x11, 0x64, 0x65, 0x62, 0x75,
	0x67, 0x5f, 0x6e, 0x65, 0x74, 0x73, 0x79, 0x73, 0x5f, 0x32, 0x73, 0x65, 0x63, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4e, 0x65,
	0x74, 0x73, 0x79, 0x73, 0x32, 0x73, 0x65, 0x63, 0x22, 0x10, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50,
	0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x0f, 0x47,
	0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49,
	0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x2f, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x59, 0x0a, 0x0c, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50,
	0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x0f, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x49, 0x0a, 0x10, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x69,
	0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x22, 0x52, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x72,
	0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x6f,
	0x75, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
	0x52, 0x6f, 0x6c, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x03, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x65,
	0x64, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0a, 0x6c, 0x61,
	0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x12, 0x21, 0x0a,
	0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
	0x12, 0x2a, 0x0a, 0x11, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x75, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13,
	0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
	0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x02, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x23, 0x0a,
	0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62,
	0x70, 0x73, 0x12, 0x40, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x28, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74,
	0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x63, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x65,
	0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x63, 0x70, 0x53, 0x74,
	0x72, 0x65, 0x61, 0x6d, 0x73, 0x22, 0x32, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12,
	0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
	0x46, 0x41, 0x53, 0x54, 0x43, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4c, 0x4f,
	0x55, 0x44, 0x46, 0x4c, 0x41, 0x52, 0x45, 0x10, 0x02, 0x22, 0xda, 0x01, 0x0a, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x46, 0x0a, 0x08,
	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a,
	0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
	0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x6a,
	0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e,
	0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02,
	0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x36,
	0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4f, 0x53, 0x10, 0x01,
	0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x07, 0x0a,
	0x03, 0x57, 0x45, 0x42, 0x10, 0x03, 0x22, 0xdd, 0x01, 0x0a, 0x10, 0x53, 0x70, 0x65, 0x65, 0x64,
	0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4c, 0x0a, 0x10, 0x63,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54,
	0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a,
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x73, 0x73, 0x69, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c,
	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c,
	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xf5, 0x05, 0x0a, 0x11, 0x53, 0x70, 0x65, 0x65, 0x64,
	0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0c,
	0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x42, 0x70, 0x73, 0x12, 0x21, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x70,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x75, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x42, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x09, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63,
	0x79, 0x5f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x6c,
	0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73,
	0x12, 0x23, 0x0a, 0x0b, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x4d, 0x62, 0x70, 0x73, 0x12, 0x21, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79,
	0x5f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x6c,
	0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x12, 0x4c, 0x0a, 0x10, 0x72, 0x6f, 0x75, 0x74,
	0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74,
	0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65,
	0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
	0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x31, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f,
	0x6e, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
	0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x31, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x32,
	0x0a, 0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x31, 0x5f,
	0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12,
	0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x31, 0x54, 0x63, 0x70, 0x43, 0x6f,
	0x6e, 0x6e, 0x12, 0x36, 0x0a, 0x18, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d,
	0x62, 0x70, 0x73, 0x5f, 0x34, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62,
	0x70, 0x73, 0x34, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x32, 0x0a, 0x16, 0x75, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x34, 0x5f, 0x74, 0x63, 0x70, 0x5f,
	0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x75, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x34, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x38,
	0x0a, 0x19, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f,
	0x31, 0x36, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28,
	0x02, 0x52, 0x15, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x31,
	0x36, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x34, 0x0a, 0x17, 0x75, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x31, 0x36, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63,
	0x6f, 0x6e, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x75, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x4d, 0x62, 0x70, 0x73, 0x31, 0x36, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x38,
	0x0a, 0x19, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f,
	0x36, 0x34, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x02, 0x52, 0x15, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x62, 0x70, 0x73, 0x36,
	0x34, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x34, 0x0a, 0x17, 0x75, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x5f, 0x36, 0x34, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63,
	0x6f, 0x6e, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x75, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x4d, 0x62, 0x70, 0x73, 0x36, 0x34, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x22, 0x36,
	0x0a, 0x15, 0x52, 0x75, 0x6e, 0x49, 0x70, 0x65, 0x72, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x22, 0x2c, 0x0a, 0x16, 0x52, 0x75, 0x6e, 0x49, 0x70, 0x65,
	0x72, 0x66, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
	0x70, 0x6f, 0x72, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xca, 0x02,
	0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47,
	0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x61, 0x0a,
	0x11, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15,
	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x75,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x73, 0x65, 0x63,
	0x6f, 0x6e, 0x64, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x1a, 0x78, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65,
	0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x22, 0x57, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x49, 0x0a, 0x15, 0x53,
	0x65, 0x74, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
	0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x54, 0x72, 0x75,
	0x73, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0xca, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6b, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x73, 0x6b, 0x75, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f,
	0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x79,
	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72,
	0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0e, 0x70, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12,
	0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f,
	0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x75, 0x73,
	0x74, 0x6f, 0x6d, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x10, 0x0a,
	0x0e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x51, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x62,
	0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x88, 0x01, 0x01, 0x42, 0x12,
	0x0a, 0x10, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x62, 0x6f,
	0x6f, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x18, 0x0a,
	0x16, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x73, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xee, 0x07, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49,
	0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x47,
	0x65, 0x74, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x53,
	0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0b,
	0x72, 0x61, 0x64, 0x69, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73,
	0x52, 0x0a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x14, 0x0a, 0x12,
	0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x22, 0x32, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x44, 0x75, 0x6d,
	0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x61,
	0x70, 0x5f, 0x64, 0x75, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65,
	0x61, 0x70, 0x44, 0x75, 0x6d, 0x70, 0x22, 0x4f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x06,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x87, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x30, 0x0a, 0x03, 0x6c, 0x6c, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x4c, 0x4c, 0x41, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6c, 0x6c,
	0x61, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x5f, 0x6d, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6d, 0x61, 0x4d, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50,
	0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e,
	0x74, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6d, 0x70, 0x73, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x01, 0x52, 0x12, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x53,
	0x70, 0x65, 0x65, 0x64, 0x4d, 0x70, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x76, 0x65, 0x72, 0x74, 0x69,
	0x63, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6d, 0x70, 0x73, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x01, 0x52, 0x10, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x70, 0x65,
	0x65, 0x64, 0x4d, 0x70, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x04, 0x65, 0x63, 0x65,
	0x66, 0x22, 0x8b, 0x08, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x63,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x12, 0x10, 0x0a,
	0x03, 0x70, 0x68, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x70, 0x68, 0x69, 0x12,
	0x17, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x06, 0x72, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x63,
	0x68, 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x78, 0x43, 0x68, 0x61,
	0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6c,
	0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x64,
	0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x54, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12,
	0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x4f, 0x76, 0x65, 0x72,
	0x72, 0x69, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x74, 0x61, 0x5f, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x68, 0x65,
	0x74, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x68, 0x69,
	0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
	0x70, 0x68, 0x69, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x64,
	0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x64, 0x6c, 0x65, 0x12, 0x25,
	0x0a, 0x0e, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67,
	0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x61, 0x73, 0x74, 0x53, 0x77, 0x69, 0x74,
	0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x79, 0x5f, 0x73, 0x65, 0x61,
	0x72, 0x63, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x6b, 0x79, 0x53, 0x65,
	0x61, 0x72, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6c,
	0x6c, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e,
	0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2c,
	0x0a, 0x12, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x66, 0x61, 0x69,
	0x6c, 0x75, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x63,
	0x65, 0x45, 0x69, 0x72, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x14,
	0x73, 0x6e, 0x6f, 0x77, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72,
	0x72, 0x69, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x6e, 0x6f, 0x77,
	0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x25,
	0x0a, 0x0e, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x67,
	0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x54, 0x69,
	0x6c, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x74, 0x6f,
	0x5f, 0x73, 0x74, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74,
	0x69, 0x6c, 0x74, 0x54, 0x6f, 0x53, 0x74, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72,
	0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x62,
	0x6f, 0x6f, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75,
	0x73, 0x5f, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x15, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x4d, 0x6f,
	0x74, 0x6f, 0x72, 0x54, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6d, 0x65, 0x74,
	0x65, 0x72, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16, 0x64, 0x69, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x65, 0x72,
	0x73, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64,
	0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x4f, 0x76, 0x65,
	0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x78, 0x5f, 0x64, 0x75, 0x74, 0x79,
	0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18,
	0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x74, 0x78, 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63,
	0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x78,
	0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72,
	0x72, 0x69, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x78, 0x44, 0x75,
	0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12,
	0x40, 0x0a, 0x1d, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x5f, 0x6c, 0x69,
	0x6d, 0x69, 0x74, 0x5f, 0x64, 0x62, 0x77, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
	0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x65, 0x69, 0x72, 0x70, 0x4c, 0x65, 0x67, 0x61,
	0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x62, 0x77, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
	0x65, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74,
	0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x62, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x65,
	0x69, 0x72, 0x70, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x62, 0x4a,
	0x04, 0x08, 0x17, 0x10, 0x18, 0x52, 0x18, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65,
	0x5f, 0x74, 0x61, 0x70, 0x65, 0x72, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22,
	0x14, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x0a, 0x1e, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74,
	0x4d, 0x61, 0x78, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x22, 0x3b, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x68, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x50,
	0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x13,
	0x0a, 0x11, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x45, 0x6d, 0x63, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x22, 0xc5, 0x12, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x45,
	0x6d, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1c,
	0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e,
	0x63, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x70, 0x73, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74,
	0x75, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x67, 0x70, 0x73, 0x4c, 0x61,
	0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x70, 0x73, 0x5f, 0x6c, 0x6f,
	0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x67,
	0x70, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67,
	0x70, 0x73, 0x5f, 0x70, 0x64, 0x6f, 0x70, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x67,
	0x70, 0x73, 0x50, 0x64, 0x6f, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x66, 0x5f, 0x6d, 0x6f, 0x64,
	0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x66, 0x4d, 0x6f, 0x64, 0x65, 0x12,
	0x10, 0x0a, 0x03, 0x70, 0x68, 0x69, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x70, 0x68,
	0x69, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x05, 0x74, 0x68, 0x65, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x78, 0x5f, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x78, 0x43,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x78, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x09, 0x74, 0x5f, 0x64, 0x62, 0x66, 0x5f, 0x6d,
	0x61, 0x78, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x74, 0x44, 0x62, 0x66, 0x4d, 0x61,
	0x78, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x19, 0x20,
	0x01, 0x28, 0x01, 0x52, 0x07, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x1c,
	0x61, 0x75, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x6e, 0x6f, 0x77, 0x5f,
	0x6d, 0x65, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x1e, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x6e, 0x6f,
	0x77, 0x4d, 0x65, 0x6c, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07,
	0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x76,
	0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x78, 0x5f, 0x62, 0x65, 0x61,
	0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72,
	0x78, 0x42, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x78,
	0x5f, 0x62, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x0b, 0x74, 0x78, 0x42, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a,
	0x0a, 0x11, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x73, 0x74,
	0x61, 0x74, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x68, 0x61, 0x6c, 0x66, 0x44,
	0x75, 0x70, 0x6c, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x61,
	0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x54,
	0x69, 0x6c, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69,
	0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09,
	0x74, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x6c, 0x6c,
	0x5f, 0x74, 0x78, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65,
	0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x6c, 0x6c, 0x54, 0x78, 0x4c, 0x6f,
	0x63, 0x6b, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x69,
	0x72, 0x70, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x65,
	0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x69, 0x72,
	0x70, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
	0x6c, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72,
	0x69, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x29, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x13, 0x69, 0x64, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x68, 0x65, 0x74, 0x61, 0x5f,
	0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x74, 0x68, 0x65, 0x74, 0x61, 0x4f, 0x76, 0x65,
	0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14,
	0x74, 0x68, 0x65, 0x74, 0x61, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x74, 0x68, 0x65, 0x74,
	0x61, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x30,
	0x0a, 0x14, 0x70, 0x68, 0x69, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x68,
	0x69, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x12, 0x2c, 0x0a, 0x12, 0x70, 0x68, 0x69, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x70, 0x68,
	0x69, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33,
	0x0a, 0x16, 0x72, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69,
	0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13,
	0x72, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x6f,
	0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x2f, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x78, 0x43, 0x68, 0x61, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72,
	0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x73, 0x6b, 0x79, 0x5f,
	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f,
	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x30, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x73,
	0x6b, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x61, 0x73, 0x74, 0x5f,
	0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x18, 0x31, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x66, 0x61, 0x73, 0x74, 0x53, 0x77, 0x69,
	0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3a, 0x0a,
	0x19, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72,
	0x72, 0x69, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x17, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72,
	0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x6f, 0x72,
	0x63, 0x65, 0x5f, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18,
	0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x45, 0x69, 0x72, 0x70,
	0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65,
	0x5f, 0x70, 0x6c, 0x6c, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x34, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x50, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
	0x6b, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x75, 0x74, 0x49, 0x6e, 0x65,
	0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x66, 0x5f, 0x72, 0x65,
	0x61, 0x64, 0x79, 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x66, 0x52, 0x65, 0x61,
	0x64, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74,
	0x6f, 0x77, 0x65, 0x64, 0x18, 0x37, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x74, 0x69, 0x6c, 0x74,
	0x54, 0x6f, 0x53, 0x74, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x62, 0x6f,
	0x6f, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74,
	0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x6d,
	0x6f, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x39, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x13, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x4d, 0x6f, 0x74, 0x6f, 0x72,
	0x54, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
	0x18, 0x3a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x32,
	0x0a, 0x15, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6f,
	0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69,
	0x64, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x69,
	0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x3f, 0x20, 0x01, 0x28,
	0x01, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x69,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f,
	0x72, 0x18, 0x40, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x33,
	0x0a, 0x16, 0x74, 0x78, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f,
	0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x41, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13,
	0x74, 0x78, 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72,
	0x69, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x78, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63,
	0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x42, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x78, 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65,
	0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x43, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x74, 0x78,
	0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x1c, 0x0a, 0x0a, 0x72, 0x78, 0x5f, 0x74, 0x69, 0x6d,
	0x65, 0x5f, 0x6d, 0x73, 0x18, 0x44, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x78, 0x54, 0x69,
	0x6d, 0x65, 0x4d, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x6c, 0x65, 0x67,
	0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x62, 0x77, 0x18, 0x45, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x11, 0x65, 0x69, 0x72, 0x70, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4c, 0x69, 0x6d,
	0x69, 0x74, 0x44, 0x62, 0x77, 0x12, 0x40, 0x0a, 0x1d, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x6c, 0x65,
	0x67, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x62, 0x77, 0x5f, 0x6f, 0x76,
	0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x65, 0x69,
	0x72, 0x70, 0x4c, 0x65, 0x67, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x62, 0x77, 0x4f,
	0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x69, 0x72, 0x70, 0x5f,
	0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x62, 0x18, 0x47, 0x20,
	0x01, 0x28, 0x01, 0x52, 0x10, 0x65, 0x69, 0x72, 0x70, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d,
	0x65, 0x6e, 0x74, 0x44, 0x62, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x69, 0x72, 0x70, 0x5f, 0x70, 0x72,
	0x65, 0x64, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x62, 0x77, 0x18, 0x48, 0x20, 0x01, 0x28,
	0x01, 0x52, 0x10, 0x65, 0x69, 0x72, 0x70, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x65, 0x64,
	0x44, 0x62, 0x77, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1e, 0x4a, 0x04, 0x08, 0x28, 0x10, 0x29, 0x4a,
	0x04, 0x08, 0x3b, 0x10, 0x3c, 0x4a, 0x04, 0x08, 0x3c, 0x10, 0x3d, 0x4a, 0x04, 0x08, 0x3d, 0x10,
	0x3e, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x74,
	0x69, 0x6e, 0x67, 0x52, 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68,
	0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x65, 0x69,
	0x72, 0x70, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
	0x65, 0x52, 0x18, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x70,
	0x65, 0x72, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x17, 0x61, 0x6d, 0x70,
	0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x52, 0x15, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f,
	0x74, 0x61, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x47,
	0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72,
	0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74,
	0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x02, 0x0a, 0x0f,
	0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x02, 0x75, 0x70, 0x18,
	0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64,
	0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x75, 0x70, 0x12, 0x41, 0x0a, 0x04, 0x64, 0x6f, 0x77, 0x6e,
	0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58,
	0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65,
	0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x44, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x6f, 0x77, 0x6e, 0x1a, 0x6b, 0x0a, 0x09, 0x44,
	0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f,
	0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x6d, 0x62, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x02, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x73, 0x4d,
	0x62, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x03, 0x65, 0x72, 0x72, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53,
	0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x58, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65,
	0x64, 0x74, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73,
	0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22,
	0xf1, 0x02, 0x0a, 0x1c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x4c, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64,
	0x74, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61,
	0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53,
	0x70, 0x65, 0x65, 0x64, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x63,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12, 0x48,
	0x0a, 0x0e, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e,
	0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64,
	0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x77, 0x69, 0x66, 0x69, 0x53,
	0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x5f, 0x72, 0x73, 0x73, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x73, 0x73, 0x69, 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x21, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x75,
	0x69, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x70, 0x70, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x22, 0x1f, 0x0a, 0x1d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x50, 0x65, 0x72, 0x56, 0x65,
	0x68, 0x69, 0x63, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x77, 0x65,
	0x72, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x18,
	0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15,
	0x70, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x69,
	0x6e, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73,
	0x61, 0x76, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x69, 0x6e,
	0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x70, 0x6f, 0x77, 0x65,
	0x72, 0x53, 0x61, 0x76, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e,
	0x75, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70,
	0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x65,
	0x22, 0x12, 0x0a, 0x10, 0x49, 0x51, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e,
	0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x92, 0x03,
	0x0a, 0x1a, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73,
	0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10,
	0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6f, 0x66, 0x74, 0x77,
	0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50,
	0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x47, 0x65, 0x74,
	0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x73, 0x1a, 0xba, 0x01, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x76,
	0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x12, 0x0a,
	0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x76,
	0x36, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x65, 0x74, 0x68,
	0x65, 0x72, 0x6e, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x73, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c,
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x32, 0x67, 0x68, 0x7a, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x67, 0x68, 0x7a, 0x12,
	0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x35, 0x67, 0x68, 0x7a, 0x18,
	0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x35, 0x67,
	0x68, 0x7a, 0x22, 0x9d, 0x15, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x44, 0x69,
	0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x29, 0x0a, 0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x61, 0x72,
	0x64, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10,
	0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x74, 0x63, 0x5f, 0x6f,
	0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75,
	0x74, 0x63, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x12, 0x66, 0x0a, 0x12, 0x68, 0x61, 0x72,
	0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65,
	0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
	0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x54, 0x65, 0x73,
	0x74, 0x12, 0x75, 0x0a, 0x18, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x65,
	0x6c, 0x66, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0b, 0x20,
	0x03, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49,
	0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x44,
	0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64,
	0x65, 0x52, 0x15, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x54,
	0x65, 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x06, 0x61, 0x6c, 0x65, 0x72,
	0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65,
	0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73,
	0x68, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x52, 0x06,
	0x61, 0x6c, 0x65, 0x72, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x3d, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67,
	0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
	0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52,
	0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x52, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x36, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e,
	0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x44, 0x69,
	0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x0f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
	0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x44, 0x69, 0x73, 0x68, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73,
	0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6c, 0x69,
	0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0e, 0x61, 0x6c, 0x69,
	0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73,
	0x74, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x6f,
	0x77, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72,
	0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x12, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69,
	0x6d, 0x69, 0x74, 0x65, 0x64, 0x1a, 0xe1, 0x03, 0x0a, 0x06, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x73,
	0x12, 0x26, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x74,
	0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x68, 0x49,
	0x73, 0x48, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x68,
	0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x68, 0x54, 0x68, 0x65,
	0x72, 0x6d, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x15,
	0x64, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x75,
	0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73,
	0x68, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e,
	0x12, 0x41, 0x0a, 0x1d, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79,
	0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x75,
	0x70, 0x70, 0x6c, 0x79, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x68, 0x72, 0x6f, 0x74,
	0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x73, 0x74,
	0x75, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6d, 0x6f, 0x74, 0x6f, 0x72,
	0x73, 0x53, 0x74, 0x75, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x73, 0x74, 0x5f, 0x6e,
	0x6f, 0x74, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6d, 0x61, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x4e,
	0x65, 0x61, 0x72, 0x56, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x14, 0x73,
	0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x73, 0x70, 0x65,
	0x65, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x6c, 0x6f, 0x77, 0x45,
	0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x70, 0x65, 0x65, 0x64, 0x73, 0x12, 0x38, 0x0a,
	0x18, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c,
	0x6c, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x16, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
	0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x62, 0x73, 0x74, 0x72,
	0x75, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x62, 0x73,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x65, 0x64, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x1a, 0x6d,
	0x6f, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x66,
	0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x8e, 0x02, 0x0a, 0x08, 0x4c, 0x6f,
	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09,
	0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c,
	0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x01, 0x52, 0x0e, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x4d, 0x65, 0x74,
	0x65, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x2d, 0x0a,
	0x12, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x5f, 0x6d, 0x65, 0x74,
	0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x75, 0x6e, 0x63, 0x65, 0x72,
	0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x0a,
	0x67, 0x70, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x08, 0x67, 0x70, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x1a, 0x86, 0x02, 0x0a, 0x0e, 0x41,
	0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x32, 0x0a,
	0x15, 0x62, 0x6f, 0x72, 0x65, 0x73, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x61, 0x7a, 0x69, 0x6d, 0x75,
	0x74, 0x68, 0x5f, 0x64, 0x65, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x62, 0x6f,
	0x72, 0x65, 0x73, 0x69, 0x67, 0x68, 0x74, 0x41, 0x7a, 0x69, 0x6d, 0x75, 0x74, 0x68, 0x44, 0x65,
	0x67, 0x12, 0x36, 0x0a, 0x17, 0x62, 0x6f, 0x72, 0x65, 0x73, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x65,
	0x6c, 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x67, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x02, 0x52, 0x15, 0x62, 0x6f, 0x72, 0x65, 0x73, 0x69, 0x67, 0x68, 0x74, 0x45, 0x6c, 0x65,
	0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x67, 0x12, 0x41, 0x0a, 0x1d, 0x64, 0x65, 0x73,
	0x69, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x72, 0x65, 0x73, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x61,
	0x7a, 0x69, 0x6d, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x65, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02,
	0x52, 0x1a, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x42, 0x6f, 0x72, 0x65, 0x73, 0x69, 0x67,
	0x68, 0x74, 0x41, 0x7a, 0x69, 0x6d, 0x75, 0x74, 0x68, 0x44, 0x65, 0x67, 0x12, 0x45, 0x0a, 0x1f,
	0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x72, 0x65, 0x73, 0x69, 0x67, 0x68,
	0x74, 0x5f, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x67, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1c, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x42, 0x6f,
	0x72, 0x65, 0x73, 0x69, 0x67, 0x68, 0x74, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x44, 0x65, 0x67, 0x22, 0x33, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x00,
	0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x53, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06,
	0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0xbd, 0x02, 0x0a, 0x0e, 0x54, 0x65, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x47,
	0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x54,
	0x5f, 0x55, 0x50, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x50, 0x55, 0x5f, 0x56, 0x4f, 0x4c,
	0x54, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x42, 0x46, 0x5f, 0x41, 0x41,
	0x50, 0x5f, 0x43, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x42, 0x46, 0x5f, 0x4e, 0x55,
	0x4d, 0x5f, 0x46, 0x45, 0x4d, 0x53, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x42, 0x46, 0x5f,
	0x52, 0x45, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x53, 0x10, 0x05, 0x12, 0x0f, 0x0a,
	0x0b, 0x44, 0x42, 0x46, 0x5f, 0x54, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x30, 0x10, 0x06, 0x12, 0x0f,
	0x0a, 0x0b, 0x44, 0x42, 0x46, 0x5f, 0x54, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x31, 0x10, 0x07, 0x12,
	0x15, 0x0a, 0x11, 0x44, 0x42, 0x46, 0x5f, 0x54, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x30, 0x5f, 0x56,
	0x41, 0x4c, 0x49, 0x44, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x42, 0x46, 0x5f, 0x54, 0x5f,
	0x44, 0x49, 0x45, 0x5f, 0x31, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x09, 0x12, 0x0d, 0x0a,
	0x09, 0x45, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x45, 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04,
	0x45, 0x49, 0x52, 0x50, 0x10, 0x0b, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x45, 0x4d, 0x5f, 0x43, 0x55,
	0x54, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x55, 0x53, 0x45, 0x5f, 0x41, 0x56, 0x53, 0x10,
	0x0d, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x50, 0x53, 0x10, 0x0e, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4d,
	0x55, 0x10, 0x0f, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x48, 0x59, 0x10, 0x10, 0x12, 0x0d, 0x0a, 0x09,
	0x53, 0x43, 0x50, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x11, 0x12, 0x0f, 0x0a, 0x0b, 0x54,
	0x45, 0x4d, 0x50, 0x45, 0x52, 0x41, 0x54, 0x55, 0x52, 0x45, 0x10, 0x12, 0x12, 0x0a, 0x0a, 0x06,
	0x56, 0x54, 0x53, 0x45, 0x4e, 0x53, 0x10, 0x13, 0x22, 0x9b, 0x03, 0x0a, 0x0f, 0x44, 0x69, 0x73,
	0x61, 0x62, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07,
	0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x4b, 0x41,
	0x59, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45,
	0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x4f,
	0x4f, 0x5f, 0x46, 0x41, 0x52, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49,
	0x43, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08,
	0x49, 0x4e, 0x5f, 0x4f, 0x43, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x4c,
	0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x06, 0x12,
	0x1f, 0x0a, 0x1b, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x47, 0x45, 0x5f,
	0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x07,
	0x12, 0x14, 0x0a, 0x10, 0x43, 0x45, 0x4c, 0x4c, 0x5f, 0x49, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x41,
	0x42, 0x4c, 0x45, 0x44, 0x10, 0x08, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x41, 0x4d, 0x5f, 0x52,
	0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x55,
	0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10,
	0x0b, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x44, 0x49, 0x53,
	0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x53, 0x55, 0x50,
	0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x0d,
	0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x4f, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x46,
	0x41, 0x53, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x0e,
	0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x41, 0x56, 0x49, 0x41, 0x54, 0x49,
	0x4f, 0x4e, 0x5f, 0x46, 0x4c, 0x59, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54,
	0x53, 0x10, 0x0f, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x41,
	0x52, 0x45, 0x41, 0x10, 0x10, 0x22, 0x04, 0x08, 0x05, 0x10, 0x05, 0x22, 0x04, 0x08, 0x09, 0x10,
	0x09, 0x2a, 0x0f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54,
	0x52, 0x59, 0x2a, 0x12, 0x55, 0x4e, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x44, 0x5f, 0x43,
	0x4f, 0x55, 0x4e, 0x54, 0x52, 0x59, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0d,
	0x10, 0x0e, 0x52, 0x1e, 0x64, 0x6c, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
	0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x52, 0x1e, 0x75, 0x6c, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68,
	0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x1a, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xb3, 0x04, 0x0a,
	0x1a, 0x55, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
	0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x62, 0x65,
	0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
	0x55, 0x64, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54,
	0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x44, 0x50, 0x50, 0x72,
	0x6f, 0x62, 0x65, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x62, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x89, 0x03, 0x0a, 0x10, 0x55, 0x44, 0x50, 0x50, 0x72,
	0x6f, 0x62, 0x65, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x45,
	0x4d, 0x50, 0x54, 0x59, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x4e, 0x53, 0x5f, 0x53, 0x54,
	0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x15,
	0x0a, 0x11, 0x44, 0x54, 0x4c, 0x53, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x48, 0x45,
	0x4c, 0x4c, 0x4f, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4e, 0x53, 0x5f, 0x56, 0x45, 0x52,
	0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x03, 0x12,
	0x0d, 0x0a, 0x09, 0x52, 0x50, 0x43, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x0a,
	0x0a, 0x06, 0x44, 0x4e, 0x53, 0x5f, 0x53, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4e,
	0x4d, 0x50, 0x5f, 0x56, 0x31, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x06, 0x12, 0x17,
	0x0a, 0x13, 0x53, 0x4e, 0x4d, 0x50, 0x5f, 0x56, 0x33, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45,
	0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x54, 0x50, 0x5f, 0x4d,
	0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x58, 0x44, 0x4d, 0x43,
	0x50, 0x10, 0x09, 0x12, 0x0c, 0x0a, 0x08, 0x4b, 0x45, 0x52, 0x42, 0x45, 0x52, 0x4f, 0x53, 0x10,
	0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x49, 0x50, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53,
	0x10, 0x0b, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x44, 0x41, 0x50, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43,
	0x48, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x0c, 0x12, 0x13, 0x0a, 0x0f, 0x4d, 0x45, 0x4d, 0x43, 0x41,
	0x43, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x0d, 0x12, 0x0b, 0x0a, 0x07,
	0x4f, 0x50, 0x45, 0x4e, 0x56, 0x50, 0x4e, 0x10, 0x0e, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x49, 0x46,
	0x53, 0x5f, 0x4e, 0x53, 0x5f, 0x55, 0x43, 0x10, 0x0f, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x46, 0x54,
	0x50, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x10, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x48, 0x43, 0x50, 0x5f,
	0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x11, 0x12, 0x08, 0x0a, 0x04, 0x51, 0x55, 0x49, 0x43,
	0x10, 0x12, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x49, 0x50, 0x56, 0x31, 0x10, 0x13, 0x12, 0x11, 0x0a,
	0x0d, 0x4e, 0x46, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x14,
	0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x41, 0x50, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54,
	0x10, 0x15, 0x22, 0x20, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69,
	0x6e, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x22, 0x44, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x72, 0x6f, 0x75,
	0x74, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b,
	0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73,
	0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x2a, 0x8b, 0x01, 0x0a, 0x16, 0x57,
	0x69, 0x66, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78,
	0x41, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58,
	0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
	0x12, 0x18, 0x0a, 0x14, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x41, 0x4c, 0x45, 0x52,
	0x54, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x41,
	0x4e, 0x44, 0x42, 0x4f, 0x58, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55,
	0x4e, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x41, 0x4e, 0x44,
	0x42, 0x4f, 0x58, 0x5f, 0x41, 0x4c, 0x45, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x4c, 0x49,
	0x4e, 0x4b, 0x5f, 0x41, 0x50, 0x49, 0x10, 0x03, 0x2a, 0xa5, 0x01, 0x0a, 0x0e, 0x50, 0x6f, 0x73,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x41,
	0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12,
	0x0b, 0x0a, 0x07, 0x55, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08,
	0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x50,
	0x53, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x52, 0x4c, 0x49, 0x4e, 0x4b, 0x10,
	0x05, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x4e, 0x43, 0x5f, 0x46, 0x55, 0x53, 0x45, 0x44, 0x10, 0x06,
	0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x4e, 0x43, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x53, 0x41, 0x54, 0x10,
	0x07, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x4e, 0x43, 0x5f, 0x4e, 0x4f, 0x5f, 0x41, 0x43, 0x43, 0x45,
	0x4c, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x4e, 0x43, 0x5f, 0x50, 0x4e, 0x54, 0x10, 0x09,
	0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x4e, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x0a,
	0x2a, 0xb7, 0x01, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x74, 0x65, 0x73, 0x74, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x50, 0x45, 0x45, 0x44, 0x54, 0x45, 0x53, 0x54,
	0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a,
	0x17, 0x53, 0x50, 0x45, 0x45, 0x44, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
	0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x50,
	0x45, 0x45, 0x44, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x4f,
	0x4b, 0x45, 0x4e, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x50, 0x45, 0x45, 0x44, 0x54, 0x45,
	0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x41, 0x50, 0x49, 0x10, 0x03, 0x12, 0x1d,
	0x0a, 0x19, 0x53, 0x50, 0x45, 0x45, 0x44, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f,
	0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x04, 0x12, 0x1b, 0x0a,
	0x17, 0x53, 0x50, 0x45, 0x45, 0x44, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
	0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x05, 0x32, 0x95, 0x01, 0x0a, 0x06, 0x44,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12,
	0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x2e, 0x54, 0x6f, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x1d, 0x2e, 0x53,
	0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12,
	0x41, 0x0a, 0x06, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1a, 0x2e, 0x53, 0x70, 0x61, 0x63,
	0x65, 0x58, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x53, 0x70, 0x61, 0x63, 0x65, 0x58, 0x2e, 0x41,
	0x50, 0x49, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x42, 0x17, 0x5a, 0x15, 0x73, 0x70, 0x61, 0x63, 0x65, 0x78, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x33,
}

var (
	file_spacex_api_device_device_proto_rawDescOnce sync.Once
	file_spacex_api_device_device_proto_rawDescData = file_spacex_api_device_device_proto_rawDesc
)

func file_spacex_api_device_device_proto_rawDescGZIP() []byte {
	file_spacex_api_device_device_proto_rawDescOnce.Do(func() {
		file_spacex_api_device_device_proto_rawDescData = protoimpl.X.CompressGZIP(file_spacex_api_device_device_proto_rawDescData)
	})
	return file_spacex_api_device_device_proto_rawDescData
}

var file_spacex_api_device_device_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
var file_spacex_api_device_device_proto_msgTypes = make([]protoimpl.MessageInfo, 89)
var file_spacex_api_device_device_proto_goTypes = []any{
	(WifiClientSandboxAlert)(0),                      // 0: SpaceX.API.Device.WifiClientSandboxAlert
	(PositionSource)(0),                              // 1: SpaceX.API.Device.PositionSource
	(SpeedtestError)(0),                              // 2: SpaceX.API.Device.SpeedtestError
	(SpeedTestStats_Target)(0),                       // 3: SpaceX.API.Device.SpeedTestStats.Target
	(ClientPlatform_Platform)(0),                     // 4: SpaceX.API.Device.ClientPlatform.Platform
	(DishGetDiagnosticsResponse_TestResult)(0),       // 5: SpaceX.API.Device.DishGetDiagnosticsResponse.TestResult
	(DishGetDiagnosticsResponse_TestResultCode)(0),   // 6: SpaceX.API.Device.DishGetDiagnosticsResponse.TestResultCode
	(DishGetDiagnosticsResponse_DisablementCode)(0),  // 7: SpaceX.API.Device.DishGetDiagnosticsResponse.DisablementCode
	(UdpConnectivityTestRequest_UDPProbeDataType)(0), // 8: SpaceX.API.Device.UdpConnectivityTestRequest.UDPProbeDataType
	(*ToDevice)(nil),                                 // 9: SpaceX.API.Device.ToDevice
	(*FromDevice)(nil),                               // 10: SpaceX.API.Device.FromDevice
	(*SensitiveCommand)(nil),                         // 11: SpaceX.API.Device.SensitiveCommand
	(*HealthCheck)(nil),                              // 12: SpaceX.API.Device.HealthCheck
	(*Request)(nil),                                  // 13: SpaceX.API.Device.Request
	(*Response)(nil),                                 // 14: SpaceX.API.Device.Response
	(*Event)(nil),                                    // 15: SpaceX.API.Device.Event
	(*WifiCloudStatusEvent)(nil),                     // 16: SpaceX.API.Device.WifiCloudStatusEvent
	(*WifiClientSandboxRequest)(nil),                 // 17: SpaceX.API.Device.WifiClientSandboxRequest
	(*WifiClientSandboxResponse)(nil),                // 18: SpaceX.API.Device.WifiClientSandboxResponse
	(*WifiWriteCalibrationRequest)(nil),              // 19: SpaceX.API.Device.WifiWriteCalibrationRequest
	(*WifiClientSandboxStatus)(nil),                  // 20: SpaceX.API.Device.WifiClientSandboxStatus
	(*EnableDebugTelemRequest)(nil),                  // 21: SpaceX.API.Device.EnableDebugTelemRequest
	(*EnableDebugTelemResponse)(nil),                 // 22: SpaceX.API.Device.EnableDebugTelemResponse
	(*FactoryResetRequest)(nil),                      // 23: SpaceX.API.Device.FactoryResetRequest
	(*FactoryResetResponse)(nil),                     // 24: SpaceX.API.Device.FactoryResetResponse
	(*GetTimeRequest)(nil),                           // 25: SpaceX.API.Device.GetTimeRequest
	(*GetTimeResponse)(nil),                          // 26: SpaceX.API.Device.GetTimeResponse
	(*FuseRequest)(nil),                              // 27: SpaceX.API.Device.FuseRequest
	(*FuseResponse)(nil),                             // 28: SpaceX.API.Device.FuseResponse
	(*GetHistoryRequest)(nil),                        // 29: SpaceX.API.Device.GetHistoryRequest
	(*GetLogRequest)(nil),                            // 30: SpaceX.API.Device.GetLogRequest
	(*GetLogResponse)(nil),                           // 31: SpaceX.API.Device.GetLogResponse
	(*GetPingRequest)(nil),                           // 32: SpaceX.API.Device.GetPingRequest
	(*GetPingResponse)(nil),                          // 33: SpaceX.API.Device.GetPingResponse
	(*PingHostRequest)(nil),                          // 34: SpaceX.API.Device.PingHostRequest
	(*PingHostResponse)(nil),                         // 35: SpaceX.API.Device.PingHostResponse
	(*GetStatusRequest)(nil),                         // 36: SpaceX.API.Device.GetStatusRequest
	(*RebootRequest)(nil),                            // 37: SpaceX.API.Device.RebootRequest
	(*RebootResponse)(nil),                           // 38: SpaceX.API.Device.RebootResponse
	(*SpeedTestStats)(nil),                           // 39: SpaceX.API.Device.SpeedTestStats
	(*ClientPlatform)(nil),                           // 40: SpaceX.API.Device.ClientPlatform
	(*SpeedTestRequest)(nil),                         // 41: SpaceX.API.Device.SpeedTestRequest
	(*SpeedTestResponse)(nil),                        // 42: SpaceX.API.Device.SpeedTestResponse
	(*RunIperfServerRequest)(nil),                    // 43: SpaceX.API.Device.RunIperfServerRequest
	(*RunIperfServerResponse)(nil),                   // 44: SpaceX.API.Device.RunIperfServerResponse
	(*GetConnectionsRequest)(nil),                    // 45: SpaceX.API.Device.GetConnectionsRequest
	(*GetConnectionsResponse)(nil),                   // 46: SpaceX.API.Device.GetConnectionsResponse
	(*GetDeviceInfoRequest)(nil),                     // 47: SpaceX.API.Device.GetDeviceInfoRequest
	(*GetDeviceInfoResponse)(nil),                    // 48: SpaceX.API.Device.GetDeviceInfoResponse
	(*SetTrustedKeysRequest)(nil),                    // 49: SpaceX.API.Device.SetTrustedKeysRequest
	(*SetTrustedKeysResponse)(nil),                   // 50: SpaceX.API.Device.SetTrustedKeysResponse
	(*SetSkuRequest)(nil),                            // 51: SpaceX.API.Device.SetSkuRequest
	(*SetSkuResponse)(nil),                           // 52: SpaceX.API.Device.SetSkuResponse
	(*UpdateRequest)(nil),                            // 53: SpaceX.API.Device.UpdateRequest
	(*UpdateResponse)(nil),                           // 54: SpaceX.API.Device.UpdateResponse
	(*RestartControlRequest)(nil),                    // 55: SpaceX.API.Device.RestartControlRequest
	(*RestartControlResponse)(nil),                   // 56: SpaceX.API.Device.RestartControlResponse
	(*GetNetworkInterfacesRequest)(nil),              // 57: SpaceX.API.Device.GetNetworkInterfacesRequest
	(*GetNetworkInterfacesResponse)(nil),             // 58: SpaceX.API.Device.GetNetworkInterfacesResponse
	(*GetRadioStatsRequest)(nil),                     // 59: SpaceX.API.Device.GetRadioStatsRequest
	(*GetRadioStatsResponse)(nil),                    // 60: SpaceX.API.Device.GetRadioStatsResponse
	(*GetHeapDumpRequest)(nil),                       // 61: SpaceX.API.Device.GetHeapDumpRequest
	(*GetHeapDumpResponse)(nil),                      // 62: SpaceX.API.Device.GetHeapDumpResponse
	(*GetLocationRequest)(nil),                       // 63: SpaceX.API.Device.GetLocationRequest
	(*GetLocationResponse)(nil),                      // 64: SpaceX.API.Device.GetLocationResponse
	(*DishSetEmcRequest)(nil),                        // 65: SpaceX.API.Device.DishSetEmcRequest
	(*DishSetEmcResponse)(nil),                       // 66: SpaceX.API.Device.DishSetEmcResponse
	(*DishSetMaxPowerTestModeRequest)(nil),           // 67: SpaceX.API.Device.DishSetMaxPowerTestModeRequest
	(*DishSetMaxPowerTestModeResponse)(nil),          // 68: SpaceX.API.Device.DishSetMaxPowerTestModeResponse
	(*DishGetEmcRequest)(nil),                        // 69: SpaceX.API.Device.DishGetEmcRequest
	(*DishGetEmcResponse)(nil),                       // 70: SpaceX.API.Device.DishGetEmcResponse
	(*GetPersistentStatsRequest)(nil),                // 71: SpaceX.API.Device.GetPersistentStatsRequest
	(*StartSpeedtestRequest)(nil),                    // 72: SpaceX.API.Device.StartSpeedtestRequest
	(*StartSpeedtestResponse)(nil),                   // 73: SpaceX.API.Device.StartSpeedtestResponse
	(*SpeedtestStatus)(nil),                          // 74: SpaceX.API.Device.SpeedtestStatus
	(*GetSpeedtestStatusRequest)(nil),                // 75: SpaceX.API.Device.GetSpeedtestStatusRequest
	(*GetSpeedtestStatusResponse)(nil),               // 76: SpaceX.API.Device.GetSpeedtestStatusResponse
	(*ReportClientSpeedtestRequest)(nil),             // 77: SpaceX.API.Device.ReportClientSpeedtestRequest
	(*ReportClientSpeedtestResponse)(nil),            // 78: SpaceX.API.Device.ReportClientSpeedtestResponse
	(*SetPerVehicleConfigResponse)(nil),              // 79: SpaceX.API.Device.SetPerVehicleConfigResponse
	(*DishPowerSaveRequest)(nil),                     // 80: SpaceX.API.Device.DishPowerSaveRequest
	(*IQCaptureRequest)(nil),                         // 81: SpaceX.API.Device.IQCaptureRequest
	(*GetDiagnosticsRequest)(nil),                    // 82: SpaceX.API.Device.GetDiagnosticsRequest
	(*WifiGetDiagnosticsResponse)(nil),               // 83: SpaceX.API.Device.WifiGetDiagnosticsResponse
	(*DishGetDiagnosticsResponse)(nil),               // 84: SpaceX.API.Device.DishGetDiagnosticsResponse
	(*TcpConnectivityTestRequest)(nil),               // 85: SpaceX.API.Device.TcpConnectivityTestRequest
	(*UdpConnectivityTestRequest)(nil),               // 86: SpaceX.API.Device.UdpConnectivityTestRequest
	(*GetGoroutineStackTracesRequest)(nil),           // 87: SpaceX.API.Device.GetGoroutineStackTracesRequest
	(*GetGoroutineStackTracesResponse)(nil),          // 88: SpaceX.API.Device.GetGoroutineStackTracesResponse
	(*GetLogResponse_Logs)(nil),                      // 89: SpaceX.API.Device.GetLogResponse.Logs
	nil,                                              // 90: SpaceX.API.Device.GetPingResponse.ResultsEntry
	(*GetConnectionsResponse_ServiceConnection)(nil), // 91: SpaceX.API.Device.GetConnectionsResponse.ServiceConnection
	nil,                               // 92: SpaceX.API.Device.GetConnectionsResponse.ServicesEntry
	(*SpeedtestStatus_Direction)(nil), // 93: SpaceX.API.Device.SpeedtestStatus.Direction
	(*WifiGetDiagnosticsResponse_Network)(nil),        // 94: SpaceX.API.Device.WifiGetDiagnosticsResponse.Network
	(*DishGetDiagnosticsResponse_Alerts)(nil),         // 95: SpaceX.API.Device.DishGetDiagnosticsResponse.Alerts
	(*DishGetDiagnosticsResponse_Location)(nil),       // 96: SpaceX.API.Device.DishGetDiagnosticsResponse.Location
	(*DishGetDiagnosticsResponse_AlignmentStats)(nil), // 97: SpaceX.API.Device.DishGetDiagnosticsResponse.AlignmentStats
	(*timestamppb.Timestamp)(nil),                     // 98: google.protobuf.Timestamp
	(*SignedData)(nil),                                // 99: SpaceX.API.Device.SignedData
	(*GetNextIdRequest)(nil),                          // 100: SpaceX.API.Device.GetNextIdRequest
	(*AuthenticateRequest)(nil),                       // 101: SpaceX.API.Device.AuthenticateRequest
	(*InitiateRemoteSshRequest)(nil),                  // 102: SpaceX.API.Device.InitiateRemoteSshRequest
	(*SelfTestRequest)(nil),                           // 103: SpaceX.API.Device.SelfTestRequest
	(*SetTestModeRequest)(nil),                        // 104: SpaceX.API.Device.SetTestModeRequest
	(*SoftwareUpdateRequest)(nil),                     // 105: SpaceX.API.Device.SoftwareUpdateRequest
	(*DishStowRequest)(nil),                           // 106: SpaceX.API.Device.DishStowRequest
	(*DishGetContextRequest)(nil),                     // 107: SpaceX.API.Device.DishGetContextRequest
	(*DishGetObstructionMapRequest)(nil),              // 108: SpaceX.API.Device.DishGetObstructionMapRequest
	(*DishSetConfigRequest)(nil),                      // 109: SpaceX.API.Device.DishSetConfigRequest
	(*DishGetConfigRequest)(nil),                      // 110: SpaceX.API.Device.DishGetConfigRequest
	(*DishInhibitGpsRequest)(nil),                     // 111: SpaceX.API.Device.DishInhibitGpsRequest
	(*DishGetDataRequest)(nil),                        // 112: SpaceX.API.Device.DishGetDataRequest
	(*DishClearObstructionMapRequest)(nil),            // 113: SpaceX.API.Device.DishClearObstructionMapRequest
	(*DishActivateRssiScanRequest)(nil),               // 114: SpaceX.API.Device.DishActivateRssiScanRequest
	(*DishGetRssiScanResultRequest)(nil),              // 115: SpaceX.API.Device.DishGetRssiScanResultRequest
	(*DishFactoryResetRequest)(nil),                   // 116: SpaceX.API.Device.DishFactoryResetRequest
	(*ResetButtonRequest)(nil),                        // 117: SpaceX.API.Device.ResetButtonRequest
	(*DishAviationTestRequest)(nil),                   // 118: SpaceX.API.Device.DishAviationTestRequest
	(*DishInhibitRfRequest)(nil),                      // 119: SpaceX.API.Device.DishInhibitRfRequest
	(*WifiGetClientsRequest)(nil),                     // 120: SpaceX.API.Device.WifiGetClientsRequest
	(*WifiGetPingMetricsRequest)(nil),                 // 121: SpaceX.API.Device.WifiGetPingMetricsRequest
	(*WifiSetConfigRequest)(nil),                      // 122: SpaceX.API.Device.WifiSetConfigRequest
	(*WifiGetConfigRequest)(nil),                      // 123: SpaceX.API.Device.WifiGetConfigRequest
	(*WifiSetupRequest)(nil),                          // 124: SpaceX.API.Device.WifiSetupRequest
	(*WifiSetMeshDeviceTrustRequest)(nil),             // 125: SpaceX.API.Device.WifiSetMeshDeviceTrustRequest
	(*WifiSetMeshConfigRequest)(nil),                  // 126: SpaceX.API.Device.WifiSetMeshConfigRequest
	(*WifiGetClientHistoryRequest)(nil),               // 127: SpaceX.API.Device.WifiGetClientHistoryRequest
	(*WifiSetClientGivenNameRequest)(nil),             // 128: SpaceX.API.Device.WifiSetClientGivenNameRequest
	(*WifiSetAviationConformedRequest)(nil),           // 129: SpaceX.API.Device.WifiSetAviationConformedRequest
	(*WifiSelfTestRequest)(nil),                       // 130: SpaceX.API.Device.WifiSelfTestRequest
	(*WifiRunSelfTestRequest)(nil),                    // 131: SpaceX.API.Device.WifiRunSelfTestRequest
	(*WifiCalibrationModeRequest)(nil),                // 132: SpaceX.API.Device.WifiCalibrationModeRequest
	(*WifiGuestInfoRequest)(nil),                      // 133: SpaceX.API.Device.WifiGuestInfoRequest
	(*WifiRfTestRequest)(nil),                         // 134: SpaceX.API.Device.WifiRfTestRequest
	(*WifiGetFirewallRequest)(nil),                    // 135: SpaceX.API.Device.WifiGetFirewallRequest
	(*WifiTogglePoeNegotiationRequest)(nil),           // 136: SpaceX.API.Device.WifiTogglePoeNegotiationRequest
	(*WifiFactoryTestCommandRequest)(nil),             // 137: SpaceX.API.Device.WifiFactoryTestCommandRequest
	(*WifiStartLocalTelemProxyRequest)(nil),           // 138: SpaceX.API.Device.WifiStartLocalTelemProxyRequest
	(*WifiBackhaulStatsRequest)(nil),                  // 139: SpaceX.API.Device.WifiBackhaulStatsRequest
	(*WifiToggleUmbilicalModeRequest)(nil),            // 140: SpaceX.API.Device.WifiToggleUmbilicalModeRequest
	(*WifiRunDebugNetsysRequest)(nil),                 // 141: SpaceX.API.Device.WifiRunDebugNetsysRequest
	(*WifiResetEthPhyRequest)(nil),                    // 142: SpaceX.API.Device.WifiResetEthPhyRequest
	(*WifiFlushHardwareNatRequest)(nil),               // 143: SpaceX.API.Device.WifiFlushHardwareNatRequest
	(*TransceiverIFLoopbackTestRequest)(nil),          // 144: SpaceX.API.Device.TransceiverIFLoopbackTestRequest
	(*TransceiverGetStatusRequest)(nil),               // 145: SpaceX.API.Device.TransceiverGetStatusRequest
	(*TransceiverGetTelemetryRequest)(nil),            // 146: SpaceX.API.Device.TransceiverGetTelemetryRequest
	(*service.StartUnlockRequest)(nil),                // 147: SpaceX.API.Device.Services.Unlock.StartUnlockRequest
	(*service.FinishUnlockRequest)(nil),               // 148: SpaceX.API.Device.Services.Unlock.FinishUnlockRequest
	(*status.Status)(nil),                             // 149: SpaceX.API.Status.Status
	(*GetNextIdResponse)(nil),                         // 150: SpaceX.API.Device.GetNextIdResponse
	(*InitiateRemoteSshResponse)(nil),                 // 151: SpaceX.API.Device.InitiateRemoteSshResponse
	(*SelfTestResponse)(nil),                          // 152: SpaceX.API.Device.SelfTestResponse
	(*SetTestModeResponse)(nil),                       // 153: SpaceX.API.Device.SetTestModeResponse
	(*SoftwareUpdateResponse)(nil),                    // 154: SpaceX.API.Device.SoftwareUpdateResponse
	(*DishAuthenticateResponse)(nil),                  // 155: SpaceX.API.Device.DishAuthenticateResponse
	(*DishGetContextResponse)(nil),                    // 156: SpaceX.API.Device.DishGetContextResponse
	(*DishGetHistoryResponse)(nil),                    // 157: SpaceX.API.Device.DishGetHistoryResponse
	(*DishGetStatusResponse)(nil),                     // 158: SpaceX.API.Device.DishGetStatusResponse
	(*DishGetObstructionMapResponse)(nil),             // 159: SpaceX.API.Device.DishGetObstructionMapResponse
	(*DishStowResponse)(nil),                          // 160: SpaceX.API.Device.DishStowResponse
	(*DishSetConfigResponse)(nil),                     // 161: SpaceX.API.Device.DishSetConfigResponse
	(*DishGetConfigResponse)(nil),                     // 162: SpaceX.API.Device.DishGetConfigResponse
	(*DishInhibitGpsResponse)(nil),                    // 163: SpaceX.API.Device.DishInhibitGpsResponse
	(*DishClearObstructionMapResponse)(nil),           // 164: SpaceX.API.Device.DishClearObstructionMapResponse
	(*DishActivateRssiScanResponse)(nil),              // 165: SpaceX.API.Device.DishActivateRssiScanResponse
	(*DishGetRssiScanResultResponse)(nil),             // 166: SpaceX.API.Device.DishGetRssiScanResultResponse
	(*DishFactoryResetResponse)(nil),                  // 167: SpaceX.API.Device.DishFactoryResetResponse
	(*ResetButtonResponse)(nil),                       // 168: SpaceX.API.Device.ResetButtonResponse
	(*DishAviationTestResponse)(nil),                  // 169: SpaceX.API.Device.DishAviationTestResponse
	(*DishInhibitRfResponse)(nil),                     // 170: SpaceX.API.Device.DishInhibitRfResponse
	(*WifiAuthenticateResponse)(nil),                  // 171: SpaceX.API.Device.WifiAuthenticateResponse
	(*WifiGetClientsResponse)(nil),                    // 172: SpaceX.API.Device.WifiGetClientsResponse
	(*WifiGetHistoryResponse)(nil),                    // 173: SpaceX.API.Device.WifiGetHistoryResponse
	(*WifiGetPingMetricsResponse)(nil),                // 174: SpaceX.API.Device.WifiGetPingMetricsResponse
	(*WifiGetStatusResponse)(nil),                     // 175: SpaceX.API.Device.WifiGetStatusResponse
	(*WifiSetConfigResponse)(nil),                     // 176: SpaceX.API.Device.WifiSetConfigResponse
	(*WifiGetConfigResponse)(nil),                     // 177: SpaceX.API.Device.WifiGetConfigResponse
	(*WifiSetupResponse)(nil),                         // 178: SpaceX.API.Device.WifiSetupResponse
	(*WifiGetPersistentStatsResponse)(nil),            // 179: SpaceX.API.Device.WifiGetPersistentStatsResponse
	(*WifiSetMeshDeviceTrustResponse)(nil),            // 180: SpaceX.API.Device.WifiSetMeshDeviceTrustResponse
	(*WifiSetMeshConfigResponse)(nil),                 // 181: SpaceX.API.Device.WifiSetMeshConfigResponse
	(*WifiGetClientHistoryResponse)(nil),              // 182: SpaceX.API.Device.WifiGetClientHistoryResponse
	(*WifiSelfTestResponse)(nil),                      // 183: SpaceX.API.Device.WifiSelfTestResponse
	(*WifiGuestInfoResponse)(nil),                     // 184: SpaceX.API.Device.WifiGuestInfoResponse
	(*WifiRfTestResponse)(nil),                        // 185: SpaceX.API.Device.WifiRfTestResponse
	(*WifiGetFirewallResponse)(nil),                   // 186: SpaceX.API.Device.WifiGetFirewallResponse
	(*WifiFactoryTestCommandResponse)(nil),            // 187: SpaceX.API.Device.WifiFactoryTestCommandResponse
	(*WifiBackhaulStatsResponse)(nil),                 // 188: SpaceX.API.Device.WifiBackhaulStatsResponse
	(*WifiUpdateResponse)(nil),                        // 189: SpaceX.API.Device.WifiUpdateResponse
	(*WifiRunDebugNetsysResponse)(nil),                // 190: SpaceX.API.Device.WifiRunDebugNetsysResponse
	(*WifiResetEthPhyResponse)(nil),                   // 191: SpaceX.API.Device.WifiResetEthPhyResponse
	(*WifiFlushHardwareNatResponse)(nil),              // 192: SpaceX.API.Device.WifiFlushHardwareNatResponse
	(*TransceiverIFLoopbackTestResponse)(nil),         // 193: SpaceX.API.Device.TransceiverIFLoopbackTestResponse
	(*TransceiverGetStatusResponse)(nil),              // 194: SpaceX.API.Device.TransceiverGetStatusResponse
	(*TransceiverGetTelemetryResponse)(nil),           // 195: SpaceX.API.Device.TransceiverGetTelemetryResponse
	(*service.StartUnlockResponse)(nil),               // 196: SpaceX.API.Device.Services.Unlock.StartUnlockResponse
	(*service.FinishUnlockResponse)(nil),              // 197: SpaceX.API.Device.Services.Unlock.FinishUnlockResponse
	(*WifiNewClientConnectedEvent)(nil),               // 198: SpaceX.API.Device.WifiNewClientConnectedEvent
	(*WifiAccountBondingEvent)(nil),                   // 199: SpaceX.API.Device.WifiAccountBondingEvent
	(*WifiNewPeerEvent)(nil),                          // 200: SpaceX.API.Device.WifiNewPeerEvent
	(*PingResult)(nil),                                // 201: SpaceX.API.Device.PingResult
	(RouterRole)(0),                                   // 202: SpaceX.API.Device.RouterRole
	(*DeviceInfo)(nil),                                // 203: SpaceX.API.Device.DeviceInfo
	(*PublicKey)(nil),                                 // 204: SpaceX.API.Device.PublicKey
	(*NetworkInterface)(nil),                          // 205: SpaceX.API.Device.NetworkInterface
	(*RadioStats)(nil),                                // 206: SpaceX.API.Device.RadioStats
	(*LLAPosition)(nil),                               // 207: SpaceX.API.Device.LLAPosition
}
var file_spacex_api_device_device_proto_depIdxs = []int32{
	13,  // 0: SpaceX.API.Device.ToDevice.request:type_name -> SpaceX.API.Device.Request
	12,  // 1: SpaceX.API.Device.ToDevice.health_check:type_name -> SpaceX.API.Device.HealthCheck
	14,  // 2: SpaceX.API.Device.FromDevice.response:type_name -> SpaceX.API.Device.Response
	15,  // 3: SpaceX.API.Device.FromDevice.event:type_name -> SpaceX.API.Device.Event
	12,  // 4: SpaceX.API.Device.FromDevice.health_check:type_name -> SpaceX.API.Device.HealthCheck
	98,  // 5: SpaceX.API.Device.SensitiveCommand.timestamp:type_name -> google.protobuf.Timestamp
	63,  // 6: SpaceX.API.Device.SensitiveCommand.get_location:type_name -> SpaceX.API.Device.GetLocationRequest
	99,  // 7: SpaceX.API.Device.Request.signed_request:type_name -> SpaceX.API.Device.SignedData
	100, // 8: SpaceX.API.Device.Request.get_next_id:type_name -> SpaceX.API.Device.GetNextIdRequest
	99,  // 9: SpaceX.API.Device.Request.sensitive_request:type_name -> SpaceX.API.Device.SignedData
	101, // 10: SpaceX.API.Device.Request.authenticate:type_name -> SpaceX.API.Device.AuthenticateRequest
	21,  // 11: SpaceX.API.Device.Request.enable_debug_telem:type_name -> SpaceX.API.Device.EnableDebugTelemRequest
	23,  // 12: SpaceX.API.Device.Request.factory_reset:type_name -> SpaceX.API.Device.FactoryResetRequest
	47,  // 13: SpaceX.API.Device.Request.get_device_info:type_name -> SpaceX.API.Device.GetDeviceInfoRequest
	29,  // 14: SpaceX.API.Device.Request.get_history:type_name -> SpaceX.API.Device.GetHistoryRequest
	30,  // 15: SpaceX.API.Device.Request.get_log:type_name -> SpaceX.API.Device.GetLogRequest
	57,  // 16: SpaceX.API.Device.Request.get_network_interfaces:type_name -> SpaceX.API.Device.GetNetworkInterfacesRequest
	32,  // 17: SpaceX.API.Device.Request.get_ping:type_name -> SpaceX.API.Device.GetPingRequest
	34,  // 18: SpaceX.API.Device.Request.ping_host:type_name -> SpaceX.API.Device.PingHostRequest
	36,  // 19: SpaceX.API.Device.Request.get_status:type_name -> SpaceX.API.Device.GetStatusRequest
	37,  // 20: SpaceX.API.Device.Request.reboot:type_name -> SpaceX.API.Device.RebootRequest
	51,  // 21: SpaceX.API.Device.Request.set_sku:type_name -> SpaceX.API.Device.SetSkuRequest
	49,  // 22: SpaceX.API.Device.Request.set_trusted_keys:type_name -> SpaceX.API.Device.SetTrustedKeysRequest
	41,  // 23: SpaceX.API.Device.Request.speed_test:type_name -> SpaceX.API.Device.SpeedTestRequest
	53,  // 24: SpaceX.API.Device.Request.update:type_name -> SpaceX.API.Device.UpdateRequest
	63,  // 25: SpaceX.API.Device.Request.get_location:type_name -> SpaceX.API.Device.GetLocationRequest
	61,  // 26: SpaceX.API.Device.Request.get_heap_dump:type_name -> SpaceX.API.Device.GetHeapDumpRequest
	55,  // 27: SpaceX.API.Device.Request.restart_control:type_name -> SpaceX.API.Device.RestartControlRequest
	27,  // 28: SpaceX.API.Device.Request.fuse:type_name -> SpaceX.API.Device.FuseRequest
	71,  // 29: SpaceX.API.Device.Request.get_persistent_stats:type_name -> SpaceX.API.Device.GetPersistentStatsRequest
	45,  // 30: SpaceX.API.Device.Request.get_connections:type_name -> SpaceX.API.Device.GetConnectionsRequest
	72,  // 31: SpaceX.API.Device.Request.start_speedtest:type_name -> SpaceX.API.Device.StartSpeedtestRequest
	75,  // 32: SpaceX.API.Device.Request.get_speedtest_status:type_name -> SpaceX.API.Device.GetSpeedtestStatusRequest
	77,  // 33: SpaceX.API.Device.Request.report_client_speedtest:type_name -> SpaceX.API.Device.ReportClientSpeedtestRequest
	102, // 34: SpaceX.API.Device.Request.initiate_remote_ssh:type_name -> SpaceX.API.Device.InitiateRemoteSshRequest
	103, // 35: SpaceX.API.Device.Request.self_test:type_name -> SpaceX.API.Device.SelfTestRequest
	104, // 36: SpaceX.API.Device.Request.set_test_mode:type_name -> SpaceX.API.Device.SetTestModeRequest
	105, // 37: SpaceX.API.Device.Request.software_update:type_name -> SpaceX.API.Device.SoftwareUpdateRequest
	81,  // 38: SpaceX.API.Device.Request.iq_capture:type_name -> SpaceX.API.Device.IQCaptureRequest
	59,  // 39: SpaceX.API.Device.Request.get_radio_stats:type_name -> SpaceX.API.Device.GetRadioStatsRequest
	25,  // 40: SpaceX.API.Device.Request.time:type_name -> SpaceX.API.Device.GetTimeRequest
	43,  // 41: SpaceX.API.Device.Request.run_iperf_server:type_name -> SpaceX.API.Device.RunIperfServerRequest
	85,  // 42: SpaceX.API.Device.Request.tcp_connectivity_test:type_name -> SpaceX.API.Device.TcpConnectivityTestRequest
	86,  // 43: SpaceX.API.Device.Request.udp_connectivity_test:type_name -> SpaceX.API.Device.UdpConnectivityTestRequest
	87,  // 44: SpaceX.API.Device.Request.get_goroutine_stack_traces:type_name -> SpaceX.API.Device.GetGoroutineStackTracesRequest
	106, // 45: SpaceX.API.Device.Request.dish_stow:type_name -> SpaceX.API.Device.DishStowRequest
	107, // 46: SpaceX.API.Device.Request.dish_get_context:type_name -> SpaceX.API.Device.DishGetContextRequest
	108, // 47: SpaceX.API.Device.Request.dish_get_obstruction_map:type_name -> SpaceX.API.Device.DishGetObstructionMapRequest
	65,  // 48: SpaceX.API.Device.Request.dish_set_emc:type_name -> SpaceX.API.Device.DishSetEmcRequest
	69,  // 49: SpaceX.API.Device.Request.dish_get_emc:type_name -> SpaceX.API.Device.DishGetEmcRequest
	109, // 50: SpaceX.API.Device.Request.dish_set_config:type_name -> SpaceX.API.Device.DishSetConfigRequest
	110, // 51: SpaceX.API.Device.Request.dish_get_config:type_name -> SpaceX.API.Device.DishGetConfigRequest
	80,  // 52: SpaceX.API.Device.Request.dish_power_save:type_name -> SpaceX.API.Device.DishPowerSaveRequest
	111, // 53: SpaceX.API.Device.Request.dish_inhibit_gps:type_name -> SpaceX.API.Device.DishInhibitGpsRequest
	112, // 54: SpaceX.API.Device.Request.dish_get_data:type_name -> SpaceX.API.Device.DishGetDataRequest
	113, // 55: SpaceX.API.Device.Request.dish_clear_obstruction_map:type_name -> SpaceX.API.Device.DishClearObstructionMapRequest
	67,  // 56: SpaceX.API.Device.Request.dish_set_max_power_test_mode:type_name -> SpaceX.API.Device.DishSetMaxPowerTestModeRequest
	114, // 57: SpaceX.API.Device.Request.dish_activate_rssi_scan:type_name -> SpaceX.API.Device.DishActivateRssiScanRequest
	115, // 58: SpaceX.API.Device.Request.dish_get_rssi_scan_result:type_name -> SpaceX.API.Device.DishGetRssiScanResultRequest
	116, // 59: SpaceX.API.Device.Request.dish_factory_reset:type_name -> SpaceX.API.Device.DishFactoryResetRequest
	117, // 60: SpaceX.API.Device.Request.reset_button:type_name -> SpaceX.API.Device.ResetButtonRequest
	105, // 61: SpaceX.API.Device.Request.set_per_vehicle_config:type_name -> SpaceX.API.Device.SoftwareUpdateRequest
	118, // 62: SpaceX.API.Device.Request.dish_aviation_test:type_name -> SpaceX.API.Device.DishAviationTestRequest
	119, // 63: SpaceX.API.Device.Request.dish_inhibit_rf:type_name -> SpaceX.API.Device.DishInhibitRfRequest
	120, // 64: SpaceX.API.Device.Request.wifi_get_clients:type_name -> SpaceX.API.Device.WifiGetClientsRequest
	121, // 65: SpaceX.API.Device.Request.wifi_get_ping_metrics:type_name -> SpaceX.API.Device.WifiGetPingMetricsRequest
	122, // 66: SpaceX.API.Device.Request.wifi_set_config:type_name -> SpaceX.API.Device.WifiSetConfigRequest
	123, // 67: SpaceX.API.Device.Request.wifi_get_config:type_name -> SpaceX.API.Device.WifiGetConfigRequest
	124, // 68: SpaceX.API.Device.Request.wifi_setup:type_name -> SpaceX.API.Device.WifiSetupRequest
	125, // 69: SpaceX.API.Device.Request.wifi_set_mesh_device_trust:type_name -> SpaceX.API.Device.WifiSetMeshDeviceTrustRequest
	126, // 70: SpaceX.API.Device.Request.wifi_set_mesh_config:type_name -> SpaceX.API.Device.WifiSetMeshConfigRequest
	127, // 71: SpaceX.API.Device.Request.wifi_get_client_history:type_name -> SpaceX.API.Device.WifiGetClientHistoryRequest
	128, // 72: SpaceX.API.Device.Request.wifi_set_client_given_name:type_name -> SpaceX.API.Device.WifiSetClientGivenNameRequest
	129, // 73: SpaceX.API.Device.Request.wifi_set_aviation_conformed:type_name -> SpaceX.API.Device.WifiSetAviationConformedRequest
	130, // 74: SpaceX.API.Device.Request.wifi_self_test:type_name -> SpaceX.API.Device.WifiSelfTestRequest
	131, // 75: SpaceX.API.Device.Request.wifi_run_self_test:type_name -> SpaceX.API.Device.WifiRunSelfTestRequest
	132, // 76: SpaceX.API.Device.Request.wifi_calibration_mode:type_name -> SpaceX.API.Device.WifiCalibrationModeRequest
	133, // 77: SpaceX.API.Device.Request.wifi_guest_info:type_name -> SpaceX.API.Device.WifiGuestInfoRequest
	134, // 78: SpaceX.API.Device.Request.wifi_rf_test:type_name -> SpaceX.API.Device.WifiRfTestRequest
	135, // 79: SpaceX.API.Device.Request.wifi_get_firewall:type_name -> SpaceX.API.Device.WifiGetFirewallRequest
	136, // 80: SpaceX.API.Device.Request.wifi_toggle_poe_negotiation:type_name -> SpaceX.API.Device.WifiTogglePoeNegotiationRequest
	137, // 81: SpaceX.API.Device.Request.wifi_factory_test_command:type_name -> SpaceX.API.Device.WifiFactoryTestCommandRequest
	138, // 82: SpaceX.API.Device.Request.wifi_start_local_telem_proxy:type_name -> SpaceX.API.Device.WifiStartLocalTelemProxyRequest
	139, // 83: SpaceX.API.Device.Request.wifi_backhaul_stats:type_name -> SpaceX.API.Device.WifiBackhaulStatsRequest
	140, // 84: SpaceX.API.Device.Request.wifi_toggle_umbilical_mode:type_name -> SpaceX.API.Device.WifiToggleUmbilicalModeRequest
	17,  // 85: SpaceX.API.Device.Request.wifi_client_sandbox:type_name -> SpaceX.API.Device.WifiClientSandboxRequest
	141, // 86: SpaceX.API.Device.Request.wifi_run_debug_netsys:type_name -> SpaceX.API.Device.WifiRunDebugNetsysRequest
	142, // 87: SpaceX.API.Device.Request.wifi_reset_eth_phy:type_name -> SpaceX.API.Device.WifiResetEthPhyRequest
	143, // 88: SpaceX.API.Device.Request.wifi_flush_hardware_nat:type_name -> SpaceX.API.Device.WifiFlushHardwareNatRequest
	19,  // 89: SpaceX.API.Device.Request.wifi_write_calibration:type_name -> SpaceX.API.Device.WifiWriteCalibrationRequest
	144, // 90: SpaceX.API.Device.Request.transceiver_if_loopback_test:type_name -> SpaceX.API.Device.TransceiverIFLoopbackTestRequest
	145, // 91: SpaceX.API.Device.Request.transceiver_get_status:type_name -> SpaceX.API.Device.TransceiverGetStatusRequest
	146, // 92: SpaceX.API.Device.Request.transceiver_get_telemetry:type_name -> SpaceX.API.Device.TransceiverGetTelemetryRequest
	147, // 93: SpaceX.API.Device.Request.start_unlock:type_name -> SpaceX.API.Device.Services.Unlock.StartUnlockRequest
	148, // 94: SpaceX.API.Device.Request.finish_unlock:type_name -> SpaceX.API.Device.Services.Unlock.FinishUnlockRequest
	82,  // 95: SpaceX.API.Device.Request.get_diagnostics:type_name -> SpaceX.API.Device.GetDiagnosticsRequest
	149, // 96: SpaceX.API.Device.Response.status:type_name -> SpaceX.API.Status.Status
	150, // 97: SpaceX.API.Device.Response.get_next_id:type_name -> SpaceX.API.Device.GetNextIdResponse
	22,  // 98: SpaceX.API.Device.Response.enable_debug_telem:type_name -> SpaceX.API.Device.EnableDebugTelemResponse
	24,  // 99: SpaceX.API.Device.Response.factory_reset:type_name -> SpaceX.API.Device.FactoryResetResponse
	48,  // 100: SpaceX.API.Device.Response.get_device_info:type_name -> SpaceX.API.Device.GetDeviceInfoResponse
	31,  // 101: SpaceX.API.Device.Response.get_log:type_name -> SpaceX.API.Device.GetLogResponse
	58,  // 102: SpaceX.API.Device.Response.get_network_interfaces:type_name -> SpaceX.API.Device.GetNetworkInterfacesResponse
	33,  // 103: SpaceX.API.Device.Response.get_ping:type_name -> SpaceX.API.Device.GetPingResponse
	35,  // 104: SpaceX.API.Device.Response.ping_host:type_name -> SpaceX.API.Device.PingHostResponse
	38,  // 105: SpaceX.API.Device.Response.reboot:type_name -> SpaceX.API.Device.RebootResponse
	42,  // 106: SpaceX.API.Device.Response.speed_test:type_name -> SpaceX.API.Device.SpeedTestResponse
	52,  // 107: SpaceX.API.Device.Response.set_sku:type_name -> SpaceX.API.Device.SetSkuResponse
	50,  // 108: SpaceX.API.Device.Response.set_trusted_keys:type_name -> SpaceX.API.Device.SetTrustedKeysResponse
	54,  // 109: SpaceX.API.Device.Response.update:type_name -> SpaceX.API.Device.UpdateResponse
	64,  // 110: SpaceX.API.Device.Response.get_location:type_name -> SpaceX.API.Device.GetLocationResponse
	62,  // 111: SpaceX.API.Device.Response.get_heap_dump:type_name -> SpaceX.API.Device.GetHeapDumpResponse
	56,  // 112: SpaceX.API.Device.Response.restart_control:type_name -> SpaceX.API.Device.RestartControlResponse
	28,  // 113: SpaceX.API.Device.Response.fuse:type_name -> SpaceX.API.Device.FuseResponse
	46,  // 114: SpaceX.API.Device.Response.get_connections:type_name -> SpaceX.API.Device.GetConnectionsResponse
	73,  // 115: SpaceX.API.Device.Response.start_speedtest:type_name -> SpaceX.API.Device.StartSpeedtestResponse
	76,  // 116: SpaceX.API.Device.Response.get_speedtest_status:type_name -> SpaceX.API.Device.GetSpeedtestStatusResponse
	78,  // 117: SpaceX.API.Device.Response.report_client_speedtest:type_name -> SpaceX.API.Device.ReportClientSpeedtestResponse
	151, // 118: SpaceX.API.Device.Response.initiate_remote_ssh:type_name -> SpaceX.API.Device.InitiateRemoteSshResponse
	152, // 119: SpaceX.API.Device.Response.self_test:type_name -> SpaceX.API.Device.SelfTestResponse
	153, // 120: SpaceX.API.Device.Response.set_test_mode:type_name -> SpaceX.API.Device.SetTestModeResponse
	154, // 121: SpaceX.API.Device.Response.software_update:type_name -> SpaceX.API.Device.SoftwareUpdateResponse
	60,  // 122: SpaceX.API.Device.Response.get_radio_stats:type_name -> SpaceX.API.Device.GetRadioStatsResponse
	26,  // 123: SpaceX.API.Device.Response.time:type_name -> SpaceX.API.Device.GetTimeResponse
	44,  // 124: SpaceX.API.Device.Response.run_iperf_server:type_name -> SpaceX.API.Device.RunIperfServerResponse
	88,  // 125: SpaceX.API.Device.Response.get_goroutine_stack_traces:type_name -> SpaceX.API.Device.GetGoroutineStackTracesResponse
	155, // 126: SpaceX.API.Device.Response.dish_authenticate:type_name -> SpaceX.API.Device.DishAuthenticateResponse
	156, // 127: SpaceX.API.Device.Response.dish_get_context:type_name -> SpaceX.API.Device.DishGetContextResponse
	157, // 128: SpaceX.API.Device.Response.dish_get_history:type_name -> SpaceX.API.Device.DishGetHistoryResponse
	158, // 129: SpaceX.API.Device.Response.dish_get_status:type_name -> SpaceX.API.Device.DishGetStatusResponse
	159, // 130: SpaceX.API.Device.Response.dish_get_obstruction_map:type_name -> SpaceX.API.Device.DishGetObstructionMapResponse
	160, // 131: SpaceX.API.Device.Response.dish_stow:type_name -> SpaceX.API.Device.DishStowResponse
	66,  // 132: SpaceX.API.Device.Response.dish_set_emc:type_name -> SpaceX.API.Device.DishSetEmcResponse
	70,  // 133: SpaceX.API.Device.Response.dish_get_emc:type_name -> SpaceX.API.Device.DishGetEmcResponse
	161, // 134: SpaceX.API.Device.Response.dish_set_config:type_name -> SpaceX.API.Device.DishSetConfigResponse
	162, // 135: SpaceX.API.Device.Response.dish_get_config:type_name -> SpaceX.API.Device.DishGetConfigResponse
	163, // 136: SpaceX.API.Device.Response.dish_inhibit_gps:type_name -> SpaceX.API.Device.DishInhibitGpsResponse
	164, // 137: SpaceX.API.Device.Response.dish_clear_obstruction_map:type_name -> SpaceX.API.Device.DishClearObstructionMapResponse
	68,  // 138: SpaceX.API.Device.Response.dish_set_max_power_test_mode:type_name -> SpaceX.API.Device.DishSetMaxPowerTestModeResponse
	165, // 139: SpaceX.API.Device.Response.dish_activate_rssi_scan:type_name -> SpaceX.API.Device.DishActivateRssiScanResponse
	166, // 140: SpaceX.API.Device.Response.dish_get_rssi_scan_result:type_name -> SpaceX.API.Device.DishGetRssiScanResultResponse
	167, // 141: SpaceX.API.Device.Response.dish_factory_reset:type_name -> SpaceX.API.Device.DishFactoryResetResponse
	168, // 142: SpaceX.API.Device.Response.reset_button:type_name -> SpaceX.API.Device.ResetButtonResponse
	79,  // 143: SpaceX.API.Device.Response.set_per_vehicle_config:type_name -> SpaceX.API.Device.SetPerVehicleConfigResponse
	169, // 144: SpaceX.API.Device.Response.dish_aviation_test:type_name -> SpaceX.API.Device.DishAviationTestResponse
	170, // 145: SpaceX.API.Device.Response.dish_inhibit_rf:type_name -> SpaceX.API.Device.DishInhibitRfResponse
	171, // 146: SpaceX.API.Device.Response.wifi_authenticate:type_name -> SpaceX.API.Device.WifiAuthenticateResponse
	172, // 147: SpaceX.API.Device.Response.wifi_get_clients:type_name -> SpaceX.API.Device.WifiGetClientsResponse
	173, // 148: SpaceX.API.Device.Response.wifi_get_history:type_name -> SpaceX.API.Device.WifiGetHistoryResponse
	174, // 149: SpaceX.API.Device.Response.wifi_get_ping_metrics:type_name -> SpaceX.API.Device.WifiGetPingMetricsResponse
	175, // 150: SpaceX.API.Device.Response.wifi_get_status:type_name -> SpaceX.API.Device.WifiGetStatusResponse
	176, // 151: SpaceX.API.Device.Response.wifi_set_config:type_name -> SpaceX.API.Device.WifiSetConfigResponse
	177, // 152: SpaceX.API.Device.Response.wifi_get_config:type_name -> SpaceX.API.Device.WifiGetConfigResponse
	178, // 153: SpaceX.API.Device.Response.wifi_setup:type_name -> SpaceX.API.Device.WifiSetupResponse
	179, // 154: SpaceX.API.Device.Response.wifi_get_persistent_stats:type_name -> SpaceX.API.Device.WifiGetPersistentStatsResponse
	180, // 155: SpaceX.API.Device.Response.wifi_set_mesh_device_trust:type_name -> SpaceX.API.Device.WifiSetMeshDeviceTrustResponse
	181, // 156: SpaceX.API.Device.Response.wifi_set_mesh_config:type_name -> SpaceX.API.Device.WifiSetMeshConfigResponse
	182, // 157: SpaceX.API.Device.Response.wifi_get_client_history:type_name -> SpaceX.API.Device.WifiGetClientHistoryResponse
	183, // 158: SpaceX.API.Device.Response.wifi_self_test:type_name -> SpaceX.API.Device.WifiSelfTestResponse
	184, // 159: SpaceX.API.Device.Response.wifi_guest_info:type_name -> SpaceX.API.Device.WifiGuestInfoResponse
	185, // 160: SpaceX.API.Device.Response.wifi_rf_test:type_name -> SpaceX.API.Device.WifiRfTestResponse
	186, // 161: SpaceX.API.Device.Response.wifi_get_firewall:type_name -> SpaceX.API.Device.WifiGetFirewallResponse
	187, // 162: SpaceX.API.Device.Response.wifi_factory_test_command:type_name -> SpaceX.API.Device.WifiFactoryTestCommandResponse
	188, // 163: SpaceX.API.Device.Response.wifi_backhaul_stats:type_name -> SpaceX.API.Device.WifiBackhaulStatsResponse
	18,  // 164: SpaceX.API.Device.Response.wifi_client_sandbox:type_name -> SpaceX.API.Device.WifiClientSandboxResponse
	189, // 165: SpaceX.API.Device.Response.wifi_update:type_name -> SpaceX.API.Device.WifiUpdateResponse
	190, // 166: SpaceX.API.Device.Response.wifi_run_debug_netsys:type_name -> SpaceX.API.Device.WifiRunDebugNetsysResponse
	191, // 167: SpaceX.API.Device.Response.wifi_reset_eth_phy:type_name -> SpaceX.API.Device.WifiResetEthPhyResponse
	192, // 168: SpaceX.API.Device.Response.wifi_flush_hardware_nat:type_name -> SpaceX.API.Device.WifiFlushHardwareNatResponse
	193, // 169: SpaceX.API.Device.Response.transceiver_if_loopback_test:type_name -> SpaceX.API.Device.TransceiverIFLoopbackTestResponse
	194, // 170: SpaceX.API.Device.Response.transceiver_get_status:type_name -> SpaceX.API.Device.TransceiverGetStatusResponse
	195, // 171: SpaceX.API.Device.Response.transceiver_get_telemetry:type_name -> SpaceX.API.Device.TransceiverGetTelemetryResponse
	196, // 172: SpaceX.API.Device.Response.start_unlock:type_name -> SpaceX.API.Device.Services.Unlock.StartUnlockResponse
	197, // 173: SpaceX.API.Device.Response.finish_unlock:type_name -> SpaceX.API.Device.Services.Unlock.FinishUnlockResponse
	83,  // 174: SpaceX.API.Device.Response.wifi_get_diagnostics:type_name -> SpaceX.API.Device.WifiGetDiagnosticsResponse
	84,  // 175: SpaceX.API.Device.Response.dish_get_diagnostics:type_name -> SpaceX.API.Device.DishGetDiagnosticsResponse
	198, // 176: SpaceX.API.Device.Event.wifi_new_client_connected:type_name -> SpaceX.API.Device.WifiNewClientConnectedEvent
	199, // 177: SpaceX.API.Device.Event.wifi_account_bonding:type_name -> SpaceX.API.Device.WifiAccountBondingEvent
	200, // 178: SpaceX.API.Device.Event.wifi_new_peer:type_name -> SpaceX.API.Device.WifiNewPeerEvent
	16,  // 179: SpaceX.API.Device.Event.wifi_cloud_status:type_name -> SpaceX.API.Device.WifiCloudStatusEvent
	17,  // 180: SpaceX.API.Device.Event.wifi_client_sandbox:type_name -> SpaceX.API.Device.WifiClientSandboxRequest
	20,  // 181: SpaceX.API.Device.WifiClientSandboxRequest.client_sandbox_status:type_name -> SpaceX.API.Device.WifiClientSandboxStatus
	0,   // 182: SpaceX.API.Device.WifiClientSandboxRequest.alerts:type_name -> SpaceX.API.Device.WifiClientSandboxAlert
	89,  // 183: SpaceX.API.Device.GetLogResponse.current:type_name -> SpaceX.API.Device.GetLogResponse.Logs
	89,  // 184: SpaceX.API.Device.GetLogResponse.saved:type_name -> SpaceX.API.Device.GetLogResponse.Logs
	90,  // 185: SpaceX.API.Device.GetPingResponse.results:type_name -> SpaceX.API.Device.GetPingResponse.ResultsEntry
	201, // 186: SpaceX.API.Device.PingHostResponse.result:type_name -> SpaceX.API.Device.PingResult
	202, // 187: SpaceX.API.Device.GetStatusRequest.router_role:type_name -> SpaceX.API.Device.RouterRole
	3,   // 188: SpaceX.API.Device.SpeedTestStats.target:type_name -> SpaceX.API.Device.SpeedTestStats.Target
	4,   // 189: SpaceX.API.Device.ClientPlatform.platform:type_name -> SpaceX.API.Device.ClientPlatform.Platform
	39,  // 190: SpaceX.API.Device.SpeedTestRequest.client_speedtest:type_name -> SpaceX.API.Device.SpeedTestStats
	40,  // 191: SpaceX.API.Device.SpeedTestRequest.client_platform:type_name -> SpaceX.API.Device.ClientPlatform
	39,  // 192: SpaceX.API.Device.SpeedTestResponse.router_speedtest:type_name -> SpaceX.API.Device.SpeedTestStats
	92,  // 193: SpaceX.API.Device.GetConnectionsResponse.services:type_name -> SpaceX.API.Device.GetConnectionsResponse.ServicesEntry
	203, // 194: SpaceX.API.Device.GetDeviceInfoResponse.device_info:type_name -> SpaceX.API.Device.DeviceInfo
	204, // 195: SpaceX.API.Device.SetTrustedKeysRequest.keys:type_name -> SpaceX.API.Device.PublicKey
	205, // 196: SpaceX.API.Device.GetNetworkInterfacesResponse.network_interfaces:type_name -> SpaceX.API.Device.NetworkInterface
	206, // 197: SpaceX.API.Device.GetRadioStatsResponse.radio_stats:type_name -> SpaceX.API.Device.RadioStats
	1,   // 198: SpaceX.API.Device.GetLocationRequest.source:type_name -> SpaceX.API.Device.PositionSource
	207, // 199: SpaceX.API.Device.GetLocationResponse.lla:type_name -> SpaceX.API.Device.LLAPosition
	1,   // 200: SpaceX.API.Device.GetLocationResponse.source:type_name -> SpaceX.API.Device.PositionSource
	93,  // 201: SpaceX.API.Device.SpeedtestStatus.up:type_name -> SpaceX.API.Device.SpeedtestStatus.Direction
	93,  // 202: SpaceX.API.Device.SpeedtestStatus.down:type_name -> SpaceX.API.Device.SpeedtestStatus.Direction
	74,  // 203: SpaceX.API.Device.GetSpeedtestStatusResponse.status:type_name -> SpaceX.API.Device.SpeedtestStatus
	39,  // 204: SpaceX.API.Device.ReportClientSpeedtestRequest.client_speedtest:type_name -> SpaceX.API.Device.SpeedTestStats
	39,  // 205: SpaceX.API.Device.ReportClientSpeedtestRequest.wifi_speedtest:type_name -> SpaceX.API.Device.SpeedTestStats
	40,  // 206: SpaceX.API.Device.ReportClientSpeedtestRequest.client_platform:type_name -> SpaceX.API.Device.ClientPlatform
	94,  // 207: SpaceX.API.Device.WifiGetDiagnosticsResponse.networks:type_name -> SpaceX.API.Device.WifiGetDiagnosticsResponse.Network
	5,   // 208: SpaceX.API.Device.DishGetDiagnosticsResponse.hardware_self_test:type_name -> SpaceX.API.Device.DishGetDiagnosticsResponse.TestResult
	6,   // 209: SpaceX.API.Device.DishGetDiagnosticsResponse.hardware_self_test_codes:type_name -> SpaceX.API.Device.DishGetDiagnosticsResponse.TestResultCode
	95,  // 210: SpaceX.API.Device.DishGetDiagnosticsResponse.alerts:type_name -> SpaceX.API.Device.DishGetDiagnosticsResponse.Alerts
	7,   // 211: SpaceX.API.Device.DishGetDiagnosticsResponse.disablement_code:type_name -> SpaceX.API.Device.DishGetDiagnosticsResponse.DisablementCode
	96,  // 212: SpaceX.API.Device.DishGetDiagnosticsResponse.location:type_name -> SpaceX.API.Device.DishGetDiagnosticsResponse.Location
	97,  // 213: SpaceX.API.Device.DishGetDiagnosticsResponse.alignment_stats:type_name -> SpaceX.API.Device.DishGetDiagnosticsResponse.AlignmentStats
	8,   // 214: SpaceX.API.Device.UdpConnectivityTestRequest.probe_data:type_name -> SpaceX.API.Device.UdpConnectivityTestRequest.UDPProbeDataType
	201, // 215: SpaceX.API.Device.GetPingResponse.ResultsEntry.value:type_name -> SpaceX.API.Device.PingResult
	91,  // 216: SpaceX.API.Device.GetConnectionsResponse.ServicesEntry.value:type_name -> SpaceX.API.Device.GetConnectionsResponse.ServiceConnection
	2,   // 217: SpaceX.API.Device.SpeedtestStatus.Direction.err:type_name -> SpaceX.API.Device.SpeedtestError
	9,   // 218: SpaceX.API.Device.Device.Stream:input_type -> SpaceX.API.Device.ToDevice
	13,  // 219: SpaceX.API.Device.Device.Handle:input_type -> SpaceX.API.Device.Request
	10,  // 220: SpaceX.API.Device.Device.Stream:output_type -> SpaceX.API.Device.FromDevice
	14,  // 221: SpaceX.API.Device.Device.Handle:output_type -> SpaceX.API.Device.Response
	220, // [220:222] is the sub-list for method output_type
	218, // [218:220] is the sub-list for method input_type
	218, // [218:218] is the sub-list for extension type_name
	218, // [218:218] is the sub-list for extension extendee
	0,   // [0:218] is the sub-list for field type_name
}

func init() { file_spacex_api_device_device_proto_init() }
func file_spacex_api_device_device_proto_init() {
	if File_spacex_api_device_device_proto != nil {
		return
	}
	file_spacex_api_device_command_proto_init()
	file_spacex_api_device_common_proto_init()
	file_spacex_api_device_dish_proto_init()
	file_spacex_api_device_transceiver_proto_init()
	file_spacex_api_device_wifi_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_spacex_api_device_device_proto_msgTypes[0].Exporter = func(v any, i int) any {
			switch v := v.(*ToDevice); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[1].Exporter = func(v any, i int) any {
			switch v := v.(*FromDevice); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[2].Exporter = func(v any, i int) any {
			switch v := v.(*SensitiveCommand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[3].Exporter = func(v any, i int) any {
			switch v := v.(*HealthCheck); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[4].Exporter = func(v any, i int) any {
			switch v := v.(*Request); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[5].Exporter = func(v any, i int) any {
			switch v := v.(*Response); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[6].Exporter = func(v any, i int) any {
			switch v := v.(*Event); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[7].Exporter = func(v any, i int) any {
			switch v := v.(*WifiCloudStatusEvent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[8].Exporter = func(v any, i int) any {
			switch v := v.(*WifiClientSandboxRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[9].Exporter = func(v any, i int) any {
			switch v := v.(*WifiClientSandboxResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[10].Exporter = func(v any, i int) any {
			switch v := v.(*WifiWriteCalibrationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[11].Exporter = func(v any, i int) any {
			switch v := v.(*WifiClientSandboxStatus); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[12].Exporter = func(v any, i int) any {
			switch v := v.(*EnableDebugTelemRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[13].Exporter = func(v any, i int) any {
			switch v := v.(*EnableDebugTelemResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[14].Exporter = func(v any, i int) any {
			switch v := v.(*FactoryResetRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[15].Exporter = func(v any, i int) any {
			switch v := v.(*FactoryResetResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[16].Exporter = func(v any, i int) any {
			switch v := v.(*GetTimeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[17].Exporter = func(v any, i int) any {
			switch v := v.(*GetTimeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[18].Exporter = func(v any, i int) any {
			switch v := v.(*FuseRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[19].Exporter = func(v any, i int) any {
			switch v := v.(*FuseResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[20].Exporter = func(v any, i int) any {
			switch v := v.(*GetHistoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[21].Exporter = func(v any, i int) any {
			switch v := v.(*GetLogRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[22].Exporter = func(v any, i int) any {
			switch v := v.(*GetLogResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[23].Exporter = func(v any, i int) any {
			switch v := v.(*GetPingRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[24].Exporter = func(v any, i int) any {
			switch v := v.(*GetPingResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[25].Exporter = func(v any, i int) any {
			switch v := v.(*PingHostRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[26].Exporter = func(v any, i int) any {
			switch v := v.(*PingHostResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[27].Exporter = func(v any, i int) any {
			switch v := v.(*GetStatusRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[28].Exporter = func(v any, i int) any {
			switch v := v.(*RebootRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[29].Exporter = func(v any, i int) any {
			switch v := v.(*RebootResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[30].Exporter = func(v any, i int) any {
			switch v := v.(*SpeedTestStats); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[31].Exporter = func(v any, i int) any {
			switch v := v.(*ClientPlatform); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[32].Exporter = func(v any, i int) any {
			switch v := v.(*SpeedTestRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[33].Exporter = func(v any, i int) any {
			switch v := v.(*SpeedTestResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[34].Exporter = func(v any, i int) any {
			switch v := v.(*RunIperfServerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[35].Exporter = func(v any, i int) any {
			switch v := v.(*RunIperfServerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[36].Exporter = func(v any, i int) any {
			switch v := v.(*GetConnectionsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[37].Exporter = func(v any, i int) any {
			switch v := v.(*GetConnectionsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[38].Exporter = func(v any, i int) any {
			switch v := v.(*GetDeviceInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[39].Exporter = func(v any, i int) any {
			switch v := v.(*GetDeviceInfoResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[40].Exporter = func(v any, i int) any {
			switch v := v.(*SetTrustedKeysRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[41].Exporter = func(v any, i int) any {
			switch v := v.(*SetTrustedKeysResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[42].Exporter = func(v any, i int) any {
			switch v := v.(*SetSkuRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[43].Exporter = func(v any, i int) any {
			switch v := v.(*SetSkuResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[44].Exporter = func(v any, i int) any {
			switch v := v.(*UpdateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[45].Exporter = func(v any, i int) any {
			switch v := v.(*UpdateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[46].Exporter = func(v any, i int) any {
			switch v := v.(*RestartControlRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[47].Exporter = func(v any, i int) any {
			switch v := v.(*RestartControlResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[48].Exporter = func(v any, i int) any {
			switch v := v.(*GetNetworkInterfacesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[49].Exporter = func(v any, i int) any {
			switch v := v.(*GetNetworkInterfacesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[50].Exporter = func(v any, i int) any {
			switch v := v.(*GetRadioStatsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[51].Exporter = func(v any, i int) any {
			switch v := v.(*GetRadioStatsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[52].Exporter = func(v any, i int) any {
			switch v := v.(*GetHeapDumpRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[53].Exporter = func(v any, i int) any {
			switch v := v.(*GetHeapDumpResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[54].Exporter = func(v any, i int) any {
			switch v := v.(*GetLocationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[55].Exporter = func(v any, i int) any {
			switch v := v.(*GetLocationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[56].Exporter = func(v any, i int) any {
			switch v := v.(*DishSetEmcRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[57].Exporter = func(v any, i int) any {
			switch v := v.(*DishSetEmcResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[58].Exporter = func(v any, i int) any {
			switch v := v.(*DishSetMaxPowerTestModeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[59].Exporter = func(v any, i int) any {
			switch v := v.(*DishSetMaxPowerTestModeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[60].Exporter = func(v any, i int) any {
			switch v := v.(*DishGetEmcRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[61].Exporter = func(v any, i int) any {
			switch v := v.(*DishGetEmcResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[62].Exporter = func(v any, i int) any {
			switch v := v.(*GetPersistentStatsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[63].Exporter = func(v any, i int) any {
			switch v := v.(*StartSpeedtestRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[64].Exporter = func(v any, i int) any {
			switch v := v.(*StartSpeedtestResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[65].Exporter = func(v any, i int) any {
			switch v := v.(*SpeedtestStatus); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[66].Exporter = func(v any, i int) any {
			switch v := v.(*GetSpeedtestStatusRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[67].Exporter = func(v any, i int) any {
			switch v := v.(*GetSpeedtestStatusResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[68].Exporter = func(v any, i int) any {
			switch v := v.(*ReportClientSpeedtestRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[69].Exporter = func(v any, i int) any {
			switch v := v.(*ReportClientSpeedtestResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[70].Exporter = func(v any, i int) any {
			switch v := v.(*SetPerVehicleConfigResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[71].Exporter = func(v any, i int) any {
			switch v := v.(*DishPowerSaveRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[72].Exporter = func(v any, i int) any {
			switch v := v.(*IQCaptureRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[73].Exporter = func(v any, i int) any {
			switch v := v.(*GetDiagnosticsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[74].Exporter = func(v any, i int) any {
			switch v := v.(*WifiGetDiagnosticsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[75].Exporter = func(v any, i int) any {
			switch v := v.(*DishGetDiagnosticsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[76].Exporter = func(v any, i int) any {
			switch v := v.(*TcpConnectivityTestRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[77].Exporter = func(v any, i int) any {
			switch v := v.(*UdpConnectivityTestRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[78].Exporter = func(v any, i int) any {
			switch v := v.(*GetGoroutineStackTracesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[79].Exporter = func(v any, i int) any {
			switch v := v.(*GetGoroutineStackTracesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[80].Exporter = func(v any, i int) any {
			switch v := v.(*GetLogResponse_Logs); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[82].Exporter = func(v any, i int) any {
			switch v := v.(*GetConnectionsResponse_ServiceConnection); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[84].Exporter = func(v any, i int) any {
			switch v := v.(*SpeedtestStatus_Direction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[85].Exporter = func(v any, i int) any {
			switch v := v.(*WifiGetDiagnosticsResponse_Network); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[86].Exporter = func(v any, i int) any {
			switch v := v.(*DishGetDiagnosticsResponse_Alerts); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[87].Exporter = func(v any, i int) any {
			switch v := v.(*DishGetDiagnosticsResponse_Location); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_spacex_api_device_device_proto_msgTypes[88].Exporter = func(v any, i int) any {
			switch v := v.(*DishGetDiagnosticsResponse_AlignmentStats); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_spacex_api_device_device_proto_msgTypes[0].OneofWrappers = []any{
		(*ToDevice_Request)(nil),
		(*ToDevice_HealthCheck)(nil),
	}
	file_spacex_api_device_device_proto_msgTypes[1].OneofWrappers = []any{
		(*FromDevice_Response)(nil),
		(*FromDevice_Event)(nil),
		(*FromDevice_HealthCheck)(nil),
	}
	file_spacex_api_device_device_proto_msgTypes[2].OneofWrappers = []any{
		(*SensitiveCommand_GetLocation)(nil),
	}
	file_spacex_api_device_device_proto_msgTypes[4].OneofWrappers = []any{
		(*Request_SignedRequest)(nil),
		(*Request_GetNextId)(nil),
		(*Request_SensitiveRequest)(nil),
		(*Request_Authenticate)(nil),
		(*Request_EnableDebugTelem)(nil),
		(*Request_FactoryReset)(nil),
		(*Request_GetDeviceInfo)(nil),
		(*Request_GetHistory)(nil),
		(*Request_GetLog)(nil),
		(*Request_GetNetworkInterfaces)(nil),
		(*Request_GetPing)(nil),
		(*Request_PingHost)(nil),
		(*Request_GetStatus)(nil),
		(*Request_Reboot)(nil),
		(*Request_SetSku)(nil),
		(*Request_SetTrustedKeys)(nil),
		(*Request_SpeedTest)(nil),
		(*Request_Update)(nil),
		(*Request_GetLocation)(nil),
		(*Request_GetHeapDump)(nil),
		(*Request_RestartControl)(nil),
		(*Request_Fuse)(nil),
		(*Request_GetPersistentStats)(nil),
		(*Request_GetConnections)(nil),
		(*Request_StartSpeedtest)(nil),
		(*Request_GetSpeedtestStatus)(nil),
		(*Request_ReportClientSpeedtest)(nil),
		(*Request_InitiateRemoteSsh)(nil),
		(*Request_SelfTest)(nil),
		(*Request_SetTestMode)(nil),
		(*Request_SoftwareUpdate)(nil),
		(*Request_IqCapture)(nil),
		(*Request_GetRadioStats)(nil),
		(*Request_Time)(nil),
		(*Request_RunIperfServer)(nil),
		(*Request_TcpConnectivityTest)(nil),
		(*Request_UdpConnectivityTest)(nil),
		(*Request_GetGoroutineStackTraces)(nil),
		(*Request_DishStow)(nil),
		(*Request_DishGetContext)(nil),
		(*Request_DishGetObstructionMap)(nil),
		(*Request_DishSetEmc)(nil),
		(*Request_DishGetEmc)(nil),
		(*Request_DishSetConfig)(nil),
		(*Request_DishGetConfig)(nil),
		(*Request_DishPowerSave)(nil),
		(*Request_DishInhibitGps)(nil),
		(*Request_DishGetData)(nil),
		(*Request_DishClearObstructionMap)(nil),
		(*Request_DishSetMaxPowerTestMode)(nil),
		(*Request_DishActivateRssiScan)(nil),
		(*Request_DishGetRssiScanResult)(nil),
		(*Request_DishFactoryReset)(nil),
		(*Request_ResetButton)(nil),
		(*Request_SetPerVehicleConfig)(nil),
		(*Request_DishAviationTest)(nil),
		(*Request_DishInhibitRf)(nil),
		(*Request_WifiGetClients)(nil),
		(*Request_WifiGetPingMetrics)(nil),
		(*Request_WifiSetConfig)(nil),
		(*Request_WifiGetConfig)(nil),
		(*Request_WifiSetup)(nil),
		(*Request_WifiSetMeshDeviceTrust)(nil),
		(*Request_WifiSetMeshConfig)(nil),
		(*Request_WifiGetClientHistory)(nil),
		(*Request_WifiSetClientGivenName)(nil),
		(*Request_WifiSetAviationConformed)(nil),
		(*Request_WifiSelfTest)(nil),
		(*Request_WifiRunSelfTest)(nil),
		(*Request_WifiCalibrationMode)(nil),
		(*Request_WifiGuestInfo)(nil),
		(*Request_WifiRfTest)(nil),
		(*Request_WifiGetFirewall)(nil),
		(*Request_WifiTogglePoeNegotiation)(nil),
		(*Request_WifiFactoryTestCommand)(nil),
		(*Request_WifiStartLocalTelemProxy)(nil),
		(*Request_WifiBackhaulStats)(nil),
		(*Request_WifiToggleUmbilicalMode)(nil),
		(*Request_WifiClientSandbox)(nil),
		(*Request_WifiRunDebugNetsys)(nil),
		(*Request_WifiResetEthPhy)(nil),
		(*Request_WifiFlushHardwareNat)(nil),
		(*Request_WifiWriteCalibration)(nil),
		(*Request_TransceiverIfLoopbackTest)(nil),
		(*Request_TransceiverGetStatus)(nil),
		(*Request_TransceiverGetTelemetry)(nil),
		(*Request_StartUnlock)(nil),
		(*Request_FinishUnlock)(nil),
		(*Request_GetDiagnostics)(nil),
	}
	file_spacex_api_device_device_proto_msgTypes[5].OneofWrappers = []any{
		(*Response_GetNextId)(nil),
		(*Response_EnableDebugTelem)(nil),
		(*Response_FactoryReset)(nil),
		(*Response_GetDeviceInfo)(nil),
		(*Response_GetLog)(nil),
		(*Response_GetNetworkInterfaces)(nil),
		(*Response_GetPing)(nil),
		(*Response_PingHost)(nil),
		(*Response_Reboot)(nil),
		(*Response_SpeedTest)(nil),
		(*Response_SetSku)(nil),
		(*Response_SetTrustedKeys)(nil),
		(*Response_Update)(nil),
		(*Response_GetLocation)(nil),
		(*Response_GetHeapDump)(nil),
		(*Response_RestartControl)(nil),
		(*Response_Fuse)(nil),
		(*Response_GetConnections)(nil),
		(*Response_StartSpeedtest)(nil),
		(*Response_GetSpeedtestStatus)(nil),
		(*Response_ReportClientSpeedtest)(nil),
		(*Response_InitiateRemoteSsh)(nil),
		(*Response_SelfTest)(nil),
		(*Response_SetTestMode)(nil),
		(*Response_SoftwareUpdate)(nil),
		(*Response_GetRadioStats)(nil),
		(*Response_Time)(nil),
		(*Response_RunIperfServer)(nil),
		(*Response_GetGoroutineStackTraces)(nil),
		(*Response_DishAuthenticate)(nil),
		(*Response_DishGetContext)(nil),
		(*Response_DishGetHistory)(nil),
		(*Response_DishGetStatus)(nil),
		(*Response_DishGetObstructionMap)(nil),
		(*Response_DishStow)(nil),
		(*Response_DishSetEmc)(nil),
		(*Response_DishGetEmc)(nil),
		(*Response_DishSetConfig)(nil),
		(*Response_DishGetConfig)(nil),
		(*Response_DishInhibitGps)(nil),
		(*Response_DishClearObstructionMap)(nil),
		(*Response_DishSetMaxPowerTestMode)(nil),
		(*Response_DishActivateRssiScan)(nil),
		(*Response_DishGetRssiScanResult)(nil),
		(*Response_DishFactoryReset)(nil),
		(*Response_ResetButton)(nil),
		(*Response_SetPerVehicleConfig)(nil),
		(*Response_DishAviationTest)(nil),
		(*Response_DishInhibitRf)(nil),
		(*Response_WifiAuthenticate)(nil),
		(*Response_WifiGetClients)(nil),
		(*Response_WifiGetHistory)(nil),
		(*Response_WifiGetPingMetrics)(nil),
		(*Response_WifiGetStatus)(nil),
		(*Response_WifiSetConfig)(nil),
		(*Response_WifiGetConfig)(nil),
		(*Response_WifiSetup)(nil),
		(*Response_WifiGetPersistentStats)(nil),
		(*Response_WifiSetMeshDeviceTrust)(nil),
		(*Response_WifiSetMeshConfig)(nil),
		(*Response_WifiGetClientHistory)(nil),
		(*Response_WifiSelfTest)(nil),
		(*Response_WifiGuestInfo)(nil),
		(*Response_WifiRfTest)(nil),
		(*Response_WifiGetFirewall)(nil),
		(*Response_WifiFactoryTestCommand)(nil),
		(*Response_WifiBackhaulStats)(nil),
		(*Response_WifiClientSandbox)(nil),
		(*Response_WifiUpdate)(nil),
		(*Response_WifiRunDebugNetsys)(nil),
		(*Response_WifiResetEthPhy)(nil),
		(*Response_WifiFlushHardwareNat)(nil),
		(*Response_TransceiverIfLoopbackTest)(nil),
		(*Response_TransceiverGetStatus)(nil),
		(*Response_TransceiverGetTelemetry)(nil),
		(*Response_StartUnlock)(nil),
		(*Response_FinishUnlock)(nil),
		(*Response_WifiGetDiagnostics)(nil),
		(*Response_DishGetDiagnostics)(nil),
	}
	file_spacex_api_device_device_proto_msgTypes[6].OneofWrappers = []any{
		(*Event_WifiNewClientConnected)(nil),
		(*Event_WifiAccountBonding)(nil),
		(*Event_WifiNewPeer)(nil),
		(*Event_WifiCloudStatus)(nil),
		(*Event_WifiClientSandbox)(nil),
	}
	file_spacex_api_device_device_proto_msgTypes[44].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_spacex_api_device_device_proto_rawDesc,
			NumEnums:      9,
			NumMessages:   89,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_spacex_api_device_device_proto_goTypes,
		DependencyIndexes: file_spacex_api_device_device_proto_depIdxs,
		EnumInfos:         file_spacex_api_device_device_proto_enumTypes,
		MessageInfos:      file_spacex_api_device_device_proto_msgTypes,
	}.Build()
	File_spacex_api_device_device_proto = out.File
	file_spacex_api_device_device_proto_rawDesc = nil
	file_spacex_api_device_device_proto_goTypes = nil
	file_spacex_api_device_device_proto_depIdxs = nil
}
