// source: commands/board.proto
/**
 * @fileoverview
 * @enhanceable
 * @suppress {messageConventions} JS Compiler reports an error if a variable or
 *     field starts with 'MSG_' and isn't a translatable message.
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck

var jspb = require('google-protobuf');
var goog = jspb;
var global = Function('return this')();

var commands_common_pb = require('../commands/common_pb.js');
goog.object.extend(proto, commands_common_pb);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardAttachReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardAttachResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardDetailsReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardDetailsResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardListAllReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardListAllResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardListItem', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardListReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardListResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardListWatchReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardListWatchResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.BoardPlatform', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.ConfigOption', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.ConfigValue', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.DetectedPort', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.Help', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.IdentificationPref', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.Package', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.Systems', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.ToolsDependencies', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.USBID', null, global);
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardDetailsReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardDetailsReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardDetailsReq.displayName = 'proto.cc.arduino.cli.commands.BoardDetailsReq';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardDetailsResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.BoardDetailsResp.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardDetailsResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardDetailsResp.displayName = 'proto.cc.arduino.cli.commands.BoardDetailsResp';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.IdentificationPref = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.IdentificationPref, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.IdentificationPref.displayName = 'proto.cc.arduino.cli.commands.IdentificationPref';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.USBID = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.USBID, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.USBID.displayName = 'proto.cc.arduino.cli.commands.USBID';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.Package = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.Package, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.Package.displayName = 'proto.cc.arduino.cli.commands.Package';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.Help = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.Help, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.Help.displayName = 'proto.cc.arduino.cli.commands.Help';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardPlatform = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardPlatform, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardPlatform.displayName = 'proto.cc.arduino.cli.commands.BoardPlatform';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.ToolsDependencies = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.ToolsDependencies.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.ToolsDependencies, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.ToolsDependencies.displayName = 'proto.cc.arduino.cli.commands.ToolsDependencies';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.Systems = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.Systems, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.Systems.displayName = 'proto.cc.arduino.cli.commands.Systems';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.ConfigOption = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.ConfigOption.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.ConfigOption, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.ConfigOption.displayName = 'proto.cc.arduino.cli.commands.ConfigOption';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.ConfigValue = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.ConfigValue, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.ConfigValue.displayName = 'proto.cc.arduino.cli.commands.ConfigValue';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardAttachReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardAttachReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardAttachReq.displayName = 'proto.cc.arduino.cli.commands.BoardAttachReq';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardAttachResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardAttachResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardAttachResp.displayName = 'proto.cc.arduino.cli.commands.BoardAttachResp';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardListReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardListReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardListReq.displayName = 'proto.cc.arduino.cli.commands.BoardListReq';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardListResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.BoardListResp.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardListResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardListResp.displayName = 'proto.cc.arduino.cli.commands.BoardListResp';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.DetectedPort = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.DetectedPort.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.DetectedPort, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.DetectedPort.displayName = 'proto.cc.arduino.cli.commands.DetectedPort';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardListAllReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.BoardListAllReq.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardListAllReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardListAllReq.displayName = 'proto.cc.arduino.cli.commands.BoardListAllReq';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardListAllResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.BoardListAllResp.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardListAllResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardListAllResp.displayName = 'proto.cc.arduino.cli.commands.BoardListAllResp';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardListWatchReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardListWatchReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardListWatchReq.displayName = 'proto.cc.arduino.cli.commands.BoardListWatchReq';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardListWatchResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardListWatchResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardListWatchResp.displayName = 'proto.cc.arduino.cli.commands.BoardListWatchResp';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.cc.arduino.cli.commands.BoardListItem = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.BoardListItem, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.BoardListItem.displayName = 'proto.cc.arduino.cli.commands.BoardListItem';
}



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardDetailsReq.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardDetailsReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    fqbn: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsReq}
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardDetailsReq;
  return proto.cc.arduino.cli.commands.BoardDetailsReq.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardDetailsReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsReq}
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new commands_common_pb.Instance;
      reader.readMessage(value,commands_common_pb.Instance.deserializeBinaryFromReader);
      msg.setInstance(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setFqbn(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardDetailsReq.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardDetailsReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getFqbn();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.prototype.getInstance = function() {
  return /** @type{?proto.cc.arduino.cli.commands.Instance} */ (
    jspb.Message.getWrapperField(this, commands_common_pb.Instance, 1));
};


/**
 * @param {?proto.cc.arduino.cli.commands.Instance|undefined} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsReq} returns this
*/
proto.cc.arduino.cli.commands.BoardDetailsReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsReq} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.prototype.clearInstance = function() {
  return this.setInstance(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.prototype.hasInstance = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional string fqbn = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.prototype.getFqbn = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsReq} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsReq.prototype.setFqbn = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.repeatedFields_ = [10,11,12,13];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardDetailsResp.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardDetailsResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    fqbn: jspb.Message.getFieldWithDefault(msg, 1, ""),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    version: jspb.Message.getFieldWithDefault(msg, 3, ""),
    propertiesid: jspb.Message.getFieldWithDefault(msg, 4, ""),
    alias: jspb.Message.getFieldWithDefault(msg, 5, ""),
    official: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
    pinout: jspb.Message.getFieldWithDefault(msg, 7, ""),
    pb_package: (f = msg.getPackage()) && proto.cc.arduino.cli.commands.Package.toObject(includeInstance, f),
    platform: (f = msg.getPlatform()) && proto.cc.arduino.cli.commands.BoardPlatform.toObject(includeInstance, f),
    toolsdependenciesList: jspb.Message.toObjectList(msg.getToolsdependenciesList(),
    proto.cc.arduino.cli.commands.ToolsDependencies.toObject, includeInstance),
    configOptionsList: jspb.Message.toObjectList(msg.getConfigOptionsList(),
    proto.cc.arduino.cli.commands.ConfigOption.toObject, includeInstance),
    identificationPrefList: jspb.Message.toObjectList(msg.getIdentificationPrefList(),
    proto.cc.arduino.cli.commands.IdentificationPref.toObject, includeInstance),
    programmersList: jspb.Message.toObjectList(msg.getProgrammersList(),
    commands_common_pb.Programmer.toObject, includeInstance),
    debuggingSupported: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardDetailsResp;
  return proto.cc.arduino.cli.commands.BoardDetailsResp.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardDetailsResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setFqbn(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersion(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setPropertiesid(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setAlias(value);
      break;
    case 6:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setOfficial(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setPinout(value);
      break;
    case 8:
      var value = new proto.cc.arduino.cli.commands.Package;
      reader.readMessage(value,proto.cc.arduino.cli.commands.Package.deserializeBinaryFromReader);
      msg.setPackage(value);
      break;
    case 9:
      var value = new proto.cc.arduino.cli.commands.BoardPlatform;
      reader.readMessage(value,proto.cc.arduino.cli.commands.BoardPlatform.deserializeBinaryFromReader);
      msg.setPlatform(value);
      break;
    case 10:
      var value = new proto.cc.arduino.cli.commands.ToolsDependencies;
      reader.readMessage(value,proto.cc.arduino.cli.commands.ToolsDependencies.deserializeBinaryFromReader);
      msg.addToolsdependencies(value);
      break;
    case 11:
      var value = new proto.cc.arduino.cli.commands.ConfigOption;
      reader.readMessage(value,proto.cc.arduino.cli.commands.ConfigOption.deserializeBinaryFromReader);
      msg.addConfigOptions(value);
      break;
    case 12:
      var value = new proto.cc.arduino.cli.commands.IdentificationPref;
      reader.readMessage(value,proto.cc.arduino.cli.commands.IdentificationPref.deserializeBinaryFromReader);
      msg.addIdentificationPref(value);
      break;
    case 13:
      var value = new commands_common_pb.Programmer;
      reader.readMessage(value,commands_common_pb.Programmer.deserializeBinaryFromReader);
      msg.addProgrammers(value);
      break;
    case 14:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setDebuggingSupported(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardDetailsResp.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardDetailsResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getFqbn();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getPropertiesid();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getAlias();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getOfficial();
  if (f) {
    writer.writeBool(
      6,
      f
    );
  }
  f = message.getPinout();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getPackage();
  if (f != null) {
    writer.writeMessage(
      8,
      f,
      proto.cc.arduino.cli.commands.Package.serializeBinaryToWriter
    );
  }
  f = message.getPlatform();
  if (f != null) {
    writer.writeMessage(
      9,
      f,
      proto.cc.arduino.cli.commands.BoardPlatform.serializeBinaryToWriter
    );
  }
  f = message.getToolsdependenciesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      10,
      f,
      proto.cc.arduino.cli.commands.ToolsDependencies.serializeBinaryToWriter
    );
  }
  f = message.getConfigOptionsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      11,
      f,
      proto.cc.arduino.cli.commands.ConfigOption.serializeBinaryToWriter
    );
  }
  f = message.getIdentificationPrefList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      12,
      f,
      proto.cc.arduino.cli.commands.IdentificationPref.serializeBinaryToWriter
    );
  }
  f = message.getProgrammersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      13,
      f,
      commands_common_pb.Programmer.serializeBinaryToWriter
    );
  }
  f = message.getDebuggingSupported();
  if (f) {
    writer.writeBool(
      14,
      f
    );
  }
};


/**
 * optional string fqbn = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getFqbn = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setFqbn = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string version = 3;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getVersion = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setVersion = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string propertiesId = 4;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getPropertiesid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setPropertiesid = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string alias = 5;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getAlias = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setAlias = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional bool official = 6;
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getOfficial = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
};


/**
 * @param {boolean} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setOfficial = function(value) {
  return jspb.Message.setProto3BooleanField(this, 6, value);
};


/**
 * optional string pinout = 7;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getPinout = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setPinout = function(value) {
  return jspb.Message.setProto3StringField(this, 7, value);
};


/**
 * optional Package package = 8;
 * @return {?proto.cc.arduino.cli.commands.Package}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getPackage = function() {
  return /** @type{?proto.cc.arduino.cli.commands.Package} */ (
    jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.Package, 8));
};


/**
 * @param {?proto.cc.arduino.cli.commands.Package|undefined} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
*/
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setPackage = function(value) {
  return jspb.Message.setWrapperField(this, 8, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.clearPackage = function() {
  return this.setPackage(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.hasPackage = function() {
  return jspb.Message.getField(this, 8) != null;
};


/**
 * optional BoardPlatform platform = 9;
 * @return {?proto.cc.arduino.cli.commands.BoardPlatform}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getPlatform = function() {
  return /** @type{?proto.cc.arduino.cli.commands.BoardPlatform} */ (
    jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.BoardPlatform, 9));
};


/**
 * @param {?proto.cc.arduino.cli.commands.BoardPlatform|undefined} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
*/
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setPlatform = function(value) {
  return jspb.Message.setWrapperField(this, 9, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.clearPlatform = function() {
  return this.setPlatform(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.hasPlatform = function() {
  return jspb.Message.getField(this, 9) != null;
};


/**
 * repeated ToolsDependencies toolsDependencies = 10;
 * @return {!Array<!proto.cc.arduino.cli.commands.ToolsDependencies>}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getToolsdependenciesList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.ToolsDependencies>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.ToolsDependencies, 10));
};


/**
 * @param {!Array<!proto.cc.arduino.cli.commands.ToolsDependencies>} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
*/
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setToolsdependenciesList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 10, value);
};


/**
 * @param {!proto.cc.arduino.cli.commands.ToolsDependencies=} opt_value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.ToolsDependencies}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.addToolsdependencies = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 10, opt_value, proto.cc.arduino.cli.commands.ToolsDependencies, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.clearToolsdependenciesList = function() {
  return this.setToolsdependenciesList([]);
};


/**
 * repeated ConfigOption config_options = 11;
 * @return {!Array<!proto.cc.arduino.cli.commands.ConfigOption>}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getConfigOptionsList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.ConfigOption>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.ConfigOption, 11));
};


/**
 * @param {!Array<!proto.cc.arduino.cli.commands.ConfigOption>} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
*/
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setConfigOptionsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 11, value);
};


/**
 * @param {!proto.cc.arduino.cli.commands.ConfigOption=} opt_value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.ConfigOption}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.addConfigOptions = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 11, opt_value, proto.cc.arduino.cli.commands.ConfigOption, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.clearConfigOptionsList = function() {
  return this.setConfigOptionsList([]);
};


/**
 * repeated IdentificationPref identification_pref = 12;
 * @return {!Array<!proto.cc.arduino.cli.commands.IdentificationPref>}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getIdentificationPrefList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.IdentificationPref>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.IdentificationPref, 12));
};


/**
 * @param {!Array<!proto.cc.arduino.cli.commands.IdentificationPref>} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
*/
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setIdentificationPrefList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 12, value);
};


/**
 * @param {!proto.cc.arduino.cli.commands.IdentificationPref=} opt_value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.IdentificationPref}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.addIdentificationPref = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 12, opt_value, proto.cc.arduino.cli.commands.IdentificationPref, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.clearIdentificationPrefList = function() {
  return this.setIdentificationPrefList([]);
};


/**
 * repeated Programmer programmers = 13;
 * @return {!Array<!proto.cc.arduino.cli.commands.Programmer>}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getProgrammersList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.Programmer>} */ (
    jspb.Message.getRepeatedWrapperField(this, commands_common_pb.Programmer, 13));
};


/**
 * @param {!Array<!proto.cc.arduino.cli.commands.Programmer>} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
*/
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setProgrammersList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 13, value);
};


/**
 * @param {!proto.cc.arduino.cli.commands.Programmer=} opt_value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.Programmer}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.addProgrammers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 13, opt_value, proto.cc.arduino.cli.commands.Programmer, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.clearProgrammersList = function() {
  return this.setProgrammersList([]);
};


/**
 * optional bool debugging_supported = 14;
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getDebuggingSupported = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));
};


/**
 * @param {boolean} value
 * @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
 */
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setDebuggingSupported = function(value) {
  return jspb.Message.setProto3BooleanField(this, 14, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.IdentificationPref.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.IdentificationPref.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.IdentificationPref} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.IdentificationPref.toObject = function(includeInstance, msg) {
  var f, obj = {
    usbid: (f = msg.getUsbid()) && proto.cc.arduino.cli.commands.USBID.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.IdentificationPref}
 */
proto.cc.arduino.cli.commands.IdentificationPref.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.IdentificationPref;
  return proto.cc.arduino.cli.commands.IdentificationPref.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.IdentificationPref} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.IdentificationPref}
 */
proto.cc.arduino.cli.commands.IdentificationPref.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.cc.arduino.cli.commands.USBID;
      reader.readMessage(value,proto.cc.arduino.cli.commands.USBID.deserializeBinaryFromReader);
      msg.setUsbid(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.IdentificationPref.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.IdentificationPref.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.IdentificationPref} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.IdentificationPref.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUsbid();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.cc.arduino.cli.commands.USBID.serializeBinaryToWriter
    );
  }
};


/**
 * optional USBID usbID = 1;
 * @return {?proto.cc.arduino.cli.commands.USBID}
 */
proto.cc.arduino.cli.commands.IdentificationPref.prototype.getUsbid = function() {
  return /** @type{?proto.cc.arduino.cli.commands.USBID} */ (
    jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.USBID, 1));
};


/**
 * @param {?proto.cc.arduino.cli.commands.USBID|undefined} value
 * @return {!proto.cc.arduino.cli.commands.IdentificationPref} returns this
*/
proto.cc.arduino.cli.commands.IdentificationPref.prototype.setUsbid = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.IdentificationPref} returns this
 */
proto.cc.arduino.cli.commands.IdentificationPref.prototype.clearUsbid = function() {
  return this.setUsbid(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.IdentificationPref.prototype.hasUsbid = function() {
  return jspb.Message.getField(this, 1) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.USBID.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.USBID.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.USBID} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.USBID.toObject = function(includeInstance, msg) {
  var f, obj = {
    vid: jspb.Message.getFieldWithDefault(msg, 1, ""),
    pid: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.USBID}
 */
proto.cc.arduino.cli.commands.USBID.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.USBID;
  return proto.cc.arduino.cli.commands.USBID.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.USBID} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.USBID}
 */
proto.cc.arduino.cli.commands.USBID.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setVid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPid(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.USBID.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.USBID.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.USBID} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.USBID.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getVid();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPid();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string VID = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.USBID.prototype.getVid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.USBID} returns this
 */
proto.cc.arduino.cli.commands.USBID.prototype.setVid = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string PID = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.USBID.prototype.getPid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.USBID} returns this
 */
proto.cc.arduino.cli.commands.USBID.prototype.setPid = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.Package.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.Package.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.Package} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.Package.toObject = function(includeInstance, msg) {
  var f, obj = {
    maintainer: jspb.Message.getFieldWithDefault(msg, 1, ""),
    url: jspb.Message.getFieldWithDefault(msg, 2, ""),
    websiteurl: jspb.Message.getFieldWithDefault(msg, 3, ""),
    email: jspb.Message.getFieldWithDefault(msg, 4, ""),
    name: jspb.Message.getFieldWithDefault(msg, 5, ""),
    help: (f = msg.getHelp()) && proto.cc.arduino.cli.commands.Help.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.Package}
 */
proto.cc.arduino.cli.commands.Package.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.Package;
  return proto.cc.arduino.cli.commands.Package.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.Package} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.Package}
 */
proto.cc.arduino.cli.commands.Package.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setMaintainer(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setUrl(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setWebsiteurl(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setEmail(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 6:
      var value = new proto.cc.arduino.cli.commands.Help;
      reader.readMessage(value,proto.cc.arduino.cli.commands.Help.deserializeBinaryFromReader);
      msg.setHelp(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.Package.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.Package.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.Package} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.Package.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getMaintainer();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUrl();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getWebsiteurl();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getEmail();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getHelp();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      proto.cc.arduino.cli.commands.Help.serializeBinaryToWriter
    );
  }
};


/**
 * optional string maintainer = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Package.prototype.getMaintainer = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Package} returns this
 */
proto.cc.arduino.cli.commands.Package.prototype.setMaintainer = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string url = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Package.prototype.getUrl = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Package} returns this
 */
proto.cc.arduino.cli.commands.Package.prototype.setUrl = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string websiteURL = 3;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Package.prototype.getWebsiteurl = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Package} returns this
 */
proto.cc.arduino.cli.commands.Package.prototype.setWebsiteurl = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string email = 4;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Package.prototype.getEmail = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Package} returns this
 */
proto.cc.arduino.cli.commands.Package.prototype.setEmail = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string name = 5;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Package.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Package} returns this
 */
proto.cc.arduino.cli.commands.Package.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional Help help = 6;
 * @return {?proto.cc.arduino.cli.commands.Help}
 */
proto.cc.arduino.cli.commands.Package.prototype.getHelp = function() {
  return /** @type{?proto.cc.arduino.cli.commands.Help} */ (
    jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.Help, 6));
};


/**
 * @param {?proto.cc.arduino.cli.commands.Help|undefined} value
 * @return {!proto.cc.arduino.cli.commands.Package} returns this
*/
proto.cc.arduino.cli.commands.Package.prototype.setHelp = function(value) {
  return jspb.Message.setWrapperField(this, 6, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.Package} returns this
 */
proto.cc.arduino.cli.commands.Package.prototype.clearHelp = function() {
  return this.setHelp(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.Package.prototype.hasHelp = function() {
  return jspb.Message.getField(this, 6) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.Help.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.Help.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.Help} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.Help.toObject = function(includeInstance, msg) {
  var f, obj = {
    online: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.Help}
 */
proto.cc.arduino.cli.commands.Help.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.Help;
  return proto.cc.arduino.cli.commands.Help.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.Help} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.Help}
 */
proto.cc.arduino.cli.commands.Help.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setOnline(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.Help.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.Help.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.Help} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.Help.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getOnline();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string online = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Help.prototype.getOnline = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Help} returns this
 */
proto.cc.arduino.cli.commands.Help.prototype.setOnline = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardPlatform.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardPlatform} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardPlatform.toObject = function(includeInstance, msg) {
  var f, obj = {
    architecture: jspb.Message.getFieldWithDefault(msg, 1, ""),
    category: jspb.Message.getFieldWithDefault(msg, 2, ""),
    url: jspb.Message.getFieldWithDefault(msg, 3, ""),
    archivefilename: jspb.Message.getFieldWithDefault(msg, 4, ""),
    checksum: jspb.Message.getFieldWithDefault(msg, 5, ""),
    size: jspb.Message.getFieldWithDefault(msg, 6, 0),
    name: jspb.Message.getFieldWithDefault(msg, 7, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardPlatform}
 */
proto.cc.arduino.cli.commands.BoardPlatform.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardPlatform;
  return proto.cc.arduino.cli.commands.BoardPlatform.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardPlatform} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardPlatform}
 */
proto.cc.arduino.cli.commands.BoardPlatform.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setArchitecture(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setCategory(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setUrl(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setArchivefilename(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setChecksum(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setSize(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardPlatform.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardPlatform} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardPlatform.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getArchitecture();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getCategory();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getUrl();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getArchivefilename();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getChecksum();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getSize();
  if (f !== 0) {
    writer.writeInt64(
      6,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
};


/**
 * optional string architecture = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.getArchitecture = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardPlatform} returns this
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.setArchitecture = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string category = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.getCategory = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardPlatform} returns this
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.setCategory = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string url = 3;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.getUrl = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardPlatform} returns this
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.setUrl = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string archiveFileName = 4;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.getArchivefilename = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardPlatform} returns this
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.setArchivefilename = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string checksum = 5;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.getChecksum = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardPlatform} returns this
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.setChecksum = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional int64 size = 6;
 * @return {number}
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.getSize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/**
 * @param {number} value
 * @return {!proto.cc.arduino.cli.commands.BoardPlatform} returns this
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.setSize = function(value) {
  return jspb.Message.setProto3IntField(this, 6, value);
};


/**
 * optional string name = 7;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardPlatform} returns this
 */
proto.cc.arduino.cli.commands.BoardPlatform.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 7, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.ToolsDependencies.repeatedFields_ = [4];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.ToolsDependencies.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.ToolsDependencies} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ToolsDependencies.toObject = function(includeInstance, msg) {
  var f, obj = {
    packager: jspb.Message.getFieldWithDefault(msg, 1, ""),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    version: jspb.Message.getFieldWithDefault(msg, 3, ""),
    systemsList: jspb.Message.toObjectList(msg.getSystemsList(),
    proto.cc.arduino.cli.commands.Systems.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.ToolsDependencies}
 */
proto.cc.arduino.cli.commands.ToolsDependencies.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.ToolsDependencies;
  return proto.cc.arduino.cli.commands.ToolsDependencies.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.ToolsDependencies} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.ToolsDependencies}
 */
proto.cc.arduino.cli.commands.ToolsDependencies.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setPackager(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersion(value);
      break;
    case 4:
      var value = new proto.cc.arduino.cli.commands.Systems;
      reader.readMessage(value,proto.cc.arduino.cli.commands.Systems.deserializeBinaryFromReader);
      msg.addSystems(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.ToolsDependencies.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.ToolsDependencies} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ToolsDependencies.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPackager();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getSystemsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      4,
      f,
      proto.cc.arduino.cli.commands.Systems.serializeBinaryToWriter
    );
  }
};


/**
 * optional string packager = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.getPackager = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.ToolsDependencies} returns this
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.setPackager = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.ToolsDependencies} returns this
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string version = 3;
 * @return {string}
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.getVersion = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.ToolsDependencies} returns this
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.setVersion = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * repeated Systems systems = 4;
 * @return {!Array<!proto.cc.arduino.cli.commands.Systems>}
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.getSystemsList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.Systems>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.Systems, 4));
};


/**
 * @param {!Array<!proto.cc.arduino.cli.commands.Systems>} value
 * @return {!proto.cc.arduino.cli.commands.ToolsDependencies} returns this
*/
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.setSystemsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 4, value);
};


/**
 * @param {!proto.cc.arduino.cli.commands.Systems=} opt_value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.Systems}
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.addSystems = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.cc.arduino.cli.commands.Systems, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.ToolsDependencies} returns this
 */
proto.cc.arduino.cli.commands.ToolsDependencies.prototype.clearSystemsList = function() {
  return this.setSystemsList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.Systems.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.Systems.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.Systems} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.Systems.toObject = function(includeInstance, msg) {
  var f, obj = {
    checksum: jspb.Message.getFieldWithDefault(msg, 1, ""),
    host: jspb.Message.getFieldWithDefault(msg, 2, ""),
    archivefilename: jspb.Message.getFieldWithDefault(msg, 3, ""),
    url: jspb.Message.getFieldWithDefault(msg, 4, ""),
    size: jspb.Message.getFieldWithDefault(msg, 5, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.Systems}
 */
proto.cc.arduino.cli.commands.Systems.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.Systems;
  return proto.cc.arduino.cli.commands.Systems.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.Systems} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.Systems}
 */
proto.cc.arduino.cli.commands.Systems.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setChecksum(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setHost(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setArchivefilename(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setUrl(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setSize(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.Systems.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.Systems.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.Systems} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.Systems.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getChecksum();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getHost();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getArchivefilename();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getUrl();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getSize();
  if (f !== 0) {
    writer.writeInt64(
      5,
      f
    );
  }
};


/**
 * optional string checksum = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Systems.prototype.getChecksum = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Systems} returns this
 */
proto.cc.arduino.cli.commands.Systems.prototype.setChecksum = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string host = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Systems.prototype.getHost = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Systems} returns this
 */
proto.cc.arduino.cli.commands.Systems.prototype.setHost = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string archiveFileName = 3;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Systems.prototype.getArchivefilename = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Systems} returns this
 */
proto.cc.arduino.cli.commands.Systems.prototype.setArchivefilename = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string url = 4;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Systems.prototype.getUrl = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.Systems} returns this
 */
proto.cc.arduino.cli.commands.Systems.prototype.setUrl = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional int64 size = 5;
 * @return {number}
 */
proto.cc.arduino.cli.commands.Systems.prototype.getSize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/**
 * @param {number} value
 * @return {!proto.cc.arduino.cli.commands.Systems} returns this
 */
proto.cc.arduino.cli.commands.Systems.prototype.setSize = function(value) {
  return jspb.Message.setProto3IntField(this, 5, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.ConfigOption.repeatedFields_ = [3];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.ConfigOption.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.ConfigOption.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.ConfigOption} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ConfigOption.toObject = function(includeInstance, msg) {
  var f, obj = {
    option: jspb.Message.getFieldWithDefault(msg, 1, ""),
    optionLabel: jspb.Message.getFieldWithDefault(msg, 2, ""),
    valuesList: jspb.Message.toObjectList(msg.getValuesList(),
    proto.cc.arduino.cli.commands.ConfigValue.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.ConfigOption}
 */
proto.cc.arduino.cli.commands.ConfigOption.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.ConfigOption;
  return proto.cc.arduino.cli.commands.ConfigOption.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.ConfigOption} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.ConfigOption}
 */
proto.cc.arduino.cli.commands.ConfigOption.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setOption(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setOptionLabel(value);
      break;
    case 3:
      var value = new proto.cc.arduino.cli.commands.ConfigValue;
      reader.readMessage(value,proto.cc.arduino.cli.commands.ConfigValue.deserializeBinaryFromReader);
      msg.addValues(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.ConfigOption.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.ConfigOption.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.ConfigOption} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ConfigOption.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getOption();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getOptionLabel();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getValuesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      3,
      f,
      proto.cc.arduino.cli.commands.ConfigValue.serializeBinaryToWriter
    );
  }
};


/**
 * optional string option = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.ConfigOption.prototype.getOption = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.ConfigOption} returns this
 */
proto.cc.arduino.cli.commands.ConfigOption.prototype.setOption = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string option_label = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.ConfigOption.prototype.getOptionLabel = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.ConfigOption} returns this
 */
proto.cc.arduino.cli.commands.ConfigOption.prototype.setOptionLabel = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * repeated ConfigValue values = 3;
 * @return {!Array<!proto.cc.arduino.cli.commands.ConfigValue>}
 */
proto.cc.arduino.cli.commands.ConfigOption.prototype.getValuesList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.ConfigValue>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.ConfigValue, 3));
};


/**
 * @param {!Array<!proto.cc.arduino.cli.commands.ConfigValue>} value
 * @return {!proto.cc.arduino.cli.commands.ConfigOption} returns this
*/
proto.cc.arduino.cli.commands.ConfigOption.prototype.setValuesList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 3, value);
};


/**
 * @param {!proto.cc.arduino.cli.commands.ConfigValue=} opt_value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.ConfigValue}
 */
proto.cc.arduino.cli.commands.ConfigOption.prototype.addValues = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.cc.arduino.cli.commands.ConfigValue, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.ConfigOption} returns this
 */
proto.cc.arduino.cli.commands.ConfigOption.prototype.clearValuesList = function() {
  return this.setValuesList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.ConfigValue.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.ConfigValue.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.ConfigValue} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ConfigValue.toObject = function(includeInstance, msg) {
  var f, obj = {
    value: jspb.Message.getFieldWithDefault(msg, 1, ""),
    valueLabel: jspb.Message.getFieldWithDefault(msg, 2, ""),
    selected: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.ConfigValue}
 */
proto.cc.arduino.cli.commands.ConfigValue.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.ConfigValue;
  return proto.cc.arduino.cli.commands.ConfigValue.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.ConfigValue} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.ConfigValue}
 */
proto.cc.arduino.cli.commands.ConfigValue.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setValue(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setValueLabel(value);
      break;
    case 3:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setSelected(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.ConfigValue.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.ConfigValue.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.ConfigValue} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ConfigValue.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getValue();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getValueLabel();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getSelected();
  if (f) {
    writer.writeBool(
      3,
      f
    );
  }
};


/**
 * optional string value = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.ConfigValue.prototype.getValue = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.ConfigValue} returns this
 */
proto.cc.arduino.cli.commands.ConfigValue.prototype.setValue = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string value_label = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.ConfigValue.prototype.getValueLabel = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.ConfigValue} returns this
 */
proto.cc.arduino.cli.commands.ConfigValue.prototype.setValueLabel = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional bool selected = 3;
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.ConfigValue.prototype.getSelected = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
};


/**
 * @param {boolean} value
 * @return {!proto.cc.arduino.cli.commands.ConfigValue} returns this
 */
proto.cc.arduino.cli.commands.ConfigValue.prototype.setSelected = function(value) {
  return jspb.Message.setProto3BooleanField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardAttachReq.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardAttachReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardAttachReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    boardUri: jspb.Message.getFieldWithDefault(msg, 2, ""),
    sketchPath: jspb.Message.getFieldWithDefault(msg, 3, ""),
    searchTimeout: jspb.Message.getFieldWithDefault(msg, 4, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardAttachReq}
 */
proto.cc.arduino.cli.commands.BoardAttachReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardAttachReq;
  return proto.cc.arduino.cli.commands.BoardAttachReq.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardAttachReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardAttachReq}
 */
proto.cc.arduino.cli.commands.BoardAttachReq.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new commands_common_pb.Instance;
      reader.readMessage(value,commands_common_pb.Instance.deserializeBinaryFromReader);
      msg.setInstance(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setBoardUri(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setSketchPath(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setSearchTimeout(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardAttachReq.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardAttachReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardAttachReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getBoardUri();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getSketchPath();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getSearchTimeout();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.getInstance = function() {
  return /** @type{?proto.cc.arduino.cli.commands.Instance} */ (
    jspb.Message.getWrapperField(this, commands_common_pb.Instance, 1));
};


/**
 * @param {?proto.cc.arduino.cli.commands.Instance|undefined} value
 * @return {!proto.cc.arduino.cli.commands.BoardAttachReq} returns this
*/
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.BoardAttachReq} returns this
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.clearInstance = function() {
  return this.setInstance(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.hasInstance = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional string board_uri = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.getBoardUri = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardAttachReq} returns this
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.setBoardUri = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string sketch_path = 3;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.getSketchPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardAttachReq} returns this
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.setSketchPath = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string search_timeout = 4;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.getSearchTimeout = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardAttachReq} returns this
 */
proto.cc.arduino.cli.commands.BoardAttachReq.prototype.setSearchTimeout = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardAttachResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardAttachResp.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardAttachResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardAttachResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    taskProgress: (f = msg.getTaskProgress()) && commands_common_pb.TaskProgress.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardAttachResp}
 */
proto.cc.arduino.cli.commands.BoardAttachResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardAttachResp;
  return proto.cc.arduino.cli.commands.BoardAttachResp.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardAttachResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardAttachResp}
 */
proto.cc.arduino.cli.commands.BoardAttachResp.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new commands_common_pb.TaskProgress;
      reader.readMessage(value,commands_common_pb.TaskProgress.deserializeBinaryFromReader);
      msg.setTaskProgress(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardAttachResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardAttachResp.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardAttachResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardAttachResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getTaskProgress();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.TaskProgress.serializeBinaryToWriter
    );
  }
};


/**
 * optional TaskProgress task_progress = 1;
 * @return {?proto.cc.arduino.cli.commands.TaskProgress}
 */
proto.cc.arduino.cli.commands.BoardAttachResp.prototype.getTaskProgress = function() {
  return /** @type{?proto.cc.arduino.cli.commands.TaskProgress} */ (
    jspb.Message.getWrapperField(this, commands_common_pb.TaskProgress, 1));
};


/**
 * @param {?proto.cc.arduino.cli.commands.TaskProgress|undefined} value
 * @return {!proto.cc.arduino.cli.commands.BoardAttachResp} returns this
*/
proto.cc.arduino.cli.commands.BoardAttachResp.prototype.setTaskProgress = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.BoardAttachResp} returns this
 */
proto.cc.arduino.cli.commands.BoardAttachResp.prototype.clearTaskProgress = function() {
  return this.setTaskProgress(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardAttachResp.prototype.hasTaskProgress = function() {
  return jspb.Message.getField(this, 1) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardListReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardListReq.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardListReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardListReq}
 */
proto.cc.arduino.cli.commands.BoardListReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardListReq;
  return proto.cc.arduino.cli.commands.BoardListReq.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardListReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardListReq}
 */
proto.cc.arduino.cli.commands.BoardListReq.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new commands_common_pb.Instance;
      reader.readMessage(value,commands_common_pb.Instance.deserializeBinaryFromReader);
      msg.setInstance(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardListReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardListReq.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardListReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.BoardListReq.prototype.getInstance = function() {
  return /** @type{?proto.cc.arduino.cli.commands.Instance} */ (
    jspb.Message.getWrapperField(this, commands_common_pb.Instance, 1));
};


/**
 * @param {?proto.cc.arduino.cli.commands.Instance|undefined} value
 * @return {!proto.cc.arduino.cli.commands.BoardListReq} returns this
*/
proto.cc.arduino.cli.commands.BoardListReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.BoardListReq} returns this
 */
proto.cc.arduino.cli.commands.BoardListReq.prototype.clearInstance = function() {
  return this.setInstance(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardListReq.prototype.hasInstance = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.BoardListResp.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardListResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardListResp.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardListResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    portsList: jspb.Message.toObjectList(msg.getPortsList(),
    proto.cc.arduino.cli.commands.DetectedPort.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardListResp}
 */
proto.cc.arduino.cli.commands.BoardListResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardListResp;
  return proto.cc.arduino.cli.commands.BoardListResp.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardListResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardListResp}
 */
proto.cc.arduino.cli.commands.BoardListResp.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.cc.arduino.cli.commands.DetectedPort;
      reader.readMessage(value,proto.cc.arduino.cli.commands.DetectedPort.deserializeBinaryFromReader);
      msg.addPorts(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardListResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardListResp.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardListResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPortsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.cc.arduino.cli.commands.DetectedPort.serializeBinaryToWriter
    );
  }
};


/**
 * repeated DetectedPort ports = 1;
 * @return {!Array<!proto.cc.arduino.cli.commands.DetectedPort>}
 */
proto.cc.arduino.cli.commands.BoardListResp.prototype.getPortsList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.DetectedPort>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.DetectedPort, 1));
};


/**
 * @param {!Array<!proto.cc.arduino.cli.commands.DetectedPort>} value
 * @return {!proto.cc.arduino.cli.commands.BoardListResp} returns this
*/
proto.cc.arduino.cli.commands.BoardListResp.prototype.setPortsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.cc.arduino.cli.commands.DetectedPort=} opt_value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.DetectedPort}
 */
proto.cc.arduino.cli.commands.BoardListResp.prototype.addPorts = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.DetectedPort, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.BoardListResp} returns this
 */
proto.cc.arduino.cli.commands.BoardListResp.prototype.clearPortsList = function() {
  return this.setPortsList([]);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.DetectedPort.repeatedFields_ = [4];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.DetectedPort.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.DetectedPort} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.DetectedPort.toObject = function(includeInstance, msg) {
  var f, obj = {
    address: jspb.Message.getFieldWithDefault(msg, 1, ""),
    protocol: jspb.Message.getFieldWithDefault(msg, 2, ""),
    protocolLabel: jspb.Message.getFieldWithDefault(msg, 3, ""),
    boardsList: jspb.Message.toObjectList(msg.getBoardsList(),
    proto.cc.arduino.cli.commands.BoardListItem.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.DetectedPort}
 */
proto.cc.arduino.cli.commands.DetectedPort.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.DetectedPort;
  return proto.cc.arduino.cli.commands.DetectedPort.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.DetectedPort} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.DetectedPort}
 */
proto.cc.arduino.cli.commands.DetectedPort.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setAddress(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setProtocol(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setProtocolLabel(value);
      break;
    case 4:
      var value = new proto.cc.arduino.cli.commands.BoardListItem;
      reader.readMessage(value,proto.cc.arduino.cli.commands.BoardListItem.deserializeBinaryFromReader);
      msg.addBoards(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.DetectedPort.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.DetectedPort} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.DetectedPort.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAddress();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getProtocol();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getProtocolLabel();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getBoardsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      4,
      f,
      proto.cc.arduino.cli.commands.BoardListItem.serializeBinaryToWriter
    );
  }
};


/**
 * optional string address = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.getAddress = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.DetectedPort} returns this
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.setAddress = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string protocol = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.getProtocol = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.DetectedPort} returns this
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.setProtocol = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string protocol_label = 3;
 * @return {string}
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.getProtocolLabel = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.DetectedPort} returns this
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.setProtocolLabel = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * repeated BoardListItem boards = 4;
 * @return {!Array<!proto.cc.arduino.cli.commands.BoardListItem>}
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.getBoardsList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.BoardListItem>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.BoardListItem, 4));
};


/**
 * @param {!Array<!proto.cc.arduino.cli.commands.BoardListItem>} value
 * @return {!proto.cc.arduino.cli.commands.DetectedPort} returns this
*/
proto.cc.arduino.cli.commands.DetectedPort.prototype.setBoardsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 4, value);
};


/**
 * @param {!proto.cc.arduino.cli.commands.BoardListItem=} opt_value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.BoardListItem}
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.addBoards = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.cc.arduino.cli.commands.BoardListItem, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.DetectedPort} returns this
 */
proto.cc.arduino.cli.commands.DetectedPort.prototype.clearBoardsList = function() {
  return this.setBoardsList([]);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.BoardListAllReq.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardListAllReq.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardListAllReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListAllReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    searchArgsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,
    includeHiddenBoards: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardListAllReq}
 */
proto.cc.arduino.cli.commands.BoardListAllReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardListAllReq;
  return proto.cc.arduino.cli.commands.BoardListAllReq.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardListAllReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardListAllReq}
 */
proto.cc.arduino.cli.commands.BoardListAllReq.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new commands_common_pb.Instance;
      reader.readMessage(value,commands_common_pb.Instance.deserializeBinaryFromReader);
      msg.setInstance(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.addSearchArgs(value);
      break;
    case 3:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIncludeHiddenBoards(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardListAllReq.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardListAllReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListAllReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getSearchArgsList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      2,
      f
    );
  }
  f = message.getIncludeHiddenBoards();
  if (f) {
    writer.writeBool(
      3,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.getInstance = function() {
  return /** @type{?proto.cc.arduino.cli.commands.Instance} */ (
    jspb.Message.getWrapperField(this, commands_common_pb.Instance, 1));
};


/**
 * @param {?proto.cc.arduino.cli.commands.Instance|undefined} value
 * @return {!proto.cc.arduino.cli.commands.BoardListAllReq} returns this
*/
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.BoardListAllReq} returns this
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.clearInstance = function() {
  return this.setInstance(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.hasInstance = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * repeated string search_args = 2;
 * @return {!Array<string>}
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.getSearchArgsList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.cc.arduino.cli.commands.BoardListAllReq} returns this
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.setSearchArgsList = function(value) {
  return jspb.Message.setField(this, 2, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.BoardListAllReq} returns this
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.addSearchArgs = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.BoardListAllReq} returns this
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.clearSearchArgsList = function() {
  return this.setSearchArgsList([]);
};


/**
 * optional bool include_hidden_boards = 3;
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.getIncludeHiddenBoards = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
};


/**
 * @param {boolean} value
 * @return {!proto.cc.arduino.cli.commands.BoardListAllReq} returns this
 */
proto.cc.arduino.cli.commands.BoardListAllReq.prototype.setIncludeHiddenBoards = function(value) {
  return jspb.Message.setProto3BooleanField(this, 3, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.BoardListAllResp.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardListAllResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardListAllResp.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardListAllResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListAllResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    boardsList: jspb.Message.toObjectList(msg.getBoardsList(),
    proto.cc.arduino.cli.commands.BoardListItem.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardListAllResp}
 */
proto.cc.arduino.cli.commands.BoardListAllResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardListAllResp;
  return proto.cc.arduino.cli.commands.BoardListAllResp.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardListAllResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardListAllResp}
 */
proto.cc.arduino.cli.commands.BoardListAllResp.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.cc.arduino.cli.commands.BoardListItem;
      reader.readMessage(value,proto.cc.arduino.cli.commands.BoardListItem.deserializeBinaryFromReader);
      msg.addBoards(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardListAllResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardListAllResp.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardListAllResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListAllResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getBoardsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.cc.arduino.cli.commands.BoardListItem.serializeBinaryToWriter
    );
  }
};


/**
 * repeated BoardListItem boards = 1;
 * @return {!Array<!proto.cc.arduino.cli.commands.BoardListItem>}
 */
proto.cc.arduino.cli.commands.BoardListAllResp.prototype.getBoardsList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.BoardListItem>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.BoardListItem, 1));
};


/**
 * @param {!Array<!proto.cc.arduino.cli.commands.BoardListItem>} value
 * @return {!proto.cc.arduino.cli.commands.BoardListAllResp} returns this
*/
proto.cc.arduino.cli.commands.BoardListAllResp.prototype.setBoardsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.cc.arduino.cli.commands.BoardListItem=} opt_value
 * @param {number=} opt_index
 * @return {!proto.cc.arduino.cli.commands.BoardListItem}
 */
proto.cc.arduino.cli.commands.BoardListAllResp.prototype.addBoards = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.cc.arduino.cli.commands.BoardListItem, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.cc.arduino.cli.commands.BoardListAllResp} returns this
 */
proto.cc.arduino.cli.commands.BoardListAllResp.prototype.clearBoardsList = function() {
  return this.setBoardsList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardListWatchReq.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardListWatchReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    interrupt: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchReq}
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardListWatchReq;
  return proto.cc.arduino.cli.commands.BoardListWatchReq.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardListWatchReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchReq}
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new commands_common_pb.Instance;
      reader.readMessage(value,commands_common_pb.Instance.deserializeBinaryFromReader);
      msg.setInstance(value);
      break;
    case 2:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setInterrupt(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardListWatchReq.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardListWatchReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getInterrupt();
  if (f) {
    writer.writeBool(
      2,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.prototype.getInstance = function() {
  return /** @type{?proto.cc.arduino.cli.commands.Instance} */ (
    jspb.Message.getWrapperField(this, commands_common_pb.Instance, 1));
};


/**
 * @param {?proto.cc.arduino.cli.commands.Instance|undefined} value
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchReq} returns this
*/
proto.cc.arduino.cli.commands.BoardListWatchReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchReq} returns this
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.prototype.clearInstance = function() {
  return this.setInstance(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.prototype.hasInstance = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional bool interrupt = 2;
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.prototype.getInterrupt = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
};


/**
 * @param {boolean} value
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchReq} returns this
 */
proto.cc.arduino.cli.commands.BoardListWatchReq.prototype.setInterrupt = function(value) {
  return jspb.Message.setProto3BooleanField(this, 2, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardListWatchResp.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardListWatchResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    eventType: jspb.Message.getFieldWithDefault(msg, 1, ""),
    port: (f = msg.getPort()) && proto.cc.arduino.cli.commands.DetectedPort.toObject(includeInstance, f),
    error: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchResp}
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardListWatchResp;
  return proto.cc.arduino.cli.commands.BoardListWatchResp.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardListWatchResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchResp}
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setEventType(value);
      break;
    case 2:
      var value = new proto.cc.arduino.cli.commands.DetectedPort;
      reader.readMessage(value,proto.cc.arduino.cli.commands.DetectedPort.deserializeBinaryFromReader);
      msg.setPort(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setError(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardListWatchResp.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardListWatchResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getEventType();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPort();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.cc.arduino.cli.commands.DetectedPort.serializeBinaryToWriter
    );
  }
  f = message.getError();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string event_type = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.getEventType = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchResp} returns this
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.setEventType = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional DetectedPort port = 2;
 * @return {?proto.cc.arduino.cli.commands.DetectedPort}
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.getPort = function() {
  return /** @type{?proto.cc.arduino.cli.commands.DetectedPort} */ (
    jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.DetectedPort, 2));
};


/**
 * @param {?proto.cc.arduino.cli.commands.DetectedPort|undefined} value
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchResp} returns this
*/
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.setPort = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchResp} returns this
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.clearPort = function() {
  return this.setPort(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.hasPort = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional string error = 3;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.getError = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardListWatchResp} returns this
 */
proto.cc.arduino.cli.commands.BoardListWatchResp.prototype.setError = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.BoardListItem.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.cc.arduino.cli.commands.BoardListItem} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListItem.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, ""),
    fqbn: jspb.Message.getFieldWithDefault(msg, 2, ""),
    isHidden: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
    vid: jspb.Message.getFieldWithDefault(msg, 4, ""),
    pid: jspb.Message.getFieldWithDefault(msg, 5, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.cc.arduino.cli.commands.BoardListItem}
 */
proto.cc.arduino.cli.commands.BoardListItem.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.BoardListItem;
  return proto.cc.arduino.cli.commands.BoardListItem.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.cc.arduino.cli.commands.BoardListItem} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.BoardListItem}
 */
proto.cc.arduino.cli.commands.BoardListItem.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setFqbn(value);
      break;
    case 3:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIsHidden(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setVid(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setPid(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.BoardListItem.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.cc.arduino.cli.commands.BoardListItem} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.BoardListItem.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getFqbn();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getIsHidden();
  if (f) {
    writer.writeBool(
      3,
      f
    );
  }
  f = message.getVid();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getPid();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
};


/**
 * optional string name = 1;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardListItem} returns this
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string FQBN = 2;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.getFqbn = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardListItem} returns this
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.setFqbn = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional bool is_hidden = 3;
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.getIsHidden = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
};


/**
 * @param {boolean} value
 * @return {!proto.cc.arduino.cli.commands.BoardListItem} returns this
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.setIsHidden = function(value) {
  return jspb.Message.setProto3BooleanField(this, 3, value);
};


/**
 * optional string VID = 4;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.getVid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardListItem} returns this
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.setVid = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string PID = 5;
 * @return {string}
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.getPid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.BoardListItem} returns this
 */
proto.cc.arduino.cli.commands.BoardListItem.prototype.setPid = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};


goog.object.extend(exports, proto.cc.arduino.cli.commands);
