text: // source: ibc/core/connection/v1/query.proto
  /**
   * @fileoverview
   * @enhanceable
   * @suppress {missingRequire} reports error on implicit type usages.
   * @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 gogoproto_gogo_pb = require('../../../../gogoproto/gogo_pb.js');
  goog.object.extend(proto, gogoproto_gogo_pb);
  var cosmos_base_query_v1beta1_pagination_pb = require('../../../../cosmos/base/query/v1beta1/pagination_pb.js');
  goog.object.extend(proto, cosmos_base_query_v1beta1_pagination_pb);
  var ibc_core_client_v1_client_pb = require('../../../../ibc/core/client/v1/client_pb.js');
  goog.object.extend(proto, ibc_core_client_v1_client_pb);
  var ibc_core_connection_v1_connection_pb = require('../../../../ibc/core/connection/v1/connection_pb.js');
  goog.object.extend(proto, ibc_core_connection_v1_connection_pb);
  var google_api_annotations_pb = require('../../../../google/api/annotations_pb.js');
  goog.object.extend(proto, google_api_annotations_pb);
  var google_protobuf_any_pb = require('google-protobuf/google/protobuf/any_pb.js');
  goog.object.extend(proto, google_protobuf_any_pb);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryClientConnectionsRequest', null, global);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryClientConnectionsResponse', null, global);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryConnectionClientStateRequest', null, global);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryConnectionClientStateResponse', null, global);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest', null, global);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse', null, global);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryConnectionRequest', null, global);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryConnectionResponse', null, global);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryConnectionsRequest', null, global);
  goog.exportSymbol('proto.ibc.core.connection.v1.QueryConnectionsResponse', 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.ibc.core.connection.v1.QueryConnectionRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryConnectionRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryConnectionRequest.displayName = 'proto.ibc.core.connection.v1.QueryConnectionRequest';
  }
  /**
   * 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.ibc.core.connection.v1.QueryConnectionResponse = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryConnectionResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryConnectionResponse.displayName = 'proto.ibc.core.connection.v1.QueryConnectionResponse';
  }
  /**
   * 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.ibc.core.connection.v1.QueryConnectionsRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryConnectionsRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryConnectionsRequest.displayName = 'proto.ibc.core.connection.v1.QueryConnectionsRequest';
  }
  /**
   * 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.ibc.core.connection.v1.QueryConnectionsResponse = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.ibc.core.connection.v1.QueryConnectionsResponse.repeatedFields_, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryConnectionsResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryConnectionsResponse.displayName = 'proto.ibc.core.connection.v1.QueryConnectionsResponse';
  }
  /**
   * 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.ibc.core.connection.v1.QueryClientConnectionsRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryClientConnectionsRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryClientConnectionsRequest.displayName = 'proto.ibc.core.connection.v1.QueryClientConnectionsRequest';
  }
  /**
   * 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.ibc.core.connection.v1.QueryClientConnectionsResponse = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.ibc.core.connection.v1.QueryClientConnectionsResponse.repeatedFields_, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryClientConnectionsResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryClientConnectionsResponse.displayName = 'proto.ibc.core.connection.v1.QueryClientConnectionsResponse';
  }
  /**
   * 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.ibc.core.connection.v1.QueryConnectionClientStateRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryConnectionClientStateRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.displayName = 'proto.ibc.core.connection.v1.QueryConnectionClientStateRequest';
  }
  /**
   * 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.ibc.core.connection.v1.QueryConnectionClientStateResponse = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryConnectionClientStateResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.displayName = 'proto.ibc.core.connection.v1.QueryConnectionClientStateResponse';
  }
  /**
   * 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.ibc.core.connection.v1.QueryConnectionConsensusStateRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.displayName = 'proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest';
  }
  /**
   * 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.ibc.core.connection.v1.QueryConnectionConsensusStateResponse = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.displayName = 'proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse';
  }
  
  
  
  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.ibc.core.connection.v1.QueryConnectionRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryConnectionRequest.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.ibc.core.connection.v1.QueryConnectionRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      connectionId: jspb.Message.getFieldWithDefault(msg, 1, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionRequest}
   */
  proto.ibc.core.connection.v1.QueryConnectionRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryConnectionRequest;
    return proto.ibc.core.connection.v1.QueryConnectionRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionRequest}
   */
  proto.ibc.core.connection.v1.QueryConnectionRequest.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.setConnectionId(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryConnectionRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getConnectionId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
  };
  
  
  /**
   * optional string connection_id = 1;
   * @return {string}
   */
  proto.ibc.core.connection.v1.QueryConnectionRequest.prototype.getConnectionId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionRequest} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionRequest.prototype.setConnectionId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryConnectionResponse.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.ibc.core.connection.v1.QueryConnectionResponse} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.toObject = function(includeInstance, msg) {
    var f, obj = {
      connection: (f = msg.getConnection()) && ibc_core_connection_v1_connection_pb.ConnectionEnd.toObject(includeInstance, f),
      proof: msg.getProof_asB64(),
      proofHeight: (f = msg.getProofHeight()) && ibc_core_client_v1_client_pb.Height.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.ibc.core.connection.v1.QueryConnectionResponse}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryConnectionResponse;
    return proto.ibc.core.connection.v1.QueryConnectionResponse.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionResponse}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new ibc_core_connection_v1_connection_pb.ConnectionEnd;
        reader.readMessage(value,ibc_core_connection_v1_connection_pb.ConnectionEnd.deserializeBinaryFromReader);
        msg.setConnection(value);
        break;
      case 2:
        var value = /** @type {!Uint8Array} */ (reader.readBytes());
        msg.setProof(value);
        break;
      case 3:
        var value = new ibc_core_client_v1_client_pb.Height;
        reader.readMessage(value,ibc_core_client_v1_client_pb.Height.deserializeBinaryFromReader);
        msg.setProofHeight(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryConnectionResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getConnection();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        ibc_core_connection_v1_connection_pb.ConnectionEnd.serializeBinaryToWriter
      );
    }
    f = message.getProof_asU8();
    if (f.length > 0) {
      writer.writeBytes(
        2,
        f
      );
    }
    f = message.getProofHeight();
    if (f != null) {
      writer.writeMessage(
        3,
        f,
        ibc_core_client_v1_client_pb.Height.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional ConnectionEnd connection = 1;
   * @return {?proto.ibc.core.connection.v1.ConnectionEnd}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.getConnection = function() {
    return /** @type{?proto.ibc.core.connection.v1.ConnectionEnd} */ (
      jspb.Message.getWrapperField(this, ibc_core_connection_v1_connection_pb.ConnectionEnd, 1));
  };
  
  
  /**
   * @param {?proto.ibc.core.connection.v1.ConnectionEnd|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.setConnection = function(value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.clearConnection = function() {
    return this.setConnection(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.hasConnection = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional bytes proof = 2;
   * @return {!(string|Uint8Array)}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.getProof = function() {
    return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * optional bytes proof = 2;
   * This is a type-conversion wrapper around `getProof()`
   * @return {string}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.getProof_asB64 = function() {
    return /** @type {string} */ (jspb.Message.bytesAsB64(
        this.getProof()));
  };
  
  
  /**
   * optional bytes proof = 2;
   * Note that Uint8Array is not supported on all browsers.
   * @see http://caniuse.com/Uint8Array
   * This is a type-conversion wrapper around `getProof()`
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.getProof_asU8 = function() {
    return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
        this.getProof()));
  };
  
  
  /**
   * @param {!(string|Uint8Array)} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.setProof = function(value) {
    return jspb.Message.setProto3BytesField(this, 2, value);
  };
  
  
  /**
   * optional ibc.core.client.v1.Height proof_height = 3;
   * @return {?proto.ibc.core.client.v1.Height}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.getProofHeight = function() {
    return /** @type{?proto.ibc.core.client.v1.Height} */ (
      jspb.Message.getWrapperField(this, ibc_core_client_v1_client_pb.Height, 3));
  };
  
  
  /**
   * @param {?proto.ibc.core.client.v1.Height|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.setProofHeight = function(value) {
    return jspb.Message.setWrapperField(this, 3, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.clearProofHeight = function() {
    return this.setProofHeight(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryConnectionResponse.prototype.hasProofHeight = function() {
    return jspb.Message.getField(this, 3) != 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.ibc.core.connection.v1.QueryConnectionsRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryConnectionsRequest.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.ibc.core.connection.v1.QueryConnectionsRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionsRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      pagination: (f = msg.getPagination()) && cosmos_base_query_v1beta1_pagination_pb.PageRequest.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.ibc.core.connection.v1.QueryConnectionsRequest}
   */
  proto.ibc.core.connection.v1.QueryConnectionsRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryConnectionsRequest;
    return proto.ibc.core.connection.v1.QueryConnectionsRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionsRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsRequest}
   */
  proto.ibc.core.connection.v1.QueryConnectionsRequest.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new cosmos_base_query_v1beta1_pagination_pb.PageRequest;
        reader.readMessage(value,cosmos_base_query_v1beta1_pagination_pb.PageRequest.deserializeBinaryFromReader);
        msg.setPagination(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionsRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryConnectionsRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionsRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionsRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getPagination();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        cosmos_base_query_v1beta1_pagination_pb.PageRequest.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional cosmos.base.query.v1beta1.PageRequest pagination = 1;
   * @return {?proto.cosmos.base.query.v1beta1.PageRequest}
   */
  proto.ibc.core.connection.v1.QueryConnectionsRequest.prototype.getPagination = function() {
    return /** @type{?proto.cosmos.base.query.v1beta1.PageRequest} */ (
      jspb.Message.getWrapperField(this, cosmos_base_query_v1beta1_pagination_pb.PageRequest, 1));
  };
  
  
  /**
   * @param {?proto.cosmos.base.query.v1beta1.PageRequest|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsRequest} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionsRequest.prototype.setPagination = function(value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsRequest} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionsRequest.prototype.clearPagination = function() {
    return this.setPagination(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryConnectionsRequest.prototype.hasPagination = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.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.ibc.core.connection.v1.QueryConnectionsResponse.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryConnectionsResponse.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.ibc.core.connection.v1.QueryConnectionsResponse} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.toObject = function(includeInstance, msg) {
    var f, obj = {
      connectionsList: jspb.Message.toObjectList(msg.getConnectionsList(),
      ibc_core_connection_v1_connection_pb.IdentifiedConnection.toObject, includeInstance),
      pagination: (f = msg.getPagination()) && cosmos_base_query_v1beta1_pagination_pb.PageResponse.toObject(includeInstance, f),
      height: (f = msg.getHeight()) && ibc_core_client_v1_client_pb.Height.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.ibc.core.connection.v1.QueryConnectionsResponse}
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryConnectionsResponse;
    return proto.ibc.core.connection.v1.QueryConnectionsResponse.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionsResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsResponse}
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new ibc_core_connection_v1_connection_pb.IdentifiedConnection;
        reader.readMessage(value,ibc_core_connection_v1_connection_pb.IdentifiedConnection.deserializeBinaryFromReader);
        msg.addConnections(value);
        break;
      case 2:
        var value = new cosmos_base_query_v1beta1_pagination_pb.PageResponse;
        reader.readMessage(value,cosmos_base_query_v1beta1_pagination_pb.PageResponse.deserializeBinaryFromReader);
        msg.setPagination(value);
        break;
      case 3:
        var value = new ibc_core_client_v1_client_pb.Height;
        reader.readMessage(value,ibc_core_client_v1_client_pb.Height.deserializeBinaryFromReader);
        msg.setHeight(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryConnectionsResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionsResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getConnectionsList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        1,
        f,
        ibc_core_connection_v1_connection_pb.IdentifiedConnection.serializeBinaryToWriter
      );
    }
    f = message.getPagination();
    if (f != null) {
      writer.writeMessage(
        2,
        f,
        cosmos_base_query_v1beta1_pagination_pb.PageResponse.serializeBinaryToWriter
      );
    }
    f = message.getHeight();
    if (f != null) {
      writer.writeMessage(
        3,
        f,
        ibc_core_client_v1_client_pb.Height.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * repeated IdentifiedConnection connections = 1;
   * @return {!Array<!proto.ibc.core.connection.v1.IdentifiedConnection>}
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.getConnectionsList = function() {
    return /** @type{!Array<!proto.ibc.core.connection.v1.IdentifiedConnection>} */ (
      jspb.Message.getRepeatedWrapperField(this, ibc_core_connection_v1_connection_pb.IdentifiedConnection, 1));
  };
  
  
  /**
   * @param {!Array<!proto.ibc.core.connection.v1.IdentifiedConnection>} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.setConnectionsList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
  };
  
  
  /**
   * @param {!proto.ibc.core.connection.v1.IdentifiedConnection=} opt_value
   * @param {number=} opt_index
   * @return {!proto.ibc.core.connection.v1.IdentifiedConnection}
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.addConnections = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ibc.core.connection.v1.IdentifiedConnection, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.clearConnectionsList = function() {
    return this.setConnectionsList([]);
  };
  
  
  /**
   * optional cosmos.base.query.v1beta1.PageResponse pagination = 2;
   * @return {?proto.cosmos.base.query.v1beta1.PageResponse}
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.getPagination = function() {
    return /** @type{?proto.cosmos.base.query.v1beta1.PageResponse} */ (
      jspb.Message.getWrapperField(this, cosmos_base_query_v1beta1_pagination_pb.PageResponse, 2));
  };
  
  
  /**
   * @param {?proto.cosmos.base.query.v1beta1.PageResponse|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.setPagination = function(value) {
    return jspb.Message.setWrapperField(this, 2, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.clearPagination = function() {
    return this.setPagination(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.hasPagination = function() {
    return jspb.Message.getField(this, 2) != null;
  };
  
  
  /**
   * optional ibc.core.client.v1.Height height = 3;
   * @return {?proto.ibc.core.client.v1.Height}
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.getHeight = function() {
    return /** @type{?proto.ibc.core.client.v1.Height} */ (
      jspb.Message.getWrapperField(this, ibc_core_client_v1_client_pb.Height, 3));
  };
  
  
  /**
   * @param {?proto.ibc.core.client.v1.Height|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.setHeight = function(value) {
    return jspb.Message.setWrapperField(this, 3, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionsResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.clearHeight = function() {
    return this.setHeight(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryConnectionsResponse.prototype.hasHeight = function() {
    return jspb.Message.getField(this, 3) != 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.ibc.core.connection.v1.QueryClientConnectionsRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryClientConnectionsRequest.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.ibc.core.connection.v1.QueryClientConnectionsRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      clientId: jspb.Message.getFieldWithDefault(msg, 1, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsRequest}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryClientConnectionsRequest;
    return proto.ibc.core.connection.v1.QueryClientConnectionsRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryClientConnectionsRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsRequest}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsRequest.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.setClientId(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryClientConnectionsRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryClientConnectionsRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getClientId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
  };
  
  
  /**
   * optional string client_id = 1;
   * @return {string}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsRequest.prototype.getClientId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsRequest} returns this
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsRequest.prototype.setClientId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.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.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryClientConnectionsResponse.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.ibc.core.connection.v1.QueryClientConnectionsResponse} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.toObject = function(includeInstance, msg) {
    var f, obj = {
      connectionPathsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,
      proof: msg.getProof_asB64(),
      proofHeight: (f = msg.getProofHeight()) && ibc_core_client_v1_client_pb.Height.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.ibc.core.connection.v1.QueryClientConnectionsResponse}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryClientConnectionsResponse;
    return proto.ibc.core.connection.v1.QueryClientConnectionsResponse.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryClientConnectionsResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsResponse}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.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.addConnectionPaths(value);
        break;
      case 2:
        var value = /** @type {!Uint8Array} */ (reader.readBytes());
        msg.setProof(value);
        break;
      case 3:
        var value = new ibc_core_client_v1_client_pb.Height;
        reader.readMessage(value,ibc_core_client_v1_client_pb.Height.deserializeBinaryFromReader);
        msg.setProofHeight(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryClientConnectionsResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryClientConnectionsResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getConnectionPathsList();
    if (f.length > 0) {
      writer.writeRepeatedString(
        1,
        f
      );
    }
    f = message.getProof_asU8();
    if (f.length > 0) {
      writer.writeBytes(
        2,
        f
      );
    }
    f = message.getProofHeight();
    if (f != null) {
      writer.writeMessage(
        3,
        f,
        ibc_core_client_v1_client_pb.Height.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * repeated string connection_paths = 1;
   * @return {!Array<string>}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.getConnectionPathsList = function() {
    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));
  };
  
  
  /**
   * @param {!Array<string>} value
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.setConnectionPathsList = function(value) {
    return jspb.Message.setField(this, 1, value || []);
  };
  
  
  /**
   * @param {string} value
   * @param {number=} opt_index
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.addConnectionPaths = function(value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.clearConnectionPathsList = function() {
    return this.setConnectionPathsList([]);
  };
  
  
  /**
   * optional bytes proof = 2;
   * @return {!(string|Uint8Array)}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.getProof = function() {
    return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * optional bytes proof = 2;
   * This is a type-conversion wrapper around `getProof()`
   * @return {string}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.getProof_asB64 = function() {
    return /** @type {string} */ (jspb.Message.bytesAsB64(
        this.getProof()));
  };
  
  
  /**
   * optional bytes proof = 2;
   * Note that Uint8Array is not supported on all browsers.
   * @see http://caniuse.com/Uint8Array
   * This is a type-conversion wrapper around `getProof()`
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.getProof_asU8 = function() {
    return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
        this.getProof()));
  };
  
  
  /**
   * @param {!(string|Uint8Array)} value
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.setProof = function(value) {
    return jspb.Message.setProto3BytesField(this, 2, value);
  };
  
  
  /**
   * optional ibc.core.client.v1.Height proof_height = 3;
   * @return {?proto.ibc.core.client.v1.Height}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.getProofHeight = function() {
    return /** @type{?proto.ibc.core.client.v1.Height} */ (
      jspb.Message.getWrapperField(this, ibc_core_client_v1_client_pb.Height, 3));
  };
  
  
  /**
   * @param {?proto.ibc.core.client.v1.Height|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.setProofHeight = function(value) {
    return jspb.Message.setWrapperField(this, 3, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryClientConnectionsResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.clearProofHeight = function() {
    return this.setProofHeight(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryClientConnectionsResponse.prototype.hasProofHeight = function() {
    return jspb.Message.getField(this, 3) != 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.ibc.core.connection.v1.QueryConnectionClientStateRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.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.ibc.core.connection.v1.QueryConnectionClientStateRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      connectionId: jspb.Message.getFieldWithDefault(msg, 1, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionClientStateRequest}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryConnectionClientStateRequest;
    return proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionClientStateRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionClientStateRequest}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.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.setConnectionId(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionClientStateRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getConnectionId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
  };
  
  
  /**
   * optional string connection_id = 1;
   * @return {string}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.prototype.getConnectionId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionClientStateRequest} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateRequest.prototype.setConnectionId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.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.ibc.core.connection.v1.QueryConnectionClientStateResponse} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.toObject = function(includeInstance, msg) {
    var f, obj = {
      identifiedClientState: (f = msg.getIdentifiedClientState()) && ibc_core_client_v1_client_pb.IdentifiedClientState.toObject(includeInstance, f),
      proof: msg.getProof_asB64(),
      proofHeight: (f = msg.getProofHeight()) && ibc_core_client_v1_client_pb.Height.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.ibc.core.connection.v1.QueryConnectionClientStateResponse}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryConnectionClientStateResponse;
    return proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionClientStateResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionClientStateResponse}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new ibc_core_client_v1_client_pb.IdentifiedClientState;
        reader.readMessage(value,ibc_core_client_v1_client_pb.IdentifiedClientState.deserializeBinaryFromReader);
        msg.setIdentifiedClientState(value);
        break;
      case 2:
        var value = /** @type {!Uint8Array} */ (reader.readBytes());
        msg.setProof(value);
        break;
      case 3:
        var value = new ibc_core_client_v1_client_pb.Height;
        reader.readMessage(value,ibc_core_client_v1_client_pb.Height.deserializeBinaryFromReader);
        msg.setProofHeight(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionClientStateResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getIdentifiedClientState();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        ibc_core_client_v1_client_pb.IdentifiedClientState.serializeBinaryToWriter
      );
    }
    f = message.getProof_asU8();
    if (f.length > 0) {
      writer.writeBytes(
        2,
        f
      );
    }
    f = message.getProofHeight();
    if (f != null) {
      writer.writeMessage(
        3,
        f,
        ibc_core_client_v1_client_pb.Height.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional ibc.core.client.v1.IdentifiedClientState identified_client_state = 1;
   * @return {?proto.ibc.core.client.v1.IdentifiedClientState}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.getIdentifiedClientState = function() {
    return /** @type{?proto.ibc.core.client.v1.IdentifiedClientState} */ (
      jspb.Message.getWrapperField(this, ibc_core_client_v1_client_pb.IdentifiedClientState, 1));
  };
  
  
  /**
   * @param {?proto.ibc.core.client.v1.IdentifiedClientState|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionClientStateResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.setIdentifiedClientState = function(value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionClientStateResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.clearIdentifiedClientState = function() {
    return this.setIdentifiedClientState(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.hasIdentifiedClientState = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional bytes proof = 2;
   * @return {!(string|Uint8Array)}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.getProof = function() {
    return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * optional bytes proof = 2;
   * This is a type-conversion wrapper around `getProof()`
   * @return {string}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.getProof_asB64 = function() {
    return /** @type {string} */ (jspb.Message.bytesAsB64(
        this.getProof()));
  };
  
  
  /**
   * optional bytes proof = 2;
   * Note that Uint8Array is not supported on all browsers.
   * @see http://caniuse.com/Uint8Array
   * This is a type-conversion wrapper around `getProof()`
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.getProof_asU8 = function() {
    return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
        this.getProof()));
  };
  
  
  /**
   * @param {!(string|Uint8Array)} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionClientStateResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.setProof = function(value) {
    return jspb.Message.setProto3BytesField(this, 2, value);
  };
  
  
  /**
   * optional ibc.core.client.v1.Height proof_height = 3;
   * @return {?proto.ibc.core.client.v1.Height}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.getProofHeight = function() {
    return /** @type{?proto.ibc.core.client.v1.Height} */ (
      jspb.Message.getWrapperField(this, ibc_core_client_v1_client_pb.Height, 3));
  };
  
  
  /**
   * @param {?proto.ibc.core.client.v1.Height|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionClientStateResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.setProofHeight = function(value) {
    return jspb.Message.setWrapperField(this, 3, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionClientStateResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.clearProofHeight = function() {
    return this.setProofHeight(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryConnectionClientStateResponse.prototype.hasProofHeight = function() {
    return jspb.Message.getField(this, 3) != 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.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.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.ibc.core.connection.v1.QueryConnectionConsensusStateRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      connectionId: jspb.Message.getFieldWithDefault(msg, 1, ""),
      revisionNumber: jspb.Message.getFieldWithDefault(msg, 2, 0),
      revisionHeight: jspb.Message.getFieldWithDefault(msg, 3, 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.ibc.core.connection.v1.QueryConnectionConsensusStateRequest}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest;
    return proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.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.setConnectionId(value);
        break;
      case 2:
        var value = /** @type {number} */ (reader.readUint64());
        msg.setRevisionNumber(value);
        break;
      case 3:
        var value = /** @type {number} */ (reader.readUint64());
        msg.setRevisionHeight(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getConnectionId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getRevisionNumber();
    if (f !== 0) {
      writer.writeUint64(
        2,
        f
      );
    }
    f = message.getRevisionHeight();
    if (f !== 0) {
      writer.writeUint64(
        3,
        f
      );
    }
  };
  
  
  /**
   * optional string connection_id = 1;
   * @return {string}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.prototype.getConnectionId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.prototype.setConnectionId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional uint64 revision_number = 2;
   * @return {number}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.prototype.getRevisionNumber = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.prototype.setRevisionNumber = function(value) {
    return jspb.Message.setProto3IntField(this, 2, value);
  };
  
  
  /**
   * optional uint64 revision_height = 3;
   * @return {number}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.prototype.getRevisionHeight = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateRequest.prototype.setRevisionHeight = function(value) {
    return jspb.Message.setProto3IntField(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.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.toObject = function(opt_includeInstance) {
    return proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.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.ibc.core.connection.v1.QueryConnectionConsensusStateResponse} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.toObject = function(includeInstance, msg) {
    var f, obj = {
      consensusState: (f = msg.getConsensusState()) && google_protobuf_any_pb.Any.toObject(includeInstance, f),
      clientId: jspb.Message.getFieldWithDefault(msg, 2, ""),
      proof: msg.getProof_asB64(),
      proofHeight: (f = msg.getProofHeight()) && ibc_core_client_v1_client_pb.Height.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.ibc.core.connection.v1.QueryConnectionConsensusStateResponse}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse;
    return proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new google_protobuf_any_pb.Any;
        reader.readMessage(value,google_protobuf_any_pb.Any.deserializeBinaryFromReader);
        msg.setConsensusState(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setClientId(value);
        break;
      case 3:
        var value = /** @type {!Uint8Array} */ (reader.readBytes());
        msg.setProof(value);
        break;
      case 4:
        var value = new ibc_core_client_v1_client_pb.Height;
        reader.readMessage(value,ibc_core_client_v1_client_pb.Height.deserializeBinaryFromReader);
        msg.setProofHeight(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getConsensusState();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        google_protobuf_any_pb.Any.serializeBinaryToWriter
      );
    }
    f = message.getClientId();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getProof_asU8();
    if (f.length > 0) {
      writer.writeBytes(
        3,
        f
      );
    }
    f = message.getProofHeight();
    if (f != null) {
      writer.writeMessage(
        4,
        f,
        ibc_core_client_v1_client_pb.Height.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional google.protobuf.Any consensus_state = 1;
   * @return {?proto.google.protobuf.Any}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.getConsensusState = function() {
    return /** @type{?proto.google.protobuf.Any} */ (
      jspb.Message.getWrapperField(this, google_protobuf_any_pb.Any, 1));
  };
  
  
  /**
   * @param {?proto.google.protobuf.Any|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.setConsensusState = function(value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.clearConsensusState = function() {
    return this.setConsensusState(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.hasConsensusState = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional string client_id = 2;
   * @return {string}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.getClientId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.setClientId = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional bytes proof = 3;
   * @return {!(string|Uint8Array)}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.getProof = function() {
    return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /**
   * optional bytes proof = 3;
   * This is a type-conversion wrapper around `getProof()`
   * @return {string}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.getProof_asB64 = function() {
    return /** @type {string} */ (jspb.Message.bytesAsB64(
        this.getProof()));
  };
  
  
  /**
   * optional bytes proof = 3;
   * Note that Uint8Array is not supported on all browsers.
   * @see http://caniuse.com/Uint8Array
   * This is a type-conversion wrapper around `getProof()`
   * @return {!Uint8Array}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.getProof_asU8 = function() {
    return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
        this.getProof()));
  };
  
  
  /**
   * @param {!(string|Uint8Array)} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.setProof = function(value) {
    return jspb.Message.setProto3BytesField(this, 3, value);
  };
  
  
  /**
   * optional ibc.core.client.v1.Height proof_height = 4;
   * @return {?proto.ibc.core.client.v1.Height}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.getProofHeight = function() {
    return /** @type{?proto.ibc.core.client.v1.Height} */ (
      jspb.Message.getWrapperField(this, ibc_core_client_v1_client_pb.Height, 4));
  };
  
  
  /**
   * @param {?proto.ibc.core.client.v1.Height|undefined} value
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse} returns this
  */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.setProofHeight = function(value) {
    return jspb.Message.setWrapperField(this, 4, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse} returns this
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.clearProofHeight = function() {
    return this.setProofHeight(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.ibc.core.connection.v1.QueryConnectionConsensusStateResponse.prototype.hasProofHeight = function() {
    return jspb.Message.getField(this, 4) != null;
  };
  
  
  goog.object.extend(exports, proto.ibc.core.connection.v1);
  