// Code generated by protocol buffer compiler. Do not edit!
package emu.lunarcore.proto;

import java.io.IOException;
import us.hebi.quickbuf.FieldName;
import us.hebi.quickbuf.InvalidProtocolBufferException;
import us.hebi.quickbuf.JsonSink;
import us.hebi.quickbuf.JsonSource;
import us.hebi.quickbuf.MessageFactory;
import us.hebi.quickbuf.ProtoMessage;
import us.hebi.quickbuf.ProtoSink;
import us.hebi.quickbuf.ProtoSource;

public final class PlayerRecordInfoOuterClass {
  /**
   * Protobuf type {@code PlayerRecordInfo}
   */
  public static final class PlayerRecordInfo extends ProtoMessage<PlayerRecordInfo> implements Cloneable {
    private static final long serialVersionUID = 0L;

    /**
     * <code>optional uint32 MMFGIPPNEEF = 3;</code>
     */
    private int mMFGIPPNEEF;

    /**
     * <code>optional uint32 LCEEKBAJPHA = 4;</code>
     */
    private int lCEEKBAJPHA;

    /**
     * <code>optional uint32 KEBOJOIBOKE = 6;</code>
     */
    private int kEBOJOIBOKE;

    /**
     * <code>optional uint32 LBKCIEBGMAJ = 9;</code>
     */
    private int lBKCIEBGMAJ;

    /**
     * <code>optional uint32 GPJGLLANPIF = 11;</code>
     */
    private int gPJGLLANPIF;

    /**
     * <code>optional uint32 KHDJDCELNPF = 12;</code>
     */
    private int kHDJDCELNPF;

    /**
     * <code>optional uint32 MIMIPDMIPNO = 13;</code>
     */
    private int mIMIPDMIPNO;

    /**
     * <code>optional uint32 MPNIKBAFPEM = 14;</code>
     */
    private int mPNIKBAFPEM;

    /**
     * <code>optional .PlayerCollectionInfo collection_info = 10;</code>
     */
    private final PlayerCollectionInfoOuterClass.PlayerCollectionInfo collectionInfo = PlayerCollectionInfoOuterClass.PlayerCollectionInfo.newInstance();

    private PlayerRecordInfo() {
    }

    /**
     * @return a new empty instance of {@code PlayerRecordInfo}
     */
    public static PlayerRecordInfo newInstance() {
      return new PlayerRecordInfo();
    }

    /**
     * <code>optional uint32 MMFGIPPNEEF = 3;</code>
     * @return whether the mMFGIPPNEEF field is set
     */
    public boolean hasMMFGIPPNEEF() {
      return (bitField0_ & 0x00000001) != 0;
    }

    /**
     * <code>optional uint32 MMFGIPPNEEF = 3;</code>
     * @return this
     */
    public PlayerRecordInfo clearMMFGIPPNEEF() {
      bitField0_ &= ~0x00000001;
      mMFGIPPNEEF = 0;
      return this;
    }

    /**
     * <code>optional uint32 MMFGIPPNEEF = 3;</code>
     * @return the mMFGIPPNEEF
     */
    public int getMMFGIPPNEEF() {
      return mMFGIPPNEEF;
    }

    /**
     * <code>optional uint32 MMFGIPPNEEF = 3;</code>
     * @param value the mMFGIPPNEEF to set
     * @return this
     */
    public PlayerRecordInfo setMMFGIPPNEEF(final int value) {
      bitField0_ |= 0x00000001;
      mMFGIPPNEEF = value;
      return this;
    }

    /**
     * <code>optional uint32 LCEEKBAJPHA = 4;</code>
     * @return whether the lCEEKBAJPHA field is set
     */
    public boolean hasLCEEKBAJPHA() {
      return (bitField0_ & 0x00000002) != 0;
    }

    /**
     * <code>optional uint32 LCEEKBAJPHA = 4;</code>
     * @return this
     */
    public PlayerRecordInfo clearLCEEKBAJPHA() {
      bitField0_ &= ~0x00000002;
      lCEEKBAJPHA = 0;
      return this;
    }

    /**
     * <code>optional uint32 LCEEKBAJPHA = 4;</code>
     * @return the lCEEKBAJPHA
     */
    public int getLCEEKBAJPHA() {
      return lCEEKBAJPHA;
    }

    /**
     * <code>optional uint32 LCEEKBAJPHA = 4;</code>
     * @param value the lCEEKBAJPHA to set
     * @return this
     */
    public PlayerRecordInfo setLCEEKBAJPHA(final int value) {
      bitField0_ |= 0x00000002;
      lCEEKBAJPHA = value;
      return this;
    }

    /**
     * <code>optional uint32 KEBOJOIBOKE = 6;</code>
     * @return whether the kEBOJOIBOKE field is set
     */
    public boolean hasKEBOJOIBOKE() {
      return (bitField0_ & 0x00000004) != 0;
    }

    /**
     * <code>optional uint32 KEBOJOIBOKE = 6;</code>
     * @return this
     */
    public PlayerRecordInfo clearKEBOJOIBOKE() {
      bitField0_ &= ~0x00000004;
      kEBOJOIBOKE = 0;
      return this;
    }

    /**
     * <code>optional uint32 KEBOJOIBOKE = 6;</code>
     * @return the kEBOJOIBOKE
     */
    public int getKEBOJOIBOKE() {
      return kEBOJOIBOKE;
    }

    /**
     * <code>optional uint32 KEBOJOIBOKE = 6;</code>
     * @param value the kEBOJOIBOKE to set
     * @return this
     */
    public PlayerRecordInfo setKEBOJOIBOKE(final int value) {
      bitField0_ |= 0x00000004;
      kEBOJOIBOKE = value;
      return this;
    }

    /**
     * <code>optional uint32 LBKCIEBGMAJ = 9;</code>
     * @return whether the lBKCIEBGMAJ field is set
     */
    public boolean hasLBKCIEBGMAJ() {
      return (bitField0_ & 0x00000008) != 0;
    }

    /**
     * <code>optional uint32 LBKCIEBGMAJ = 9;</code>
     * @return this
     */
    public PlayerRecordInfo clearLBKCIEBGMAJ() {
      bitField0_ &= ~0x00000008;
      lBKCIEBGMAJ = 0;
      return this;
    }

    /**
     * <code>optional uint32 LBKCIEBGMAJ = 9;</code>
     * @return the lBKCIEBGMAJ
     */
    public int getLBKCIEBGMAJ() {
      return lBKCIEBGMAJ;
    }

    /**
     * <code>optional uint32 LBKCIEBGMAJ = 9;</code>
     * @param value the lBKCIEBGMAJ to set
     * @return this
     */
    public PlayerRecordInfo setLBKCIEBGMAJ(final int value) {
      bitField0_ |= 0x00000008;
      lBKCIEBGMAJ = value;
      return this;
    }

    /**
     * <code>optional uint32 GPJGLLANPIF = 11;</code>
     * @return whether the gPJGLLANPIF field is set
     */
    public boolean hasGPJGLLANPIF() {
      return (bitField0_ & 0x00000010) != 0;
    }

    /**
     * <code>optional uint32 GPJGLLANPIF = 11;</code>
     * @return this
     */
    public PlayerRecordInfo clearGPJGLLANPIF() {
      bitField0_ &= ~0x00000010;
      gPJGLLANPIF = 0;
      return this;
    }

    /**
     * <code>optional uint32 GPJGLLANPIF = 11;</code>
     * @return the gPJGLLANPIF
     */
    public int getGPJGLLANPIF() {
      return gPJGLLANPIF;
    }

    /**
     * <code>optional uint32 GPJGLLANPIF = 11;</code>
     * @param value the gPJGLLANPIF to set
     * @return this
     */
    public PlayerRecordInfo setGPJGLLANPIF(final int value) {
      bitField0_ |= 0x00000010;
      gPJGLLANPIF = value;
      return this;
    }

    /**
     * <code>optional uint32 KHDJDCELNPF = 12;</code>
     * @return whether the kHDJDCELNPF field is set
     */
    public boolean hasKHDJDCELNPF() {
      return (bitField0_ & 0x00000020) != 0;
    }

    /**
     * <code>optional uint32 KHDJDCELNPF = 12;</code>
     * @return this
     */
    public PlayerRecordInfo clearKHDJDCELNPF() {
      bitField0_ &= ~0x00000020;
      kHDJDCELNPF = 0;
      return this;
    }

    /**
     * <code>optional uint32 KHDJDCELNPF = 12;</code>
     * @return the kHDJDCELNPF
     */
    public int getKHDJDCELNPF() {
      return kHDJDCELNPF;
    }

    /**
     * <code>optional uint32 KHDJDCELNPF = 12;</code>
     * @param value the kHDJDCELNPF to set
     * @return this
     */
    public PlayerRecordInfo setKHDJDCELNPF(final int value) {
      bitField0_ |= 0x00000020;
      kHDJDCELNPF = value;
      return this;
    }

    /**
     * <code>optional uint32 MIMIPDMIPNO = 13;</code>
     * @return whether the mIMIPDMIPNO field is set
     */
    public boolean hasMIMIPDMIPNO() {
      return (bitField0_ & 0x00000040) != 0;
    }

    /**
     * <code>optional uint32 MIMIPDMIPNO = 13;</code>
     * @return this
     */
    public PlayerRecordInfo clearMIMIPDMIPNO() {
      bitField0_ &= ~0x00000040;
      mIMIPDMIPNO = 0;
      return this;
    }

    /**
     * <code>optional uint32 MIMIPDMIPNO = 13;</code>
     * @return the mIMIPDMIPNO
     */
    public int getMIMIPDMIPNO() {
      return mIMIPDMIPNO;
    }

    /**
     * <code>optional uint32 MIMIPDMIPNO = 13;</code>
     * @param value the mIMIPDMIPNO to set
     * @return this
     */
    public PlayerRecordInfo setMIMIPDMIPNO(final int value) {
      bitField0_ |= 0x00000040;
      mIMIPDMIPNO = value;
      return this;
    }

    /**
     * <code>optional uint32 MPNIKBAFPEM = 14;</code>
     * @return whether the mPNIKBAFPEM field is set
     */
    public boolean hasMPNIKBAFPEM() {
      return (bitField0_ & 0x00000080) != 0;
    }

    /**
     * <code>optional uint32 MPNIKBAFPEM = 14;</code>
     * @return this
     */
    public PlayerRecordInfo clearMPNIKBAFPEM() {
      bitField0_ &= ~0x00000080;
      mPNIKBAFPEM = 0;
      return this;
    }

    /**
     * <code>optional uint32 MPNIKBAFPEM = 14;</code>
     * @return the mPNIKBAFPEM
     */
    public int getMPNIKBAFPEM() {
      return mPNIKBAFPEM;
    }

    /**
     * <code>optional uint32 MPNIKBAFPEM = 14;</code>
     * @param value the mPNIKBAFPEM to set
     * @return this
     */
    public PlayerRecordInfo setMPNIKBAFPEM(final int value) {
      bitField0_ |= 0x00000080;
      mPNIKBAFPEM = value;
      return this;
    }

    /**
     * <code>optional .PlayerCollectionInfo collection_info = 10;</code>
     * @return whether the collectionInfo field is set
     */
    public boolean hasCollectionInfo() {
      return (bitField0_ & 0x00000100) != 0;
    }

    /**
     * <code>optional .PlayerCollectionInfo collection_info = 10;</code>
     * @return this
     */
    public PlayerRecordInfo clearCollectionInfo() {
      bitField0_ &= ~0x00000100;
      collectionInfo.clear();
      return this;
    }

    /**
     * <code>optional .PlayerCollectionInfo collection_info = 10;</code>
     *
     * This method returns the internal storage object without modifying any has state.
     * The returned object should not be modified and be treated as read-only.
     *
     * Use {@link #getMutableCollectionInfo()} if you want to modify it.
     *
     * @return internal storage object for reading
     */
    public PlayerCollectionInfoOuterClass.PlayerCollectionInfo getCollectionInfo() {
      return collectionInfo;
    }

    /**
     * <code>optional .PlayerCollectionInfo collection_info = 10;</code>
     *
     * This method returns the internal storage object and sets the corresponding
     * has state. The returned object will become part of this message and its
     * contents may be modified as long as the has state is not cleared.
     *
     * @return internal storage object for modifications
     */
    public PlayerCollectionInfoOuterClass.PlayerCollectionInfo getMutableCollectionInfo() {
      bitField0_ |= 0x00000100;
      return collectionInfo;
    }

    /**
     * <code>optional .PlayerCollectionInfo collection_info = 10;</code>
     * @param value the collectionInfo to set
     * @return this
     */
    public PlayerRecordInfo setCollectionInfo(
        final PlayerCollectionInfoOuterClass.PlayerCollectionInfo value) {
      bitField0_ |= 0x00000100;
      collectionInfo.copyFrom(value);
      return this;
    }

    @Override
    public PlayerRecordInfo copyFrom(final PlayerRecordInfo other) {
      cachedSize = other.cachedSize;
      if ((bitField0_ | other.bitField0_) != 0) {
        bitField0_ = other.bitField0_;
        mMFGIPPNEEF = other.mMFGIPPNEEF;
        lCEEKBAJPHA = other.lCEEKBAJPHA;
        kEBOJOIBOKE = other.kEBOJOIBOKE;
        lBKCIEBGMAJ = other.lBKCIEBGMAJ;
        gPJGLLANPIF = other.gPJGLLANPIF;
        kHDJDCELNPF = other.kHDJDCELNPF;
        mIMIPDMIPNO = other.mIMIPDMIPNO;
        mPNIKBAFPEM = other.mPNIKBAFPEM;
        collectionInfo.copyFrom(other.collectionInfo);
      }
      return this;
    }

    @Override
    public PlayerRecordInfo mergeFrom(final PlayerRecordInfo other) {
      if (other.isEmpty()) {
        return this;
      }
      cachedSize = -1;
      if (other.hasMMFGIPPNEEF()) {
        setMMFGIPPNEEF(other.mMFGIPPNEEF);
      }
      if (other.hasLCEEKBAJPHA()) {
        setLCEEKBAJPHA(other.lCEEKBAJPHA);
      }
      if (other.hasKEBOJOIBOKE()) {
        setKEBOJOIBOKE(other.kEBOJOIBOKE);
      }
      if (other.hasLBKCIEBGMAJ()) {
        setLBKCIEBGMAJ(other.lBKCIEBGMAJ);
      }
      if (other.hasGPJGLLANPIF()) {
        setGPJGLLANPIF(other.gPJGLLANPIF);
      }
      if (other.hasKHDJDCELNPF()) {
        setKHDJDCELNPF(other.kHDJDCELNPF);
      }
      if (other.hasMIMIPDMIPNO()) {
        setMIMIPDMIPNO(other.mIMIPDMIPNO);
      }
      if (other.hasMPNIKBAFPEM()) {
        setMPNIKBAFPEM(other.mPNIKBAFPEM);
      }
      if (other.hasCollectionInfo()) {
        getMutableCollectionInfo().mergeFrom(other.collectionInfo);
      }
      return this;
    }

    @Override
    public PlayerRecordInfo clear() {
      if (isEmpty()) {
        return this;
      }
      cachedSize = -1;
      bitField0_ = 0;
      mMFGIPPNEEF = 0;
      lCEEKBAJPHA = 0;
      kEBOJOIBOKE = 0;
      lBKCIEBGMAJ = 0;
      gPJGLLANPIF = 0;
      kHDJDCELNPF = 0;
      mIMIPDMIPNO = 0;
      mPNIKBAFPEM = 0;
      collectionInfo.clear();
      return this;
    }

    @Override
    public PlayerRecordInfo clearQuick() {
      if (isEmpty()) {
        return this;
      }
      cachedSize = -1;
      bitField0_ = 0;
      collectionInfo.clearQuick();
      return this;
    }

    @Override
    public boolean equals(Object o) {
      if (o == this) {
        return true;
      }
      if (!(o instanceof PlayerRecordInfo)) {
        return false;
      }
      PlayerRecordInfo other = (PlayerRecordInfo) o;
      return bitField0_ == other.bitField0_
        && (!hasMMFGIPPNEEF() || mMFGIPPNEEF == other.mMFGIPPNEEF)
        && (!hasLCEEKBAJPHA() || lCEEKBAJPHA == other.lCEEKBAJPHA)
        && (!hasKEBOJOIBOKE() || kEBOJOIBOKE == other.kEBOJOIBOKE)
        && (!hasLBKCIEBGMAJ() || lBKCIEBGMAJ == other.lBKCIEBGMAJ)
        && (!hasGPJGLLANPIF() || gPJGLLANPIF == other.gPJGLLANPIF)
        && (!hasKHDJDCELNPF() || kHDJDCELNPF == other.kHDJDCELNPF)
        && (!hasMIMIPDMIPNO() || mIMIPDMIPNO == other.mIMIPDMIPNO)
        && (!hasMPNIKBAFPEM() || mPNIKBAFPEM == other.mPNIKBAFPEM)
        && (!hasCollectionInfo() || collectionInfo.equals(other.collectionInfo));
    }

    @Override
    public void writeTo(final ProtoSink output) throws IOException {
      if ((bitField0_ & 0x00000001) != 0) {
        output.writeRawByte((byte) 24);
        output.writeUInt32NoTag(mMFGIPPNEEF);
      }
      if ((bitField0_ & 0x00000002) != 0) {
        output.writeRawByte((byte) 32);
        output.writeUInt32NoTag(lCEEKBAJPHA);
      }
      if ((bitField0_ & 0x00000004) != 0) {
        output.writeRawByte((byte) 48);
        output.writeUInt32NoTag(kEBOJOIBOKE);
      }
      if ((bitField0_ & 0x00000008) != 0) {
        output.writeRawByte((byte) 72);
        output.writeUInt32NoTag(lBKCIEBGMAJ);
      }
      if ((bitField0_ & 0x00000010) != 0) {
        output.writeRawByte((byte) 88);
        output.writeUInt32NoTag(gPJGLLANPIF);
      }
      if ((bitField0_ & 0x00000020) != 0) {
        output.writeRawByte((byte) 96);
        output.writeUInt32NoTag(kHDJDCELNPF);
      }
      if ((bitField0_ & 0x00000040) != 0) {
        output.writeRawByte((byte) 104);
        output.writeUInt32NoTag(mIMIPDMIPNO);
      }
      if ((bitField0_ & 0x00000080) != 0) {
        output.writeRawByte((byte) 112);
        output.writeUInt32NoTag(mPNIKBAFPEM);
      }
      if ((bitField0_ & 0x00000100) != 0) {
        output.writeRawByte((byte) 82);
        output.writeMessageNoTag(collectionInfo);
      }
    }

    @Override
    protected int computeSerializedSize() {
      int size = 0;
      if ((bitField0_ & 0x00000001) != 0) {
        size += 1 + ProtoSink.computeUInt32SizeNoTag(mMFGIPPNEEF);
      }
      if ((bitField0_ & 0x00000002) != 0) {
        size += 1 + ProtoSink.computeUInt32SizeNoTag(lCEEKBAJPHA);
      }
      if ((bitField0_ & 0x00000004) != 0) {
        size += 1 + ProtoSink.computeUInt32SizeNoTag(kEBOJOIBOKE);
      }
      if ((bitField0_ & 0x00000008) != 0) {
        size += 1 + ProtoSink.computeUInt32SizeNoTag(lBKCIEBGMAJ);
      }
      if ((bitField0_ & 0x00000010) != 0) {
        size += 1 + ProtoSink.computeUInt32SizeNoTag(gPJGLLANPIF);
      }
      if ((bitField0_ & 0x00000020) != 0) {
        size += 1 + ProtoSink.computeUInt32SizeNoTag(kHDJDCELNPF);
      }
      if ((bitField0_ & 0x00000040) != 0) {
        size += 1 + ProtoSink.computeUInt32SizeNoTag(mIMIPDMIPNO);
      }
      if ((bitField0_ & 0x00000080) != 0) {
        size += 1 + ProtoSink.computeUInt32SizeNoTag(mPNIKBAFPEM);
      }
      if ((bitField0_ & 0x00000100) != 0) {
        size += 1 + ProtoSink.computeMessageSizeNoTag(collectionInfo);
      }
      return size;
    }

    @Override
    @SuppressWarnings("fallthrough")
    public PlayerRecordInfo mergeFrom(final ProtoSource input) throws IOException {
      // Enabled Fall-Through Optimization (QuickBuffers)
      int tag = input.readTag();
      while (true) {
        switch (tag) {
          case 24: {
            // mMFGIPPNEEF
            mMFGIPPNEEF = input.readUInt32();
            bitField0_ |= 0x00000001;
            tag = input.readTag();
            if (tag != 32) {
              break;
            }
          }
          case 32: {
            // lCEEKBAJPHA
            lCEEKBAJPHA = input.readUInt32();
            bitField0_ |= 0x00000002;
            tag = input.readTag();
            if (tag != 48) {
              break;
            }
          }
          case 48: {
            // kEBOJOIBOKE
            kEBOJOIBOKE = input.readUInt32();
            bitField0_ |= 0x00000004;
            tag = input.readTag();
            if (tag != 72) {
              break;
            }
          }
          case 72: {
            // lBKCIEBGMAJ
            lBKCIEBGMAJ = input.readUInt32();
            bitField0_ |= 0x00000008;
            tag = input.readTag();
            if (tag != 88) {
              break;
            }
          }
          case 88: {
            // gPJGLLANPIF
            gPJGLLANPIF = input.readUInt32();
            bitField0_ |= 0x00000010;
            tag = input.readTag();
            if (tag != 96) {
              break;
            }
          }
          case 96: {
            // kHDJDCELNPF
            kHDJDCELNPF = input.readUInt32();
            bitField0_ |= 0x00000020;
            tag = input.readTag();
            if (tag != 104) {
              break;
            }
          }
          case 104: {
            // mIMIPDMIPNO
            mIMIPDMIPNO = input.readUInt32();
            bitField0_ |= 0x00000040;
            tag = input.readTag();
            if (tag != 112) {
              break;
            }
          }
          case 112: {
            // mPNIKBAFPEM
            mPNIKBAFPEM = input.readUInt32();
            bitField0_ |= 0x00000080;
            tag = input.readTag();
            if (tag != 82) {
              break;
            }
          }
          case 82: {
            // collectionInfo
            input.readMessage(collectionInfo);
            bitField0_ |= 0x00000100;
            tag = input.readTag();
            if (tag != 0) {
              break;
            }
          }
          case 0: {
            return this;
          }
          default: {
            if (!input.skipField(tag)) {
              return this;
            }
            tag = input.readTag();
            break;
          }
        }
      }
    }

    @Override
    public void writeTo(final JsonSink output) throws IOException {
      output.beginObject();
      if ((bitField0_ & 0x00000001) != 0) {
        output.writeUInt32(FieldNames.mMFGIPPNEEF, mMFGIPPNEEF);
      }
      if ((bitField0_ & 0x00000002) != 0) {
        output.writeUInt32(FieldNames.lCEEKBAJPHA, lCEEKBAJPHA);
      }
      if ((bitField0_ & 0x00000004) != 0) {
        output.writeUInt32(FieldNames.kEBOJOIBOKE, kEBOJOIBOKE);
      }
      if ((bitField0_ & 0x00000008) != 0) {
        output.writeUInt32(FieldNames.lBKCIEBGMAJ, lBKCIEBGMAJ);
      }
      if ((bitField0_ & 0x00000010) != 0) {
        output.writeUInt32(FieldNames.gPJGLLANPIF, gPJGLLANPIF);
      }
      if ((bitField0_ & 0x00000020) != 0) {
        output.writeUInt32(FieldNames.kHDJDCELNPF, kHDJDCELNPF);
      }
      if ((bitField0_ & 0x00000040) != 0) {
        output.writeUInt32(FieldNames.mIMIPDMIPNO, mIMIPDMIPNO);
      }
      if ((bitField0_ & 0x00000080) != 0) {
        output.writeUInt32(FieldNames.mPNIKBAFPEM, mPNIKBAFPEM);
      }
      if ((bitField0_ & 0x00000100) != 0) {
        output.writeMessage(FieldNames.collectionInfo, collectionInfo);
      }
      output.endObject();
    }

    @Override
    public PlayerRecordInfo mergeFrom(final JsonSource input) throws IOException {
      if (!input.beginObject()) {
        return this;
      }
      while (!input.isAtEnd()) {
        switch (input.readFieldHash()) {
          case 1069614752: {
            if (input.isAtField(FieldNames.mMFGIPPNEEF)) {
              if (!input.trySkipNullValue()) {
                mMFGIPPNEEF = input.readUInt32();
                bitField0_ |= 0x00000001;
              }
            } else {
              input.skipUnknownField();
            }
            break;
          }
          case 218805586: {
            if (input.isAtField(FieldNames.lCEEKBAJPHA)) {
              if (!input.trySkipNullValue()) {
                lCEEKBAJPHA = input.readUInt32();
                bitField0_ |= 0x00000002;
              }
            } else {
              input.skipUnknownField();
            }
            break;
          }
          case -1804782844: {
            if (input.isAtField(FieldNames.kEBOJOIBOKE)) {
              if (!input.trySkipNullValue()) {
                kEBOJOIBOKE = input.readUInt32();
                bitField0_ |= 0x00000004;
              }
            } else {
              input.skipUnknownField();
            }
            break;
          }
          case 1576551975: {
            if (input.isAtField(FieldNames.lBKCIEBGMAJ)) {
              if (!input.trySkipNullValue()) {
                lBKCIEBGMAJ = input.readUInt32();
                bitField0_ |= 0x00000008;
              }
            } else {
              input.skipUnknownField();
            }
            break;
          }
          case -2023817734: {
            if (input.isAtField(FieldNames.gPJGLLANPIF)) {
              if (!input.trySkipNullValue()) {
                gPJGLLANPIF = input.readUInt32();
                bitField0_ |= 0x00000010;
              }
            } else {
              input.skipUnknownField();
            }
            break;
          }
          case 1079583643: {
            if (input.isAtField(FieldNames.kHDJDCELNPF)) {
              if (!input.trySkipNullValue()) {
                kHDJDCELNPF = input.readUInt32();
                bitField0_ |= 0x00000020;
              }
            } else {
              input.skipUnknownField();
            }
            break;
          }
          case -1444824503: {
            if (input.isAtField(FieldNames.mIMIPDMIPNO)) {
              if (!input.trySkipNullValue()) {
                mIMIPDMIPNO = input.readUInt32();
                bitField0_ |= 0x00000040;
              }
            } else {
              input.skipUnknownField();
            }
            break;
          }
          case -543887522: {
            if (input.isAtField(FieldNames.mPNIKBAFPEM)) {
              if (!input.trySkipNullValue()) {
                mPNIKBAFPEM = input.readUInt32();
                bitField0_ |= 0x00000080;
              }
            } else {
              input.skipUnknownField();
            }
            break;
          }
          case 310642796:
          case 1060168111: {
            if (input.isAtField(FieldNames.collectionInfo)) {
              if (!input.trySkipNullValue()) {
                input.readMessage(collectionInfo);
                bitField0_ |= 0x00000100;
              }
            } else {
              input.skipUnknownField();
            }
            break;
          }
          default: {
            input.skipUnknownField();
            break;
          }
        }
      }
      input.endObject();
      return this;
    }

    @Override
    public PlayerRecordInfo clone() {
      return new PlayerRecordInfo().copyFrom(this);
    }

    @Override
    public boolean isEmpty() {
      return ((bitField0_) == 0);
    }

    public static PlayerRecordInfo parseFrom(final byte[] data) throws
        InvalidProtocolBufferException {
      return ProtoMessage.mergeFrom(new PlayerRecordInfo(), data).checkInitialized();
    }

    public static PlayerRecordInfo parseFrom(final ProtoSource input) throws IOException {
      return ProtoMessage.mergeFrom(new PlayerRecordInfo(), input).checkInitialized();
    }

    public static PlayerRecordInfo parseFrom(final JsonSource input) throws IOException {
      return ProtoMessage.mergeFrom(new PlayerRecordInfo(), input).checkInitialized();
    }

    /**
     * @return factory for creating PlayerRecordInfo messages
     */
    public static MessageFactory<PlayerRecordInfo> getFactory() {
      return PlayerRecordInfoFactory.INSTANCE;
    }

    private enum PlayerRecordInfoFactory implements MessageFactory<PlayerRecordInfo> {
      INSTANCE;

      @Override
      public PlayerRecordInfo create() {
        return PlayerRecordInfo.newInstance();
      }
    }

    /**
     * Contains name constants used for serializing JSON
     */
    static class FieldNames {
      static final FieldName mMFGIPPNEEF = FieldName.forField("MMFGIPPNEEF");

      static final FieldName lCEEKBAJPHA = FieldName.forField("LCEEKBAJPHA");

      static final FieldName kEBOJOIBOKE = FieldName.forField("KEBOJOIBOKE");

      static final FieldName lBKCIEBGMAJ = FieldName.forField("LBKCIEBGMAJ");

      static final FieldName gPJGLLANPIF = FieldName.forField("GPJGLLANPIF");

      static final FieldName kHDJDCELNPF = FieldName.forField("KHDJDCELNPF");

      static final FieldName mIMIPDMIPNO = FieldName.forField("MIMIPDMIPNO");

      static final FieldName mPNIKBAFPEM = FieldName.forField("MPNIKBAFPEM");

      static final FieldName collectionInfo = FieldName.forField("collectionInfo", "collection_info");
    }
  }
}
