// source: commands/lib.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.DownloadResource', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.GitLibraryInstallReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.GitLibraryInstallResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.InstalledLibrary', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.Library', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryDependency', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryDependencyStatus', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryDownloadReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryDownloadResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryInstallReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryInstallResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryLayout', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryListReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryListResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryLocation', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryRelease', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibrarySearchReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibrarySearchResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibrarySearchStatus', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryUninstallReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryUninstallResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryUpgradeAllReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.LibraryUpgradeAllResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.SearchedLibrary', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.ZipLibraryInstallReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.ZipLibraryInstallResp', 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.LibraryDownloadReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryDownloadReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryDownloadReq.displayName = 'proto.cc.arduino.cli.commands.LibraryDownloadReq';
}
/**
 * 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.LibraryDownloadResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryDownloadResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryDownloadResp.displayName = 'proto.cc.arduino.cli.commands.LibraryDownloadResp';
}
/**
 * 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.LibraryInstallReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryInstallReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryInstallReq.displayName = 'proto.cc.arduino.cli.commands.LibraryInstallReq';
}
/**
 * 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.LibraryInstallResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryInstallResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryInstallResp.displayName = 'proto.cc.arduino.cli.commands.LibraryInstallResp';
}
/**
 * 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.LibraryUninstallReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryUninstallReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryUninstallReq.displayName = 'proto.cc.arduino.cli.commands.LibraryUninstallReq';
}
/**
 * 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.LibraryUninstallResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryUninstallResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryUninstallResp.displayName = 'proto.cc.arduino.cli.commands.LibraryUninstallResp';
}
/**
 * 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.LibraryUpgradeAllReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryUpgradeAllReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.displayName = 'proto.cc.arduino.cli.commands.LibraryUpgradeAllReq';
}
/**
 * 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.LibraryUpgradeAllResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryUpgradeAllResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.displayName = 'proto.cc.arduino.cli.commands.LibraryUpgradeAllResp';
}
/**
 * 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.LibraryResolveDependenciesReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.displayName = 'proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq';
}
/**
 * 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.LibraryResolveDependenciesResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.displayName = 'proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp';
}
/**
 * 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.LibraryDependencyStatus = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryDependencyStatus, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryDependencyStatus.displayName = 'proto.cc.arduino.cli.commands.LibraryDependencyStatus';
}
/**
 * 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.LibrarySearchReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibrarySearchReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibrarySearchReq.displayName = 'proto.cc.arduino.cli.commands.LibrarySearchReq';
}
/**
 * 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.LibrarySearchResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.LibrarySearchResp.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibrarySearchResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibrarySearchResp.displayName = 'proto.cc.arduino.cli.commands.LibrarySearchResp';
}
/**
 * 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.SearchedLibrary = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.SearchedLibrary, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.SearchedLibrary.displayName = 'proto.cc.arduino.cli.commands.SearchedLibrary';
}
/**
 * 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.LibraryRelease = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.LibraryRelease.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryRelease, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryRelease.displayName = 'proto.cc.arduino.cli.commands.LibraryRelease';
}
/**
 * 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.LibraryDependency = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryDependency, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryDependency.displayName = 'proto.cc.arduino.cli.commands.LibraryDependency';
}
/**
 * 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.DownloadResource = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.DownloadResource, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.DownloadResource.displayName = 'proto.cc.arduino.cli.commands.DownloadResource';
}
/**
 * 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.LibraryListReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryListReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryListReq.displayName = 'proto.cc.arduino.cli.commands.LibraryListReq';
}
/**
 * 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.LibraryListResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.LibraryListResp.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.LibraryListResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.LibraryListResp.displayName = 'proto.cc.arduino.cli.commands.LibraryListResp';
}
/**
 * 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.InstalledLibrary = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.InstalledLibrary, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.InstalledLibrary.displayName = 'proto.cc.arduino.cli.commands.InstalledLibrary';
}
/**
 * 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.Library = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.Library.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.Library, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.Library.displayName = 'proto.cc.arduino.cli.commands.Library';
}
/**
 * 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.ZipLibraryInstallReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.ZipLibraryInstallReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.ZipLibraryInstallReq.displayName = 'proto.cc.arduino.cli.commands.ZipLibraryInstallReq';
}
/**
 * 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.ZipLibraryInstallResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.ZipLibraryInstallResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.ZipLibraryInstallResp.displayName = 'proto.cc.arduino.cli.commands.ZipLibraryInstallResp';
}
/**
 * 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.GitLibraryInstallReq = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.GitLibraryInstallReq, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.GitLibraryInstallReq.displayName = 'proto.cc.arduino.cli.commands.GitLibraryInstallReq';
}
/**
 * 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.GitLibraryInstallResp = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.GitLibraryInstallResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.cc.arduino.cli.commands.GitLibraryInstallResp.displayName = 'proto.cc.arduino.cli.commands.GitLibraryInstallResp';
}



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.LibraryDownloadReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryDownloadReq.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.LibraryDownloadReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryDownloadReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    version: 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.LibraryDownloadReq}
 */
proto.cc.arduino.cli.commands.LibraryDownloadReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryDownloadReq;
  return proto.cc.arduino.cli.commands.LibraryDownloadReq.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.LibraryDownloadReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryDownloadReq}
 */
proto.cc.arduino.cli.commands.LibraryDownloadReq.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.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersion(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.LibraryDownloadReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryDownloadReq.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.LibraryDownloadReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryDownloadReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.LibraryDownloadReq.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.LibraryDownloadReq} returns this
*/
proto.cc.arduino.cli.commands.LibraryDownloadReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


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


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


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


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


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.LibraryDownloadReq} returns this
 */
proto.cc.arduino.cli.commands.LibraryDownloadReq.prototype.setVersion = 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.LibraryDownloadResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryDownloadResp.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.LibraryDownloadResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryDownloadResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    progress: (f = msg.getProgress()) && commands_common_pb.DownloadProgress.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.LibraryDownloadResp}
 */
proto.cc.arduino.cli.commands.LibraryDownloadResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryDownloadResp;
  return proto.cc.arduino.cli.commands.LibraryDownloadResp.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.LibraryDownloadResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryDownloadResp}
 */
proto.cc.arduino.cli.commands.LibraryDownloadResp.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.DownloadProgress;
      reader.readMessage(value,commands_common_pb.DownloadProgress.deserializeBinaryFromReader);
      msg.setProgress(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.LibraryDownloadResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryDownloadResp.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.LibraryDownloadResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryDownloadResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getProgress();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.DownloadProgress.serializeBinaryToWriter
    );
  }
};


/**
 * optional DownloadProgress progress = 1;
 * @return {?proto.cc.arduino.cli.commands.DownloadProgress}
 */
proto.cc.arduino.cli.commands.LibraryDownloadResp.prototype.getProgress = function() {
  return /** @type{?proto.cc.arduino.cli.commands.DownloadProgress} */ (
    jspb.Message.getWrapperField(this, commands_common_pb.DownloadProgress, 1));
};


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


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


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.LibraryDownloadResp.prototype.hasProgress = 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.LibraryInstallReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryInstallReq.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.LibraryInstallReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryInstallReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    version: 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.LibraryInstallReq}
 */
proto.cc.arduino.cli.commands.LibraryInstallReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryInstallReq;
  return proto.cc.arduino.cli.commands.LibraryInstallReq.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.LibraryInstallReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryInstallReq}
 */
proto.cc.arduino.cli.commands.LibraryInstallReq.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.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersion(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.LibraryInstallReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryInstallReq.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.LibraryInstallReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryInstallReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.LibraryInstallReq.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.LibraryInstallReq} returns this
*/
proto.cc.arduino.cli.commands.LibraryInstallReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


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


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


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


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


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.LibraryInstallReq} returns this
 */
proto.cc.arduino.cli.commands.LibraryInstallReq.prototype.setVersion = 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.LibraryInstallResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryInstallResp.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.LibraryInstallResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryInstallResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    progress: (f = msg.getProgress()) && commands_common_pb.DownloadProgress.toObject(includeInstance, f),
    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.LibraryInstallResp}
 */
proto.cc.arduino.cli.commands.LibraryInstallResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryInstallResp;
  return proto.cc.arduino.cli.commands.LibraryInstallResp.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.LibraryInstallResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryInstallResp}
 */
proto.cc.arduino.cli.commands.LibraryInstallResp.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.DownloadProgress;
      reader.readMessage(value,commands_common_pb.DownloadProgress.deserializeBinaryFromReader);
      msg.setProgress(value);
      break;
    case 2:
      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.LibraryInstallResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryInstallResp.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.LibraryInstallResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryInstallResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getProgress();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.DownloadProgress.serializeBinaryToWriter
    );
  }
  f = message.getTaskProgress();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      commands_common_pb.TaskProgress.serializeBinaryToWriter
    );
  }
};


/**
 * optional DownloadProgress progress = 1;
 * @return {?proto.cc.arduino.cli.commands.DownloadProgress}
 */
proto.cc.arduino.cli.commands.LibraryInstallResp.prototype.getProgress = function() {
  return /** @type{?proto.cc.arduino.cli.commands.DownloadProgress} */ (
    jspb.Message.getWrapperField(this, commands_common_pb.DownloadProgress, 1));
};


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


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


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


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


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


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


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.LibraryInstallResp.prototype.hasTaskProgress = function() {
  return jspb.Message.getField(this, 2) != 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.LibraryUninstallReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryUninstallReq.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.LibraryUninstallReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryUninstallReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    version: 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.LibraryUninstallReq}
 */
proto.cc.arduino.cli.commands.LibraryUninstallReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryUninstallReq;
  return proto.cc.arduino.cli.commands.LibraryUninstallReq.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.LibraryUninstallReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryUninstallReq}
 */
proto.cc.arduino.cli.commands.LibraryUninstallReq.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.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersion(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.LibraryUninstallReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryUninstallReq.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.LibraryUninstallReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryUninstallReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.LibraryUninstallReq.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.LibraryUninstallReq} returns this
*/
proto.cc.arduino.cli.commands.LibraryUninstallReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


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


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


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


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


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.LibraryUninstallReq} returns this
 */
proto.cc.arduino.cli.commands.LibraryUninstallReq.prototype.setVersion = 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.LibraryUninstallResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryUninstallResp.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.LibraryUninstallResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryUninstallResp.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.LibraryUninstallResp}
 */
proto.cc.arduino.cli.commands.LibraryUninstallResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryUninstallResp;
  return proto.cc.arduino.cli.commands.LibraryUninstallResp.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.LibraryUninstallResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryUninstallResp}
 */
proto.cc.arduino.cli.commands.LibraryUninstallResp.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.LibraryUninstallResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryUninstallResp.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.LibraryUninstallResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryUninstallResp.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.LibraryUninstallResp.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.LibraryUninstallResp} returns this
*/
proto.cc.arduino.cli.commands.LibraryUninstallResp.prototype.setTaskProgress = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.LibraryUninstallResp.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.LibraryUpgradeAllReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.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.LibraryUpgradeAllReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.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.LibraryUpgradeAllReq}
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryUpgradeAllReq;
  return proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.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.LibraryUpgradeAllReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryUpgradeAllReq}
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.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.LibraryUpgradeAllReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.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.LibraryUpgradeAllReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.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.LibraryUpgradeAllReq.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.LibraryUpgradeAllReq} returns this
*/
proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllReq.prototype.hasInstance = 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.LibraryUpgradeAllResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.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.LibraryUpgradeAllResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    progress: (f = msg.getProgress()) && commands_common_pb.DownloadProgress.toObject(includeInstance, f),
    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.LibraryUpgradeAllResp}
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryUpgradeAllResp;
  return proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.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.LibraryUpgradeAllResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryUpgradeAllResp}
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.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.DownloadProgress;
      reader.readMessage(value,commands_common_pb.DownloadProgress.deserializeBinaryFromReader);
      msg.setProgress(value);
      break;
    case 2:
      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.LibraryUpgradeAllResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.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.LibraryUpgradeAllResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getProgress();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.DownloadProgress.serializeBinaryToWriter
    );
  }
  f = message.getTaskProgress();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      commands_common_pb.TaskProgress.serializeBinaryToWriter
    );
  }
};


/**
 * optional DownloadProgress progress = 1;
 * @return {?proto.cc.arduino.cli.commands.DownloadProgress}
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.prototype.getProgress = function() {
  return /** @type{?proto.cc.arduino.cli.commands.DownloadProgress} */ (
    jspb.Message.getWrapperField(this, commands_common_pb.DownloadProgress, 1));
};


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


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


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


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


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


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


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.LibraryUpgradeAllResp.prototype.hasTaskProgress = function() {
  return jspb.Message.getField(this, 2) != 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.LibraryResolveDependenciesReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.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.LibraryResolveDependenciesReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    version: 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.LibraryResolveDependenciesReq}
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq;
  return proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.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.LibraryResolveDependenciesReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq}
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.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.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersion(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.LibraryResolveDependenciesReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.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.LibraryResolveDependenciesReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.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.LibraryResolveDependenciesReq} returns this
*/
proto.cc.arduino.cli.commands.LibraryResolveDependenciesReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


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


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


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


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


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



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.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.LibraryResolveDependenciesResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.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.LibraryResolveDependenciesResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    dependenciesList: jspb.Message.toObjectList(msg.getDependenciesList(),
    proto.cc.arduino.cli.commands.LibraryDependencyStatus.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.LibraryResolveDependenciesResp}
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp;
  return proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.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.LibraryResolveDependenciesResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp}
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.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.LibraryDependencyStatus;
      reader.readMessage(value,proto.cc.arduino.cli.commands.LibraryDependencyStatus.deserializeBinaryFromReader);
      msg.addDependencies(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.LibraryResolveDependenciesResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.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.LibraryResolveDependenciesResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getDependenciesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.cc.arduino.cli.commands.LibraryDependencyStatus.serializeBinaryToWriter
    );
  }
};


/**
 * repeated LibraryDependencyStatus dependencies = 1;
 * @return {!Array<!proto.cc.arduino.cli.commands.LibraryDependencyStatus>}
 */
proto.cc.arduino.cli.commands.LibraryResolveDependenciesResp.prototype.getDependenciesList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.LibraryDependencyStatus>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.LibraryDependencyStatus, 1));
};


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


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


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





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.LibraryDependencyStatus.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryDependencyStatus.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.LibraryDependencyStatus} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryDependencyStatus.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, ""),
    versionrequired: jspb.Message.getFieldWithDefault(msg, 2, ""),
    versioninstalled: 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.LibraryDependencyStatus}
 */
proto.cc.arduino.cli.commands.LibraryDependencyStatus.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryDependencyStatus;
  return proto.cc.arduino.cli.commands.LibraryDependencyStatus.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.LibraryDependencyStatus} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryDependencyStatus}
 */
proto.cc.arduino.cli.commands.LibraryDependencyStatus.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.setVersionrequired(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersioninstalled(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.LibraryDependencyStatus.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryDependencyStatus.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.LibraryDependencyStatus} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryDependencyStatus.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getVersionrequired();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getVersioninstalled();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


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


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


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


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


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


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.LibraryDependencyStatus} returns this
 */
proto.cc.arduino.cli.commands.LibraryDependencyStatus.prototype.setVersioninstalled = 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.LibrarySearchReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibrarySearchReq.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.LibrarySearchReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibrarySearchReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    query: 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.LibrarySearchReq}
 */
proto.cc.arduino.cli.commands.LibrarySearchReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibrarySearchReq;
  return proto.cc.arduino.cli.commands.LibrarySearchReq.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.LibrarySearchReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibrarySearchReq}
 */
proto.cc.arduino.cli.commands.LibrarySearchReq.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.setQuery(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.LibrarySearchReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibrarySearchReq.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.LibrarySearchReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibrarySearchReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.LibrarySearchReq.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.LibrarySearchReq} returns this
*/
proto.cc.arduino.cli.commands.LibrarySearchReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


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


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


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.LibrarySearchReq} returns this
 */
proto.cc.arduino.cli.commands.LibrarySearchReq.prototype.setQuery = 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.LibrarySearchResp.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.LibrarySearchResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibrarySearchResp.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.LibrarySearchResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibrarySearchResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    librariesList: jspb.Message.toObjectList(msg.getLibrariesList(),
    proto.cc.arduino.cli.commands.SearchedLibrary.toObject, includeInstance),
    status: jspb.Message.getFieldWithDefault(msg, 2, 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.LibrarySearchResp}
 */
proto.cc.arduino.cli.commands.LibrarySearchResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibrarySearchResp;
  return proto.cc.arduino.cli.commands.LibrarySearchResp.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.LibrarySearchResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibrarySearchResp}
 */
proto.cc.arduino.cli.commands.LibrarySearchResp.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.SearchedLibrary;
      reader.readMessage(value,proto.cc.arduino.cli.commands.SearchedLibrary.deserializeBinaryFromReader);
      msg.addLibraries(value);
      break;
    case 2:
      var value = /** @type {!proto.cc.arduino.cli.commands.LibrarySearchStatus} */ (reader.readEnum());
      msg.setStatus(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.LibrarySearchResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibrarySearchResp.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.LibrarySearchResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibrarySearchResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getLibrariesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.cc.arduino.cli.commands.SearchedLibrary.serializeBinaryToWriter
    );
  }
  f = message.getStatus();
  if (f !== 0.0) {
    writer.writeEnum(
      2,
      f
    );
  }
};


/**
 * repeated SearchedLibrary libraries = 1;
 * @return {!Array<!proto.cc.arduino.cli.commands.SearchedLibrary>}
 */
proto.cc.arduino.cli.commands.LibrarySearchResp.prototype.getLibrariesList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.SearchedLibrary>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.SearchedLibrary, 1));
};


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


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


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


/**
 * optional LibrarySearchStatus status = 2;
 * @return {!proto.cc.arduino.cli.commands.LibrarySearchStatus}
 */
proto.cc.arduino.cli.commands.LibrarySearchResp.prototype.getStatus = function() {
  return /** @type {!proto.cc.arduino.cli.commands.LibrarySearchStatus} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {!proto.cc.arduino.cli.commands.LibrarySearchStatus} value
 * @return {!proto.cc.arduino.cli.commands.LibrarySearchResp} returns this
 */
proto.cc.arduino.cli.commands.LibrarySearchResp.prototype.setStatus = function(value) {
  return jspb.Message.setProto3EnumField(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.SearchedLibrary.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.SearchedLibrary.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.SearchedLibrary} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.SearchedLibrary.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, ""),
    releasesMap: (f = msg.getReleasesMap()) ? f.toObject(includeInstance, proto.cc.arduino.cli.commands.LibraryRelease.toObject) : [],
    latest: (f = msg.getLatest()) && proto.cc.arduino.cli.commands.LibraryRelease.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.SearchedLibrary}
 */
proto.cc.arduino.cli.commands.SearchedLibrary.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.SearchedLibrary;
  return proto.cc.arduino.cli.commands.SearchedLibrary.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.SearchedLibrary} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.SearchedLibrary}
 */
proto.cc.arduino.cli.commands.SearchedLibrary.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 = msg.getReleasesMap();
      reader.readMessage(value, function(message, reader) {
        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.cc.arduino.cli.commands.LibraryRelease.deserializeBinaryFromReader, "", new proto.cc.arduino.cli.commands.LibraryRelease());
         });
      break;
    case 3:
      var value = new proto.cc.arduino.cli.commands.LibraryRelease;
      reader.readMessage(value,proto.cc.arduino.cli.commands.LibraryRelease.deserializeBinaryFromReader);
      msg.setLatest(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.SearchedLibrary.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.SearchedLibrary.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.SearchedLibrary} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.SearchedLibrary.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getReleasesMap(true);
  if (f && f.getLength() > 0) {
    f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.cc.arduino.cli.commands.LibraryRelease.serializeBinaryToWriter);
  }
  f = message.getLatest();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.cc.arduino.cli.commands.LibraryRelease.serializeBinaryToWriter
    );
  }
};


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


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


/**
 * map<string, LibraryRelease> releases = 2;
 * @param {boolean=} opt_noLazyCreate Do not create the map if
 * empty, instead returning `undefined`
 * @return {!jspb.Map<string,!proto.cc.arduino.cli.commands.LibraryRelease>}
 */
proto.cc.arduino.cli.commands.SearchedLibrary.prototype.getReleasesMap = function(opt_noLazyCreate) {
  return /** @type {!jspb.Map<string,!proto.cc.arduino.cli.commands.LibraryRelease>} */ (
      jspb.Message.getMapField(this, 2, opt_noLazyCreate,
      proto.cc.arduino.cli.commands.LibraryRelease));
};


/**
 * Clears values from the map. The map will be non-null.
 * @return {!proto.cc.arduino.cli.commands.SearchedLibrary} returns this
 */
proto.cc.arduino.cli.commands.SearchedLibrary.prototype.clearReleasesMap = function() {
  this.getReleasesMap().clear();
  return this;};


/**
 * optional LibraryRelease latest = 3;
 * @return {?proto.cc.arduino.cli.commands.LibraryRelease}
 */
proto.cc.arduino.cli.commands.SearchedLibrary.prototype.getLatest = function() {
  return /** @type{?proto.cc.arduino.cli.commands.LibraryRelease} */ (
    jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.LibraryRelease, 3));
};


/**
 * @param {?proto.cc.arduino.cli.commands.LibraryRelease|undefined} value
 * @return {!proto.cc.arduino.cli.commands.SearchedLibrary} returns this
*/
proto.cc.arduino.cli.commands.SearchedLibrary.prototype.setLatest = function(value) {
  return jspb.Message.setWrapperField(this, 3, value);
};


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


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



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.LibraryRelease.repeatedFields_ = [8,9,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.LibraryRelease.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryRelease.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.LibraryRelease} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryRelease.toObject = function(includeInstance, msg) {
  var f, obj = {
    author: jspb.Message.getFieldWithDefault(msg, 1, ""),
    version: jspb.Message.getFieldWithDefault(msg, 2, ""),
    maintainer: jspb.Message.getFieldWithDefault(msg, 3, ""),
    sentence: jspb.Message.getFieldWithDefault(msg, 4, ""),
    paragraph: jspb.Message.getFieldWithDefault(msg, 5, ""),
    website: jspb.Message.getFieldWithDefault(msg, 6, ""),
    category: jspb.Message.getFieldWithDefault(msg, 7, ""),
    architecturesList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,
    typesList: (f = jspb.Message.getRepeatedField(msg, 9)) == null ? undefined : f,
    resources: (f = msg.getResources()) && proto.cc.arduino.cli.commands.DownloadResource.toObject(includeInstance, f),
    license: jspb.Message.getFieldWithDefault(msg, 11, ""),
    providesIncludesList: (f = jspb.Message.getRepeatedField(msg, 12)) == null ? undefined : f,
    dependenciesList: jspb.Message.toObjectList(msg.getDependenciesList(),
    proto.cc.arduino.cli.commands.LibraryDependency.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.LibraryRelease}
 */
proto.cc.arduino.cli.commands.LibraryRelease.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryRelease;
  return proto.cc.arduino.cli.commands.LibraryRelease.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.LibraryRelease} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryRelease}
 */
proto.cc.arduino.cli.commands.LibraryRelease.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.setAuthor(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersion(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setMaintainer(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setSentence(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setParagraph(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setWebsite(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setCategory(value);
      break;
    case 8:
      var value = /** @type {string} */ (reader.readString());
      msg.addArchitectures(value);
      break;
    case 9:
      var value = /** @type {string} */ (reader.readString());
      msg.addTypes(value);
      break;
    case 10:
      var value = new proto.cc.arduino.cli.commands.DownloadResource;
      reader.readMessage(value,proto.cc.arduino.cli.commands.DownloadResource.deserializeBinaryFromReader);
      msg.setResources(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setLicense(value);
      break;
    case 12:
      var value = /** @type {string} */ (reader.readString());
      msg.addProvidesIncludes(value);
      break;
    case 13:
      var value = new proto.cc.arduino.cli.commands.LibraryDependency;
      reader.readMessage(value,proto.cc.arduino.cli.commands.LibraryDependency.deserializeBinaryFromReader);
      msg.addDependencies(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.LibraryRelease.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryRelease.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.LibraryRelease} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryRelease.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAuthor();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getMaintainer();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getSentence();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getParagraph();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getWebsite();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
  f = message.getCategory();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getArchitecturesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      8,
      f
    );
  }
  f = message.getTypesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      9,
      f
    );
  }
  f = message.getResources();
  if (f != null) {
    writer.writeMessage(
      10,
      f,
      proto.cc.arduino.cli.commands.DownloadResource.serializeBinaryToWriter
    );
  }
  f = message.getLicense();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getProvidesIncludesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      12,
      f
    );
  }
  f = message.getDependenciesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      13,
      f,
      proto.cc.arduino.cli.commands.LibraryDependency.serializeBinaryToWriter
    );
  }
};


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


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


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


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


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


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


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


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


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


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


/**
 * optional string website = 6;
 * @return {string}
 */
proto.cc.arduino.cli.commands.LibraryRelease.prototype.getWebsite = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


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


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


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


/**
 * repeated string architectures = 8;
 * @return {!Array<string>}
 */
proto.cc.arduino.cli.commands.LibraryRelease.prototype.getArchitecturesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));
};


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


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


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


/**
 * repeated string types = 9;
 * @return {!Array<string>}
 */
proto.cc.arduino.cli.commands.LibraryRelease.prototype.getTypesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 9));
};


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


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


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


/**
 * optional DownloadResource resources = 10;
 * @return {?proto.cc.arduino.cli.commands.DownloadResource}
 */
proto.cc.arduino.cli.commands.LibraryRelease.prototype.getResources = function() {
  return /** @type{?proto.cc.arduino.cli.commands.DownloadResource} */ (
    jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.DownloadResource, 10));
};


/**
 * @param {?proto.cc.arduino.cli.commands.DownloadResource|undefined} value
 * @return {!proto.cc.arduino.cli.commands.LibraryRelease} returns this
*/
proto.cc.arduino.cli.commands.LibraryRelease.prototype.setResources = function(value) {
  return jspb.Message.setWrapperField(this, 10, value);
};


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


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


/**
 * optional string license = 11;
 * @return {string}
 */
proto.cc.arduino.cli.commands.LibraryRelease.prototype.getLicense = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


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


/**
 * repeated string provides_includes = 12;
 * @return {!Array<string>}
 */
proto.cc.arduino.cli.commands.LibraryRelease.prototype.getProvidesIncludesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 12));
};


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


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


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


/**
 * repeated LibraryDependency dependencies = 13;
 * @return {!Array<!proto.cc.arduino.cli.commands.LibraryDependency>}
 */
proto.cc.arduino.cli.commands.LibraryRelease.prototype.getDependenciesList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.LibraryDependency>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.LibraryDependency, 13));
};


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


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


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





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.LibraryDependency.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryDependency.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.LibraryDependency} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryDependency.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, ""),
    versionConstraint: 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.LibraryDependency}
 */
proto.cc.arduino.cli.commands.LibraryDependency.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryDependency;
  return proto.cc.arduino.cli.commands.LibraryDependency.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.LibraryDependency} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryDependency}
 */
proto.cc.arduino.cli.commands.LibraryDependency.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.setVersionConstraint(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.LibraryDependency.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryDependency.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.LibraryDependency} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryDependency.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getVersionConstraint();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


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


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


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


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.LibraryDependency} returns this
 */
proto.cc.arduino.cli.commands.LibraryDependency.prototype.setVersionConstraint = 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.DownloadResource.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.DownloadResource.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.DownloadResource} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.DownloadResource.toObject = function(includeInstance, msg) {
  var f, obj = {
    url: jspb.Message.getFieldWithDefault(msg, 1, ""),
    archivefilename: jspb.Message.getFieldWithDefault(msg, 2, ""),
    checksum: jspb.Message.getFieldWithDefault(msg, 3, ""),
    size: jspb.Message.getFieldWithDefault(msg, 4, 0),
    cachepath: 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.DownloadResource}
 */
proto.cc.arduino.cli.commands.DownloadResource.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.DownloadResource;
  return proto.cc.arduino.cli.commands.DownloadResource.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.DownloadResource} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.DownloadResource}
 */
proto.cc.arduino.cli.commands.DownloadResource.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.setUrl(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setArchivefilename(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setChecksum(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setSize(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setCachepath(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.DownloadResource.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.DownloadResource.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.DownloadResource} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.DownloadResource.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUrl();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getArchivefilename();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getChecksum();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getSize();
  if (f !== 0) {
    writer.writeInt64(
      4,
      f
    );
  }
  f = message.getCachepath();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
};


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


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


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


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


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


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


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


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


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


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.DownloadResource} returns this
 */
proto.cc.arduino.cli.commands.DownloadResource.prototype.setCachepath = function(value) {
  return jspb.Message.setProto3StringField(this, 5, 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.LibraryListReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryListReq.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.LibraryListReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryListReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    all: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
    updatable: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
    name: jspb.Message.getFieldWithDefault(msg, 4, ""),
    fqbn: 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.LibraryListReq}
 */
proto.cc.arduino.cli.commands.LibraryListReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryListReq;
  return proto.cc.arduino.cli.commands.LibraryListReq.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.LibraryListReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryListReq}
 */
proto.cc.arduino.cli.commands.LibraryListReq.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.setAll(value);
      break;
    case 3:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setUpdatable(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 5:
      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.LibraryListReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryListReq.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.LibraryListReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryListReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getAll();
  if (f) {
    writer.writeBool(
      2,
      f
    );
  }
  f = message.getUpdatable();
  if (f) {
    writer.writeBool(
      3,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getFqbn();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.LibraryListReq.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.LibraryListReq} returns this
*/
proto.cc.arduino.cli.commands.LibraryListReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


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


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


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


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


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


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


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


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


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



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.LibraryListResp.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.LibraryListResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.LibraryListResp.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.LibraryListResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryListResp.toObject = function(includeInstance, msg) {
  var f, obj = {
    installedLibraryList: jspb.Message.toObjectList(msg.getInstalledLibraryList(),
    proto.cc.arduino.cli.commands.InstalledLibrary.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.LibraryListResp}
 */
proto.cc.arduino.cli.commands.LibraryListResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.LibraryListResp;
  return proto.cc.arduino.cli.commands.LibraryListResp.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.LibraryListResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.LibraryListResp}
 */
proto.cc.arduino.cli.commands.LibraryListResp.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.InstalledLibrary;
      reader.readMessage(value,proto.cc.arduino.cli.commands.InstalledLibrary.deserializeBinaryFromReader);
      msg.addInstalledLibrary(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.LibraryListResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.LibraryListResp.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.LibraryListResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.LibraryListResp.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstalledLibraryList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.cc.arduino.cli.commands.InstalledLibrary.serializeBinaryToWriter
    );
  }
};


/**
 * repeated InstalledLibrary installed_library = 1;
 * @return {!Array<!proto.cc.arduino.cli.commands.InstalledLibrary>}
 */
proto.cc.arduino.cli.commands.LibraryListResp.prototype.getInstalledLibraryList = function() {
  return /** @type{!Array<!proto.cc.arduino.cli.commands.InstalledLibrary>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.InstalledLibrary, 1));
};


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


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


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





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.InstalledLibrary.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.InstalledLibrary.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.InstalledLibrary} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.InstalledLibrary.toObject = function(includeInstance, msg) {
  var f, obj = {
    library: (f = msg.getLibrary()) && proto.cc.arduino.cli.commands.Library.toObject(includeInstance, f),
    release: (f = msg.getRelease()) && proto.cc.arduino.cli.commands.LibraryRelease.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.InstalledLibrary}
 */
proto.cc.arduino.cli.commands.InstalledLibrary.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.InstalledLibrary;
  return proto.cc.arduino.cli.commands.InstalledLibrary.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.InstalledLibrary} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.InstalledLibrary}
 */
proto.cc.arduino.cli.commands.InstalledLibrary.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.Library;
      reader.readMessage(value,proto.cc.arduino.cli.commands.Library.deserializeBinaryFromReader);
      msg.setLibrary(value);
      break;
    case 2:
      var value = new proto.cc.arduino.cli.commands.LibraryRelease;
      reader.readMessage(value,proto.cc.arduino.cli.commands.LibraryRelease.deserializeBinaryFromReader);
      msg.setRelease(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.InstalledLibrary.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.InstalledLibrary.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.InstalledLibrary} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.InstalledLibrary.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getLibrary();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.cc.arduino.cli.commands.Library.serializeBinaryToWriter
    );
  }
  f = message.getRelease();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.cc.arduino.cli.commands.LibraryRelease.serializeBinaryToWriter
    );
  }
};


/**
 * optional Library library = 1;
 * @return {?proto.cc.arduino.cli.commands.Library}
 */
proto.cc.arduino.cli.commands.InstalledLibrary.prototype.getLibrary = function() {
  return /** @type{?proto.cc.arduino.cli.commands.Library} */ (
    jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.Library, 1));
};


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


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


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


/**
 * optional LibraryRelease release = 2;
 * @return {?proto.cc.arduino.cli.commands.LibraryRelease}
 */
proto.cc.arduino.cli.commands.InstalledLibrary.prototype.getRelease = function() {
  return /** @type{?proto.cc.arduino.cli.commands.LibraryRelease} */ (
    jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.LibraryRelease, 2));
};


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


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


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



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.cc.arduino.cli.commands.Library.repeatedFields_ = [8,9,26,27];



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.Library.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.Library.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.Library} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.Library.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, ""),
    author: jspb.Message.getFieldWithDefault(msg, 2, ""),
    maintainer: jspb.Message.getFieldWithDefault(msg, 3, ""),
    sentence: jspb.Message.getFieldWithDefault(msg, 4, ""),
    paragraph: jspb.Message.getFieldWithDefault(msg, 5, ""),
    website: jspb.Message.getFieldWithDefault(msg, 6, ""),
    category: jspb.Message.getFieldWithDefault(msg, 7, ""),
    architecturesList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,
    typesList: (f = jspb.Message.getRepeatedField(msg, 9)) == null ? undefined : f,
    installDir: jspb.Message.getFieldWithDefault(msg, 10, ""),
    sourceDir: jspb.Message.getFieldWithDefault(msg, 11, ""),
    utilityDir: jspb.Message.getFieldWithDefault(msg, 12, ""),
    containerPlatform: jspb.Message.getFieldWithDefault(msg, 14, ""),
    realName: jspb.Message.getFieldWithDefault(msg, 16, ""),
    dotALinkage: jspb.Message.getBooleanFieldWithDefault(msg, 17, false),
    precompiled: jspb.Message.getBooleanFieldWithDefault(msg, 18, false),
    ldFlags: jspb.Message.getFieldWithDefault(msg, 19, ""),
    isLegacy: jspb.Message.getBooleanFieldWithDefault(msg, 20, false),
    version: jspb.Message.getFieldWithDefault(msg, 21, ""),
    license: jspb.Message.getFieldWithDefault(msg, 22, ""),
    propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, undefined) : [],
    location: jspb.Message.getFieldWithDefault(msg, 24, 0),
    layout: jspb.Message.getFieldWithDefault(msg, 25, 0),
    examplesList: (f = jspb.Message.getRepeatedField(msg, 26)) == null ? undefined : f,
    providesIncludesList: (f = jspb.Message.getRepeatedField(msg, 27)) == null ? undefined : f,
    compatibleWithMap: (f = msg.getCompatibleWithMap()) ? f.toObject(includeInstance, undefined) : []
  };

  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.Library}
 */
proto.cc.arduino.cli.commands.Library.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.Library;
  return proto.cc.arduino.cli.commands.Library.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.Library} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.Library}
 */
proto.cc.arduino.cli.commands.Library.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.setAuthor(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setMaintainer(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setSentence(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setParagraph(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setWebsite(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setCategory(value);
      break;
    case 8:
      var value = /** @type {string} */ (reader.readString());
      msg.addArchitectures(value);
      break;
    case 9:
      var value = /** @type {string} */ (reader.readString());
      msg.addTypes(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setInstallDir(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setSourceDir(value);
      break;
    case 12:
      var value = /** @type {string} */ (reader.readString());
      msg.setUtilityDir(value);
      break;
    case 14:
      var value = /** @type {string} */ (reader.readString());
      msg.setContainerPlatform(value);
      break;
    case 16:
      var value = /** @type {string} */ (reader.readString());
      msg.setRealName(value);
      break;
    case 17:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setDotALinkage(value);
      break;
    case 18:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setPrecompiled(value);
      break;
    case 19:
      var value = /** @type {string} */ (reader.readString());
      msg.setLdFlags(value);
      break;
    case 20:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIsLegacy(value);
      break;
    case 21:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersion(value);
      break;
    case 22:
      var value = /** @type {string} */ (reader.readString());
      msg.setLicense(value);
      break;
    case 23:
      var value = msg.getPropertiesMap();
      reader.readMessage(value, function(message, reader) {
        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
         });
      break;
    case 24:
      var value = /** @type {!proto.cc.arduino.cli.commands.LibraryLocation} */ (reader.readEnum());
      msg.setLocation(value);
      break;
    case 25:
      var value = /** @type {!proto.cc.arduino.cli.commands.LibraryLayout} */ (reader.readEnum());
      msg.setLayout(value);
      break;
    case 26:
      var value = /** @type {string} */ (reader.readString());
      msg.addExamples(value);
      break;
    case 27:
      var value = /** @type {string} */ (reader.readString());
      msg.addProvidesIncludes(value);
      break;
    case 28:
      var value = msg.getCompatibleWithMap();
      reader.readMessage(value, function(message, reader) {
        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readBool, null, "", false);
         });
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.cc.arduino.cli.commands.Library.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.Library.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.Library} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.Library.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAuthor();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getMaintainer();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getSentence();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getParagraph();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getWebsite();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
  f = message.getCategory();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getArchitecturesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      8,
      f
    );
  }
  f = message.getTypesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      9,
      f
    );
  }
  f = message.getInstallDir();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getSourceDir();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getUtilityDir();
  if (f.length > 0) {
    writer.writeString(
      12,
      f
    );
  }
  f = message.getContainerPlatform();
  if (f.length > 0) {
    writer.writeString(
      14,
      f
    );
  }
  f = message.getRealName();
  if (f.length > 0) {
    writer.writeString(
      16,
      f
    );
  }
  f = message.getDotALinkage();
  if (f) {
    writer.writeBool(
      17,
      f
    );
  }
  f = message.getPrecompiled();
  if (f) {
    writer.writeBool(
      18,
      f
    );
  }
  f = message.getLdFlags();
  if (f.length > 0) {
    writer.writeString(
      19,
      f
    );
  }
  f = message.getIsLegacy();
  if (f) {
    writer.writeBool(
      20,
      f
    );
  }
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      21,
      f
    );
  }
  f = message.getLicense();
  if (f.length > 0) {
    writer.writeString(
      22,
      f
    );
  }
  f = message.getPropertiesMap(true);
  if (f && f.getLength() > 0) {
    f.serializeBinary(23, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
  }
  f = message.getLocation();
  if (f !== 0.0) {
    writer.writeEnum(
      24,
      f
    );
  }
  f = message.getLayout();
  if (f !== 0.0) {
    writer.writeEnum(
      25,
      f
    );
  }
  f = message.getExamplesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      26,
      f
    );
  }
  f = message.getProvidesIncludesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      27,
      f
    );
  }
  f = message.getCompatibleWithMap(true);
  if (f && f.getLength() > 0) {
    f.serializeBinary(28, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeBool);
  }
};


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


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


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


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


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


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


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


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


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


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


/**
 * optional string website = 6;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Library.prototype.getWebsite = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


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


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


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


/**
 * repeated string architectures = 8;
 * @return {!Array<string>}
 */
proto.cc.arduino.cli.commands.Library.prototype.getArchitecturesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));
};


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


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


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


/**
 * repeated string types = 9;
 * @return {!Array<string>}
 */
proto.cc.arduino.cli.commands.Library.prototype.getTypesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 9));
};


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


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


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


/**
 * optional string install_dir = 10;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Library.prototype.getInstallDir = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


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


/**
 * optional string source_dir = 11;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Library.prototype.getSourceDir = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


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


/**
 * optional string utility_dir = 12;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Library.prototype.getUtilityDir = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, ""));
};


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


/**
 * optional string container_platform = 14;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Library.prototype.getContainerPlatform = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, ""));
};


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


/**
 * optional string real_name = 16;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Library.prototype.getRealName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, ""));
};


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


/**
 * optional bool dot_a_linkage = 17;
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.Library.prototype.getDotALinkage = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 17, false));
};


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


/**
 * optional bool precompiled = 18;
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.Library.prototype.getPrecompiled = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 18, false));
};


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


/**
 * optional string ld_flags = 19;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Library.prototype.getLdFlags = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, ""));
};


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


/**
 * optional bool is_legacy = 20;
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.Library.prototype.getIsLegacy = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 20, false));
};


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


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


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


/**
 * optional string license = 22;
 * @return {string}
 */
proto.cc.arduino.cli.commands.Library.prototype.getLicense = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, ""));
};


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


/**
 * map<string, string> properties = 23;
 * @param {boolean=} opt_noLazyCreate Do not create the map if
 * empty, instead returning `undefined`
 * @return {!jspb.Map<string,string>}
 */
proto.cc.arduino.cli.commands.Library.prototype.getPropertiesMap = function(opt_noLazyCreate) {
  return /** @type {!jspb.Map<string,string>} */ (
      jspb.Message.getMapField(this, 23, opt_noLazyCreate,
      null));
};


/**
 * Clears values from the map. The map will be non-null.
 * @return {!proto.cc.arduino.cli.commands.Library} returns this
 */
proto.cc.arduino.cli.commands.Library.prototype.clearPropertiesMap = function() {
  this.getPropertiesMap().clear();
  return this;};


/**
 * optional LibraryLocation location = 24;
 * @return {!proto.cc.arduino.cli.commands.LibraryLocation}
 */
proto.cc.arduino.cli.commands.Library.prototype.getLocation = function() {
  return /** @type {!proto.cc.arduino.cli.commands.LibraryLocation} */ (jspb.Message.getFieldWithDefault(this, 24, 0));
};


/**
 * @param {!proto.cc.arduino.cli.commands.LibraryLocation} value
 * @return {!proto.cc.arduino.cli.commands.Library} returns this
 */
proto.cc.arduino.cli.commands.Library.prototype.setLocation = function(value) {
  return jspb.Message.setProto3EnumField(this, 24, value);
};


/**
 * optional LibraryLayout layout = 25;
 * @return {!proto.cc.arduino.cli.commands.LibraryLayout}
 */
proto.cc.arduino.cli.commands.Library.prototype.getLayout = function() {
  return /** @type {!proto.cc.arduino.cli.commands.LibraryLayout} */ (jspb.Message.getFieldWithDefault(this, 25, 0));
};


/**
 * @param {!proto.cc.arduino.cli.commands.LibraryLayout} value
 * @return {!proto.cc.arduino.cli.commands.Library} returns this
 */
proto.cc.arduino.cli.commands.Library.prototype.setLayout = function(value) {
  return jspb.Message.setProto3EnumField(this, 25, value);
};


/**
 * repeated string examples = 26;
 * @return {!Array<string>}
 */
proto.cc.arduino.cli.commands.Library.prototype.getExamplesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 26));
};


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


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


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


/**
 * repeated string provides_includes = 27;
 * @return {!Array<string>}
 */
proto.cc.arduino.cli.commands.Library.prototype.getProvidesIncludesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 27));
};


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


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


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


/**
 * map<string, bool> compatible_with = 28;
 * @param {boolean=} opt_noLazyCreate Do not create the map if
 * empty, instead returning `undefined`
 * @return {!jspb.Map<string,boolean>}
 */
proto.cc.arduino.cli.commands.Library.prototype.getCompatibleWithMap = function(opt_noLazyCreate) {
  return /** @type {!jspb.Map<string,boolean>} */ (
      jspb.Message.getMapField(this, 28, opt_noLazyCreate,
      null));
};


/**
 * Clears values from the map. The map will be non-null.
 * @return {!proto.cc.arduino.cli.commands.Library} returns this
 */
proto.cc.arduino.cli.commands.Library.prototype.clearCompatibleWithMap = function() {
  this.getCompatibleWithMap().clear();
  return this;};





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.ZipLibraryInstallReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.ZipLibraryInstallReq.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.ZipLibraryInstallReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    path: 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.ZipLibraryInstallReq}
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.ZipLibraryInstallReq;
  return proto.cc.arduino.cli.commands.ZipLibraryInstallReq.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.ZipLibraryInstallReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.ZipLibraryInstallReq}
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallReq.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.setPath(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.ZipLibraryInstallReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.ZipLibraryInstallReq.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.ZipLibraryInstallReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallReq.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.ZipLibraryInstallReq} returns this
*/
proto.cc.arduino.cli.commands.ZipLibraryInstallReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


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


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


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.ZipLibraryInstallReq} returns this
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallReq.prototype.setPath = 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.ZipLibraryInstallResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.ZipLibraryInstallResp.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.ZipLibraryInstallResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallResp.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.ZipLibraryInstallResp}
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.ZipLibraryInstallResp;
  return proto.cc.arduino.cli.commands.ZipLibraryInstallResp.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.ZipLibraryInstallResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.ZipLibraryInstallResp}
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallResp.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.ZipLibraryInstallResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.ZipLibraryInstallResp.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.ZipLibraryInstallResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallResp.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.ZipLibraryInstallResp.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.ZipLibraryInstallResp} returns this
*/
proto.cc.arduino.cli.commands.ZipLibraryInstallResp.prototype.setTaskProgress = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.cc.arduino.cli.commands.ZipLibraryInstallResp.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.GitLibraryInstallReq.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.GitLibraryInstallReq.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.GitLibraryInstallReq} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.GitLibraryInstallReq.toObject = function(includeInstance, msg) {
  var f, obj = {
    instance: (f = msg.getInstance()) && commands_common_pb.Instance.toObject(includeInstance, f),
    url: 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.GitLibraryInstallReq}
 */
proto.cc.arduino.cli.commands.GitLibraryInstallReq.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.GitLibraryInstallReq;
  return proto.cc.arduino.cli.commands.GitLibraryInstallReq.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.GitLibraryInstallReq} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.GitLibraryInstallReq}
 */
proto.cc.arduino.cli.commands.GitLibraryInstallReq.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.setUrl(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.GitLibraryInstallReq.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.GitLibraryInstallReq.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.GitLibraryInstallReq} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.GitLibraryInstallReq.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getInstance();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      commands_common_pb.Instance.serializeBinaryToWriter
    );
  }
  f = message.getUrl();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional Instance instance = 1;
 * @return {?proto.cc.arduino.cli.commands.Instance}
 */
proto.cc.arduino.cli.commands.GitLibraryInstallReq.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.GitLibraryInstallReq} returns this
*/
proto.cc.arduino.cli.commands.GitLibraryInstallReq.prototype.setInstance = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


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


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


/**
 * @param {string} value
 * @return {!proto.cc.arduino.cli.commands.GitLibraryInstallReq} returns this
 */
proto.cc.arduino.cli.commands.GitLibraryInstallReq.prototype.setUrl = 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.GitLibraryInstallResp.prototype.toObject = function(opt_includeInstance) {
  return proto.cc.arduino.cli.commands.GitLibraryInstallResp.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.GitLibraryInstallResp} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.GitLibraryInstallResp.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.GitLibraryInstallResp}
 */
proto.cc.arduino.cli.commands.GitLibraryInstallResp.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.cc.arduino.cli.commands.GitLibraryInstallResp;
  return proto.cc.arduino.cli.commands.GitLibraryInstallResp.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.GitLibraryInstallResp} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.cc.arduino.cli.commands.GitLibraryInstallResp}
 */
proto.cc.arduino.cli.commands.GitLibraryInstallResp.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.GitLibraryInstallResp.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.cc.arduino.cli.commands.GitLibraryInstallResp.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.GitLibraryInstallResp} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.cc.arduino.cli.commands.GitLibraryInstallResp.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.GitLibraryInstallResp.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.GitLibraryInstallResp} returns this
*/
proto.cc.arduino.cli.commands.GitLibraryInstallResp.prototype.setTaskProgress = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


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


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


/**
 * @enum {number}
 */
proto.cc.arduino.cli.commands.LibrarySearchStatus = {
  FAILED: 0,
  SUCCESS: 1
};

/**
 * @enum {number}
 */
proto.cc.arduino.cli.commands.LibraryLayout = {
  FLAT_LAYOUT: 0,
  RECURSIVE_LAYOUT: 1
};

/**
 * @enum {number}
 */
proto.cc.arduino.cli.commands.LibraryLocation = {
  IDE_BUILTIN: 0,
  USER: 1,
  PLATFORM_BUILTIN: 2,
  REFERENCED_PLATFORM_BUILTIN: 3
};

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