All Downloads are FREE. Search and download functionalities are using the official Maven repository.

POGOProtos.Data.Player.PlayerStatsOuterClass Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: POGOProtos/Data/Player/PlayerStats.proto

package POGOProtos.Data.Player;

public final class PlayerStatsOuterClass {
  private PlayerStatsOuterClass() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface PlayerStatsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:POGOProtos.Data.Player.PlayerStats)
      com.google.protobuf.MessageOrBuilder {

    /**
     * int32 level = 1;
     */
    int getLevel();

    /**
     * int64 experience = 2;
     */
    long getExperience();

    /**
     * int64 prev_level_xp = 3;
     */
    long getPrevLevelXp();

    /**
     * int64 next_level_xp = 4;
     */
    long getNextLevelXp();

    /**
     * float km_walked = 5;
     */
    float getKmWalked();

    /**
     * int32 pokemons_encountered = 6;
     */
    int getPokemonsEncountered();

    /**
     * int32 unique_pokedex_entries = 7;
     */
    int getUniquePokedexEntries();

    /**
     * int32 pokemons_captured = 8;
     */
    int getPokemonsCaptured();

    /**
     * int32 evolutions = 9;
     */
    int getEvolutions();

    /**
     * int32 poke_stop_visits = 10;
     */
    int getPokeStopVisits();

    /**
     * int32 pokeballs_thrown = 11;
     */
    int getPokeballsThrown();

    /**
     * int32 eggs_hatched = 12;
     */
    int getEggsHatched();

    /**
     * int32 big_magikarp_caught = 13;
     */
    int getBigMagikarpCaught();

    /**
     * int32 battle_attack_won = 14;
     */
    int getBattleAttackWon();

    /**
     * int32 battle_attack_total = 15;
     */
    int getBattleAttackTotal();

    /**
     * int32 battle_defended_won = 16;
     */
    int getBattleDefendedWon();

    /**
     * int32 battle_training_won = 17;
     */
    int getBattleTrainingWon();

    /**
     * int32 battle_training_total = 18;
     */
    int getBattleTrainingTotal();

    /**
     * int32 prestige_raised_total = 19;
     */
    int getPrestigeRaisedTotal();

    /**
     * int32 prestige_dropped_total = 20;
     */
    int getPrestigeDroppedTotal();

    /**
     * int32 pokemon_deployed = 21;
     */
    int getPokemonDeployed();

    /**
     * repeated int32 pokemon_caught_by_type = 22;
     */
    java.util.List getPokemonCaughtByTypeList();
    /**
     * repeated int32 pokemon_caught_by_type = 22;
     */
    int getPokemonCaughtByTypeCount();
    /**
     * repeated int32 pokemon_caught_by_type = 22;
     */
    int getPokemonCaughtByType(int index);

    /**
     * int32 small_rattata_caught = 23;
     */
    int getSmallRattataCaught();

    /**
     * double used_km_pool = 24;
     */
    double getUsedKmPool();

    /**
     * int64 last_km_refill_ms = 25;
     */
    long getLastKmRefillMs();

    /**
     * int32 num_raid_battle_won = 26;
     */
    int getNumRaidBattleWon();

    /**
     * int32 num_raid_battle_total = 27;
     */
    int getNumRaidBattleTotal();

    /**
     * int32 num_legendary_battle_won = 28;
     */
    int getNumLegendaryBattleWon();

    /**
     * int32 num_legendary_battle_total = 29;
     */
    int getNumLegendaryBattleTotal();

    /**
     * int32 num_berries_fed = 30;
     */
    int getNumBerriesFed();

    /**
     * int64 total_defended_ms = 31;
     */
    long getTotalDefendedMs();

    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    java.util.List getEventBadgesList();
    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    int getEventBadgesCount();
    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType getEventBadges(int index);
    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    java.util.List
    getEventBadgesValueList();
    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    int getEventBadgesValue(int index);

    /**
     * float km_walked_past_active_day = 33;
     */
    float getKmWalkedPastActiveDay();

    /**
     * int32 num_challenge_quests_completed = 34;
     */
    int getNumChallengeQuestsCompleted();

    /**
     * int32 num_trades = 35;
     */
    int getNumTrades();

    /**
     * int32 num_max_level_friends = 36;
     */
    int getNumMaxLevelFriends();

    /**
     * int64 trade_accumulated_distance_km = 37;
     */
    long getTradeAccumulatedDistanceKm();

    /**
     * int64 fitness_report_last_check_bucket = 38;
     */
    long getFitnessReportLastCheckBucket();

    /**
     * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
     */
    boolean hasCombatStats();
    /**
     * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
     */
    POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats getCombatStats();
    /**
     * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
     */
    POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStatsOrBuilder getCombatStatsOrBuilder();

    /**
     * int32 num_npc_combats_won = 40;
     */
    int getNumNpcCombatsWon();

    /**
     * int32 num_npc_combats_total = 41;
     */
    int getNumNpcCombatsTotal();

    /**
     * int32 num_photobomb_seen = 42;
     */
    int getNumPhotobombSeen();
  }
  /**
   * Protobuf type {@code POGOProtos.Data.Player.PlayerStats}
   */
  public  static final class PlayerStats extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:POGOProtos.Data.Player.PlayerStats)
      PlayerStatsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PlayerStats.newBuilder() to construct.
    private PlayerStats(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PlayerStats() {
      level_ = 0;
      experience_ = 0L;
      prevLevelXp_ = 0L;
      nextLevelXp_ = 0L;
      kmWalked_ = 0F;
      pokemonsEncountered_ = 0;
      uniquePokedexEntries_ = 0;
      pokemonsCaptured_ = 0;
      evolutions_ = 0;
      pokeStopVisits_ = 0;
      pokeballsThrown_ = 0;
      eggsHatched_ = 0;
      bigMagikarpCaught_ = 0;
      battleAttackWon_ = 0;
      battleAttackTotal_ = 0;
      battleDefendedWon_ = 0;
      battleTrainingWon_ = 0;
      battleTrainingTotal_ = 0;
      prestigeRaisedTotal_ = 0;
      prestigeDroppedTotal_ = 0;
      pokemonDeployed_ = 0;
      pokemonCaughtByType_ = java.util.Collections.emptyList();
      smallRattataCaught_ = 0;
      usedKmPool_ = 0D;
      lastKmRefillMs_ = 0L;
      numRaidBattleWon_ = 0;
      numRaidBattleTotal_ = 0;
      numLegendaryBattleWon_ = 0;
      numLegendaryBattleTotal_ = 0;
      numBerriesFed_ = 0;
      totalDefendedMs_ = 0L;
      eventBadges_ = java.util.Collections.emptyList();
      kmWalkedPastActiveDay_ = 0F;
      numChallengeQuestsCompleted_ = 0;
      numTrades_ = 0;
      numMaxLevelFriends_ = 0;
      tradeAccumulatedDistanceKm_ = 0L;
      fitnessReportLastCheckBucket_ = 0L;
      numNpcCombatsWon_ = 0;
      numNpcCombatsTotal_ = 0;
      numPhotobombSeen_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PlayerStats(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      int mutable_bitField1_ = 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;
            case 8: {

              level_ = input.readInt32();
              break;
            }
            case 16: {

              experience_ = input.readInt64();
              break;
            }
            case 24: {

              prevLevelXp_ = input.readInt64();
              break;
            }
            case 32: {

              nextLevelXp_ = input.readInt64();
              break;
            }
            case 45: {

              kmWalked_ = input.readFloat();
              break;
            }
            case 48: {

              pokemonsEncountered_ = input.readInt32();
              break;
            }
            case 56: {

              uniquePokedexEntries_ = input.readInt32();
              break;
            }
            case 64: {

              pokemonsCaptured_ = input.readInt32();
              break;
            }
            case 72: {

              evolutions_ = input.readInt32();
              break;
            }
            case 80: {

              pokeStopVisits_ = input.readInt32();
              break;
            }
            case 88: {

              pokeballsThrown_ = input.readInt32();
              break;
            }
            case 96: {

              eggsHatched_ = input.readInt32();
              break;
            }
            case 104: {

              bigMagikarpCaught_ = input.readInt32();
              break;
            }
            case 112: {

              battleAttackWon_ = input.readInt32();
              break;
            }
            case 120: {

              battleAttackTotal_ = input.readInt32();
              break;
            }
            case 128: {

              battleDefendedWon_ = input.readInt32();
              break;
            }
            case 136: {

              battleTrainingWon_ = input.readInt32();
              break;
            }
            case 144: {

              battleTrainingTotal_ = input.readInt32();
              break;
            }
            case 152: {

              prestigeRaisedTotal_ = input.readInt32();
              break;
            }
            case 160: {

              prestigeDroppedTotal_ = input.readInt32();
              break;
            }
            case 168: {

              pokemonDeployed_ = input.readInt32();
              break;
            }
            case 176: {
              if (!((mutable_bitField0_ & 0x00200000) == 0x00200000)) {
                pokemonCaughtByType_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00200000;
              }
              pokemonCaughtByType_.add(input.readInt32());
              break;
            }
            case 178: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00200000) == 0x00200000) && input.getBytesUntilLimit() > 0) {
                pokemonCaughtByType_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00200000;
              }
              while (input.getBytesUntilLimit() > 0) {
                pokemonCaughtByType_.add(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 184: {

              smallRattataCaught_ = input.readInt32();
              break;
            }
            case 193: {

              usedKmPool_ = input.readDouble();
              break;
            }
            case 200: {

              lastKmRefillMs_ = input.readInt64();
              break;
            }
            case 208: {

              numRaidBattleWon_ = input.readInt32();
              break;
            }
            case 216: {

              numRaidBattleTotal_ = input.readInt32();
              break;
            }
            case 224: {

              numLegendaryBattleWon_ = input.readInt32();
              break;
            }
            case 232: {

              numLegendaryBattleTotal_ = input.readInt32();
              break;
            }
            case 240: {

              numBerriesFed_ = input.readInt32();
              break;
            }
            case 248: {

              totalDefendedMs_ = input.readInt64();
              break;
            }
            case 256: {
              int rawValue = input.readEnum();
              if (!((mutable_bitField0_ & 0x80000000) == 0x80000000)) {
                eventBadges_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x80000000;
              }
              eventBadges_.add(rawValue);
              break;
            }
            case 258: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int rawValue = input.readEnum();
                if (!((mutable_bitField0_ & 0x80000000) == 0x80000000)) {
                  eventBadges_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x80000000;
                }
                eventBadges_.add(rawValue);
              }
              input.popLimit(oldLimit);
              break;
            }
            case 269: {

              kmWalkedPastActiveDay_ = input.readFloat();
              break;
            }
            case 272: {

              numChallengeQuestsCompleted_ = input.readInt32();
              break;
            }
            case 280: {

              numTrades_ = input.readInt32();
              break;
            }
            case 288: {

              numMaxLevelFriends_ = input.readInt32();
              break;
            }
            case 296: {

              tradeAccumulatedDistanceKm_ = input.readInt64();
              break;
            }
            case 304: {

              fitnessReportLastCheckBucket_ = input.readInt64();
              break;
            }
            case 314: {
              POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.Builder subBuilder = null;
              if (combatStats_ != null) {
                subBuilder = combatStats_.toBuilder();
              }
              combatStats_ = input.readMessage(POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(combatStats_);
                combatStats_ = subBuilder.buildPartial();
              }

              break;
            }
            case 320: {

              numNpcCombatsWon_ = input.readInt32();
              break;
            }
            case 328: {

              numNpcCombatsTotal_ = input.readInt32();
              break;
            }
            case 336: {

              numPhotobombSeen_ = input.readInt32();
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00200000) == 0x00200000)) {
          pokemonCaughtByType_ = java.util.Collections.unmodifiableList(pokemonCaughtByType_);
        }
        if (((mutable_bitField0_ & 0x80000000) == 0x80000000)) {
          eventBadges_ = java.util.Collections.unmodifiableList(eventBadges_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return POGOProtos.Data.Player.PlayerStatsOuterClass.internal_static_POGOProtos_Data_Player_PlayerStats_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return POGOProtos.Data.Player.PlayerStatsOuterClass.internal_static_POGOProtos_Data_Player_PlayerStats_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats.class, POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats.Builder.class);
    }

    private int bitField0_;
    private int bitField1_;
    public static final int LEVEL_FIELD_NUMBER = 1;
    private int level_;
    /**
     * int32 level = 1;
     */
    public int getLevel() {
      return level_;
    }

    public static final int EXPERIENCE_FIELD_NUMBER = 2;
    private long experience_;
    /**
     * int64 experience = 2;
     */
    public long getExperience() {
      return experience_;
    }

    public static final int PREV_LEVEL_XP_FIELD_NUMBER = 3;
    private long prevLevelXp_;
    /**
     * int64 prev_level_xp = 3;
     */
    public long getPrevLevelXp() {
      return prevLevelXp_;
    }

    public static final int NEXT_LEVEL_XP_FIELD_NUMBER = 4;
    private long nextLevelXp_;
    /**
     * int64 next_level_xp = 4;
     */
    public long getNextLevelXp() {
      return nextLevelXp_;
    }

    public static final int KM_WALKED_FIELD_NUMBER = 5;
    private float kmWalked_;
    /**
     * float km_walked = 5;
     */
    public float getKmWalked() {
      return kmWalked_;
    }

    public static final int POKEMONS_ENCOUNTERED_FIELD_NUMBER = 6;
    private int pokemonsEncountered_;
    /**
     * int32 pokemons_encountered = 6;
     */
    public int getPokemonsEncountered() {
      return pokemonsEncountered_;
    }

    public static final int UNIQUE_POKEDEX_ENTRIES_FIELD_NUMBER = 7;
    private int uniquePokedexEntries_;
    /**
     * int32 unique_pokedex_entries = 7;
     */
    public int getUniquePokedexEntries() {
      return uniquePokedexEntries_;
    }

    public static final int POKEMONS_CAPTURED_FIELD_NUMBER = 8;
    private int pokemonsCaptured_;
    /**
     * int32 pokemons_captured = 8;
     */
    public int getPokemonsCaptured() {
      return pokemonsCaptured_;
    }

    public static final int EVOLUTIONS_FIELD_NUMBER = 9;
    private int evolutions_;
    /**
     * int32 evolutions = 9;
     */
    public int getEvolutions() {
      return evolutions_;
    }

    public static final int POKE_STOP_VISITS_FIELD_NUMBER = 10;
    private int pokeStopVisits_;
    /**
     * int32 poke_stop_visits = 10;
     */
    public int getPokeStopVisits() {
      return pokeStopVisits_;
    }

    public static final int POKEBALLS_THROWN_FIELD_NUMBER = 11;
    private int pokeballsThrown_;
    /**
     * int32 pokeballs_thrown = 11;
     */
    public int getPokeballsThrown() {
      return pokeballsThrown_;
    }

    public static final int EGGS_HATCHED_FIELD_NUMBER = 12;
    private int eggsHatched_;
    /**
     * int32 eggs_hatched = 12;
     */
    public int getEggsHatched() {
      return eggsHatched_;
    }

    public static final int BIG_MAGIKARP_CAUGHT_FIELD_NUMBER = 13;
    private int bigMagikarpCaught_;
    /**
     * int32 big_magikarp_caught = 13;
     */
    public int getBigMagikarpCaught() {
      return bigMagikarpCaught_;
    }

    public static final int BATTLE_ATTACK_WON_FIELD_NUMBER = 14;
    private int battleAttackWon_;
    /**
     * int32 battle_attack_won = 14;
     */
    public int getBattleAttackWon() {
      return battleAttackWon_;
    }

    public static final int BATTLE_ATTACK_TOTAL_FIELD_NUMBER = 15;
    private int battleAttackTotal_;
    /**
     * int32 battle_attack_total = 15;
     */
    public int getBattleAttackTotal() {
      return battleAttackTotal_;
    }

    public static final int BATTLE_DEFENDED_WON_FIELD_NUMBER = 16;
    private int battleDefendedWon_;
    /**
     * int32 battle_defended_won = 16;
     */
    public int getBattleDefendedWon() {
      return battleDefendedWon_;
    }

    public static final int BATTLE_TRAINING_WON_FIELD_NUMBER = 17;
    private int battleTrainingWon_;
    /**
     * int32 battle_training_won = 17;
     */
    public int getBattleTrainingWon() {
      return battleTrainingWon_;
    }

    public static final int BATTLE_TRAINING_TOTAL_FIELD_NUMBER = 18;
    private int battleTrainingTotal_;
    /**
     * int32 battle_training_total = 18;
     */
    public int getBattleTrainingTotal() {
      return battleTrainingTotal_;
    }

    public static final int PRESTIGE_RAISED_TOTAL_FIELD_NUMBER = 19;
    private int prestigeRaisedTotal_;
    /**
     * int32 prestige_raised_total = 19;
     */
    public int getPrestigeRaisedTotal() {
      return prestigeRaisedTotal_;
    }

    public static final int PRESTIGE_DROPPED_TOTAL_FIELD_NUMBER = 20;
    private int prestigeDroppedTotal_;
    /**
     * int32 prestige_dropped_total = 20;
     */
    public int getPrestigeDroppedTotal() {
      return prestigeDroppedTotal_;
    }

    public static final int POKEMON_DEPLOYED_FIELD_NUMBER = 21;
    private int pokemonDeployed_;
    /**
     * int32 pokemon_deployed = 21;
     */
    public int getPokemonDeployed() {
      return pokemonDeployed_;
    }

    public static final int POKEMON_CAUGHT_BY_TYPE_FIELD_NUMBER = 22;
    private java.util.List pokemonCaughtByType_;
    /**
     * repeated int32 pokemon_caught_by_type = 22;
     */
    public java.util.List
        getPokemonCaughtByTypeList() {
      return pokemonCaughtByType_;
    }
    /**
     * repeated int32 pokemon_caught_by_type = 22;
     */
    public int getPokemonCaughtByTypeCount() {
      return pokemonCaughtByType_.size();
    }
    /**
     * repeated int32 pokemon_caught_by_type = 22;
     */
    public int getPokemonCaughtByType(int index) {
      return pokemonCaughtByType_.get(index);
    }
    private int pokemonCaughtByTypeMemoizedSerializedSize = -1;

    public static final int SMALL_RATTATA_CAUGHT_FIELD_NUMBER = 23;
    private int smallRattataCaught_;
    /**
     * int32 small_rattata_caught = 23;
     */
    public int getSmallRattataCaught() {
      return smallRattataCaught_;
    }

    public static final int USED_KM_POOL_FIELD_NUMBER = 24;
    private double usedKmPool_;
    /**
     * double used_km_pool = 24;
     */
    public double getUsedKmPool() {
      return usedKmPool_;
    }

    public static final int LAST_KM_REFILL_MS_FIELD_NUMBER = 25;
    private long lastKmRefillMs_;
    /**
     * int64 last_km_refill_ms = 25;
     */
    public long getLastKmRefillMs() {
      return lastKmRefillMs_;
    }

    public static final int NUM_RAID_BATTLE_WON_FIELD_NUMBER = 26;
    private int numRaidBattleWon_;
    /**
     * int32 num_raid_battle_won = 26;
     */
    public int getNumRaidBattleWon() {
      return numRaidBattleWon_;
    }

    public static final int NUM_RAID_BATTLE_TOTAL_FIELD_NUMBER = 27;
    private int numRaidBattleTotal_;
    /**
     * int32 num_raid_battle_total = 27;
     */
    public int getNumRaidBattleTotal() {
      return numRaidBattleTotal_;
    }

    public static final int NUM_LEGENDARY_BATTLE_WON_FIELD_NUMBER = 28;
    private int numLegendaryBattleWon_;
    /**
     * int32 num_legendary_battle_won = 28;
     */
    public int getNumLegendaryBattleWon() {
      return numLegendaryBattleWon_;
    }

    public static final int NUM_LEGENDARY_BATTLE_TOTAL_FIELD_NUMBER = 29;
    private int numLegendaryBattleTotal_;
    /**
     * int32 num_legendary_battle_total = 29;
     */
    public int getNumLegendaryBattleTotal() {
      return numLegendaryBattleTotal_;
    }

    public static final int NUM_BERRIES_FED_FIELD_NUMBER = 30;
    private int numBerriesFed_;
    /**
     * int32 num_berries_fed = 30;
     */
    public int getNumBerriesFed() {
      return numBerriesFed_;
    }

    public static final int TOTAL_DEFENDED_MS_FIELD_NUMBER = 31;
    private long totalDefendedMs_;
    /**
     * int64 total_defended_ms = 31;
     */
    public long getTotalDefendedMs() {
      return totalDefendedMs_;
    }

    public static final int EVENT_BADGES_FIELD_NUMBER = 32;
    private java.util.List eventBadges_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType> eventBadges_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType>() {
              public POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType convert(java.lang.Integer from) {
                @SuppressWarnings("deprecation")
                POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType result = POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType.valueOf(from);
                return result == null ? POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType.UNRECOGNIZED : result;
              }
            };
    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    public java.util.List getEventBadgesList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType>(eventBadges_, eventBadges_converter_);
    }
    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    public int getEventBadgesCount() {
      return eventBadges_.size();
    }
    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    public POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType getEventBadges(int index) {
      return eventBadges_converter_.convert(eventBadges_.get(index));
    }
    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    public java.util.List
    getEventBadgesValueList() {
      return eventBadges_;
    }
    /**
     * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
     */
    public int getEventBadgesValue(int index) {
      return eventBadges_.get(index);
    }
    private int eventBadgesMemoizedSerializedSize;

    public static final int KM_WALKED_PAST_ACTIVE_DAY_FIELD_NUMBER = 33;
    private float kmWalkedPastActiveDay_;
    /**
     * float km_walked_past_active_day = 33;
     */
    public float getKmWalkedPastActiveDay() {
      return kmWalkedPastActiveDay_;
    }

    public static final int NUM_CHALLENGE_QUESTS_COMPLETED_FIELD_NUMBER = 34;
    private int numChallengeQuestsCompleted_;
    /**
     * int32 num_challenge_quests_completed = 34;
     */
    public int getNumChallengeQuestsCompleted() {
      return numChallengeQuestsCompleted_;
    }

    public static final int NUM_TRADES_FIELD_NUMBER = 35;
    private int numTrades_;
    /**
     * int32 num_trades = 35;
     */
    public int getNumTrades() {
      return numTrades_;
    }

    public static final int NUM_MAX_LEVEL_FRIENDS_FIELD_NUMBER = 36;
    private int numMaxLevelFriends_;
    /**
     * int32 num_max_level_friends = 36;
     */
    public int getNumMaxLevelFriends() {
      return numMaxLevelFriends_;
    }

    public static final int TRADE_ACCUMULATED_DISTANCE_KM_FIELD_NUMBER = 37;
    private long tradeAccumulatedDistanceKm_;
    /**
     * int64 trade_accumulated_distance_km = 37;
     */
    public long getTradeAccumulatedDistanceKm() {
      return tradeAccumulatedDistanceKm_;
    }

    public static final int FITNESS_REPORT_LAST_CHECK_BUCKET_FIELD_NUMBER = 38;
    private long fitnessReportLastCheckBucket_;
    /**
     * int64 fitness_report_last_check_bucket = 38;
     */
    public long getFitnessReportLastCheckBucket() {
      return fitnessReportLastCheckBucket_;
    }

    public static final int COMBAT_STATS_FIELD_NUMBER = 39;
    private POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats combatStats_;
    /**
     * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
     */
    public boolean hasCombatStats() {
      return combatStats_ != null;
    }
    /**
     * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
     */
    public POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats getCombatStats() {
      return combatStats_ == null ? POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.getDefaultInstance() : combatStats_;
    }
    /**
     * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
     */
    public POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStatsOrBuilder getCombatStatsOrBuilder() {
      return getCombatStats();
    }

    public static final int NUM_NPC_COMBATS_WON_FIELD_NUMBER = 40;
    private int numNpcCombatsWon_;
    /**
     * int32 num_npc_combats_won = 40;
     */
    public int getNumNpcCombatsWon() {
      return numNpcCombatsWon_;
    }

    public static final int NUM_NPC_COMBATS_TOTAL_FIELD_NUMBER = 41;
    private int numNpcCombatsTotal_;
    /**
     * int32 num_npc_combats_total = 41;
     */
    public int getNumNpcCombatsTotal() {
      return numNpcCombatsTotal_;
    }

    public static final int NUM_PHOTOBOMB_SEEN_FIELD_NUMBER = 42;
    private int numPhotobombSeen_;
    /**
     * int32 num_photobomb_seen = 42;
     */
    public int getNumPhotobombSeen() {
      return numPhotobombSeen_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (level_ != 0) {
        output.writeInt32(1, level_);
      }
      if (experience_ != 0L) {
        output.writeInt64(2, experience_);
      }
      if (prevLevelXp_ != 0L) {
        output.writeInt64(3, prevLevelXp_);
      }
      if (nextLevelXp_ != 0L) {
        output.writeInt64(4, nextLevelXp_);
      }
      if (kmWalked_ != 0F) {
        output.writeFloat(5, kmWalked_);
      }
      if (pokemonsEncountered_ != 0) {
        output.writeInt32(6, pokemonsEncountered_);
      }
      if (uniquePokedexEntries_ != 0) {
        output.writeInt32(7, uniquePokedexEntries_);
      }
      if (pokemonsCaptured_ != 0) {
        output.writeInt32(8, pokemonsCaptured_);
      }
      if (evolutions_ != 0) {
        output.writeInt32(9, evolutions_);
      }
      if (pokeStopVisits_ != 0) {
        output.writeInt32(10, pokeStopVisits_);
      }
      if (pokeballsThrown_ != 0) {
        output.writeInt32(11, pokeballsThrown_);
      }
      if (eggsHatched_ != 0) {
        output.writeInt32(12, eggsHatched_);
      }
      if (bigMagikarpCaught_ != 0) {
        output.writeInt32(13, bigMagikarpCaught_);
      }
      if (battleAttackWon_ != 0) {
        output.writeInt32(14, battleAttackWon_);
      }
      if (battleAttackTotal_ != 0) {
        output.writeInt32(15, battleAttackTotal_);
      }
      if (battleDefendedWon_ != 0) {
        output.writeInt32(16, battleDefendedWon_);
      }
      if (battleTrainingWon_ != 0) {
        output.writeInt32(17, battleTrainingWon_);
      }
      if (battleTrainingTotal_ != 0) {
        output.writeInt32(18, battleTrainingTotal_);
      }
      if (prestigeRaisedTotal_ != 0) {
        output.writeInt32(19, prestigeRaisedTotal_);
      }
      if (prestigeDroppedTotal_ != 0) {
        output.writeInt32(20, prestigeDroppedTotal_);
      }
      if (pokemonDeployed_ != 0) {
        output.writeInt32(21, pokemonDeployed_);
      }
      if (getPokemonCaughtByTypeList().size() > 0) {
        output.writeUInt32NoTag(178);
        output.writeUInt32NoTag(pokemonCaughtByTypeMemoizedSerializedSize);
      }
      for (int i = 0; i < pokemonCaughtByType_.size(); i++) {
        output.writeInt32NoTag(pokemonCaughtByType_.get(i));
      }
      if (smallRattataCaught_ != 0) {
        output.writeInt32(23, smallRattataCaught_);
      }
      if (usedKmPool_ != 0D) {
        output.writeDouble(24, usedKmPool_);
      }
      if (lastKmRefillMs_ != 0L) {
        output.writeInt64(25, lastKmRefillMs_);
      }
      if (numRaidBattleWon_ != 0) {
        output.writeInt32(26, numRaidBattleWon_);
      }
      if (numRaidBattleTotal_ != 0) {
        output.writeInt32(27, numRaidBattleTotal_);
      }
      if (numLegendaryBattleWon_ != 0) {
        output.writeInt32(28, numLegendaryBattleWon_);
      }
      if (numLegendaryBattleTotal_ != 0) {
        output.writeInt32(29, numLegendaryBattleTotal_);
      }
      if (numBerriesFed_ != 0) {
        output.writeInt32(30, numBerriesFed_);
      }
      if (totalDefendedMs_ != 0L) {
        output.writeInt64(31, totalDefendedMs_);
      }
      if (getEventBadgesList().size() > 0) {
        output.writeUInt32NoTag(258);
        output.writeUInt32NoTag(eventBadgesMemoizedSerializedSize);
      }
      for (int i = 0; i < eventBadges_.size(); i++) {
        output.writeEnumNoTag(eventBadges_.get(i));
      }
      if (kmWalkedPastActiveDay_ != 0F) {
        output.writeFloat(33, kmWalkedPastActiveDay_);
      }
      if (numChallengeQuestsCompleted_ != 0) {
        output.writeInt32(34, numChallengeQuestsCompleted_);
      }
      if (numTrades_ != 0) {
        output.writeInt32(35, numTrades_);
      }
      if (numMaxLevelFriends_ != 0) {
        output.writeInt32(36, numMaxLevelFriends_);
      }
      if (tradeAccumulatedDistanceKm_ != 0L) {
        output.writeInt64(37, tradeAccumulatedDistanceKm_);
      }
      if (fitnessReportLastCheckBucket_ != 0L) {
        output.writeInt64(38, fitnessReportLastCheckBucket_);
      }
      if (combatStats_ != null) {
        output.writeMessage(39, getCombatStats());
      }
      if (numNpcCombatsWon_ != 0) {
        output.writeInt32(40, numNpcCombatsWon_);
      }
      if (numNpcCombatsTotal_ != 0) {
        output.writeInt32(41, numNpcCombatsTotal_);
      }
      if (numPhotobombSeen_ != 0) {
        output.writeInt32(42, numPhotobombSeen_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (level_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, level_);
      }
      if (experience_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, experience_);
      }
      if (prevLevelXp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, prevLevelXp_);
      }
      if (nextLevelXp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, nextLevelXp_);
      }
      if (kmWalked_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, kmWalked_);
      }
      if (pokemonsEncountered_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, pokemonsEncountered_);
      }
      if (uniquePokedexEntries_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, uniquePokedexEntries_);
      }
      if (pokemonsCaptured_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, pokemonsCaptured_);
      }
      if (evolutions_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, evolutions_);
      }
      if (pokeStopVisits_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(10, pokeStopVisits_);
      }
      if (pokeballsThrown_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(11, pokeballsThrown_);
      }
      if (eggsHatched_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(12, eggsHatched_);
      }
      if (bigMagikarpCaught_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(13, bigMagikarpCaught_);
      }
      if (battleAttackWon_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(14, battleAttackWon_);
      }
      if (battleAttackTotal_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(15, battleAttackTotal_);
      }
      if (battleDefendedWon_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(16, battleDefendedWon_);
      }
      if (battleTrainingWon_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(17, battleTrainingWon_);
      }
      if (battleTrainingTotal_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(18, battleTrainingTotal_);
      }
      if (prestigeRaisedTotal_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(19, prestigeRaisedTotal_);
      }
      if (prestigeDroppedTotal_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(20, prestigeDroppedTotal_);
      }
      if (pokemonDeployed_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(21, pokemonDeployed_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < pokemonCaughtByType_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(pokemonCaughtByType_.get(i));
        }
        size += dataSize;
        if (!getPokemonCaughtByTypeList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        pokemonCaughtByTypeMemoizedSerializedSize = dataSize;
      }
      if (smallRattataCaught_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(23, smallRattataCaught_);
      }
      if (usedKmPool_ != 0D) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(24, usedKmPool_);
      }
      if (lastKmRefillMs_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(25, lastKmRefillMs_);
      }
      if (numRaidBattleWon_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(26, numRaidBattleWon_);
      }
      if (numRaidBattleTotal_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(27, numRaidBattleTotal_);
      }
      if (numLegendaryBattleWon_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(28, numLegendaryBattleWon_);
      }
      if (numLegendaryBattleTotal_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(29, numLegendaryBattleTotal_);
      }
      if (numBerriesFed_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(30, numBerriesFed_);
      }
      if (totalDefendedMs_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(31, totalDefendedMs_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < eventBadges_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(eventBadges_.get(i));
        }
        size += dataSize;
        if (!getEventBadgesList().isEmpty()) {  size += 2;
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(dataSize);
        }eventBadgesMemoizedSerializedSize = dataSize;
      }
      if (kmWalkedPastActiveDay_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(33, kmWalkedPastActiveDay_);
      }
      if (numChallengeQuestsCompleted_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(34, numChallengeQuestsCompleted_);
      }
      if (numTrades_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(35, numTrades_);
      }
      if (numMaxLevelFriends_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(36, numMaxLevelFriends_);
      }
      if (tradeAccumulatedDistanceKm_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(37, tradeAccumulatedDistanceKm_);
      }
      if (fitnessReportLastCheckBucket_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(38, fitnessReportLastCheckBucket_);
      }
      if (combatStats_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(39, getCombatStats());
      }
      if (numNpcCombatsWon_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(40, numNpcCombatsWon_);
      }
      if (numNpcCombatsTotal_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(41, numNpcCombatsTotal_);
      }
      if (numPhotobombSeen_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(42, numPhotobombSeen_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats)) {
        return super.equals(obj);
      }
      POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats other = (POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats) obj;

      boolean result = true;
      result = result && (getLevel()
          == other.getLevel());
      result = result && (getExperience()
          == other.getExperience());
      result = result && (getPrevLevelXp()
          == other.getPrevLevelXp());
      result = result && (getNextLevelXp()
          == other.getNextLevelXp());
      result = result && (
          java.lang.Float.floatToIntBits(getKmWalked())
          == java.lang.Float.floatToIntBits(
              other.getKmWalked()));
      result = result && (getPokemonsEncountered()
          == other.getPokemonsEncountered());
      result = result && (getUniquePokedexEntries()
          == other.getUniquePokedexEntries());
      result = result && (getPokemonsCaptured()
          == other.getPokemonsCaptured());
      result = result && (getEvolutions()
          == other.getEvolutions());
      result = result && (getPokeStopVisits()
          == other.getPokeStopVisits());
      result = result && (getPokeballsThrown()
          == other.getPokeballsThrown());
      result = result && (getEggsHatched()
          == other.getEggsHatched());
      result = result && (getBigMagikarpCaught()
          == other.getBigMagikarpCaught());
      result = result && (getBattleAttackWon()
          == other.getBattleAttackWon());
      result = result && (getBattleAttackTotal()
          == other.getBattleAttackTotal());
      result = result && (getBattleDefendedWon()
          == other.getBattleDefendedWon());
      result = result && (getBattleTrainingWon()
          == other.getBattleTrainingWon());
      result = result && (getBattleTrainingTotal()
          == other.getBattleTrainingTotal());
      result = result && (getPrestigeRaisedTotal()
          == other.getPrestigeRaisedTotal());
      result = result && (getPrestigeDroppedTotal()
          == other.getPrestigeDroppedTotal());
      result = result && (getPokemonDeployed()
          == other.getPokemonDeployed());
      result = result && getPokemonCaughtByTypeList()
          .equals(other.getPokemonCaughtByTypeList());
      result = result && (getSmallRattataCaught()
          == other.getSmallRattataCaught());
      result = result && (
          java.lang.Double.doubleToLongBits(getUsedKmPool())
          == java.lang.Double.doubleToLongBits(
              other.getUsedKmPool()));
      result = result && (getLastKmRefillMs()
          == other.getLastKmRefillMs());
      result = result && (getNumRaidBattleWon()
          == other.getNumRaidBattleWon());
      result = result && (getNumRaidBattleTotal()
          == other.getNumRaidBattleTotal());
      result = result && (getNumLegendaryBattleWon()
          == other.getNumLegendaryBattleWon());
      result = result && (getNumLegendaryBattleTotal()
          == other.getNumLegendaryBattleTotal());
      result = result && (getNumBerriesFed()
          == other.getNumBerriesFed());
      result = result && (getTotalDefendedMs()
          == other.getTotalDefendedMs());
      result = result && eventBadges_.equals(other.eventBadges_);
      result = result && (
          java.lang.Float.floatToIntBits(getKmWalkedPastActiveDay())
          == java.lang.Float.floatToIntBits(
              other.getKmWalkedPastActiveDay()));
      result = result && (getNumChallengeQuestsCompleted()
          == other.getNumChallengeQuestsCompleted());
      result = result && (getNumTrades()
          == other.getNumTrades());
      result = result && (getNumMaxLevelFriends()
          == other.getNumMaxLevelFriends());
      result = result && (getTradeAccumulatedDistanceKm()
          == other.getTradeAccumulatedDistanceKm());
      result = result && (getFitnessReportLastCheckBucket()
          == other.getFitnessReportLastCheckBucket());
      result = result && (hasCombatStats() == other.hasCombatStats());
      if (hasCombatStats()) {
        result = result && getCombatStats()
            .equals(other.getCombatStats());
      }
      result = result && (getNumNpcCombatsWon()
          == other.getNumNpcCombatsWon());
      result = result && (getNumNpcCombatsTotal()
          == other.getNumNpcCombatsTotal());
      result = result && (getNumPhotobombSeen()
          == other.getNumPhotobombSeen());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + LEVEL_FIELD_NUMBER;
      hash = (53 * hash) + getLevel();
      hash = (37 * hash) + EXPERIENCE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getExperience());
      hash = (37 * hash) + PREV_LEVEL_XP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPrevLevelXp());
      hash = (37 * hash) + NEXT_LEVEL_XP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getNextLevelXp());
      hash = (37 * hash) + KM_WALKED_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getKmWalked());
      hash = (37 * hash) + POKEMONS_ENCOUNTERED_FIELD_NUMBER;
      hash = (53 * hash) + getPokemonsEncountered();
      hash = (37 * hash) + UNIQUE_POKEDEX_ENTRIES_FIELD_NUMBER;
      hash = (53 * hash) + getUniquePokedexEntries();
      hash = (37 * hash) + POKEMONS_CAPTURED_FIELD_NUMBER;
      hash = (53 * hash) + getPokemonsCaptured();
      hash = (37 * hash) + EVOLUTIONS_FIELD_NUMBER;
      hash = (53 * hash) + getEvolutions();
      hash = (37 * hash) + POKE_STOP_VISITS_FIELD_NUMBER;
      hash = (53 * hash) + getPokeStopVisits();
      hash = (37 * hash) + POKEBALLS_THROWN_FIELD_NUMBER;
      hash = (53 * hash) + getPokeballsThrown();
      hash = (37 * hash) + EGGS_HATCHED_FIELD_NUMBER;
      hash = (53 * hash) + getEggsHatched();
      hash = (37 * hash) + BIG_MAGIKARP_CAUGHT_FIELD_NUMBER;
      hash = (53 * hash) + getBigMagikarpCaught();
      hash = (37 * hash) + BATTLE_ATTACK_WON_FIELD_NUMBER;
      hash = (53 * hash) + getBattleAttackWon();
      hash = (37 * hash) + BATTLE_ATTACK_TOTAL_FIELD_NUMBER;
      hash = (53 * hash) + getBattleAttackTotal();
      hash = (37 * hash) + BATTLE_DEFENDED_WON_FIELD_NUMBER;
      hash = (53 * hash) + getBattleDefendedWon();
      hash = (37 * hash) + BATTLE_TRAINING_WON_FIELD_NUMBER;
      hash = (53 * hash) + getBattleTrainingWon();
      hash = (37 * hash) + BATTLE_TRAINING_TOTAL_FIELD_NUMBER;
      hash = (53 * hash) + getBattleTrainingTotal();
      hash = (37 * hash) + PRESTIGE_RAISED_TOTAL_FIELD_NUMBER;
      hash = (53 * hash) + getPrestigeRaisedTotal();
      hash = (37 * hash) + PRESTIGE_DROPPED_TOTAL_FIELD_NUMBER;
      hash = (53 * hash) + getPrestigeDroppedTotal();
      hash = (37 * hash) + POKEMON_DEPLOYED_FIELD_NUMBER;
      hash = (53 * hash) + getPokemonDeployed();
      if (getPokemonCaughtByTypeCount() > 0) {
        hash = (37 * hash) + POKEMON_CAUGHT_BY_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getPokemonCaughtByTypeList().hashCode();
      }
      hash = (37 * hash) + SMALL_RATTATA_CAUGHT_FIELD_NUMBER;
      hash = (53 * hash) + getSmallRattataCaught();
      hash = (37 * hash) + USED_KM_POOL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          java.lang.Double.doubleToLongBits(getUsedKmPool()));
      hash = (37 * hash) + LAST_KM_REFILL_MS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getLastKmRefillMs());
      hash = (37 * hash) + NUM_RAID_BATTLE_WON_FIELD_NUMBER;
      hash = (53 * hash) + getNumRaidBattleWon();
      hash = (37 * hash) + NUM_RAID_BATTLE_TOTAL_FIELD_NUMBER;
      hash = (53 * hash) + getNumRaidBattleTotal();
      hash = (37 * hash) + NUM_LEGENDARY_BATTLE_WON_FIELD_NUMBER;
      hash = (53 * hash) + getNumLegendaryBattleWon();
      hash = (37 * hash) + NUM_LEGENDARY_BATTLE_TOTAL_FIELD_NUMBER;
      hash = (53 * hash) + getNumLegendaryBattleTotal();
      hash = (37 * hash) + NUM_BERRIES_FED_FIELD_NUMBER;
      hash = (53 * hash) + getNumBerriesFed();
      hash = (37 * hash) + TOTAL_DEFENDED_MS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getTotalDefendedMs());
      if (getEventBadgesCount() > 0) {
        hash = (37 * hash) + EVENT_BADGES_FIELD_NUMBER;
        hash = (53 * hash) + eventBadges_.hashCode();
      }
      hash = (37 * hash) + KM_WALKED_PAST_ACTIVE_DAY_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getKmWalkedPastActiveDay());
      hash = (37 * hash) + NUM_CHALLENGE_QUESTS_COMPLETED_FIELD_NUMBER;
      hash = (53 * hash) + getNumChallengeQuestsCompleted();
      hash = (37 * hash) + NUM_TRADES_FIELD_NUMBER;
      hash = (53 * hash) + getNumTrades();
      hash = (37 * hash) + NUM_MAX_LEVEL_FRIENDS_FIELD_NUMBER;
      hash = (53 * hash) + getNumMaxLevelFriends();
      hash = (37 * hash) + TRADE_ACCUMULATED_DISTANCE_KM_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getTradeAccumulatedDistanceKm());
      hash = (37 * hash) + FITNESS_REPORT_LAST_CHECK_BUCKET_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getFitnessReportLastCheckBucket());
      if (hasCombatStats()) {
        hash = (37 * hash) + COMBAT_STATS_FIELD_NUMBER;
        hash = (53 * hash) + getCombatStats().hashCode();
      }
      hash = (37 * hash) + NUM_NPC_COMBATS_WON_FIELD_NUMBER;
      hash = (53 * hash) + getNumNpcCombatsWon();
      hash = (37 * hash) + NUM_NPC_COMBATS_TOTAL_FIELD_NUMBER;
      hash = (53 * hash) + getNumNpcCombatsTotal();
      hash = (37 * hash) + NUM_PHOTOBOMB_SEEN_FIELD_NUMBER;
      hash = (53 * hash) + getNumPhotobombSeen();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code POGOProtos.Data.Player.PlayerStats}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:POGOProtos.Data.Player.PlayerStats)
        POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStatsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return POGOProtos.Data.Player.PlayerStatsOuterClass.internal_static_POGOProtos_Data_Player_PlayerStats_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Data.Player.PlayerStatsOuterClass.internal_static_POGOProtos_Data_Player_PlayerStats_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats.class, POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats.Builder.class);
      }

      // Construct using POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        level_ = 0;

        experience_ = 0L;

        prevLevelXp_ = 0L;

        nextLevelXp_ = 0L;

        kmWalked_ = 0F;

        pokemonsEncountered_ = 0;

        uniquePokedexEntries_ = 0;

        pokemonsCaptured_ = 0;

        evolutions_ = 0;

        pokeStopVisits_ = 0;

        pokeballsThrown_ = 0;

        eggsHatched_ = 0;

        bigMagikarpCaught_ = 0;

        battleAttackWon_ = 0;

        battleAttackTotal_ = 0;

        battleDefendedWon_ = 0;

        battleTrainingWon_ = 0;

        battleTrainingTotal_ = 0;

        prestigeRaisedTotal_ = 0;

        prestigeDroppedTotal_ = 0;

        pokemonDeployed_ = 0;

        pokemonCaughtByType_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00200000);
        smallRattataCaught_ = 0;

        usedKmPool_ = 0D;

        lastKmRefillMs_ = 0L;

        numRaidBattleWon_ = 0;

        numRaidBattleTotal_ = 0;

        numLegendaryBattleWon_ = 0;

        numLegendaryBattleTotal_ = 0;

        numBerriesFed_ = 0;

        totalDefendedMs_ = 0L;

        eventBadges_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x80000000);
        kmWalkedPastActiveDay_ = 0F;

        numChallengeQuestsCompleted_ = 0;

        numTrades_ = 0;

        numMaxLevelFriends_ = 0;

        tradeAccumulatedDistanceKm_ = 0L;

        fitnessReportLastCheckBucket_ = 0L;

        if (combatStatsBuilder_ == null) {
          combatStats_ = null;
        } else {
          combatStats_ = null;
          combatStatsBuilder_ = null;
        }
        numNpcCombatsWon_ = 0;

        numNpcCombatsTotal_ = 0;

        numPhotobombSeen_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return POGOProtos.Data.Player.PlayerStatsOuterClass.internal_static_POGOProtos_Data_Player_PlayerStats_descriptor;
      }

      @java.lang.Override
      public POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats getDefaultInstanceForType() {
        return POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats.getDefaultInstance();
      }

      @java.lang.Override
      public POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats build() {
        POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats buildPartial() {
        POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats result = new POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats(this);
        int from_bitField0_ = bitField0_;
        int from_bitField1_ = bitField1_;
        int to_bitField0_ = 0;
        int to_bitField1_ = 0;
        result.level_ = level_;
        result.experience_ = experience_;
        result.prevLevelXp_ = prevLevelXp_;
        result.nextLevelXp_ = nextLevelXp_;
        result.kmWalked_ = kmWalked_;
        result.pokemonsEncountered_ = pokemonsEncountered_;
        result.uniquePokedexEntries_ = uniquePokedexEntries_;
        result.pokemonsCaptured_ = pokemonsCaptured_;
        result.evolutions_ = evolutions_;
        result.pokeStopVisits_ = pokeStopVisits_;
        result.pokeballsThrown_ = pokeballsThrown_;
        result.eggsHatched_ = eggsHatched_;
        result.bigMagikarpCaught_ = bigMagikarpCaught_;
        result.battleAttackWon_ = battleAttackWon_;
        result.battleAttackTotal_ = battleAttackTotal_;
        result.battleDefendedWon_ = battleDefendedWon_;
        result.battleTrainingWon_ = battleTrainingWon_;
        result.battleTrainingTotal_ = battleTrainingTotal_;
        result.prestigeRaisedTotal_ = prestigeRaisedTotal_;
        result.prestigeDroppedTotal_ = prestigeDroppedTotal_;
        result.pokemonDeployed_ = pokemonDeployed_;
        if (((bitField0_ & 0x00200000) == 0x00200000)) {
          pokemonCaughtByType_ = java.util.Collections.unmodifiableList(pokemonCaughtByType_);
          bitField0_ = (bitField0_ & ~0x00200000);
        }
        result.pokemonCaughtByType_ = pokemonCaughtByType_;
        result.smallRattataCaught_ = smallRattataCaught_;
        result.usedKmPool_ = usedKmPool_;
        result.lastKmRefillMs_ = lastKmRefillMs_;
        result.numRaidBattleWon_ = numRaidBattleWon_;
        result.numRaidBattleTotal_ = numRaidBattleTotal_;
        result.numLegendaryBattleWon_ = numLegendaryBattleWon_;
        result.numLegendaryBattleTotal_ = numLegendaryBattleTotal_;
        result.numBerriesFed_ = numBerriesFed_;
        result.totalDefendedMs_ = totalDefendedMs_;
        if (((bitField0_ & 0x80000000) == 0x80000000)) {
          eventBadges_ = java.util.Collections.unmodifiableList(eventBadges_);
          bitField0_ = (bitField0_ & ~0x80000000);
        }
        result.eventBadges_ = eventBadges_;
        result.kmWalkedPastActiveDay_ = kmWalkedPastActiveDay_;
        result.numChallengeQuestsCompleted_ = numChallengeQuestsCompleted_;
        result.numTrades_ = numTrades_;
        result.numMaxLevelFriends_ = numMaxLevelFriends_;
        result.tradeAccumulatedDistanceKm_ = tradeAccumulatedDistanceKm_;
        result.fitnessReportLastCheckBucket_ = fitnessReportLastCheckBucket_;
        if (combatStatsBuilder_ == null) {
          result.combatStats_ = combatStats_;
        } else {
          result.combatStats_ = combatStatsBuilder_.build();
        }
        result.numNpcCombatsWon_ = numNpcCombatsWon_;
        result.numNpcCombatsTotal_ = numNpcCombatsTotal_;
        result.numPhotobombSeen_ = numPhotobombSeen_;
        result.bitField0_ = to_bitField0_;
        result.bitField1_ = to_bitField1_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return (Builder) super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats) {
          return mergeFrom((POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats other) {
        if (other == POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats.getDefaultInstance()) return this;
        if (other.getLevel() != 0) {
          setLevel(other.getLevel());
        }
        if (other.getExperience() != 0L) {
          setExperience(other.getExperience());
        }
        if (other.getPrevLevelXp() != 0L) {
          setPrevLevelXp(other.getPrevLevelXp());
        }
        if (other.getNextLevelXp() != 0L) {
          setNextLevelXp(other.getNextLevelXp());
        }
        if (other.getKmWalked() != 0F) {
          setKmWalked(other.getKmWalked());
        }
        if (other.getPokemonsEncountered() != 0) {
          setPokemonsEncountered(other.getPokemonsEncountered());
        }
        if (other.getUniquePokedexEntries() != 0) {
          setUniquePokedexEntries(other.getUniquePokedexEntries());
        }
        if (other.getPokemonsCaptured() != 0) {
          setPokemonsCaptured(other.getPokemonsCaptured());
        }
        if (other.getEvolutions() != 0) {
          setEvolutions(other.getEvolutions());
        }
        if (other.getPokeStopVisits() != 0) {
          setPokeStopVisits(other.getPokeStopVisits());
        }
        if (other.getPokeballsThrown() != 0) {
          setPokeballsThrown(other.getPokeballsThrown());
        }
        if (other.getEggsHatched() != 0) {
          setEggsHatched(other.getEggsHatched());
        }
        if (other.getBigMagikarpCaught() != 0) {
          setBigMagikarpCaught(other.getBigMagikarpCaught());
        }
        if (other.getBattleAttackWon() != 0) {
          setBattleAttackWon(other.getBattleAttackWon());
        }
        if (other.getBattleAttackTotal() != 0) {
          setBattleAttackTotal(other.getBattleAttackTotal());
        }
        if (other.getBattleDefendedWon() != 0) {
          setBattleDefendedWon(other.getBattleDefendedWon());
        }
        if (other.getBattleTrainingWon() != 0) {
          setBattleTrainingWon(other.getBattleTrainingWon());
        }
        if (other.getBattleTrainingTotal() != 0) {
          setBattleTrainingTotal(other.getBattleTrainingTotal());
        }
        if (other.getPrestigeRaisedTotal() != 0) {
          setPrestigeRaisedTotal(other.getPrestigeRaisedTotal());
        }
        if (other.getPrestigeDroppedTotal() != 0) {
          setPrestigeDroppedTotal(other.getPrestigeDroppedTotal());
        }
        if (other.getPokemonDeployed() != 0) {
          setPokemonDeployed(other.getPokemonDeployed());
        }
        if (!other.pokemonCaughtByType_.isEmpty()) {
          if (pokemonCaughtByType_.isEmpty()) {
            pokemonCaughtByType_ = other.pokemonCaughtByType_;
            bitField0_ = (bitField0_ & ~0x00200000);
          } else {
            ensurePokemonCaughtByTypeIsMutable();
            pokemonCaughtByType_.addAll(other.pokemonCaughtByType_);
          }
          onChanged();
        }
        if (other.getSmallRattataCaught() != 0) {
          setSmallRattataCaught(other.getSmallRattataCaught());
        }
        if (other.getUsedKmPool() != 0D) {
          setUsedKmPool(other.getUsedKmPool());
        }
        if (other.getLastKmRefillMs() != 0L) {
          setLastKmRefillMs(other.getLastKmRefillMs());
        }
        if (other.getNumRaidBattleWon() != 0) {
          setNumRaidBattleWon(other.getNumRaidBattleWon());
        }
        if (other.getNumRaidBattleTotal() != 0) {
          setNumRaidBattleTotal(other.getNumRaidBattleTotal());
        }
        if (other.getNumLegendaryBattleWon() != 0) {
          setNumLegendaryBattleWon(other.getNumLegendaryBattleWon());
        }
        if (other.getNumLegendaryBattleTotal() != 0) {
          setNumLegendaryBattleTotal(other.getNumLegendaryBattleTotal());
        }
        if (other.getNumBerriesFed() != 0) {
          setNumBerriesFed(other.getNumBerriesFed());
        }
        if (other.getTotalDefendedMs() != 0L) {
          setTotalDefendedMs(other.getTotalDefendedMs());
        }
        if (!other.eventBadges_.isEmpty()) {
          if (eventBadges_.isEmpty()) {
            eventBadges_ = other.eventBadges_;
            bitField0_ = (bitField0_ & ~0x80000000);
          } else {
            ensureEventBadgesIsMutable();
            eventBadges_.addAll(other.eventBadges_);
          }
          onChanged();
        }
        if (other.getKmWalkedPastActiveDay() != 0F) {
          setKmWalkedPastActiveDay(other.getKmWalkedPastActiveDay());
        }
        if (other.getNumChallengeQuestsCompleted() != 0) {
          setNumChallengeQuestsCompleted(other.getNumChallengeQuestsCompleted());
        }
        if (other.getNumTrades() != 0) {
          setNumTrades(other.getNumTrades());
        }
        if (other.getNumMaxLevelFriends() != 0) {
          setNumMaxLevelFriends(other.getNumMaxLevelFriends());
        }
        if (other.getTradeAccumulatedDistanceKm() != 0L) {
          setTradeAccumulatedDistanceKm(other.getTradeAccumulatedDistanceKm());
        }
        if (other.getFitnessReportLastCheckBucket() != 0L) {
          setFitnessReportLastCheckBucket(other.getFitnessReportLastCheckBucket());
        }
        if (other.hasCombatStats()) {
          mergeCombatStats(other.getCombatStats());
        }
        if (other.getNumNpcCombatsWon() != 0) {
          setNumNpcCombatsWon(other.getNumNpcCombatsWon());
        }
        if (other.getNumNpcCombatsTotal() != 0) {
          setNumNpcCombatsTotal(other.getNumNpcCombatsTotal());
        }
        if (other.getNumPhotobombSeen() != 0) {
          setNumPhotobombSeen(other.getNumPhotobombSeen());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private int bitField1_;

      private int level_ ;
      /**
       * int32 level = 1;
       */
      public int getLevel() {
        return level_;
      }
      /**
       * int32 level = 1;
       */
      public Builder setLevel(int value) {
        
        level_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 level = 1;
       */
      public Builder clearLevel() {
        
        level_ = 0;
        onChanged();
        return this;
      }

      private long experience_ ;
      /**
       * int64 experience = 2;
       */
      public long getExperience() {
        return experience_;
      }
      /**
       * int64 experience = 2;
       */
      public Builder setExperience(long value) {
        
        experience_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 experience = 2;
       */
      public Builder clearExperience() {
        
        experience_ = 0L;
        onChanged();
        return this;
      }

      private long prevLevelXp_ ;
      /**
       * int64 prev_level_xp = 3;
       */
      public long getPrevLevelXp() {
        return prevLevelXp_;
      }
      /**
       * int64 prev_level_xp = 3;
       */
      public Builder setPrevLevelXp(long value) {
        
        prevLevelXp_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 prev_level_xp = 3;
       */
      public Builder clearPrevLevelXp() {
        
        prevLevelXp_ = 0L;
        onChanged();
        return this;
      }

      private long nextLevelXp_ ;
      /**
       * int64 next_level_xp = 4;
       */
      public long getNextLevelXp() {
        return nextLevelXp_;
      }
      /**
       * int64 next_level_xp = 4;
       */
      public Builder setNextLevelXp(long value) {
        
        nextLevelXp_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 next_level_xp = 4;
       */
      public Builder clearNextLevelXp() {
        
        nextLevelXp_ = 0L;
        onChanged();
        return this;
      }

      private float kmWalked_ ;
      /**
       * float km_walked = 5;
       */
      public float getKmWalked() {
        return kmWalked_;
      }
      /**
       * float km_walked = 5;
       */
      public Builder setKmWalked(float value) {
        
        kmWalked_ = value;
        onChanged();
        return this;
      }
      /**
       * float km_walked = 5;
       */
      public Builder clearKmWalked() {
        
        kmWalked_ = 0F;
        onChanged();
        return this;
      }

      private int pokemonsEncountered_ ;
      /**
       * int32 pokemons_encountered = 6;
       */
      public int getPokemonsEncountered() {
        return pokemonsEncountered_;
      }
      /**
       * int32 pokemons_encountered = 6;
       */
      public Builder setPokemonsEncountered(int value) {
        
        pokemonsEncountered_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 pokemons_encountered = 6;
       */
      public Builder clearPokemonsEncountered() {
        
        pokemonsEncountered_ = 0;
        onChanged();
        return this;
      }

      private int uniquePokedexEntries_ ;
      /**
       * int32 unique_pokedex_entries = 7;
       */
      public int getUniquePokedexEntries() {
        return uniquePokedexEntries_;
      }
      /**
       * int32 unique_pokedex_entries = 7;
       */
      public Builder setUniquePokedexEntries(int value) {
        
        uniquePokedexEntries_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 unique_pokedex_entries = 7;
       */
      public Builder clearUniquePokedexEntries() {
        
        uniquePokedexEntries_ = 0;
        onChanged();
        return this;
      }

      private int pokemonsCaptured_ ;
      /**
       * int32 pokemons_captured = 8;
       */
      public int getPokemonsCaptured() {
        return pokemonsCaptured_;
      }
      /**
       * int32 pokemons_captured = 8;
       */
      public Builder setPokemonsCaptured(int value) {
        
        pokemonsCaptured_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 pokemons_captured = 8;
       */
      public Builder clearPokemonsCaptured() {
        
        pokemonsCaptured_ = 0;
        onChanged();
        return this;
      }

      private int evolutions_ ;
      /**
       * int32 evolutions = 9;
       */
      public int getEvolutions() {
        return evolutions_;
      }
      /**
       * int32 evolutions = 9;
       */
      public Builder setEvolutions(int value) {
        
        evolutions_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 evolutions = 9;
       */
      public Builder clearEvolutions() {
        
        evolutions_ = 0;
        onChanged();
        return this;
      }

      private int pokeStopVisits_ ;
      /**
       * int32 poke_stop_visits = 10;
       */
      public int getPokeStopVisits() {
        return pokeStopVisits_;
      }
      /**
       * int32 poke_stop_visits = 10;
       */
      public Builder setPokeStopVisits(int value) {
        
        pokeStopVisits_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 poke_stop_visits = 10;
       */
      public Builder clearPokeStopVisits() {
        
        pokeStopVisits_ = 0;
        onChanged();
        return this;
      }

      private int pokeballsThrown_ ;
      /**
       * int32 pokeballs_thrown = 11;
       */
      public int getPokeballsThrown() {
        return pokeballsThrown_;
      }
      /**
       * int32 pokeballs_thrown = 11;
       */
      public Builder setPokeballsThrown(int value) {
        
        pokeballsThrown_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 pokeballs_thrown = 11;
       */
      public Builder clearPokeballsThrown() {
        
        pokeballsThrown_ = 0;
        onChanged();
        return this;
      }

      private int eggsHatched_ ;
      /**
       * int32 eggs_hatched = 12;
       */
      public int getEggsHatched() {
        return eggsHatched_;
      }
      /**
       * int32 eggs_hatched = 12;
       */
      public Builder setEggsHatched(int value) {
        
        eggsHatched_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 eggs_hatched = 12;
       */
      public Builder clearEggsHatched() {
        
        eggsHatched_ = 0;
        onChanged();
        return this;
      }

      private int bigMagikarpCaught_ ;
      /**
       * int32 big_magikarp_caught = 13;
       */
      public int getBigMagikarpCaught() {
        return bigMagikarpCaught_;
      }
      /**
       * int32 big_magikarp_caught = 13;
       */
      public Builder setBigMagikarpCaught(int value) {
        
        bigMagikarpCaught_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 big_magikarp_caught = 13;
       */
      public Builder clearBigMagikarpCaught() {
        
        bigMagikarpCaught_ = 0;
        onChanged();
        return this;
      }

      private int battleAttackWon_ ;
      /**
       * int32 battle_attack_won = 14;
       */
      public int getBattleAttackWon() {
        return battleAttackWon_;
      }
      /**
       * int32 battle_attack_won = 14;
       */
      public Builder setBattleAttackWon(int value) {
        
        battleAttackWon_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 battle_attack_won = 14;
       */
      public Builder clearBattleAttackWon() {
        
        battleAttackWon_ = 0;
        onChanged();
        return this;
      }

      private int battleAttackTotal_ ;
      /**
       * int32 battle_attack_total = 15;
       */
      public int getBattleAttackTotal() {
        return battleAttackTotal_;
      }
      /**
       * int32 battle_attack_total = 15;
       */
      public Builder setBattleAttackTotal(int value) {
        
        battleAttackTotal_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 battle_attack_total = 15;
       */
      public Builder clearBattleAttackTotal() {
        
        battleAttackTotal_ = 0;
        onChanged();
        return this;
      }

      private int battleDefendedWon_ ;
      /**
       * int32 battle_defended_won = 16;
       */
      public int getBattleDefendedWon() {
        return battleDefendedWon_;
      }
      /**
       * int32 battle_defended_won = 16;
       */
      public Builder setBattleDefendedWon(int value) {
        
        battleDefendedWon_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 battle_defended_won = 16;
       */
      public Builder clearBattleDefendedWon() {
        
        battleDefendedWon_ = 0;
        onChanged();
        return this;
      }

      private int battleTrainingWon_ ;
      /**
       * int32 battle_training_won = 17;
       */
      public int getBattleTrainingWon() {
        return battleTrainingWon_;
      }
      /**
       * int32 battle_training_won = 17;
       */
      public Builder setBattleTrainingWon(int value) {
        
        battleTrainingWon_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 battle_training_won = 17;
       */
      public Builder clearBattleTrainingWon() {
        
        battleTrainingWon_ = 0;
        onChanged();
        return this;
      }

      private int battleTrainingTotal_ ;
      /**
       * int32 battle_training_total = 18;
       */
      public int getBattleTrainingTotal() {
        return battleTrainingTotal_;
      }
      /**
       * int32 battle_training_total = 18;
       */
      public Builder setBattleTrainingTotal(int value) {
        
        battleTrainingTotal_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 battle_training_total = 18;
       */
      public Builder clearBattleTrainingTotal() {
        
        battleTrainingTotal_ = 0;
        onChanged();
        return this;
      }

      private int prestigeRaisedTotal_ ;
      /**
       * int32 prestige_raised_total = 19;
       */
      public int getPrestigeRaisedTotal() {
        return prestigeRaisedTotal_;
      }
      /**
       * int32 prestige_raised_total = 19;
       */
      public Builder setPrestigeRaisedTotal(int value) {
        
        prestigeRaisedTotal_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 prestige_raised_total = 19;
       */
      public Builder clearPrestigeRaisedTotal() {
        
        prestigeRaisedTotal_ = 0;
        onChanged();
        return this;
      }

      private int prestigeDroppedTotal_ ;
      /**
       * int32 prestige_dropped_total = 20;
       */
      public int getPrestigeDroppedTotal() {
        return prestigeDroppedTotal_;
      }
      /**
       * int32 prestige_dropped_total = 20;
       */
      public Builder setPrestigeDroppedTotal(int value) {
        
        prestigeDroppedTotal_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 prestige_dropped_total = 20;
       */
      public Builder clearPrestigeDroppedTotal() {
        
        prestigeDroppedTotal_ = 0;
        onChanged();
        return this;
      }

      private int pokemonDeployed_ ;
      /**
       * int32 pokemon_deployed = 21;
       */
      public int getPokemonDeployed() {
        return pokemonDeployed_;
      }
      /**
       * int32 pokemon_deployed = 21;
       */
      public Builder setPokemonDeployed(int value) {
        
        pokemonDeployed_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 pokemon_deployed = 21;
       */
      public Builder clearPokemonDeployed() {
        
        pokemonDeployed_ = 0;
        onChanged();
        return this;
      }

      private java.util.List pokemonCaughtByType_ = java.util.Collections.emptyList();
      private void ensurePokemonCaughtByTypeIsMutable() {
        if (!((bitField0_ & 0x00200000) == 0x00200000)) {
          pokemonCaughtByType_ = new java.util.ArrayList(pokemonCaughtByType_);
          bitField0_ |= 0x00200000;
         }
      }
      /**
       * repeated int32 pokemon_caught_by_type = 22;
       */
      public java.util.List
          getPokemonCaughtByTypeList() {
        return java.util.Collections.unmodifiableList(pokemonCaughtByType_);
      }
      /**
       * repeated int32 pokemon_caught_by_type = 22;
       */
      public int getPokemonCaughtByTypeCount() {
        return pokemonCaughtByType_.size();
      }
      /**
       * repeated int32 pokemon_caught_by_type = 22;
       */
      public int getPokemonCaughtByType(int index) {
        return pokemonCaughtByType_.get(index);
      }
      /**
       * repeated int32 pokemon_caught_by_type = 22;
       */
      public Builder setPokemonCaughtByType(
          int index, int value) {
        ensurePokemonCaughtByTypeIsMutable();
        pokemonCaughtByType_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 pokemon_caught_by_type = 22;
       */
      public Builder addPokemonCaughtByType(int value) {
        ensurePokemonCaughtByTypeIsMutable();
        pokemonCaughtByType_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 pokemon_caught_by_type = 22;
       */
      public Builder addAllPokemonCaughtByType(
          java.lang.Iterable values) {
        ensurePokemonCaughtByTypeIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, pokemonCaughtByType_);
        onChanged();
        return this;
      }
      /**
       * repeated int32 pokemon_caught_by_type = 22;
       */
      public Builder clearPokemonCaughtByType() {
        pokemonCaughtByType_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00200000);
        onChanged();
        return this;
      }

      private int smallRattataCaught_ ;
      /**
       * int32 small_rattata_caught = 23;
       */
      public int getSmallRattataCaught() {
        return smallRattataCaught_;
      }
      /**
       * int32 small_rattata_caught = 23;
       */
      public Builder setSmallRattataCaught(int value) {
        
        smallRattataCaught_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 small_rattata_caught = 23;
       */
      public Builder clearSmallRattataCaught() {
        
        smallRattataCaught_ = 0;
        onChanged();
        return this;
      }

      private double usedKmPool_ ;
      /**
       * double used_km_pool = 24;
       */
      public double getUsedKmPool() {
        return usedKmPool_;
      }
      /**
       * double used_km_pool = 24;
       */
      public Builder setUsedKmPool(double value) {
        
        usedKmPool_ = value;
        onChanged();
        return this;
      }
      /**
       * double used_km_pool = 24;
       */
      public Builder clearUsedKmPool() {
        
        usedKmPool_ = 0D;
        onChanged();
        return this;
      }

      private long lastKmRefillMs_ ;
      /**
       * int64 last_km_refill_ms = 25;
       */
      public long getLastKmRefillMs() {
        return lastKmRefillMs_;
      }
      /**
       * int64 last_km_refill_ms = 25;
       */
      public Builder setLastKmRefillMs(long value) {
        
        lastKmRefillMs_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 last_km_refill_ms = 25;
       */
      public Builder clearLastKmRefillMs() {
        
        lastKmRefillMs_ = 0L;
        onChanged();
        return this;
      }

      private int numRaidBattleWon_ ;
      /**
       * int32 num_raid_battle_won = 26;
       */
      public int getNumRaidBattleWon() {
        return numRaidBattleWon_;
      }
      /**
       * int32 num_raid_battle_won = 26;
       */
      public Builder setNumRaidBattleWon(int value) {
        
        numRaidBattleWon_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_raid_battle_won = 26;
       */
      public Builder clearNumRaidBattleWon() {
        
        numRaidBattleWon_ = 0;
        onChanged();
        return this;
      }

      private int numRaidBattleTotal_ ;
      /**
       * int32 num_raid_battle_total = 27;
       */
      public int getNumRaidBattleTotal() {
        return numRaidBattleTotal_;
      }
      /**
       * int32 num_raid_battle_total = 27;
       */
      public Builder setNumRaidBattleTotal(int value) {
        
        numRaidBattleTotal_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_raid_battle_total = 27;
       */
      public Builder clearNumRaidBattleTotal() {
        
        numRaidBattleTotal_ = 0;
        onChanged();
        return this;
      }

      private int numLegendaryBattleWon_ ;
      /**
       * int32 num_legendary_battle_won = 28;
       */
      public int getNumLegendaryBattleWon() {
        return numLegendaryBattleWon_;
      }
      /**
       * int32 num_legendary_battle_won = 28;
       */
      public Builder setNumLegendaryBattleWon(int value) {
        
        numLegendaryBattleWon_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_legendary_battle_won = 28;
       */
      public Builder clearNumLegendaryBattleWon() {
        
        numLegendaryBattleWon_ = 0;
        onChanged();
        return this;
      }

      private int numLegendaryBattleTotal_ ;
      /**
       * int32 num_legendary_battle_total = 29;
       */
      public int getNumLegendaryBattleTotal() {
        return numLegendaryBattleTotal_;
      }
      /**
       * int32 num_legendary_battle_total = 29;
       */
      public Builder setNumLegendaryBattleTotal(int value) {
        
        numLegendaryBattleTotal_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_legendary_battle_total = 29;
       */
      public Builder clearNumLegendaryBattleTotal() {
        
        numLegendaryBattleTotal_ = 0;
        onChanged();
        return this;
      }

      private int numBerriesFed_ ;
      /**
       * int32 num_berries_fed = 30;
       */
      public int getNumBerriesFed() {
        return numBerriesFed_;
      }
      /**
       * int32 num_berries_fed = 30;
       */
      public Builder setNumBerriesFed(int value) {
        
        numBerriesFed_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_berries_fed = 30;
       */
      public Builder clearNumBerriesFed() {
        
        numBerriesFed_ = 0;
        onChanged();
        return this;
      }

      private long totalDefendedMs_ ;
      /**
       * int64 total_defended_ms = 31;
       */
      public long getTotalDefendedMs() {
        return totalDefendedMs_;
      }
      /**
       * int64 total_defended_ms = 31;
       */
      public Builder setTotalDefendedMs(long value) {
        
        totalDefendedMs_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 total_defended_ms = 31;
       */
      public Builder clearTotalDefendedMs() {
        
        totalDefendedMs_ = 0L;
        onChanged();
        return this;
      }

      private java.util.List eventBadges_ =
        java.util.Collections.emptyList();
      private void ensureEventBadgesIsMutable() {
        if (!((bitField0_ & 0x80000000) == 0x80000000)) {
          eventBadges_ = new java.util.ArrayList(eventBadges_);
          bitField0_ |= 0x80000000;
        }
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public java.util.List getEventBadgesList() {
        return new com.google.protobuf.Internal.ListAdapter<
            java.lang.Integer, POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType>(eventBadges_, eventBadges_converter_);
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public int getEventBadgesCount() {
        return eventBadges_.size();
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType getEventBadges(int index) {
        return eventBadges_converter_.convert(eventBadges_.get(index));
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public Builder setEventBadges(
          int index, POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureEventBadgesIsMutable();
        eventBadges_.set(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public Builder addEventBadges(POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureEventBadgesIsMutable();
        eventBadges_.add(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public Builder addAllEventBadges(
          java.lang.Iterable values) {
        ensureEventBadgesIsMutable();
        for (POGOProtos.Enums.GymBadgeTypeOuterClass.GymBadgeType value : values) {
          eventBadges_.add(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public Builder clearEventBadges() {
        eventBadges_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x80000000);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public java.util.List
      getEventBadgesValueList() {
        return java.util.Collections.unmodifiableList(eventBadges_);
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public int getEventBadgesValue(int index) {
        return eventBadges_.get(index);
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public Builder setEventBadgesValue(
          int index, int value) {
        ensureEventBadgesIsMutable();
        eventBadges_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public Builder addEventBadgesValue(int value) {
        ensureEventBadgesIsMutable();
        eventBadges_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.GymBadgeType event_badges = 32;
       */
      public Builder addAllEventBadgesValue(
          java.lang.Iterable values) {
        ensureEventBadgesIsMutable();
        for (int value : values) {
          eventBadges_.add(value);
        }
        onChanged();
        return this;
      }

      private float kmWalkedPastActiveDay_ ;
      /**
       * float km_walked_past_active_day = 33;
       */
      public float getKmWalkedPastActiveDay() {
        return kmWalkedPastActiveDay_;
      }
      /**
       * float km_walked_past_active_day = 33;
       */
      public Builder setKmWalkedPastActiveDay(float value) {
        
        kmWalkedPastActiveDay_ = value;
        onChanged();
        return this;
      }
      /**
       * float km_walked_past_active_day = 33;
       */
      public Builder clearKmWalkedPastActiveDay() {
        
        kmWalkedPastActiveDay_ = 0F;
        onChanged();
        return this;
      }

      private int numChallengeQuestsCompleted_ ;
      /**
       * int32 num_challenge_quests_completed = 34;
       */
      public int getNumChallengeQuestsCompleted() {
        return numChallengeQuestsCompleted_;
      }
      /**
       * int32 num_challenge_quests_completed = 34;
       */
      public Builder setNumChallengeQuestsCompleted(int value) {
        
        numChallengeQuestsCompleted_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_challenge_quests_completed = 34;
       */
      public Builder clearNumChallengeQuestsCompleted() {
        
        numChallengeQuestsCompleted_ = 0;
        onChanged();
        return this;
      }

      private int numTrades_ ;
      /**
       * int32 num_trades = 35;
       */
      public int getNumTrades() {
        return numTrades_;
      }
      /**
       * int32 num_trades = 35;
       */
      public Builder setNumTrades(int value) {
        
        numTrades_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_trades = 35;
       */
      public Builder clearNumTrades() {
        
        numTrades_ = 0;
        onChanged();
        return this;
      }

      private int numMaxLevelFriends_ ;
      /**
       * int32 num_max_level_friends = 36;
       */
      public int getNumMaxLevelFriends() {
        return numMaxLevelFriends_;
      }
      /**
       * int32 num_max_level_friends = 36;
       */
      public Builder setNumMaxLevelFriends(int value) {
        
        numMaxLevelFriends_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_max_level_friends = 36;
       */
      public Builder clearNumMaxLevelFriends() {
        
        numMaxLevelFriends_ = 0;
        onChanged();
        return this;
      }

      private long tradeAccumulatedDistanceKm_ ;
      /**
       * int64 trade_accumulated_distance_km = 37;
       */
      public long getTradeAccumulatedDistanceKm() {
        return tradeAccumulatedDistanceKm_;
      }
      /**
       * int64 trade_accumulated_distance_km = 37;
       */
      public Builder setTradeAccumulatedDistanceKm(long value) {
        
        tradeAccumulatedDistanceKm_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 trade_accumulated_distance_km = 37;
       */
      public Builder clearTradeAccumulatedDistanceKm() {
        
        tradeAccumulatedDistanceKm_ = 0L;
        onChanged();
        return this;
      }

      private long fitnessReportLastCheckBucket_ ;
      /**
       * int64 fitness_report_last_check_bucket = 38;
       */
      public long getFitnessReportLastCheckBucket() {
        return fitnessReportLastCheckBucket_;
      }
      /**
       * int64 fitness_report_last_check_bucket = 38;
       */
      public Builder setFitnessReportLastCheckBucket(long value) {
        
        fitnessReportLastCheckBucket_ = value;
        onChanged();
        return this;
      }
      /**
       * int64 fitness_report_last_check_bucket = 38;
       */
      public Builder clearFitnessReportLastCheckBucket() {
        
        fitnessReportLastCheckBucket_ = 0L;
        onChanged();
        return this;
      }

      private POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats combatStats_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats, POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.Builder, POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStatsOrBuilder> combatStatsBuilder_;
      /**
       * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
       */
      public boolean hasCombatStats() {
        return combatStatsBuilder_ != null || combatStats_ != null;
      }
      /**
       * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
       */
      public POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats getCombatStats() {
        if (combatStatsBuilder_ == null) {
          return combatStats_ == null ? POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.getDefaultInstance() : combatStats_;
        } else {
          return combatStatsBuilder_.getMessage();
        }
      }
      /**
       * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
       */
      public Builder setCombatStats(POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats value) {
        if (combatStatsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          combatStats_ = value;
          onChanged();
        } else {
          combatStatsBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
       */
      public Builder setCombatStats(
          POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.Builder builderForValue) {
        if (combatStatsBuilder_ == null) {
          combatStats_ = builderForValue.build();
          onChanged();
        } else {
          combatStatsBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
       */
      public Builder mergeCombatStats(POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats value) {
        if (combatStatsBuilder_ == null) {
          if (combatStats_ != null) {
            combatStats_ =
              POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.newBuilder(combatStats_).mergeFrom(value).buildPartial();
          } else {
            combatStats_ = value;
          }
          onChanged();
        } else {
          combatStatsBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
       */
      public Builder clearCombatStats() {
        if (combatStatsBuilder_ == null) {
          combatStats_ = null;
          onChanged();
        } else {
          combatStats_ = null;
          combatStatsBuilder_ = null;
        }

        return this;
      }
      /**
       * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
       */
      public POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.Builder getCombatStatsBuilder() {
        
        onChanged();
        return getCombatStatsFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
       */
      public POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStatsOrBuilder getCombatStatsOrBuilder() {
        if (combatStatsBuilder_ != null) {
          return combatStatsBuilder_.getMessageOrBuilder();
        } else {
          return combatStats_ == null ?
              POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.getDefaultInstance() : combatStats_;
        }
      }
      /**
       * .POGOProtos.Data.Combat.PlayerCombatStats combat_stats = 39;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats, POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.Builder, POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStatsOrBuilder> 
          getCombatStatsFieldBuilder() {
        if (combatStatsBuilder_ == null) {
          combatStatsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats, POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStats.Builder, POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.PlayerCombatStatsOrBuilder>(
                  getCombatStats(),
                  getParentForChildren(),
                  isClean());
          combatStats_ = null;
        }
        return combatStatsBuilder_;
      }

      private int numNpcCombatsWon_ ;
      /**
       * int32 num_npc_combats_won = 40;
       */
      public int getNumNpcCombatsWon() {
        return numNpcCombatsWon_;
      }
      /**
       * int32 num_npc_combats_won = 40;
       */
      public Builder setNumNpcCombatsWon(int value) {
        
        numNpcCombatsWon_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_npc_combats_won = 40;
       */
      public Builder clearNumNpcCombatsWon() {
        
        numNpcCombatsWon_ = 0;
        onChanged();
        return this;
      }

      private int numNpcCombatsTotal_ ;
      /**
       * int32 num_npc_combats_total = 41;
       */
      public int getNumNpcCombatsTotal() {
        return numNpcCombatsTotal_;
      }
      /**
       * int32 num_npc_combats_total = 41;
       */
      public Builder setNumNpcCombatsTotal(int value) {
        
        numNpcCombatsTotal_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_npc_combats_total = 41;
       */
      public Builder clearNumNpcCombatsTotal() {
        
        numNpcCombatsTotal_ = 0;
        onChanged();
        return this;
      }

      private int numPhotobombSeen_ ;
      /**
       * int32 num_photobomb_seen = 42;
       */
      public int getNumPhotobombSeen() {
        return numPhotobombSeen_;
      }
      /**
       * int32 num_photobomb_seen = 42;
       */
      public Builder setNumPhotobombSeen(int value) {
        
        numPhotobombSeen_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 num_photobomb_seen = 42;
       */
      public Builder clearNumPhotobombSeen() {
        
        numPhotobombSeen_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:POGOProtos.Data.Player.PlayerStats)
    }

    // @@protoc_insertion_point(class_scope:POGOProtos.Data.Player.PlayerStats)
    private static final POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats();
    }

    public static POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public PlayerStats parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PlayerStats(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public POGOProtos.Data.Player.PlayerStatsOuterClass.PlayerStats getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Data_Player_PlayerStats_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Data_Player_PlayerStats_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(POGOProtos/Data/Player/PlayerStats.pro" +
      "to\022\026POGOProtos.Data.Player\032#POGOProtos/E" +
      "nums/GymBadgeType.proto\032.POGOProtos/Data" +
      "/Combat/PlayerCombatStats.proto\"\362\t\n\013Play" +
      "erStats\022\r\n\005level\030\001 \001(\005\022\022\n\nexperience\030\002 \001" +
      "(\003\022\025\n\rprev_level_xp\030\003 \001(\003\022\025\n\rnext_level_" +
      "xp\030\004 \001(\003\022\021\n\tkm_walked\030\005 \001(\002\022\034\n\024pokemons_" +
      "encountered\030\006 \001(\005\022\036\n\026unique_pokedex_entr" +
      "ies\030\007 \001(\005\022\031\n\021pokemons_captured\030\010 \001(\005\022\022\n\n" +
      "evolutions\030\t \001(\005\022\030\n\020poke_stop_visits\030\n \001" +
      "(\005\022\030\n\020pokeballs_thrown\030\013 \001(\005\022\024\n\014eggs_hat" +
      "ched\030\014 \001(\005\022\033\n\023big_magikarp_caught\030\r \001(\005\022" +
      "\031\n\021battle_attack_won\030\016 \001(\005\022\033\n\023battle_att" +
      "ack_total\030\017 \001(\005\022\033\n\023battle_defended_won\030\020" +
      " \001(\005\022\033\n\023battle_training_won\030\021 \001(\005\022\035\n\025bat" +
      "tle_training_total\030\022 \001(\005\022\035\n\025prestige_rai" +
      "sed_total\030\023 \001(\005\022\036\n\026prestige_dropped_tota" +
      "l\030\024 \001(\005\022\030\n\020pokemon_deployed\030\025 \001(\005\022\036\n\026pok" +
      "emon_caught_by_type\030\026 \003(\005\022\034\n\024small_ratta" +
      "ta_caught\030\027 \001(\005\022\024\n\014used_km_pool\030\030 \001(\001\022\031\n" +
      "\021last_km_refill_ms\030\031 \001(\003\022\033\n\023num_raid_bat" +
      "tle_won\030\032 \001(\005\022\035\n\025num_raid_battle_total\030\033" +
      " \001(\005\022 \n\030num_legendary_battle_won\030\034 \001(\005\022\"" +
      "\n\032num_legendary_battle_total\030\035 \001(\005\022\027\n\017nu" +
      "m_berries_fed\030\036 \001(\005\022\031\n\021total_defended_ms" +
      "\030\037 \001(\003\0224\n\014event_badges\030  \003(\0162\036.POGOProto" +
      "s.Enums.GymBadgeType\022!\n\031km_walked_past_a" +
      "ctive_day\030! \001(\002\022&\n\036num_challenge_quests_" +
      "completed\030\" \001(\005\022\022\n\nnum_trades\030# \001(\005\022\035\n\025n" +
      "um_max_level_friends\030$ \001(\005\022%\n\035trade_accu" +
      "mulated_distance_km\030% \001(\003\022(\n fitness_rep" +
      "ort_last_check_bucket\030& \001(\003\022?\n\014combat_st" +
      "ats\030\' \001(\0132).POGOProtos.Data.Combat.Playe" +
      "rCombatStats\022\033\n\023num_npc_combats_won\030( \001(" +
      "\005\022\035\n\025num_npc_combats_total\030) \001(\005\022\032\n\022num_" +
      "photobomb_seen\030* \001(\005b\006proto3"
    };
    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;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          POGOProtos.Enums.GymBadgeTypeOuterClass.getDescriptor(),
          POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.getDescriptor(),
        }, assigner);
    internal_static_POGOProtos_Data_Player_PlayerStats_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_POGOProtos_Data_Player_PlayerStats_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_POGOProtos_Data_Player_PlayerStats_descriptor,
        new java.lang.String[] { "Level", "Experience", "PrevLevelXp", "NextLevelXp", "KmWalked", "PokemonsEncountered", "UniquePokedexEntries", "PokemonsCaptured", "Evolutions", "PokeStopVisits", "PokeballsThrown", "EggsHatched", "BigMagikarpCaught", "BattleAttackWon", "BattleAttackTotal", "BattleDefendedWon", "BattleTrainingWon", "BattleTrainingTotal", "PrestigeRaisedTotal", "PrestigeDroppedTotal", "PokemonDeployed", "PokemonCaughtByType", "SmallRattataCaught", "UsedKmPool", "LastKmRefillMs", "NumRaidBattleWon", "NumRaidBattleTotal", "NumLegendaryBattleWon", "NumLegendaryBattleTotal", "NumBerriesFed", "TotalDefendedMs", "EventBadges", "KmWalkedPastActiveDay", "NumChallengeQuestsCompleted", "NumTrades", "NumMaxLevelFriends", "TradeAccumulatedDistanceKm", "FitnessReportLastCheckBucket", "CombatStats", "NumNpcCombatsWon", "NumNpcCombatsTotal", "NumPhotobombSeen", });
    POGOProtos.Enums.GymBadgeTypeOuterClass.getDescriptor();
    POGOProtos.Data.Combat.PlayerCombatStatsOuterClass.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy