text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: pagespeed/kernel/image/image_optimizer.proto
  
  #ifndef PROTOBUF_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto__INCLUDED
  #define PROTOBUF_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto__INCLUDED
  
  #include <string>
  
  #include <google/protobuf/stubs/common.h>
  
  #if GOOGLE_PROTOBUF_VERSION < 3000000
  #error This file was generated by a newer version of protoc which is
  #error incompatible with your Protocol Buffer headers.  Please update
  #error your headers.
  #endif
  #if 3000000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
  #error This file was generated by an older version of protoc which is
  #error incompatible with your Protocol Buffer headers.  Please
  #error regenerate this file with a newer version of protoc.
  #endif
  
  #include <google/protobuf/arena.h>
  #include <google/protobuf/arenastring.h>
  #include <google/protobuf/generated_message_util.h>
  #include <google/protobuf/message_lite.h>
  #include <google/protobuf/repeated_field.h>
  #include <google/protobuf/extension_set.h>
  // @@protoc_insertion_point(includes)
  
  namespace pagespeed {
  namespace image_compression {
  
  // Internal implementation detail -- do not call these.
  void protobuf_AddDesc_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto();
  void protobuf_AssignDesc_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto();
  void protobuf_ShutdownFile_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto();
  
  class ImageDimensions;
  class ImageOptions;
  
  // ===================================================================
  
  class ImageOptions : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:pagespeed.image_compression.ImageOptions) */ {
   public:
    ImageOptions();
    virtual ~ImageOptions();
  
    ImageOptions(const ImageOptions& from);
  
    inline ImageOptions& operator=(const ImageOptions& from) {
      CopyFrom(from);
      return *this;
    }
  
    inline const ::std::string& unknown_fields() const {
      return _unknown_fields_.GetNoArena(
          &::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
  
    inline ::std::string* mutable_unknown_fields() {
      return _unknown_fields_.MutableNoArena(
          &::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
  
    static const ImageOptions& default_instance();
  
    #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    // Returns the internal default instance pointer. This function can
    // return NULL thus should not be used by the user. This is intended
    // for Protobuf internal code. Please use default_instance() declared
    // above instead.
    static inline const ImageOptions* internal_default_instance() {
      return default_instance_;
    }
    #endif
  
    void Swap(ImageOptions* other);
  
    // implements Message ----------------------------------------------
  
    inline ImageOptions* New() const { return New(NULL); }
  
    ImageOptions* New(::google::protobuf::Arena* arena) const;
    void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
    void CopyFrom(const ImageOptions& from);
    void MergeFrom(const ImageOptions& from);
    void Clear();
    bool IsInitialized() const;
  
    int ByteSize() const;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input);
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const;
    void DiscardUnknownFields();
    int GetCachedSize() const { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const;
    void InternalSwap(ImageOptions* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return _arena_ptr_;
    }
    inline ::google::protobuf::Arena* MaybeArenaPtr() const {
      return _arena_ptr_;
    }
    public:
  
    ::std::string GetTypeName() const;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // optional bool allow_png = 1 [default = true];
    bool has_allow_png() const;
    void clear_allow_png();
    static const int kAllowPngFieldNumber = 1;
    bool allow_png() const;
    void set_allow_png(bool value);
  
    // optional bool allow_jpeg = 2 [default = true];
    bool has_allow_jpeg() const;
    void clear_allow_jpeg();
    static const int kAllowJpegFieldNumber = 2;
    bool allow_jpeg() const;
    void set_allow_jpeg(bool value);
  
    // optional bool allow_webp_lossy = 3 [default = true];
    bool has_allow_webp_lossy() const;
    void clear_allow_webp_lossy();
    static const int kAllowWebpLossyFieldNumber = 3;
    bool allow_webp_lossy() const;
    void set_allow_webp_lossy(bool value);
  
    // optional bool allow_webp_lossless_or_alpha = 4 [default = false];
    bool has_allow_webp_lossless_or_alpha() const;
    void clear_allow_webp_lossless_or_alpha();
    static const int kAllowWebpLosslessOrAlphaFieldNumber = 4;
    bool allow_webp_lossless_or_alpha() const;
    void set_allow_webp_lossless_or_alpha(bool value);
  
    // optional bool allow_webp_animated = 5 [default = false];
    bool has_allow_webp_animated() const;
    void clear_allow_webp_animated();
    static const int kAllowWebpAnimatedFieldNumber = 5;
    bool allow_webp_animated() const;
    void set_allow_webp_animated(bool value);
  
    // optional bool allow_convert_lossless_to_lossy = 6 [default = false];
    bool has_allow_convert_lossless_to_lossy() const;
    void clear_allow_convert_lossless_to_lossy();
    static const int kAllowConvertLosslessToLossyFieldNumber = 6;
    bool allow_convert_lossless_to_lossy() const;
    void set_allow_convert_lossless_to_lossy(bool value);
  
    // optional bool must_reduce_bytes = 7 [default = true];
    bool has_must_reduce_bytes() const;
    void clear_must_reduce_bytes();
    static const int kMustReduceBytesFieldNumber = 7;
    bool must_reduce_bytes() const;
    void set_must_reduce_bytes(bool value);
  
    // optional int32 max_jpeg_quality = 8 [default = 85];
    bool has_max_jpeg_quality() const;
    void clear_max_jpeg_quality();
    static const int kMaxJpegQualityFieldNumber = 8;
    ::google::protobuf::int32 max_jpeg_quality() const;
    void set_max_jpeg_quality(::google::protobuf::int32 value);
  
    // optional int32 max_webp_quality = 9 [default = 85];
    bool has_max_webp_quality() const;
    void clear_max_webp_quality();
    static const int kMaxWebpQualityFieldNumber = 9;
    ::google::protobuf::int32 max_webp_quality() const;
    void set_max_webp_quality(::google::protobuf::int32 value);
  
    // optional int32 max_webp_animated_quality = 10 [default = 85];
    bool has_max_webp_animated_quality() const;
    void clear_max_webp_animated_quality();
    static const int kMaxWebpAnimatedQualityFieldNumber = 10;
    ::google::protobuf::int32 max_webp_animated_quality() const;
    void set_max_webp_animated_quality(::google::protobuf::int32 value);
  
    // optional int32 max_timeout_ms = 11 [default = -1];
    bool has_max_timeout_ms() const;
    void clear_max_timeout_ms();
    static const int kMaxTimeoutMsFieldNumber = 11;
    ::google::protobuf::int32 max_timeout_ms() const;
    void set_max_timeout_ms(::google::protobuf::int32 value);
  
    // @@protoc_insertion_point(class_scope:pagespeed.image_compression.ImageOptions)
   private:
    inline void set_has_allow_png();
    inline void clear_has_allow_png();
    inline void set_has_allow_jpeg();
    inline void clear_has_allow_jpeg();
    inline void set_has_allow_webp_lossy();
    inline void clear_has_allow_webp_lossy();
    inline void set_has_allow_webp_lossless_or_alpha();
    inline void clear_has_allow_webp_lossless_or_alpha();
    inline void set_has_allow_webp_animated();
    inline void clear_has_allow_webp_animated();
    inline void set_has_allow_convert_lossless_to_lossy();
    inline void clear_has_allow_convert_lossless_to_lossy();
    inline void set_has_must_reduce_bytes();
    inline void clear_has_must_reduce_bytes();
    inline void set_has_max_jpeg_quality();
    inline void clear_has_max_jpeg_quality();
    inline void set_has_max_webp_quality();
    inline void clear_has_max_webp_quality();
    inline void set_has_max_webp_animated_quality();
    inline void clear_has_max_webp_animated_quality();
    inline void set_has_max_timeout_ms();
    inline void clear_has_max_timeout_ms();
  
    ::google::protobuf::internal::ArenaStringPtr _unknown_fields_;
    ::google::protobuf::Arena* _arena_ptr_;
  
    ::google::protobuf::uint32 _has_bits_[1];
    mutable int _cached_size_;
    bool allow_png_;
    bool allow_jpeg_;
    bool allow_webp_lossy_;
    bool allow_webp_lossless_or_alpha_;
    bool allow_webp_animated_;
    bool allow_convert_lossless_to_lossy_;
    bool must_reduce_bytes_;
    ::google::protobuf::int32 max_jpeg_quality_;
    ::google::protobuf::int32 max_webp_quality_;
    ::google::protobuf::int32 max_webp_animated_quality_;
    ::google::protobuf::int32 max_timeout_ms_;
    #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    friend void  protobuf_AddDesc_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto_impl();
    #else
    friend void  protobuf_AddDesc_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto();
    #endif
    friend void protobuf_AssignDesc_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto();
    friend void protobuf_ShutdownFile_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto();
  
    void InitAsDefaultInstance();
    static ImageOptions* default_instance_;
  };
  // -------------------------------------------------------------------
  
  class ImageDimensions : public ::google::protobuf::MessageLite /* @@protoc_insertion_point(class_definition:pagespeed.image_compression.ImageDimensions) */ {
   public:
    ImageDimensions();
    virtual ~ImageDimensions();
  
    ImageDimensions(const ImageDimensions& from);
  
    inline ImageDimensions& operator=(const ImageDimensions& from) {
      CopyFrom(from);
      return *this;
    }
  
    inline const ::std::string& unknown_fields() const {
      return _unknown_fields_.GetNoArena(
          &::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
  
    inline ::std::string* mutable_unknown_fields() {
      return _unknown_fields_.MutableNoArena(
          &::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
  
    static const ImageDimensions& default_instance();
  
    #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    // Returns the internal default instance pointer. This function can
    // return NULL thus should not be used by the user. This is intended
    // for Protobuf internal code. Please use default_instance() declared
    // above instead.
    static inline const ImageDimensions* internal_default_instance() {
      return default_instance_;
    }
    #endif
  
    void Swap(ImageDimensions* other);
  
    // implements Message ----------------------------------------------
  
    inline ImageDimensions* New() const { return New(NULL); }
  
    ImageDimensions* New(::google::protobuf::Arena* arena) const;
    void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
    void CopyFrom(const ImageDimensions& from);
    void MergeFrom(const ImageDimensions& from);
    void Clear();
    bool IsInitialized() const;
  
    int ByteSize() const;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input);
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const;
    void DiscardUnknownFields();
    int GetCachedSize() const { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const;
    void InternalSwap(ImageDimensions* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return _arena_ptr_;
    }
    inline ::google::protobuf::Arena* MaybeArenaPtr() const {
      return _arena_ptr_;
    }
    public:
  
    ::std::string GetTypeName() const;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // optional int32 width = 1;
    bool has_width() const;
    void clear_width();
    static const int kWidthFieldNumber = 1;
    ::google::protobuf::int32 width() const;
    void set_width(::google::protobuf::int32 value);
  
    // optional int32 height = 2;
    bool has_height() const;
    void clear_height();
    static const int kHeightFieldNumber = 2;
    ::google::protobuf::int32 height() const;
    void set_height(::google::protobuf::int32 value);
  
    // @@protoc_insertion_point(class_scope:pagespeed.image_compression.ImageDimensions)
   private:
    inline void set_has_width();
    inline void clear_has_width();
    inline void set_has_height();
    inline void clear_has_height();
  
    ::google::protobuf::internal::ArenaStringPtr _unknown_fields_;
    ::google::protobuf::Arena* _arena_ptr_;
  
    ::google::protobuf::uint32 _has_bits_[1];
    mutable int _cached_size_;
    ::google::protobuf::int32 width_;
    ::google::protobuf::int32 height_;
    #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
    friend void  protobuf_AddDesc_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto_impl();
    #else
    friend void  protobuf_AddDesc_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto();
    #endif
    friend void protobuf_AssignDesc_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto();
    friend void protobuf_ShutdownFile_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto();
  
    void InitAsDefaultInstance();
    static ImageDimensions* default_instance_;
  };
  // ===================================================================
  
  
  // ===================================================================
  
  #if !PROTOBUF_INLINE_NOT_IN_HEADERS
  // ImageOptions
  
  // optional bool allow_png = 1 [default = true];
  inline bool ImageOptions::has_allow_png() const {
    return (_has_bits_[0] & 0x00000001u) != 0;
  }
  inline void ImageOptions::set_has_allow_png() {
    _has_bits_[0] |= 0x00000001u;
  }
  inline void ImageOptions::clear_has_allow_png() {
    _has_bits_[0] &= ~0x00000001u;
  }
  inline void ImageOptions::clear_allow_png() {
    allow_png_ = true;
    clear_has_allow_png();
  }
  inline bool ImageOptions::allow_png() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.allow_png)
    return allow_png_;
  }
  inline void ImageOptions::set_allow_png(bool value) {
    set_has_allow_png();
    allow_png_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.allow_png)
  }
  
  // optional bool allow_jpeg = 2 [default = true];
  inline bool ImageOptions::has_allow_jpeg() const {
    return (_has_bits_[0] & 0x00000002u) != 0;
  }
  inline void ImageOptions::set_has_allow_jpeg() {
    _has_bits_[0] |= 0x00000002u;
  }
  inline void ImageOptions::clear_has_allow_jpeg() {
    _has_bits_[0] &= ~0x00000002u;
  }
  inline void ImageOptions::clear_allow_jpeg() {
    allow_jpeg_ = true;
    clear_has_allow_jpeg();
  }
  inline bool ImageOptions::allow_jpeg() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.allow_jpeg)
    return allow_jpeg_;
  }
  inline void ImageOptions::set_allow_jpeg(bool value) {
    set_has_allow_jpeg();
    allow_jpeg_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.allow_jpeg)
  }
  
  // optional bool allow_webp_lossy = 3 [default = true];
  inline bool ImageOptions::has_allow_webp_lossy() const {
    return (_has_bits_[0] & 0x00000004u) != 0;
  }
  inline void ImageOptions::set_has_allow_webp_lossy() {
    _has_bits_[0] |= 0x00000004u;
  }
  inline void ImageOptions::clear_has_allow_webp_lossy() {
    _has_bits_[0] &= ~0x00000004u;
  }
  inline void ImageOptions::clear_allow_webp_lossy() {
    allow_webp_lossy_ = true;
    clear_has_allow_webp_lossy();
  }
  inline bool ImageOptions::allow_webp_lossy() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.allow_webp_lossy)
    return allow_webp_lossy_;
  }
  inline void ImageOptions::set_allow_webp_lossy(bool value) {
    set_has_allow_webp_lossy();
    allow_webp_lossy_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.allow_webp_lossy)
  }
  
  // optional bool allow_webp_lossless_or_alpha = 4 [default = false];
  inline bool ImageOptions::has_allow_webp_lossless_or_alpha() const {
    return (_has_bits_[0] & 0x00000008u) != 0;
  }
  inline void ImageOptions::set_has_allow_webp_lossless_or_alpha() {
    _has_bits_[0] |= 0x00000008u;
  }
  inline void ImageOptions::clear_has_allow_webp_lossless_or_alpha() {
    _has_bits_[0] &= ~0x00000008u;
  }
  inline void ImageOptions::clear_allow_webp_lossless_or_alpha() {
    allow_webp_lossless_or_alpha_ = false;
    clear_has_allow_webp_lossless_or_alpha();
  }
  inline bool ImageOptions::allow_webp_lossless_or_alpha() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.allow_webp_lossless_or_alpha)
    return allow_webp_lossless_or_alpha_;
  }
  inline void ImageOptions::set_allow_webp_lossless_or_alpha(bool value) {
    set_has_allow_webp_lossless_or_alpha();
    allow_webp_lossless_or_alpha_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.allow_webp_lossless_or_alpha)
  }
  
  // optional bool allow_webp_animated = 5 [default = false];
  inline bool ImageOptions::has_allow_webp_animated() const {
    return (_has_bits_[0] & 0x00000010u) != 0;
  }
  inline void ImageOptions::set_has_allow_webp_animated() {
    _has_bits_[0] |= 0x00000010u;
  }
  inline void ImageOptions::clear_has_allow_webp_animated() {
    _has_bits_[0] &= ~0x00000010u;
  }
  inline void ImageOptions::clear_allow_webp_animated() {
    allow_webp_animated_ = false;
    clear_has_allow_webp_animated();
  }
  inline bool ImageOptions::allow_webp_animated() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.allow_webp_animated)
    return allow_webp_animated_;
  }
  inline void ImageOptions::set_allow_webp_animated(bool value) {
    set_has_allow_webp_animated();
    allow_webp_animated_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.allow_webp_animated)
  }
  
  // optional bool allow_convert_lossless_to_lossy = 6 [default = false];
  inline bool ImageOptions::has_allow_convert_lossless_to_lossy() const {
    return (_has_bits_[0] & 0x00000020u) != 0;
  }
  inline void ImageOptions::set_has_allow_convert_lossless_to_lossy() {
    _has_bits_[0] |= 0x00000020u;
  }
  inline void ImageOptions::clear_has_allow_convert_lossless_to_lossy() {
    _has_bits_[0] &= ~0x00000020u;
  }
  inline void ImageOptions::clear_allow_convert_lossless_to_lossy() {
    allow_convert_lossless_to_lossy_ = false;
    clear_has_allow_convert_lossless_to_lossy();
  }
  inline bool ImageOptions::allow_convert_lossless_to_lossy() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.allow_convert_lossless_to_lossy)
    return allow_convert_lossless_to_lossy_;
  }
  inline void ImageOptions::set_allow_convert_lossless_to_lossy(bool value) {
    set_has_allow_convert_lossless_to_lossy();
    allow_convert_lossless_to_lossy_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.allow_convert_lossless_to_lossy)
  }
  
  // optional bool must_reduce_bytes = 7 [default = true];
  inline bool ImageOptions::has_must_reduce_bytes() const {
    return (_has_bits_[0] & 0x00000040u) != 0;
  }
  inline void ImageOptions::set_has_must_reduce_bytes() {
    _has_bits_[0] |= 0x00000040u;
  }
  inline void ImageOptions::clear_has_must_reduce_bytes() {
    _has_bits_[0] &= ~0x00000040u;
  }
  inline void ImageOptions::clear_must_reduce_bytes() {
    must_reduce_bytes_ = true;
    clear_has_must_reduce_bytes();
  }
  inline bool ImageOptions::must_reduce_bytes() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.must_reduce_bytes)
    return must_reduce_bytes_;
  }
  inline void ImageOptions::set_must_reduce_bytes(bool value) {
    set_has_must_reduce_bytes();
    must_reduce_bytes_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.must_reduce_bytes)
  }
  
  // optional int32 max_jpeg_quality = 8 [default = 85];
  inline bool ImageOptions::has_max_jpeg_quality() const {
    return (_has_bits_[0] & 0x00000080u) != 0;
  }
  inline void ImageOptions::set_has_max_jpeg_quality() {
    _has_bits_[0] |= 0x00000080u;
  }
  inline void ImageOptions::clear_has_max_jpeg_quality() {
    _has_bits_[0] &= ~0x00000080u;
  }
  inline void ImageOptions::clear_max_jpeg_quality() {
    max_jpeg_quality_ = 85;
    clear_has_max_jpeg_quality();
  }
  inline ::google::protobuf::int32 ImageOptions::max_jpeg_quality() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.max_jpeg_quality)
    return max_jpeg_quality_;
  }
  inline void ImageOptions::set_max_jpeg_quality(::google::protobuf::int32 value) {
    set_has_max_jpeg_quality();
    max_jpeg_quality_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.max_jpeg_quality)
  }
  
  // optional int32 max_webp_quality = 9 [default = 85];
  inline bool ImageOptions::has_max_webp_quality() const {
    return (_has_bits_[0] & 0x00000100u) != 0;
  }
  inline void ImageOptions::set_has_max_webp_quality() {
    _has_bits_[0] |= 0x00000100u;
  }
  inline void ImageOptions::clear_has_max_webp_quality() {
    _has_bits_[0] &= ~0x00000100u;
  }
  inline void ImageOptions::clear_max_webp_quality() {
    max_webp_quality_ = 85;
    clear_has_max_webp_quality();
  }
  inline ::google::protobuf::int32 ImageOptions::max_webp_quality() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.max_webp_quality)
    return max_webp_quality_;
  }
  inline void ImageOptions::set_max_webp_quality(::google::protobuf::int32 value) {
    set_has_max_webp_quality();
    max_webp_quality_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.max_webp_quality)
  }
  
  // optional int32 max_webp_animated_quality = 10 [default = 85];
  inline bool ImageOptions::has_max_webp_animated_quality() const {
    return (_has_bits_[0] & 0x00000200u) != 0;
  }
  inline void ImageOptions::set_has_max_webp_animated_quality() {
    _has_bits_[0] |= 0x00000200u;
  }
  inline void ImageOptions::clear_has_max_webp_animated_quality() {
    _has_bits_[0] &= ~0x00000200u;
  }
  inline void ImageOptions::clear_max_webp_animated_quality() {
    max_webp_animated_quality_ = 85;
    clear_has_max_webp_animated_quality();
  }
  inline ::google::protobuf::int32 ImageOptions::max_webp_animated_quality() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.max_webp_animated_quality)
    return max_webp_animated_quality_;
  }
  inline void ImageOptions::set_max_webp_animated_quality(::google::protobuf::int32 value) {
    set_has_max_webp_animated_quality();
    max_webp_animated_quality_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.max_webp_animated_quality)
  }
  
  // optional int32 max_timeout_ms = 11 [default = -1];
  inline bool ImageOptions::has_max_timeout_ms() const {
    return (_has_bits_[0] & 0x00000400u) != 0;
  }
  inline void ImageOptions::set_has_max_timeout_ms() {
    _has_bits_[0] |= 0x00000400u;
  }
  inline void ImageOptions::clear_has_max_timeout_ms() {
    _has_bits_[0] &= ~0x00000400u;
  }
  inline void ImageOptions::clear_max_timeout_ms() {
    max_timeout_ms_ = -1;
    clear_has_max_timeout_ms();
  }
  inline ::google::protobuf::int32 ImageOptions::max_timeout_ms() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageOptions.max_timeout_ms)
    return max_timeout_ms_;
  }
  inline void ImageOptions::set_max_timeout_ms(::google::protobuf::int32 value) {
    set_has_max_timeout_ms();
    max_timeout_ms_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageOptions.max_timeout_ms)
  }
  
  // -------------------------------------------------------------------
  
  // ImageDimensions
  
  // optional int32 width = 1;
  inline bool ImageDimensions::has_width() const {
    return (_has_bits_[0] & 0x00000001u) != 0;
  }
  inline void ImageDimensions::set_has_width() {
    _has_bits_[0] |= 0x00000001u;
  }
  inline void ImageDimensions::clear_has_width() {
    _has_bits_[0] &= ~0x00000001u;
  }
  inline void ImageDimensions::clear_width() {
    width_ = 0;
    clear_has_width();
  }
  inline ::google::protobuf::int32 ImageDimensions::width() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageDimensions.width)
    return width_;
  }
  inline void ImageDimensions::set_width(::google::protobuf::int32 value) {
    set_has_width();
    width_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageDimensions.width)
  }
  
  // optional int32 height = 2;
  inline bool ImageDimensions::has_height() const {
    return (_has_bits_[0] & 0x00000002u) != 0;
  }
  inline void ImageDimensions::set_has_height() {
    _has_bits_[0] |= 0x00000002u;
  }
  inline void ImageDimensions::clear_has_height() {
    _has_bits_[0] &= ~0x00000002u;
  }
  inline void ImageDimensions::clear_height() {
    height_ = 0;
    clear_has_height();
  }
  inline ::google::protobuf::int32 ImageDimensions::height() const {
    // @@protoc_insertion_point(field_get:pagespeed.image_compression.ImageDimensions.height)
    return height_;
  }
  inline void ImageDimensions::set_height(::google::protobuf::int32 value) {
    set_has_height();
    height_ = value;
    // @@protoc_insertion_point(field_set:pagespeed.image_compression.ImageDimensions.height)
  }
  
  #endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
  // -------------------------------------------------------------------
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  }  // namespace image_compression
  }  // namespace pagespeed
  
  // @@protoc_insertion_point(global_scope)
  
  #endif  // PROTOBUF_pagespeed_2fkernel_2fimage_2fimage_5foptimizer_2eproto__INCLUDED
  