content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // NO CHECKED-IN PROTOBUF GENCODE
  // source: messages.proto
  // Protobuf Java Version: 4.28.2
  
  package finsky.protos;
  
  /**
   * Protobuf type {@code finsky.protos.PurchaseHistoryDetails}
   */
  public  final class PurchaseHistoryDetails extends
      com.google.protobuf.GeneratedMessageLite<
          PurchaseHistoryDetails, PurchaseHistoryDetails.Builder> implements
      // @@protoc_insertion_point(message_implements:finsky.protos.PurchaseHistoryDetails)
      PurchaseHistoryDetailsOrBuilder {
    private PurchaseHistoryDetails() {
      purchaseDetailsHtml_ = "";
      purchaseStatus_ = "";
      titleBylineHtml_ = "";
      clientRefundContext_ = com.google.protobuf.ByteString.EMPTY;
    }
    private int bitField0_;
    public static final int PURCHASETIMESTAMPMILLIS_FIELD_NUMBER = 2;
    private long purchaseTimestampMillis_;
    /**
     * <code>optional int64 purchaseTimestampMillis = 2;</code>
     * @return Whether the purchaseTimestampMillis field is set.
     */
    @java.lang.Override
    public boolean hasPurchaseTimestampMillis() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional int64 purchaseTimestampMillis = 2;</code>
     * @return The purchaseTimestampMillis.
     */
    @java.lang.Override
    public long getPurchaseTimestampMillis() {
      return purchaseTimestampMillis_;
    }
    /**
     * <code>optional int64 purchaseTimestampMillis = 2;</code>
     * @param value The purchaseTimestampMillis to set.
     */
    private void setPurchaseTimestampMillis(long value) {
      bitField0_ |= 0x00000001;
      purchaseTimestampMillis_ = value;
    }
    /**
     * <code>optional int64 purchaseTimestampMillis = 2;</code>
     */
    private void clearPurchaseTimestampMillis() {
      bitField0_ = (bitField0_ & ~0x00000001);
      purchaseTimestampMillis_ = 0L;
    }
  
    public static final int PURCHASEDETAILSHTML_FIELD_NUMBER = 3;
    private java.lang.String purchaseDetailsHtml_;
    /**
     * <code>optional string purchaseDetailsHtml = 3;</code>
     * @return Whether the purchaseDetailsHtml field is set.
     */
    @java.lang.Override
    public boolean hasPurchaseDetailsHtml() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional string purchaseDetailsHtml = 3;</code>
     * @return The purchaseDetailsHtml.
     */
    @java.lang.Override
    public java.lang.String getPurchaseDetailsHtml() {
      return purchaseDetailsHtml_;
    }
    /**
     * <code>optional string purchaseDetailsHtml = 3;</code>
     * @return The bytes for purchaseDetailsHtml.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPurchaseDetailsHtmlBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(purchaseDetailsHtml_);
    }
    /**
     * <code>optional string purchaseDetailsHtml = 3;</code>
     * @param value The purchaseDetailsHtml to set.
     */
    private void setPurchaseDetailsHtml(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000002;
      purchaseDetailsHtml_ = value;
    }
    /**
     * <code>optional string purchaseDetailsHtml = 3;</code>
     */
    private void clearPurchaseDetailsHtml() {
      bitField0_ = (bitField0_ & ~0x00000002);
      purchaseDetailsHtml_ = getDefaultInstance().getPurchaseDetailsHtml();
    }
    /**
     * <code>optional string purchaseDetailsHtml = 3;</code>
     * @param value The bytes for purchaseDetailsHtml to set.
     */
    private void setPurchaseDetailsHtmlBytes(
        com.google.protobuf.ByteString value) {
      purchaseDetailsHtml_ = value.toStringUtf8();
      bitField0_ |= 0x00000002;
    }
  
    public static final int OFFER_FIELD_NUMBER = 5;
    private finsky.protos.Common.Offer offer_;
    /**
     * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
     */
    @java.lang.Override
    public boolean hasOffer() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
     */
    @java.lang.Override
    public finsky.protos.Common.Offer getOffer() {
      return offer_ == null ? finsky.protos.Common.Offer.getDefaultInstance() : offer_;
    }
    /**
     * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
     */
    private void setOffer(finsky.protos.Common.Offer value) {
      value.getClass();
    offer_ = value;
      bitField0_ |= 0x00000004;
      }
    /**
     * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeOffer(finsky.protos.Common.Offer value) {
      value.getClass();
    if (offer_ != null &&
          offer_ != finsky.protos.Common.Offer.getDefaultInstance()) {
        offer_ =
          finsky.protos.Common.Offer.newBuilder(offer_).mergeFrom(value).buildPartial();
      } else {
        offer_ = value;
      }
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
     */
    private void clearOffer() {  offer_ = null;
      bitField0_ = (bitField0_ & ~0x00000004);
    }
  
    public static final int PURCHASESTATUS_FIELD_NUMBER = 6;
    private java.lang.String purchaseStatus_;
    /**
     * <code>optional string purchaseStatus = 6;</code>
     * @return Whether the purchaseStatus field is set.
     */
    @java.lang.Override
    public boolean hasPurchaseStatus() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional string purchaseStatus = 6;</code>
     * @return The purchaseStatus.
     */
    @java.lang.Override
    public java.lang.String getPurchaseStatus() {
      return purchaseStatus_;
    }
    /**
     * <code>optional string purchaseStatus = 6;</code>
     * @return The bytes for purchaseStatus.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPurchaseStatusBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(purchaseStatus_);
    }
    /**
     * <code>optional string purchaseStatus = 6;</code>
     * @param value The purchaseStatus to set.
     */
    private void setPurchaseStatus(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000008;
      purchaseStatus_ = value;
    }
    /**
     * <code>optional string purchaseStatus = 6;</code>
     */
    private void clearPurchaseStatus() {
      bitField0_ = (bitField0_ & ~0x00000008);
      purchaseStatus_ = getDefaultInstance().getPurchaseStatus();
    }
    /**
     * <code>optional string purchaseStatus = 6;</code>
     * @param value The bytes for purchaseStatus to set.
     */
    private void setPurchaseStatusBytes(
        com.google.protobuf.ByteString value) {
      purchaseStatus_ = value.toStringUtf8();
      bitField0_ |= 0x00000008;
    }
  
    public static final int TITLEBYLINEHTML_FIELD_NUMBER = 7;
    private java.lang.String titleBylineHtml_;
    /**
     * <code>optional string titleBylineHtml = 7;</code>
     * @return Whether the titleBylineHtml field is set.
     */
    @java.lang.Override
    public boolean hasTitleBylineHtml() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional string titleBylineHtml = 7;</code>
     * @return The titleBylineHtml.
     */
    @java.lang.Override
    public java.lang.String getTitleBylineHtml() {
      return titleBylineHtml_;
    }
    /**
     * <code>optional string titleBylineHtml = 7;</code>
     * @return The bytes for titleBylineHtml.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTitleBylineHtmlBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(titleBylineHtml_);
    }
    /**
     * <code>optional string titleBylineHtml = 7;</code>
     * @param value The titleBylineHtml to set.
     */
    private void setTitleBylineHtml(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000010;
      titleBylineHtml_ = value;
    }
    /**
     * <code>optional string titleBylineHtml = 7;</code>
     */
    private void clearTitleBylineHtml() {
      bitField0_ = (bitField0_ & ~0x00000010);
      titleBylineHtml_ = getDefaultInstance().getTitleBylineHtml();
    }
    /**
     * <code>optional string titleBylineHtml = 7;</code>
     * @param value The bytes for titleBylineHtml to set.
     */
    private void setTitleBylineHtmlBytes(
        com.google.protobuf.ByteString value) {
      titleBylineHtml_ = value.toStringUtf8();
      bitField0_ |= 0x00000010;
    }
  
    public static final int CLIENTREFUNDCONTEXT_FIELD_NUMBER = 8;
    private com.google.protobuf.ByteString clientRefundContext_;
    /**
     * <code>optional bytes clientRefundContext = 8;</code>
     * @return Whether the clientRefundContext field is set.
     */
    @java.lang.Override
    public boolean hasClientRefundContext() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional bytes clientRefundContext = 8;</code>
     * @return The clientRefundContext.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getClientRefundContext() {
      return clientRefundContext_;
    }
    /**
     * <code>optional bytes clientRefundContext = 8;</code>
     * @param value The clientRefundContext to set.
     */
    private void setClientRefundContext(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
    bitField0_ |= 0x00000020;
      clientRefundContext_ = value;
    }
    /**
     * <code>optional bytes clientRefundContext = 8;</code>
     */
    private void clearClientRefundContext() {
      bitField0_ = (bitField0_ & ~0x00000020);
      clientRefundContext_ = getDefaultInstance().getClientRefundContext();
    }
  
    public static final int PURCHASEDETAILSIMAGE_FIELD_NUMBER = 9;
    private finsky.protos.Common.Image purchaseDetailsImage_;
    /**
     * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
     */
    @java.lang.Override
    public boolean hasPurchaseDetailsImage() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
     */
    @java.lang.Override
    public finsky.protos.Common.Image getPurchaseDetailsImage() {
      return purchaseDetailsImage_ == null ? finsky.protos.Common.Image.getDefaultInstance() : purchaseDetailsImage_;
    }
    /**
     * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
     */
    private void setPurchaseDetailsImage(finsky.protos.Common.Image value) {
      value.getClass();
    purchaseDetailsImage_ = value;
      bitField0_ |= 0x00000040;
      }
    /**
     * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergePurchaseDetailsImage(finsky.protos.Common.Image value) {
      value.getClass();
    if (purchaseDetailsImage_ != null &&
          purchaseDetailsImage_ != finsky.protos.Common.Image.getDefaultInstance()) {
        purchaseDetailsImage_ =
          finsky.protos.Common.Image.newBuilder(purchaseDetailsImage_).mergeFrom(value).buildPartial();
      } else {
        purchaseDetailsImage_ = value;
      }
      bitField0_ |= 0x00000040;
    }
    /**
     * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
     */
    private void clearPurchaseDetailsImage() {  purchaseDetailsImage_ = null;
      bitField0_ = (bitField0_ & ~0x00000040);
    }
  
    public static finsky.protos.PurchaseHistoryDetails parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.PurchaseHistoryDetails parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static finsky.protos.PurchaseHistoryDetails parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.PurchaseHistoryDetails parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static finsky.protos.PurchaseHistoryDetails parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static finsky.protos.PurchaseHistoryDetails parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static finsky.protos.PurchaseHistoryDetails parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static finsky.protos.PurchaseHistoryDetails parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
  
    public static finsky.protos.PurchaseHistoryDetails parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
  
    public static finsky.protos.PurchaseHistoryDetails parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static finsky.protos.PurchaseHistoryDetails parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static finsky.protos.PurchaseHistoryDetails parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
  
    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(finsky.protos.PurchaseHistoryDetails prototype) {
      return DEFAULT_INSTANCE.createBuilder(prototype);
    }
  
    /**
     * Protobuf type {@code finsky.protos.PurchaseHistoryDetails}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          finsky.protos.PurchaseHistoryDetails, Builder> implements
        // @@protoc_insertion_point(builder_implements:finsky.protos.PurchaseHistoryDetails)
        finsky.protos.PurchaseHistoryDetailsOrBuilder {
      // Construct using finsky.protos.PurchaseHistoryDetails.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }
  
  
      /**
       * <code>optional int64 purchaseTimestampMillis = 2;</code>
       * @return Whether the purchaseTimestampMillis field is set.
       */
      @java.lang.Override
      public boolean hasPurchaseTimestampMillis() {
        return instance.hasPurchaseTimestampMillis();
      }
      /**
       * <code>optional int64 purchaseTimestampMillis = 2;</code>
       * @return The purchaseTimestampMillis.
       */
      @java.lang.Override
      public long getPurchaseTimestampMillis() {
        return instance.getPurchaseTimestampMillis();
      }
      /**
       * <code>optional int64 purchaseTimestampMillis = 2;</code>
       * @param value The purchaseTimestampMillis to set.
       * @return This builder for chaining.
       */
      public Builder setPurchaseTimestampMillis(long value) {
        copyOnWrite();
        instance.setPurchaseTimestampMillis(value);
        return this;
      }
      /**
       * <code>optional int64 purchaseTimestampMillis = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearPurchaseTimestampMillis() {
        copyOnWrite();
        instance.clearPurchaseTimestampMillis();
        return this;
      }
  
      /**
       * <code>optional string purchaseDetailsHtml = 3;</code>
       * @return Whether the purchaseDetailsHtml field is set.
       */
      @java.lang.Override
      public boolean hasPurchaseDetailsHtml() {
        return instance.hasPurchaseDetailsHtml();
      }
      /**
       * <code>optional string purchaseDetailsHtml = 3;</code>
       * @return The purchaseDetailsHtml.
       */
      @java.lang.Override
      public java.lang.String getPurchaseDetailsHtml() {
        return instance.getPurchaseDetailsHtml();
      }
      /**
       * <code>optional string purchaseDetailsHtml = 3;</code>
       * @return The bytes for purchaseDetailsHtml.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPurchaseDetailsHtmlBytes() {
        return instance.getPurchaseDetailsHtmlBytes();
      }
      /**
       * <code>optional string purchaseDetailsHtml = 3;</code>
       * @param value The purchaseDetailsHtml to set.
       * @return This builder for chaining.
       */
      public Builder setPurchaseDetailsHtml(
          java.lang.String value) {
        copyOnWrite();
        instance.setPurchaseDetailsHtml(value);
        return this;
      }
      /**
       * <code>optional string purchaseDetailsHtml = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearPurchaseDetailsHtml() {
        copyOnWrite();
        instance.clearPurchaseDetailsHtml();
        return this;
      }
      /**
       * <code>optional string purchaseDetailsHtml = 3;</code>
       * @param value The bytes for purchaseDetailsHtml to set.
       * @return This builder for chaining.
       */
      public Builder setPurchaseDetailsHtmlBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPurchaseDetailsHtmlBytes(value);
        return this;
      }
  
      /**
       * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
       */
      @java.lang.Override
      public boolean hasOffer() {
        return instance.hasOffer();
      }
      /**
       * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
       */
      @java.lang.Override
      public finsky.protos.Common.Offer getOffer() {
        return instance.getOffer();
      }
      /**
       * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
       */
      public Builder setOffer(finsky.protos.Common.Offer value) {
        copyOnWrite();
        instance.setOffer(value);
        return this;
        }
      /**
       * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
       */
      public Builder setOffer(
          finsky.protos.Common.Offer.Builder builderForValue) {
        copyOnWrite();
        instance.setOffer(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
       */
      public Builder mergeOffer(finsky.protos.Common.Offer value) {
        copyOnWrite();
        instance.mergeOffer(value);
        return this;
      }
      /**
       * <code>optional .finsky.protos.Common.Offer offer = 5;</code>
       */
      public Builder clearOffer() {  copyOnWrite();
        instance.clearOffer();
        return this;
      }
  
      /**
       * <code>optional string purchaseStatus = 6;</code>
       * @return Whether the purchaseStatus field is set.
       */
      @java.lang.Override
      public boolean hasPurchaseStatus() {
        return instance.hasPurchaseStatus();
      }
      /**
       * <code>optional string purchaseStatus = 6;</code>
       * @return The purchaseStatus.
       */
      @java.lang.Override
      public java.lang.String getPurchaseStatus() {
        return instance.getPurchaseStatus();
      }
      /**
       * <code>optional string purchaseStatus = 6;</code>
       * @return The bytes for purchaseStatus.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPurchaseStatusBytes() {
        return instance.getPurchaseStatusBytes();
      }
      /**
       * <code>optional string purchaseStatus = 6;</code>
       * @param value The purchaseStatus to set.
       * @return This builder for chaining.
       */
      public Builder setPurchaseStatus(
          java.lang.String value) {
        copyOnWrite();
        instance.setPurchaseStatus(value);
        return this;
      }
      /**
       * <code>optional string purchaseStatus = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearPurchaseStatus() {
        copyOnWrite();
        instance.clearPurchaseStatus();
        return this;
      }
      /**
       * <code>optional string purchaseStatus = 6;</code>
       * @param value The bytes for purchaseStatus to set.
       * @return This builder for chaining.
       */
      public Builder setPurchaseStatusBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPurchaseStatusBytes(value);
        return this;
      }
  
      /**
       * <code>optional string titleBylineHtml = 7;</code>
       * @return Whether the titleBylineHtml field is set.
       */
      @java.lang.Override
      public boolean hasTitleBylineHtml() {
        return instance.hasTitleBylineHtml();
      }
      /**
       * <code>optional string titleBylineHtml = 7;</code>
       * @return The titleBylineHtml.
       */
      @java.lang.Override
      public java.lang.String getTitleBylineHtml() {
        return instance.getTitleBylineHtml();
      }
      /**
       * <code>optional string titleBylineHtml = 7;</code>
       * @return The bytes for titleBylineHtml.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getTitleBylineHtmlBytes() {
        return instance.getTitleBylineHtmlBytes();
      }
      /**
       * <code>optional string titleBylineHtml = 7;</code>
       * @param value The titleBylineHtml to set.
       * @return This builder for chaining.
       */
      public Builder setTitleBylineHtml(
          java.lang.String value) {
        copyOnWrite();
        instance.setTitleBylineHtml(value);
        return this;
      }
      /**
       * <code>optional string titleBylineHtml = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearTitleBylineHtml() {
        copyOnWrite();
        instance.clearTitleBylineHtml();
        return this;
      }
      /**
       * <code>optional string titleBylineHtml = 7;</code>
       * @param value The bytes for titleBylineHtml to set.
       * @return This builder for chaining.
       */
      public Builder setTitleBylineHtmlBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setTitleBylineHtmlBytes(value);
        return this;
      }
  
      /**
       * <code>optional bytes clientRefundContext = 8;</code>
       * @return Whether the clientRefundContext field is set.
       */
      @java.lang.Override
      public boolean hasClientRefundContext() {
        return instance.hasClientRefundContext();
      }
      /**
       * <code>optional bytes clientRefundContext = 8;</code>
       * @return The clientRefundContext.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getClientRefundContext() {
        return instance.getClientRefundContext();
      }
      /**
       * <code>optional bytes clientRefundContext = 8;</code>
       * @param value The clientRefundContext to set.
       * @return This builder for chaining.
       */
      public Builder setClientRefundContext(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setClientRefundContext(value);
        return this;
      }
      /**
       * <code>optional bytes clientRefundContext = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearClientRefundContext() {
        copyOnWrite();
        instance.clearClientRefundContext();
        return this;
      }
  
      /**
       * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
       */
      @java.lang.Override
      public boolean hasPurchaseDetailsImage() {
        return instance.hasPurchaseDetailsImage();
      }
      /**
       * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
       */
      @java.lang.Override
      public finsky.protos.Common.Image getPurchaseDetailsImage() {
        return instance.getPurchaseDetailsImage();
      }
      /**
       * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
       */
      public Builder setPurchaseDetailsImage(finsky.protos.Common.Image value) {
        copyOnWrite();
        instance.setPurchaseDetailsImage(value);
        return this;
        }
      /**
       * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
       */
      public Builder setPurchaseDetailsImage(
          finsky.protos.Common.Image.Builder builderForValue) {
        copyOnWrite();
        instance.setPurchaseDetailsImage(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
       */
      public Builder mergePurchaseDetailsImage(finsky.protos.Common.Image value) {
        copyOnWrite();
        instance.mergePurchaseDetailsImage(value);
        return this;
      }
      /**
       * <code>optional .finsky.protos.Common.Image purchaseDetailsImage = 9;</code>
       */
      public Builder clearPurchaseDetailsImage() {  copyOnWrite();
        instance.clearPurchaseDetailsImage();
        return this;
      }
  
      // @@protoc_insertion_point(builder_scope:finsky.protos.PurchaseHistoryDetails)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new finsky.protos.PurchaseHistoryDetails();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "purchaseTimestampMillis_",
              "purchaseDetailsHtml_",
              "offer_",
              "purchaseStatus_",
              "titleBylineHtml_",
              "clientRefundContext_",
              "purchaseDetailsImage_",
            };
            java.lang.String info =
                "\u0001\u0007\u0000\u0001\u0002\t\u0007\u0000\u0000\u0000\u0002\u1002\u0000\u0003" +
                "\u1008\u0001\u0005\u1009\u0002\u0006\u1008\u0003\u0007\u1008\u0004\b\u100a\u0005" +
                "\t\u1009\u0006";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<finsky.protos.PurchaseHistoryDetails> parser = PARSER;
          if (parser == null) {
            synchronized (finsky.protos.PurchaseHistoryDetails.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<finsky.protos.PurchaseHistoryDetails>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }
  
  
    // @@protoc_insertion_point(class_scope:finsky.protos.PurchaseHistoryDetails)
    private static final finsky.protos.PurchaseHistoryDetails DEFAULT_INSTANCE;
    static {
      PurchaseHistoryDetails defaultInstance = new PurchaseHistoryDetails();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PurchaseHistoryDetails.class, defaultInstance);
    }
  
    public static finsky.protos.PurchaseHistoryDetails getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }
  
    private static volatile com.google.protobuf.Parser<PurchaseHistoryDetails> PARSER;
  
    public static com.google.protobuf.Parser<PurchaseHistoryDetails> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }
  
  