content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: src/main/java/hip/ch5/proto/stock.proto
  
  package hip.ch3.proto;
  
  public final class StockProtos {
    private StockProtos() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
    }
    public interface StockOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
  
      // required string symbol = 1;
      /**
       * <code>required string symbol = 1;</code>
       */
      boolean hasSymbol();
      /**
       * <code>required string symbol = 1;</code>
       */
      java.lang.String getSymbol();
      /**
       * <code>required string symbol = 1;</code>
       */
      com.google.protobuf.ByteString
          getSymbolBytes();
  
      // required string date = 2;
      /**
       * <code>required string date = 2;</code>
       */
      boolean hasDate();
      /**
       * <code>required string date = 2;</code>
       */
      java.lang.String getDate();
      /**
       * <code>required string date = 2;</code>
       */
      com.google.protobuf.ByteString
          getDateBytes();
  
      // required double open = 3;
      /**
       * <code>required double open = 3;</code>
       */
      boolean hasOpen();
      /**
       * <code>required double open = 3;</code>
       */
      double getOpen();
  
      // required double high = 4;
      /**
       * <code>required double high = 4;</code>
       */
      boolean hasHigh();
      /**
       * <code>required double high = 4;</code>
       */
      double getHigh();
  
      // required double low = 5;
      /**
       * <code>required double low = 5;</code>
       */
      boolean hasLow();
      /**
       * <code>required double low = 5;</code>
       */
      double getLow();
  
      // required double close = 6;
      /**
       * <code>required double close = 6;</code>
       */
      boolean hasClose();
      /**
       * <code>required double close = 6;</code>
       */
      double getClose();
  
      // required int32 volume = 7;
      /**
       * <code>required int32 volume = 7;</code>
       */
      boolean hasVolume();
      /**
       * <code>required int32 volume = 7;</code>
       */
      int getVolume();
  
      // required double adjClose = 8;
      /**
       * <code>required double adjClose = 8;</code>
       */
      boolean hasAdjClose();
      /**
       * <code>required double adjClose = 8;</code>
       */
      double getAdjClose();
    }
    /**
     * Protobuf type {@code proto.Stock}
     */
    public static final class Stock extends
        com.google.protobuf.GeneratedMessage
        implements StockOrBuilder {
      // Use Stock.newBuilder() to construct.
      private Stock(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Stock(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
  
      private static final Stock defaultInstance;
      public static Stock getDefaultInstance() {
        return defaultInstance;
      }
  
      public Stock getDefaultInstanceForType() {
        return defaultInstance;
      }
  
      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Stock(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                symbol_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                date_ = input.readBytes();
                break;
              }
              case 25: {
                bitField0_ |= 0x00000004;
                open_ = input.readDouble();
                break;
              }
              case 33: {
                bitField0_ |= 0x00000008;
                high_ = input.readDouble();
                break;
              }
              case 41: {
                bitField0_ |= 0x00000010;
                low_ = input.readDouble();
                break;
              }
              case 49: {
                bitField0_ |= 0x00000020;
                close_ = input.readDouble();
                break;
              }
              case 56: {
                bitField0_ |= 0x00000040;
                volume_ = input.readInt32();
                break;
              }
              case 65: {
                bitField0_ |= 0x00000080;
                adjClose_ = input.readDouble();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return hip.ch3.proto.StockProtos.internal_static_proto_Stock_descriptor;
      }
  
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return hip.ch3.proto.StockProtos.internal_static_proto_Stock_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                hip.ch3.proto.StockProtos.Stock.class, hip.ch3.proto.StockProtos.Stock.Builder.class);
      }
  
      public static com.google.protobuf.Parser<Stock> PARSER =
          new com.google.protobuf.AbstractParser<Stock>() {
        public Stock parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Stock(input, extensionRegistry);
        }
      };
  
      @java.lang.Override
      public com.google.protobuf.Parser<Stock> getParserForType() {
        return PARSER;
      }
  
      private int bitField0_;
      // required string symbol = 1;
      public static final int SYMBOL_FIELD_NUMBER = 1;
      private java.lang.Object symbol_;
      /**
       * <code>required string symbol = 1;</code>
       */
      public boolean hasSymbol() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string symbol = 1;</code>
       */
      public java.lang.String getSymbol() {
        java.lang.Object ref = symbol_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            symbol_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string symbol = 1;</code>
       */
      public com.google.protobuf.ByteString
          getSymbolBytes() {
        java.lang.Object ref = symbol_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          symbol_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      // required string date = 2;
      public static final int DATE_FIELD_NUMBER = 2;
      private java.lang.Object date_;
      /**
       * <code>required string date = 2;</code>
       */
      public boolean hasDate() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required string date = 2;</code>
       */
      public java.lang.String getDate() {
        java.lang.Object ref = date_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            date_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string date = 2;</code>
       */
      public com.google.protobuf.ByteString
          getDateBytes() {
        java.lang.Object ref = date_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          date_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      // required double open = 3;
      public static final int OPEN_FIELD_NUMBER = 3;
      private double open_;
      /**
       * <code>required double open = 3;</code>
       */
      public boolean hasOpen() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required double open = 3;</code>
       */
      public double getOpen() {
        return open_;
      }
  
      // required double high = 4;
      public static final int HIGH_FIELD_NUMBER = 4;
      private double high_;
      /**
       * <code>required double high = 4;</code>
       */
      public boolean hasHigh() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>required double high = 4;</code>
       */
      public double getHigh() {
        return high_;
      }
  
      // required double low = 5;
      public static final int LOW_FIELD_NUMBER = 5;
      private double low_;
      /**
       * <code>required double low = 5;</code>
       */
      public boolean hasLow() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>required double low = 5;</code>
       */
      public double getLow() {
        return low_;
      }
  
      // required double close = 6;
      public static final int CLOSE_FIELD_NUMBER = 6;
      private double close_;
      /**
       * <code>required double close = 6;</code>
       */
      public boolean hasClose() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>required double close = 6;</code>
       */
      public double getClose() {
        return close_;
      }
  
      // required int32 volume = 7;
      public static final int VOLUME_FIELD_NUMBER = 7;
      private int volume_;
      /**
       * <code>required int32 volume = 7;</code>
       */
      public boolean hasVolume() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>required int32 volume = 7;</code>
       */
      public int getVolume() {
        return volume_;
      }
  
      // required double adjClose = 8;
      public static final int ADJCLOSE_FIELD_NUMBER = 8;
      private double adjClose_;
      /**
       * <code>required double adjClose = 8;</code>
       */
      public boolean hasAdjClose() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>required double adjClose = 8;</code>
       */
      public double getAdjClose() {
        return adjClose_;
      }
  
      private void initFields() {
        symbol_ = "";
        date_ = "";
        open_ = 0D;
        high_ = 0D;
        low_ = 0D;
        close_ = 0D;
        volume_ = 0;
        adjClose_ = 0D;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
  
        if (!hasSymbol()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasDate()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasOpen()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasHigh()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasLow()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasClose()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasVolume()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasAdjClose()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getSymbolBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getDateBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeDouble(3, open_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeDouble(4, high_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeDouble(5, low_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeDouble(6, close_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          output.writeInt32(7, volume_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          output.writeDouble(8, adjClose_);
        }
        getUnknownFields().writeTo(output);
      }
  
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getSymbolBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getDateBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(3, open_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(4, high_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(5, low_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(6, close_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(7, volume_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(8, adjClose_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
  
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
  
      public static hip.ch3.proto.StockProtos.Stock parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static hip.ch3.proto.StockProtos.Stock parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static hip.ch3.proto.StockProtos.Stock parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static hip.ch3.proto.StockProtos.Stock parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static hip.ch3.proto.StockProtos.Stock parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static hip.ch3.proto.StockProtos.Stock parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static hip.ch3.proto.StockProtos.Stock parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static hip.ch3.proto.StockProtos.Stock parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static hip.ch3.proto.StockProtos.Stock parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static hip.ch3.proto.StockProtos.Stock parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
  
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(hip.ch3.proto.StockProtos.Stock prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code proto.Stock}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements hip.ch3.proto.StockProtos.StockOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return hip.ch3.proto.StockProtos.internal_static_proto_Stock_descriptor;
        }
  
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return hip.ch3.proto.StockProtos.internal_static_proto_Stock_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  hip.ch3.proto.StockProtos.Stock.class, hip.ch3.proto.StockProtos.Stock.Builder.class);
        }
  
        // Construct using hip.ch5.proto.StockProtos.Stock.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
  
        public Builder clear() {
          super.clear();
          symbol_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          date_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          open_ = 0D;
          bitField0_ = (bitField0_ & ~0x00000004);
          high_ = 0D;
          bitField0_ = (bitField0_ & ~0x00000008);
          low_ = 0D;
          bitField0_ = (bitField0_ & ~0x00000010);
          close_ = 0D;
          bitField0_ = (bitField0_ & ~0x00000020);
          volume_ = 0;
          bitField0_ = (bitField0_ & ~0x00000040);
          adjClose_ = 0D;
          bitField0_ = (bitField0_ & ~0x00000080);
          return this;
        }
  
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
  
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return hip.ch3.proto.StockProtos.internal_static_proto_Stock_descriptor;
        }
  
        public hip.ch3.proto.StockProtos.Stock getDefaultInstanceForType() {
          return hip.ch3.proto.StockProtos.Stock.getDefaultInstance();
        }
  
        public hip.ch3.proto.StockProtos.Stock build() {
          hip.ch3.proto.StockProtos.Stock result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        public hip.ch3.proto.StockProtos.Stock buildPartial() {
          hip.ch3.proto.StockProtos.Stock result = new hip.ch3.proto.StockProtos.Stock(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.symbol_ = symbol_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.date_ = date_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.open_ = open_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.high_ = high_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          result.low_ = low_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000020;
          }
          result.close_ = close_;
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000040;
          }
          result.volume_ = volume_;
          if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
            to_bitField0_ |= 0x00000080;
          }
          result.adjClose_ = adjClose_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof hip.ch3.proto.StockProtos.Stock) {
            return mergeFrom((hip.ch3.proto.StockProtos.Stock)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(hip.ch3.proto.StockProtos.Stock other) {
          if (other == hip.ch3.proto.StockProtos.Stock.getDefaultInstance()) return this;
          if (other.hasSymbol()) {
            bitField0_ |= 0x00000001;
            symbol_ = other.symbol_;
            onChanged();
          }
          if (other.hasDate()) {
            bitField0_ |= 0x00000002;
            date_ = other.date_;
            onChanged();
          }
          if (other.hasOpen()) {
            setOpen(other.getOpen());
          }
          if (other.hasHigh()) {
            setHigh(other.getHigh());
          }
          if (other.hasLow()) {
            setLow(other.getLow());
          }
          if (other.hasClose()) {
            setClose(other.getClose());
          }
          if (other.hasVolume()) {
            setVolume(other.getVolume());
          }
          if (other.hasAdjClose()) {
            setAdjClose(other.getAdjClose());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
  
        public final boolean isInitialized() {
          if (!hasSymbol()) {
            
            return false;
          }
          if (!hasDate()) {
            
            return false;
          }
          if (!hasOpen()) {
            
            return false;
          }
          if (!hasHigh()) {
            
            return false;
          }
          if (!hasLow()) {
            
            return false;
          }
          if (!hasClose()) {
            
            return false;
          }
          if (!hasVolume()) {
            
            return false;
          }
          if (!hasAdjClose()) {
            
            return false;
          }
          return true;
        }
  
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          hip.ch3.proto.StockProtos.Stock parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (hip.ch3.proto.StockProtos.Stock) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
  
        // required string symbol = 1;
        private java.lang.Object symbol_ = "";
        /**
         * <code>required string symbol = 1;</code>
         */
        public boolean hasSymbol() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public java.lang.String getSymbol() {
          java.lang.Object ref = symbol_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            symbol_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public com.google.protobuf.ByteString
            getSymbolBytes() {
          java.lang.Object ref = symbol_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            symbol_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public Builder setSymbol(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          symbol_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public Builder clearSymbol() {
          bitField0_ = (bitField0_ & ~0x00000001);
          symbol_ = getDefaultInstance().getSymbol();
          onChanged();
          return this;
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public Builder setSymbolBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          symbol_ = value;
          onChanged();
          return this;
        }
  
        // required string date = 2;
        private java.lang.Object date_ = "";
        /**
         * <code>required string date = 2;</code>
         */
        public boolean hasDate() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required string date = 2;</code>
         */
        public java.lang.String getDate() {
          java.lang.Object ref = date_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            date_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string date = 2;</code>
         */
        public com.google.protobuf.ByteString
            getDateBytes() {
          java.lang.Object ref = date_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            date_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string date = 2;</code>
         */
        public Builder setDate(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          date_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string date = 2;</code>
         */
        public Builder clearDate() {
          bitField0_ = (bitField0_ & ~0x00000002);
          date_ = getDefaultInstance().getDate();
          onChanged();
          return this;
        }
        /**
         * <code>required string date = 2;</code>
         */
        public Builder setDateBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          date_ = value;
          onChanged();
          return this;
        }
  
        // required double open = 3;
        private double open_ ;
        /**
         * <code>required double open = 3;</code>
         */
        public boolean hasOpen() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>required double open = 3;</code>
         */
        public double getOpen() {
          return open_;
        }
        /**
         * <code>required double open = 3;</code>
         */
        public Builder setOpen(double value) {
          bitField0_ |= 0x00000004;
          open_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required double open = 3;</code>
         */
        public Builder clearOpen() {
          bitField0_ = (bitField0_ & ~0x00000004);
          open_ = 0D;
          onChanged();
          return this;
        }
  
        // required double high = 4;
        private double high_ ;
        /**
         * <code>required double high = 4;</code>
         */
        public boolean hasHigh() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>required double high = 4;</code>
         */
        public double getHigh() {
          return high_;
        }
        /**
         * <code>required double high = 4;</code>
         */
        public Builder setHigh(double value) {
          bitField0_ |= 0x00000008;
          high_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required double high = 4;</code>
         */
        public Builder clearHigh() {
          bitField0_ = (bitField0_ & ~0x00000008);
          high_ = 0D;
          onChanged();
          return this;
        }
  
        // required double low = 5;
        private double low_ ;
        /**
         * <code>required double low = 5;</code>
         */
        public boolean hasLow() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>required double low = 5;</code>
         */
        public double getLow() {
          return low_;
        }
        /**
         * <code>required double low = 5;</code>
         */
        public Builder setLow(double value) {
          bitField0_ |= 0x00000010;
          low_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required double low = 5;</code>
         */
        public Builder clearLow() {
          bitField0_ = (bitField0_ & ~0x00000010);
          low_ = 0D;
          onChanged();
          return this;
        }
  
        // required double close = 6;
        private double close_ ;
        /**
         * <code>required double close = 6;</code>
         */
        public boolean hasClose() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        /**
         * <code>required double close = 6;</code>
         */
        public double getClose() {
          return close_;
        }
        /**
         * <code>required double close = 6;</code>
         */
        public Builder setClose(double value) {
          bitField0_ |= 0x00000020;
          close_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required double close = 6;</code>
         */
        public Builder clearClose() {
          bitField0_ = (bitField0_ & ~0x00000020);
          close_ = 0D;
          onChanged();
          return this;
        }
  
        // required int32 volume = 7;
        private int volume_ ;
        /**
         * <code>required int32 volume = 7;</code>
         */
        public boolean hasVolume() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        /**
         * <code>required int32 volume = 7;</code>
         */
        public int getVolume() {
          return volume_;
        }
        /**
         * <code>required int32 volume = 7;</code>
         */
        public Builder setVolume(int value) {
          bitField0_ |= 0x00000040;
          volume_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required int32 volume = 7;</code>
         */
        public Builder clearVolume() {
          bitField0_ = (bitField0_ & ~0x00000040);
          volume_ = 0;
          onChanged();
          return this;
        }
  
        // required double adjClose = 8;
        private double adjClose_ ;
        /**
         * <code>required double adjClose = 8;</code>
         */
        public boolean hasAdjClose() {
          return ((bitField0_ & 0x00000080) == 0x00000080);
        }
        /**
         * <code>required double adjClose = 8;</code>
         */
        public double getAdjClose() {
          return adjClose_;
        }
        /**
         * <code>required double adjClose = 8;</code>
         */
        public Builder setAdjClose(double value) {
          bitField0_ |= 0x00000080;
          adjClose_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required double adjClose = 8;</code>
         */
        public Builder clearAdjClose() {
          bitField0_ = (bitField0_ & ~0x00000080);
          adjClose_ = 0D;
          onChanged();
          return this;
        }
  
        // @@protoc_insertion_point(builder_scope:proto.Stock)
      }
  
      static {
        defaultInstance = new Stock(true);
        defaultInstance.initFields();
      }
  
      // @@protoc_insertion_point(class_scope:proto.Stock)
    }
  
    public interface StockAvgOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
  
      // required string symbol = 1;
      /**
       * <code>required string symbol = 1;</code>
       */
      boolean hasSymbol();
      /**
       * <code>required string symbol = 1;</code>
       */
      java.lang.String getSymbol();
      /**
       * <code>required string symbol = 1;</code>
       */
      com.google.protobuf.ByteString
          getSymbolBytes();
  
      // required double avg = 2;
      /**
       * <code>required double avg = 2;</code>
       */
      boolean hasAvg();
      /**
       * <code>required double avg = 2;</code>
       */
      double getAvg();
    }
    /**
     * Protobuf type {@code proto.StockAvg}
     */
    public static final class StockAvg extends
        com.google.protobuf.GeneratedMessage
        implements StockAvgOrBuilder {
      // Use StockAvg.newBuilder() to construct.
      private StockAvg(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private StockAvg(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
  
      private static final StockAvg defaultInstance;
      public static StockAvg getDefaultInstance() {
        return defaultInstance;
      }
  
      public StockAvg getDefaultInstanceForType() {
        return defaultInstance;
      }
  
      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private StockAvg(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                symbol_ = input.readBytes();
                break;
              }
              case 17: {
                bitField0_ |= 0x00000002;
                avg_ = input.readDouble();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return hip.ch3.proto.StockProtos.internal_static_proto_StockAvg_descriptor;
      }
  
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return hip.ch3.proto.StockProtos.internal_static_proto_StockAvg_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                hip.ch3.proto.StockProtos.StockAvg.class, hip.ch3.proto.StockProtos.StockAvg.Builder.class);
      }
  
      public static com.google.protobuf.Parser<StockAvg> PARSER =
          new com.google.protobuf.AbstractParser<StockAvg>() {
        public StockAvg parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new StockAvg(input, extensionRegistry);
        }
      };
  
      @java.lang.Override
      public com.google.protobuf.Parser<StockAvg> getParserForType() {
        return PARSER;
      }
  
      private int bitField0_;
      // required string symbol = 1;
      public static final int SYMBOL_FIELD_NUMBER = 1;
      private java.lang.Object symbol_;
      /**
       * <code>required string symbol = 1;</code>
       */
      public boolean hasSymbol() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string symbol = 1;</code>
       */
      public java.lang.String getSymbol() {
        java.lang.Object ref = symbol_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            symbol_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string symbol = 1;</code>
       */
      public com.google.protobuf.ByteString
          getSymbolBytes() {
        java.lang.Object ref = symbol_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          symbol_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      // required double avg = 2;
      public static final int AVG_FIELD_NUMBER = 2;
      private double avg_;
      /**
       * <code>required double avg = 2;</code>
       */
      public boolean hasAvg() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required double avg = 2;</code>
       */
      public double getAvg() {
        return avg_;
      }
  
      private void initFields() {
        symbol_ = "";
        avg_ = 0D;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
  
        if (!hasSymbol()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasAvg()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getSymbolBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeDouble(2, avg_);
        }
        getUnknownFields().writeTo(output);
      }
  
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getSymbolBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeDoubleSize(2, avg_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
  
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
  
      public static hip.ch3.proto.StockProtos.StockAvg parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static hip.ch3.proto.StockProtos.StockAvg parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static hip.ch3.proto.StockProtos.StockAvg parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static hip.ch3.proto.StockProtos.StockAvg parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static hip.ch3.proto.StockProtos.StockAvg parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static hip.ch3.proto.StockProtos.StockAvg parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static hip.ch3.proto.StockProtos.StockAvg parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static hip.ch3.proto.StockProtos.StockAvg parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static hip.ch3.proto.StockProtos.StockAvg parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static hip.ch3.proto.StockProtos.StockAvg parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
  
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(hip.ch3.proto.StockProtos.StockAvg prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code proto.StockAvg}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements hip.ch3.proto.StockProtos.StockAvgOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return hip.ch3.proto.StockProtos.internal_static_proto_StockAvg_descriptor;
        }
  
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return hip.ch3.proto.StockProtos.internal_static_proto_StockAvg_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  hip.ch3.proto.StockProtos.StockAvg.class, hip.ch3.proto.StockProtos.StockAvg.Builder.class);
        }
  
        // Construct using hip.ch5.proto.StockProtos.StockAvg.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
  
        public Builder clear() {
          super.clear();
          symbol_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          avg_ = 0D;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
  
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
  
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return hip.ch3.proto.StockProtos.internal_static_proto_StockAvg_descriptor;
        }
  
        public hip.ch3.proto.StockProtos.StockAvg getDefaultInstanceForType() {
          return hip.ch3.proto.StockProtos.StockAvg.getDefaultInstance();
        }
  
        public hip.ch3.proto.StockProtos.StockAvg build() {
          hip.ch3.proto.StockProtos.StockAvg result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        public hip.ch3.proto.StockProtos.StockAvg buildPartial() {
          hip.ch3.proto.StockProtos.StockAvg result = new hip.ch3.proto.StockProtos.StockAvg(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.symbol_ = symbol_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.avg_ = avg_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof hip.ch3.proto.StockProtos.StockAvg) {
            return mergeFrom((hip.ch3.proto.StockProtos.StockAvg)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(hip.ch3.proto.StockProtos.StockAvg other) {
          if (other == hip.ch3.proto.StockProtos.StockAvg.getDefaultInstance()) return this;
          if (other.hasSymbol()) {
            bitField0_ |= 0x00000001;
            symbol_ = other.symbol_;
            onChanged();
          }
          if (other.hasAvg()) {
            setAvg(other.getAvg());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
  
        public final boolean isInitialized() {
          if (!hasSymbol()) {
            
            return false;
          }
          if (!hasAvg()) {
            
            return false;
          }
          return true;
        }
  
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          hip.ch3.proto.StockProtos.StockAvg parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (hip.ch3.proto.StockProtos.StockAvg) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
  
        // required string symbol = 1;
        private java.lang.Object symbol_ = "";
        /**
         * <code>required string symbol = 1;</code>
         */
        public boolean hasSymbol() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public java.lang.String getSymbol() {
          java.lang.Object ref = symbol_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            symbol_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public com.google.protobuf.ByteString
            getSymbolBytes() {
          java.lang.Object ref = symbol_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            symbol_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public Builder setSymbol(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          symbol_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public Builder clearSymbol() {
          bitField0_ = (bitField0_ & ~0x00000001);
          symbol_ = getDefaultInstance().getSymbol();
          onChanged();
          return this;
        }
        /**
         * <code>required string symbol = 1;</code>
         */
        public Builder setSymbolBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          symbol_ = value;
          onChanged();
          return this;
        }
  
        // required double avg = 2;
        private double avg_ ;
        /**
         * <code>required double avg = 2;</code>
         */
        public boolean hasAvg() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required double avg = 2;</code>
         */
        public double getAvg() {
          return avg_;
        }
        /**
         * <code>required double avg = 2;</code>
         */
        public Builder setAvg(double value) {
          bitField0_ |= 0x00000002;
          avg_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required double avg = 2;</code>
         */
        public Builder clearAvg() {
          bitField0_ = (bitField0_ & ~0x00000002);
          avg_ = 0D;
          onChanged();
          return this;
        }
  
        // @@protoc_insertion_point(builder_scope:proto.StockAvg)
      }
  
      static {
        defaultInstance = new StockAvg(true);
        defaultInstance.initFields();
      }
  
      // @@protoc_insertion_point(class_scope:proto.StockAvg)
    }
  
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_proto_Stock_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_proto_Stock_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_proto_StockAvg_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_proto_StockAvg_fieldAccessorTable;
  
    public static com.google.protobuf.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static com.google.protobuf.Descriptors.FileDescriptor
        descriptor;
    static {
      java.lang.String[] descriptorData = {
        "\n\'src/main/java/hip/ch5/proto/stock.prot" +
        "o\022\005proto\"\177\n\005Stock\022\016\n\006symbol\030\001 \002(\t\022\014\n\004dat" +
        "e\030\002 \002(\t\022\014\n\004open\030\003 \002(\001\022\014\n\004high\030\004 \002(\001\022\013\n\003l" +
        "ow\030\005 \002(\001\022\r\n\005close\030\006 \002(\001\022\016\n\006volume\030\007 \002(\005\022" +
        "\020\n\010adjClose\030\010 \002(\001\"\'\n\010StockAvg\022\016\n\006symbol\030" +
        "\001 \002(\t\022\013\n\003avg\030\002 \002(\001B\034\n\rhip.ch5.protoB\013Sto" +
        "ckProtos"
      };
      com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            internal_static_proto_Stock_descriptor =
              getDescriptor().getMessageTypes().get(0);
            internal_static_proto_Stock_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_proto_Stock_descriptor,
                new java.lang.String[] { "Symbol", "Date", "Open", "High", "Low", "Close", "Volume", "AdjClose", });
            internal_static_proto_StockAvg_descriptor =
              getDescriptor().getMessageTypes().get(1);
            internal_static_proto_StockAvg_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_proto_StockAvg_descriptor,
                new java.lang.String[] { "Symbol", "Avg", });
            return null;
          }
        };
      com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
          }, assigner);
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  