// This file is part of arduino-cli.
//
// Copyright 2020 ARDUINO SA (http://www.arduino.cc/)
//
// This software is released under the GNU General Public License version 3,
// which covers the main part of arduino-cli.
// The terms of this license can be found at:
// https://www.gnu.org/licenses/gpl-3.0.en.html
//
// You can be released from the requirements of the above licenses by purchasing
// a commercial license. Buying such a license is mandatory if you want to
// modify or otherwise use the software for commercial activities involving the
// Arduino software without disclosing the source code of your own applications.
// To purchase a commercial license, send an email to license@arduino.cc.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0
// 	protoc        v3.11.3
// source: commands/board.proto

package commands

import (
	proto "github.com/golang/protobuf/proto"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

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

// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4

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

	// Arduino Core Service instance from the `Init` response.
	Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"`
	// The fully qualified board name of the board you want information about
	// (e.g., `arduino:avr:uno`).
	Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"`
}

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

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

func (*BoardDetailsReq) ProtoMessage() {}

func (x *BoardDetailsReq) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardDetailsReq.ProtoReflect.Descriptor instead.
func (*BoardDetailsReq) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{0}
}

func (x *BoardDetailsReq) GetInstance() *Instance {
	if x != nil {
		return x.Instance
	}
	return nil
}

func (x *BoardDetailsReq) GetFqbn() string {
	if x != nil {
		return x.Fqbn
	}
	return ""
}

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

	// The fully qualified board name of the board.
	Fqbn string `protobuf:"bytes,1,opt,name=fqbn,proto3" json:"fqbn,omitempty"`
	// Name used to identify the board to humans (e.g., Arduino Uno).
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Installed version of the board's platform.
	Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	// The board ID component of the FQBN (e.g., `uno`).
	PropertiesId string `protobuf:"bytes,4,opt,name=propertiesId,proto3" json:"propertiesId,omitempty"`
	// Board alias that can be used as a more user friendly alternative to the
	// FQBN.
	Alias string `protobuf:"bytes,5,opt,name=alias,proto3" json:"alias,omitempty"`
	// Whether this is an official or 3rd party board.
	Official bool `protobuf:"varint,6,opt,name=official,proto3" json:"official,omitempty"`
	// URL of the board's pinout documentation.
	Pinout string `protobuf:"bytes,7,opt,name=pinout,proto3" json:"pinout,omitempty"`
	// Data about the package that contains the board's platform.
	Package *Package `protobuf:"bytes,8,opt,name=package,proto3" json:"package,omitempty"`
	// Data about the board's platform.
	Platform *BoardPlatform `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform,omitempty"`
	// Tool dependencies of the board.
	ToolsDependencies []*ToolsDependencies `protobuf:"bytes,10,rep,name=toolsDependencies,proto3" json:"toolsDependencies,omitempty"`
	// The board's custom configuration options.
	ConfigOptions []*ConfigOption `protobuf:"bytes,11,rep,name=config_options,json=configOptions,proto3" json:"config_options,omitempty"`
	// Identifying information for the board (e.g., USB VID/PID).
	IdentificationPref []*IdentificationPref `protobuf:"bytes,12,rep,name=identification_pref,json=identificationPref,proto3" json:"identification_pref,omitempty"`
	// List of programmers supported by the board
	Programmers []*Programmer `protobuf:"bytes,13,rep,name=programmers,proto3" json:"programmers,omitempty"`
}

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

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

func (*BoardDetailsResp) ProtoMessage() {}

func (x *BoardDetailsResp) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardDetailsResp.ProtoReflect.Descriptor instead.
func (*BoardDetailsResp) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{1}
}

func (x *BoardDetailsResp) GetFqbn() string {
	if x != nil {
		return x.Fqbn
	}
	return ""
}

func (x *BoardDetailsResp) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *BoardDetailsResp) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *BoardDetailsResp) GetPropertiesId() string {
	if x != nil {
		return x.PropertiesId
	}
	return ""
}

func (x *BoardDetailsResp) GetAlias() string {
	if x != nil {
		return x.Alias
	}
	return ""
}

func (x *BoardDetailsResp) GetOfficial() bool {
	if x != nil {
		return x.Official
	}
	return false
}

func (x *BoardDetailsResp) GetPinout() string {
	if x != nil {
		return x.Pinout
	}
	return ""
}

func (x *BoardDetailsResp) GetPackage() *Package {
	if x != nil {
		return x.Package
	}
	return nil
}

func (x *BoardDetailsResp) GetPlatform() *BoardPlatform {
	if x != nil {
		return x.Platform
	}
	return nil
}

func (x *BoardDetailsResp) GetToolsDependencies() []*ToolsDependencies {
	if x != nil {
		return x.ToolsDependencies
	}
	return nil
}

func (x *BoardDetailsResp) GetConfigOptions() []*ConfigOption {
	if x != nil {
		return x.ConfigOptions
	}
	return nil
}

func (x *BoardDetailsResp) GetIdentificationPref() []*IdentificationPref {
	if x != nil {
		return x.IdentificationPref
	}
	return nil
}

func (x *BoardDetailsResp) GetProgrammers() []*Programmer {
	if x != nil {
		return x.Programmers
	}
	return nil
}

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

	// Identifying information for USB-connected boards.
	UsbID *USBID `protobuf:"bytes,1,opt,name=usbID,proto3" json:"usbID,omitempty"`
}

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

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

func (*IdentificationPref) ProtoMessage() {}

func (x *IdentificationPref) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 IdentificationPref.ProtoReflect.Descriptor instead.
func (*IdentificationPref) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{2}
}

func (x *IdentificationPref) GetUsbID() *USBID {
	if x != nil {
		return x.UsbID
	}
	return nil
}

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

	// USB vendor ID.
	VID string `protobuf:"bytes,1,opt,name=VID,proto3" json:"VID,omitempty"`
	// USB product ID.
	PID string `protobuf:"bytes,2,opt,name=PID,proto3" json:"PID,omitempty"`
}

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

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

func (*USBID) ProtoMessage() {}

func (x *USBID) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 USBID.ProtoReflect.Descriptor instead.
func (*USBID) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{3}
}

func (x *USBID) GetVID() string {
	if x != nil {
		return x.VID
	}
	return ""
}

func (x *USBID) GetPID() string {
	if x != nil {
		return x.PID
	}
	return ""
}

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

	// Maintainer of the package.
	Maintainer string `protobuf:"bytes,1,opt,name=maintainer,proto3" json:"maintainer,omitempty"`
	// The URL of the platforms index file
	// (e.g., https://downloads.arduino.cc/packages/package_index.json).
	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// A URL provided by the package author, intended to point to their website.
	WebsiteURL string `protobuf:"bytes,3,opt,name=websiteURL,proto3" json:"websiteURL,omitempty"`
	// Email address of the package maintainer.
	Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
	// Package vendor name.
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	// Resources for getting help about using the package.
	Help *Help `protobuf:"bytes,6,opt,name=help,proto3" json:"help,omitempty"`
}

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

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

func (*Package) ProtoMessage() {}

func (x *Package) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 Package.ProtoReflect.Descriptor instead.
func (*Package) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{4}
}

func (x *Package) GetMaintainer() string {
	if x != nil {
		return x.Maintainer
	}
	return ""
}

func (x *Package) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *Package) GetWebsiteURL() string {
	if x != nil {
		return x.WebsiteURL
	}
	return ""
}

func (x *Package) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *Package) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Package) GetHelp() *Help {
	if x != nil {
		return x.Help
	}
	return nil
}

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

	// URL for getting online help.
	Online string `protobuf:"bytes,1,opt,name=online,proto3" json:"online,omitempty"`
}

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

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

func (*Help) ProtoMessage() {}

func (x *Help) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 Help.ProtoReflect.Descriptor instead.
func (*Help) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{5}
}

func (x *Help) GetOnline() string {
	if x != nil {
		return x.Online
	}
	return ""
}

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

	// Architecture of the platform (e.g., `avr`).
	Architecture string `protobuf:"bytes,1,opt,name=architecture,proto3" json:"architecture,omitempty"`
	// Category of the platform. Set to `Contributed` for 3rd party platforms.
	Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"`
	// Download URL of the platform archive file.
	Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
	// File name of the platform archive.
	ArchiveFileName string `protobuf:"bytes,4,opt,name=archiveFileName,proto3" json:"archiveFileName,omitempty"`
	// Checksum of the platform archive.
	Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"`
	// File size of the platform archive.
	Size int64 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"`
	// Name used to identify the platform to humans.
	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
}

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

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

func (*BoardPlatform) ProtoMessage() {}

func (x *BoardPlatform) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardPlatform.ProtoReflect.Descriptor instead.
func (*BoardPlatform) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{6}
}

func (x *BoardPlatform) GetArchitecture() string {
	if x != nil {
		return x.Architecture
	}
	return ""
}

func (x *BoardPlatform) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *BoardPlatform) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *BoardPlatform) GetArchiveFileName() string {
	if x != nil {
		return x.ArchiveFileName
	}
	return ""
}

func (x *BoardPlatform) GetChecksum() string {
	if x != nil {
		return x.Checksum
	}
	return ""
}

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

func (x *BoardPlatform) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

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

	// Vendor name of the package containing the tool definition.
	Packager string `protobuf:"bytes,1,opt,name=packager,proto3" json:"packager,omitempty"`
	// Tool name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Tool version.
	Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	// Data for the operating system-specific builds of the tool.
	Systems []*Systems `protobuf:"bytes,4,rep,name=systems,proto3" json:"systems,omitempty"`
}

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

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

func (*ToolsDependencies) ProtoMessage() {}

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

func (x *ToolsDependencies) GetPackager() string {
	if x != nil {
		return x.Packager
	}
	return ""
}

func (x *ToolsDependencies) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ToolsDependencies) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *ToolsDependencies) GetSystems() []*Systems {
	if x != nil {
		return x.Systems
	}
	return nil
}

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

	// Checksum of the tool archive.
	Checksum string `protobuf:"bytes,1,opt,name=checksum,proto3" json:"checksum,omitempty"`
	// Operating system identifier.
	Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
	// File name of the tool archive.
	ArchiveFileName string `protobuf:"bytes,3,opt,name=archiveFileName,proto3" json:"archiveFileName,omitempty"`
	// Download URL of the tool archive.
	Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
	// File size of the tool archive.
	Size int64 `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"`
}

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

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

func (*Systems) ProtoMessage() {}

func (x *Systems) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 Systems.ProtoReflect.Descriptor instead.
func (*Systems) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{8}
}

func (x *Systems) GetChecksum() string {
	if x != nil {
		return x.Checksum
	}
	return ""
}

func (x *Systems) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *Systems) GetArchiveFileName() string {
	if x != nil {
		return x.ArchiveFileName
	}
	return ""
}

func (x *Systems) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

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

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

	// ID of the configuration option. For identifying the option to machines.
	Option string `protobuf:"bytes,1,opt,name=option,proto3" json:"option,omitempty"`
	// Name of the configuration option for identifying the option to humans.
	OptionLabel string `protobuf:"bytes,2,opt,name=option_label,json=optionLabel,proto3" json:"option_label,omitempty"`
	// Possible values of the configuration option.
	Values []*ConfigValue `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"`
}

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

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

func (*ConfigOption) ProtoMessage() {}

func (x *ConfigOption) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 ConfigOption.ProtoReflect.Descriptor instead.
func (*ConfigOption) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{9}
}

func (x *ConfigOption) GetOption() string {
	if x != nil {
		return x.Option
	}
	return ""
}

func (x *ConfigOption) GetOptionLabel() string {
	if x != nil {
		return x.OptionLabel
	}
	return ""
}

func (x *ConfigOption) GetValues() []*ConfigValue {
	if x != nil {
		return x.Values
	}
	return nil
}

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

	// The configuration option value.
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	// Label to identify the configuration option to humans.
	ValueLabel string `protobuf:"bytes,2,opt,name=value_label,json=valueLabel,proto3" json:"value_label,omitempty"`
	// Whether the configuration option is selected.
	Selected bool `protobuf:"varint,3,opt,name=selected,proto3" json:"selected,omitempty"`
}

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

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

func (*ConfigValue) ProtoMessage() {}

func (x *ConfigValue) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 ConfigValue.ProtoReflect.Descriptor instead.
func (*ConfigValue) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{10}
}

func (x *ConfigValue) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

func (x *ConfigValue) GetValueLabel() string {
	if x != nil {
		return x.ValueLabel
	}
	return ""
}

func (x *ConfigValue) GetSelected() bool {
	if x != nil {
		return x.Selected
	}
	return false
}

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

	// Arduino Core Service instance from the `Init` response.
	Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"`
	// The board's URI (e.g., /dev/ttyACM0).
	BoardUri string `protobuf:"bytes,2,opt,name=board_uri,json=boardUri,proto3" json:"board_uri,omitempty"`
	// Path of the sketch to attach the board to. The board attachment
	// metadata will be saved to `{sketch_path}/sketch.json`.
	SketchPath string `protobuf:"bytes,3,opt,name=sketch_path,json=sketchPath,proto3" json:"sketch_path,omitempty"`
	// Duration in seconds to search the given URI for a connected board before
	// timing out. The default value is 5 seconds.
	SearchTimeout string `protobuf:"bytes,4,opt,name=search_timeout,json=searchTimeout,proto3" json:"search_timeout,omitempty"`
}

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

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

func (*BoardAttachReq) ProtoMessage() {}

func (x *BoardAttachReq) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardAttachReq.ProtoReflect.Descriptor instead.
func (*BoardAttachReq) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{11}
}

func (x *BoardAttachReq) GetInstance() *Instance {
	if x != nil {
		return x.Instance
	}
	return nil
}

func (x *BoardAttachReq) GetBoardUri() string {
	if x != nil {
		return x.BoardUri
	}
	return ""
}

func (x *BoardAttachReq) GetSketchPath() string {
	if x != nil {
		return x.SketchPath
	}
	return ""
}

func (x *BoardAttachReq) GetSearchTimeout() string {
	if x != nil {
		return x.SearchTimeout
	}
	return ""
}

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

	// Description of the current stage of the board attachment.
	TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"`
}

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

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

func (*BoardAttachResp) ProtoMessage() {}

func (x *BoardAttachResp) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardAttachResp.ProtoReflect.Descriptor instead.
func (*BoardAttachResp) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{12}
}

func (x *BoardAttachResp) GetTaskProgress() *TaskProgress {
	if x != nil {
		return x.TaskProgress
	}
	return nil
}

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

	// Arduino Core Service instance from the `Init` response.
	Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"`
}

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

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

func (*BoardListReq) ProtoMessage() {}

func (x *BoardListReq) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardListReq.ProtoReflect.Descriptor instead.
func (*BoardListReq) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{13}
}

func (x *BoardListReq) GetInstance() *Instance {
	if x != nil {
		return x.Instance
	}
	return nil
}

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

	// List of ports and the boards detected on those ports.
	Ports []*DetectedPort `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"`
}

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

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

func (*BoardListResp) ProtoMessage() {}

func (x *BoardListResp) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardListResp.ProtoReflect.Descriptor instead.
func (*BoardListResp) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{14}
}

func (x *BoardListResp) GetPorts() []*DetectedPort {
	if x != nil {
		return x.Ports
	}
	return nil
}

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

	// Address of the port (e.g., `serial:///dev/ttyACM0`).
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// Protocol of the port (e.g., `serial`).
	Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"`
	// A human friendly description of the protocol (e.g., "Serial Port (USB)").
	ProtocolLabel string `protobuf:"bytes,3,opt,name=protocol_label,json=protocolLabel,proto3" json:"protocol_label,omitempty"`
	// The boards attached to the port.
	Boards []*BoardListItem `protobuf:"bytes,4,rep,name=boards,proto3" json:"boards,omitempty"`
}

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

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

func (*DetectedPort) ProtoMessage() {}

func (x *DetectedPort) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 DetectedPort.ProtoReflect.Descriptor instead.
func (*DetectedPort) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{15}
}

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

func (x *DetectedPort) GetProtocol() string {
	if x != nil {
		return x.Protocol
	}
	return ""
}

func (x *DetectedPort) GetProtocolLabel() string {
	if x != nil {
		return x.ProtocolLabel
	}
	return ""
}

func (x *DetectedPort) GetBoards() []*BoardListItem {
	if x != nil {
		return x.Boards
	}
	return nil
}

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

	// Arduino Core Service instance from the `Init` response.
	Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"`
	// The search query to filter the board list by.
	SearchArgs []string `protobuf:"bytes,2,rep,name=search_args,json=searchArgs,proto3" json:"search_args,omitempty"`
}

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

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

func (*BoardListAllReq) ProtoMessage() {}

func (x *BoardListAllReq) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardListAllReq.ProtoReflect.Descriptor instead.
func (*BoardListAllReq) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{16}
}

func (x *BoardListAllReq) GetInstance() *Instance {
	if x != nil {
		return x.Instance
	}
	return nil
}

func (x *BoardListAllReq) GetSearchArgs() []string {
	if x != nil {
		return x.SearchArgs
	}
	return nil
}

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

	// List of installed boards.
	Boards []*BoardListItem `protobuf:"bytes,1,rep,name=boards,proto3" json:"boards,omitempty"`
}

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

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

func (*BoardListAllResp) ProtoMessage() {}

func (x *BoardListAllResp) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardListAllResp.ProtoReflect.Descriptor instead.
func (*BoardListAllResp) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{17}
}

func (x *BoardListAllResp) GetBoards() []*BoardListItem {
	if x != nil {
		return x.Boards
	}
	return nil
}

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

	// The name for use when identifying the board to a human.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The fully qualified board name. Used to identify the board to a machine.
	FQBN string `protobuf:"bytes,2,opt,name=FQBN,proto3" json:"FQBN,omitempty"`
}

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

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

func (*BoardListItem) ProtoMessage() {}

func (x *BoardListItem) ProtoReflect() protoreflect.Message {
	mi := &file_commands_board_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 BoardListItem.ProtoReflect.Descriptor instead.
func (*BoardListItem) Descriptor() ([]byte, []int) {
	return file_commands_board_proto_rawDescGZIP(), []int{18}
}

func (x *BoardListItem) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *BoardListItem) GetFQBN() string {
	if x != nil {
		return x.FQBN
	}
	return ""
}

var File_commands_board_proto protoreflect.FileDescriptor

var file_commands_board_proto_rawDesc = []byte{
	0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x62, 0x6f, 0x61, 0x72, 0x64,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69,
	0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x1a,
	0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x0f, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44,
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63,
	0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
	0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08,
	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x8f, 0x05, 0x0a,
	0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a,
	0x08, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x08, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x6e,
	0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6f, 0x75,
	0x74, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e,
	0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a,
	0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x26, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69,
	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x50,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
	0x6d, 0x12, 0x58, 0x0a, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64,
	0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63,
	0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x44, 0x65, 0x70, 0x65,
	0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x44,
	0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f,
	0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x13, 0x69, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66,
	0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75,
	0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73,
	0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
	0x72, 0x65, 0x66, 0x52, 0x12, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72,
	0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63,
	0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f,
	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65,
	0x72, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x22, 0x4a,
	0x0a, 0x12, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x50, 0x72, 0x65, 0x66, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x62, 0x49, 0x44, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f,
	0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x55, 0x53,
	0x42, 0x49, 0x44, 0x52, 0x05, 0x75, 0x73, 0x62, 0x49, 0x44, 0x22, 0x2b, 0x0a, 0x05, 0x55, 0x53,
	0x42, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x56, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x50, 0x49, 0x44, 0x22, 0xb8, 0x01, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65,
	0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69,
	0x74, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x31, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
	0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x04, 0x68, 0x65,
	0x6c, 0x70, 0x22, 0x1e, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e,
	0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69,
	0x6e, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63,
	0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68,
	0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76,
	0x65, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04,
	0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x44, 0x65,
	0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69,
	0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e,
	0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73,
	0x22, 0x89, 0x01, 0x0a, 0x07, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08,
	0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f,
	0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69,
	0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x87, 0x01, 0x0a,
	0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
	0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3c, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72,
	0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
	0x64, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
	0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
	0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x0e, 0x42, 0x6f, 0x61,
	0x72, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69,
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
	0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6f,
	0x61, 0x72, 0x64, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62,
	0x6f, 0x61, 0x72, 0x64, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63,
	0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b,
	0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72,
	0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22,
	0x5d, 0x0a, 0x0f, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72,
	0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x61,
	0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
	0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4d,
	0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x3d,
	0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c,
	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4c, 0x0a,
	0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b,
	0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e,
	0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64,
	0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x0c,
	0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 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, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c,
	0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x06, 0x62, 0x6f, 0x61,
	0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x61,
	0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
	0x6e, 0x64, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65,
	0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x71, 0x0a, 0x0f, 0x42, 0x6f, 0x61,
	0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08,
	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
	0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e,
	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x22, 0x52, 0x0a, 0x10,
	0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x3e, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c,
	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64,
	0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73,
	0x22, 0x37, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65,
	0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x51, 0x42, 0x4e, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x51, 0x42, 0x4e, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74,
	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f,
	0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f,
	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_commands_board_proto_rawDescOnce sync.Once
	file_commands_board_proto_rawDescData = file_commands_board_proto_rawDesc
)

func file_commands_board_proto_rawDescGZIP() []byte {
	file_commands_board_proto_rawDescOnce.Do(func() {
		file_commands_board_proto_rawDescData = protoimpl.X.CompressGZIP(file_commands_board_proto_rawDescData)
	})
	return file_commands_board_proto_rawDescData
}

var file_commands_board_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_commands_board_proto_goTypes = []interface{}{
	(*BoardDetailsReq)(nil),    // 0: cc.arduino.cli.commands.BoardDetailsReq
	(*BoardDetailsResp)(nil),   // 1: cc.arduino.cli.commands.BoardDetailsResp
	(*IdentificationPref)(nil), // 2: cc.arduino.cli.commands.IdentificationPref
	(*USBID)(nil),              // 3: cc.arduino.cli.commands.USBID
	(*Package)(nil),            // 4: cc.arduino.cli.commands.Package
	(*Help)(nil),               // 5: cc.arduino.cli.commands.Help
	(*BoardPlatform)(nil),      // 6: cc.arduino.cli.commands.BoardPlatform
	(*ToolsDependencies)(nil),  // 7: cc.arduino.cli.commands.ToolsDependencies
	(*Systems)(nil),            // 8: cc.arduino.cli.commands.Systems
	(*ConfigOption)(nil),       // 9: cc.arduino.cli.commands.ConfigOption
	(*ConfigValue)(nil),        // 10: cc.arduino.cli.commands.ConfigValue
	(*BoardAttachReq)(nil),     // 11: cc.arduino.cli.commands.BoardAttachReq
	(*BoardAttachResp)(nil),    // 12: cc.arduino.cli.commands.BoardAttachResp
	(*BoardListReq)(nil),       // 13: cc.arduino.cli.commands.BoardListReq
	(*BoardListResp)(nil),      // 14: cc.arduino.cli.commands.BoardListResp
	(*DetectedPort)(nil),       // 15: cc.arduino.cli.commands.DetectedPort
	(*BoardListAllReq)(nil),    // 16: cc.arduino.cli.commands.BoardListAllReq
	(*BoardListAllResp)(nil),   // 17: cc.arduino.cli.commands.BoardListAllResp
	(*BoardListItem)(nil),      // 18: cc.arduino.cli.commands.BoardListItem
	(*Instance)(nil),           // 19: cc.arduino.cli.commands.Instance
	(*Programmer)(nil),         // 20: cc.arduino.cli.commands.Programmer
	(*TaskProgress)(nil),       // 21: cc.arduino.cli.commands.TaskProgress
}
var file_commands_board_proto_depIdxs = []int32{
	19, // 0: cc.arduino.cli.commands.BoardDetailsReq.instance:type_name -> cc.arduino.cli.commands.Instance
	4,  // 1: cc.arduino.cli.commands.BoardDetailsResp.package:type_name -> cc.arduino.cli.commands.Package
	6,  // 2: cc.arduino.cli.commands.BoardDetailsResp.platform:type_name -> cc.arduino.cli.commands.BoardPlatform
	7,  // 3: cc.arduino.cli.commands.BoardDetailsResp.toolsDependencies:type_name -> cc.arduino.cli.commands.ToolsDependencies
	9,  // 4: cc.arduino.cli.commands.BoardDetailsResp.config_options:type_name -> cc.arduino.cli.commands.ConfigOption
	2,  // 5: cc.arduino.cli.commands.BoardDetailsResp.identification_pref:type_name -> cc.arduino.cli.commands.IdentificationPref
	20, // 6: cc.arduino.cli.commands.BoardDetailsResp.programmers:type_name -> cc.arduino.cli.commands.Programmer
	3,  // 7: cc.arduino.cli.commands.IdentificationPref.usbID:type_name -> cc.arduino.cli.commands.USBID
	5,  // 8: cc.arduino.cli.commands.Package.help:type_name -> cc.arduino.cli.commands.Help
	8,  // 9: cc.arduino.cli.commands.ToolsDependencies.systems:type_name -> cc.arduino.cli.commands.Systems
	10, // 10: cc.arduino.cli.commands.ConfigOption.values:type_name -> cc.arduino.cli.commands.ConfigValue
	19, // 11: cc.arduino.cli.commands.BoardAttachReq.instance:type_name -> cc.arduino.cli.commands.Instance
	21, // 12: cc.arduino.cli.commands.BoardAttachResp.task_progress:type_name -> cc.arduino.cli.commands.TaskProgress
	19, // 13: cc.arduino.cli.commands.BoardListReq.instance:type_name -> cc.arduino.cli.commands.Instance
	15, // 14: cc.arduino.cli.commands.BoardListResp.ports:type_name -> cc.arduino.cli.commands.DetectedPort
	18, // 15: cc.arduino.cli.commands.DetectedPort.boards:type_name -> cc.arduino.cli.commands.BoardListItem
	19, // 16: cc.arduino.cli.commands.BoardListAllReq.instance:type_name -> cc.arduino.cli.commands.Instance
	18, // 17: cc.arduino.cli.commands.BoardListAllResp.boards:type_name -> cc.arduino.cli.commands.BoardListItem
	18, // [18:18] is the sub-list for method output_type
	18, // [18:18] is the sub-list for method input_type
	18, // [18:18] is the sub-list for extension type_name
	18, // [18:18] is the sub-list for extension extendee
	0,  // [0:18] is the sub-list for field type_name
}

func init() { file_commands_board_proto_init() }
func file_commands_board_proto_init() {
	if File_commands_board_proto != nil {
		return
	}
	file_commands_common_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_commands_board_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardDetailsReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardDetailsResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IdentificationPref); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*USBID); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Package); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Help); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardPlatform); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ToolsDependencies); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Systems); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigOption); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigValue); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardAttachReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardAttachResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DetectedPort); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardListAllReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardListAllResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_commands_board_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BoardListItem); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_commands_board_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   19,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_commands_board_proto_goTypes,
		DependencyIndexes: file_commands_board_proto_depIdxs,
		MessageInfos:      file_commands_board_proto_msgTypes,
	}.Build()
	File_commands_board_proto = out.File
	file_commands_board_proto_rawDesc = nil
	file_commands_board_proto_goTypes = nil
	file_commands_board_proto_depIdxs = nil
}
